/*
Theme Name: Competitor Blog Type (MOBILE-FIRST)
Theme URI: https://example.com/
Description: A clean, content-first blog child theme for Hello Elementor
Author: Digi Ads
Author URI: https://example.com/
Template: hello-elementor
Version: 1.1.0
Text Domain: competitor-blog-type
License: GNU General Public License v2 or later
Tags: blog, dark, child-theme, two-columns, custom-logo
*/

/* ============================================================
   ROOT VARIABLES
   ============================================================ */
:root {
    --cb-bg: #0c1020;
    --cb-bg-2: #141a32;
    --cb-surface: #1b2240;
    --cb-border: rgba(255,255,255,.08);
    --cb-primary: #ffc629;
    --cb-primary-d: #e0a800;
    --cb-text: #eef1fb;
    --cb-muted: #9aa3c7;
    --cb-header: #0c1020;
    --cb-radius: 12px;
    --cb-maxw: 480px;
    --cb-font: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --cb-page-bg: #0c1020;
    --cb-header-bg: #0c1020;
    --cb-footer-bg: #141a32;
    --cb-content-bg: #141a32;
    --cb-sidebar-bg: #141a32;
    --cb-btn-bg: #ffc629;
    --cb-btn-text: #1a1300;
    --cb-header-text: #9aa3c7;
    --cb-footer-text: #9aa3c7;
    --cb-header-font: var(--cb-font);
    --cb-header-weight: 600;
    --cb-h1-font: var(--cb-font);
    --cb-h1-weight: 800;
    --cb-h1-color: #eef1fb;
    --cb-h2-font: var(--cb-font);
    --cb-h2-weight: 700;
    --cb-h2-color: #eef1fb;
    --cb-h3-font: var(--cb-font);
    --cb-h3-weight: 700;
    --cb-h3-color: #eef1fb;
    --cb-h4-font: var(--cb-font);
    --cb-h4-weight: 700;
    --cb-h4-color: #eef1fb;
    --cb-h5-font: var(--cb-font);
    --cb-h5-weight: 700;
    --cb-h5-color: #eef1fb;
    --cb-h6-font: var(--cb-font);
    --cb-h6-weight: 700;
    --cb-h6-color: #eef1fb;
    --cb-p-font: var(--cb-font);
    --cb-p-weight: 400;
    --cb-p-color: #dfe3f3;
    --cb-sb-surface: #1b2240;
    --cb-sb-border: rgba(255,255,255,.08);
    --cb-sb-text: #eef1fb;
    --cb-sb-muted: #9aa3c7;
    --cb-sb-btn: #ffc629;
    --cb-sb-btn-text: #1a1300;
    --cb-article-size: 15px;
}

/* ============================================================
   BASE STYLES
   ============================================================ */
* { box-sizing: border-box; }

body.cb-body {
    margin: 0;
    background: var(--cb-bg);
    color: var(--cb-text);
    font-family: var(--cb-font);
    font-size: 15px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    padding: 0;
}

.cb-body a { color: inherit; text-decoration: none; }
.cb-body img { max-width: 100%; height: auto; display: block; }

.cb-container {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    padding: 0 16px;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--cb-font);
    color: var(--cb-text);
    line-height: 1.3;
}

/* ============================================================
   HEADER
   ============================================================ */
.cb-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: var(--cb-header);
    border-bottom: 1px solid var(--cb-border);
}

.cb-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 56px;
    padding: 0 12px;
    gap: 8px;
    max-width: 480px;
    margin: 0 auto;
}

.cb-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    line-height: 0;
}

.cb-logo img,
.cb-logo .custom-logo {
    height: 28px;
    width: auto;
    max-width: 120px;
    display: block;
}

.cb-logo-text {
    font-weight: 800;
    font-size: 16px;
    color: var(--cb-primary);
    letter-spacing: .3px;
}

/* CTA Button - Login/Register */
.cb-cta {
    flex-shrink: 0;
    background: var(--cb-primary) !important;
    color: #1a1300 !important;
    font-weight: 700;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 999px;
    line-height: 1;
    white-space: nowrap;
    transition: all 0.3s ease;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    -webkit-text-fill-color: #1a1300 !important;
}

/* Hover - Orange background, White text */
.cb-cta:hover {
    background: #ff8c00 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: #ff8c00 !important;
    transform: scale(1.05) !important;
    filter: none !important;
}

/* Active - Darker Orange */
.cb-cta:active {
    background: #e07b00 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: #e07b00 !important;
    transform: scale(0.95) !important;
}

/* Search Toggle */
.cb-search-toggle {
    flex-shrink: 0;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: all 0.3s ease;
}

.cb-search-toggle:hover {
    border-color: #ff0000 !important;
    background: rgba(255, 0, 0, 0.1) !important;
    transform: scale(1.05);
}

.cb-search-toggle:active {
    border-color: #ffc629 !important;
    background: rgba(255, 198, 41, 0.1) !important;
    transform: scale(0.95);
}

