/* ============================================================
   FIXED SOCIALS — solo LinkedIn, linee ribilanciate
   ============================================================ */

/* Spazio tra fine linea superiore e logo */
.vlt-fixed-socials {
    padding: 6.5rem 0 5rem;
}
@media only screen and (min-width: 1200px) {
    .vlt-fixed-socials {
        padding: 7rem 0 6.25rem;
    }
}

/* Linee più corte attorno all'icona unica */
.vlt-fixed-socials::before {
    margin-bottom: 1.75rem;
}
.vlt-fixed-socials::after {
    margin-top: 1.75rem;
}

/* ============================================================
   CV DOWNLOAD BUTTON — pointer events override (footer fixed)
   ============================================================ */
footer .vlt-btn {
    pointer-events: auto;
}

/* ============================================================
   ABOUT — allineamento barre sinistra con barre destra
   ============================================================ */
.vlt-section[data-anchor="About"] .row {
    align-items: stretch;
}
.vlt-section[data-anchor="About"] .col-xl-6:first-child {
    display: flex;
    flex-direction: column;
}
.vlt-section[data-anchor="About"] .col-xl-6:first-child .vlt-gap-100--lg {
    flex: 1;
    min-height: 2rem;
}
.vlt-section[data-anchor="About"] .col-xl-6:first-child .vlt-animated-block:nth-child(3) {
    padding-top: 1.7rem;
}

/* ============================================================
   LANGUAGE SWITCHER — navbar top right
   ============================================================ */
.vlt-navbar-lang {
    position: relative;
    font-size: .9375rem;
    text-transform: uppercase;
    margin-right: 1.5rem;
    cursor: pointer;
}

.vlt-navbar-lang__current {
    display: flex;
    align-items: center;
    gap: .3rem;
    color: inherit;
    white-space: nowrap;
    pointer-events: auto;
    user-select: none;
}

.vlt-navbar-lang__current svg {
    transition: transform .25s ease;
}

.vlt-navbar-lang:hover .vlt-navbar-lang__current svg,
.vlt-navbar-lang.is-open .vlt-navbar-lang__current svg {
    transform: rotate(180deg);
}

.vlt-navbar-lang__dropdown {
    position: absolute;
    top: calc(100% + .75rem);
    right: 0;
    list-style: none;
    margin: 0;
    padding: .5rem 0;
    background: #fff;
    min-width: 10rem;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s;
    z-index: 9999;
}

.vlt-navbar-lang:hover .vlt-navbar-lang__dropdown,
.vlt-navbar-lang.is-open .vlt-navbar-lang__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.vlt-navbar-lang__dropdown li {
    margin: 0;
    padding: 0;
}

.vlt-navbar-lang__dropdown a {
    display: block;
    padding: .45rem 1.1rem;
    color: #1a1a1a;
    font-size: .875rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    white-space: nowrap;
    transition: color .2s, background .2s;
}

.vlt-navbar-lang__dropdown a:hover {
    color: #0047AB;
    background: #f4f6fb;
}

.vlt-navbar-lang__dropdown a.is-active {
    color: #0047AB;
    font-weight: 600;
}

/* Navbar trasparente: testo bianco */
.vlt-navbar--transparent .vlt-navbar-lang__current {
    color: #fff;
}

/* Quando la navbar diventa scura (sticky attivato), testo scuro */
.vlt-navbar--dark .vlt-navbar-lang__current,
.vlt-navbar--white .vlt-navbar-lang__current {
    color: #1a1a1a;
}

/* ============================================================
   PROJECTS — 3 card per slide (layout identico al Blog)
   ============================================================ */

/* Ogni slide occupa tutta la larghezza del container */
.vlt-section[data-anchor="Projects"] .swiper-slide {
    width: 100%;
}

/* Tutte le card hanno altezza fissa identica.
   L'immagine è già position:absolute e riempie il 100% della card —
   basta fissare l'altezza dell'article e il resto funziona da solo. */
.vlt-section[data-anchor="Projects"] .vlt-post--masonry {
    height: 480px;
    overflow: hidden;
}
.vlt-section[data-anchor="Projects"] .vlt-post-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Content sempre visibile: l'header (titolo + label) è sempre leggibile */
.vlt-section[data-anchor="Projects"] .vlt-post-content {
    opacity: 1 !important;
    justify-content: flex-end;
}

