/*
Theme Name: Il Quadro Quadrato
Theme URI: https://ilquadroquadrato1.evohosting.it
Description: Tema figlio di Twenty Twenty-Five per Il Quadro Quadrato, quadri in legno intarsiato e dipinti su tavola. Palette calda a essenze di legno, tipografia Playfair Display + Manrope. Tutte le pagine restano modificabili con l'editor di WordPress.
Author: EvoHosting
Template: twentytwentyfive
Version: 1.0
Text Domain: quadro-quadrato
*/

/* ---------- Testata ---------- */
.testata-qq {
    background: rgba(250, 246, 239, 0.94);
    backdrop-filter: blur(6px);
    border-bottom: 1px solid #E3D7C2;
    position: sticky;
    top: 0;
    z-index: 90;
}
.testata-qq .wp-block-navigation a {
    text-decoration: none;
    font-weight: 600;
    font-size: 0.97rem;
    color: #2A211A;
}
.testata-qq .wp-block-navigation a:hover { color: #8A5A2B; }
.testata-qq .wp-block-site-title a {
    text-decoration: none;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.45rem;
    font-weight: 600;
    color: #2A211A;
    letter-spacing: -0.01em;
}

/* ---------- Testi ricorrenti ---------- */
.sopratitolo {
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.78rem !important;
    font-weight: 700;
    color: #8A5A2B;
    margin-bottom: 0.6rem !important;
}
.occhiello {
    font-size: 1.18rem !important;
    line-height: 1.65;
    color: #574636;
}
.filetto::after {
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    background: #C9922F;
    margin-top: 1.1rem;
    border-radius: 2px;
}
.filetto.has-text-align-center::after { margin-left: auto; margin-right: auto; }

/* ---------- Copertina ---------- */
.copertina-qq { min-height: 74vh; }
.copertina-qq .wp-block-cover__inner-container { max-width: 780px; }
.copertina-qq h1 { text-shadow: 0 2px 22px rgba(20, 12, 6, 0.55); }

/* ---------- Schede opera ---------- */
.scheda-opera {
    background: #FFFFFF;
    border: 1px solid #EADFCB;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 26px rgba(60, 40, 20, 0.07);
    transition: transform .25s ease, box-shadow .25s ease;
    height: 100%;
}
.scheda-opera:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(60, 40, 20, 0.13);
}
.scheda-opera figure { margin: 0 !important; }
.scheda-opera figure img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}
.scheda-opera .corpo-scheda { padding: 1.5rem 1.6rem 1.8rem; }
.scheda-opera h3 { margin: 0 0 .45rem !important; font-size: 1.32rem !important; }
.scheda-opera p { margin: 0 0 .4rem !important; font-size: 1rem; color: #574636; }
.scheda-opera .misura {
    font-size: 0.88rem !important;
    color: #8A6B4C;
    letter-spacing: 0.02em;
}

/* ---------- Riquadri chiari ---------- */
.riquadro {
    background: #F5EDE0;
    border: 1px solid #E7D9C2;
    border-radius: 14px;
    padding: 2rem 2.1rem;
    height: 100%;
}
.riquadro h3 { margin-top: 0 !important; }
.numero-passo {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 2.6rem;
    line-height: 1;
    color: #C9922F;
    font-weight: 600;
    display: block;
    margin-bottom: .5rem;
}

/* ---------- Segnaposto da completare ---------- */
.da-compilare {
    background: #FFF6E0;
    border: 1px dashed #C9922F;
    border-radius: 12px;
    padding: 1.4rem 1.6rem;
    color: #6B5027;
}
.da-compilare p { margin: 0 !important; }

/* ---------- Piede ---------- */
.piede-qq a { color: #F3E9DA; }
.piede-qq .sopratitolo { color: #D9A94E; }

/* ---------- Modulo contatti (Contact Form 7) ---------- */
/* wpautop chiude tutti i campi in un unico <p>: la griglia va sui figli. */
.modulo-qq {
    background: #FFFFFF;
    border: 1px solid #EADFCB;
    border-radius: 16px;
    padding: 2.2rem 2.2rem 2.4rem;
    box-shadow: 0 12px 30px rgba(60, 40, 20, 0.07);
}
.modulo-qq label {
    display: block;
    font-weight: 600;
    font-size: 0.95rem;
    margin-bottom: 1.1rem;
    color: #2A211A;
}
.modulo-qq input[type="text"],
.modulo-qq input[type="email"],
.modulo-qq input[type="tel"],
.modulo-qq select,
.modulo-qq textarea {
    box-sizing: border-box;
    width: 100%;
    margin-top: .35rem;
    padding: .8rem .95rem;
    border: 1px solid #DCCDB4;
    border-radius: 9px;
    background: #FDFAF5;
    font: inherit;
    font-size: 1rem;
    color: #2A211A;
}
.modulo-qq textarea { min-height: 150px; resize: vertical; }
.modulo-qq input:focus,
.modulo-qq select:focus,
.modulo-qq textarea:focus {
    outline: 2px solid #C9922F;
    outline-offset: 1px;
    border-color: #C9922F;
}
.modulo-qq .griglia { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.3rem; }
.modulo-qq .griglia > p { margin: 0; }
.modulo-qq .consenso { font-weight: 400; font-size: 0.92rem; color: #574636; }
.modulo-qq .consenso .wpcf7-list-item { margin: 0; }
.modulo-qq input[type="submit"] {
    background: #8A5A2B;
    color: #FDFAF5;
    border: 0;
    border-radius: 999px;
    padding: .95rem 2.4rem;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    transition: background .2s ease;
}
.modulo-qq input[type="submit"]:hover { background: #5B3A1C; }
.modulo-qq .wpcf7-not-valid-tip { color: #A3341F; font-size: .88rem; }
.modulo-qq .wpcf7-response-output {
    border-radius: 10px;
    border-width: 1px;
    padding: .9rem 1.1rem !important;
    margin: 1.4rem 0 0 !important;
}

@media (max-width: 781px) {
    /* Testata su una riga sola: marchio a sinistra, menu e pulsante a destra. */
    .testata-qq .wp-block-group.alignwide { flex-wrap: nowrap; }
    .testata-qq .wp-block-group.alignwide > .wp-block-group { align-items: center; flex-wrap: nowrap; }
    .testata-qq .wp-block-site-title a { font-size: 1rem; white-space: nowrap; }
    .testata-qq .wp-block-site-logo img { width: 40px; }
    .testata-qq .wp-block-button__link { padding-left: 1.1rem !important; padding-right: 1.1rem !important; font-size: 0.88rem !important; }

    .modulo-qq .griglia { grid-template-columns: 1fr; }
    .copertina-qq { min-height: 62vh; }
    .modulo-qq { padding: 1.5rem 1.3rem 1.8rem; }
    .riquadro { padding: 1.5rem 1.4rem; }
}