.cb-search-toggle svg {
    width: 15px;
    height: 15px;
    stroke: #ffffff !important;
    fill: none !important;
    stroke-width: 2;
    transition: all 0.3s ease;
}

.cb-search-toggle:hover svg,
.cb-search-toggle:active svg {
    stroke: #ffffff !important;
}

/* Burger Button */
.cb-burger {
    flex-shrink: 0;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: all 0.3s ease;
}

.cb-burger:hover {
    border-color: #ff0000 !important;
    background: rgba(255, 0, 0, 0.1) !important;
    transform: scale(1.05);
}

.cb-burger:active {
    border-color: #ffc629 !important;
    background: rgba(255, 198, 41, 0.1) !important;
    transform: scale(0.95);
}

.cb-burger svg {
    width: 18px;
    height: 18px;
    stroke: #ffffff !important;
    fill: none !important;
    stroke-width: 2;
    stroke-linecap: round;
    transition: all 0.3s ease;
}

.cb-burger:hover svg,
.cb-burger:active svg {
    stroke: #ffffff !important;
}

/* Navigation - Mobile Menu */
.cb-nav {
    display: none;
    position: absolute;
    top: 56px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 480px;
    background: var(--cb-header);
    padding: 16px 20px;
    border: 1px solid var(--cb-border);
    border-top: none;
    border-radius: 0 0 12px 12px;
    z-index: 999;
    max-height: calc(100vh - 56px);
    overflow-y: auto;
}

.cb-nav.is-open { display: block; }

.cb-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cb-nav li { width: 100%; }

/* HEADER MENU LINKS - FORCE WHITE */
.cb-nav a {
    display: block;
    padding: 14px 16px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 500;
    color: #ffffff !important;
    transition: all 0.15s;
    -webkit-text-fill-color: #ffffff !important;
    background: transparent !important;
}

.cb-nav a:hover {
    color: #ff0000 !important;
    -webkit-text-fill-color: #ff0000 !important;
    background: rgba(255, 0, 0, 0.1) !important;
}

.cb-nav a:active {
    color: #ffc629 !important;
    -webkit-text-fill-color: #ffc629 !important;
    background: rgba(255, 198, 41, 0.1) !important;
}

.cb-nav .current-menu-item > a {
    color: #ffc629 !important;
    -webkit-text-fill-color: #ffc629 !important;
    background: rgba(255, 198, 41, 0.1) !important;
}

/* Search Bar */
.cb-searchbar {
    display: none;
    border-bottom: 1px solid var(--cb-border);
    background: var(--cb-bg-2);
}

.cb-searchbar.is-open { display: block; }
.cb-searchbar .cb-container { padding: 10px 16px; }

/* Search Form */
.cb-searchform {
    display: flex;
    gap: 8px;
    width: 100%;
}

.cb-searchform input[type="search"],
.cb-searchform input[type="text"] {
    flex: 1;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    color: var(--cb-text);
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 14px;
    font-family: inherit;
    width: 100%;
    min-width: 0;
}

.cb-searchform input::placeholder { color: var(--cb-muted); }

.cb-searchform button {
    flex-shrink: 0;
    padding: 10px 16px;
    font-size: 13px;
}

/* ============================================================
   BUTTONS & BADGES
   ============================================================ */
.cb-btn {
    display: inline-block;
    padding: 10px 18px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    border: none;
    transition: transform .12s ease, filter .12s ease;
}

.cb-btn-primary {
    background: var(--cb-primary);
    color: #1a1300;
}

.cb-btn-primary:hover {
    filter: brightness(1.06);
    transform: translateY(-1px);
}

.cb-btn-ghost {
    background: transparent;
    border: 1px solid var(--cb-border);
    color: var(--cb-text);
}

.cb-btn-ghost:hover {
    border-color: var(--cb-primary);
    color: var(--cb-primary);
}

.cb-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(255,198,41,.14);
    color: var(--cb-primary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .3px;
    text-transform: uppercase;
}

/* ============================================================
   LAYOUT
   ============================================================ */
.cb-wrap {
    display: block;
    padding: 20px 0 40px;
}

.cb-main { width: 100%; }
.cb-sidebar {
    margin-top: 32px;
    width: 100%;
}

/* Grid - Single Column */
.cb-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.cb-grid--3 {
    grid-template-columns: 1fr;
    gap: 16px;
}

/* ============================================================
   CARDS
   ============================================================ */
.cb-card {
    background: var(--cb-bg-2);
    border: 1px solid var(--cb-border);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .14s ease;
}

.cb-card:active { transform: scale(0.98); }

.cb-card-media {
    aspect-ratio: 16/9;
    background: var(--cb-surface);
    overflow: hidden;
}

.cb-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cb-card-ph {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--cb-primary);
    font-weight: 800;
    font-size: 28px;
    opacity: .4;
}

.cb-card-body {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}

.cb-card-title {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}

.cb-card-title a:hover { color: var(--cb-primary); }

