/*
Theme Name: SecureStackPro Child
Theme URI: https://securestackpro.online
Description: Custom child theme for SecureStackPro.online — cybersecurity tools & guides site. Built on GeneratePress.
Author: Abid
Template: generatepress
Version: 1.4
Text Domain: securestack-child
*/

:root{
    --ssp-page-bg: #7C9473;
    --ssp-accent: #2F6B3A;
    --ssp-accent-dark: #234F2B;
    --ssp-accent-light: #EAF3E4;
    --ssp-text-dark: #1D2A1E;
    --ssp-text-muted: #6B7A6C;
    --ssp-font-head: 'Poppins', sans-serif;
    --ssp-font-body: 'Inter', sans-serif;
}

body{
    background: var(--ssp-page-bg);
    font-family: var(--ssp-font-body);
    color: var(--ssp-text-dark);
}

.ssp-page-card{
    max-width: 1180px;
    margin: 24px auto;
    border-radius: 24px;
    overflow: hidden;
    background: #fff;
}

/* HEADER */
#masthead,
.main-navigation{
    background: rgba(255,255,255,0.92) !important;
}
.main-navigation .main-nav ul li a{
    font-family: var(--ssp-font-body);
    font-weight: 500;
    font-size: 14.5px;
    color: #3A3A3A;
}
.ssp-header-cta{
    background: var(--ssp-accent);
    color: #fff !important;
    font-size: 13.5px;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 24px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.site-logo .site-title a,
.site-title a{
    font-family: var(--ssp-font-head);
    font-weight: 700;
    font-size: 22px;
    color: var(--ssp-accent-dark) !important;
}

/* HERO */
.ssp-hero{
    position: relative;
    min-height: 560px;
    display: flex;
    align-items: center;
    background: linear-gradient(180deg, rgba(10,20,15,0.15) 0%, rgba(10,20,15,0.55) 100%),
                url('https://securestackpro.online/wp-content/uploads/2026/07/hero-security.jpg') center/cover no-repeat;
    padding: 60px 0 110px;
}
.ssp-hero-inner{ max-width: 1100px; margin: 0 auto; padding: 0 28px; }
.ssp-hero-badge{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.4);
    color: #fff;
    font-size: 12.5px;
    font-weight: 500;
    padding: 6px 14px;
    border-radius: 20px;
    margin-bottom: 22px;
}
.ssp-hero h1{
    font-family: var(--ssp-font-head);
    color: #fff;
    font-size: 44px;
    font-weight: 700;
    line-height: 1.2;
    max-width: 560px;
    margin-bottom: 18px;
}
.ssp-hero p{
    color: rgba(255,255,255,0.88);
    font-size: 15.5px;
    max-width: 440px;
    margin-bottom: 30px;
    line-height: 1.6;
}
.ssp-btn-outline-white{
    display: inline-block;
    border: 1.5px solid #fff;
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    padding: 12px 26px;
    border-radius: 26px;
}
.ssp-btn-outline-white:hover{ background: rgba(255,255,255,0.12); color:#fff; }

/* FLOATING SEARCH BAR */
.ssp-search-float{ margin-top: -56px; position: relative; z-index: 5; padding-bottom: 50px; }
.ssp-search-float-inner{ max-width: 1100px; margin: 0 auto; padding: 0 28px; }
.ssp-search-bar{
    background: var(--ssp-accent-light);
    border-radius: 60px;
    padding: 10px 10px 10px 26px;
    display: flex;
    align-items: center;
    gap: 16px;
    box-shadow: 0 20px 40px -18px rgba(0,0,0,0.35);
}
.ssp-search-field{ flex: 1; font-size: 14px; color: var(--ssp-text-dark); font-weight: 500; }
.ssp-search-field span{ display: block; font-size: 11px; color: var(--ssp-text-muted); font-weight: 400; }
.ssp-search-divider{ width: 1px; height: 32px; background: rgba(0,0,0,0.1); }
.ssp-search-submit{
    background: var(--ssp-accent);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    padding: 14px 30px;
    border-radius: 50px;
    border: none;
}

/* WELCOME SECTION */
.ssp-welcome{
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 50px;
    align-items: center;
    padding: 20px 28px 60px;
}
.ssp-welcome-img-wrap{ position: relative; }
.ssp-welcome-img{ width: 100%; border-radius: 18px; display: block; }
.ssp-welcome-badge{
    position: absolute;
    top: -18px; left: -18px;
    width: 74px; height: 74px;
    border-radius: 50%;
    background: var(--ssp-accent);
    color: #fff;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    font-size: 10.5px; font-weight: 600; text-align: center;
    border: 5px solid #fff;
}
.ssp-welcome-tag{
    position: absolute;
    bottom: -16px; right: 20px;
    width: 52px; height: 52px;
    border-radius: 50%;
    background: #F3A24A;
    border: 4px solid #fff;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 18px;
}
.ssp-welcome-text h2{
    font-family: var(--ssp-font-head);
    font-size: 28px; font-weight: 600;
    color: var(--ssp-accent-dark);
    margin-bottom: 16px;
}
.ssp-welcome-text p{
    color: var(--ssp-text-muted);
    font-size: 14.5px; line-height: 1.75;
    max-width: 460px; margin-bottom: 26px;
}
.ssp-btn-solid{
    background: var(--ssp-accent);
    color: #fff !important;
    font-weight: 600; font-size: 14px;
    padding: 13px 26px; border-radius: 26px;
    display: inline-flex; align-items: center; gap: 8px;
}
.ssp-link-underline{
    font-weight: 600; font-size: 14px;
    color: var(--ssp-text-dark);
    border-bottom: 2px solid var(--ssp-text-dark);
    padding-bottom: 2px;
}

/* CARDS SECTION */
.ssp-cards-section{ background: var(--ssp-accent-light); padding: 56px 0 64px; }
.ssp-cards-inner{ max-width: 1100px; margin: 0 auto; padding: 0 28px; }
.ssp-cards-section h2{
    font-family: var(--ssp-font-head);
    text-align: center;
    color: var(--ssp-accent-dark);
    font-size: 24px; font-weight: 600;
    margin-bottom: 36px;
}
.ssp-grid3{ display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.ssp-grid4{ grid-template-columns: repeat(4,1fr); }
@media (max-width: 1000px){ .ssp-grid4{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px){ .ssp-grid4{ grid-template-columns: 1fr; } }
.ssp-card{ background: #fff; border-radius: 16px; overflow: hidden; }
.ssp-card img{ width: 100%; height: 190px; object-fit: cover; display: block; }
.ssp-card-body{ padding: 20px 22px 24px; }
.ssp-card h3{
    font-family: var(--ssp-font-head);
    font-size: 16.5px; font-weight: 600;
    color: var(--ssp-text-dark); margin-bottom: 8px;
}
.ssp-card p{ font-size: 13px; color: var(--ssp-text-muted); line-height: 1.6; margin-bottom: 18px; }
.ssp-btn-small{
    background: var(--ssp-accent);
    color: #fff !important;
    font-size: 12.5px; font-weight: 600;
    padding: 9px 18px; border-radius: 20px;
    display: inline-block;
}

/* FOOTER */
#colophon,
.site-footer{
    background: var(--ssp-accent-dark) !important;
    color: #EAF3E4 !important;
}
#colophon a, .site-footer a{ color: #C9DCC5 !important; }
#colophon a:hover, .site-footer a:hover{ color: #fff !important; }

@media (max-width: 860px){
    .ssp-welcome{ grid-template-columns: 1fr; }
    .ssp-grid3{ grid-template-columns: 1fr; }
    .ssp-hero h1{ font-size: 32px; }
}

/* HARD HIDE DEFAULT GENERATEPRESS HEADER (we render our own custom header) */
#masthead,
.main-navigation,
.menu-toggle,
.mobile-menu-control-wrapper{
    display: none !important;
}

/* HIDE DEFAULT PAGE TITLE + EMPTY CONTENT ON FRONT PAGE */
.home .entry-header,
.home .entry-title,
.home .entry-content,
.home .page-header{
    display: none !important;
}

/* HIDE DEFAULT "BUILT WITH GENERATEPRESS" FOOTER LINE (custom footer stays) */
.site-info{
    display: none !important;
}

/* ================= PREMIUM INNER PAGE STYLING ================= */
/* Applies to About, Privacy Policy, Terms, Disclaimer, Contact, etc. */
body.page:not(.home) #primary,
body.single #primary{
    max-width: 100%;
    padding: 0;
    background: var(--ssp-accent-light);
}
body.page:not(.home) .site-content,
body.single .site-content{
    background: var(--ssp-accent-light);
    padding: 50px 0 70px;
}
.ssp-page-wrap{
    max-width: 760px;
    margin: 0 auto;
    padding: 0 28px;
}
.ssp-page-card-inner{
    background: #fff;
    border-radius: 18px;
    padding: 48px 52px;
    box-shadow: 0 20px 50px -30px rgba(35,79,43,0.25);
}
body.single .post-thumbnail img,
body.single .wp-post-image{
    width: 100%;
    height: auto;
    display: block;
    border-radius: 14px;
    margin-bottom: 8px;
}
body.single .post-image,
body.single .featured-image,
body.single .post-thumbnail{
    max-width: 760px;
    margin: 0 auto 24px;
    padding: 0 28px;
    box-sizing: border-box;
}

/* MOBILE RESPONSIVENESS FOR INNER PAGES/POSTS */
@media (max-width: 600px){
    .ssp-page-card-inner{
        padding: 28px 20px;
        border-radius: 14px;
    }
    .ssp-page-wrap{ padding: 0 16px; }
    body.page:not(.home) .entry-title,
    body.single .entry-title{
        font-size: 24px;
        padding: 0 16px;
    }
    body.single .entry-meta,
    body.single .posted-on,
    body.single .byline{
        padding: 0 16px;
    }
    body.single .post-image,
    body.single .featured-image,
    body.single .post-thumbnail{
        padding: 0 16px;
    }
    body.page:not(.home) .entry-content,
    body.single .entry-content{
        font-size: 15.5px;
        line-height: 1.75;
    }
}
body.page:not(.home) .entry-title,
body.single .entry-title{
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 28px;
    font-family: var(--ssp-font-head);
    font-size: 30px;
    font-weight: 600;
    color: var(--ssp-accent-dark);
    margin-bottom: 10px;
    margin-top: 0;
}
body.single .entry-meta,
body.single .posted-on,
body.single .byline{
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 28px;
    display: block;
    font-size: 13px;
    color: var(--ssp-text-muted);
    margin-bottom: 20px;
}
.ssp-author-byline{
    max-width: 760px;
    margin: 0 auto 24px;
    padding: 0 28px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.ssp-author-byline img{
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.ssp-author-name{
    font-family: var(--ssp-font-head);
    font-size: 14.5px;
    font-weight: 600;
    color: var(--ssp-text-dark);
}
.ssp-author-role{
    font-size: 12.5px;
    color: var(--ssp-text-muted);
}

/* HIDE DEFAULT THEME BYLINE (we show our own author card instead) */
body.single .byline,
body.single .posted-by{
    display: none !important;
}

/* CATEGORY TAGS + POST NAVIGATION (below single post content) */
body.single .entry-meta,
.cat-links,
.entry-footer{
    max-width: 760px;
    margin: 0 auto;
    padding: 0 28px;
}
.cat-links a,
.entry-footer a{
    color: var(--ssp-accent) !important;
    font-weight: 500;
    text-decoration: none !important;
    background: var(--ssp-accent-light);
    padding: 4px 12px;
    border-radius: 14px;
    font-size: 12.5px;
}
.cat-links a:hover,
.entry-footer a:hover{
    background: var(--ssp-accent);
    color: #fff !important;
}
.post-navigation,
.navigation.post-navigation{
    max-width: 760px;
    margin: 20px auto 0;
    padding: 16px 28px 0;
    border-top: 1px solid #DCE5D8;
}
.post-navigation a,
.navigation.post-navigation a{
    color: var(--ssp-accent-dark) !important;
    font-weight: 500;
    font-size: 14px;
    text-decoration: none;
}
.post-navigation a:hover,
.navigation.post-navigation a:hover{
    color: var(--ssp-accent) !important;
}

/* COMMENT FORM */
#comments,
.comments-area{
    max-width: 760px;
    margin: 30px auto 0;
    padding: 0 28px;
}
.comments-area .comment-reply-title,
#comments h2{
    font-family: var(--ssp-font-head);
    font-size: 20px;
    font-weight: 600;
    color: var(--ssp-accent-dark);
    margin-bottom: 18px;
}
.comments-area input[type=text],
.comments-area input[type=email],
.comments-area input[type=url],
.comments-area textarea{
    font-family: var(--ssp-font-body) !important;
    font-size: 14px !important;
    padding: 12px 14px !important;
    border: 1px solid #DCE5D8 !important;
    border-radius: 10px !important;
    background: #FBFDFA !important;
    width: 100% !important;
    max-width: 460px;
}
.comments-area textarea{ max-width: 100% !important; }
.comments-area input:focus,
.comments-area textarea:focus{
    outline: none !important;
    border-color: var(--ssp-accent) !important;
}
.comments-area .comment-form-cookies-consent label{
    font-size: 13px;
    color: var(--ssp-text-muted);
}
.comments-area .form-submit input[type=submit],
.comments-area #submit{
    background: var(--ssp-accent) !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 14.5px !important;
    padding: 12px 28px !important;
    border: none !important;
    border-radius: 26px !important;
    cursor: pointer;
}
.comments-area .form-submit input[type=submit]:hover,
.comments-area #submit:hover{
    background: var(--ssp-accent-dark) !important;
}
body.page:not(.home) .entry-content,
body.single .entry-content{
    font-family: var(--ssp-font-body);
    font-size: 15px;
    line-height: 1.8;
    color: #33402F;
}
body.page:not(.home) .entry-content h2,
body.single .entry-content h2{
    font-family: var(--ssp-font-head);
    font-size: 19px;
    font-weight: 600;
    color: var(--ssp-accent-dark);
    margin: 32px 0 12px;
}
body.page:not(.home) .entry-content p,
body.single .entry-content p{ margin-bottom: 16px; }
body.page:not(.home) .entry-content a,
body.single .entry-content a{
    color: var(--ssp-accent);
    font-weight: 500;
    text-decoration: underline;
}
body.page:not(.home) .entry-content a:hover,
body.single .entry-content a:hover{ color: var(--ssp-accent-dark); }

/* CONTACT PAGE SPECIAL LAYOUT */
.ssp-contact-hero{
    text-align: center;
    margin-bottom: 8px;
}
.ssp-contact-badge{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--ssp-accent-light);
    color: var(--ssp-accent-dark);
    font-size: 12.5px;
    font-weight: 600;
    padding: 6px 16px;
    border-radius: 20px;
    margin-bottom: 18px;
}
.ssp-contact-email-card{
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--ssp-accent-light);
    border-radius: 14px;
    padding: 20px 26px;
    margin: 26px 0 34px;
}
.ssp-contact-email-card .label{
    font-size: 12px;
    color: var(--ssp-text-muted);
    font-weight: 500;
    margin-bottom: 4px;
}
.ssp-contact-email-card .email{
    font-family: var(--ssp-font-head);
    font-size: 18px;
    font-weight: 600;
    color: var(--ssp-accent-dark);
}
.ssp-contact-email-card a.btn-mail{
    background: var(--ssp-accent) !important;
    color: #fff !important;
    font-size: 13.5px;
    font-weight: 600;
    padding: 11px 22px;
    border-radius: 24px;
    text-decoration: none !important;
}

