/* =============================================
   SWMM5.ORG COMPLETE CUSTOM CSS
   Replace ALL existing Additional CSS with this
   ============================================= */

/* === BASE STYLES === */
body, .ast-separate-container {
    background: #0a1628 !important;
    color: #e8f4f8 !important;
}

.site-content .ast-container {
    background: transparent !important;
}

/* === TYPOGRAPHY === */
h1, h2, h3, h4, h5, h6, .site-title {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-weight: 600 !important;
    color: #e8f4f8 !important;
}

/* === HEADER & NAVIGATION === */
header, .site-header, .main-header-bar, .ast-primary-header-bar {
    background: #0a1628 !important;
    border-bottom: 1px solid rgba(0, 212, 255, 0.15) !important;
}

.site-title a, .ast-site-title-wrap a {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: #e8f4f8 !important;
}

.main-header-menu a, .ast-header-sections-navigation a, nav a, .menu-item a {
    color: #8ba3b8 !important;
    font-weight: 500 !important;
}

.main-header-menu a:hover, nav a:hover, .menu-item a:hover {
    color: #00d4ff !important;
}

.main-header-menu .sub-menu, .sub-menu {
    background: #0f2744 !important;
    border: 1px solid rgba(0, 212, 255, 0.15) !important;
    border-radius: 8px !important;
}

.sub-menu a {
    color: #8ba3b8 !important;
}

.sub-menu a:hover {
    color: #00d4ff !important;
    background: rgba(0, 212, 255, 0.1) !important;
}

/* === HOMEPAGE SPECIFIC === */
/* Hide only WordPress page title on homepage, NOT custom hero h1 */
.home .entry-header,
.home header.entry-header,
.home .ast-article-single > header {
    display: none !important;
}

