/*
Theme Name: Enfold Child
Description: A <a href='http://codex.wordpress.org/Child_Themes'>Child Theme</a> for the Enfold Wordpress Theme.
Version: 1.0
Author: Kriesi
Template: enfold
*/

/* ==============================================
   VARIABILI COLORI (Modifica qui per cambiare tutto)
   ============================================== */
:root {
    --colore-primario: #C5A059;    /* Rosso (Pulsanti) */
    --colore-secondario: #C5A059;  /* ORA È ORO (Era blu) */
    --colore-testo: #ededed;       /* Testo scuro (ora chiaro)*/
    --colore-sfondo-box: #000000;  /* Sfondo card (ora scuro)*/
    --colore-etichetta: #FF9800;   /* Arancione (Classe Energetica) */
}

/* ==============================================
   SCHEDA IMMOBILE - REGOLE GENERALI
   ============================================== */

/* Contenitore Header (Titolo + Prezzo) */
.immobile-header {
    display: flex; 
    justify-content: space-between; 
    align-items: flex-end;
    margin-bottom: 20px; 
    border-bottom: 1px solid #eee; 
    padding-bottom: 15px;
}

/* --- NUOVO: RIDUZIONE TITOLO --- */
/* Impostiamo il titolo a 26px (o meno se preferisci) invece dello standard gigante */
.immobile-header .post-title {
    font-size: 32px !important; 
    line-height: 1.3em !important;
    margin-bottom: 5px !important;
    font-weight: 600 !important;
    text-transform: none !important; /* Toglie il tutto maiuscolo se presente */
}

/* Prezzo */
.main-price { 
    font-size: 28px; 
    font-weight: 700; 
    color: var(--colore-testo); 
    white-space: nowrap; /* Evita che il prezzo vada a capo */
}

.section-title { border-bottom: 1px solid #eee; padding-bottom: 10px; margin-bottom: 20px; }


/* ==============================================
   SCHEDA IMMOBILE - ELEMENTI
   ============================================== */

/* --- GALLERIA --- */
.gallery-mosaic {
    display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 250px 250px;
    gap: 8px; margin-bottom: 25px; border-radius: 8px; overflow: hidden;
    background: #000000; /* Grigio se non carica le foto */
    min-height: 250px;   /* Altezza minima per non collassare */
}
.gallery-mosaic a { display: block; background-size: cover; background-position: center; position: relative; }
.gallery-mosaic .main-photo { grid-column: 1 / 2; grid-row: 1 / 3; }
.more-photos {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5); color: #fff;
    display: flex; justify-content: center; align-items: center; font-weight: bold; font-size: 18px;
}
/* --- FIX OVERLAY GALLERIA MOSAICO --- */

/* 1. Nasconde l'overlay rotto di Enfold (freccia/cerchio) solo nel mosaico */
.gallery-mosaic .image-overlay {
    display: none !important;
}

/* 2. Aggiunge un effetto hover fluido e moderno (Zoom leggero + Luminosità) */
.gallery-mosaic a {
    transition: all 0.4s ease;
    overflow: hidden; /* Assicura che lo zoom resti nel box */
    display: block;
    box-sizing: border-box;
}

.gallery-mosaic a:hover {
    transform: scale(1.02); /* Leggerissimo zoom */
    opacity: 0.9;           /* Leggera trasparenza */
    box-shadow: 0 5px 15px rgba(0,0,0,0.2); /* Ombra per dare profondità */
    z-index: 2; /* Porta l'immagine sopra le altre durante lo zoom */
    cursor: pointer;
}

/* 3. Assicura che l'area cliccabile sia corretta */
.gallery-mosaic a.avia-gallery-img {
    position: relative;
    height: 100%;
    width: 100%;
}


/* Mobile fix */
@media only screen and (max-width: 767px) {
    .gallery-mosaic { grid-template-columns: 1fr; grid-template-rows: 250px; }
    .gallery-mosaic a:not(.main-photo) { display: none; }
    /* Su mobile riduciamo ulteriormente il titolo */
    .immobile-header .post-title { font-size: 22px !important; }
    .immobile-header { flex-direction: column; align-items: flex-start; }
}

