/**
 * Footer, Figma "Atlantic menu" w063nJEH1q0HYYz8DPp9wF, nodi 381:109 (desktop) e 365:1299 (mobile)
 * Colonne del footer builder di Astra: 1 brand e contatti (widget-7), 2 Esplora (widget-2),
 * 3 newsletter (widget-3, vuota per ora), 4 Nefertiti e riconoscimenti (widget-1).
 */
:root {
    --mgs-ft-bg: #ecf3f8;
    --mgs-ft-line: #d9e0e8;
    --mgs-ft-ink: #001a35;
    --mgs-ft-muted: #596b80;
    --mgs-ft-blue: #2b81b2;
    --mgs-ft-rose: #af8c8c;
    --mgs-ft-font: 'Work Sans', sans-serif;
    /* icone Material: call, mail, chevron_right */
    --mgs-ft-icon-call: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99z'/%3E%3C/svg%3E");
    --mgs-ft-icon-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
    --mgs-ft-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z'/%3E%3C/svg%3E");
}

/* fascia superiore */
.site-footer .site-above-footer-wrap[data-section="section-above-footer-builder"] {
    border-top: 1px solid var(--mgs-ft-line);
    background: var(--mgs-ft-bg);
}
.site-footer .site-above-footer-wrap .footer-widget-area {
    display: flex;
    flex-direction: column;
}
.site-footer .site-above-footer-wrap .footer-widget-area .widget {
    margin: 0;
}
.site-footer .site-above-footer-wrap .footer-widget-area p,
.site-footer .site-above-footer-wrap .footer-widget-area figure {
    margin: 0;
}
.site-footer .site-above-footer-wrap .wp-block-group {
    display: flex;
    flex-direction: column;
}
.site-footer .site-above-footer-wrap .wp-block-group > * {
    margin-block: 0;
}

/* etichette, titoli, testi */
.site-footer .mgs-ft-label {
    font-family: var(--mgs-ft-font);
    font-size: 10px;
    font-weight: 600;
    line-height: 14px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--mgs-ft-muted);
}
.site-footer .mgs-ft-title {
    font-family: var(--mgs-ft-font);
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: 1.12px;
    text-transform: uppercase;
    color: var(--mgs-ft-ink);
}
.site-footer .mgs-ft-address p:not(.mgs-ft-label):not(.mgs-ft-note) {
    font-family: var(--mgs-ft-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    color: var(--mgs-ft-ink);
}
.site-footer .mgs-ft-note {
    font-family: var(--mgs-ft-font);
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
    color: var(--mgs-ft-muted);
}

/* logo */
.site-footer .mgs-ft-logo img {
    display: block;
    width: 231px;
    height: auto;
}

/* social: cerchio 40px con bordo blu */
.site-footer .mgs-ft-social.wp-block-social-links {
    gap: 12px;
    margin: 0;
    padding: 0;
}
.site-footer .mgs-ft-social .wp-social-link {
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    margin: 0;
    border: 1px solid var(--mgs-ft-blue);
    border-radius: 50%;
    background: #fff;
    color: var(--mgs-ft-blue);
}
.site-footer .mgs-ft-social .wp-social-link a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0;
    color: var(--mgs-ft-blue);
}
.site-footer .mgs-ft-social .wp-social-link svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

/* contatti con icona */
.site-footer .mgs-ft-contacts {
    gap: 10px;
}
.site-footer .mgs-ft-contact {
    display: flex;
    line-height: 22px;
}
.site-footer .mgs-ft-contact a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--mgs-ft-font);
    font-size: 14px;
    font-weight: 500;
    line-height: 22px;
    text-decoration: none;
    color: var(--mgs-ft-ink);
}
.site-footer .mgs-ft-contact a::before {
    content: "";
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    background-color: var(--mgs-ft-blue);
    -webkit-mask: var(--mgs-ft-icon-mail) center / 16px 16px no-repeat;
    mask: var(--mgs-ft-icon-mail) center / 16px 16px no-repeat;
}
.site-footer .mgs-ft-contact a[href^="tel:"]::before {
    -webkit-mask-image: var(--mgs-ft-icon-call);
    mask-image: var(--mgs-ft-icon-call);
}

