* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html, body { overscroll-behavior: none; }
html { 
    -webkit-text-size-adjust: 100%; 
    text-size-adjust: 100%; 
}
body{
    font-family: "American Typewriter", Courier, monospace;
    background: #000000;
    /* color: #98988D; */
    color: #FFF;
    font-style: normal;
    position: relative;
    width: 100vw;
    height: calc(var(--vh, 1vh) * 100);  /* invece di 100vh */
    overflow: hidden; /* niente scroll globale in home */
}
body.logged{
    background: #1B1A1A; /* nero più chiaro quando loggato */
}
@supports (height: 100dvh) {
  body { height: 100dvh; }
}
.home{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100vw;
}
.home .home_img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 62vw;
    height: 100%;
    object-fit: cover;
    z-index: 2;
}
.home h1{
    position: absolute;
    top: 0;
    left: 45.6vw;
    font-size: 7vw;
    font-weight: 300;
    line-height: 2vw;
    z-index: 3;
    margin-top: 4.64vw;
    color: #98988D;
}
.home h1 img{
    display: none;
}
.home .reportages,
.home .contact{
    position: absolute;
    width: 30vw;
    font-size: 2.33vw;
    font-weight: 300;
    line-height: 1.984vw;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.home .reportages{
    top: 0;
    right: 4.8vw;
    margin-top: 13.5vw;
}
.home .contact{
    top: 0;
    right: 4.8vw;
    margin-top: 20.33vw;
}
.home .reportages a,
.home .contact a{
    text-decoration: none; /* Rimuove la sottolineatura */
    color: inherit; /* Usa il colore del testo del contenitore */
}
.home .horizontal{
    display: none;
    margin-right: 1vw;
    width: 3vw;
    height: 3vw;
}
.home .contact_list{
    position: absolute;
    top: 0;
    right: 4.8vw;
    margin-top: 24vw;
    width: 30vw;
    display: none;
}
.home .contact_list ul{
    list-style: none;
}
.home .contact_list ul li,
.home .contact_list ul li:last-child a{
    margin: 1vw;
    padding-bottom: 0.5vw;
    font-size: 2vw;
    font-weight: 300;
    line-height: 1.984vw;
}
.home .contact_list ul li:not(:last-child) a,
.home .contact_list ul li p{
    margin-left: 10px;
    font-size: 1.33vw;
}
.home .contact_list ul a,
.home .contact_list ul p{
    /* display: block; */
   /*  color: #98988D; */
   color: #FFF;
}

/* block legal_notice */
.home .legal_notice {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: calc(var(--vh, 1vh) * 100);
    background-color: #000;   /* sfondo nero */
    color: #FFF;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 3vh 5vw;
    box-sizing: border-box;
    overflow-y: auto;
    transform: translateY(-100%); /* nascosto sopra */
    transition: transform 0.6s ease;
    z-index: 500;
    font-family: "Courier New", Courier, monospace; /* stile tecnico */
    line-height: 1.6;
    letter-spacing: 0.01em;
  }
  .home .legal_notice.active {
    transform: translateY(0);  /* scende dall’alto */
  }
  .home .legal_notice h2 {
    font-size: 2vw;
    font-weight: 300;
    margin: 2vw 0 -1vw 0;
    text-align: center;
  }
  .home .legal_notice p,
  .home .legal_notice a {
    font-size: 1.3vw;
    margin: 1vw 0;
    text-align: center;
    max-width: 800px;
  }
  .home .legal_notice p{
    text-align: start;
  }
  .home .legal_notice ul{
      max-width: 800px;
      width: 100%;
      margin: 0 0 1.2em;
      padding-left: 1.2em;       /* indent bullets without overflowing */
      padding-right: 0;
      box-sizing: border-box;
      text-align: left;
      list-style: square;
      word-wrap: break-word;
      overflow-wrap: anywhere;   /* evita overflow con parole/lunghi URL */
    }
  .home .legal_notice ul li{ margin: 0.3em 0; }
  .home .legal_notice p a{
    display: block;
    color: #FFF;
    text-decoration: underline;
    font-weight: 600;
    justify-content: center;
    margin-top: 0.5vw;
  }
  .home .legal_notice .close-btn {
    position: absolute;
    top: 1.5vw;
    right: 2vw;
    font-size: 2vw;
    cursor: pointer;
  }
/* --- */

/* block privacy policy */
.home .privacy_policy {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: calc(var(--vh, 1vh) * 100);
    background-color: #000;   /* sfondo nero */
    color: #FFF;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 3vh 5vw;
    box-sizing: border-box;
    overflow-y: auto;
    transform: translateY(-100%); /* nascosto sopra */
    transition: transform 0.6s ease;
    z-index: 600;
    font-family: "Courier New", Courier, monospace; /* stile tecnico */
    line-height: 1.6;
    letter-spacing: 0.01em;
  }
  .home .privacy_policy.active {
    transform: translateY(0);  /* scende dall’alto */
  }
  .home .privacy_policy h2 {
    font-size: 3vw;
    font-weight: 600;
    margin: 2vw 0 -1vw 0;
    text-align: center;
  }
  .home .privacy_policy h2:not(:nth-of-type(1)) {
    font-size: 2vw;
    font-weight: 300;
  }
  .home .privacy_policy p,
  .home .privacy_policy a {
    font-size: 1.3vw;
    margin: 1vw 0;
    text-align: center;
    max-width: 800px;
  }
  .home .privacy_policy p{
    text-align: start;
  }
  .home .privacy_policy ul{
      max-width: 800px;
      width: 100%;
      margin: 0 0 1.2em;
      padding-left: 1.2em;       /* indent bullets without overflowing */
      padding-right: 0;
      box-sizing: border-box;
      text-align: left;
      list-style: square;
      word-wrap: break-word;
      overflow-wrap: anywhere;   /* evita overflow con parole/lunghi URL */
    }
  .home .privacy_policy ul li{ margin: 0.3em 0; }
  .home .privacy_policy p a{
    display: block;
    color: #FFF;
    text-decoration: underline;
    font-weight: 600;
    justify-content: center;
    margin-top: 0.5vw;
  }
  .home .privacy_policy .close-btn {
    position: absolute;
    top: 1.5vw;
    right: 2vw;
    font-size: 2vw;
    cursor: pointer;
  }
/* --- */


.home .reportages_list{
    position: absolute;
    top: 0;
    right: 4.8vw;
    margin-top: 17vw;
    width: 25vw;
    max-height: 73vh;
    font-size: 2vw;
    font-weight: 300;
    line-height: 1.984vw;
    /* border: #77776e 0.03vw solid; */
    border-radius: 1vw;
    scrollbar-gutter: stable;
    padding: 1vw;
/*     box-shadow: #98988D; */
    /* box-shadow: inset 0 0 2vw rgba(195, 191, 191, 0.2); */ /* ombra interna */;
    display: none;
    overflow-y: scroll;
}
.home .reportages_list ul{
    list-style: none;
}
.home .reportages_list ul li{
    padding: 1vw 0 1vw 2vw;
    
}
.home .reportages_list ul a{
    display: block;
    color: #FFF;
    text-decoration: none;
}
.home .reportages_list ul .vertical_line{
    width: 1vw;
    height: 3.4vw;
    border-left: 10px solid #98988D;
    margin: 1vw 0 1vw -0.8vw;
    z-index: 1000;
}
.desktop{
    position: relative;
    top: 0; /* Posiziona fuori dallo schermo */
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #000000;
    display: none;
}
.desktop .container{
    width: 100vw;
    height: 100vh;
    overflow-y: auto;   /* abilita lo scroll verticale dei blocchi desktop */
}
.desktop .reportages_link{
    display: flex;
    flex-direction: column;
    justify-content: end;
}
.desktop .reportages_link h1{
    font-size: 7vw;
    font-weight: 300;
    line-height: 6.67vw;
    margin-top: 4vw;
    text-align: end;
}
.desktop .reportages_link p,
.desktop .reportages_link h2{
    font-size: 1vw;
    font-weight: 300;
    line-height: 1.984vw;
/*     margin-top: 2vw; */
    text-align: end;
}
.desktop .reportages_link h2{
    color: #fff;
}
.desktop .reportages_link .img_copy{
    color: #fff;
    display: flex;
    justify-content: end;
    align-items: center;
    margin-top: 0.5vw;
}

.desktop .reportages_link h1 a{
    text-decoration: none; /* Rimuove la sottolineatura */
    color: #FFF; /* Colore del testo */
}

/* ===== Desktop layout (prova3-like) ===== */
.desktop .page {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    /* padding: 0 clamp(12px, 2vw, 24px); */ /* spazio orizzontale */
    box-sizing: border-box;
    overflow: hidden;
}
.desktop .page:nth-child(even){
  flex-direction: row-reverse; /* zig-zag se lo vuoi alternato; togli se non serve */
}
.desktop .page .media-col{ 
    flex: 0 0 auto; 
}
.desktop .page .media{
  display: block;
  width: auto;
  height: auto;
  max-width: 60vw;
  height: 90vh;
  object-fit: contain;
  border: 3vw solid #FFF;
  background-color: #fff;
  padding: auto;
}
.desktop .page .media{
  margin-left: 5vh;
}
.desktop .page:nth-child(even) .media{
  margin-right: 5vh;
  margin-left: 0vw;
}
.desktop .page .copy-col{
  position: relative;
  flex: 1 1 auto;
  min-width: min(38ch, 40vw);
/*   padding-right: clamp(8px, 2vw, 24px); */
  color: #FFF;
}
.desktop .page .copy-col .copy-track{
     position: relative; 
    /*  box-sizing: border-box; */
}
.desktop .page .copy-col .copy-body{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  max-width: 48ch;
  line-height: 1.35;
}
.desktop .page .copy-col .meta{
  position: absolute;
  left: 0;
  bottom: 0;
  max-width: 48ch;
}
.desktop .page .copy-col .copy-body,
.desktop .page .copy-col .meta{
    padding: 0 0 clamp(3px, 0.5vw, 6px) clamp(6px, 1vw, 12px);
    box-sizing: border-box;
}
.desktop .page:nth-child(even) .copy-col .copy-body,
.desktop .page:nth-child(even) .copy-col .meta{
    padding: 0 clamp(6px, 1vw, 12px) clamp(3px, 0.5vw, 6px) 0;
    text-align: right;
    left: auto;
    right: 0;
}

.desktop .page .copy-col .title{ font-size: clamp(18px, 2.2vw, 28px); margin: 0 0 .25em 0; }
.desktop .page .copy-col .date{ font-size: clamp(12px, 1.2vw, 14px); opacity: .8; }

/* Rimuovi vecchie regole non più usate */
/* .desktop .page .media .description{ display:none; }
.desktop .page .copy{ display:none; } */

.desktop .page .reportages_link_title{
    position: absolute;
    width: 40vw;
    right: 1.5vw;
    top: 0;
/*     font-size: 3vw;
    font-weight: 300;
    line-height: 3vw; */
    margin-top: 1vw;
/*     color: #fff; */
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.desktop .page .reportages_link_title a{
    opacity: 0;
    padding-left: 10vw;
}
.desktop .page:first-child .reportages_link_title a{
    display: block;
    font-size: 5vw;
    font-weight: 300;
    font-style: normal;
    line-height: 7.7vw;
    text-decoration: none;
    color: #FFF;
    text-align: center;
    padding-right: 5vw;
    opacity: 1;
}
.desktop .page .back_home{
    width: 2.5vw;
    height: 2.5vw;
/*     display: flex;
    align-items: center; */
    z-index: 1000;
}
.desktop .page .back_home img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.desktop .page:nth-child(even) .reportages_link_title{
    flex-direction: row-reverse;
    right: auto;
    left: 1.5vw;
}


/* login_icon */
.login_icon{
    position: absolute;
    bottom: 1.33vw;
    right: 1.33vw;
    z-index: 1;
}
.login_icon a{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none; 
    color: #98988D; 
}
.login_icon span{
    display: block;
}
.login_icon a .material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 2vw;
}

/* Login */
.login_container{
    width: 100vw;
    height: 100vh;
    display: flex;
}
.login_container .home_icon{
    position: absolute;
    top: 1.33vw;
    left: 1.33vw;
    width: 2.5vw;
    height: 2.5vw;
    display: block;
}

.login_container .home_icon img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}
.login_container .form_login{
    width: 38vw;
    display: flex;
    flex-direction: column;
    color: #98988D;
    font-family: "American Typewriter";
    margin-left: 5.13vw;
    margin-top: 6vw;
}
.login_container .form_login h1{
    font-size: 2.33vw;
    font-style: normal;
    font-weight: 300;
    line-height: 2vw;
    margin-bottom: 2vw;
}
.login_container .form_login form{
    display: flex;
    flex-direction: column;
    width: 10.13vw;
    background-color: #000;
}
.login_container .form_login form input{
    width: 17.73vw;
    height: 2.4vw;
    background-color: #000;
    border: 0.03vw solid #98988D;
    border-radius: 0.33vw;
    color: #98988D;
    font-size: 0.93vw;
    font-weight: 300;
    line-height: 1.984vw;
    margin-bottom: 2vw;
    padding: 1vw;
}
.login_container .form_login form button{
    height: 2.4vw;
    width: 6.7vw;
    background-color: #98988D;
    border: #454343;
    border-radius: 0.33vw;
    color: #000;
    font-size: 0.93vw;
    font-weight: 300;
    line-height: 1.984vw;
    cursor: pointer;
}


