
/* ==========================================
   SOGECO - ULTIMI IMMOBILI
   ========================================== */

.sg-ultimi-immobili {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 24px 70px;
    color: #252b2b;
    font-family: 'Manrope', sans-serif;
    box-sizing: border-box;
}

.sg-ultimi-immobili *,
.sg-ultimi-immobili *::before,
.sg-ultimi-immobili *::after {
    box-sizing: border-box;
}

/* Intestazione */

.sg-immobili-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}

.sg-immobili-intro {
    max-width: 720px;
}

.sg-immobili-eyebrow {
    display: block;
    margin-bottom: 10px;
    color: #9c8150;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.sg-immobili-intro h2 {
    margin: 0 0 12px;
    color: #203b35;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -1.2px;
}

.sg-immobili-intro p {
    margin: 0;
    color: #777d79;
    font-size: 15px;
    line-height: 1.7;
}

.sg-immobili-count {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-bottom: 4px;
}

.sg-immobili-count > span {
    color: #203b35;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.1;
}

.sg-immobili-count small {
    margin-top: 5px;
    color: #777d79;
    font-size: 12px;
}

.sg-immobili-count-mobile {
    display: none;
}

/* Griglia */

.sg-immobili-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Scheda */

.sg-immobile-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e9e7e1;
    border-radius: 14px;
    box-shadow: 0 5px 22px rgba(31, 45, 39, 0.045);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.sg-immobile-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 34px rgba(31, 45, 39, 0.12);
}

/* Fotografia */

.sg-immobile-image {
    position: relative;
    display: block;
    height: 250px;
    overflow: hidden;
    background: #f0efeb;
    text-decoration: none;
}

.sg-immobile-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.sg-immobile-card:hover .sg-immobile-image img {
    transform: scale(1.045);
}

.sg-immobile-contract {
    position: absolute;
    top: 16px;
    left: 16px;
    display: inline-flex;
    align-items: center;
    max-width: calc(100% - 32px);
    padding: 8px 12px;
    overflow: hidden;
    border-radius: 5px;
    background: #203b35;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sg-immobile-images-count {
    position: absolute;
    right: 14px;
    bottom: 14px;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 6px;
    background: rgba(22, 30, 27, 0.78);
    color: #ffffff;
    font-size: 12px;
}

.sg-immobile-images-count i {
    margin-right: 5px;
}

/* Contenuto */

.sg-immobile-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 22px;
}

.sg-immobile-location {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #777d79;
    font-size: 12px;
    line-height: 1.5;
}

.sg-immobile-location > i {
    flex-shrink: 0;
    color: #a58b59;
    font-size: 15px;
}

.sg-immobile-zone {
    color: #92958f;
}

.sg-immobile-title {
    margin: 0 0 9px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.sg-immobile-title a {
    color: #203b35;
    text-decoration: none;
    transition: color 0.2s ease;
}

.sg-immobile-title a:hover {
    color: #9c8150;
}

.sg-immobile-reference {
    margin-bottom: 12px;
    color: #969992;
    font-size: 11px;
}

.sg-immobile-description {
    display: -webkit-box;
    min-height: 63px;
    margin: 0 0 20px;
    overflow: hidden;
    color: #707570;
    font-size: 12px;
    line-height: 1.75;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

/* Caratteristiche */

.sg-immobile-features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: auto;
    padding: 17px 0;
    border-top: 1px solid #eeece7;
    border-bottom: 1px solid #eeece7;
}

.sg-immobile-feature {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    color: #5d655f;
    font-size: 11px;
    line-height: 1.5;
}

.sg-immobile-feature i {
    flex-shrink: 0;
    width: 16px;
    color: #a58b59;
    font-size: 14px;
    text-align: center;
}

.sg-immobile-feature span {
    overflow-wrap: anywhere;
}

/* Prezzo e pulsante */

.sg-immobile-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    padding-top: 19px;
}

.sg-immobile-price {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
}

.sg-immobile-price-label {
    color: #858a84;
    font-size: 11px;
}

.sg-immobile-price strong {
    color: #203b35;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.sg-immobile-price .sg-immobile-negotiation {
    font-size: 14px;
}

.sg-immobile-details {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 42px;
    padding: 0 15px;
    border: 1px solid #203b35;
    border-radius: 6px;
    background: #203b35;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transition:
        background 0.2s ease,
        border-color 0.2s ease;
}

.sg-immobile-details:hover {
    border-color: #9c8150;
    background: #9c8150;
    color: #ffffff;
    text-decoration: none;
}

/* Paginazione */

.sg-immobili-pagination {
    display: flex;
    justify-content: center;
    margin-top: 42px;
}

.sg-immobili-pagination ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sg-immobili-pagination li a,
.sg-immobili-pagination li span {
    display: flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border: 1px solid #e5e3dc;
    border-radius: 7px;
    background: #ffffff;
    color: #203b35;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
}

.sg-immobili-pagination li a:hover,
.sg-immobili-pagination li.active span {
    border-color: #203b35;
    background: #203b35;
    color: #ffffff;
}

.sg-immobili-pagination li.active span {
    cursor: default;
}

/* Tablet */

@media (max-width: 1050px) {
    .sg-immobili-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .sg-immobile-image {
        height: 230px;
    }

    .sg-immobile-content {
        padding: 19px;
    }
}

/* Smartphone */

@media (max-width: 600px) {
    .sg-ultimi-immobili {
        padding: 42px 16px 50px;
    }

    .sg-immobili-header {
        align-items: flex-start;
        margin-bottom: 22px;
    }

    .sg-immobili-intro h2 {
        font-size: 29px;
        letter-spacing: -0.7px;
    }

    .sg-immobili-intro p {
        font-size: 13px;
    }

    .sg-immobili-count {
        display: none;
    }

    .sg-immobili-count-mobile {
        display: block;
        margin-bottom: 18px;
        color: #777d79;
        font-size: 12px;
    }

    .sg-immobili-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }

    .sg-immobile-image {
        height: 240px;
    }

    .sg-immobile-content {
        padding: 20px;
    }

    .sg-immobile-title {
        font-size: 17px;
    }

    .sg-immobile-footer {
        flex-wrap: wrap;
    }

    .sg-immobile-price strong {
        font-size: 20px;
    }
}