/* Remove white box container on homepage */
.home article,
.home .ast-article-single,
.home .type-page,
body.home .ast-separate-container .ast-article-single,
body.page-template-default.home article {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* Make homepage content full width */
.home .site-content .ast-container,
.home .ast-separate-container .ast-article-single {
    max-width: 100% !important;
    padding: 0 !important;
}

.home .entry-content {
    margin: 0 !important;
    padding: 0 !important;
}

/* === MAKE SURE HERO H1 IS VISIBLE === */
.swmm-hero h1 {
    display: block !important;
    visibility: visible !important;
    font-size: 3.5rem !important;
    color: #e8f4f8 !important;
    margin-bottom: 20px !important;
    font-weight: 300 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

.swmm-hero .highlight-years {
    background: linear-gradient(135deg, #ff6b35, #ff8f5a) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    font-weight: 600 !important;
}

.swmm-hero .highlight-cyan {
    color: #00d4ff !important;
    font-style: italic !important;
    -webkit-text-fill-color: #00d4ff !important;
}

/* === BLOG POST CARDS === */
.blog article,
.archive article,
.blog .ast-article-post,
.archive .ast-article-post,
.search article {
    background: #ffffff !important;
    border: 2px solid rgba(0, 212, 255, 0.3) !important;
    border-radius: 16px !important;
    padding: 1.5rem !important;
    margin-bottom: 1.5rem !important;
    transition: all 0.3s ease !important;
}

.blog article:hover,
.archive article:hover,
.blog .ast-article-post:hover,
.archive .ast-article-post:hover {
    transform: translateY(-4px);
    border-color: #00d4ff !important;
    box-shadow: 0 8px 24px rgba(0, 212, 255, 0.2) !important;
}

/* Single post pages */
.single article,
.single .ast-article-single {
    background: #ffffff !important;
    border: 2px solid rgba(0, 212, 255, 0.3) !important;
    border-radius: 16px !important;
    padding: 2rem !important;
}

/* === POST TITLES === */
.entry-title,
.entry-title a,
article h2.entry-title,
article h2.entry-title a,
.ast-article-post .entry-title,
.ast-article-single .entry-title {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-weight: 600 !important;
    color: #0f2744 !important;
    font-style: normal !important;
    text-decoration: none !important;
    font-size: 1.3rem !important;
    line-height: 1.3 !important;
}

.single .entry-title,
.ast-article-single .entry-title {
    font-size: 2rem !important;
}

.entry-title a:hover,
article h2 a:hover {
    color: #00b8a9 !important;
}

/* Hide duplicate large italic titles in posts */
article .entry-content > h1:first-of-type,
.blog article h1:not(.entry-title),
.archive article h1:not(.entry-title) {
    display: none !important;
}

/* === POST CONTENT === */
.entry-content p, .entry-summary p, article p, .ast-article-post p {
    color: #4a5568 !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
}

.entry-meta, .entry-meta *, .posted-on, .byline, .cat-links, .comments-link {
    color: #718096 !important;
    font-size: 0.85rem !important;
}

.entry-meta a, .posted-on a, .byline a {
    color: #00b8a9 !important;
}

/* === CATEGORY & TAG PILLS === */
.cat-links a, .tag-links a, .ast-terms-link a, a[rel="category tag"], a[rel="tag"] {
    display: inline-block;
    background: rgba(0, 212, 255, 0.15) !important;
    color: #0f2744 !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 20px !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border: 1px solid #00d4ff !important;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}

.cat-links a:hover, .tag-links a:hover, a[rel="category tag"]:hover {
    background: #00d4ff !important;
    color: #ffffff !important;
}

/* === BUTTONS === */
.ast-button, .button, button, input[type="submit"], .wp-block-button__link {
    background: linear-gradient(135deg, #00d4ff, #00b8a9) !important;
    color: #0a1628 !important;
    font-weight: 600 !important;
    padding: 0.75rem 1.5rem !important;
    border: none !important;
    border-radius: 12px !important;
    transition: all 0.3s ease !important;
    font-size: 1rem !important;
}

.ast-button:hover, .button:hover, button:hover, input[type="submit"]:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 32px rgba(0, 212, 255, 0.4) !important;
}

/* === LINKS === */
.entry-content a {
    color: #00b8a9 !important;
}

.entry-content a:hover {
    color: #00d4ff !important;
}

.read-more a, .ast-read-more-container a, .more-link {
    color: #00b8a9 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
}

.read-more a:hover, .ast-read-more-container a:hover, .more-link:hover {
    color: #00d4ff !important;
}

/* === SIDEBAR & WIDGETS === */
.widget-area, .sidebar-main {
    background: transparent !important;
}

.widget, .ast-separate-container .widget {
    background: rgba(15, 39, 68, 0.8) !important;
    border: 1px solid rgba(0, 212, 255, 0.15) !important;
    border-radius: 16px !important;
    padding: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

.widget-title, .widget h2 {
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #e8f4f8 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-bottom: 1px solid rgba(0, 212, 255, 0.15) !important;
    padding-bottom: 0.75rem !important;
    margin-bottom: 1rem !important;
}

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

.widget li {
    padding: 0.5rem 0 !important;
    border-bottom: 1px solid rgba(0, 212, 255, 0.08) !important;
    font-size: 0.9rem !important;
}

.widget li:last-child {
    border-bottom: none !important;
}

.widget a {
    color: #8ba3b8 !important;
    text-decoration: none !important;
}

.widget a:hover {
    color: #00d4ff !important;
}

/* === FORMS === */
input[type="search"], input[type="text"], input[type="email"], input[type="url"], textarea {
    background: #0f2744 !important;
    border: 1px solid rgba(0, 212, 255, 0.15) !important;
    border-radius: 8px !important;
    color: #e8f4f8 !important;
    padding: 0.75rem 1rem !important;
}

input:focus, textarea:focus {
    outline: none !important;
    border-color: #00d4ff !important;
    box-shadow: 0 0 0 3px rgba(0, 212, 255, 0.1) !important;
}

/* === FOOTER === */
.site-footer, .ast-footer-overlay, footer, .ast-small-footer {
    background: #0f2744 !important;
    border-top: 1px solid rgba(0, 212, 255, 0.15) !important;
}

.site-footer, .site-footer p, .site-footer a, .ast-small-footer a, .ast-footer-copyright {
    color: #5a7a94 !important;
}

.site-footer a:hover, .ast-small-footer a:hover {
    color: #00d4ff !important;
}

/* === PAGINATION === */
.ast-pagination a, .page-numbers, .nav-links a {
    background: rgba(15, 39, 68, 0.6) !important;
    border: 1px solid rgba(0, 212, 255, 0.15) !important;
    color: #8ba3b8 !important;
    padding: 0.5rem 1rem !important;
    border-radius: 8px !important;
}

.ast-pagination a:hover, .page-numbers:hover, .page-numbers.current {
    background: #00d4ff !important;
    color: #0a1628 !important;
    border-color: #00d4ff !important;
}

/* === BLOCKQUOTES & CODE === */
blockquote, .wp-block-quote {
    background: #0f2744 !important;
    border-left: 4px solid #00d4ff !important;
    border-radius: 0 12px 12px 0 !important;
    padding: 1.5rem !important;
    margin: 1.5rem 0 !important;
}

blockquote p {
    color: #e8f4f8 !important;
}

code, pre, .wp-block-code {
    font-family: "Courier New", Consolas, monospace !important;
    background: #0f2744 !important;
    color: #00d4ff !important;
    border: 1px solid rgba(0, 212, 255, 0.15) !important;
    border-radius: 8px;
}

code {
    padding: 0.2em 0.5em;
    font-size: 0.9rem !important;
}

pre {
    padding: 1.5rem !important;
}

/* === IMAGES === */
img, .wp-block-image img {
    border-radius: 12px;
}

/* === COMMENTS === */
.ast-separate-container .ast-comment-list li {
    background: rgba(15, 39, 68, 0.6) !important;
    border-radius: 12px !important;
}

.ast-comment-list .comment-content p {
    color: #8ba3b8 !important;
}

/* === SCROLL TO TOP === */
.ast-scroll-top-icon, #ast-scroll-top {
    background: linear-gradient(135deg, #00d4ff, #00b8a9) !important;
    color: #0a1628 !important;
    border-radius: 12px !important;
}

/* === MOBILE MENU === */
.ast-above-header, .ast-below-header {
    background: #0a1628 !important;
}

.ast-mobile-menu-wrap .main-header-menu, .ast-mobile-popup-drawer {
    background: #0f2744 !important;
}

.ast-mobile-popup-drawer a {
    color: #8ba3b8 !important;
}

.ast-mobile-popup-drawer a:hover {
    color: #00d4ff !important;
}

/* === ARCHIVE PAGES === */
.ast-archive-description {
    background: transparent !important;
}

.ast-archive-description .ast-archive-title {
    color: #e8f4f8 !important;
    font-size: 2rem !important;
}

/* === BREADCRUMBS === */
.ast-breadcrumbs, .ast-breadcrumbs a {
    color: #8ba3b8 !important;
    font-size: 0.85rem !important;
}

.ast-breadcrumbs a:hover {
    color: #00d4ff !important;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
    .swmm-hero h1 {
        font-size: 2.25rem !important;
    }
}
/* Fix button text visibility */
.swmm-btn-primary {
    color: #0a1628 !important;
    background: linear-gradient(135deg, #00d4ff, #00b8a9) !important;
}

.swmm-btn-primary:hover {
    color: #0a1628 !important;
}
/* Fix Launch App Gallery button text */
.swmm-btn-primary {
    color: #0a1628 !important;
    text-shadow: none !important;
}

.swmm-btn-primary:hover,
.swmm-btn-primary:focus,
.swmm-btn-primary:visited {
    color: #0a1628 !important;
}

/* Search Section */
.swmm-search-section {
    background: linear-gradient(135deg, #0f2744 0%, #1a3a5c 100%);
    padding: 50px 20px;
    text-align: center;
    border-top: 1px solid rgba(0, 212, 255, 0.15);
    border-bottom: 1px solid rgba(0, 212, 255, 0.15);
}

.swmm-search-content {
    max-width: 700px;
    margin: 0 auto;
}

.swmm-search-title {
    font-size: 1.75rem;
    color: #e8f4f8;
    margin-bottom: 10px;
    font-weight: 400;
}

.swmm-search-subtitle {
    color: #8ba3b8;
    margin-bottom: 25px;
    font-size: 1rem;
}

.swmm-search-form {
    display: flex;
    gap: 10px;
    max-width: 600px;
    margin: 0 auto 20px;
    flex-wrap: wrap;
    justify-content: center;
}

.swmm-search-input {
    flex: 1;
    min-width: 280px;
    padding: 15px 20px !important;
    border: 2px solid rgba(0, 212, 255, 0.3) !important;
    border-radius: 12px !important;
    background: rgba(10, 22, 40, 0.8) !important;
    color: #e8f4f8 !important;
    font-size: 1rem !important;
}

.swmm-search-input::placeholder {
    color: #5a7a94 !important;
}

.swmm-search-input:focus {
    outline: none !important;
    border-color: #00d4ff !important;
    box-shadow: 0 0 0 3px rgba(0, 212, 255, 0.2) !important;
}

.swmm-search-button {
    padding: 15px 30px !important;
    background: linear-gradient(135deg, #00d4ff, #00b8a9) !important;
    color: #0a1628 !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: 12px !important;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 1rem !important;
}

.swmm-search-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 212, 255, 0.4);
}

.swmm-search-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    align-items: center;
}

.swmm-search-tags span {
    color: #5a7a94;
    font-size: 0.85rem;
}

.swmm-search-tags a {
    background: rgba(0, 212, 255, 0.1) !important;
    color: #00d4ff !important;
    padding: 6px 14px !important;
    border-radius: 20px !important;
    font-size: 0.8rem !important;
    text-decoration: none !important;
    border: 1px solid rgba(0, 212, 255, 0.3) !important;
    transition: all 0.3s ease;
}

.swmm-search-tags a:hover {
    background: rgba(0, 212, 255, 0.2) !important;
    border-color: #00d4ff !important;
}