/*
Theme Name: Comandante Bitta
Theme URI: https://commandantebitta.inarea.me
Description: Tema masonry blog per il Comandante Bitta
Author: CasaInarea
Template: generatepress
Version: 2.0
*/

/* === Reset & Base === */
body {
    background-color: #ffffff !important;
    font-family: "Karla", "Helvetica Neue", Arial, sans-serif;
    color: #56577F;
    line-height: 1.7;
}

/* === Header — Centered, minimal === */
.site-header {
    background: #ffffff !important;
    text-align: center;
    padding: 40px 0 10px;
    border-bottom: none !important;
    box-shadow: none !important;
}

.site-logo img,
.custom-logo {
    max-height: 280px;
    width: auto;
    margin: 0 auto 10px;
    display: block;
}

.site-title {
    font-family: "Playfair Display", "Georgia", serif;
    font-size: 2.8em;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 5px;
}

.site-title a {
    color: #222 !important;
    text-decoration: none !important;
}

.site-description {
    color: #9194A1;
    font-size: 0.95em;
    font-style: italic;
    letter-spacing: 1px;
    margin-bottom: 0;
}

/* === Social icons top right (GP) === */
.top-bar {
    background: transparent !important;
    border: none;
}

/* === Navigation — Clean horizontal === */
.main-navigation,
.main-navigation ul ul {
    background: #ffffff !important;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
}

.main-navigation .main-nav ul li a {
    color: #56577F !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.8em;
    font-weight: 700;
    padding: 15px 20px;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
    color: #F55254 !important;
}

/* === Masonry Grid Layout === */
.site-main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 20px;
}