/* Esplora: menu del footer */
.site-footer .widget_nav_menu ul.menu {
    margin: 0;
    padding: 0;
    list-style: none;
}
.site-footer .widget_nav_menu .menu-item {
    margin: 0;
    padding: 0;
}
.site-footer .widget_nav_menu .menu-item a {
    display: flex;
    align-items: center;
    gap: 8px;
    box-sizing: border-box;
    font-family: var(--mgs-ft-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    text-decoration: none;
    color: var(--mgs-ft-ink);
}
.site-footer .widget_nav_menu .menu-item a::after {
    content: "";
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-left: auto;
    background-color: var(--mgs-ft-blue);
    -webkit-mask: var(--mgs-ft-icon-chevron) center / 18px 18px no-repeat;
    mask: var(--mgs-ft-icon-chevron) center / 18px 18px no-repeat;
}

/* card Nefertiti */
.site-footer .mgs-ft-nefertiti {
    align-items: center;
    gap: 18px;
    padding: 28px 24px;
    border-radius: 4px;
    background: #fff;
}
.site-footer .mgs-ft-nefertiti .wp-block-image img {
    display: block;
    width: 170px;
    height: auto;
}
.site-footer .mgs-ft-nefertiti p {
    font-family: var(--mgs-ft-font);
    font-size: 13px;
    font-weight: 400;
    line-height: 21px;
    text-align: center;
    color: var(--mgs-ft-ink);
}
.site-footer .mgs-ft-nefertiti .wp-block-buttons,
.site-footer .mgs-ft-nefertiti .wp-block-button {
    width: 100%;
    margin: 0;
}
.site-footer .mgs-ft-nefertiti .wp-block-button__link {
    display: flex;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    padding: 12px 0;
    border: 0;
    border-radius: 0;
    background: var(--mgs-ft-rose);
    font-family: var(--mgs-ft-font);
    font-size: 11px;
    font-weight: 500;
    line-height: 14px;
    letter-spacing: 0.88px;
    text-transform: uppercase;
    color: #fff;
}

/* riconoscimenti */
.site-footer .mgs-ft-awards {
    gap: 12px;
}
.site-footer .mgs-ft-awards .mgs-ft-badges {
    flex-direction: row;
    gap: 12px;
}
.site-footer .mgs-ft-badges > figure,
.site-footer .mgs-ft-badges > .TA_certificateOfExcellence {
    display: flex;
    flex: 1 0 0;
    align-items: center;
    justify-content: center;
    min-width: 0;
    margin: 0;
    padding: 14px 0;
    border-radius: 4px;
    background: #fff;
}
/* Booking: senza padding, l'immagine copre tutto il riquadro (alto come quello di Tripadvisor) */
.site-footer .mgs-ft-badges > figure {
    position: relative;
    align-self: stretch;
    min-height: 132px;
    padding: 0;
    overflow: hidden;
}
.site-footer .mgs-ft-badges > figure img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.site-footer .mgs-ft-badges .TA_links {
    margin: 0;
    padding: 0;
    list-style: none;
}
/* lo script di Tripadvisor sostituisce il contenuto con il suo widget (immagine 148x163) */
.site-footer .mgs-ft-badges .TA_certificateOfExcellence li,
.site-footer .mgs-ft-badges .TA_certificateOfExcellence a,
.site-footer .mgs-ft-badges .TA_certificateOfExcellence div {
    display: block;
    width: auto;
    height: auto;
    margin: 0 !important; /* il CSS di Tripadvisor mette margin: 0 10px 10px */
    line-height: 0;
}
.site-footer .mgs-ft-badges .TA_certificateOfExcellence img {
    display: block;
    width: auto !important; /* il CSS di Tripadvisor la allarga al riquadro e la schiaccia */
    height: 104px;
    margin: 0 auto !important; /* nel widget di Tripadvisor l'immagine resta a sinistra del contenitore */
    object-fit: cover;
}

/* newsletter: iframe di Qualitando (widget-3, provvisorio). Il modulo non comunica l'altezza:
   su desktop l'iframe si ferma al fondo della colonna più alta (Nefertiti e riconoscimenti), il resto scorre dentro */
.site-footer [data-section="sidebar-widgets-footer-widget-3"] iframe {
    display: block;
    width: 100%;
    border: 0;
}

/* copyright */
.site-footer .site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
    border-top: 1px solid var(--mgs-ft-line);
    background: var(--mgs-ft-bg);
}
.site-footer .ast-footer-copyright p {
    margin: 0;
    font-family: var(--mgs-ft-font);
    font-size: 10px;
    font-weight: 500;
    line-height: 15px;
    text-align: center;
    color: var(--mgs-ft-ink);
}