/* --- BARRA ICONE --- */
.icon-bar-strip { display: flex; gap: 30px; padding: 15px 0; border-bottom: 1px solid #eee; margin-bottom: 30px; color: #555; }
.icon-item { display: flex; align-items: center; gap: 6px; font-size: 15px; }
.icon-item .dashicons { color: var(--colore-secondario); font-size: 22px; }

/* --- GRIGLIE E LISTE --- */
.features-grid { display: flex; flex-wrap: wrap; margin-top: 20px; }
.f-col { width: 48%; margin-right: 2%; }
.f-row { display: flex; justify-content: space-between; border-bottom: 1px solid #f0f0f0; padding: 10px 0; font-size: 14px; }
.f-row .label { color: #888; }
.f-row .value { font-weight: 600; color: var(--colore-testo); }
.badge-classe { background: var(--colore-etichetta); color: white; padding: 2px 6px; border-radius: 4px; font-size: 12px; }

.extra-features-list { display: flex; flex-wrap: wrap; padding: 0; list-style: none; margin-top: 10px; }
.extra-features-list li {
    background: #f9f9f9; padding: 6px 12px; border-radius: 4px;
    margin: 0 10px 10px 0; font-size: 13px; color: #555; border: 1px solid #eee;
}

/* --- CARD LATERALE --- */
.sticky-card {
    position: -webkit-sticky; position: sticky; top: 110px;
    background: var(--colore-sfondo-box); border: 1px solid #ddd;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05); padding: 25px; border-radius: 8px; z-index: 99;
}
.btn-contact { display: block; text-align: center; padding: 14px; border-radius: 4px; font-weight: bold; text-decoration: none !important; margin-bottom: 10px; font-size: 14px; transition: 0.3s; }

/* Pulsante Primario (Rosso) */
.btn-main { background-color: var(--colore-primario); color: #fff !important; }
.btn-main:hover { opacity: 0.9; color: #fff; }

/* Pulsante Secondario (Bianco/Rosso) */
.btn-sec { background-color: #fff; color: var(--colore-primario) !important; border: 1px solid var(--colore-primario); }
.btn-sec:hover { background-color: #f9f9f9; }

.download-link { color: var(--colore-secondario); text-decoration: none; display: flex; align-items: center; justify-content: center; font-weight: 600; }
.agency-logo { text-align: center; margin-top: 20px; color: #999; font-size: 12px; }

/* --- FIX VISIBILITÀ IMMAGINE LIGHTBOX --- */

/* 1. Assicuriamo che il contenitore principale stia sopra a tutto il sito */
.mfp-wrap {
    z-index: 100000 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.mfp-bg {
    z-index: 99999 !important;
    opacity: 0.8 !important; /* Sfondo scuro semitrasparente */
}

/* 2. Forza l'immagine ad apparire */
.mfp-img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 100001 !important; /* Deve stare sopra l'overlay */
    
    /* Reset di dimensioni che a volte Enfold azzera */
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    padding: 40px 0 !important;
    margin: 0 auto !important;
}

/* 3. Assicura che il contenitore dell'immagine non sia nascosto */
.mfp-content, 
.mfp-figure {
    opacity: 1 !important;
    visibility: visible !important;
    vertical-align: middle !important;
}

/* 4. Nascondi il preloader se si è bloccato */
.mfp-preloader {
    display: none !important;
}
/* --- TRANSIZIONE LIGHTBOX FLUIDA (Fade) --- */
/* ... (MANTENERE TUTTO IL CODICE PRECEDENTE) ... */

/* ==============================================
   ANIMAZIONI LIGHTBOX (Morbide e fluide)
   ============================================== */

/* 1. ANIMAZIONE SFONDO SCURO (Overlay) */
/* Stato iniziale (invisibile) */
.mfp-zoom-in.mfp-bg {
	opacity: 0;
	transition: all 0.3s ease-out;
}
/* Stato attivo (visibile) */
.mfp-zoom-in.mfp-ready.mfp-bg {
	opacity: 0.8 !important; /* Opacità finale */
}
/* Stato chiusura */
.mfp-zoom-in.mfp-removing.mfp-bg {
	opacity: 0;
}

/* 2. ANIMAZIONE IMMAGINE (Zoom + Dissolvenza) */
/* Stato iniziale: piccola e trasparente */
.mfp-zoom-in .mfp-with-anim {
	opacity: 0;
	transition: all 0.3s ease-in-out; 
	transform: scale(0.8); 
}

/* Stato attivo: dimensione normale e opaca */
.mfp-zoom-in.mfp-ready .mfp-with-anim {
	opacity: 1;
	transform: scale(1); 
}

/* Stato chiusura: torna piccola */
.mfp-zoom-in.mfp-removing .mfp-with-anim {
	transform: scale(0.8); 
	opacity: 0;
}

/* 3. FIX PER L'ELEMENTO CONTENITORE IMMAGINE */
/* Assicura che l'animazione si applichi al contenitore giusto */
.mfp-zoom-in .mfp-figure {
    opacity: 0;
    transition: all 0.3s ease-in-out;
    transform: scale(0.9);
}
.mfp-zoom-in.mfp-ready .mfp-figure {
    opacity: 1;
    transform: scale(1);
}
.mfp-zoom-in.mfp-removing .mfp-figure {
    transform: scale(0.9);
    opacity: 0;
}
/* ==============================================
   ELEMENTI GENERALI SITO
   ============================================== */

/* MENU HEADER TRASPARENTE & SPAZIATURA */
#top .av_header_transparency .av-main-nav > li > a .avia-menu-text {
    color: #f6f5f3 !important;
    font-weight: 500;
}
#top .av_header_transparency .av-main-nav > li > a:hover .avia-menu-text {
    color: #C5A059 !important;
}
.av-main-nav > li > a {
    padding: 0 35px !important;
    font-size: 15px !important;
}
.av-main-nav > li.av-menu-button > a {
    padding: 0 20px !important; 
    margin-left: 15px;
}
.av_header_transparency .av-main-nav > li > a {
    border: none !important;
}

/* TOP BAR TRASPARENTE */
#header_meta, .header_meta, .header_meta_container, #header_meta .container {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
}
.header_color .header_meta, .av_header_transparency #header_meta {
    background: transparent !important;
}
#top .social_bookmarks li a svg, #top .social_bookmarks li a svg * {
    fill: #c7a462 !important; color: #c7a462 !important; opacity: 1 !important;
}
#top .social_bookmarks li a:hover svg, #top .social_bookmarks li a:hover svg * {
    fill: #ffffff !important; color: #ffffff !important; opacity: 1 !important;
}


/* ==============================================
   HOME PAGE
   ============================================== */

/* EFFETTO SLIDER CON CORNICE ORO SFALSATA */
.foto-cornice-oro {
    overflow: visible !important;
    z-index: 1;
}
.foto-cornice-oro .avia-slideshow {
    width: 85% !important; float: right; overflow: visible !important;
}
.foto-cornice-oro .avia-slideshow:before {
    content: ""; position: absolute;
    top: 25px; left: -25px;
    width: 100%; height: 100%;
    border: 2px solid #C5A059;
    z-index: -1; pointer-events: none;
}
@media only screen and (max-width: 767px) {
    .foto-cornice-oro .avia-slideshow { width: 100% !important; float: none; margin-bottom: 20px; }
    .foto-cornice-oro .avia-slideshow:before { top: 10px; left: -10px; }
}

/* STILE CARD IMMOBILI (MASONRY MOCKUP) */
.av-masonry-entry {
    background-color: #000 !important;
    box-shadow: 0 0 20px rgba(0,0,0,0.05);
}
.av-inner-masonry-content {
    padding: 20px !important; background: #333 !important;
}
.av-masonry-entry-title {
    font-family: 'Century Gothic', 'Futura', sans-serif !important;
    font-size: 18px !important;
    font-weight: 400; 
    color: #000;
    margin-bottom: 10px;
    text-transform: none !important;
}
/* Nascondi la data nella griglia Masonry */
.av-masonry-date {
    display: none !important;
}

/* (Opzionale) Se usi anche la griglia classica blog e vuoi toglierla anche lì */
.slide-meta, .post-meta-infos time {
    display: none !important;
}

.slide-entry-excerpt {
    display: none !important;
}

/* PREZZO SULLA FOTO */
.av-masonry-entry-content strong {
    position: absolute !important;
    top: -50px; right: 0;
    background: rgba(0,0,0,0.4);
    color: #fff !important;
    padding: 5px 15px;
    font-size: 16px; font-weight: 400;
    pointer-events: none;
}
.av-masonry-entry-content {
    font-size: 13px; line-height: 1.6em; color: #666; margin-top: 5px;
    border-bottom: 1px solid transparent;
}
/* Fix overflow per far uscire il prezzo */
.av-masonry-entry-content {
    position: relative !important; 
    overflow: visible !important;
    z-index: 5;
}
/* Fix posizione prezzo quando esce */
.av-masonry-entry-content strong {
    position: absolute !important;
    bottom: 100% !important; top: auto !important; /* Reset top */
    right: 0 !important;
    background: #333333; /* Sfondo scuro */
    color: #ffffff !important;
    padding: 10px 20px;
    font-size: 16px; font-weight: 400; letter-spacing: 1px;
    margin-bottom: 0px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}


/* FIX DEFINITIVO FOTO RECENSIONI (Versione Gold) */
/* --- FRECCE AI LATI DEL BOX --- */

/* Stile base delle frecce */
.box-recensioni .avia-slideshow-arrows a {
    position: absolute !important;
    top: 50% !important;            /* Posiziona a metà altezza */
    bottom: auto !important;        /* Annulla il posizionamento inferiore */
    transform: translateY(-50%);    /* Centra verticalmente in modo perfetto */
    background: transparent !important;
    color: #C5A059 !important;      /* Colore Oro */
    opacity: 0.8 !important;        /* Leggera trasparenza per eleganza */
    visibility: visible !important;
    width: 50px; height: 50px;      /* Area cliccabile un po' più grande */
    font-size: 30px;                /* Grandezza dell'icona freccia */
    line-height: 50px;              /* Centra l'icona nell'area */
}

/* Effetto al passaggio del mouse */
.box-recensioni .avia-slideshow-arrows a:hover {
    opacity: 1 !important;
    transform: translateY(-50%) scale(1.1); /* Leggero ingrandimento */
}

/* Posizione Freccia SINISTRA (fuori dal box) */
.box-recensioni .prev-slide {
    left: -60px !important;         /* Sposta a sinistra fuori dal grigio */
    right: auto !important;
}

/* Posizione Freccia DESTRA (fuori dal box) */
.box-recensioni .next-slide {
    right: -60px !important;        /* Sposta a destra fuori dal grigio */
    left: auto !important;
}

/* --- MOBILE FIX (Importante) --- */
/* Su schermi piccoli le frecce esterne verrebbero tagliate. 
   Le rimettiamo ai bordi interni del box. */
@media only screen and (max-width: 767px) {
    .box-recensioni .prev-slide { 
        left: 0 !important; 
        background: rgba(255,255,255,0.5) !important; /* Sfondo semitrasparente per leggereggibilità */
    }
    .box-recensioni .next-slide { 
        right: 0 !important; 
        background: rgba(255,255,255,0.5) !important;
    }
}
.box-recensioni, .box-recensioni * { overflow: visible !important; }
.box-recensioni { border-radius: 30px !important; position: relative !important; z-index: 10 !important; }
.box-recensioni .avia-testimonial-content {
    background: transparent !important; box-shadow: none !important; border: none !important;
    padding: 0 10px !important; text-align: center !important;
}
.box-recensioni .avia-arrow { display: none !important; }
.box-recensioni .avia-testimonial-content p { font-size: 18px; line-height: 1.6em; color: #555; }
.box-recensioni .avia-testimonial-meta { margin-top: 15px !important; margin-bottom: 0 !important; text-align: center !important; }
.box-recensioni .avia-testimonial-name {
    color: #C5A059 !important; font-weight: 700; font-size: 15px;
    text-transform: uppercase; display: block; margin-bottom: 2px !important;
}
.box-recensioni .avia-testimonial-subtitle { color: #999 !important; font-size: 13px; display: block; }
.box-recensioni .avia-testimonial-image {
    position: absolute !important; bottom: -100px !important; left: 50% !important;
    transform: translateX(-50%) !important; width: 80px !important; height: 80px !important;
    float: none !important; border-radius: 50%; border: 5px solid #C5A059 !important;
    z-index: 500 !important; opacity: 1 !important; display: block !important;
}
.box-recensioni .avia-slideshow-arrows a {
    position: absolute !important; top: auto !important; bottom: -20px !important;
    background: transparent !important; color: #C5A059 !important;
    opacity: 1 !important; visibility: visible !important; width: 80px; height: 80px;
}
.box-recensioni .prev-slide { left: calc(50% - 200px) !important; } 
.box-recensioni .next-slide { right: calc(50% - 200px) !important; }




/* ==============================================
   FOOTER
   ============================================== */
#footer {
    background-color: #000000 !important;
    border-top: 1px solid #000000; 
    padding: 50px 0 30px 0;
}
#footer h3.widgettitle {
    font-weight: 700; text-transform: none; color: #fff !important;
    font-size: 16px; margin-bottom: 20px;
}
#footer .widget p, #footer .widget a, #footer .widget li {
    font-size: 14px; color: #6c6c6c !important; line-height: 1.8em; text-align: justify;
}
#footer .widget a:hover { color: #C5A059 !important; text-decoration: none; }
#footer .widget_nav_menu ul li { border: none !important; padding: 0 0 8px 0 !important; }
#footer .widget_nav_menu ul li:before { display: none !important; }
#socket { background-color: #000000 !important; border-top: 1px solid #000000; }
#socket .copyright, #socket a { color: #999 !important; font-size: 12px; }