/* CSS Grid masonry — row order */
.site-main {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.site-main > .post,
.site-main > article {
    margin-bottom: 0;
}

/* === Post Cards === */
article.post,
article.page {
    background: #ffffff;
    border: none;
    box-shadow: none;
    padding: 0 !important;
    margin-bottom: 30px;
}

.separate-containers .inside-article {
    padding: 0 !important;
    border: none;
    box-shadow: none;
}

/* === Featured Image === */
.post-image {
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
}

.post-image img,
article .wp-post-image {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
}

article:hover .wp-post-image,
article:hover .post-image img {
    transform: scale(1.03);
}

/* Date badge overlay */
.entry-meta .posted-on {
    position: relative;
}

/* === Post Content in Card === */
.inside-article .entry-header {
    padding: 20px 20px 0;
}

.entry-title {
    font-family: "Playfair Display", "Georgia", serif;
    font-size: 1.2em;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 8px;
}

.entry-title a {
    color: #333 !important;
    text-decoration: none !important;
}

.entry-title a:hover {
    color: #F55254 !important;
}

/* Meta: category + author */
.entry-meta {
    font-size: 0.78em;
    color: #9194A1;
    letter-spacing: 0.5px;
    padding: 0 20px;
    margin-bottom: 10px;
}

.entry-meta a {
    color: #F55254 !important;
    text-decoration: none;
}

.cat-links a {
    background: none !important;
    color: #9194A1 !important;
    padding: 0;
    font-size: 1em;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.cat-links a::before {
    content: "\25CF ";
    color: #4ECDC4;
    font-size: 0.7em;
}

/* Excerpt */
.entry-summary,
.inside-article .entry-content {
    padding: 0 20px;
    font-size: 0.9em;
    color: #6b6b8a;
    line-height: 1.8;
}

/* Read More link */
.read-more,
a.read-more,
.entry-content a.read-more,
.entry-summary a.read-more {
    display: inline-block;
    padding: 0 20px 20px;
    color: #333 !important;
    font-size: 0.8em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-decoration: none !important;
    transition: color 0.3s;
}

.read-more:hover,
a.read-more:hover {
    color: #F55254 !important;
}

.read-more::after,
a.read-more::after {
    content: " \2192";
    margin-left: 5px;
}

/* === Single Post === */
.single .inside-article {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 20px !important;
}

.single .entry-title {
    font-size: 2em;
    text-align: center;
    margin-bottom: 15px;
}

.single .entry-meta {
    text-align: center;
    margin-bottom: 25px;
}

.single .entry-content {
    font-size: 1.05em;
    padding: 0 !important;
}

.single .entry-content p {
    margin-bottom: 1.5em;
}

/* === Date Badge (masonry style overlay) === */
.posted-on time {
    background: rgba(255, 255, 255, 0.92);
    color: #333;
    padding: 5px 12px;
    font-size: 0.75em;
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* === Footer — Newsletter style === */
.site-footer {
    background: #f8f8f8 !important;
    color: #56577F;
    text-align: center;
    padding: 50px 20px 20px;
    border-top: 1px solid #eee;
}

.site-info {
    background: #333 !important;
    color: #999 !important;
    font-size: 0.8em;
    padding: 15px 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.site-info a {
    color: #ccc !important;
}

/* === Sidebar — Clean === */
.sidebar .widget {
    background: transparent !important;
    border: none;
    box-shadow: none;
}

.sidebar .widget-title {
    font-family: "Playfair Display", "Georgia", serif;
    font-size: 1.1em;
    font-weight: 700;
    color: #333;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 10px;
}

/* === Contact Form === */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
    border: 1px solid #e0e0e0;
    border-radius: 0;
    padding: 12px 15px;
    width: 100%;
    font-family: "Karla", sans-serif;
    font-size: 0.9em;
    color: #56577F;
    background: #f8f8f8;
    transition: border-color 0.3s;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
    border-color: #F55254;
    outline: none;
    background: #fff;
}

.wpcf7-form input[type="submit"] {
    background: #F55254;
    color: #ffffff;
    border: none;
    padding: 12px 40px;
    font-size: 0.85em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    cursor: pointer;
    transition: background 0.3s;
}

.wpcf7-form input[type="submit"]:hover {
    background: #333;
}

/* === Paging Navigation === */
.paging-navigation a {
    color: #56577F;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.85em;
}

.paging-navigation a:hover {
    color: #F55254;
}

/* === Responsive === */
@media (max-width: 1024px) {
    .site-main {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .site-main {
        grid-template-columns: 1fr !important;
    }

    .site-title {
        font-size: 2em;
    }

    .single .entry-title {
        font-size: 1.5em;
    }
}

/* === Headings in content === */
h1, h2, h3, h4, h5, h6 {
    font-family: "Playfair Display", "Georgia", serif;
    color: #333;
}

/* === Blockquote === */
blockquote {
    border-left: 3px solid #F55254;
    background: #f8f8f8;
    padding: 20px 25px;
    font-style: italic;
    color: #666;
    margin: 25px 0;
}

/* === GP overrides === */
.separate-containers .site-main > article,
.separate-containers .page-header {
    margin-bottom: 0 !important;
    box-shadow: none !important;
    border: none !important;
}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation {
    box-shadow: none !important;
    border: none;
}

.one-container .site-content,
.separate-containers .site-main {
    margin-top: 0;
}

/* Hide sidebar on blog listing for full masonry */
.blog .is-right-sidebar,
.archive .is-right-sidebar,
.blog .is-left-sidebar,
.archive .is-left-sidebar {
    display: none;
}

.blog .site-content .content-area,
.archive .site-content .content-area {
    width: 100% !important;
}

/* Hide GP default read-more, keep only custom one */
.entry-summary > p > a.read-more,
.entry-content > p > a.read-more {
    display: none !important;
}

/* Hide author, category labels, comments on listings */
.byline,
.cat-links,
.comments-link,
.entry-meta .author,
.post-categories,
footer.entry-meta {
    display: none !important;
}

/* Hide comment form and section */
.comments-area,
#comments,
.no-comments {
    display: none !important;
}

/* Hide read-more links */
.read-more,
a.read-more,
.entry-content a.read-more,
.entry-summary a.read-more,
.entry-summary > p > a.read-more,
.entry-content > p > a.read-more {
    display: none !important;
}

/* Hide site title text — logo only */
.site-title,
.site-description {
    display: none !important;
}

/* Mobile logo */
@media (max-width: 768px) {
    .site-logo img,
    .custom-logo {
        max-height: 200px;
        max-width: 90%;
    }
    .site-header {
        padding: 15px 0 5px;
    }
}

/* Force hide site title on ALL screens including mobile */
.site-title,
h1.site-title,
p.site-title,
.main-title,
.site-header .site-title,
.site-branding .site-title,
.site-description,
.site-header .site-description {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Remove nav border lines */
.main-navigation,
.main-navigation ul ul,
#site-navigation,
#site-navigation .inside-navigation {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
}

/* Mobile: hide nav items until hamburger toggled */
@media (max-width: 768px) {
    #site-navigation:not(.toggled) .main-nav {
        display: none !important;
    }
}

/* Contact form full width */
.wpcf7 {
    max-width: 800px;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}
.wpcf7-form label {
    display: block;
    width: 100%;
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #56577F;
    margin-bottom: 15px;
}
.wpcf7-form textarea {
    min-height: 150px;
}

/* Single pages (Contatti etc) - no grid, full width */
.page .site-main,
.single .site-main {
    display: block !important;
    grid-template-columns: none !important;
    columns: unset !important;
    max-width: 800px;
    margin: 0 auto;
}


/* Logo left, nav right on same line */
.inside-header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.site-header {
    text-align: left !important;
}
.site-logo {
    margin: 0 auto !important;
}
.site-logo img,
.custom-logo {
    margin: 0 !important;
}

/* Align everything to same width */
.inside-header.grid-container,
.inside-navigation.grid-container,
.site-main {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}


/* Pagination full width under all posts */
.paging-navigation,
.pagination,
nav.navigation {
    grid-column: 1 / -1 !important;
    text-align: center;
    margin-top: 20px;
}
