/* ==================================================
   VIAGGIANTI BIO - REGOLE SPECIFICHE
   Estratte da grandidonne_viaggianti.css
   ================================================== */

.viaggianti-bio-main { width:100%; }
.viaggianti-bio-content { max-width:1180px; margin-inline:auto; }
.viaggianti-bio-title { margin:0.5em 0 0.2em; text-align:center; }
.viaggianti-bio-intro, .viaggianti-bio-back { text-align:center; }
.viaggianti-bio-grid { margin: 2rem 0 2.5rem; }
.viaggianti-bio-entry { scroll-margin-top:6rem; min-height:0; }
.viaggianti-bio-entry h3 a { text-decoration:none; }
.viaggianti-bio-entry > p { margin:0; }
.viaggianti-bio-entry .vai, .viaggianti-bio-entry .vaisu { margin-left:.25rem; }
.viaggianti-bio-entry.bio-entry-active { outline:3px solid rgba(79,2,86,.28); outline-offset:.35rem; }
@media screen and (max-width:40em) { .viaggianti-bio-content { width:96%; } }

/* ==================================================
   VIAGGIANTI BIO - ALLINEAMENTO CONTENUTI E FOOTER
   Allinea griglia e footer alla stessa larghezza della topbar.
   Corregge il margine sinistro ereditato da div.quadrati_content
   e applica il layout del footer anche alla variante Bio.
   ================================================== */

.viaggianti-bio-page .viaggianti-container .quadrati_content.viaggianti-bio-content {
    width: min(100% - 2rem, var(--container));
    max-width: var(--container);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.viaggianti-bio-page > .room-foot-content {
    width: min(100% - 2rem, var(--container));
    max-width: var(--container);
    margin: 1.5rem auto 2rem;
    padding: 1rem;
    box-sizing: border-box;
    text-align: center;
}

.viaggianti-bio-page > .room-foot-content .foot,
.viaggianti-bio-page > .room-foot-content p.foot,
.viaggianti-bio-page > .room-foot-content .social,
.viaggianti-bio-page > .room-foot-content .copy {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

@media screen and (max-width: 48rem) {
    .viaggianti-bio-page .viaggianti-container .quadrati_content.viaggianti-bio-content,
    .viaggianti-bio-page > .room-foot-content {
        width: min(100% - 1rem, var(--container));
    }
}

/* ==================================================
   VIAGGIANTI BIO - CARD COME PROGRAMMA2627
   Regole limitate esclusivamente a .viaggianti-bio-page.
   Stesse dimensioni tipografiche, comportamento responsive
   e posizione del comando di ritorno alla foto.
   ================================================== */

.viaggianti-bio-page .viaggianti-bio-grid {
    margin: 2rem 0 2.5rem;
}

.viaggianti-bio-page .viaggianti-bio-entry {
    position: relative;
    scroll-margin-top: 6rem;
    min-height: 0;
    --card-up-icon-size: 1.2rem;
}

.viaggianti-bio-page .viaggianti-bio-entry h3 {
    font-size: 1.35rem;
    line-height: 1.3;
}

.viaggianti-bio-page .viaggianti-bio-entry h3 a {
    text-decoration: none;
}

.viaggianti-bio-page .viaggianti-bio-entry > p {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.55;
}

.viaggianti-bio-page .viaggianti-bio-entry.bio-entry-active {
    outline: 3px solid rgba(79, 2, 86, .28);
    outline-offset: .35rem;
}

/* Riserva lo stesso spazio usato in Programma2627
   per l'icona di ritorno alla foto. */
.viaggianti-bio-page .viaggianti-bio-entry > h3 {
    min-width: 0;
    padding-right: calc(var(--card-up-icon-size) + .75rem);
}

/* I link .vai/.vaisu già puntano alla foto corrispondente
   in viaggianti.html: vengono mostrati come in Programma2627,
   a destra del nome della persona. */
.viaggianti-bio-page .viaggianti-bio-entry > p > a.vai[href*="viaggianti.html#"],
.viaggianti-bio-page .viaggianti-bio-entry > p > a.vaisu[href*="viaggianti.html#"] {
    position: absolute;
    top: 2rem;
    right: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--card-up-icon-size);
    height: var(--card-up-icon-size);
    margin: 0;
    padding: 0;
    line-height: 1;
    z-index: 2;
}

/* Stessa dimensione e comportamento dell'icona doppia freccia. */
.viaggianti-bio-page .viaggianti-bio-entry .fa-angle-double-up {
    flex: 0 0 auto;
    width: var(--card-up-icon-size);
    min-width: var(--card-up-icon-size);
    font-size: var(--card-up-icon-size) !important;
    line-height: 1;
    text-align: center;
    vertical-align: middle;
}

/* Stessa risposta alla riduzione della finestra di Programma2627. */
@media (max-width: 48em) {
    .viaggianti-bio-page .viaggianti-bio-entry > p > a.vai[href*="viaggianti.html#"],
    .viaggianti-bio-page .viaggianti-bio-entry > p > a.vaisu[href*="viaggianti.html#"] {
        top: 1.5rem;
        right: 1.5rem;
    }
}

@media (max-width: 640px) {
    .viaggianti-bio-page .viaggianti-bio-entry > p {
        font-size: 0.88rem;
    }
}

/* ==================================================
   VIAGGIANTI BIO - FOOTER COME ATLANTE
   Regole confinate alla sola pagina Viaggianti Bio.
   ================================================== */

.viaggianti-bio-page .viaggianti-bio-footer-host {
    width: min(100% - 2rem, var(--container));
    max-width: var(--container);
    margin: 0 auto;
}

.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content {
    width: 100%;
    margin: 1.5rem auto 0;
    padding-top: 1rem;
    text-align: center;
}

.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .foot {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    background: none;
}

.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content p.foot {
    margin: 0;
    padding: .5rem 1rem 0;
    font-family: Avenir, "Segoe UI", Arial, sans-serif;
    line-height: 1.75;
    text-align: center;
    color: inherit;
}

/* Come Atlante: marchio e link del testo istituzionale in grassetto. */
.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .bold {
    font-weight: 700;
}

.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content a.vai,
.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content a.vai:visited {
    color: var(--primary);
    font-weight: 700;
    text-decoration: none;
}

.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content a.vai:hover,
.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content a.vai:focus,
.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content a.vai:focus-visible {
    color: var(--secondary);
    text-decoration: underline;
}

.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .social {
    margin: .75rem auto 0;
    padding: 0;
    text-align: center;
}

.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .i-social-donna,
.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .i-social-donna:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin: .2rem;
    border-radius: 50%;
    color: var(--primary);
    background: rgba(90,26,85,.08);
    text-decoration: none;
    transition: var(--transition);
}