/* ==========================================
   SOGECO - PERCHÉ SCEGLIERCI
========================================== */

.sogeco-fiducia,
.sogeco-fiducia *,
.sogeco-cta-vendita,
.sogeco-cta-vendita * {
    box-sizing: border-box;
}

.sogeco-fiducia {
    display: grid;
    grid-template-columns: 30% 43% 27%;
    align-items: stretch;
    width: 100%;
    background: #fcfbf8;
    color: #183e45;
    font-family: inherit;
}

.sogeco-fiducia-foto {
    min-height: 250px;
    overflow: hidden;
}

.sogeco-fiducia-foto img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 250px;
    object-fit: cover;
    object-position: center;
}

.sogeco-fiducia-contenuto {
    align-self: center;
    padding: 32px 34px;
}

.sogeco-etichetta {
    display: block;
    margin-bottom: 8px;
    color: #b38e52;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.6px;
    line-height: 1.5;
}

.sogeco-fiducia-titolo h2 {
    margin: 0 0 15px;
    color: #164953;
    font-size: 27px;
    font-weight: 600;
    line-height: 1.2;
}

.sogeco-fiducia-contenuto p {
    margin: 0 0 17px;
    color: #687579;
    font-size: 12px;
    line-height: 1.8;
}

.sogeco-link-chi-siamo {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    padding: 10px 17px;
    border: 1px solid #18535a;
    border-radius: 3px;
    color: #164953;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.sogeco-link-chi-siamo:hover {
    background: #164953;
    color: #fff;
    text-decoration: none;
}

.sogeco-fiducia-vantaggi {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
    margin: 32px 0;
    padding: 15px 25px;
    border-left: 1px solid #e9e4dc;
}

.sogeco-vantaggio {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #647175;
    font-size: 11px;
    line-height: 1.6;
}

.sogeco-vantaggio i {
    flex: 0 0 auto;
    margin-top: 2px;
    color: #c5a36d;
    font-size: 13px;
}


/* ==========================================
   SOGECO - FASCIA VENDITA IMMOBILE
========================================== */

.sogeco-cta-vendita {
    display: flex;
    align-items: center;
    gap: 25px;
    width: 100%;
    padding: 17px 8.5%;
    background: #004b48;
    color: #fff;
    font-family: inherit;
}

.sogeco-cta-icona {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
}

.sogeco-cta-icona i {
    color: #d6bd87;
    font-size: 35px;
    font-weight: 400;
}

.sogeco-cta-testo {
    flex: 1 1 auto;
    min-width: 0;
}

.sogeco-cta-testo h3 {
    margin: 0 0 5px;
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
}

.sogeco-cta-testo p {
    margin: 0;
    color: #e0e9e6;
    font-size: 11px;
    line-height: 1.7;
}

.sogeco-cta-azione {
    flex: 0 0 auto;
}

.sogeco-cta-pulsante {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    min-width: 155px;
    padding: 13px 22px;
    border-radius: 5px;
    background: #d9bd87;
    color: #183e45;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.sogeco-cta-pulsante:hover {
    background: #fff;
    color: #164953;
    text-decoration: none;
}

.sogeco-cta-pulsante i {
    font-size: 11px;
}


/* ==========================================
   RESPONSIVE - TABLET
========================================== */

@media (max-width: 991px) {

    .sogeco-fiducia {
        grid-template-columns: 35% 65%;
    }

    .sogeco-fiducia-foto {
        min-height: 280px;
    }

    .sogeco-fiducia-contenuto {
        padding: 28px;
    }

    .sogeco-fiducia-vantaggi {
        grid-column: 1 / -1;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 18px 25px;
        margin: 0;
        padding: 25px 30px;
        border-top: 1px solid #e9e4dc;
        border-left: 0;
    }

    .sogeco-vantaggio {
        flex: 1 1 40%;
    }

    .sogeco-cta-vendita {
        padding-right: 5%;
        padding-left: 5%;
    }
}


/* ==========================================
   RESPONSIVE - SMARTPHONE
========================================== */

@media (max-width: 600px) {

    .sogeco-fiducia {
        grid-template-columns: 1fr;
    }

    .sogeco-fiducia-foto {
        min-height: 220px;
        max-height: 260px;
    }

    .sogeco-fiducia-foto img {
        min-height: 220px;
        max-height: 260px;
    }

    .sogeco-fiducia-contenuto {
        padding: 30px 24px 25px;
    }

    .sogeco-fiducia-titolo h2 {
        font-size: 25px;
    }

    .sogeco-fiducia-contenuto p {
        font-size: 13px;
    }

    .sogeco-fiducia-vantaggi {
        flex-direction: column;
        gap: 15px;
        padding: 22px 24px 28px;
    }

    .sogeco-vantaggio {
        flex: initial;
        font-size: 12px;
    }

    .sogeco-cta-vendita {
        flex-wrap: wrap;
        gap: 15px;
        padding: 25px 22px;
    }

    .sogeco-cta-icona {
        flex-basis: 35px;
    }

    .sogeco-cta-icona i {
        font-size: 30px;
    }

    .sogeco-cta-testo {
        flex: 1 1 calc(100% - 55px);
    }

    .sogeco-cta-testo h3 {
        font-size: 16px;
    }

    .sogeco-cta-testo p {
        font-size: 12px;
    }

    .sogeco-cta-azione {
        width: 100%;
        padding-left: 50px;
    }

    .sogeco-cta-pulsante {
        width: 100%;
        max-width: 240px;
        min-height: 46px;
    }
}





/* ==========================================
   SOGECO - FOOTER PRINCIPALE
========================================== */

.sogeco-footer,
.sogeco-footer *,
.sogeco-footer-bottom,
.sogeco-footer-bottom *,
.sogeco-back-to-top {
    box-sizing: border-box;
}

.sogeco-footer {
    background: #123b3e;
    color: #d6e0de;
    padding: 60px 0 30px;
    font-family: inherit;
}

.sogeco-footer-main {
    display: flex;
    flex-wrap: wrap;
}

.sogeco-footer-main > [class*="col-"] {
    margin-bottom: 30px;
}

/* LOGO */

.sogeco-footer-logo {
    display: inline-block;
    margin-bottom: 20px;
}

