/*
Theme Name:   AISLA-V2
Theme URI:    https://sitiassociazioni.it
Description:  Child theme Astra per AISLA Firenze APS — framework Pelican v2.4.1
Author:       Siti Associazioni
Author URI:   https://sitiassociazioni.it
Template:     astra
Version:      1.0.0
Text Domain:  aisla-v2
*/

/* ============================================================
   VARIABILI CSS — PALETTE AISLA-V2
   Sincronizzate con config-associazione.php
   ============================================================ */

:root {
    /* Brand colors */
    --color-primary:    #25654B; /* Verde AISLA — link, enfasi, pulsanti CTA  */
    --color-secondary:  #2A2A2A; /* Quasi nero  — link hover, intestazioni     */
    --color-accent:     #E5E5E5; /* Grigio chiaro — bordi, sfondi alternati    */

    /* Testo */
    --color-text:       #333333;
    --color-text-light: #666666;

    /* Sfondi */
    --color-bg-main:    #ffffff;
    --color-bg-alt:     #F7F7F7;

    /* Spaziature */
    --aisla-spacing-small:  10px;
    --aisla-spacing-medium: 20px;
    --aisla-spacing-large:  40px;
    --aisla-border-radius:  6px;
}

/* ============================================================
   TIPOGRAFIA — Intestazioni
   ============================================================ */

h1, h2, h3, h4, h5, h6,
.ast-page-title {
    color: var(--color-secondary); /* #2A2A2A */
}

/* ============================================================
   LINK
   ============================================================ */

a {
    color: var(--color-primary); /* #25654B */
    transition: color 0.25s ease;
}

a:hover,
a:focus {
    color: var(--color-secondary); /* #2A2A2A */
    text-decoration: underline;
}

/* ============================================================
   ENFASI / HIGHLIGHTS
   ============================================================ */

strong, b,
.ast-highlight,
mark {
    color: var(--color-primary); /* #25654B */
}

/* ============================================================
   PULSANTI CTA (Gutenberg + Astra)
   ============================================================ */

.wp-block-button__link,
.ast-button,
.button,
.btn {
    background-color: var(--color-primary);
    color: #ffffff;
    border-radius: var(--aisla-border-radius);
    padding: 12px 26px;
    border: none;
    transition: background-color 0.25s ease, transform 0.2s ease;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}

.wp-block-button__link:hover,
.ast-button:hover,
.button:hover,
.btn:hover {
    background-color: var(--color-secondary);
    color: #ffffff;
    transform: translateY(-2px);
    text-decoration: none;
}

/* ============================================================
   BORDI — Separatori, card, sezioni
   ============================================================ */

hr,
.wp-block-separator {
    border-color: var(--color-accent); /* #E5E5E5 */
}

.wp-block-group,
.wp-block-column {
    border-color: var(--color-accent);
}

/* ============================================================
   MENU DI NAVIGAZIONE — Override Astra
   ============================================================ */

.main-header-menu .menu-item > a,
.main-header-menu .menu-item > .ast-menu-toggle {
    color: var(--color-secondary);
}

.main-header-menu .menu-item > a:hover,
.main-header-menu .menu-item.current-menu-item > a {
    color: var(--color-primary);
}

/* Sottolineatura attiva voce corrente */
.main-header-menu .current-menu-item > a::after {
    background-color: var(--color-primary);
}

/* ============================================================
   HEADER — Bordo inferiore
   ============================================================ */

.site-header,
#masthead {
    border-bottom: 2px solid var(--color-accent); /* #E5E5E5 */
}

/* ============================================================
   FOOTER
   ============================================================ */

.site-footer,
#colophon {
    border-top: 2px solid var(--color-accent);
}

/* ============================================================
   SFONDI ALTERNATIVI
   ============================================================ */

.section-alt,
.wp-block-group.has-ast-global-color-background {
    background: var(--color-bg-alt);
    padding: var(--aisla-spacing-large) var(--aisla-spacing-medium);
}

/* ============================================================
   IFRAME WINDDOC RESPONSIVE
   ============================================================ */

.iframe-winddoc-wrapper {
    position:      relative;
    width:         100%;
    height:        600px;
    overflow:      hidden;
    margin:        var(--aisla-spacing-medium) 0;
    border-radius: var(--aisla-border-radius);
    background:    var(--color-bg-alt);
    border:        1px solid var(--color-accent);
}

.iframe-winddoc-wrapper iframe {
    width:  100%;
    height: 100%;
    border: 0;
}

@media (max-width: 768px) {
    .iframe-winddoc-wrapper { height: 500px; }
    h1 { font-size: 1.8rem; }
    h2 { font-size: 1.5rem; }
}

/* ============================================================
   RESET POST-ELEMENTOR
   Neutralizza stili residui lasciati da Elementor nel DOM
   ============================================================ */

.elementor-section,
.elementor-container,
.elementor-row,
.elementor-column,
.elementor-widget-wrap {
    padding:   unset;
    margin:    unset;
    width:     unset;
    max-width: unset;
}

/* ============================================================
   ACCESSIBILITÀ
   ============================================================ */

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    outline:        2px solid var(--color-primary);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration:        0.01ms !important;
        animation-iteration-count: 1      !important;
        transition-duration:       0.01ms !important;
    }
}

/* ============================================================
   UTILITIES
   ============================================================ */

img          { height: auto; max-width: 100%; }
.text-center { text-align: center; }
.mt-medium   { margin-top:    var(--aisla-spacing-medium); }
.mb-medium   { margin-bottom: var(--aisla-spacing-medium); }