/* desktop: quattro colonne */
@media (min-width: 922px) {
    .site-footer .site-above-footer-wrap[data-section="section-above-footer-builder"] {
        padding-top: 72px;
        padding-bottom: 64px;
    }
    /* colonne del Figma; il numero di colonne si sceglie nel Customizer (3 senza newsletter, 4 con) */
    .site-footer .site-above-footer-inner-wrap.ast-builder-grid-row {
        grid-column-gap: 48px;
    }
    .site-footer .ast-builder-grid-row-4-equal .site-above-footer-inner-wrap.ast-builder-grid-row {
        grid-template-columns: minmax(0, 320px) minmax(0, 300px) minmax(0, 1fr) minmax(0, 290px);
    }
    /* con 3 colonne (senza newsletter) le larghezze del Figma restano e lo spazio libero si divide fra le colonne */
    .site-footer .ast-builder-grid-row-3-equal .site-above-footer-inner-wrap.ast-builder-grid-row {
        grid-template-columns: minmax(0, 320px) minmax(0, 300px) minmax(0, 290px);
        justify-content: space-between;
    }
    .site-footer [data-section="sidebar-widgets-footer-widget-7"] {
        gap: 28px;
    }
    .site-footer .mgs-ft-logo {
        padding-bottom: 20px;
    }
    .site-footer .mgs-ft-address {
        gap: 8px;
    }
    .site-footer [data-section="sidebar-widgets-footer-widget-2"] {
        gap: 8px;
    }
    .site-footer .widget_nav_menu .menu-item a {
        height: 38px;
        border-bottom: 1px solid var(--mgs-ft-line);
    }
    .site-footer [data-section="sidebar-widgets-footer-widget-1"] {
        gap: 24px;
    }
    /* la colonna si allunga fino al fondo della riga (Astra allinea le colonne in alto) e l'iframe la riempie */
    .site-footer .site-above-footer-wrap .site-footer-section:has([data-section="sidebar-widgets-footer-widget-3"]) {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        align-self: stretch;
    }
    .site-footer [data-section="sidebar-widgets-footer-widget-3"],
    .site-footer [data-section="sidebar-widgets-footer-widget-3"] .widget,
    .site-footer [data-section="sidebar-widgets-footer-widget-3"] .widget > p {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
    }
    .site-footer [data-section="sidebar-widgets-footer-widget-3"] iframe {
        flex: 1 1 auto;
        min-height: 0;
    }
}