.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .i-social-donna:hover,
.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .i-social-donna:focus,
.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .i-social-donna:focus-visible {
    color: var(--white);
    background: var(--primary);
    transform: translateY(-2px);
}

/* Stessa scala tipografica di Atlante per privacy e copyright. */
.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .copy {
    margin: .75rem auto 0;
    padding: 0;
    font-size: 1rem;
    line-height: 1.7;
    text-align: center;
    color: inherit;
}

.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .copy a.codrops-icon-multisens,
.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .copy a.codrops-icon-multisens:visited {
    font-size: 1.25rem;
    color: var(--primary);
    text-decoration: none;
}

.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .copy a.codrops-icon-multisens:hover,
.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .copy a.codrops-icon-multisens:focus,
.viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .copy a.codrops-icon-multisens:focus-visible {
    text-decoration: underline;
}

/* Torna all'inizio: stesso contenitore, stile e stati di Atlante. */
.viaggianti-bio-page .viaggianti-bio-site-footer,
.viaggianti-bio-page footer.footer-white.viaggianti-bio-site-footer {
    background: #fff;
}

.viaggianti-bio-page .viaggianti-bio-site-footer.footer-white {
    width: min(100% - 2rem, var(--container));
    margin: 1.5rem auto 2rem;
    padding: 1rem;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.viaggianti-bio-page .viaggianti-bio-site-footer .legacy-foot-top,
.viaggianti-bio-page .viaggianti-bio-site-footer .legacy-foot-top-centered {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 auto;
}

.viaggianti-bio-page .viaggianti-bio-site-footer .back-to-top {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: .6rem;
    margin: 0 auto;
    padding: .8rem 1.4rem;
    border-radius: 999px;
    background: #fff;
    color: var(--primary);
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: var(--transition);
}

.viaggianti-bio-page .viaggianti-bio-site-footer .back-to-top:hover,
.viaggianti-bio-page .viaggianti-bio-site-footer .back-to-top:focus,
.viaggianti-bio-page .viaggianti-bio-site-footer .back-to-top:focus-visible {
    background: var(--secondary);
    color: #fff;
}

@media screen and (max-width: 48em) {
    .viaggianti-bio-page .viaggianti-bio-footer-host {
        width: min(100% - 1rem, var(--container));
    }

    /* Come richiesto: il testo istituzionale passa a sinistra
       quando la finestra si riduce. */
    .viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content,
    .viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .foot,
    .viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content p.foot {
        text-align: left;
    }

    .viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content {
        margin-top: 1rem;
        padding-top: .75rem;
    }

    .viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content p.foot {
        padding-inline: .25rem;
        overflow-wrap: anywhere;
    }

    .viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .social,
    .viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .copy {
        text-align: center;
    }

    .viaggianti-bio-page .viaggianti-bio-footer-host .room-foot-content .i-social-donna {
        width: 2.25rem;
        height: 2.25rem;
    }

    .viaggianti-bio-page .viaggianti-bio-site-footer.footer-white {
        width: min(100% - 1rem, var(--container));
        margin-top: 1rem;
        padding: .75rem;
    }
}