.cb-card-excerpt {
    color: var(--cb-muted);
    font-size: 13px;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cb-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    color: var(--cb-muted);
    font-size: 11px;
    margin-top: auto;
}

.cb-meta .cb-dot { opacity: .5; }

/* ============================================================
   FEATURED POST
   ============================================================ */
.cb-featured {
    background: var(--cb-bg-2);
    border: 1px solid var(--cb-border);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 24px;
}

.cb-featured-media {
    position: relative;
    aspect-ratio: 16/9;
    background: var(--cb-surface);
}

.cb-featured-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cb-featured-ph {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--cb-primary);
    font-weight: 800;
    font-size: 36px;
    opacity: .4;
}

.cb-featured-body { padding: 16px 18px 20px; }

.cb-featured-title {
    font-size: 20px;
    font-weight: 800;
    margin: 10px 0 8px;
    line-height: 1.2;
}

.cb-featured-title a:hover { color: var(--cb-primary); }

.cb-featured-excerpt {
    color: var(--cb-muted);
    font-size: 14px;
    margin: 0 0 14px;
}

/* ============================================================
   SECTION TITLE
   ============================================================ */
.cb-section-title {
    font-size: 16px;
    font-weight: 800;
    margin: 0 0 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cb-section-title::before {
    content: "";
    width: 14px;
    height: 3px;
    border-radius: 3px;
    background: var(--cb-primary);
    display: inline-block;
    flex-shrink: 0;
}

.cb-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.cb-section-head .cb-section-title { margin: 0; }

.cb-viewall-link {
    color: var(--cb-primary);
    font-weight: 700;
    font-size: 13px;
    white-space: nowrap;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.cb-pagination { margin-top: 24px; }

.cb-pagination .nav-links {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
}

.cb-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: 8px;
    border: 1px solid var(--cb-border);
    color: var(--cb-muted);
    font-weight: 600;
    font-size: 13px;
}

.cb-pagination .page-numbers.current {
    background: var(--cb-primary);
    color: #1a1300;
    border-color: var(--cb-primary);
}

.cb-pagination a.page-numbers:hover {
    color: var(--cb-primary);
    border-color: var(--cb-primary);
}

/* ============================================================
   SIDEBAR
   ============================================================ */
.cb-sidebar { min-width: 0; }

.cb-widget {
    background: var(--cb-bg-2);
    border: 1px solid var(--cb-border);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
}

.cb-widget-title {
    font-size: 14px;
    font-weight: 800;
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.cb-widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Recent Posts */
.cb-rp {
    display: flex;
    gap: 10px;
    padding: 10px 0;
    border-top: 1px solid var(--cb-border);
}

.cb-rp:first-child {
    border-top: none;
    padding-top: 0;
}

.cb-rp-thumb {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--cb-surface);
}

.cb-rp-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cb-rp-title {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 3px;
}

.cb-rp-title a:hover { color: var(--cb-primary); }
.cb-rp-date {
    font-size: 11px;
    color: var(--cb-muted);
}

/* Categories */
.cb-cats li {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 0;
    border-top: 1px solid var(--cb-border);
    font-size: 13px;
}

.cb-cats li:first-child { border-top: none; }
.cb-cats a { color: var(--cb-muted); }
.cb-cats a:hover { color: var(--cb-primary); }

.cb-cats .cb-count {
    font-size: 11px;
    color: var(--cb-muted);
    background: var(--cb-surface);
    border-radius: 999px;
    padding: 1px 8px;
}

/* ============================================================
   SINGLE POST
   ============================================================ */
.cb-single-head {
    max-width: 100%;
    padding: 16px 0 0;
}

.cb-single-title {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.2;
    margin: 10px 0 12px;
}

.cb-single-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--cb-muted);
    font-size: 13px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.cb-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--cb-surface);
    flex: 0 0 auto;
}

.cb-single-media {
    border-radius: 12px;
    overflow: hidden;
    margin: 0 0 20px;
    background: var(--cb-surface);
}

.cb-single-media img { width: 100%; }

/* ============================================================
   ARTICLE CONTENT
   ============================================================ */
.cb-article {
    font-size: var(--cb-article-size, 15px);
    color: #dfe3f3;
}

.cb-article p { margin: 0 0 1em; }
.cb-article h2 {
    font-size: 20px;
    margin: 1.4em 0 .4em;
}
.cb-article h3 {
    font-size: 17px;
    margin: 1.2em 0 .4em;
}