.sogeco-footer-logo img {
    display: block;
    width: auto;
    max-width: 190px;
    max-height: 85px;
    object-fit: contain;
}

.sogeco-footer-description {
    max-width: 260px;
    margin: 0 0 22px;
    color: #c1d0ce;
    font-size: 12px;
    line-height: 1.9;
}

/* TITOLI */

.sogeco-footer-title {
    margin: 8px 0 13px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
}

.sogeco-footer-title-line {
    width: 35px;
    height: 2px;
    margin-bottom: 23px;
    background: #c5a875;
}

/* LINK */

.sogeco-footer-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sogeco-footer-menu li {
    margin: 0 0 12px;
    padding: 0;
}

.sogeco-footer-menu a {
    display: inline-flex;
    align-items: baseline;
    gap: 9px;
    color: #c1d0ce;
    font-size: 12px;
    line-height: 1.7;
    text-decoration: none;
    transition: color .2s ease;
}

.sogeco-footer-menu a i {
    color: #c5a875;
    font-size: 11px;
}

.sogeco-footer-menu a:hover {
    color: #e1c794;
    text-decoration: none;
}

/* SOCIAL */

.sogeco-footer-social {
    display: flex;
    gap: 10px;
}

.sogeco-footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    transition: background .2s ease,
                border-color .2s ease;
}

.sogeco-footer-social a:hover {
    background: #c5a875;
    border-color: #c5a875;
    color: #123b3e;
}

/* CONTATTI */

.sogeco-footer-contact-intro,
.sogeco-footer-newsletter > p {
    margin: 0 0 20px;
    color: #c1d0ce;
    font-size: 12px;
    line-height: 1.8;
}

.sogeco-footer-contact-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sogeco-footer-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 20px;
}

.sogeco-contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    border: 1px solid rgba(197,168,117,.5);
    border-radius: 50%;
    color: #d5ba85;
    font-size: 13px;
}

.sogeco-footer-contact-list li > div {
    min-width: 0;
    padding-top: 1px;
}

.sogeco-footer-contact-list small {
    display: block;
    margin-bottom: 4px;
    color: #91aaa7;
    font-size: 10px;
    letter-spacing: .5px;
}

.sogeco-footer-contact-list a {
    overflow-wrap: anywhere;
    color: #e3eae8;
    font-size: 12px;
    line-height: 1.7;
    text-decoration: none;
}

.sogeco-footer-contact-list a:hover {
    color: #e1c794;
}

/* NEWSLETTER */

.sogeco-newsletter-form {
    margin: 0;
}

.sogeco-newsletter-field {
    position: relative;
    margin-bottom: 12px;
}

.sogeco-newsletter-field .form-control {
    width: 100%;
    height: 46px;
    padding: 0 40px 0 14px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 3px;
    outline: none;
    background: rgba(255,255,255,.07);
    box-shadow: none;
    color: #fff;
    font-family: inherit;
    font-size: 12px;
}

.sogeco-newsletter-field .form-control::placeholder {
    color: #b9c9c7;
    opacity: 1;
}

.sogeco-newsletter-field .form-control:focus {
    border-color: #c5a875;
    box-shadow: 0 0 0 2px rgba(197,168,117,.12);
}

.sogeco-newsletter-field > i {
    position: absolute;
    top: 16px;
    right: 14px;
    color: #c5a875;
    font-size: 13px;
    pointer-events: none;
}

.sogeco-newsletter-form button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 45px;
    padding: 12px 15px;
    border: 1px solid #c5a875;
    border-radius: 3px;
    background: #c5a875;
    color: #123b3e;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}

.sogeco-newsletter-form button:hover {
    background: transparent;
    color: #e1c794;
}

.sogeco-newsletter-note {
    display: block;
    margin-top: 13px;
    color: #91aaa7;
    font-size: 10px;
    line-height: 1.7;
}

/* NASCONDI LABEL ACCESSIBILE */

.sogeco-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* DIVISORE */

.sogeco-footer-divider {
    height: 1px;
    margin-top: 10px;
    background: rgba(255,255,255,.13);
}


/* ==========================================
   SOGECO - FOOTER INFERIORE
========================================== */

.sogeco-footer-bottom {
    padding: 20px 0;
    background: #0d2e31;
    color: #9fb3b0;
    font-family: inherit;
}

.sogeco-footer-bottom .row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.sogeco-copyright p {
    margin: 0;
    color: #9fb3b0;
    font-size: 11px;
    line-height: 1.9;
}

.sogeco-piva {
    margin-left: 8px;
}

.sogeco-footer-legal {
    text-align: right;
}

.sogeco-footer-legal a {
    color: #c5a875;
    font-size: 11px;
    text-decoration: none;
}

.sogeco-footer-legal a:hover {
    color: #fff;
}


/* ==========================================
   SOGECO - TORNA IN CIMA
========================================== */

.sogeco-back-to-top {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 3px;
    background: #c5a875;
    color: #123b3e;
    font-size: 20px;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.sogeco-back-to-top:hover {
    background: #123b3e;
    color: #fff;
    text-decoration: none;
}


/* ==========================================
   RESPONSIVE - TABLET
========================================== */

@media (max-width: 991px) {

    .sogeco-footer {
        padding-top: 45px;
    }

    .sogeco-footer-main {
        row-gap: 15px;
    }

    .sogeco-footer-main > [class*="col-"] {
        margin-bottom: 25px;
    }

    .sogeco-footer-description {
        max-width: 300px;
    }
}


/* ==========================================
   RESPONSIVE - SMARTPHONE
========================================== */

@media (max-width: 767px) {

    .sogeco-footer {
        padding: 40px 0 20px;
    }

    .sogeco-footer-main {
        display: block;
    }

    .sogeco-footer-main > [class*="col-"] {
        margin-bottom: 35px;
    }

    .sogeco-footer-logo img {
        max-width: 175px;
    }

    .sogeco-footer-title {
        margin-top: 0;
    }

    .sogeco-footer-title-line {
        margin-bottom: 18px;
    }

    .sogeco-footer-divider {
        margin-top: 0;
    }

    .sogeco-footer-bottom {
        padding: 20px 0;
        text-align: center;
    }

    .sogeco-footer-bottom .row {
        display: block;
    }

    .sogeco-copyright,
    .sogeco-footer-legal {
        text-align: center;
    }

    .sogeco-copyright {
        margin-bottom: 10px;
    }

    .sogeco-piva {
        margin-left: 0;
    }
}












/* =========================================================
   SOGECO - DETTAGLIO IMMOBILE
   Palette coordinata con la home
   ========================================================= */

.sogeco-property-page {
    padding-top: 25px;
    padding-bottom: 65px;
    background: #fff;
    color: #35464a;
}

.sogeco-property-page .sogeco-property-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    color: #7c8989;
    font-size: 12px;
}

