/* Pezzi di GardaAI: copiati dal plugin WordPress "GO Bridge" (stessi colori e misure), letti il 28/10/2026.
   1) box partner "Vivi il Garda" (class-go-partners.php)  2) elenco eventi sotto il widget (class-go-frontend.php)
   3) chat Warda (class-go-warda.php). Il titolo del box aveva lo stile scritto nell'HTML: qui è nella classe .go-discovery-titolo */

.go-discovery-box .go-discovery-titolo { text-align:center !important; color:#fff !important; margin:0 0 20px 0 !important; padding:0 !important; font-size:1.4rem !important; font-weight:700 !important; text-shadow:0 1px 3px rgba(0,0,0,0.2) !important; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif !important; border:none !important; background:none !important; line-height:1.2 !important; }
/* ==============================================
   GO PARTNERS v3 — full-bleed + card alte +1/3
   Card height: 220px → 295px (+34%)
   Mobile:      200px → 265px
   ============================================== */

.go-discovery-box {
    margin: 50px 0 !important;
    padding: 28px 20px !important;
    background-color: #BAD25F !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.10) !important;
}

/* --- Warda banner --- */
.go-discovery-box .go-warda-banner {
    background-color: #0071B9;
    border-radius: 12px;
    padding: 18px 20px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.18);
}
.go-discovery-box .go-warda-inner {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-grow: 1;
    min-width: 0;
}
.go-discovery-box .go-warda-avatar {
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 2px solid #fff !important;
    flex-shrink: 0 !important;
}
.go-discovery-box .go-warda-text {
    color: #fff !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    font-weight: 500 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
.go-discovery-box .go-warda-btn {
    background-color: #fff !important;
    color: #0071B9 !important;
    border: none !important;
    padding: 11px 22px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 0.92rem !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    transition: background 0.2s ease !important;
}
.go-discovery-box .go-warda-btn:hover {
    background-color: #e8f2ff !important;
}

/* --- Box promo Mantova Village (aggiunto 08/08/2026) --- */
.go-discovery-box .go-mv-promo {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    background-color: #012033 !important;
    border-radius: 12px !important;
    padding: 20px 22px !important;
    margin-bottom: 20px !important;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.18) !important;
    transition: transform 0.2s ease !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
.go-discovery-box .go-mv-promo:hover {
    transform: translateY(-2px) !important;
    text-decoration: none !important;
}
.go-discovery-box .go-mv-icon {
    flex-shrink: 0 !important;
    width: 64px !important;
    height: 64px !important;
    border-radius: 12px !important;
    background-color: #BAD25F !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 32px !important;
    line-height: 1 !important;
}
.go-discovery-box .go-mv-body {
    flex: 1 !important;
    min-width: 0 !important;
}
.go-discovery-box .go-mv-badge {
    display: inline-block !important;
    background-color: #BAD25F !important;
    color: #012033 !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    margin-bottom: 8px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
.go-discovery-box .go-mv-title {
    color: #ffffff !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
.go-discovery-box .go-mv-sub {
    color: #89C6EA !important;
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
    margin-top: 3px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
.go-discovery-box .go-mv-cta {
    flex-shrink: 0 !important;
    background-color: #0071B9 !important;
    color: #ffffff !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    padding: 12px 20px !important;
    border-radius: 10px !important;
    white-space: nowrap !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* --- Griglia 3 colonne --- */
.go-discovery-box .go-goc-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
}

/* --- Card --- */
.go-discovery-box .go-goc-card {
    position: relative !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    height: 295px !important;      /* ← +1/3 rispetto a 220px */
    box-shadow: 0 3px 14px rgba(0,0,0,0.18) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
    background: #1a1a1a !important; /* fallback foto assente */
}
.go-discovery-box .go-goc-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.28) !important;
}

/*
   LINK-FOTO: copre tutta la card a z-index 1.
   Cliccando sulla foto → link partner.
   Non contiene testo → nessun override colore dal tema.
*/
.go-discovery-box .go-goc-img-link {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    text-decoration: none !important;
}

/* Immagine full-bleed */
.go-discovery-box .go-goc-img {
    position: absolute !important;
    inset: 0 !important;
    background-size: cover !important;
    background-position: center !important;
    transition: transform 0.35s ease !important;
}
.go-discovery-box .go-goc-card:hover .go-goc-img {
    transform: scale(1.05) !important;
}

/* Gradiente scuro per leggibilità testo */
.go-discovery-box .go-goc-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        to top,
        rgba(0,0,0,0.78) 0%,
        rgba(0,0,0,0.45) 30%,
        rgba(0,0,0,0.0)  55%
    ) !important;
}

