/**
 * Dettaglio immobile — personalizzazioni child theme (hello-elementor-child)
 * Caricato dopo property.css del plugin Agim.
 */

#immobile-dettaglio.agim-property-detail,
.dettaglio-corpo.agim-property-detail__body {
    --agim-detail-primary: #002c50;
    --agim-detail-primary-light: #004a7c;
    --agim-detail-primary-rgb: 0, 44, 80;
    --agim-detail-text: #1e293b;
    --agim-detail-muted: #64748b;
    --agim-detail-border: #e2e8f0;
    --agim-detail-surface: #ffffff;
    --agim-detail-bg: #f5f7fa;
    --agim-detail-radius: 12px;
    --agim-detail-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
}

/* Scheda immobile luxury: tutti i #002c50 → #121212 */
body.luxury {
    --agim-detail-primary: #121212;
    --agim-detail-primary-light: #333333;
    --agim-detail-primary-rgb: 18, 18, 18;
}

body.luxury #immobile-dettaglio.agim-property-detail,
body.luxury .dettaglio-corpo.agim-property-detail__body {
    --agim-detail-primary: #121212;
    --agim-detail-primary-light: #333333;
    --agim-detail-primary-rgb: 18, 18, 18;
}

/* Pagina — larghezza e spaziatura */
#immobile-dettaglio.agim-property-detail {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.25rem;
}

.dettaglio-corpo.agim-property-detail__body {
    background: #ffffff !important;
    padding: 3rem 0;
}

/* Breadcrumb */
#immobile-dettaglio.agim-property-detail #breadcrumbs {
    font-size: 0.85rem;
    color: var(--agim-detail-muted);
}

#immobile-dettaglio.agim-property-detail #breadcrumbs a {
    color: var(--agim-detail-primary);
    text-decoration: none;
}

#immobile-dettaglio.agim-property-detail #breadcrumbs a:hover {
    color: var(--agim-detail-primary-light);
}

/* Titolo e prezzo */
#immobile-dettaglio.agim-property-detail .title-property {
    font-family: "Bodoni Moda", Sans-serif !important;
    font-weight: 400;
    color: #ffffff !important;
    font-size: 3rem !important;
    padding: 12px 0 !important;
    margin: 0 !important;
}

#immobile-dettaglio.agim-property-detail .agim-property-detail__price {
    color: var(--agim-detail-primary);
    font-family: "Lato", sans-serif;
    font-weight: 800;
    padding: 12px 0;
}

/* Badge rif / contratto */
#immobile-dettaglio.agim-property-detail .labels .rental {
    background: var(--agim-detail-primary);
    color: #fff;
}

#immobile-dettaglio.agim-property-detail .labels .rif {
    background: rgba(var(--agim-detail-primary-rgb), 0.08);
    color: var(--agim-detail-primary);
}

#immobile-dettaglio.agim-property-detail .agim-property-detail__address .address {
    color: var(--agim-detail-muted);
    font-size: 0.95rem;
}

#immobile-dettaglio.agim-property-detail .agim-property-detail__address .address i {
    color: var(--agim-detail-primary);
}

/* Galleria */
#immobile-dettaglio.agim-property-detail .agim-property-detail__gallery-wrap {
    margin: 0.75rem 0 1rem;
}

#property-top .agim-property-gallery--slider .slider-property-gallery {
    border-radius: var(--agim-detail-radius);
    overflow: hidden;
}

.agim-property-gallery--slider .agim-property-gallery__slide img {
    height: min(62vh, 560px);
    min-height: 280px;
}

.agim-property-gallery--slider .property-gallery-pager .slick-current .property-gallery-thumb img,
.agim-property-gallery--slider .property-gallery-pager .property-gallery-thumb.slick-current img {
    border-color: #000000;
    border-radius: 4px;
}

.agim-property-gallery--slider .property-gallery-pager .property-gallery-thumb img {
    width: 100%;
    height: 115px;
    object-fit: cover;
    border: 2px solid #ffffff;
    box-sizing: border-box;
    display: block;
    border-radius: 4px;
}

.agim-property-gallery--slider .slick-prev i,
.agim-property-gallery--slider .slick-next i {
    color: var(--agim-detail-primary);
}

/* Gallery: freccia destra sempre dentro il viewport (tablet/mobile) */
#property-gallery-main {
    min-width: 0 !important;
    max-width: 100%;
    width: 100%;
}

.agim-property-gallery--slider .slider-property-gallery {
    position: relative;
    max-width: 100%;
}

.agim-property-gallery--slider .slider-property-gallery .slick-prev,
.agim-property-gallery--slider .slider-property-gallery .slick-next {
    z-index: 5;
}

