/*
Theme Name: Pro Adsense
Theme URI: https://yourwebsite.com/pro-adsense
Author: Pro Adsense Team
Author URI: https://yourwebsite.com
Description: A blazing fast, SEO-optimized, one-column WordPress theme built for blog articles and Google AdSense monetization. Features: built-in ad management, featured slider, social sharing, related posts, auto thumbnails, auto excerpts, page navigation, custom menus, and easy theme options. No additional plugins required.
Version: 1.0.0
Requires at least: 5.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pro-adsense
Tags: one-column, blog, custom-menu, featured-images, theme-options, translation-ready
*/

/* ========================================================================
   CSS RESET & BASE
   ======================================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
    font-size:1rem;
    line-height:1.7;
    color:#333;
    background:#f5f5f5;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:#0073aa;text-decoration:none;transition:color .2s ease}
a:hover{color:#005177}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{line-height:1.3;font-weight:700;color:#1a1a1a}
h1{font-size:1.8rem}
h2{font-size:1.5rem}
h3{font-size:1.25rem}
h4{font-size:1.1rem}
p{margin-bottom:1rem}
blockquote{border-left:4px solid #0073aa;padding:1rem 1.5rem;margin:1.5rem 0;background:#f9f9f9;font-style:italic}
pre,code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:.9rem}
pre{background:#1a1a2e;color:#e0e0e0;padding:1.2rem;border-radius:6px;overflow-x:auto;margin:1.5rem 0}
code{background:#f0f0f0;padding:2px 6px;border-radius:3px}
pre code{background:transparent;padding:0}
table{width:100%;border-collapse:collapse;margin:1.5rem 0}
th,td{padding:.75rem;border:1px solid #ddd;text-align:left}
th{background:#f5f5f5;font-weight:600}

/* ========================================================================
   LAYOUT - ONE COLUMN
   ======================================================================== */
.site-wrapper{
    max-width:820px;
    margin:0 auto;
    padding:0 1rem;
}
.site-content{
    background:#fff;
    border-radius:8px;
    box-shadow:0 1px 3px rgba(0,0,0,.08);
    padding:2rem;
    margin-bottom:2rem;
}

/* ========================================================================
   HEADER
   ======================================================================== */