.cb-article a {
    color: var(--cb-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cb-article ul,
.cb-article ol {
    margin: 0 0 1em;
    padding-left: 1.2em;
}
.cb-article li { margin: .2em 0; }

.cb-article img,
.cb-article .wp-block-image {
    border-radius: 10px;
    margin: 1em 0;
}

.cb-article blockquote {
    margin: 1.2em 0;
    padding: 4px 16px;
    border-left: 3px solid var(--cb-primary);
    color: var(--cb-text);
    font-style: italic;
}

.cb-article code {
    background: var(--cb-surface);
    padding: 2px 6px;
    border-radius: 6px;
    font-size: .9em;
}

/* ============================================================
   TAGS
   ============================================================ */
.cb-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 20px 0;
}

.cb-tags a {
    font-size: 12px;
    color: var(--cb-muted);
    border: 1px solid var(--cb-border);
    padding: 4px 10px;
    border-radius: 999px;
}

.cb-tags a:hover {
    border-color: var(--cb-primary);
    color: var(--cb-primary);
}

/* ============================================================
   AUTHOR BOX
   ============================================================ */
.cb-author {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: var(--cb-bg-2);
    border: 1px solid var(--cb-border);
    border-radius: 12px;
    padding: 16px;
    margin: 20px 0;
}

.cb-author .cb-avatar {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
}

.cb-author-name {
    font-weight: 800;
    margin: 0 0 3px;
    font-size: 15px;
}

.cb-author-bio {
    color: var(--cb-muted);
    font-size: 13px;
    margin: 0;
}

/* ============================================================
   RELATED POSTS
   ============================================================ */
.cb-related { margin-top: 28px; }

/* ============================================================
   COMMENTS
   ============================================================ */
.cb-comments { margin-top: 28px; }

.cb-comments .comment-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cb-comments .comment-body {
    background: var(--cb-bg-2);
    border: 1px solid var(--cb-border);
    border-radius: 10px;
    padding: 14px 16px;
    margin: 0 0 12px;
}

.cb-comments .children {
    list-style: none;
    margin: 0 0 0 16px;
    padding: 0;
}

.cb-comments .comment-author {
    font-weight: 700;
    font-size: 13px;
}

.cb-comments .comment-metadata {
    font-size: 11px;
    color: var(--cb-muted);
}

.cb-comments input[type="text"],
.cb-comments input[type="email"],
.cb-comments input[type="url"],
.cb-comments textarea {
    width: 100%;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    color: var(--cb-text);
    border-radius: 8px;
    padding: 10px 12px;
    font-family: inherit;
    margin-bottom: 10px;
    font-size: 14px;
}

/* ============================================================
   PAGE
   ============================================================ */
.cb-page {
    max-width: 100%;
    margin: 0 auto;
    padding: 16px 0 0;
}

.cb-page-title {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 14px;
}

/* ============================================================
   BLOG HOME
   ============================================================ */
.cb-home-banner { padding-top: 16px; }
.cb-home-banner img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
}

.cb-banner-link { display: block; }

.cb-home-intro {
    background: var(--cb-bg-2);
    border: 1px solid var(--cb-border);
    border-radius: 12px;
    padding: 18px 20px;
    margin-bottom: 20px;
}

.cb-home-intro .cb-page-title {
    margin-bottom: 10px;
    font-size: 20px;
}

.cb-home-posts { padding: 16px 0; }

.cb-home-rest {
    background: var(--cb-bg-2);
    border: 1px solid var(--cb-border);
    border-radius: 12px;
    padding: 18px 20px;
}

/* ============================================================
   404
   ============================================================ */
.cb-404 {
    text-align: center;
    padding: 60px 0;
}

.cb-404 h1 {
    font-size: 64px;
    margin: 0;
    color: var(--cb-primary);
}

.cb-404 p {
    color: var(--cb-muted);
    font-size: 14px;
}

.cb-404 .cb-searchform {
    max-width: 100%;
    margin: 20px auto 0;
}

/* ============================================================
   PAGE HEAD
   ============================================================ */
.cb-page-head {
    padding: 16px 0 4px;
}

.cb-breadcrumb {
    font-size: 12px;
    color: var(--cb-muted);
    margin-bottom: 10px;
}

.cb-breadcrumb a:hover { color: var(--cb-primary); }

.cb-archive-title {
    font-size: 22px;
    font-weight: 800;
    margin: 0;
}

.cb-archive-desc {
    color: var(--cb-muted);
    margin-top: 8px;
    font-size: 14px;
}

/* ============================================================
   FOOTER - PROFESSIONAL & CENTERED
   ============================================================ */
.cb-footer {
    background: var(--cb-bg-2);
    border-top: 1px solid var(--cb-border);
    padding: 40px 0 20px;
    margin-top: 30px;
}

.cb-footer .cb-container {
    max-width: 480px;
    margin: 0 auto;
    padding: 0 16px;
}

.cb-footer-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--cb-border);
}

/* Brand */
.cb-footer-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.cb-footer-logo {
    display: inline-block;
    line-height: 0;
}

.cb-footer-logo img {
    max-width: 140px;
    height: auto;
    display: block;
}

/* License */
.cb-footer-license {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.cb-footer-license img {
    max-width: 100px;
    height: auto;
    display: block;
}

.cb-license-text {
    color: var(--cb-muted);
    font-size: 11px;
    margin: 0;
    opacity: 0.8;
}

/* Navigation - FOOTER MENU LINKS - FORCE WHITE */
.cb-footer-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    width: 100%;
}