.agim-property-gallery--slider .slider-property-gallery .slick-next {
    right: 0.75rem;
}

.agim-property-gallery--slider .slider-property-gallery .slick-prev {
    left: 0.75rem;
}

@media (max-width: 1024px) {
    .agim-property-gallery--slider .slider-property-gallery .slick-next {
        right: 0.5rem;
    }

    .agim-property-gallery--slider .slider-property-gallery .slick-prev {
        left: 0.5rem;
    }
}

.agim-property-gallery--grid .property-gallery-grid__item {
    border-radius: 8px;
    overflow: hidden;
}

/* Icone caratteristiche rapide */
#immobile-dettaglio.agim-property-detail .agim-property-detail__features {
    gap: 0.85rem;
    padding: 0.5rem 0 1.5rem;
}

#immobile-dettaglio.agim-property-detail .agim-property-detail__features .single-feature {
    border: 1px solid var(--agim-detail-border);
    border-radius: 10px;
    box-shadow: var(--agim-detail-shadow);
}

#immobile-dettaglio.agim-property-detail .agim-property-detail__features .all-text-feature b {
    color: var(--agim-detail-primary);
}

#immobile-dettaglio.agim-property-detail .agim-property-detail__features .all-text-feature span {
    color: var(--agim-detail-muted);
    font-size: 0.78rem;
}

#immobile-dettaglio.agim-property-detail .agim-property-detail__features .all-text-feature i {
    color: var(--agim-detail-primary);
}

/* Corpo — griglia contenuto + sidebar */
.dettaglio-corpo.agim-property-detail__body > .wrapper {
    max-width: 1200px;
    gap: 1.5rem;
}

.dettaglio-corpo.agim-property-detail__body .container-left {
    border: 1px solid var(--agim-detail-border);
    border-radius: var(--agim-detail-radius);
    box-shadow: var(--agim-detail-shadow);
}

.dettaglio-corpo.agim-property-detail__body .title-property-2 {
    color: var(--agim-detail-primary);
    font-family: "Lato", Sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1;
    margin-bottom: 2rem;
}

.agim-property-detail__section-body {
    text-rendering: optimizeLegibility;
    text-align: left;
    font-size: 1.5rem;
    font-weight: inherit;
    line-height: 2;
    margin-bottom: 1rem;
}

/* Tab descrizione / caratteristiche / planimetrie */
.agim-property-detail__tabs {
    border-bottom-color: var(--agim-detail-border);
    gap: 0.35rem;
}

.agim-property-detail__tabs button {
    color: var(--agim-detail-muted);
    font-size: 0.8rem;
}

.agim-property-detail__tabs button i {
    color: var(--agim-detail-primary);
}

.agim-property-detail__tabs button:hover,
.agim-property-detail__tabs button.current {
    color: var(--agim-detail-primary);
    border-bottom-color: var(--agim-detail-primary);
}

/* Tabella caratteristiche */
.agim-property-specs__title {
    color: var(--agim-detail-primary);
    border-bottom-color: rgba(var(--agim-detail-primary-rgb), 0.2);
}

.agim-property-specs__value--price {
    color: var(--agim-detail-primary);
}

.agim-property-specs__list {
    border-color: var(--agim-detail-border);
}

/* Sidebar agenzia + form contatto */
.dettaglio-corpo.agim-property-detail__body #blocco-agenti,
.dettaglio-corpo.agim-property-detail__body #bottom-richiedi-info {
    border: 1px solid var(--agim-detail-border);
    border-radius: var(--agim-detail-radius);
    box-shadow: var(--agim-detail-shadow);
}

.dettaglio-corpo.agim-property-detail__body #blocco-agenti h3,
.dettaglio-corpo.agim-property-detail__body #bottom-richiedi-info h3 {
    color: var(--agim-detail-primary);
}

.dettaglio-corpo.agim-property-detail__body #bottom-richiedi-info input[type="submit"],
.dettaglio-corpo.agim-property-detail__body #bottom-richiedi-info button[type="submit"] {
    background-color: var(--agim-detail-primary);
    border-color: var(--agim-detail-primary);
}

.dettaglio-corpo.agim-property-detail__body #bottom-richiedi-info input[type="submit"]:hover,
.dettaglio-corpo.agim-property-detail__body #bottom-richiedi-info button[type="submit"]:hover {
    background-color: var(--agim-detail-primary-light);
    border-color: var(--agim-detail-primary-light);
}

/* Immobili simili */
#immobili-simili.agim-cantiere-units {
    width: 100%;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}
.dettaglio-corpo.agim-property-detail__body #immobili-simili .title-property-2,
.dettaglio-corpo.agim-property-detail__body #immobili-simili .agim-cantiere-units__title {
    color: var(--agim-detail-primary);
}