.login_container .form_login form button:hover{
    background-color: #77776e;
}
.login_container .form_login form button:active{
    background-color: #98988D;
}
.login_container .form_login span{
    position: absolute;
    font-size: 7vw;
    font-weight: 300;
    line-height: 2vw;
    transform-origin: bottom left;
    transform: rotate(90deg) translateY(-32vw) translateX(-5vw);
 /*    margin-top: 23vw;
    margin-left: 7vw; */
    z-index: 2;
}
.login-img {
    width: 62vw;     /* blocco largo 62% della viewport */
    height: 100vh;   /* alto tutta la finestra */
  }
.login_container .login-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;        /* riempie il blocco */
    object-position: center;  /* centrata */
    display: block;           /* elimina eventuali spazi indesiderati */
    transform: scalex(-1); /* Specchia l'immagine verticalmente */
}

 /* icone CRUD  */
 .icon_crud_container_desktop{
    position: absolute;
    bottom: 1vh;   /* distanza dal fondo della finestra */
    display: flex;
    justify-content: center;
    height: 25px;
    width: 100vw;
    z-index: 1000;  /* assicura che sia sopra altri elementi */
}
.icon_crud_container_desktop .icon_add,
.icon_crud_container_desktop .icon_edit,
.icon_crud_container_desktop .icon_delete {
    width: 25px;
    height: 100%;
    margin: 0 3vw; /* Spazio tra le icone */
    box-sizing: border-box;
}
.icon_crud_container_desktop .icon_add img,
.icon_crud_container_desktop .icon_edit img,
.icon_crud_container_desktop .icon_delete img{
    width: 100%;
    height: 100%;
    object-fit: cover; /* Mantiene le proporzioni senza deformare l'immagine */
}