.cb-footer-nav-col {
    flex: 0 1 auto;
    min-width: 140px;
}

/* FOOTER LABELS - GRADIENT White to Orange */
.cb-footer-nav-col h4 {
    font-size: 13px;
    font-weight: 700;
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: linear-gradient(135deg, #ffffff 0%, #ffc629 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    display: inline-block !important;
    color: transparent !important;
    opacity: 1 !important;
}

.cb-footer-nav-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* FORCE WHITE - Footer menu links */
.cb-footer-nav-col ul li a {
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none;
    background: transparent !important;
}

.cb-footer-nav-col ul li a:hover {
    color: #ff0000 !important;
    -webkit-text-fill-color: #ff0000 !important;
    background: transparent !important;
}

.cb-footer-nav-col ul li a:active {
    color: #ffc629 !important;
    -webkit-text-fill-color: #ffc629 !important;
    background: transparent !important;
}

/* Copyright - ULTRA FORCE WHITE */
.cb-footer-bottom {
    padding-top: 20px;
    text-align: center;
}

.cb-copy,
.cb-copy *,
.cb-copy p,
.cb-copy span,
.cb-copy a,
.cb-copy strong,
.cb-copy em,
.cb-footer-bottom .cb-copy,
.cb-footer-bottom .cb-copy *,
footer .cb-copy,
footer .cb-copy *,
.cb-footer .cb-copy,
.cb-footer .cb-copy * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: transparent !important;
    background-color: transparent !important;
    opacity: 0.8 !important;
}

/* ============================================================
   SCREEN READER
   ============================================================ */
.cb-screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
}

/* ============================================================
   CUSTOMIZER VARIABLES
   ============================================================ */
body.cb-body {
    background: var(--cb-page-bg);
    font-family: var(--cb-p-font);
    font-weight: var(--cb-p-weight);
}

.cb-header { background: var(--cb-header-bg); }
.cb-logo-text { font-family: var(--cb-header-font); }

.cb-footer {
    background: var(--cb-footer-bg);
}

.cb-home-intro,
.cb-home-rest,
.cb-card,
.cb-featured {
    background: var(--cb-content-bg);
}

.cb-widget { background: var(--cb-sidebar-bg); }

/* Headings */
h1 {
    font-family: var(--cb-h1-font);
    font-weight: var(--cb-h1-weight);
    color: var(--cb-h1-color);
}
h2 {
    font-family: var(--cb-h2-font);
    font-weight: var(--cb-h2-weight);
    color: var(--cb-h2-color);
}
h3 {
    font-family: var(--cb-h3-font);
    font-weight: var(--cb-h3-weight);
    color: var(--cb-h3-color);
}
h4 {
    font-family: var(--cb-h4-font);
    font-weight: var(--cb-h4-weight);
    color: var(--cb-h4-color);
}
h5 {
    font-family: var(--cb-h5-font);
    font-weight: var(--cb-h5-weight);
    color: var(--cb-h5-color);
}
h6 {
    font-family: var(--cb-h6-font);
    font-weight: var(--cb-h6-weight);
    color: var(--cb-h6-color);
}

.cb-single-title,
.cb-archive-title,
.cb-page-title {
    font-family: var(--cb-h1-font);
    font-weight: var(--cb-h1-weight);
    color: var(--cb-h1-color);
}

.cb-article {
    color: var(--cb-p-color);
    font-family: var(--cb-p-font);
}

.cb-article p,
.cb-article li {
    color: var(--cb-p-color);
    font-family: var(--cb-p-font);
    font-weight: var(--cb-p-weight);
}

/* Sidebar */
.cb-widget { border-color: var(--cb-sb-border); }
.cb-widget-title,
.cb-rp-title,
.cb-rp-title a {
    color: var(--cb-sb-text);
}
.cb-rp { border-top-color: var(--cb-sb-border); }
.cb-rp-thumb { background: var(--cb-sb-surface); }
.cb-rp-date { color: var(--cb-sb-muted); }
.cb-cats li { border-top-color: var(--cb-sb-border); }
.cb-cats a { color: var(--cb-sb-muted); }
.cb-count {
    background: var(--cb-sb-surface);
    color: var(--cb-sb-muted);
}

.cb-sidebar .cb-searchform input[type="search"],
.cb-sidebar .cb-searchform input[type="text"],
.cb-widget select,
.cb-widget .wp-block-search__input {
    background: var(--cb-sb-surface);
    border-color: var(--cb-sb-border);
    color: var(--cb-sb-text);
}

.cb-sidebar .cb-searchform button {
    background: var(--cb-sb-btn);
    color: var(--cb-sb-btn-text);
}