/* Mappa */
.dettaglio-corpo.agim-property-detail__body .leaflet-container,
.agim-property-detail-map .leaflet-container,
.agim-property-detail-map__canvas.leaflet-container {
    border-radius: var(--agim-detail-radius, 12px);
    overflow: hidden;
    border: 1px solid var(--agim-detail-border, #e2e8f0);
}

.agim-detail-map-leaflet-popup .leaflet-popup-content-wrapper {
    padding: 0;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(var(--agim-detail-primary-rgb), 0.16);
    border: 1px solid rgba(var(--agim-detail-primary-rgb), 0.08);
    overflow: hidden;
}

.agim-detail-map-leaflet-popup .leaflet-popup-content {
    margin: 0;
    min-width: 200px;
    line-height: 1.35;
}

.agim-detail-map-leaflet-popup .leaflet-popup-tip {
    box-shadow: none;
    background: #fff;
}

.agim-detail-map-leaflet-popup .leaflet-popup-close-button {
    top: 8px !important;
    right: 8px !important;
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    border-radius: 999px;
    background: rgba(var(--agim-detail-primary-rgb), 0.06);
    color: var(--agim-detail-primary) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
    text-align: center;
}

.agim-detail-map-leaflet-popup .leaflet-popup-close-button:hover {
    background: rgba(var(--agim-detail-primary-rgb), 0.12);
    color: var(--agim-detail-primary) !important;
}

.agim-detail-map-popup {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.95rem 2rem 0.95rem 1rem;
    background: #fff;
    color: #1e293b;
    font-family: inherit;
}

.agim-detail-map-popup__rif {
    display: inline-flex;
    align-self: flex-start;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: rgba(var(--agim-detail-primary-rgb), 0.08);
    color: var(--agim-detail-primary);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.agim-detail-map-popup__title {
    display: block;
    font-size: 0.98rem;
    font-weight: 600;
    color: var(--agim-detail-primary);
    line-height: 1.3;
}

.agim-detail-map-popup__place {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 500;
}

.agim-detail-map-popup__place i {
    color: var(--agim-detail-primary);
    font-size: 0.78rem;
}

/* Planimetrie */
.agim-planimetry-slider .slick-dots li.slick-active button:before,
.agim-planimetry-slider .slick-dots li button:before {
    color: var(--agim-detail-primary);
}

/* Nascondi footer articolo WP sulla scheda */
body.page-template-page-immobile-php .entry-footer,
body.page-template-page-property-php .entry-footer {
    display: none;
}

/* Responsive */
@media (max-width: 992px) {
    .dettaglio-corpo.agim-property-detail__body .container-right.agim-property-detail__sidebar {
        position: static;
    }
}

@media (max-width: 680px) {
    #immobile-dettaglio.agim-property-detail {
        padding: 0 1rem;
    }

    #immobile-dettaglio.agim-property-detail .agim-property-detail__headline {
        flex-direction: column;
        align-items: flex-start;
        padding: 0 !important;
    }

    #immobile-dettaglio.agim-property-detail .agim-property-detail__price {
        white-space: normal;
    }

    .agim-property-gallery--slider .agim-property-gallery__slide img {
        min-height: 220px;
    }

    #immobile-dettaglio.agim-property-detail .agim-property-detail__features {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* */
#immobile-dettaglio.agim-property-detail {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

#property-top {
    margin: 0 !important;
    padding: 0 !important;
}

.single-feature {
    border-left: none !important;
    width: auto !important;
    justify-content: start !important;
    text-align: left !important;
    display: flex !important;
    margin-right: 3.2rem;
    margin-bottom: -2rem;
    padding: 0 !important;
}

.single-feature:last-of-type {
    border-right: none !important;
}

.name-info {
    margin: 0;
    margin-bottom: 1.5rem;
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.2;
    color: #1a1a1a;
    display: block;
}

.icona-e-info {
    display: flex;
    align-items: center;
}

.icona-e-info i {
    font-size: 24px;
}

.icona-e-info b {
    margin-left: 1.2rem;
    color: var(--agim-detail-primary);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.2;
}

.dettagli-immobile--icons.agim-property-detail__features {
    padding: 15px 0;
    display: flex;
    justify-content: flex-start;
    flex-direction: row;
}


.title-property-2 {
    font-family: "Lato", sans-serif !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    font-size: 1.8rem !important;
}

.entry-footer {
    display: none !important;
}

.site-main > article {
    margin-bottom: 4em !important;
}

#immobile-dettaglio {
    max-width: 1920px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

