/**
 * BBAdria Theme - Stili Globali
 * Stili base applicati a tutto il sito
 * 
 * NOTA: Il reset CSS base (*, html, body, h1-h6, p) 
 * è definito in style.css per evitare duplicazioni
 * 
 * @package BBAdria
 */

/* ========== ELEMENTI COMUNI ========== */

/* Small Text / Tagline */
.title small,
small.tagline {
    font-family: var(--font-body);
    font-size: var(--font-size-small);
    font-weight: var(--font-weight-semibold);
    color: var(--color-cta-secondary);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-wider);
    display: block;
}

/* Sezioni con Titolo */
.title {
    margin-bottom: var(--spacing-xl);
}

.title.text-center {
    text-align: center;
}

.title h2 {
    margin-bottom: 0;
    font-family: var(--font-heading);
    font-size: var(--font-size-h2);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-secondary);
}

.title h2 span {
    color: var(--color-cta-primary);
}

/* ========== PULSANTI ========== */

.btn_1{
    display: inline-block;
    padding: 14px 32px;
    font-family: var(--font-body);
    font-size: var(--font-size-normal);
    font-weight: var(--font-weight-semibold);
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--transition-normal);
    line-height: 1;
    text-transform: uppercase;
    background-color: var(--color-cta-primary);
    color: var(--color-white);
}

.btn_1:hover{
    background-color: var(--color-cta-primary-hover);
    color: var(--color-white);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 90, 112, 0.3);
}

/* Pulsante Outline */
.btn_1.outline{
    background-color: transparent;
    border: 2px solid var(--color-cta-primary);
    color: var(--color-cta-primary);
}

.btn_1.outline:hover{
    background-color: var(--color-cta-primary);
    color: var(--color-white);
}

section {
    padding: var(--section-padding-desktop) 0;
}

/* Sezioni senza background - usano margin per collasso naturale */
.intro-section {
    padding: 0;
    margin: var(--section-margin-desktop) 0;
}

@media (max-width: 991px) {
    section {
        padding: var(--section-padding-tablet) 0;
    }
    .intro-section {
        margin: var(--section-margin-tablet) 0;
    }
}

@media (max-width: 767px) {
    section {
        padding: var(--section-padding-mobile) 0;
    }
    .intro-section {
        margin: var(--section-margin-mobile) 0;
    }
}

.bg_white {
    background-color: var(--color-white);
}

.bg_grey {
    background-color: var(--color-bg-main);
}

/* ========== SEPARATORI ========== */

hr,
.separator {
    border: none;
    height: 1px;
    background-color: var(--color-structural);
    opacity: 0.3;
    margin: var(--spacing-xl) 0;
}

/* ========== IMMAGINI ========== */

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Default image shadow and utilities
   - Images get a subtle shadow by default for visual consistency
   - Use `.no-shadow` to remove it, or `.img-shadow` for a stronger shadow
*/
img {
    box-shadow: var(--shadow-sm);
}

.no-shadow,
.img-no-shadow {
    box-shadow: none !important;
}

.img-shadow {
    box-shadow: var(--shadow-md) !important;
}

/* Background-image elements (divs using background-image) should also show the default shadow */
.background-image,
.bg-img {
    box-shadow: var(--shadow-sm);
    border-radius: inherit;
    display: block;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

.rounded-img {
    border-radius: var(--radius-lg);
}

/* ========== LISTE ========== */

ul.list-unstyled {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 767px) {
    .btn_1 {
        padding: 12px 24px;
        font-size: var(--font-size-small);
    }
}

/* ========== UTILITY CLASSES ========== */

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.mb-3 {
    margin-bottom: var(--spacing-md);
}

.mb-5 {
    margin-bottom: var(--spacing-xl);
}

.mt-2 {
    margin-top: var(--spacing-sm);
}

.mt-4 {
    margin-top: var(--spacing-lg);
}

/* ========== STILI BLOCCHI GUTENBERG ========== */

/* Citazione (Quote Block) */
blockquote,
.wp-block-quote {
    background-color: var(--color-cream);
    border-left: 4px solid var(--color-cta-secondary);
    margin: var(--spacing-lg) 0;
    padding: var(--spacing-lg);
    padding-left: calc(var(--spacing-lg) + 30px); /* Spazio extra per le virgolette */
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    font-style: italic;
    position: relative;
    overflow: hidden; /* Contiene le virgolette decorative */
}

.wp-block-quote::before {
    content: '"';
    font-family: var(--font-heading);
    font-size: 80px;
    color: var(--color-cta-secondary);
    opacity: 0.3;
    position: absolute;
    top: 0;
    left: 15px;
    line-height: 1;
}

.wp-block-quote p {
    font-family: var(--font-heading);
    font-size: var(--font-size-large);
    color: var(--color-text-secondary);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--spacing-sm);
}