/* ============================================================
   GRADIENT HEADINGS - White to Orange
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.cb-single-title, .cb-archive-title, .cb-page-title,
.cb-featured-title, .cb-card-title, .cb-widget-title,
.cb-section-title, .cb-logo-text, .cb-author-name,
.cb-rp-title, .cb-rp-title a, .cb-404 h1,
.cb-comments .comment-author,
.cb-article h1, .cb-article h2, .cb-article h3,
.cb-article h4, .cb-article h5, .cb-article h6,
.cb-home-intro .cb-page-title {
    background: linear-gradient(135deg, #ffffff 0%, #ffc629 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    display: inline-block !important;
    color: transparent !important;
}

.cb-card-title a,
.cb-featured-title a,
.cb-rp-title a {
    background: linear-gradient(135deg, #ffffff 0%, #ffc629 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    display: inline-block !important;
    color: transparent !important;
}

.cb-card-title a:hover,
.cb-featured-title a:hover,
.cb-rp-title a:hover {
    opacity: 0.8 !important;
}

.cb-section-title::before {
    background: var(--cb-primary) !important;
    -webkit-text-fill-color: initial !important;
    color: initial !important;
}

/* ============================================================
   PLAIN WHITE TEXTS
   ============================================================ */
p, .cb-article p, .cb-article li, .cb-article blockquote,
.cb-card-excerpt, .cb-featured-excerpt, .cb-archive-desc,
.cb-author-bio, .cb-meta, .cb-meta span, .cb-single-meta,
.cb-single-meta span, .cb-rp-date, .cb-count, .cb-breadcrumb,
.cb-breadcrumb span, .cb-comments .comment-metadata,
.cb-comments .comment-content, .cb-404 p,
.cb-searchform input, .cb-searchform input::placeholder,
.cb-widget select, .cb-widget option, .cb-article code,
.cb-tags a, .cb-cats a {
    color: #ffffff !important;
    background: none !important;
    -webkit-text-fill-color: #ffffff !important;
}

.cb-meta, .cb-meta span, .cb-single-meta, .cb-single-meta span,
.cb-rp-date, .cb-count, .cb-breadcrumb, .cb-breadcrumb span,
.cb-comments .comment-metadata,
.cb-tags a, .cb-cats a {
    opacity: 0.7 !important;
}

.cb-meta a:hover, .cb-breadcrumb a:hover,
.cb-tags a:hover, .cb-cats a:hover {
    color: #ffc629 !important;
    -webkit-text-fill-color: #ffc629 !important;
    opacity: 1 !important;
}

.cb-article a {
    color: #ffc629 !important;
    -webkit-text-fill-color: #ffc629 !important;
    text-decoration: underline !important;
}

/* ============================================================
   HOVER & ACTIVE - Red Hover, Orange Active
   ============================================================ */
a:hover,
.cb-card-title a:hover,
.cb-featured-title a:hover,
.cb-rp-title a:hover,
.cb-meta a:hover,
.cb-breadcrumb a:hover,
.cb-tags a:hover,
.cb-cats a:hover,
.cb-nav a:hover,
.cb-article a:hover,
.cb-widget a:hover,
.cb-pagination a.page-numbers:hover,
.cb-comments a:hover {
    color: #ff0000 !important;
    -webkit-text-fill-color: #ff0000 !important;
    border-color: #ff0000 !important;
    opacity: 1 !important;
}

a:active,
.cb-card-title a:active,
.cb-featured-title a:active,
.cb-rp-title a:active,
.cb-meta a:active,
.cb-breadcrumb a:active,
.cb-tags a:active,
.cb-cats a:active,
.cb-nav a:active,
.cb-article a:active,
.cb-widget a:active,
.cb-pagination a.page-numbers:active,
.cb-comments a:active {
    color: #ffc629 !important;
    -webkit-text-fill-color: #ffc629 !important;
    border-color: #ffc629 !important;
    opacity: 1 !important;
}

/* Buttons */
.cb-btn:hover,
.cb-btn-primary:hover,
.cb-btn-ghost:hover,
.cb-search-toggle:hover,
.cb-burger:hover,
input[type="submit"]:hover,
button:hover {
    background: #ff0000 !important;
    border-color: #ff0000 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    transform: scale(1.02) !important;
}

.cb-btn:active,
.cb-btn-primary:active,
.cb-btn-ghost:active,
.cb-search-toggle:active,
.cb-burger:active,
input[type="submit"]:active,
button:active {
    background: #ffc629 !important;
    border-color: #ffc629 !important;
    color: #1a1300 !important;
    -webkit-text-fill-color: #1a1300 !important;
    transform: scale(0.98) !important;
}

/* Navigation */
.cb-nav a:hover {
    color: #ff0000 !important;
    -webkit-text-fill-color: #ff0000 !important;
    background: rgba(255, 0, 0, 0.1) !important;
}

.cb-nav a:active {
    color: #ffc629 !important;
    -webkit-text-fill-color: #ffc629 !important;
    background: rgba(255, 198, 41, 0.1) !important;
}

.cb-nav .current-menu-item > a {
    color: #ffc629 !important;
    -webkit-text-fill-color: #ffc629 !important;
    background: rgba(255, 198, 41, 0.1) !important;
}