@media (max-width: 767px) {
    .box-blu {
        padding: 30px 10px !important;
        display: flex;
        flex-direction: column;
    }

    #immobile-dettaglio.agim-property-detail .agim-property-detail__headline {
        display: flex;
        flex-direction: column !important;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.75rem 1.5rem;
        padding: 0.25rem 0 0.75rem;
    }

    #immobile-dettaglio.agim-property-detail .agim-property-detail__headline .title-property {
        flex-basis: 0 !important;
        padding-top: 20px !important;
        padding-bottom: 0 !important;

    }
    .price.agim-property-detail__price{
        padding-top: 0 !important;
    }
}


    #immobile-dettaglio.agim-property-detail .agim-property-detail__headline .title-property {
        font-size: 3.6rem !important;
    }


.box-blu {
    display: flex;
    flex-direction: column;
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: 0 !important;
    transform: translateX(-50%) !important;
    width: calc(100% - 30px) !important;
    max-width: 1170px !important;
    height: auto !important;
    align-content: center !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    z-index: 5 !important;
    padding: 20px 36px 14px 36px !important;
    border-radius: 8px 8px 0 0 !important;
    background-color: var(--agim-detail-primary) !important;
}


#breadcrumbs {
    color: #ccc !important;
}

#breadcrumbs a,
#breadcrumbs i,
#breadcrumbs span {
    color: #ccc !important;
}

.top-detail.agim-property-detail__breadcrumbs {
    padding: 0 !important;
}

.price.agim-property-detail__price {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 3.6rem !important;
}

.rif {
    background: transparent !important;
    border-radius: 0 !important;
    color: var(--agim-detail-primary) !important;
    padding: 0 !important;
    font-size: 16px !important;
    text-transform: none !important;
    font-weight: 500 !important;
    margin-right: 0 !important;
    font-family: "Lato", Sans-serif;

}

.top-detail.agim-property-detail__headline {
    padding: 0 !important;
}

.elementor-section.module.dettaglio-corpo.agim-property-detail__body .container {
    max-width: 1170px;
    padding-left: 15px;
    padding-right: 15px;
    margin: 0 auto;
}

.top-detail.agim-property-detail__meta {
    flex-wrap: nowrap;
    gap: 0;
    padding: 0;
    /*padding-bottom: 2.4rem;*/
}

.dettaglio_share_property a,
.dettaglio_share_property button {
    color: rgba(128, 128, 128, .5);
!important;
    border: none !important;
    background-color: transparent !important;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem !important;
    line-height: 16px;
    border-radius: 4px;
}

.dettaglio_share_property a:hover,
.dettaglio_share_property button:hover {
    color: #000000 !important;
    background-color: transparent;
!important;
    border: none !important;
    transition: all 0.4s;
}

.container-full {
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
}

.container-full.beige {
    background-color: #f7f7f7;
}

.container-full .container {
    max-width: 1170px;
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
    padding-bottom: 6rem;
}

@media (max-width: 767px) {
    .container-full.beige .container.form {
        flex-direction: column !important;
    }

    .container-full.beige .container.form .form-contatto {
        width: 100%;
    }

}

.container-full.beige .container.form .form-contatto {
    width: 100%;
}

.container-full.beige .container.form {
    flex-direction: row;
    display: flex !important;
    gap: 20px;
    padding: 6rem 15px;
    justify-content: space-between;
}


.container-full .wrapper {
    display: flex;
    width: 100%;
    gap: 0;
    flex-wrap: wrap;
    flex-direction: column;
}

.agim-property-specs__list {
    border-color: transparent !important;
    border: none !important;
    background-color: transparent !important;
    border-radius: 0 !important;
}

.sezione-richiedi-appuntamento {
    display: flex;
    width: 100%;
}

.sezione-richiedi-appuntamento #bottom-richiedi-info,
.sezione-richiedi-appuntamento #blocco-agenti {
    width: 50%;
}

.divisore {
    border-bottom: 1px dashed rgba(128, 128, 128, .2);
    width: 100%;
    padding: 1.4rem 0 2.4rem 0;
}


/* PREFERITI */
.bg-bookmark .tfre-property-favorite .add {
    display: block;
}

.bg-bookmark .tfre-property-favorite .remove {
    display: none;
}

.bg-bookmark .tfre-property-favorite.saved .remove {
    display: block;
}

.bg-bookmark .tfre-property-favorite.saved .add {
    display: none;
}

.bg-bookmark .tfre-property-favorite .add i,
.bg-bookmark .tfre-property-favorite .remove i {
    color: #5A5A5A;
    border: 1px solid #fff;
    border-radius: 50%;
    padding: 8px;
    align-items: center;
    display: flex;
    background: #fff;
    width: 30px;
    height: 30px;
    font-size: 14px;
    justify-content: center;
}


.bg-bookmark .tfre-property-favorite.saved .remove i {
    display: block;
}

/*fine preferiti*/