.site-header{
    background:#fff;
    border-bottom:3px solid #0073aa;
    padding:0;
    position:sticky;
    top:0;
    z-index:1000;
    box-shadow:0 2px 4px rgba(0,0,0,.06);
}
.header-inner{
    max-width:820px;
    margin:0 auto;
    padding:.8rem 1rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.site-branding{flex-shrink:0}
.site-title{
    font-size:1.5rem;
    font-weight:800;
    margin:0;
}
.site-title a{color:#1a1a1a}
.site-title a:hover{color:#0073aa}
.site-description{
    font-size:.8rem;
    color:#777;
    margin:0;
}
.custom-logo-link img{max-height:45px;width:auto}

/* ========================================================================
   NAVIGATION
   ======================================================================== */
.main-navigation{position:relative}
.main-navigation ul{display:flex;gap:0;flex-wrap:wrap}
.main-navigation li{position:relative}
.main-navigation a{
    display:block;
    padding:.5rem .9rem;
    font-size:.9rem;
    font-weight:600;
    color:#333;
    transition:all .2s ease;
    border-radius:4px;
}
.main-navigation a:hover,
.main-navigation .current-menu-item>a{
    color:#0073aa;
    background:rgba(0,115,170,.06);
}
/* Dropdown */
.main-navigation .sub-menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    background:#fff;
    min-width:200px;
    box-shadow:0 4px 12px rgba(0,0,0,.1);
    border-radius:0 0 6px 6px;
    z-index:100;
    flex-direction:column;
    border-top:2px solid #0073aa;
}
.main-navigation li:hover>.sub-menu{display:flex}
.main-navigation .sub-menu a{padding:.6rem 1rem;font-size:.85rem;border-radius:0}
.main-navigation .sub-menu a:hover{background:#f5f5f5}
/* Mobile Toggle */
.menu-toggle{
    display:none;
    background:none;
    border:none;
    font-size:1.5rem;
    cursor:pointer;
    padding:.3rem;
    color:#333;
    line-height:1;
}
.menu-toggle span{display:block;width:24px;height:3px;background:#333;margin:4px 0;transition:.3s;border-radius:2px}
.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ========================================================================
   HEADER AD BANNER
   ======================================================================== */
.header-ad{
    max-width:820px;
    margin:1rem auto;
    padding:0 1rem;
    text-align:center;
}
.header-ad .ad-slot{
    display:inline-block;
    background:#f9f9f9;
    border:1px dashed #ddd;
    min-height:90px;
    line-height:90px;
    width:100%;
    max-width:728px;
    text-align:center;
    color:#aaa;
    font-size:.75rem;
    border-radius:4px;
}

/* ========================================================================
   FEATURED SLIDER
   ======================================================================== */
.featured-slider{
    max-width:820px;
    margin:1.5rem auto;
    padding:0 1rem;
    position:relative;
    overflow:hidden;
}
.slider-container{
    position:relative;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 2px 8px rgba(0,0,0,.1);
}
.slider-track{
    display:flex;
    transition:transform .5s ease;
}
.slide{
    min-width:100%;
    position:relative;
}
.slide-image{
    width:100%;
    height:350px;
    object-fit:cover;
}
.slide-content{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:2rem;
    background:linear-gradient(transparent,rgba(0,0,0,.75));
    color:#fff;
}
.slide-content h2{
    color:#fff;
    font-size:1.4rem;
    margin-bottom:.4rem;
}
.slide-content h2 a{color:#fff}
.slide-content h2 a:hover{color:#ffd700}
.slide-meta{font-size:.8rem;opacity:.9}
.slider-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:rgba(255,255,255,.9);
    border:none;
    width:40px;
    height:40px;
    border-radius:50%;
    font-size:1.2rem;
    cursor:pointer;
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 2px 6px rgba(0,0,0,.15);
    transition:all .2s;
    color:#333;
}
.slider-nav:hover{background:#0073aa;color:#fff}
.slider-prev{left:10px}
.slider-next{right:10px}
.slider-dots{
    text-align:center;
    padding:.8rem 0;
}
.slider-dots button{
    width:10px;height:10px;
    border-radius:50%;
    border:none;
    background:#ccc;
    margin:0 4px;
    cursor:pointer;
    transition:all .2s;
    padding:0;
}
.slider-dots button.active{background:#0073aa;transform:scale(1.2)}

/* ========================================================================
   POSTS / ARTICLES
   ======================================================================== */
.post-list{padding:0}
.post-item{
    margin-bottom:2rem;
    padding-bottom:2rem;
    border-bottom:1px solid #eee;
}
.post-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.post-thumbnail{
    margin-bottom:1rem;
    border-radius:6px;
    overflow:hidden;
}
.post-thumbnail img{
    width:100%;
    height:220px;
    object-fit:cover;
    transition:transform .3s ease;
}
.post-thumbnail:hover img{transform:scale(1.02)}
.post-item .entry-title{
    font-size:1.35rem;
    margin-bottom:.5rem;
}
.post-item .entry-title a{color:#1a1a1a}
.post-item .entry-title a:hover{color:#0073aa}
.entry-meta{
    font-size:.8rem;
    color:#888;
    margin-bottom:.8rem;
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
}
.entry-meta a{color:#888}
.entry-meta a:hover{color:#0073aa}
.entry-meta .meta-sep{color:#ddd}
.entry-excerpt{
    color:#555;
    font-size:.95rem;
    line-height:1.7;
}
.read-more{
    display:inline-block;
    margin-top:.8rem;
    padding:.5rem 1.2rem;
    background:#0073aa;
    color:#fff;
    border-radius:4px;
    font-size:.85rem;
    font-weight:600;
    transition:all .2s;
}
.read-more:hover{background:#005177;color:#fff;transform:translateY(-1px)}

/* ========================================================================
   SINGLE POST
   ======================================================================== */
.single-post .entry-header{margin-bottom:1.5rem}
.single-post .entry-title{font-size:1.8rem;margin-bottom:.5rem}
.single-post .entry-content{
    font-size:1.05rem;
    line-height:1.8;
}
.single-post .entry-content h2{margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #f0f0f0}
.single-post .entry-content h3{margin:1.5rem 0 .8rem}
.single-post .entry-content ul,
.single-post .entry-content ol{
    margin:1rem 0 1rem 1.5rem;
}
.single-post .entry-content ul{list-style:disc}
.single-post .entry-content ol{list-style:decimal}
.single-post .entry-content li{margin-bottom:.4rem}
.single-post .entry-content img{border-radius:6px;margin:1.5rem 0}
.entry-tags{
    margin-top:2rem;
    padding-top:1rem;
    border-top:1px solid #eee;
}
.entry-tags a{
    display:inline-block;
    padding:.3rem .7rem;
    background:#f0f0f0;
    color:#555;
    border-radius:3px;
    font-size:.8rem;
    margin:.2rem .3rem .2rem 0;
    transition:all .2s;
}
.entry-tags a:hover{background:#0073aa;color:#fff}

/* ========================================================================
   AD SLOTS
   ======================================================================== */
.ad-below-title,
.ad-in-content,
.ad-after-content,
.ad-between-posts{
    margin:1.5rem 0;
    text-align:center;
}
.ad-slot{
    display:inline-block;
    background:#fafafa;
    border:1px dashed #e0e0e0;
    min-height:100px;
    width:100%;
    text-align:center;
    color:#bbb;
    font-size:.75rem;
    border-radius:4px;
    overflow:hidden;
}
.ad-label{
    display:block;
    text-align:center;
    font-size:.65rem;
    color:#ccc;
    margin-bottom:4px;
    text-transform:uppercase;
    letter-spacing:1px;
}

/* ========================================================================
   BREADCRUMBS
   ======================================================================== */
.breadcrumbs{
    font-size:.8rem;
    color:#888;
    margin-bottom:1rem;
    padding:.5rem 0;
}
.breadcrumbs a{color:#0073aa}
.breadcrumbs .sep{margin:0 .4rem;color:#ccc}

/* ========================================================================
   SOCIAL SHARE BUTTONS
   ======================================================================== */
.social-share{
    margin:2rem 0;
    padding:1.2rem;
    background:#f9f9f9;
    border-radius:6px;
    text-align:center;
}
.social-share-title{
    font-size:.85rem;
    font-weight:600;
    color:#555;
    margin-bottom:.8rem;
    text-transform:uppercase;
    letter-spacing:1px;
}
.share-buttons{
    display:flex;
    justify-content:center;
    gap:.5rem;
    flex-wrap:wrap;
}
.share-btn{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.5rem 1rem;
    border-radius:4px;
    color:#fff;
    font-size:.8rem;
    font-weight:600;
    transition:all .2s;
    text-decoration:none;
}
.share-btn:hover{opacity:.85;color:#fff;transform:translateY(-1px)}
.share-btn.facebook{background:#3b5998}
.share-btn.twitter{background:#000}
.share-btn.whatsapp{background:#25d366}
.share-btn.linkedin{background:#0077b5}
.share-btn.pinterest{background:#bd081c}
.share-btn.telegram{background:#0088cc}
.share-btn.email{background:#777}
.share-btn svg{width:16px;height:16px;fill:currentColor}

/* ========================================================================
   RELATED POSTS
   ======================================================================== */
.related-posts{
    margin-top:2.5rem;
    padding-top:1.5rem;
    border-top:2px solid #f0f0f0;
}
.related-posts h3{
    font-size:1.1rem;
    margin-bottom:1.2rem;
    color:#1a1a1a;
    text-transform:uppercase;
    letter-spacing:1px;
}
.related-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem;
}
.related-item{
    border-radius:6px;
    overflow:hidden;
    background:#f9f9f9;
    transition:all .2s;
}
.related-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}
.related-item img{
    width:100%;
    height:130px;
    object-fit:cover;
}
.related-item-content{padding:.8rem}
.related-item h4{
    font-size:.85rem;
    line-height:1.4;
}
.related-item h4 a{color:#333}
.related-item h4 a:hover{color:#0073aa}
.related-item .related-date{font-size:.7rem;color:#999;margin-top:.3rem}

/* ========================================================================
   COMMENTS
   ======================================================================== */
.comments-area{
    margin-top:2.5rem;
    padding-top:1.5rem;
    border-top:2px solid #f0f0f0;
}
.comments-title{font-size:1.2rem;margin-bottom:1.5rem}
.comment-list{list-style:none;padding:0}
.comment-list .comment{
    padding:1rem 0;
    border-bottom:1px solid #f0f0f0;
}
.comment-list .children{margin-left:2rem;border-left:2px solid #f0f0f0;padding-left:1rem}
.comment-author{
    display:flex;
    align-items:center;
    gap:.8rem;
    margin-bottom:.5rem;
}
.comment-author img{border-radius:50%;width:40px;height:40px}
.comment-author .fn{font-weight:600;color:#333}
.comment-metadata{font-size:.75rem;color:#999}
.comment-content{font-size:.95rem;margin:.5rem 0}
.comment-reply-link{
    font-size:.8rem;
    color:#0073aa;
    font-weight:600;
}
.comment-respond{margin-top:2rem}
.comment-respond .comment-reply-title{font-size:1.1rem;margin-bottom:1rem}
.comment-form label{display:block;font-weight:600;margin-bottom:.3rem;font-size:.9rem}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
    width:100%;
    padding:.7rem;
    border:1px solid #ddd;
    border-radius:4px;
    font-size:.95rem;
    margin-bottom:1rem;
    font-family:inherit;
    transition:border-color .2s;
}
.comment-form input:focus,
.comment-form textarea:focus{border-color:#0073aa;outline:none}
.comment-form textarea{min-height:120px;resize:vertical}
.comment-form .submit{
    background:#0073aa;
    color:#fff;
    border:none;
    padding:.7rem 2rem;
    border-radius:4px;
    font-size:.95rem;
    font-weight:600;
    cursor:pointer;
    transition:all .2s;
}
.comment-form .submit:hover{background:#005177}

/* ========================================================================
   PAGE NAVIGATION / PAGINATION
   ======================================================================== */
.pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:.3rem;
    margin:2rem 0;
    flex-wrap:wrap;
}
.pagination a,
.pagination span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:38px;
    padding:0 .7rem;
    border-radius:4px;
    font-size:.9rem;
    font-weight:600;
    transition:all .2s;
}
.pagination a{
    background:#fff;
    color:#333;
    border:1px solid #ddd;
}
.pagination a:hover{background:#0073aa;color:#fff;border-color:#0073aa}
.pagination .current{
    background:#0073aa;
    color:#fff;
    border:1px solid #0073aa;
}
.pagination .dots{
    background:transparent;
    border:none;
    color:#999;
}
.post-navigation{
    display:flex;
    justify-content:space-between;
    margin-top:2rem;
    padding-top:1.5rem;
    border-top:1px solid #eee;
    gap:1rem;
}
.post-navigation a{
    flex:1;
    padding:.8rem 1rem;
    background:#f9f9f9;
    border-radius:4px;
    font-size:.85rem;
    transition:all .2s;
}
.post-navigation a:hover{background:#0073aa;color:#fff}
.post-navigation .nav-previous{text-align:left}
.post-navigation .nav-next{text-align:right}
.nav-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;opacity:.7;margin-bottom:.2rem}

/* ========================================================================
   FOOTER
   ======================================================================== */
.site-footer{
    background:#1a1a2e;
    color:#aaa;
    padding:2rem 0;
    margin-top:2rem;
    font-size:.85rem;
}
.footer-inner{
    max-width:820px;
    margin:0 auto;
    padding:0 1rem;
    text-align:center;
}
.footer-social{
    margin-bottom:1rem;
    display:flex;
    justify-content:center;
    gap:.8rem;
}
.footer-social a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:50%;
    background:rgba(255,255,255,.1);
    color:#fff;
    transition:all .2s;
}
.footer-social a:hover{background:#0073aa;transform:translateY(-2px)}
.footer-social svg{width:16px;height:16px;fill:currentColor}
.footer-copyright{color:#777}
.footer-copyright a{color:#aaa}
.footer-copyright a:hover{color:#fff}
.footer-ad{margin-bottom:1.5rem;text-align:center}
.back-to-top{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    background:#0073aa;
    color:#fff;
    border-radius:50%;
    position:fixed;
    bottom:20px;
    right:20px;
    opacity:0;
    visibility:hidden;
    transition:all .3s;
    z-index:999;
    border:none;
    cursor:pointer;
    font-size:1.2rem;
    box-shadow:0 2px 8px rgba(0,0,0,.2);
}
.back-to-top.visible{opacity:1;visibility:visible}
.back-to-top:hover{background:#005177;transform:translateY(-2px)}

/* ========================================================================
   PAGE TEMPLATE
   ======================================================================== */
.page .entry-title{margin-bottom:1.5rem}
.page .entry-content{font-size:1.05rem;line-height:1.8}

/* ========================================================================
   ARCHIVE / SEARCH HEADER
   ======================================================================== */
.archive-header,
.search-header{
    margin-bottom:2rem;
    padding-bottom:1rem;
    border-bottom:2px solid #f0f0f0;
}
.archive-header h1,
.search-header h1{font-size:1.5rem}
.archive-description{color:#666;font-size:.95rem;margin-top:.5rem}

/* ========================================================================
   404 PAGE
   ======================================================================== */
.error-404{text-align:center;padding:3rem 0}
.error-404 h1{font-size:4rem;color:#0073aa;margin-bottom:.5rem}
.error-404 p{color:#666;font-size:1.1rem;margin-bottom:1.5rem}
.error-404 .search-form{max-width:400px;margin:0 auto}

/* ========================================================================
   SEARCH FORM
   ======================================================================== */
.search-form{display:flex;gap:0}
.search-form .search-field{
    flex:1;
    padding:.7rem 1rem;
    border:1px solid #ddd;
    border-right:none;
    border-radius:4px 0 0 4px;
    font-size:.95rem;
    font-family:inherit;
}
.search-form .search-field:focus{border-color:#0073aa;outline:none}
.search-form .search-submit{
    padding:.7rem 1.2rem;
    background:#0073aa;
    color:#fff;
    border:1px solid #0073aa;
    border-radius:0 4px 4px 0;
    font-size:.95rem;
    font-weight:600;
    cursor:pointer;
    font-family:inherit;
    transition:background .2s;
}
.search-form .search-submit:hover{background:#005177}

/* ========================================================================
   ACCESSIBILITY
   ======================================================================== */
.screen-reader-text{
    clip:rect(1px,1px,1px,1px);
    position:absolute;
    height:1px;
    width:1px;
    overflow:hidden;
    word-wrap:normal;
}
.screen-reader-text:focus{
    background:#f1f1f1;
    border-radius:3px;
    box-shadow:0 0 2px 2px rgba(0,0,0,.6);
    clip:auto;
    color:#21759b;
    display:block;
    font-size:.9rem;
    font-weight:700;
    height:auto;
    left:5px;
    line-height:normal;
    padding:15px 23px 14px;
    text-decoration:none;
    top:5px;
    width:auto;
    z-index:100000;
}

/* ========================================================================
   RESPONSIVE
   ======================================================================== */
@media(max-width:768px){
    .header-inner{flex-wrap:wrap}
    .menu-toggle{display:block}
    .main-navigation ul{
        display:none;
        flex-direction:column;
        width:100%;
        padding-top:.5rem;
    }
    .main-navigation.toggled ul{display:flex}
    .main-navigation .sub-menu{
        position:static;
        box-shadow:none;
        border-top:none;
        padding-left:1rem;
    }
    .main-navigation li:hover>.sub-menu{display:none}
    .main-navigation li.toggled-sub>.sub-menu{display:flex}
    .site-content{padding:1.2rem}
    .site-wrapper{padding:0 .5rem}
    .related-grid{grid-template-columns:1fr 1fr}
    .slide-image{height:220px}
    .slide-content{padding:1rem}
    .slide-content h2{font-size:1.1rem}
    .single-post .entry-title{font-size:1.4rem}
    h1{font-size:1.4rem}
    h2{font-size:1.2rem}
    .post-navigation{flex-direction:column}
    .share-btn span.share-text{display:none}
}
@media(max-width:480px){
    .related-grid{grid-template-columns:1fr}
    .slide-image{height:180px}
    body{font-size:.95rem}
    .site-content{padding:1rem;border-radius:0}
    .header-inner{padding:.6rem .8rem}
}

/* ========================================================================
   WORDPRESS GENERATED CLASSES
   ======================================================================== */
.alignleft{float:left;margin:0 1.5rem 1rem 0}
.alignright{float:right;margin:0 0 1rem 1.5rem}
.aligncenter{display:block;margin:1rem auto}
.alignwide{margin-left:-1rem;margin-right:-1rem;max-width:calc(100% + 2rem)}
.wp-caption{max-width:100%;margin:1.5rem 0}
.wp-caption-text{font-size:.8rem;color:#888;text-align:center;padding:.5rem 0}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1.5rem 0}
.gallery-item{margin:0}
.gallery-item img{border-radius:4px}
.sticky .post-item{border:2px solid #0073aa;border-radius:6px;padding:1.5rem}
.wp-block-image figcaption{font-size:.8rem;color:#888;text-align:center;margin-top:.5rem}

/* ========================================================================
   PRINT STYLES
   ======================================================================== */
@media print{
    .site-header,.site-footer,.social-share,.related-posts,.comments-area,
    .ad-slot,.header-ad,.ad-below-title,.ad-in-content,.ad-after-content,
    .back-to-top,.pagination,.post-navigation,.menu-toggle{display:none!important}
    body{background:#fff;color:#000;font-size:12pt}
    .site-content{box-shadow:none;padding:0}
    a{color:#000;text-decoration:underline}
}
