/*
Theme Name: Casagrande ZAP
Theme URI: https://www.luca-casagrande.com
Author: Reinaldo Ferro
Author URI: https://www.luca-casagrande.com
Description: Tema WordPress unificato a blocchi Gutenberg basato sul design system ZAP (fedele a CakePHP + Blog + Press). Supporta sito istituzionale, discografia, gallerie, blog e rassegna stampa con Block Patterns nativi e rewrite URL completi.
Version: 1.3.1
Tested up to: 6.7
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: casagrande-zap
*/

/* ==========================================================================
   NOTA: Tutta la tipografia, l'header, il menu (.ownmenu), lo slider e le
   sezioni ZAP sono gestiti direttamente dai fogli di stile originali del
   sito CakePHP caricati in assets/css/ (main.css, style.css, responsive.css,
   default.css). Qui definiamo solo il supporto ai blocchi Gutenberg e il
   posizionamento della WordPress Admin Bar.
   ========================================================================== */

:root {
    --zap-primary: #efb21a;
    --zap-gold: #cfab62;
    --zap-dark: #141414;
    --zap-light: #ffffff;
}

/* Stili Gutenberg nativi per allineamento a ZAP */
.wp-block-quote {
    border-left: 3px solid var(--zap-primary);
    padding: 20px 30px;
    margin: 30px 0;
    font-style: italic;
    background: #fbfbfb;
}

.wp-block-quote cite {
    font-size: 0.85em;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--zap-primary);
    display: block;
    margin-top: 10px;
}

.wp-block-button__link {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    padding: 12px 28px !important;
    border-radius: 4px !important;
    transition: all 0.3s ease;
}

.is-style-zap-gold .wp-block-button__link {
    background-color: var(--zap-primary) !important;
    color: #fff !important;
}

.is-style-zap-dark .wp-block-button__link {
    background-color: var(--zap-dark) !important;
    color: #fff !important;
}

.is-style-zap-outline .wp-block-button__link {
    background: transparent !important;
    border: 2px solid var(--zap-primary) !important;
    color: var(--zap-primary) !important;
}

/* Previene la deformazione verticale delle immagini con attributi width/height di WordPress */
.portfolio-image img,
.portfolio .item-space .portfolio-item img,
.portfolio-item img,
.team-image img,
.post-img img {
    width: 100%;
    height: auto !important;
}

/* Garantisce che tutte le testate (.sub-banner) e sezioni parallax coprano sempre il 100% dello schermo (anche su monitor > 1920px) */
.sub-banner,
.bg-parallax {
    width: 100% !important;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
}

/* =======================================================
   SUPPORTO PER WORDPRESS ADMIN BAR IN ALTO
   Senza alterare l'header assoluto/trasparente di CakePHP
======================================================= */
#wpadminbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 999999 !important;
}

/* Quando loggato, l'header assoluto (che ha margin-top: 30px in style.css)
   parte sotto i 32px della barra admin di WordPress */
body.admin-bar header.header {
    top: 32px;
}

body.admin-bar .is-sticky .sticky,
body.admin-bar .sticky-wrapper.is-sticky .sticky {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar header.header {
        top: 46px;
    }

    body.admin-bar .is-sticky .sticky,
    body.admin-bar .sticky-wrapper.is-sticky .sticky {
        top: 46px !important;
    }
}

/* =======================================================
   Articolo singolo (Blog / Rassegna Stampa)
   Tipografia di blog_details.html del template ZAP
   ======================================================= */
.single-blog .sub-banner h2,
.single-press .sub-banner h2 {
    font-size: 48px;
    letter-spacing: 2px;
}

/* Il contenuto importato ha molto testo fuori dai <p> (div/span incollati da Facebook):
   il contenitore usa la stessa tipografia dei paragrafi del template */
.blog-detail .entry-content {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    line-height: 30px;
    color: #6f6f6f;
    margin-top: 20px;
}

.blog-detail .entry-content h1,
.blog-detail .entry-content h2,
.blog-detail .entry-content h3,
.blog-detail .entry-content h4,
.blog-detail .entry-content h5,
.blog-detail .entry-content h6 {
    font-family: 'Crimson Text', serif;
    font-weight: normal;
    margin: 50px 0 30px;
}

.blog-detail .entry-content ul,
.blog-detail .entry-content ol {
    padding-left: 20px;
    margin-bottom: 10px;
}

.blog-detail .entry-content ul li { list-style: disc; }
.blog-detail .entry-content ol li { list-style: decimal; }

.blog-detail .entry-content img,
.blog-detail .entry-content iframe {
    max-width: 100%;
    height: auto;
}

@media (max-width: 767px) {
    .single-blog .sub-banner h2,
    .single-press .sub-banner h2 {
        font-size: 28px;
        letter-spacing: 1px;
    }
}