/* mobile */
.mobile{
    display: none;
}
@media screen and (max-width: 500px) {
    .home{
        width: 100vw;
        height: calc(var(--vh, 1vh) * 100);  /* invece di 100vh */
        overflow: hidden;
     }
     @supports (height: 100dvh) {
       .home { height: 100dvh; }
     }
     .home .home_img {
        width: 64.62vw;
        height: 100%;
        position: absolute;
        top: 0;
        z-index: 2;
        overflow: hidden;
    }
    .home .img_harrow{
        width: 40vw;
        background-color: #fff;
    }
    .home .home_img img {
        height: 100%;
        object-position: 62% 0;
    }
    .home .img_harrow img{
        object-position: 93% 0;
    }
    .home h1{
        top: 32vw;
        left: -33vw;
        font-size: 11vw;
        line-height: 7.7vw;
        color: #204F4F;
        transform: rotate(90deg);
    }
    .home h1 img{
        position: absolute;
        top: 2.2vw;
        left: 80vw;
        display: none;
        width: 11vw;
        height: 11vw;
        margin: -3vw -1vw;
        color: #204F4F;
    }
    .home .reportages,
    .home .contact{
        position: absolute;
        width: 30vw;
        font-size: 5.64vw;
        font-weight: 300;
        line-height: 7.69vw;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        /* color: #839DA1; */
        color: #FFF;
    }
    .home .reportages{
        top: 0;
        right: 2.5vw;
        margin-top: 14.36vw;
    }
    .home .contact{
        top: 0;
        right: 12vw;
        margin-top: 30.77vw;
    }

        /* login_icon */
    .login_icon{
        position: absolute;
        bottom: 1.33vw;
        right: 1.33vw;
        z-index: 1;
    }
    .login_icon a{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-decoration: none; 
        /* color: #839DA1;  */
        color: #FFF;
    }
    .login_icon span{
        display: block;
    }
    .login_icon a .material-symbols-outlined {
    font-variation-settings:
    'FILL' 0,
    'wght' 400,
    'GRAD' 0,
    'opsz' 6.15vw;
    }

    .home .reportages a,
    .home .contact a{
        text-decoration: none; /* Rimuove la sottolineatura */
        color: inherit; /* Usa il colore del testo del contenitore */
    }
    .home .horizontal{
        display: none;
        margin-right: 1vw;
    }
    .home .contact_list{
        position: absolute;
        top: 0;
        right: 4.8vw;
        margin-top: 24vw;
        width: 50vw;
        display: none;
        /* color: #839DA1; */
        color: #FFF;
    }
    .home .contact_list ul{
        list-style: none;
    }
    .home .contact_list ul li, 
    .home .contact_list ul li:last-child a {
        margin: 1vw;
        padding-bottom: 0.5vw;
        font-size: 4.87vw;
        font-weight: 300;
        line-height: 7.7vw;
    }
    .home .contact_list ul li:not(:last-child) a,
    .home .contact_list ul li p{
        /* display: block; */
        font-size: 3.6vw;
        /* color: #839DA1; */
        color: #FFF;
    }

    /* block legal_notice */
      .home .legal_notice h2 {
        font-size: 6vw;
        margin: 4vw 0 -1vw 0;
      }
      .home .legal_notice p,
      .home .legal_notice a {
        font-size: 4vw;
        margin: 2vw 0;
      }
      .home .legal_notice .close-btn {
        font-size: 8vw;
        top: 3vw;
        right: 4vw;
      }
    /* --- */

    /* block privacy_policy */
    .home .privacy_policy h2 {
        font-size: 6vw;
        margin: 4vw 0 -1vw 0;
    }
    .home .privacy_policy h2:not(:nth-of-type(1)) {
    font-size: 5vw;
    margin: 4vw 0 -1vw 0;
    }
    .home .privacy_policy p,
    .home .privacy_policy a {
    font-size: 4vw;
    margin: 2vw 0;
    }
    .home .privacy_policy .close-btn {
    font-size: 8vw;
    top: 3vw;
    right: 4vw;
    }
    /* --- */

    .home .reportages_list{
        position: absolute;
        top: 0;
        left: 1vw;
        margin-top: 25vw;
        width: 31vw;
        max-height: calc(var(--vh, 1vh) * 83.5);
        font-size: 4.87vw;
        font-weight: 300;
        line-height: 7.7vw;
        display: none;
        overflow-x: hi;
    }
    .home .reportages_list li{
        margin: 0 0 3vh 1vw;
    }
    .home .reportages_list ul a{
        margin-left: -1vw;
        display: block;
        /* color: #839DA1; */
        color: #FFF;
        text-decoration: none;
        text-align: start;
        /* padding: 10vh 0;
        margin: 10vh 0; */
    }
    /* .home .reportages_list ul .vertical_line{
        width: 24.5vw;
        height: 3.4vw;
        border-left: 1px solid #839DA1;
        margin: 1vw 0 1vw -3.3vw;
        justify-content: center;
    } */
    .mobile{
        position: relative;
        top: 100vh; /* Posiziona fuori dallo schermo */
        left: 0;
        width: 100vw;
        height: calc(var(--vh, 1vh) * 100);
        background-color: #000000;
        display: none;
        overflow-x: hidden;
    }
    .mobile.logged{
        background: #1B1A1A; /* nero più chiaro quando loggato */
    }
    .mobile .container{
        width: 100vw;
        height: calc(var(--vh, 1vh) * 100);
        display: flex;
        flex-direction: column;
        overflow-y: scroll;/* Abilita lo scroll verticale */
        overscroll-behavior: none;
        touch-action: none; 
        /* overflow-x: hidden; */ /* Disabilita lo scroll orizzontale */
        /* scroll-snap-type: y mandatory; */ /* Abilita lo snap verticale */
    }
    .mobile .reportages_link_title h2{
        width: 100vw;
        font-size: 7vw;
        font-weight: 300;
        line-height: 6.67vw;
        margin-top: 4vw;
        text-align: end;
        color: #fff;
    }
    .mobile .page .reportages_link_title a{
        opacity: 0;
    }
    .mobile .page:first-child .reportages_link_title a{
        display: block;
        font-size: 9.5vw;
        font-weight: 300;
        font-style: normal;
        line-height: 7.7vw;
        text-decoration: none;
        color: #FFF;
        text-align: center;
        padding-right: 5vw;
        opacity: 1;
    }
    .mobile .page{
        height: calc(var(--vh, 1vh) * 100);
        width: 100vw;
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        /* scroll-snap-align: center; */ /* Centra ogni sezione nella finestra */
    }
   /*  .mobile .page:nth-child(even){
        margin-top: -5vh;
        padding: 6vh 3vw;
    } */



        /* fix altezza per android e windows */
        /* ---- Parametro di sovrapposizione pari vs dispari ---- */
    .mobile .container { --overlap: 4vh; } /* regola 4–6vh a gusto */


    /* ---- DISPARI: sempre a pieno schermo ---- */
    .mobile .container > .page/* :nth-child(odd) */{
    height: calc(var(--vh, 1vh) * 100) !important;
    min-height: calc(var(--vh, 1vh) * 100) !important;
    }

    @supports (height: 100dvh) {
    .mobile .container > .page/* :nth-child(odd) */{
        height: 100dvh !important;
        min-height: 100dvh !important;
    }
    }

    /* (opzionale) alcuni browser rendono meglio con svh */
    @supports (height: 100svh) {
    .mobile .container > .page/* :nth-child(odd) */{
        height: 100svh !important;
        min-height: 100svh !important;
    }
    }


    /* ---- PARI: compatte, agganciate sotto alle dispari senza accorciarle ---- */
    .mobile .container > .page:nth-child(even){
    height: auto;
    min-height: 0;
    transform: translateY(calc(-1 * var(--overlap)));
    padding: 0 3vw;
    padding-top: var(--overlap);    /* compensa la traslazione all’interno */
    will-change: transform;
    }




     /* icona per ritorno in alto */
                .icon_scroll_top {
                    position: absolute;
                    bottom: 20px;   /* distanza dal fondo della finestra */
                    right: 20px;    /* distanza dal lato destro */
                    width: 25px;
                    height: 25px;
                    z-index: 1000;  /* assicura che sia sopra altri elementi */
                    box-sizing: border-box;
                }
                .icon_scroll_top img{
                    width: 100%;
                    height: 100%;
                    object-fit: cover; /* Mantiene le proporzioni senza deformare l'immagine */
                }
            
            /* icone CRUD  */
                .icon_crud_container_mobile{
                    position: absolute;
                    bottom: 20px;   /* distanza dal fondo della finestra */
                    display: flex;
                    height: 25px;
                    z-index: 1000;  /* assicura che sia sopra altri elementi */
                }
                .icon_crud_container_mobile .icon_add,
                .icon_crud_container_mobile .icon_edit,
                .icon_crud_container_mobile .icon_delete {
                    width: 25px;
                    height: 100%;
                    margin-right: 20px; /* Spazio tra le icone */
                    box-sizing: border-box;
                }
                .icon_crud_container_mobile .icon_add img,
                .icon_crud_container_mobile .icon_edit img,
                .icon_crud_container_mobile .icon_delete img{
                    width: 100%;
                    height: 100%;
                    object-fit: cover; /* Mantiene le proporzioni senza deformare l'immagine */
                }
    .mobile .page .reportages_link_title{
        width: 100vw;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .mobile .page .reportages_link_title img{
        max-height: 5vw;
    }
    .mobile .page .box_img { 
        max-width: 100vw;
        max-height: 78vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        /* border: 0.3vw solid #FFF; */
    }
    .mobile .page .box_img:nth-child(even){
        height: 78vh;
        padding: 0 8vw;
        background-color: #fff;
    }
   
    .mobile .page .box_img:nth-child(odd){
        align-items: flex-start;
        width: 100vw;
    }
    .mobile .page .box_img img{
        display: block;
        max-width: 100%; 
        height: auto;
        max-height: 70vh;
        object-fit: contain;
        border: 0.3vw solid #FFF;
    }

    /* .mobile .page .box_img img{
        display: block; evita gap di baseline su iOS
    } */
    .mobile .page .box_copy_img{
        height: calc(var(--vh, 1vh) * 100);
        display: flex;  
        flex-direction: column;
        justify-content: start;
  /*       align-items: center; */
    }
    .mobile .page  h2,
    .mobile .page  p{
        padding: 3vw 3vw 3vw;
        font-size: 5vw;
        font-weight: 300;
        font-style: normal;
        line-height: 7.7vw;
        color: #FFF;
    }
    .mobile .page  h2{
        font-size: 4.4vw;
        font-weight: 600;
    }

    .mobile .page .box_img .description h2,
    .mobile .page .box_img .description p{
       /*  padding: 2vw 2vw 0; */
        font-weight: 400;
        font-style: normal;
        line-height: 7.7vw;
        color: #FFF;
    }
    .mobile .page .box_img .description p{
        font-size: 3vw;
        font-weight: 100;
        font-style: normal;
        line-height: 7.7vw;
        color: black;
        padding: 0;
    }
    .mobile .page .box_img .description h2{
        font-size: 4.62vw;
        margin-top: -3vw;
        padding: 2vw 2vw 0;
    }
    .mobile .page .box_copy_img .description{
        display: flex;
        flex-direction: column-reverse;
    }
    .mobile .page .box_copy_img .description h2,
    .mobile .page .box_copy_img .description p{
        padding: 2vw 5vw 0;
        font-style: normal;
        line-height: 7.7vw;
        color: #FFF;
    }
    .mobile .page .box_copy_img .description p{
        font-size: 3vw;
        font-weight: 100;
        font-style: normal;
        line-height: 7.7vw;
        color: #FFF;
    }
    .mobile .page .box_copy_img .description h2{
        font-size: 4.62vw;
       margin-top: -3vw;
       font-weight: 400;
    }
    .mobile .page .box_copy_img p{
        font-size: 4.1vw;
    }

    /* Login */
.login_container{
    width: 100vw;
    height: 100vh;
    display: flex;
    overflow-y: hidden; /* Nasconde lo scroll verticale */

    /* iOS/Safari robust viewport fix: prefer 100dvh where supported */
    @supports (height: 100dvh) {
        .mobile,
        .mobile .container,
        .mobile .page,
        .mobile .page .box_copy_img {
            height: 100dvh;
        }
    }
    /* Safe area padding for iPhone notch/home bar */
    .mobile .container {
        padding-bottom: env(safe-area-inset-bottom);
        padding-top: env(safe-area-inset-top);
    }
}
.login_container .home_icon{
    position: absolute;
    margin-top: 1.33vw;
    margin-left: 1.33vw;
    width: 20px;
    height: 20px;
    object-fit: cover;
}
.login_container .home_icon img{
    width: 100%;
    height: 100%;
}
.login_container .form_login{
    width: 38vw;
    display: flex;
    flex-direction: column;
    color: #98988D;
    font-family: "American Typewriter";
    margin: 13vw 0 0 6vw;
}
.login_container .form_login h1{
    font-size: 6vw;
    font-style: normal;
    font-weight: 300;
    line-height: 3vw;
    margin-bottom: 3vw;
}
.login_container .form_login form{
    display: flex;
    flex-direction: column;
    width: 32vw;
    background-color: #000;
}
.login_container .form_login form input{
    width: 26vw;
    height: 5vw;
    background-color: #000;
    border: 0.03vw solid #98988D;
    border-radius: 0.33vw;
    color: #98988D;
    font-size: 2.5vw;
    font-weight: 300;
    line-height: 3vw;
    margin-bottom: 2vw;
    padding: 1vw;
}
.login_container .form_login form button{
    height: 5vw;
    width: 13vw;
    background-color: #98988D;
    border: #454343;
    border-radius: 0.33vw;
    color: #000;
    font-size: 2.5vw;
    font-weight: 300;
    line-height: 3vw;
    cursor: pointer;
}
.login_container .form_login form button:hover{
    background-color: #77776e;
}
.login_container .form_login form button:active{
    background-color: #98988D;
}
.login_container .form_login span{
    position: absolute;
    font-size: 7vw;
    font-weight: 300;
    line-height: 2vw;
    transform: rotate(90deg) translateY(-34vw) translateX(-7vw);
    z-index: 2;
}
.login_container .login-img img{
    width: 62vw;
    height: 100vh;
    right: 0;
    object-fit: cover; /* Mantiene le proporzioni senza deformare l'immagine */
    transform: scalex(-1); /* Specchia l'immagine verticalmente */
}

}


