/**
 * Main Styles — tipografia Dante
 */

:root {
    --font-title: "DM Serif Display", serif;
    --font-body: "Coming Soon", cursive;
    --font-hand: "Patrick Hand SC", cursive;
    --font-sans: "Yuyu", sans-serif;

    /* Palette temporanea B/N — da rifinire dopo */
    --color-bg: #ffffff;
    --color-bg-alt: #f5f5f5;
    --color-text: #000000;
    --color-text-muted: #666666;
    --color-inverse: #ffffff;
    --color-border: #e0e0e0;
    --color-accent: #000000;
    --color-accent-hover: #222222;
}

.dm-serif-display-regular {
    font-family: "DM Serif Display", serif;
    font-weight: 400;
    font-style: normal;
}

.caveat-brush-regular {
    font-family: "Caveat Brush", cursive;
    font-weight: 400;
    font-style: normal;
}

.yuyu-regular {
    font-family: "Yuyu", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.coming-soon-regular {
    font-family: "Coming Soon", cursive;
    font-weight: 400;
    font-style: normal;
}

.patrick-hand-sc-regular {
    font-family: "Patrick Hand SC", cursive;
    font-weight: 400;
    font-style: normal;
}

/* Testo del sito — NON applicare a #wpadminbar */
body,
.site,
.site-header,
.site-footer,
.site-main,
.entry-content,
p, span, div, a, li, td, th, label, input, textarea, select, button,
.hero-text,
.text-image-text,
.card-text,
.card-short-description {
    font-family: var(--font-body);
}

/* Pulsanti CTA: squadrati, font corpo bold */
.dpb-button,
.hero-button,
.card-button,
.dpb-contact-form__submit,
.form-submit,
.form-catering-submit {
    font-family: var(--font-body) !important;
    font-weight: 400 !important;
    font-size: 1.20rem !important;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1.05rem 1.6rem !important;
    border-radius: 0 !important;
    text-decoration: none;
    text-align: center;
    box-sizing: border-box;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.dpb-button:hover,
.hero-button:hover,
.card-button:hover {
    background-color: #000 !important;
    color: #fff !important;
    box-shadow: none;
}

.dpb-contact-form__submit:hover,
.form-submit:hover,
.form-catering-submit:hover {
    background-color: #fff !important;
    color: #000 !important;
    box-shadow: inset 0 0 0 2px #000;
}

.dpb-button__icon,
.dpb-contact-form__submit-icon {
    width: 1.1em;
    height: 1.1em;
    object-fit: contain;
    flex-shrink: 0;
    display: block;
}

.dpb-button__label {
    line-height: 1.2;
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

html {
    background: transparent;
    overflow-x: hidden;
    width: 100%;
    max-width: 100vw;
}

body {
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    line-height: 1.6;
    color: var(--color-text);
    background: var(--color-bg);
    overflow-x: hidden;
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
}

* {
    box-sizing: border-box;
}

/* Titoli: DM Serif Display */
h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title,
.page-h1,
.hero-title,
.text-image-title,
.card-title,
.text-title,
.text-subtitle {
    font-family: var(--font-title);
    font-weight: 400;
    font-style: normal;
}

/*
 * H1 pagina = titolo WP.
 * Con hero: sopra l’immagine, colore a contrasto (come logo).
 * Senza hero: stessa gerarchia tipografica, in alto nel content.
 */
.page-h1 {
    margin: 0;
    font-size: clamp(2.25rem, 5vw, 3.5rem);
    line-height: 1.15;
    font-weight: 400;
}

.page-h1--standalone {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.5rem 2rem 1.25rem;
    color: #000;
    box-sizing: border-box;
}

/*
 * H1 pagina su hero: stessa misura dell’H2, SEMPRE a sinistra
 * (non eredita l’allineamento del blocco hero — quello vale solo per titolo/testo del blocco).
 */
.page-h1--on-hero,
.hero-content .page-h1--on-hero,
.hero-content-center .page-h1--on-hero,
.hero-content-left .page-h1--on-hero {
    margin: 0 0 1.5rem;
    color: #000;
    font-size: 3.5rem !important;
    font-weight: 400;
    line-height: 1.2;
    font-family: var(--font-title);
    width: 100%;
    text-align: left !important;
}

body.has-top-hero.logo-on-dark .page-h1--on-hero {
    color: #fff;
}

body.has-top-hero.logo-on-light .page-h1--on-hero {
    color: #000;
}

@media (max-width: 768px) {
    .page-h1--standalone {
        padding: 2rem 1.5rem 1rem;
    }
}

@media (max-width: 480px) {
    .page-h1--standalone {
        padding: 1.5rem 1rem 0.75rem;
    }
}

/*
 * Barra admin WordPress: font di sistema WP, mai i font del sito.
 * Deve stare dopo le regole body/div/a con specificità sufficiente.
 */
#wpadminbar,
#wpadminbar *:not(img):not(svg):not(path) {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
}

/* Header fisso - NON aggiungere padding per evitare scatti */
/* Il menu fisso è position: fixed quindi non occupa spazio nel layout */

/* Footer styles sono in footer.css */

/* Blocco quote: stili in assets/css/components/quote.css */
