/**
 * Bizdash Common Styles
 * Usa esclusivamente Bizdash Design System (BDS).
 * Tutte le variabili sono in formato --bz-*.
 *
 * IMPORTANTE: Questo file è per stili condivisi tra template.
 * Le variabili sono definite in bds/_variables.css
 */

/* ========== PULSANTI BASE ========== */
/* Classe .fbz-btn per tutti i pulsanti CTA */
.fbz-btn,
.dda-modal-cta,
.omaggio-sticky-cta,
.omaggio-cta-btn,
.libro-cta-btn,
.libro-formats-btn,
[class*="-cta"],
[class*="-btn"]:not(.dda-play-btn):not(.omaggio-play-btn):not(.dda-header-menu):not(.dda-modal-close):not([class*="-play"]) {
    font-family: var(--bz-font-heading) !important;
}

/* Stile pulsante primario - WCAG Touch Target (44px) */
.fbz-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--bz-space-2);
    min-height: var(--bz-btn-height-md);  /* 44px WCAG minimum */
    padding: var(--bz-space-3) var(--bz-space-8);
    font-family: var(--bz-font-heading);
    font-size: var(--bz-text-base);
    font-weight: 600;
    color: #ffffff !important;
    background: var(--bz-primary);
    text-decoration: none;
    border: none;
    border-radius: var(--bz-radius-full);
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 4px 15px var(--bz-primary-alpha-40);
}

.fbz-btn-primary:hover {
    background: var(--bz-primary-600);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px var(--bz-primary-alpha-40);
}

/* Large primary button for CTAs */
.fbz-btn-primary--lg {
    min-height: var(--bz-btn-height-lg);  /* 52px */
    font-size: var(--bz-text-lg);
    padding: var(--bz-space-4) var(--bz-space-10);
}

/* Extra large primary button for Hero CTAs */
.fbz-btn-primary--xl {
    min-height: var(--bz-btn-height-xl);  /* 60px */
    font-size: var(--bz-text-xl);
    padding: var(--bz-space-5) var(--bz-space-12);
}

/* Stile pulsante secondario - WCAG Touch Target (44px) */
.fbz-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--bz-space-2);
    min-height: var(--bz-btn-height-md);  /* 44px WCAG minimum */
    padding: var(--bz-space-3) var(--bz-space-8);
    font-family: var(--bz-font-heading);
    font-size: var(--bz-text-base);
    font-weight: 600;
    color: var(--bz-primary);
    background: transparent;
    text-decoration: none;
    border: 2px solid var(--bz-primary);
    border-radius: var(--bz-radius-full);
    cursor: pointer;
    transition: all 0.2s ease;
}

.fbz-btn-secondary:hover {
    background: var(--bz-primary);
    color: #ffffff !important;
}

/* Large secondary button */
.fbz-btn-secondary--lg {
    min-height: var(--bz-btn-height-lg);  /* 52px */
    font-size: var(--bz-text-lg);
    padding: var(--bz-space-4) var(--bz-space-10);
}

/* ========== HEADER TITLES ========== */
.dda-header-title,
.libro-header-title,
[class*="-header-title"] {
    font-family: var(--bz-font-heading) !important;
}

/* ========== TITOLI SEZIONI ========== */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--bz-font-heading);
}

/* Titoli specifici con serif per contenuto editoriale */
.dda-title,
.omaggio-title,
.libro-title,
.omaggio-content h1,
.omaggio-content h2,
.dda-content h1,
.dda-content h2 {
    font-family: var(--bz-font-serif);
}

/* ========== NAV ITEMS ========== */
.dda-header-nav-item,
.dda-nav-btn,
[class*="-nav-item"],
[class*="-nav-btn"] {
    font-family: var(--bz-font-body);
}

/* ========== MODAL TITLES ========== */
.dda-modal-title {
    font-family: var(--bz-font-heading);
}

.dda-modal-card-title {
    font-family: var(--bz-font-serif);
}

/* ========== PURPLE BUTTONS: WHITE TEXT HARDCODED ========== */
/* Garantisce testo bianco su tutti i pulsanti viola, anche in dark mode */
.dda-modal-cta,
.dda-nav-btn,
.dda-play-btn,
.dda-audio-play,
.omaggio-sticky-cta,
.omaggio-cta-btn,
.libro-cta-btn,
.libro-formats-btn,
.dda-comment-submit,
.dda-comment-form input[type='submit'],
.dda-footer-nav-item:hover .dda-footer-nav-label,
[class*="-cta"][style*="background"],
button[style*="background: var(--bz-primary)"],
a[style*="background: var(--bz-primary)"] {
    color: #ffffff !important;
}