.sogeco-property-breadcrumb a {
    color: #17494b;
    text-decoration: none;
    font-weight: 600;
}

.sogeco-property-breadcrumb a:hover {
    color: #b99a61;
}

.sogeco-property-breadcrumb i {
    color: #b99a61;
}

/* Colonne */

.sogeco-property-main {
    margin-bottom: 35px;
}

.sogeco-property-sidebar {
    padding-top: 8px;
}

/* Intestazione */

.sogeco-property-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 16px 24px;
    padding: 0 0 25px;
    margin-bottom: 25px;
    border-bottom: 1px solid #e8ece8;
}

.sogeco-property-heading {
    flex: 1 1 65%;
    min-width: 0;
}

.sogeco-property-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.sogeco-property-badge {
    display: inline-block;
    padding: 7px 12px;
    border-radius: 3px;
    background: #17494b;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.sogeco-property-type {
    display: inline-block;
    padding: 6px 11px;
    border: 1px solid #e7ddca;
    border-radius: 3px;
    color: #8a7042;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.sogeco-property-page .sogeco-property-title {
    margin: 0 0 12px;
    color: #183f43;
    font-size: 30px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: -.5px;
    overflow-wrap: anywhere;
}

.sogeco-property-location {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #748080;
    font-size: 14px;
}

.sogeco-property-location > i {
    color: #b99a61;
    font-size: 17px;
}

.sogeco-property-zone {
    color: #748080;
}

/* Prezzo */

.sogeco-property-price {
    flex: 0 1 auto;
    min-width: 150px;
    margin-left: auto;
    padding: 15px 18px;
    border-left: 3px solid #c3a66d;
    background: #f7f6f1;
}

.sogeco-price-label {
    display: block;
    margin-bottom: 5px;
    color: #78817e;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.sogeco-price-value {
    color: #17494b;
    font-size: 27px;
    line-height: 1.2;
    font-weight: 700;
    white-space: nowrap;
}

.sogeco-price-value span {
    font-size: 20px;
}

.sogeco-price-reserved {
    color: #17494b;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 700;
}

.sogeco-property-reference {
    flex: 0 0 100%;
    margin-top: -3px;
    color: #89928f;
    font-size: 12px;
}

.sogeco-property-reference strong {
    margin-left: 5px;
    color: #536361;
    font-weight: 600;
}

/* Galleria */

.sogeco-property-gallery {
    position: relative;
    margin-bottom: 25px;
}

.sogeco-gallery-slider {
    margin: 0;
}

.sogeco-property-gallery #property-images {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 5px;
    background: #f1f2ef;
    box-shadow: 0 5px 20px rgba(19, 55, 54, .08);
}

.sogeco-property-gallery #property-images .slides > li {
    height: 450px;
    overflow: hidden;
    background: #f1f2ef;
}

.sogeco-property-gallery #property-images .slides > li img {
    display: block;
    width: 100%;
    height: 450px;
    object-fit: cover;
    object-position: center;
}

.sogeco-property-gallery #property-images .flex-direction-nav a {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(20, 61, 62, .88);
    text-align: center;
}

.sogeco-property-gallery #property-images .flex-direction-nav a:before {
    color: #fff;
    font-size: 21px;
    line-height: 42px;
    text-shadow: none;
}

.sogeco-property-gallery #property-thumbs {
    margin: 12px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.sogeco-property-gallery #property-thumbs .slides > li {
    height: 75px;
    margin-right: 9px;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 3px;
    cursor: pointer;
    opacity: .72;
    transition: opacity .2s ease, border-color .2s ease;
}

.sogeco-property-gallery #property-thumbs .slides > li img {
    display: block;
    width: 100%;
    height: 71px;
    object-fit: cover;
}

.sogeco-property-gallery #property-thumbs .slides > li:hover,
.sogeco-property-gallery #property-thumbs .slides > li.flex-active-slide {
    border-color: #b99a61;
    opacity: 1;
}

.sogeco-gallery-count {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 5;
    padding: 8px 12px;
    border-radius: 3px;
    background: rgba(20, 61, 62, .88);
    color: #fff;
    font-size: 12px;
}

.sogeco-gallery-count i {
    margin-right: 5px;
    color: #d7bd87;
}

.sogeco-gallery-empty {
    display: flex;
    min-height: 260px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 35px;
    border-radius: 5px;
    background: #f5f5f1;
    color: #748080;
    text-align: center;
}

.sogeco-gallery-empty i {
    margin-bottom: 15px;
    color: #b99a61;
    font-size: 42px;
}

.sogeco-gallery-empty p {
    margin: 0;
}

/* Riepilogo caratteristiche */

.sogeco-property-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 25px 0 40px;
    padding: 19px 5px;
    border: 1px solid #e8ece7;
    border-radius: 4px;
    background: #fff;
}

.sogeco-highlight {
    display: flex;
    flex: 1 1 33.333%;
    align-items: center;
    gap: 12px;
    min-width: 130px;
    padding: 5px 16px;
    border-right: 1px solid #e8ece7;
}

.sogeco-highlight:last-child {
    border-right: 0;
}

.sogeco-highlight-icon {
    display: flex;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f5f2e9;
    color: #a88b53;
    font-size: 17px;
}

.sogeco-highlight strong {
    display: block;
    color: #17494b;
    font-size: 18px;
    line-height: 1.4;
}

.sogeco-highlight div > span {
    display: block;
    color: #818b88;
    font-size: 12px;
}

/* Sezioni contenuto */

.sogeco-property-section {
    margin: 0 0 42px;
}

.sogeco-section-heading {
    margin-bottom: 23px;
}