/* CONTACT FORM */
.ssp-contact-form{ margin-top: 34px; }
.ssp-contact-form h2{
    font-family: var(--ssp-font-head);
    font-size: 19px; font-weight: 600;
    color: var(--ssp-accent-dark);
    margin-bottom: 18px;
}
.ssp-contact-form .row{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.ssp-contact-form label{
    display: block; font-size: 12.5px; font-weight: 600;
    color: var(--ssp-text-muted); margin-bottom: 6px;
}
.ssp-contact-form input,
.ssp-contact-form textarea{
    width: 100%;
    font-family: var(--ssp-font-body);
    font-size: 14px;
    padding: 12px 14px;
    border: 1px solid #DCE5D8;
    border-radius: 10px;
    background: #FBFDFA;
    color: var(--ssp-text-dark);
}
.ssp-contact-form input:focus,
.ssp-contact-form textarea:focus{
    outline: none; border-color: var(--ssp-accent);
}
.ssp-contact-form textarea{ resize: vertical; min-height: 130px; margin-bottom: 20px; }
.ssp-contact-form button{
    background: var(--ssp-accent);
    color: #fff;
    font-weight: 600; font-size: 14.5px;
    padding: 13px 30px;
    border: none; border-radius: 26px;
    cursor: pointer;
}
.ssp-contact-form button:hover{ background: var(--ssp-accent-dark); }
.ssp-form-success{
    background: #E4F3E8; color: var(--ssp-accent-dark);
    padding: 14px 18px; border-radius: 10px;
    font-size: 14px; font-weight: 500; margin-bottom: 22px;
}
@media (max-width: 600px){
    .ssp-contact-form .row{ grid-template-columns: 1fr; }
}

/* WPFORMS — match site theme */
.wpforms-container{ margin-top: 30px !important; }
.wpforms-container .wpforms-field label{
    font-family: var(--ssp-font-body) !important;
    font-size: 12.5px !important; font-weight: 600 !important;
    color: var(--ssp-text-muted) !important;
}
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container textarea,
.wpforms-container select{
    font-family: var(--ssp-font-body) !important;
    font-size: 14px !important;
    padding: 12px 14px !important;
    border: 1px solid #DCE5D8 !important;
    border-radius: 10px !important;
    background: #FBFDFA !important;
}
.wpforms-container input:focus,
.wpforms-container textarea:focus{
    outline: none !important; border-color: var(--ssp-accent) !important;
}
.wpforms-container button[type=submit],
.wpforms-container .wpforms-submit{
    background: var(--ssp-accent) !important;
    color: #fff !important;
    font-weight: 600 !important; font-size: 14.5px !important;
    padding: 13px 30px !important;
    border: none !important; border-radius: 26px !important;
}
.wpforms-container button[type=submit]:hover,
.wpforms-container .wpforms-submit:hover{
    background: var(--ssp-accent-dark) !important;
}
.wpforms-confirmation-container{
    background: #E4F3E8 !important; color: var(--ssp-accent-dark) !important;
    border-radius: 10px !important; border: none !important;
}

/* FORCE FULL WIDTH ON FRONT PAGE (no sidebar) */
.home .content-area{ width: 100% !important; float: none !important; }
.home .sidebar,
.home #right-sidebar,
.home .widget-area{ display: none !important; }
body.page .sidebar,
body.page #right-sidebar,
body.page .widget-area{ display: none !important; }
body.page .content-area{ width: 100% !important; float: none !important; }
body.single .sidebar,
body.single #right-sidebar,
body.single .widget-area,
body.archive .sidebar,
body.archive #right-sidebar,
body.archive .widget-area,
body.search .sidebar,
body.search #right-sidebar,
body.search .widget-area{ display: none !important; }
body.single .content-area,
body.archive .content-area,
body.search .content-area{ width: 100% !important; float: none !important; }
body.blog .sidebar,
body.blog #right-sidebar,
body.blog .widget-area{ display: none !important; }
body.blog .content-area{ width: 100% !important; float: none !important; }
body.home .sidebar,
body.home #right-sidebar,
body.home .widget-area{ display: none !important; }
body.home .content-area{ width: 100% !important; float: none !important; }

/* ===== BLOG LISTING PAGE (body.blog) — card grid ===== */
body.blog .site-content{ background: var(--ssp-accent-light); padding: 50px 0 70px; }
body.blog #primary{ max-width: 1100px; margin: 0 auto; padding: 0 28px; }
body.blog .site-main{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: stretch;
}
body.blog .site-main > article{
    background: #fff; border-radius: 16px; overflow: hidden;
    display: flex; flex-direction: column;
    transition: transform 0.15s;
    margin: 0;
    padding: 0;
}
body.blog .site-main > article:hover{ transform: translateY(-3px); }
body.blog .site-main > article .inside-article{
    display: flex; flex-direction: column; height: 100%; padding: 0;
}
body.blog .site-main > article .post-image{ display: block; margin: 0; order: -1; }
body.blog .site-main > article .post-image img{
    width: 100% !important; height: 190px !important; object-fit: cover !important;
    display: block; border-radius: 0;
}
body.blog .site-main > article .entry-header{ padding: 18px 20px 0; }
body.blog .site-main > article .entry-summary{ padding: 0 20px; }
body.blog .site-main > article footer.entry-meta{
    padding: 0 20px 18px; margin-top: auto;
}
body.blog .site-main > article .entry-title{
    font-family: var(--ssp-font-head); font-size: 16.5px; font-weight: 600;
    margin-bottom: 6px; max-width: none; padding: 0; line-height: 1.4;
}
body.blog .site-main > article .entry-title a{
    color: var(--ssp-accent-dark) !important; text-decoration: none;
}
body.blog .site-main > article .entry-header .entry-meta,
body.blog .site-main > article .posted-on,
body.blog .site-main > article .byline{
    font-size: 11.5px; color: var(--ssp-text-muted) !important; padding: 0; margin-bottom: 10px;
}
body.blog .site-main > article .byline a,
body.blog .site-main > article .author a{
    color: var(--ssp-accent) !important; font-weight: 600; text-decoration: none;
}
body.blog .site-main > article .entry-summary p{
    font-size: 13px; color: var(--ssp-text-muted); line-height: 1.6; margin: 0 0 14px;
}
body.blog .site-main > article .entry-summary .read-more{
    color: var(--ssp-accent) !important; font-weight: 600; text-decoration: none;
}
body.blog .site-main > article footer.entry-meta .cat-links a{
    font-size: 11px; color: var(--ssp-accent) !important; background: var(--ssp-accent-light);
    padding: 3px 10px; border-radius: 12px; text-decoration: none;
}
body.blog .site-main > article footer.entry-meta .comments-link a{
    color: var(--ssp-accent) !important; text-decoration: none; font-size: 11.5px;
}
/* PAGINATION — full-width row, pill buttons */
body.blog .site-main > nav,
body.blog .site-main > .paging-navigation,
body.blog .site-main > .navigation,
body.blog .navigation.pagination,
body.blog .paging-navigation{
    grid-column: 1 / -1 !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 14px 0 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center;
    gap: 8px;
}
body.blog .nav-links{
    display: flex; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap;
}
body.blog .page-numbers{
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 38px; height: 38px; padding: 0 14px;
    background: #fff;
    color: var(--ssp-accent-dark) !important;
    font-weight: 600; font-size: 14px;
    border-radius: 20px;
    text-decoration: none !important;
    border: 1px solid transparent;
    transition: background 0.15s, color 0.15s;
}
body.blog .page-numbers:hover{
    background: var(--ssp-accent-dark);
    color: #fff !important;
}
body.blog .page-numbers.current{
    background: var(--ssp-accent) !important;
    color: #fff !important;
}
body.blog .page-numbers.next,
body.blog .page-numbers.prev{
    background: var(--ssp-accent-dark);
    color: #fff !important;
}
body.blog .page-numbers.next:hover,
body.blog .page-numbers.prev:hover{
    background: var(--ssp-accent);
}
@media (max-width: 1000px){
    body.blog .site-main{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 640px){
    body.blog .site-main{ grid-template-columns: 1fr; }
}

/* CUSTOM HEADER BAR */
.ssp-custom-header{
    background: rgba(255,255,255,0.92);
}
.ssp-custom-header-inner{
    max-width: 1100px;
    margin: 0 auto;
    padding: 18px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ssp-logo{
    font-family: var(--ssp-font-head);
    font-weight: 600;
    font-size: 19px;
    letter-spacing: -0.2px;
    color: var(--ssp-text-dark);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.ssp-logo-icon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: var(--ssp-accent-dark);
    flex-shrink: 0;
}
.ssp-logo-text{ display: inline-flex; }
.ssp-logo-accent{
    color: var(--ssp-accent);
}
.ssp-custom-nav{ display: flex; gap: 30px; }
.ssp-custom-nav a{
    font-family: var(--ssp-font-body);
    font-weight: 500;
    font-size: 14.5px;
    color: #3A3A3A;
    text-decoration: none;
}
.ssp-custom-nav a:hover{ color: var(--ssp-accent); }
@media (max-width: 760px){
    .ssp-custom-header-inner{
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        padding: 14px 16px;
    }
    .ssp-custom-nav{
        display: flex;
        order: 3;
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
        gap: 14px 18px;
        border-top: 1px solid rgba(0,0,0,0.06);
        padding-top: 12px;
    }
    .ssp-custom-nav a{ font-size: 13.5px; }
    .ssp-logo{ font-size: 17px; }
    .ssp-header-cta{ font-size: 12.5px; padding: 8px 14px; }
}

/* HEADER NAV + CTA */
.main-navigation{ padding: 0 20px; }
.main-navigation ul.main-nav > li > a{
    padding: 10px 16px !important;
}
.ssp-header-cta{
    margin-left: 12px;
}

/* CUSTOM FOOTER */
.ssp-footer{
    background: var(--ssp-accent-dark);
    color: #EAF3E4;
    padding: 48px 28px 24px;
    text-align: center;
}
.ssp-footer a{ color: #C9DCC5; text-decoration: none; }
.ssp-footer a:hover{ color: #fff; }
.ssp-footer-links{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px 26px;
    margin-bottom: 18px;
    font-size: 13.5px;
    font-weight: 500;
}
@media (max-width: 600px){
    .ssp-footer{ padding: 36px 18px 20px; }
    .ssp-footer-links{ gap: 12px 18px; font-size: 13px; }
    .ssp-footer-bottom{ font-size: 11.5px; line-height: 1.6; }
    .ssp-page-card{ margin: 12px auto; border-radius: 16px; }
}
body, .ssp-page-card{ overflow-x: hidden; }
.ssp-footer-bottom{
    font-size: 12px;
    color: #A9C2A4;
    border-top: 1px solid rgba(255,255,255,0.12);
    padding-top: 18px;
    margin-top: 18px;
}