.wp-block-quote cite,
.wp-block-quote footer {
    display: block;
    font-family: var(--font-body);
    font-size: var(--font-size-small);
    font-style: normal;
    font-weight: var(--font-weight-semibold);
    color: var(--color-cta-secondary);
    margin-top: var(--spacing-sm);
    padding-left: var(--spacing-lg);
}

.wp-block-quote cite::before,
.wp-block-quote footer::before {
    content: '— ';
}

/* Citazione Large */
.wp-block-quote.is-style-large,
.wp-block-quote.is-large {
    padding: var(--spacing-xl);
    border-left-width: 6px;
}

.wp-block-quote.is-style-large p,
.wp-block-quote.is-large p {
    font-size: var(--font-size-h4);
}

/* Citazione Plain */
.wp-block-quote.is-style-plain {
    border-left: none;
    background: none;
    padding-left: 0;
}

.wp-block-quote.is-style-plain::before {
    display: none;
}

.wp-block-quote.is-style-plain p {
    padding-left: 0;
}

/* Pullquote */
.wp-block-pullquote {
    border-top: 4px solid var(--color-cta-secondary);
    border-bottom: 4px solid var(--color-cta-secondary);
    padding: var(--spacing-xl) 0;
    margin: var(--spacing-xl) 0;
    text-align: center;
}

.wp-block-pullquote blockquote {
    border: none;
    background: none;
    padding: 0;
    margin: 0;
}

.wp-block-pullquote blockquote::before {
    display: none;
}

.wp-block-pullquote blockquote p {
    font-family: var(--font-heading);
    font-size: var(--font-size-h3);
    color: var(--color-text-secondary);
    font-style: italic;
    padding-left: 0;
}

.wp-block-pullquote cite {
    font-family: var(--font-body);
    font-size: var(--font-size-normal);
    font-style: normal;
    font-weight: var(--font-weight-semibold);
    color: var(--color-cta-secondary);
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* Separatori */
.wp-block-separator {
    border: none;
    height: 1px;
    background-color: var(--color-structural);
    opacity: 0.3;
    margin: var(--spacing-xl) 0;
}

.wp-block-separator.is-style-wide {
    width: 100%;
}

.wp-block-separator.is-style-dots {
    background: none;
    text-align: center;
}

.wp-block-separator.is-style-dots::before {
    content: '···';
    color: var(--color-structural);
    font-size: 24px;
    letter-spacing: 12px;
}

/* Immagini */
.wp-block-image figcaption {
    font-size: var(--font-size-small);
    color: var(--color-grey-medium);
    text-align: center;
    margin-top: var(--spacing-sm);
    font-style: italic;
}

/* Tabelle */
.wp-block-table table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--spacing-md) 0;
}

.wp-block-table th,
.wp-block-table td {
    padding: var(--spacing-sm);
    border: 1px solid var(--color-grey-light);
    text-align: left;
}

.wp-block-table th {
    background-color: var(--color-cream);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-secondary);
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: var(--color-bg-main);
}

/* Cover */
.wp-block-cover {
    border-radius: var(--radius-lg);
    overflow: hidden;
}

/* Gallery */
.wp-block-gallery {
    gap: var(--spacing-sm);
}

.wp-block-gallery .wp-block-image {
    border-radius: var(--radius-md);
    overflow: hidden;
}
