/*
 * ==========================================
 * LUISS RESEARCH CORE - CSS OVERRIDES
 * ==========================================
 * Fix e patch per comportamenti forzati nativi dei blocchi Gutenberg
 * e dei blocchi di plugin (Search, WPML, Navigazione).
 * Le personalizzazioni di layout e componenti vanno in utilities.css
 * ==========================================
 */

/* 
 * ==========================================
 * 1. GENERAL & NATIVE BLOCKS
 * ==========================================
 */
.wp-block-button__link {
    text-decoration: none !important;
    outline: none !important;
}

.wp-block-button:has(
  > .wp-block-button__link.has-blu-scuro-background-color
) {
  background-color: var(--wp--preset--color--blu-scuro);
}

.wp-block-button__link.has-blu-scuro-background-color {
  background-color: transparent !important;
}

.wp-block-image img {
    vertical-align: initial !important;
}
/* Fix baseline gap (rimuove i pixel vuoti extra sotto l'immagine nei flex) */
header .wp-block-image {
    line-height: 0 !important;
}

footer {
    margin-block-start: 0 !important;
}

/* 
 * ==========================================
 * 1. SINGLE POST
 * ==========================================
 */
 @media (min-width: 1163px) { 
    body.single-post .wp-block-post-featured-image {
        width: 520px;
        height: 520px;
    }
    body.single-post .wp-block-post-featured-image img {
        width: 100% !important;
        height: 100% !important;
    }

 }

/* 
 * ==========================================
 * 2. RESPONSIVE BREAKPOINTS (1163px)
 * ==========================================
 * Sovrascrive i 782px di default di WordPress.
 */
@media (max-width: 1163px) {
    /* Colonne: Impilamento verticale */
    .wp-block-columns:not(.is-not-stacked-on-mobile) {
        flex-wrap: wrap !important;
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
        flex-basis: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
    
    /* Media & Text: Impilamento verticale */
    .wp-block-media-text.is-stacked-on-mobile {
        grid-template-columns: 100% !important;
    }
    .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media,
    .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    /* Mostra Hamburger e nasconde menu inline */
    .wp-block-navigation__responsive-container-open {
        display: flex !important;
    }
    .wp-block-navigation__responsive-container:not(.is-menu-open.has-modal-open) {
        display: none !important;
    }
}

/* 
 * ==========================================
 * 3. HEADER OVERLAY FIXES (NATIVE NAVIGATION)
 * ==========================================
 */
@media (max-width: 1163px) {
    /* Rimuove padding default dell'overlay modale */
    .wp-block-navigation__responsive-container.is-menu-open:not( .disable-default-overlay ) .wp-block-navigation__responsive-container-content {
        padding: 0 !important;
    }
    /* Forza colonna verticale nel menu */
    header .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
        flex-direction: column !important;
    }
    /* Reset giustificazione per i link menu mobile */
    .wp-block-navigation.items-justified-right {
        --navigation-layout-justification-setting: flex-start;
        --navigation-layout-justify: flex-start;
    }
}

/* 
 * ==========================================
 * 4. SEARCH BLOCK NATIVO
 * ========================================== 
 */
.wp-block-search__inside-wrapper {
    flex-direction: column;
}
.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input {
    display: none;
}
.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden {
    overflow: visible !important;
}
.wp-block-search.wp-block-search__button-only .wp-block-search__input {
    border-radius: 0 !important;
    border: 2px solid var(--wp--preset--color--grigio-scuro, #333333) !important;
    outline: none;
    order: 2;
    right: 0;
    position: fixed;
    width: 100vw;
    top: 190px;
    z-index: 999;
}
.wp-block-search__close-button {
    position: fixed !important;
    top: 203px !important;
    right: 20px !important;
    z-index: 1000 !important;
}
header .wp-block-search.wp-block-search__button-only .wp-block-search__button,
header .wp-block-search__button {
    padding: 0 !important;
    margin: 0 !important;
}
.wp-block-search__button svg {
    transform: rotate(-90deg);
    bottom: 4px;
    position: relative;
    width: 24px;
    height: 24px;
}
@media screen and (max-width: 1100px) {
    .wp-block-search.wp-block-search__button-only .wp-block-search__input {
        top: 146px; 
    }
    .wp-block-search__close-button {
        top: 157px !important;
    }
}
@media screen and (max-width: 1163px) {
    .wp-block-search.wp-block-search__button-only .wp-block-search__input {
        top: auto !important;
        bottom: 0 !important;
    }
    .wp-block-search__close-button {
        top: auto !important;
        bottom: 7px !important;
    }
}

/* 
 * ==========================================
 * 5. WPML LANGUAGE SWITCHER
 * ========================================== 
 */
body .wpml-language-switcher-block ul.horizontal-list {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    --language-spacing: 0px !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
}
body .wpml-language-switcher-block ul.horizontal-list li,
body .wpml-language-switcher-block ul.hasSpacing.isHorizontal li {
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
}
.wpml-language-switcher-block .wp-block-navigation-item__content,
.wpml-language-switcher-block .wp-block-navigation-item__label {
    white-space: nowrap !important;
    word-break: normal !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
}
body .wpml-language-switcher-block ul.horizontal-list > li:first-child {
    order: 3 !important;
}
body .wpml-language-switcher-block ul.horizontal-list > li:last-child {
    order: 1 !important;
}
body .wpml-language-switcher-block ul.horizontal-list > li:first-child::before {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important;
    height: 2px !important;
    background-color: var(--wp--preset--color--base, #FFFFFF) !important;
    margin: 0 8px !important;
    vertical-align: middle !important;
}
body .wpml-language-switcher-block,
body .wpml-language-switcher-block > .wp-block-navigation-item {
    width: auto !important;
}
@media screen and (max-width: 1163px) {
    .wpml-language-switcher-block ul.hasSpacing.isHorizontal li:not(:last-child) {
        display: block;
    }
}

/* 
 * ==========================================
 * 6. TOUCH TARGETS (CORE CONTROLS)
 * ========================================== 
 */
 @media screen and (max-width: 1163px) {
    .wp-block-navigation__responsive-container-close {
        width: 44px !important;
        height: 44px !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        top: 10px;
    }
}
@media (max-width: 599px) {
    .wp-block-search__button.has-icon,
    .wp-block-navigation__responsive-container-open {
        width: 44px !important;
        height: 44px !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }
    .wp-block-search__button.has-icon svg,
    .wp-block-navigation__responsive-container-open svg {
        width: 28px;
        height: 28px;
    }
}

[class*="-archive"] .slick-arrow {
  position: absolute;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font-size: 0;
  color: inherit;
  cursor: pointer;
}

body.single-ai4society_obs
  .publications-archive
   {
  margin-bottom: 120px;
}



@media (min-width: 1164px) {
  body {
    --search-top: 160px;
  }

  body.admin-bar {
    --search-top: 192px;
  }

  .wp-block-search.wp-block-search__button-only .wp-block-search__input {
    top: var(--search-top) !important;
  }

  .wp-block-search__close-button {
    top: calc(var(--search-top) + 13px) !important;
  }
}

li[data-wpml="current-language-item"] {
    font-weight: bold !important;
}