.sogeco-section-eyebrow {
    display: block;
    margin-bottom: 7px;
    color: #a48750;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    line-height: 1.5;
}

.sogeco-property-page .sogeco-section-heading h2,
.sogeco-property-page .sogeco-property-contact h2 {
    margin: 0;
    color: #17494b;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.35;
}

.sogeco-heading-line {
    display: block;
    width: 48px;
    height: 3px;
    margin-top: 13px;
    background: #b99a61;
}

.sogeco-description-text {
    color: #566461;
    font-size: 15px;
    line-height: 1.9;
    overflow-wrap: anywhere;
}

.sogeco-description-text p {
    margin-bottom: 16px;
}

.sogeco-description-text img {
    max-width: 100%;
    height: auto;
}

/* Schede dati dinamiche */

.sogeco-detail-grid {
    display: flex;
    flex-wrap: wrap;
}

.sogeco-detail-grid > [class*="col-"] {
    display: flex;
    margin-bottom: 15px;
}

.sogeco-detail-card {
    display: flex;
    width: 100%;
    min-height: 82px;
    flex-direction: column;
    justify-content: center;
    padding: 16px 18px;
    border: 1px solid #e8ece7;
    border-radius: 4px;
    background: #fbfbf8;
    transition: border-color .2s ease, transform .2s ease;
}

.sogeco-detail-card:hover {
    border-color: #d5c49f;
    transform: translateY(-2px);
}

.sogeco-detail-label {
    display: block;
    margin-bottom: 7px;
    color: #808b87;
    font-size: 12px;
}

.sogeco-detail-card strong {
    color: #17494b;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

/* Invito al contatto */

.sogeco-property-contact {
    margin: 35px 0 25px;
    padding: 28px;
    border-left: 4px solid #c3a66d;
    border-radius: 3px;
    background: #f5f5f0;
}

.sogeco-property-page .sogeco-property-contact h2 {
    margin-bottom: 10px;
    font-size: 22px;
}

.sogeco-property-contact p {
    margin: 0;
    color: #66736f;
    font-size: 14px;
    line-height: 1.7;
}

/* Modulo contatti incluso */

.sogeco-property-main #inc_contact,
.sogeco-property-main .contact-form,
.sogeco-property-main .contact-agent {
    max-width: 100%;
}

/* Condivisione social */

.sogeco-property-share {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid #e8ece7;
}

.sogeco-property-share > span {
    margin-right: 8px;
    color: #687571;
    font-size: 13px;
    font-weight: 600;
}

.sogeco-property-share a {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border: 1px solid #dfe5df;
    border-radius: 50%;
    color: #17494b;
    text-decoration: none;
    transition: all .2s ease;
}

.sogeco-property-share a:hover {
    border-color: #17494b;
    background: #17494b;
    color: #fff;
}

/* Sidebar: piccoli aggiustamenti senza alterarne la struttura */

.sogeco-property-sidebar > *:first-child {
    margin-top: 0;
}

.sogeco-property-sidebar .widget {
    margin-bottom: 25px;
}

/* Tablet */

@media (max-width: 991px) {
    .sogeco-property-page .sogeco-property-title {
        font-size: 27px;
    }

    .sogeco-property-gallery #property-images .slides > li,
    .sogeco-property-gallery #property-images .slides > li img {
        height: 370px;
    }

    .sogeco-property-sidebar {
        margin-top: 20px;
    }
}

/* Smartphone */

@media (max-width: 767px) {
    .sogeco-property-page {
        padding-top: 16px;
        padding-bottom: 40px;
    }

    .sogeco-property-page .sogeco-property-title {
        font-size: 24px;
        line-height: 1.35;
    }

    .sogeco-property-header {
        gap: 15px;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .sogeco-property-heading {
        flex-basis: 100%;
    }

    .sogeco-property-price {
        flex-basis: 100%;
        margin-left: 0;
        padding: 13px 15px;
    }

    .sogeco-price-value {
        font-size: 25px;
    }

    .sogeco-property-gallery #property-images .slides > li,
    .sogeco-property-gallery #property-images .slides > li img {
        height: 280px;
    }

    .sogeco-property-gallery #property-thumbs .slides > li {
        height: 60px;
    }

    .sogeco-property-gallery #property-thumbs .slides > li img {
        height: 56px;
    }

    .sogeco-property-highlights {
        margin: 20px 0 32px;
        padding: 12px 0;
    }

    .sogeco-highlight {
        flex-basis: 100%;
        padding: 12px 15px;
        border-right: 0;
        border-bottom: 1px solid #e8ece7;
    }

    .sogeco-highlight:last-child {
        border-bottom: 0;
    }

    .sogeco-property-page .sogeco-section-heading h2,
    .sogeco-property-page .sogeco-property-contact h2 {
        font-size: 21px;
    }

    .sogeco-property-section {
        margin-bottom: 32px;
    }

    .sogeco-property-contact {
        padding: 22px 18px;
    }

    .sogeco-property-share {
        gap: 8px;
    }

    .sogeco-property-share > span {
        flex-basis: 100%;
        margin-bottom: 5px;
    }
}






/* =====================================================
   SOGECO - RECAPITI E MODULO CONTATTI
   ===================================================== */

.sogeco-contact-area {
    margin: 35px 0;
    color: #35464a;
}

.sogeco-contact-card {
    margin-bottom: 25px;
    padding: 28px;
    border: 1px solid #e7ebe5;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 5px 22px rgba(24, 63, 67, .045);
}

.sogeco-contact-heading {
    margin-bottom: 24px;
}

.sogeco-contact-eyebrow {
    display: block;
    margin-bottom: 7px;
    color: #a48750;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.sogeco-contact-area .sogeco-contact-heading h3 {
    margin: 0;
    color: #17494b;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.4;
}

.sogeco-contact-heading-line {
    display: block;
    width: 45px;
    height: 3px;
    margin-top: 12px;
    background: #b99a61;
}

.sogeco-contact-heading > p {
    margin: 15px 0 0;
    color: #6e7b77;
    font-size: 14px;
    line-height: 1.8;
}

/* Recapiti */

.sogeco-contact-info-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.sogeco-contact-info-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px 0;
    border-bottom: 1px solid #edf0eb;
}