/* Excerpt nascosto di default, appare al hover */
.vlt-section[data-anchor="Projects"] .vlt-post-excerpt {
    opacity: 0;
    transition: opacity 300ms;
}

.vlt-section[data-anchor="Projects"] .vlt-post--masonry:hover .vlt-post-excerpt {
    opacity: 1;
}

/* ============================================================
   PROJECTS — Human Life Cycle: font ridotto per stare su 2 righe
   ============================================================ */
.vlt-section[data-anchor="Projects"] .vlt-post--long-title .vlt-post-title {
    font-size: 1.8rem;
}

/* Nasconde "Scopri il progetto" su tutte le card senza link */
.vlt-section[data-anchor="Projects"] .vlt-post-footer:not(.has-link) {
    display: none !important;
}

.vlt-section[data-anchor="Projects"] .vlt-post-footer {
    position: absolute;
    bottom: 2.5rem;
    left: 2.5rem;
    opacity: 0;
    transition: opacity 300ms;
}

.vlt-section[data-anchor="Projects"] .vlt-post--masonry:hover .vlt-post-footer {
    opacity: 1;
}

/* ============================================================
   ABOUT — responsività mobile
   ============================================================ */

/* ============================================================
   HOME — abbassa blocco testo in mobile
   ============================================================ */
@media only screen and (max-width: 767px) {
    .vlt-section[data-anchor="Home"] .col-lg-5 {
        padding-top: 3rem;
    }
}

/* Barre sinistra: nascoste in mobile (rimpiazzate da copie in fondo alla col destra) */
@media only screen and (max-width: 767px) {
    .about-bar-desktop {
        display: none !important;
    }
    .about-bar-mobile {
        display: block !important;
    }
}

/* Blocco 25+ */
@media only screen and (max-width: 767px) {
    .vlt-experience-block__number {
        font-size: 10rem;
    }
    .vlt-experience-block__title {
        font-size: 1.1rem;
    }
    .vlt-experience-block__title::before {
        width: 2.5rem;
    }

    /* Titolo Competenze Multidisciplinari */
    .vlt-section[data-anchor="About"] h3 {
        font-size: 1.75rem;
        margin-top: 4rem;
    }
}

/* ============================================================
   PROJECTS — no carosello in mobile, tutte le card incolonnate
   ============================================================ */
@media only screen and (max-width: 767px) {
    .vlt-section[data-anchor="Projects"] .swiper-wrapper {
        display: flex !important;
        flex-direction: column !important;
        transform: none !important;
        height: auto !important;
    }
    .vlt-section[data-anchor="Projects"] .swiper-slide {
        width: 100% !important;
        height: auto !important;
    }
    /* Le card nei row si impilano una per una */
    .vlt-section[data-anchor="Projects"] .col-xl-4 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }
    .vlt-section[data-anchor="Projects"] .vlt-post--masonry {
        margin-bottom: 1.5rem;
    }
    /* Nascondi i controlli navigazione */
    .vlt-section[data-anchor="Projects"] .vlt-swiper-pagination,
    .vlt-section[data-anchor="Projects"] .vlt-swiper-button-prev,
    .vlt-section[data-anchor="Projects"] .vlt-swiper-button-next {
        display: none !important;
    }
}

/* ============================================================
   PREMI — allinea freccia sinistra al margine del testo
   ============================================================ */
.vlt-section[data-anchor="Testimonials"] .vlt-testimonials-anchor {
    margin-left: 1.25rem;
}

/* Stelle premi: sempre bianche */
.vlt-section[data-anchor="Testimonials"] .has-accent-color {
    color: #fff !important;
}

/* ============================================================
   PREMI — layout schede (desktop e mobile)
   ============================================================ */
.vlt-section[data-anchor="Testimonials"] .vlt-testimonial {
    display: flex;
    flex-direction: column;
    padding: 0 1.25rem;
}
.vlt-section[data-anchor="Testimonials"] .vlt-testimonial__meta {
    order: 1;
}
.vlt-section[data-anchor="Testimonials"] .vlt-testimonial__text {
    order: 2;
    margin-top: 2rem;
}