/* Pagination */
.cb-pagination a.page-numbers:hover {
    background: #ff0000 !important;
    border-color: #ff0000 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.cb-pagination a.page-numbers:active {
    background: #ffc629 !important;
    border-color: #ffc629 !important;
    color: #1a1300 !important;
    -webkit-text-fill-color: #1a1300 !important;
}

.cb-pagination .page-numbers.current {
    background: #ffc629 !important;
    border-color: #ffc629 !important;
    color: #1a1300 !important;
    -webkit-text-fill-color: #1a1300 !important;
}

/* Tags */
.cb-tags a:hover {
    background: #ff0000 !important;
    border-color: #ff0000 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.cb-tags a:active {
    background: #ffc629 !important;
    border-color: #ffc629 !important;
    color: #1a1300 !important;
    -webkit-text-fill-color: #1a1300 !important;
}

/* ============================================================
   FOOTER RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
    .cb-footer-nav { gap: 24px; }
    .cb-footer-nav-col { min-width: 120px; }
}

@media (max-width: 480px) {
    .cb-footer {
        padding: 30px 0 16px;
    }
    
    .cb-footer-inner {
        gap: 24px;
        padding-bottom: 20px;
    }
    
    .cb-footer-nav {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    
    .cb-footer-nav-col {
        min-width: unset;
        width: 100%;
        text-align: center;
    }
    
    .cb-footer-nav-col ul {
        align-items: center;
    }
    
    .cb-footer-logo img { max-width: 120px; }
    .cb-footer-license img { max-width: 80px; }
    .cb-license-text { font-size: 10px; }
}

/* ============================================================
   HERO SECTION - may gradient lines sa gilid
   ============================================================ */
.cb-hero {
    position: relative;
    padding: 60px 0 40px;
    text-align: center;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: var(--cb-bg);
    max-width: 480px;
    margin: 0 auto;
}

/* Left gradient line */
.cb-hero::before {
    content: '';
    position: absolute;
    left: 0;
    top: 15%;
    bottom: 15%;
    width: 2px;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(255, 198, 41, 0.15) 15%,
        rgba(255, 198, 41, 0.6) 35%,
        rgba(255, 198, 41, 0.8) 50%,
        rgba(255, 198, 41, 0.6) 65%,
        rgba(255, 198, 41, 0.15) 85%,
        transparent 100%
    );
    border-radius: 2px;
}

/* Right gradient line */
.cb-hero::after {
    content: '';
    position: absolute;
    right: 0;
    top: 15%;
    bottom: 15%;
    width: 2px;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(255, 198, 41, 0.15) 15%,
        rgba(255, 198, 41, 0.6) 35%,
        rgba(255, 198, 41, 0.8) 50%,
        rgba(255, 198, 41, 0.6) 65%,
        rgba(255, 198, 41, 0.15) 85%,
        transparent 100%
    );
    border-radius: 2px;
}

.cb-hero .cb-container {
    position: relative;
    z-index: 1;
    max-width: 480px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

.cb-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 20px 0 16px;
    min-height: 80vh;
}

/* Decorative Lines */
.cb-hero-line {
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--cb-primary), transparent);
    border-radius: 2px;
}

.cb-hero-line-top {
    margin-bottom: 4px;
}

.cb-hero-line-bottom {
    margin-top: 4px;
}

/* Decorative Dots */
.cb-hero-dots {
    display: flex;
    gap: 8px;
    margin: 2px 0;
}

.cb-hero-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--cb-primary);
    opacity: 0.4;
    animation: cb-hero-dot-pulse 2s ease-in-out infinite;
}

.cb-hero-dot:nth-child(2) {
    animation-delay: 0.3s;
    opacity: 0.7;
}

.cb-hero-dot:nth-child(3) {
    animation-delay: 0.6s;
    opacity: 1;
}

@keyframes cb-hero-dot-pulse {
    0%, 100% { transform: scale(1); opacity: 0.4; }
    50% { transform: scale(1.3); opacity: 1; }
}

/* Hero Logo */
.cb-hero-logo {
    width: 200px;
    height: 200px;
    border-radius: 32px;
    overflow: hidden;
    border: 3px solid var(--cb-primary);
    padding: 6px;
    background: var(--cb-bg);
    box-shadow: 0 0 50px rgba(255, 198, 41, 0.2);
    flex-shrink: 0;
    animation: cb-hero-float 3s ease-in-out infinite;
}

.cb-hero-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 26px;
}

@keyframes cb-hero-float {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-8px) scale(1.02); }
}

/* Hero Badge */
.cb-hero-badge {
    display: inline-block;
    padding: 5px 14px;
    border-radius: 999px;
    background: rgba(255, 198, 41, 0.12);
    border: 1px solid rgba(255, 198, 41, 0.2);
}