.sogeco-contact-info-item:first-child {
    padding-top: 0;
}

.sogeco-contact-info-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.sogeco-contact-info-icon {
    display: flex;
    width: 45px;
    height: 45px;
    flex: 0 0 45px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f5f2e9;
    color: #a48750;
    font-size: 18px;
}

.sogeco-contact-info-label {
    display: block;
    margin-bottom: 4px;
    color: #89928e;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.sogeco-contact-info-item p {
    margin: 0;
    color: #344946;
    font-size: 14px;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.sogeco-contact-info-item a {
    color: #17494b;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.sogeco-contact-info-item a:hover {
    color: #a48750;
}

/* Campi modulo */

.sogeco-contact-form .form-group {
    margin-bottom: 20px;
}

.sogeco-contact-form .form-group label {
    display: block;
    margin-bottom: 8px;
    color: #344946;
    font-size: 13px;
    font-weight: 600;
}

.sogeco-contact-form .form-control {
    width: 100%;
    min-height: 47px;
    padding: 12px 14px;
    border: 1px solid #dfe5df;
    border-radius: 3px;
    background: #fbfcfa;
    box-shadow: none;
    color: #35464a;
    font-size: 14px;
    transition: border-color .2s ease, background .2s ease;
}

.sogeco-contact-form .form-control:focus {
    border-color: #17494b;
    outline: 0;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(23, 73, 75, .08);
}

.sogeco-contact-form .form-control::placeholder {
    color: #9aa39e;
    opacity: 1;
}

.sogeco-contact-form textarea.form-control {
    min-height: 137px;
    resize: vertical;
}

/* Pulsante */

.sogeco-contact-submit {
    display: inline-flex;
    width: 100%;
    min-height: 49px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 13px 20px;
    border: 1px solid #17494b;
    border-radius: 3px;
    background: #17494b;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .8px;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease;
}

.sogeco-contact-submit i {
    color: #d7bd87;
}

.sogeco-contact-submit:hover,
.sogeco-contact-submit:focus {
    border-color: #b99a61;
    background: #103b3d;
    color: #fff;
}

.sogeco-contact-privacy-note {
    margin: 12px 0 0;
    color: #8a9590;
    font-size: 11px;
    line-height: 1.7;
}

.sogeco-contact-area #message {
    margin-top: 15px;
}

/* Smartphone */

@media (max-width: 767px) {
    .sogeco-contact-area {
        margin: 25px 0;
    }

    .sogeco-contact-card {
        padding: 21px 17px;
        margin-bottom: 20px;
    }

    .sogeco-contact-area .sogeco-contact-heading h3 {
        font-size: 21px;
    }

    .sogeco-contact-form .form-group {
        margin-bottom: 16px;
    }

    .sogeco-contact-info-item {
        gap: 12px;
    }
}





/* =====================================================
   SOGECO - RECAPITI E PRESENTAZIONE AGENZIA
   ===================================================== */

.sogeco-contact-details-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 38px;
    align-items: stretch;
}

.sogeco-contact-details {
    display: flex;
    align-items: center;
    min-width: 0;
}

.sogeco-contact-details .sogeco-contact-info-list {
    width: 100%;
}

.sogeco-contact-agency {
    display: grid;
    grid-template-columns: minmax(125px, 38%) minmax(0, 1fr);
    gap: 23px;
    align-items: center;
    min-width: 0;
    padding-left: 30px;
    border-left: 1px solid #e7ebe5;
}

.sogeco-contact-agency-photo img {
    display: block;
    width: 100%;
    height: 225px;
    object-fit: cover;
    object-position: center;
    border: 0;
    border-radius: 4px;
    box-shadow: 0 5px 18px rgba(24, 63, 67, .12);
}

.sogeco-contact-agency-content {
    min-width: 0;
}

.sogeco-contact-agency-content .sogeco-contact-eyebrow {
    font-size: 9px;
    line-height: 1.7;
}

.sogeco-contact-agency-content h4 {
    margin: 0 0 8px;
    color: #17494b;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.4;
}

.sogeco-contact-agency-claim {
    margin: 0 0 13px;
    color: #a48750;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
}

.sogeco-contact-agency-content > p:not(.sogeco-contact-agency-claim) {
    margin: 0 0 12px;
    color: #6e7b77;
    font-size: 12px;
    line-height: 1.8;
}

.sogeco-contact-agency-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 5px;
    padding: 12px 15px;
    border: 1px solid #17494b;
    border-radius: 3px;
    background: #17494b;
    color: #fff !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .5px;
    text-decoration: none !important;
    transition: background .2s ease, border-color .2s ease;
}

.sogeco-contact-agency-button i {
    color: #d7bd87;
}

.sogeco-contact-agency-button:hover,
.sogeco-contact-agency-button:focus {
    border-color: #b99a61;
    background: #103b3d;
    color: #fff !important;
}

/* Tablet */

@media (min-width: 768px) and (max-width: 1100px) {
    .sogeco-contact-details-layout {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
        gap: 24px;
    }

    .sogeco-contact-agency {
        grid-template-columns: 1fr;
        gap: 17px;
        padding-left: 24px;
    }

    .sogeco-contact-agency-photo img {
        height: 190px;
        object-position: center 35%;
    }
}

/* Smartphone */

@media (max-width: 767px) {
    .sogeco-contact-details-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 27px;
    }

    .sogeco-contact-agency {
        grid-template-columns: minmax(100px, 34%) minmax(0, 1fr);
        gap: 17px;
        padding: 25px 0 0;
        border-top: 1px solid #e7ebe5;
        border-left: 0;
    }

    .sogeco-contact-agency-photo img {
        height: 190px;
    }

    .sogeco-contact-agency-content h4 {
        font-size: 17px;
    }

    .sogeco-contact-agency-content > p:not(.sogeco-contact-agency-claim) {
        font-size: 12px;
    }

    .sogeco-contact-agency-button {
        padding: 11px 12px;
        font-size: 9px;
    }
}

/* Smartphone stretto */

@media (max-width: 480px) {
    .sogeco-contact-agency {
        grid-template-columns: minmax(0, 1fr);
    }

    .sogeco-contact-agency-photo img {
        width: 100%;
        height: 260px;
        object-position: center 35%;
    }
}