/* ============================================================
   PREMI — meta (titolo+data) prima del testo in mobile
   ============================================================ */
@media only screen and (max-width: 767px) {
    .vlt-section[data-anchor="Testimonials"] .col-xl-4 {
        margin-top: -4rem;
    }
    .vlt-section[data-anchor="Testimonials"] .vlt-testimonial__text {
        margin-top: 2rem;
    }
}

/* ============================================================
   PREMI — titolo responsivo
   ============================================================ */
@media only screen and (max-width: 1199px) {
    .vlt-section[data-anchor="Testimonials"] h3 {
        font-size: 2.5rem;
    }
}
@media only screen and (max-width: 991px) {
    .vlt-section[data-anchor="Testimonials"] h3 {
        font-size: 2rem;
    }
}
@media only screen and (max-width: 767px) {
    .vlt-section[data-anchor="Testimonials"] h3 {
        font-size: 2.4rem;
    }
}

/* ============================================================
   FOOTER — mobile: nascondi bottone CV, mostra copyright con fade-in
   ============================================================ */
@media only screen and (max-width: 767px) {
    .vlt-footer-copyright__text {
        opacity: 0;
        transition: opacity .6s ease;
        text-align: right;
        width: 100%;
    }
    .vlt-footer-copyright__text.is-visible {
        opacity: 1;
    }
    footer.on-contact .vlt-btn {
        display: none !important;
    }
    footer.on-contact {
        justify-content: flex-end;
    }
}

/* ============================================================
   ARABIC (RTL) — correzioni layout
   ============================================================ */

/* Premi — frecce carosello: ordine e spazio corretti in RTL */
[dir="rtl"] .vlt-slider-controls--style-1 {
    direction: ltr;
    display: flex;
    justify-content: flex-end;
    width: 100%;
    gap: 1rem;
    padding-right: 1.25rem;
}
[dir="rtl"] .vlt-slider-controls--style-1 .vlt-swiper-button-prev + .vlt-swiper-button-next {
    margin-left: 0;
}