.cb-hero-badge span {
    font-size: 10px;
    font-weight: 700;
    color: var(--cb-primary);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Hero Title */
.cb-hero-title {
    font-size: clamp(22px, 4.5vw, 28px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0;
    text-align: center;
    background: linear-gradient(135deg, #ffffff 0%, #ffc629 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    max-width: 100%;
    word-wrap: break-word;
}

/* Hero Subtitle */
.cb-hero-subtitle {
    font-size: clamp(13px, 1.6vw, 15px);
    color: var(--cb-muted);
    max-width: 100%;
    margin: 0 auto;
    line-height: 1.5;
    opacity: 0.85;
    padding: 0 4px;
}

/* Hero Buttons */
.cb-hero-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 2px;
    width: 100%;
    max-width: 100%;
}

.cb-hero-btn-primary {
    background: var(--cb-primary) !important;
    color: #1a1300 !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    border-radius: 999px !important;
    transition: all 0.3s ease;
    border: none !important;
    cursor: pointer;
    font-weight: 700;
    text-align: center;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cb-hero-btn-primary:hover {
    background: #ff8c00 !important;
    color: #ffffff !important;
    transform: scale(1.04);
}

.cb-hero-btn-icon {
    font-size: 16px;
    transition: transform 0.3s ease;
}

.cb-hero-btn-primary:hover .cb-hero-btn-icon {
    transform: translateX(4px);
}

.cb-hero-btn-ghost {
    background: transparent !important;
    color: var(--cb-text) !important;
    border: 1px solid var(--cb-border) !important;
    padding: 12px 22px !important;
    font-size: 14px !important;
    border-radius: 999px !important;
    transition: all 0.3s ease;
    cursor: pointer;
    font-weight: 700;
    text-align: center;
}

.cb-hero-btn-ghost:hover {
    border-color: #ff8c00 !important;
    color: #ff8c00 !important;
    transform: scale(1.04);
}

/* Hero Stats */
.cb-hero-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    margin-top: 6px;
    padding-top: 14px;
    width: 100%;
    max-width: 100%;
    border-top: 1px solid var(--cb-border);
}

.cb-hero-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    flex: 0 1 auto;
    min-width: 60px;
}

.cb-hero-stat-number {
    font-size: clamp(18px, 2.2vw, 22px);
    font-weight: 800;
    color: var(--cb-primary);
}

.cb-hero-stat-label {
    font-size: 10px;
    color: var(--cb-muted);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    opacity: 0.7;
}

/* Scroll Indicator */
.cb-hero-scroll {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin-top: 6px;
    opacity: 0.5;
    animation: cb-hero-scroll-bounce 2s ease-in-out infinite;
}

.cb-hero-scroll-text {
    font-size: 10px;
    color: var(--cb-muted);
    text-transform: uppercase;
    letter-spacing: 1.2px;
}

.cb-hero-scroll-line {
    display: block;
    width: 1px;
    height: 20px;
    background: linear-gradient(to bottom, var(--cb-muted), transparent);
}

@keyframes cb-hero-scroll-bounce {
    0%, 100% { transform: translateY(0); opacity: 0.5; }
    50% { transform: translateY(4px); opacity: 1; }
}

/* ============================================================
   HERO RESPONSIVE - MOBILE (max-width: 480px)
   ============================================================ */
@media (max-width: 480px) {
    .cb-hero {
        min-height: 100vh;
        padding: 40px 0 30px;
        max-width: 100%;
    }
    
    /* Hide gradient lines on mobile */
    .cb-hero::before,
    .cb-hero::after {
        display: none;
    }
    
    .cb-hero .cb-container {
        padding: 0 16px;
    }
    
    .cb-hero-inner {
        gap: 10px;
        padding: 10px 0 12px;
        min-height: 85vh;
    }
    
    .cb-hero-logo {
        width: 150px;
        height: 150px;
        border-radius: 28px;
        padding: 5px;
    }
    
    .cb-hero-logo img {
        border-radius: 22px;
    }
    
    .cb-hero-line {
        width: 40px;
    }
    
    .cb-hero-dots {
        gap: 6px;
    }
    
    .cb-hero-dot {
        width: 5px;
        height: 5px;
    }
    
    .cb-hero-badge span {
        font-size: 8px;
        letter-spacing: 0.8px;
    }
    
    .cb-hero-title {
        font-size: 20px;
        line-height: 1.2;
    }
    
    .cb-hero-subtitle {
        font-size: 12px;
    }
    
    .cb-hero-buttons {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }
    
    .cb-hero-btn-primary,
    .cb-hero-btn-ghost {
        width: 100%;
        text-align: center;
        justify-content: center;
        padding: 12px 16px !important;
        font-size: 13px !important;
    }
    
    .cb-hero-stats {
        gap: 20px;
        padding-top: 10px;
    }
    
    .cb-hero-stat {
        min-width: 50px;
    }
    
    .cb-hero-stat-number {
        font-size: 16px;
    }
    
    .cb-hero-stat-label {
        font-size: 8px;
        letter-spacing: 0.5px;
    }
    
    .cb-hero-scroll-text {
        font-size: 9px;
    }
    
    .cb-hero-scroll-line {
        height: 16px;
    }
}

