/*!
Theme Name: Anima Venezia Child
Theme URI: https://www.animavenezia.it/
Description: Child theme di Divi per animavenezia.it. Tutte le personalizzazioni (CSS, template, funzioni) vanno qui, così gli aggiornamenti di Divi non le sovrascrivono.
Author: Anima Venezia
Template: Divi
Version: 1.0.0
License: GNU General Public License v2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: animavenezia-child
*/

/* ==========================================================================
   PERSONALIZZAZIONI CSS
   --------------------------------------------------------------------------
   Divi carica automaticamente lo style.css del tema genitore PRIMA di questo
   file, quindi qui basta scrivere solo le regole che vuoi cambiare/aggiungere.
   ========================================================================== */

/* Esempio: decommenta e adatta.
.et_pb_button {
    border-radius: 4px;
}
*/

/* ==========================================================================
   CPT VISITE — singola visita + galleria
   ========================================================================== */

/* Pagina visita a tutta larghezza (niente sidebar per dare spazio alla galleria). */
.single-visite #left-area {
    width: 100%;
    padding-right: 0;
}
.single-visite #sidebar {
    display: none;
}

/* Data della visita */
.av-visita-data {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .3px;
    text-transform: capitalize;
    opacity: .8;
    margin: 4px 0 18px;
}

/* Immagine di copertina */
.av-visita-cover {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    margin-bottom: 24px;
}

.av-visita-descrizione {
    margin-bottom: 34px;
}

/* --- Griglia galleria --- */
.av-visite-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

@media (max-width: 980px) {
    .av-visite-gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .av-visite-gallery { grid-template-columns: 1fr; }
}

.av-gallery-item {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    aspect-ratio: 4 / 3;
    background: #eee;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

.av-gallery-item .av-gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s ease, filter .45s ease;
}

.av-gallery-item:hover .av-gallery-img {
    transform: scale(1.06);
    filter: brightness(.92);
}

/* Piccola lente in hover per suggerire il click/zoom */
.av-gallery-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/><line x1="11" y1="8" x2="11" y2="14"/><line x1="8" y1="11" x2="14" y2="11"/></svg>') center no-repeat;
    opacity: 0;
    transition: opacity .35s ease;
}
.av-gallery-item:hover::after {
    opacity: 1;
    background-color: rgba(0, 0, 0, .18);
}

/* ==========================================================================
   CPT VISITE — archivio / elenco (griglia di card)
   ========================================================================== */

.single-visite #left-area,
.post-type-archive-visite #left-area {
    width: 100%;
    padding-right: 0;
}
.post-type-archive-visite #sidebar {
    display: none;
}

/* Nasconde la linea divisoria verticale della sidebar (non serve senza sidebar) */
.single-visite #main-content .container:before,
.post-type-archive-visite #main-content .container:before {
    display: none;
}

.av-archive-title {
    margin-bottom: 28px;
}

/* Spazio prima del footer (evita che le card restino attaccate, soprattutto da mobile) */
.single-visite #main-content,
.post-type-archive-visite #main-content {
    padding-bottom: 80px;
}
@media (max-width: 980px) {
    .single-visite #main-content,
    .post-type-archive-visite #main-content {
        padding-bottom: 60px;
    }
}

.av-visite-archive {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

@media (max-width: 980px) {
    .av-visite-archive { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .av-visite-archive { grid-template-columns: 1fr; }
}

.av-visita-card {
    margin: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .08);
    transition: transform .3s ease, box-shadow .3s ease;
}
.av-visita-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .14);
}

.av-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.av-card-media {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #ececec;
}
.av-card-media .av-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}
.av-visita-card:hover .av-card-img {
    transform: scale(1.05);
}

/* Placeholder quando non c'è né immagine in evidenza né galleria */
.av-card-noimg {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #e8e8e8, #d3d3d3);
}

.av-card-body {
    padding: 16px 18px 20px;
}
.av-card-title {
    font-size: 20px;
    line-height: 1.25;
    margin: 0 0 6px;
}
.av-card-data {
    font-size: 13px;
    font-weight: 600;
    text-transform: capitalize;
    opacity: .7;
    margin: 0 0 10px;
}
.av-card-excerpt {
    font-size: 14px;
    line-height: 1.5;
    opacity: .85;
    margin: 0;
}