/* Badge categoria — z-index 3, sopra al link-foto */
.go-discovery-box .go-goc-badge {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    z-index: 3 !important;
    background: rgba(0,113,185,0.92) !important;
    color: #fff !important;
    font-size: 0.60rem !important;
    font-weight: 700 !important;
    padding: 3px 9px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.7px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;
    pointer-events: none !important; /* non intercetta i click */
}

/* Corpo testo — z-index 3, sopra al link-foto */
.go-discovery-box .go-goc-body {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 3 !important;
    padding: 14px 14px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    pointer-events: none !important; /* il body stesso non blocca il link-foto */
}

/*
   TITOLO: div puro, non h4, non dentro <a>.
   Il tema WP non ha selettori per colorarlo.
   Doppia protezione: classe CSS + inline style nel PHP.
*/
.go-discovery-box .go-goc-card .go-goc-title {
    font-size: 1.0rem !important;   /* leggermente più grande grazie alla card più alta */
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.65) !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Città */
.go-discovery-box .go-goc-card .go-goc-city {
    font-size: 0.70rem !important;
    color: rgba(255,255,255,0.85) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/*
   CTA: <a> sibling (non annidato nel link-foto → HTML valido).
   z-index 4 — cliccabile sopra tutto.
   pointer-events: auto — riattiva i click solo sul pulsante.
*/
.go-discovery-box .go-goc-card .go-goc-cta {
    display: inline-block !important;
    margin-top: 10px !important;
    background-color: #0071B9 !important;
    color: #ffffff !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    box-shadow: 0 3px 10px rgba(0,0,0,0.35) !important;
    transition: background 0.2s ease !important;
    letter-spacing: 0.2px !important;
    align-self: flex-start !important;
    position: relative !important;
    z-index: 4 !important;
    pointer-events: auto !important;
}
.go-discovery-box .go-goc-card .go-goc-cta:hover {
    background-color: #005a96 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}
.go-discovery-box .go-goc-card .go-goc-cta:visited {
    color: #ffffff !important;
}

/* --- Mobile --- */
@media (max-width: 768px) {
    .go-discovery-box .go-goc-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    .go-discovery-box .go-goc-desktop-only {
        display: none !important;
    }
    .go-discovery-box .go-goc-card {
        height: 265px !important;   /* +1/3 rispetto a 200px mobile */
    }
    .go-discovery-box .go-warda-banner {
        flex-direction: column !important;
        text-align: center !important;
    }
    .go-discovery-box .go-warda-inner {
        flex-direction: column !important;
    }
    .go-discovery-box .go-warda-btn {
        width: 100% !important;
    }
    .go-discovery-box .go-mv-promo {
        flex-direction: column !important;
        text-align: center !important;
        gap: 12px !important;
    }
    .go-discovery-box .go-mv-cta {
        width: 100% !important;
        text-align: center !important;
    }
    .go-discovery-box {
        padding: 18px 10px !important;
    }
    .go-discovery-box .go-goc-card .go-goc-title {
        font-size: 0.92rem !important;
    }
    .go-discovery-box .go-goc-card .go-goc-cta {
        font-size: 0.72rem !important;
        padding: 6px 12px !important;
    }
}


/* --- ELENCO TESTUALE EVENTI (patch 3, sotto le card) --- */
    .go-seo-list { margin: 30px 0 10px 0; font-size: 0.95rem; }
    .go-seo-list-title { font-size: 1.1rem; color: #0071B9; margin: 0 0 10px 0; }
    .go-seo-list ul { list-style: none; padding: 0; margin: 0; }
    .go-seo-list li { padding: 6px 0; border-bottom: 1px solid #f0f0f0; line-height: 1.4; }
    .go-seo-list li a { font-weight: 600; color: #222; text-decoration: none; }
    .go-seo-list li a:hover { color: #0071B9; text-decoration: underline; }
    .go-seo-list .go-seo-meta { color: #666; font-size: 0.85rem; }

/* --- WARDA --- */
:root {
        --warda-primary: #0071B9;
        --warda-secondary: #BAD25F;
        --warda-bg: #ffffff;
        --warda-text: #333333;
        --warda-bot-msg: #f4f7f6;
    }
    #warda-fab { position: fixed; bottom: 20px; right: 20px; width: 60px; height: 60px; background-color: var(--warda-primary); border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,0.3); cursor: pointer; display: flex; justify-content: center; align-items: center; z-index: 999999; transition: transform 0.3s ease; }
    #warda-fab:hover { transform: scale(1.05); }
    #warda-fab img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
    #warda-tooltip { position: fixed; bottom: 35px; right: 90px; background: var(--warda-bg); color: var(--warda-primary); padding: 12px 18px; border-radius: 18px; border-bottom-right-radius: 4px; box-shadow: 0 4px 15px rgba(0,0,0,0.15); font-size: 14px; font-weight: 600; z-index: 999998; cursor: pointer; opacity: 0; transform: translateY(10px); animation: tooltipPopIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 3s forwards; display: flex; align-items: center; gap: 12px; border: 2px solid var(--warda-secondary); font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
    #warda-tooltip::after { content: ''; position: absolute; bottom: 8px; right: -10px; width: 0; height: 0; border-top: 8px solid transparent; border-left: 10px solid var(--warda-secondary); border-bottom: 8px solid transparent; }
    #warda-tooltip.warda-hidden { display: none !important; }
    .warda-tooltip-close { color: #999; font-size: 18px; line-height: 1; padding-left: 5px; border-left: 1px solid #eee; }
    .warda-tooltip-close:hover { color: #333; }
    @keyframes tooltipPopIn { to { opacity: 1; transform: translateY(0); } }
    #warda-chat-window { position: fixed; bottom: 90px; right: 20px; width: 380px; height: 600px; max-height: calc(100vh - 120px); background: var(--warda-bg); border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); display: none; flex-direction: column; z-index: 999999; overflow: hidden; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; border: 1px solid #eaeaea; }
    #warda-chat-window.warda-open { display: flex; animation: slideUp 0.3s ease-out forwards; }
    @keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
    #warda-header { background-color: var(--warda-primary); color: white; padding: 15px 20px; display: flex; align-items: center; justify-content: space-between; }
    .warda-header-left { display: flex; align-items: center; gap: 12px; }
    #warda-avatar { width: 40px; height: 40px; border-radius: 50%; background-color: white; display: flex; justify-content: center; align-items: center; overflow: hidden; border: 2px solid var(--warda-secondary); }
    #warda-avatar img { width: 100%; height: 100%; object-fit: cover; }
    #warda-header-info h3 { margin: 0; font-size: 16px; font-weight: 600; color: white; line-height: 1.2; }
    #warda-header-info p { margin: 2px 0 0; font-size: 12px; color: #e0f0ff; }
    #warda-close-btn { background: none; border: none; color: white; font-size: 24px; cursor: pointer; line-height: 1; }
    #warda-chat-box { flex-grow: 1; padding: 20px; overflow-y: auto; display: flex; flex-direction: column; gap: 15px; scroll-behavior: smooth; }
    .warda-message { max-width: 85%; padding: 12px 16px; border-radius: 12px; font-size: 14.5px; line-height: 1.5; animation: fadeInWarda 0.3s ease-in-out; word-wrap: break-word; }
    @keyframes fadeInWarda { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
    .warda-msg-user { align-self: flex-end; background-color: var(--warda-primary); color: white; border-bottom-right-radius: 2px; }
    .warda-msg-bot { align-self: flex-start; background-color: var(--warda-bot-msg); color: var(--warda-text); border-bottom-left-radius: 2px; }
    .warda-msg-bot a { color: var(--warda-primary); font-weight: bold; }
    .warda-msg-bot a.link-microsito { display: block; margin-top: 15px; text-align: center; background-color: var(--warda-secondary); color: #fff; padding: 12px 20px; border-radius: 8px; text-decoration: none; font-weight: bold; box-shadow: 0 4px 6px rgba(0,0,0,0.1); transition: background-color 0.2s; }
    .warda-msg-bot a.link-microsito:hover { background-color: #9eb54d; }
    .warda-typing { font-style: italic; color: #888; font-size: 13px; align-self: flex-start; }
    .warda-email-offer { align-self: flex-start; background-color: var(--warda-bot-msg); color: var(--warda-text); border-radius: 12px; border-bottom-left-radius: 2px; max-width: 85%; padding: 12px 16px; font-size: 14.5px; line-height: 1.5; animation: fadeInWarda 0.3s ease-in-out; margin-top: 8px; }
    .warda-btn-email { display: inline-block; margin-top: 10px; padding: 8px 16px; border-radius: 20px; border: 2px solid var(--warda-primary); background: white; color: var(--warda-primary); font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s; }
    .warda-btn-email:hover { background: var(--warda-primary); color: white; }
    .warda-email-form-inline { margin-top: 10px; }
    .warda-email-form-inline input[type="email"] { width: 100%; padding: 8px 12px; border: 1px solid #ddd; border-radius: 20px; font-size: 13px; outline: none; margin-bottom: 8px; box-sizing: border-box; }
    .warda-email-form-inline input[type="email"]:focus { border-color: var(--warda-primary); }

    /* ===== BOX INIZIALI ===== */
    /* DESKTOP: carosello orizzontale con peek (bordo card successiva che sbuca) */
    #warda-boxes-wrap { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding: 4px 2px 10px; -webkit-overflow-scrolling: touch; }
    #warda-boxes-wrap::-webkit-scrollbar { height: 4px; }
    #warda-boxes-wrap::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }
    .warda-box-screen { flex: 0 0 92%; scroll-snap-align: start; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .warda-box { position: relative; display: block; border-radius: 12px; overflow: hidden; text-decoration: none; aspect-ratio: 1 / 1; box-shadow: 0 2px 6px rgba(0,0,0,0.12); transition: transform 0.15s; }
    .warda-box:hover { transform: translateY(-2px); }
    .warda-box-img { position: absolute; inset: 0; background-size: cover; background-position: center; }
    .warda-box-name { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 10px 8px; color: #fff; font-size: 13px; font-weight: 700; line-height: 1.2; background: linear-gradient(to top, rgba(0,0,0,0.75), rgba(0,0,0,0)); }
    .warda-boxes-title { font-size: 13px; font-weight: 700; color: var(--warda-primary); margin: 4px 2px 6px; }
    /* Pallini (desktop) */
    .warda-dots { display: flex; justify-content: center; gap: 6px; margin: 6px 0 2px; }
    .warda-dot { width: 7px; height: 7px; border-radius: 50%; background: #ccc; transition: background 0.2s; }
    .warda-dot.active { background: var(--warda-primary); }

    #warda-input-area { display: flex; padding: 15px; background: #fff; border-top: 1px solid #eaeaea; gap: 10px; }
    #warda-user-input { flex-grow: 1; padding: 12px 15px; border: 1px solid #ddd; border-radius: 25px; outline: none; font-size: 14px; transition: border-color 0.2s; box-shadow: none; width: 100%; }
    #warda-user-input:focus { border-color: var(--warda-primary); }
    #warda-send-btn { background-color: var(--warda-primary); color: white; border: none; width: 45px; height: 45px; border-radius: 50%; cursor: pointer; display: flex; justify-content: center; align-items: center; transition: background-color 0.2s; flex-shrink: 0; }
    #warda-send-btn:hover { background-color: #005a96; }
    #warda-send-btn svg { width: 20px; height: 20px; fill: white; margin-left: 3px; }

    @media (max-width: 768px) {
        #warda-chat-window { top: 0; bottom: 0; left: 0; right: 0; width: auto; height: auto; max-height: none; border-radius: 0; border: none; margin: 0; box-sizing: border-box; padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); background-color: var(--warda-primary); }
        #warda-chat-box { background-color: var(--warda-bg); }
        #warda-input-area { background-color: var(--warda-bg); }
        #warda-fab { bottom: 90px; right: 15px; }
        #warda-tooltip { bottom: 100px; right: 85px; font-size: 13px; padding: 10px 14px; }

        /* MOBILE: griglia verticale unica 2 colonne x 4 righe. Le due
           "schermate" si sciolgono in un'unica griglia continua. */
        #warda-boxes-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; overflow-x: visible; scroll-snap-type: none; padding: 4px 2px 10px; }
        .warda-box-screen { display: contents; }
        .warda-box { aspect-ratio: 1 / 1; width: 100%; max-width: 220px; justify-self: center; }
        .warda-box-name { font-size: clamp(13px, 3.6vw, 16px); padding: 20px 10px 10px; }
        .warda-dots { display: none; } /* niente pallini su mobile: e' verticale */
    }

/* box degli eventi del plugin GO Bridge (class-go-frontend.php enqueue_assets, regole copiate identiche il 29/10) */
.go-tech-box h3 { margin-top: 0; margin-bottom: 15px; font-size: 1.1rem; color: #0071B9; text-transform: uppercase; border-bottom: 1px solid #e9ecef; padding-bottom: 10px; }
.go-tech-list li { font-size: 0.95rem; display: flex; align-items: center; background: rgba(255,255,255,0.5); padding: 8px; border-radius: 4px; }
.go-tech-list li .go-icon { margin-right: 12px; font-size: 1.4rem; min-width: 30px; text-align: center; }
.go-footer-box { margin-top: 40px; border-top: 1px solid #eee; padding-top: 20px; font-size: 0.9rem; color: #555; background: #fff; }
.go-disclaimer-text { font-style: italic; margin-bottom: 15px; line-height: 1.5; color: #777; font-size: 0.85rem; }
.go-credits { margin-bottom: 10px; font-weight: 600; font-size: 0.8rem; text-transform: uppercase; color: #888; }
.go-source-link { margin-bottom: 15px; font-weight: bold; }
.go-source-link a { text-decoration: underline; color: #0071B9; }
.go-service-provider { display: flex; align-items: center; font-size: 0.8rem; color: #888; margin-top: 20px; border-top: 1px dotted #eee; padding-top: 10px; }
.go-service-provider img { height: 25px !important; width: auto !important; margin-left: 10px; opacity: 0.8; vertical-align: middle; }
.go-service-provider a { color: #0071B9; text-decoration: none; margin-left: 5px; font-weight: 600; }