/* Premi — stelle equidistanti in RTL */
[dir="rtl"] .vlt-section[data-anchor="Testimonials"] .has-accent-color {
    display: flex;
    gap: 8px;
}
[dir="rtl"] .vlt-section[data-anchor="Testimonials"] .has-accent-color svg {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Testimonials — tutti i testi allineati a destra in RTL */
[dir="rtl"] .vlt-section[data-anchor="Testimonials"] {
    text-align: right;
}

/* Education — tutti i testi allineati a destra in RTL */
[dir="rtl"] .vlt-section[data-anchor="Education"] {
    text-align: right;
}

/* Titolo sezione Progetti allineato a destra in RTL */
[dir="rtl"] .vlt-section[data-anchor="Projects"] h3 {
    text-align: right;
}

/* Frecce carosello Progetti invertite in RTL desktop */
[dir="rtl"] .vlt-slider-controls--style-2 .vlt-swiper-button-prev {
    left: auto;
    right: -6.25rem;
    transform: scaleX(-1);
}
[dir="rtl"] .vlt-slider-controls--style-2 .vlt-swiper-button-next {
    right: auto;
    left: -6.25rem;
    transform: scaleX(-1);
}

/* Card progetti: testi allineati a destra in RTL */
[dir="rtl"] .vlt-post-header,
[dir="rtl"] .vlt-post-excerpt {
    text-align: right;
}

/* Freccia "Scopri il progetto" a destra del testo in RTL */
[dir="rtl"] .vlt-read-more-link {
    flex-direction: row-reverse;
}
[dir="rtl"] .vlt-read-more-link svg {
    margin-left: 1.5rem;
    margin-right: 0;
}

/* Pallini carosello: equidistanti e allineati a destra in RTL */
[dir="rtl"] .vlt-swiper-pagination {
    text-align: right;
}
[dir="rtl"] .vlt-swiper-pagination .swiper-pagination-bullet + .swiper-pagination-bullet {
    margin-left: 0;
    margin-right: 1.375rem;
}

/* Burger: spazio dalla tendina lingue in RTL mobile */
@media only screen and (max-width: 1199px) {
    [dir="rtl"] .vlt-menu-burger {
        margin-right: 1.25rem;
    }
}

/* Dropdown lingua aperto a sinistra in RTL */
[dir="rtl"] .vlt-navbar-lang__dropdown {
    right: auto;
    left: 0;
}

/* About — tutti i testi allineati a destra in RTL */
[dir="rtl"] .vlt-section[data-anchor="About"] {
    text-align: right;
}

/* Numeri percentuale a sinistra in RTL */
[dir="rtl"] .vlt-progress-bar__title .counter {
    float: left;
}

/* About — tutte le barre sotto la colonna sinistra in RTL desktop */
@media only screen and (min-width: 1200px) {
    [dir="rtl"] .about-bar-desktop {
        display: none !important;
    }
    [dir="rtl"] .about-bar-mobile {
        display: block !important;
    }
}

/* Logo allineato alla riga sottile dei social (destra) */
@media only screen and (min-width: 1200px) {
    [dir="rtl"] .vlt-navbar-inner {
        padding-right: 2rem;
    }
}

/* Sezioni navbar: flusso RTL, spaziatura uniforme */
[dir="rtl"] .vlt-default-menu__navigation .sf-menu {
    direction: rtl;
}
[dir="rtl"] .vlt-default-menu__navigation .sf-menu > li + li {
    margin-left: 0;
    margin-right: 3.125rem;
}
/* Avvicina la nav al logo (destra fisica in RTL) */
[dir="rtl"] .vlt-navbar-inner--center .container {
    display: flex;
    justify-content: flex-start;
    padding-right: 0;
    padding-left: 0;
}

/* Icona social sposta a destra, linea scroll a sinistra */
[dir="rtl"] .vlt-fixed-socials {
    left: auto;
    right: 1.1875rem;
}
[dir="rtl"] .vlt-fullpage-slider-progress-bar {
    right: auto;
    left: 3.75rem;
}

/* Contact — tutti i testi allineati a destra in RTL */
[dir="rtl"] .vlt-section[data-anchor="Contact"] {
    text-align: right;
}

/* Contact — spazio tra form e colonna testi in RTL (solo desktop) */
@media only screen and (min-width: 1200px) {
    [dir="rtl"] .vlt-section[data-anchor="Contact"] .col-xl-6.offset-xl-2 {
        padding-right: 4rem;
        margin-left: 0;
    }
}

/* Contact — form full-width e centrato in RTL mobile */
@media only screen and (max-width: 1199px) {
    [dir="rtl"] .vlt-section[data-anchor="Contact"] .col-xl-6.offset-xl-2 {
        padding-left: 0;
        padding-right: 0;
        text-align: center;
    }
    [dir="rtl"] .vlt-section[data-anchor="Contact"] .col-xl-6.offset-xl-2 h4 {
        text-align: right;
    }
    [dir="rtl"] .vlt-section[data-anchor="Contact"] .col-xl-6.offset-xl-2 .vlt-contact-form {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }
    [dir="rtl"] .vlt-section[data-anchor="Contact"] .col-xl-6.offset-xl-2 .vlt-contact-form .vlt-form-group,
    [dir="rtl"] .vlt-section[data-anchor="Contact"] .col-xl-6.offset-xl-2 .vlt-contact-form .message {
        width: 100%;
    }
}

/* Testo home (sottotitolo + testo paragrafo) allineato a destra */
[dir="rtl"] .vlt-section[data-anchor="Home"] .col-lg-5 {
    text-align: right;
}

/* ============================================================
   HOME — titolo responsivo
   ============================================================ */
@media only screen and (max-width: 1199px) {
    h1.vlt-large-heading {
        font-size: 6rem;
    }
}
@media only screen and (max-width: 991px) {
    h1.vlt-large-heading {
        font-size: 4.5rem;
    }
}
@media only screen and (max-width: 767px) {
    h1.vlt-large-heading {
        font-size: 3.25rem;
    }
}
@media only screen and (max-width: 480px) {
    h1.vlt-large-heading {
        font-size: 2.5rem;
    }
}