/* =========================================
   SOGECO - WIDGET RICERCA IMMOBILI
   ========================================= */

.sogeco-search-widget {
    overflow: hidden;
    margin: 0 0 28px;
    background: #fff;
    border: 1px solid #e5e9e5;
    border-radius: 10px;
    box-shadow: 0 5px 22px rgba(23, 61, 53, 0.05);
}

.sogeco-search-widget-header {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 22px 20px;
    background: #173d35;
    color: #fff;
}

.sogeco-search-widget-icon {
    display: flex;
    flex: 0 0 43px;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 43px;
    color: #173d35;
    background: #fff;
    border-radius: 8px;
    font-size: 18px;
}

.sogeco-search-widget-header .widgettitle {
    margin: 0;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
}

.sogeco-search-widget-header p {
    margin: 5px 0 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 12px;
    line-height: 1.5;
}

.sogeco-search-form {
    padding: 22px 20px 20px;
}

.sogeco-search-fields {
    display: flex;
    flex-direction: column;
    gap: 17px;
}

.sogeco-search-field {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.sogeco-search-field label {
    display: block;
    margin: 0 0 7px;
    color: #263b33;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

.sogeco-search-field select,
.sogeco-search-field .form-control {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 44px;
    padding: 0 12px;
    color: #46544c;
    background-color: #fff;
    border: 1px solid #dfe5df;
    border-radius: 5px;
    box-shadow: none;
    font-family: inherit;
    font-size: 13px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.sogeco-search-field select:focus,
.sogeco-search-field .form-control:focus {
    border-color: #527e6d;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(23, 61, 53, 0.08);
}

.sogeco-search-submit,
.sogeco-search-widget .sogeco-search-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 48px;
    margin-top: 23px;
    padding: 12px 16px;
    color: #fff;
    background: #173d35;
    border: 1px solid #173d35;
    border-radius: 5px;
    box-shadow: none;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .2px;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.sogeco-search-submit:hover,
.sogeco-search-submit:focus,
.sogeco-search-widget .sogeco-search-submit:hover,
.sogeco-search-widget .sogeco-search-submit:focus {
    color: #fff;
    background: #24584b;
    border-color: #24584b;
    outline: none;
}

.sogeco-search-submit:hover {
    transform: translateY(-1px);
}

.sogeco-search-submit i {
    font-size: 14px;
}

/* Compatibilità con Bootstrap Select, se attivo */
.sogeco-search-widget .bootstrap-select {
    display: block;
    width: 100% !important;
    max-width: 100%;
}

.sogeco-search-widget .bootstrap-select > .dropdown-toggle {
    width: 100%;
    height: 44px;
    padding: 0 12px;
    color: #46544c;
    background: #fff;
    border: 1px solid #dfe5df;
    border-radius: 5px;
    box-shadow: none;
    font-size: 13px;
}

.sogeco-search-widget .bootstrap-select > .dropdown-toggle:focus {
    outline: none !important;
    border-color: #527e6d;
    box-shadow: 0 0 0 3px rgba(23, 61, 53, 0.08);
}

.sogeco-search-widget .bootstrap-select .dropdown-menu {
    max-width: 100%;
    border: 1px solid #e5e9e5;
    border-radius: 5px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

@media (max-width: 767px) {
    .sogeco-search-widget {
        margin-bottom: 22px;
        border-radius: 8px;
    }

    .sogeco-search-widget-header {
        padding: 19px 17px;
    }

    .sogeco-search-form {
        padding: 19px 17px;
    }

    .sogeco-search-fields {
        gap: 15px;
    }

    .sogeco-search-submit {
        min-height: 46px;
        margin-top: 20px;
    }
}


/* ==========================================================
   SOGECO - PAGINA CHI SIAMO
   Stili indipendenti dal tema originale
   ========================================================== */

.sogeco-chi-siamo {
    --sogeco-green: #173d35;
    --sogeco-green-dark: #102e28;
    --sogeco-gold: #c5a36b;
    --sogeco-text: #454b48;
    --sogeco-muted: #737b76;
    --sogeco-light: #f6f7f4;
    --sogeco-border: #e5e8e2;
    color: var(--sogeco-text);
    font-family: inherit;
    overflow: hidden;
}

.sogeco-chi-siamo *,
.sogeco-chi-siamo *:before,
.sogeco-chi-siamo *:after {
    box-sizing: border-box;
}

/* HERO */

.sogeco-about-hero {
    position: relative;
    padding: 88px 0 82px;
    background: var(--sogeco-green);
    color: #fff;
    overflow: hidden;
}

.sogeco-about-hero:before {
    content: "";
    position: absolute;
    top: -160px;
    right: -100px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(197, 163, 107, .22);
    border-radius: 50%;
    pointer-events: none;
}

.sogeco-about-hero:after {
    content: "";
    position: absolute;
    top: -100px;
    right: -40px;
    width: 400px;
    height: 400px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    pointer-events: none;
}

.sogeco-about-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.sogeco-about-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    color: var(--sogeco-gold);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
}

.sogeco-about-eyebrow span {
    display: inline-block;
    width: 35px;
    height: 2px;
    background: var(--sogeco-gold);
}

.sogeco-about-hero h1 {
    margin: 0 0 24px;
    color: #fff;
    font-family: inherit;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.8px;
}

.sogeco-about-hero-inner > p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: 18px;
    line-height: 1.9;
    font-weight: 300;
}

.sogeco-about-hero-line {
    width: 65px;
    height: 3px;
    margin-top: 32px;
    background: var(--sogeco-gold);
}

/* CONTENUTO PRINCIPALE */

.sogeco-about-main {
    padding: 72px 0 80px;
    background: #fff;
}

.sogeco-about-article {
    padding: 0 20px 0 0;
}

.sogeco-about-section-label {
    margin-bottom: 15px;
    color: #a17f49;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.sogeco-about-article h2,
.sogeco-about-values h2 {
    margin: 0;
    color: var(--sogeco-green);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -.4px;
}

.sogeco-about-gold-line {
    width: 48px;
    height: 3px;
    margin: 22px 0 28px;
    background: var(--sogeco-gold);
}

.sogeco-about-content {
    color: var(--sogeco-text);
    font-size: 15px;
    line-height: 1.95;
    overflow-wrap: anywhere;
}

.sogeco-about-content p {
    margin: 0 0 20px;
}

.sogeco-about-content h2,
.sogeco-about-content h3,
.sogeco-about-content h4 {
    margin: 28px 0 14px;
    color: var(--sogeco-green);
    line-height: 1.4;
}

.sogeco-about-content img {
    max-width: 100%;
    height: auto;
    border-radius: 5px;
}

.sogeco-about-content a {
    color: var(--sogeco-green);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sogeco-about-quote {
    position: relative;
    margin-top: 35px;
    padding: 28px 30px 26px 65px;
    border-left: 3px solid var(--sogeco-gold);
    background: var(--sogeco-light);
}

.sogeco-about-quote-mark {
    position: absolute;
    top: 8px;
    left: 22px;
    color: var(--sogeco-gold);
    font-family: Georgia, serif;
    font-size: 48px;
    line-height: 1;
}

.sogeco-about-quote p {
    margin: 0;
    color: var(--sogeco-green);
    font-family: Georgia, serif;
    font-size: 17px;
    font-style: italic;
    line-height: 1.8;
}

/* PUNTI DI FORZA */

.sogeco-about-values {
    margin-top: 68px;
    padding-top: 40px;
    border-top: 1px solid var(--sogeco-border);
}

.sogeco-about-values h2 {
    margin-bottom: 30px;
    font-size: 26px;
}

.sogeco-about-value-card {
    height: 100%;
    min-height: 205px;
    margin-bottom: 20px;
    padding: 25px 20px;
    border: 1px solid var(--sogeco-border);
    background: #fff;
    transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.sogeco-about-value-card:hover {
    transform: translateY(-4px);
    border-color: var(--sogeco-gold);
    box-shadow: 0 12px 28px rgba(23, 61, 53, .07);
}

.sogeco-about-value-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 18px;
    border-radius: 50%;
    background: #f3f0e8;
    color: var(--sogeco-green);
    font-size: 20px;
}

.sogeco-about-value-card h3 {
    margin: 0 0 12px;
    color: var(--sogeco-green);
    font-size: 17px;
    font-weight: 700;
}

.sogeco-about-value-card p {
    margin: 0;
    color: var(--sogeco-muted);
    font-size: 13px;
    line-height: 1.8;
}

/* SIDEBAR */

.sogeco-about-sidebar {
    padding-left: 28px;
    border-left: 1px solid var(--sogeco-border);
}

.sogeco-about-sidebar > * {
    max-width: 100%;
}

.sogeco-about-sidebar .widget {
    margin-bottom: 30px;
}

.sogeco-about-sidebar .widgettitle,
.sogeco-about-sidebar .sidebar-widget-title h3 {
    font-size: 19px;
    font-weight: 700;
}

.sogeco-about-sidebar input:not([type="checkbox"]):not([type="radio"]),
.sogeco-about-sidebar select,
.sogeco-about-sidebar textarea {
    max-width: 100%;
}

/* CALL TO ACTION */

.sogeco-about-cta {
    padding: 58px 0;
    background: var(--sogeco-green);
    color: #fff;
}

.sogeco-about-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.sogeco-about-cta-inner > div:first-child {
    max-width: 650px;
}

.sogeco-about-cta-inner > div:first-child > span {
    display: block;
    margin-bottom: 13px;
    color: var(--sogeco-gold);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.sogeco-about-cta h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 27px;
    font-weight: 700;
    line-height: 1.4;
}

.sogeco-about-cta p {
    margin: 0;
    color: rgba(255, 255, 255, .75);
    font-size: 14px;
    line-height: 1.8;
}

.sogeco-about-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    flex-shrink: 0;
}

.sogeco-about-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 47px;
    padding: 13px 20px;
    border: 1px solid transparent;
    border-radius: 2px;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.sogeco-about-btn-light {
    background: var(--sogeco-gold);
    color: var(--sogeco-green-dark) !important;
}

.sogeco-about-btn-light:hover {
    background: #fff;
    color: var(--sogeco-green-dark) !important;
}

.sogeco-about-btn-outline {
    border-color: rgba(255, 255, 255, .4);
    color: #fff !important;
}

.sogeco-about-btn-outline:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, .08);
}

/* RESPONSIVE */

@media (max-width: 991px) {
    .sogeco-about-hero {
        padding: 65px 0;
    }

    .sogeco-about-hero h1 {
        font-size: 40px;
    }

    .sogeco-about-main {
        padding: 55px 0;
    }

    .sogeco-about-article {
        padding-right: 0;
    }

    .sogeco-about-sidebar {
        margin-top: 50px;
        padding: 35px 0 0;
        border-top: 1px solid var(--sogeco-border);
        border-left: 0;
    }

    .sogeco-about-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767px) {
    .sogeco-about-hero {
        padding: 48px 0 50px;
    }

    .sogeco-about-hero h1 {
        font-size: 33px;
        letter-spacing: -.4px;
    }

    .sogeco-about-hero-inner > p {
        font-size: 16px;
        line-height: 1.8;
    }

    .sogeco-about-hero:before {
        right: -300px;
    }

    .sogeco-about-hero:after {
        right: -250px;
    }

    .sogeco-about-main {
        padding: 42px 0;
    }

    .sogeco-about-article h2,
    .sogeco-about-values h2 {
        font-size: 25px;
    }

    .sogeco-about-content {
        font-size: 14px;
        line-height: 1.85;
    }

    .sogeco-about-quote {
        padding: 24px 20px 24px 48px;
    }

    .sogeco-about-quote-mark {
        left: 13px;
        font-size: 38px;
    }

    .sogeco-about-quote p {
        font-size: 15px;
    }

    .sogeco-about-values {
        margin-top: 45px;
        padding-top: 30px;
    }

    .sogeco-about-value-card {
        min-height: auto;
        padding: 22px;
    }

    .sogeco-about-cta {
        padding: 42px 0;
    }

    .sogeco-about-cta h2 {
        font-size: 23px;
    }

    .sogeco-about-cta-actions {
        width: 100%;
        flex-direction: column;
    }

    .sogeco-about-btn {
        width: 100%;
    }
}