/* mobile e tablet: una colonna, sezioni a tutta larghezza separate da linee */
@media (max-width: 921px) {
    .site-footer .site-above-footer-wrap .footer-widget-area {
        text-align: left;
    }
    .site-footer .site-above-footer-wrap[data-section="section-above-footer-builder"],
    .site-footer .site-above-footer-wrap .ast-builder-grid-row-container-inner {
        padding: 0;
    }
    .site-footer .site-above-footer-inner-wrap.ast-builder-grid-row {
        grid-row-gap: 0;
    }
    .site-footer .ast-builder-grid-row-container[data-section].ast-footer-row-tablet-stack .site-footer-section {
        margin: 0;
    }
    .site-footer .site-above-footer-wrap .site-footer-section:has([data-section="sidebar-widgets-footer-widget-3"]) {
        display: none;
    }
    /* brand e contatti: logo, indirizzo, contatti, social */
    .site-footer [data-section="sidebar-widgets-footer-widget-7"] .widget:has(.mgs-ft-logo) {
        padding: 28px 20px;
    }
    .site-footer [data-section="sidebar-widgets-footer-widget-7"] .widget:has(.mgs-ft-address) {
        order: 1;
        padding: 18px 20px;
        border-top: 1px solid var(--mgs-ft-line);
        border-bottom: 1px solid var(--mgs-ft-line);
    }
    .site-footer [data-section="sidebar-widgets-footer-widget-7"] .widget:has(.mgs-ft-contacts) {
        order: 2;
        padding: 18px 20px;
        border-bottom: 1px solid var(--mgs-ft-line);
    }
    .site-footer [data-section="sidebar-widgets-footer-widget-7"] .widget:has(.mgs-ft-social) {
        order: 3;
        padding: 18px 20px;
    }
    .site-footer .mgs-ft-address {
        gap: 6px;
    }
    /* Esplora */
    .site-footer [data-section="sidebar-widgets-footer-widget-2"] {
        padding: 10px 0 14px;
        border-bottom: 1px solid var(--mgs-ft-line);
    }
    .site-footer .mgs-ft-title {
        display: flex;
        align-items: center;
        height: 48px;
        padding: 0 20px;
    }
    .site-footer .widget_nav_menu .menu-item a {
        height: 40px;
        padding: 0 20px;
    }
    /* Nefertiti e riconoscimenti */
    .site-footer [data-section="sidebar-widgets-footer-widget-1"] .widget:has(.mgs-ft-nefertiti) {
        padding: 28px 20px;
        border-bottom: 1px solid var(--mgs-ft-line);
    }
    .site-footer .mgs-ft-nefertiti .wp-block-image img {
        width: 160px;
    }
    .site-footer [data-section="sidebar-widgets-footer-widget-1"] .widget:has(.mgs-ft-awards) {
        padding: 24px 20px 36px;
    }
    .site-footer .mgs-ft-awards {
        gap: 14px;
    }
    /* riquadri quadrati (max 175px) perché l'immagine Booking si veda intera */
    .site-footer .mgs-ft-badges > figure,
    .site-footer .mgs-ft-badges > .TA_certificateOfExcellence {
        flex: 0 1 175px;
        aspect-ratio: 1;
    }
    /* copyright */
    .site-footer .site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
        padding: 20px 20px 24px;
    }
    .site-footer .ast-footer-copyright p {
        font-size: 9.12px;
        color: var(--mgs-ft-muted);
    }
    /* crediti: logo Megiston sopra al testo */
    .site-footer .site-below-footer-wrap[data-section="section-below-footer-builder"] {
        padding: 18px 20px 22px;
    }
    .site-footer .ast-footer-html-1 .ast-builder-html-element p {
        position: relative;
        margin: 0;
        padding-top: 34px;
        font-size: 9.12px;
        line-height: 14px;
        text-align: center;
    }
    .site-footer .ast-footer-html-1 .ast-builder-html-element p img {
        position: absolute;
        top: 0;
        left: 50%;
        margin: 0 !important;
        transform: translateX(-50%);
    }
    .site-footer .ast-footer-html-1 .ast-builder-html-element p span {
        font-size: 7.3px !important;
    }
}
