/* ============================================================
   PLATEAITALIANA — Custom CSS
   Overrides e personalizzazioni sul tema Villareal
   ============================================================ */

/* Footer */
.footer {
    background: #1a1a2e;
    color: #ccc;
    padding: 3rem 0 1.5rem;
    margin-top: 3rem;
}
.footer-inner {}
.footer-widget { margin-bottom: 2rem; }
.footer-widget-title {
    color: #fff;
    font-size: .9rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 700;
    margin-bottom: 1rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.footer-widget p { font-size: .88rem; line-height: 1.7; color: #aaa; }
.footer-widget-list { list-style: none; margin: 0; padding: 0; }
.footer-widget-list li { margin-bottom: .4rem; }
.footer-widget-list a { color: #aaa; text-decoration: none; font-size: .88rem; }
.footer-widget-list a:hover { color: #00e5ff; }
.footer-copyright { color: #666; font-size: .82rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.07); }
.footer-copyright a { color: #00acc1; text-decoration: none; }

/* Listing box label badge colori per categoria */
.listing-box-image-label {
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .06em;
    font-size: .72rem;
}

/* Sidebar widget */
.sidebar .widget { background: #f9f9f9; padding: 1.5rem; border-radius: 3px; margin-bottom: 1.5rem; }
.sidebar .widget-title { font-size: .85rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: #444; margin-bottom: 1rem; padding-bottom: .5rem; border-bottom: 1px solid #e0e0e0; }
.sidebar .widget-list { list-style: none; margin: 0; padding: 0; }
.sidebar .widget-list li { margin-bottom: .4rem; }
.sidebar .widget-list a { color: #555; text-decoration: none; font-size: .9rem; }
.sidebar .widget-list a:hover { color: #00acc1; }

/* Listing description body */
.listing-description { font-size: .97rem; line-height: 1.85; color: #444; }

/* Carousel eventi correlati */
.listing-box-wrapper.listing-box-background { background: none; padding: 0; }

/* Fix galleria immagine principale */
.gallery .gallery-item {
    height: 320px;
    background-size: cover;
    background-position: center;
    border-radius: 3px;
    margin-bottom: 1rem;
}

/* Responsive tweaks */
@media (max-width: 768px) {
    .listing-detail-attributes { flex-wrap: wrap; }
    .gallery .gallery-item { height: 200px; }
}
/* ---- FIX CAROUSEL HOMEPAGE ---- */
.cover-carousel {
    position: relative;
    overflow: hidden;
}

.cover-carousel-item {
    position: relative;
    display: none;
}

.cover-carousel-item:first-child {
    display: block;
}

.cover-title {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background: linear-gradient(transparent, rgba(0,0,0,0.75));
    padding: 3rem 0 2rem;
}

.cover-title h1 {
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: .5rem;
    text-shadow: 0 2px 6px rgba(0,0,0,.5);
}

.cover-title .large {
    color: rgba(255,255,255,.85);
    text-shadow: 0 1px 4px rgba(0,0,0,.5);
}

.cover-image {
    height: 500px;
    background-size: cover;
    background-position: center;
}

/* Nascondi label categoria nel carousel */
.cover-carousel .listing-box-image-label {
    display: none !important;
}

@media (max-width: 768px) {
    .cover-image { height: 300px; }
    .cover-title h1 { font-size: 1.3rem; }
}

/* Fix altezza immagini card eventi */
.listing-box .listing-box-image {
    height: 200px !important;
    background-size: cover !important;
    background-position: center !important;
}

.listing-box-simple .listing-box-image {
    height: 420px !important;
    background-size: cover !important;
    background-position: center !important;
}

/* Card 4 colonne */
.col-md-3 .listing-box .listing-box-image {
    height: 180px !important;
}
/* Fix titolo sovrapposto card piccole destra */
.col-md-6 .col-sm-6 .listing-box-simple .listing-box-image-title {
    background: linear-gradient(transparent, rgba(0,0,0,0.75));
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem .8rem .6rem;
    position: absolute;
}
.col-md-6 .col-sm-6 .listing-box-simple .listing-box-image-title h2 {
    font-size: .85rem;
    color: #fff;
    margin: 0;
    bottom: auto !important;
}
.col-md-6 .col-sm-6 .listing-box-simple .listing-box-image-title h3 {
    font-size: .75rem;
    color: rgba(255,255,255,.8);
    margin: 0;
    bottom: auto !important;
}
