/* !base style */
body{font-family: 'Inter', sans-serif; font-size: 16px;}

a{text-decoration: none;}

h1,h2,h3,h4,h5{color:#000; padding-bottom: 15px;}

p{line-height:28px; color: #000; font-weight: 300;}

.big-text{font-size:70px; font-weight: 900;}
.med-text{font-size:30px; font-weight 300;}
.normal-text{font-size:16px;}
.small-text{font-size:14px;}

.intro-text{font-size:20px; text-transform: uppercase; font-weight:bold;}

.button{padding:15px 25px; background: white; 
          color: #010e30; border-color: solid #010e30;
          border-radius: 20px; display:inline-block;}

@media (max-width:760px) {
  .big-text{font-size:40px;}
  .normal-text{font-size:15px;}
  h4{padding-top:25px;}
}

@media (min-width: 768px) and (max-width: 950px){
  h4{padding-top:15px;}
  .normal-text{font-size:15px;}
}


/* !Header */
.header{
  width: 100%;
  position: fixed;
  top:0;
  padding: 30px;
  display: flex;
  background: white;
  z-index: 10;
  justify-content: space-between;
}


/* !MENU */
.logo{z-index: 1;
      float: left
}

.logo img{width: 30%;
      height: auto;
}


.header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 10px;
            background: white;
            z-index: 1000;
        }



.menu-toggle {
    display: none; /* Hide the menu toggle by default */
    cursor: pointer;
    padding: 10px;
    position: relative;
}

.menu-toggle span {
    display: block;
    background: #010e30; 
    height: 3px;
    width: 25px;
    margin: 5px 0;
    transition: transform 0.3s; /* Added transition property */
}

.menu-toggle .active span:nth-child(1) {
    transform: rotate(-45deg) translate(-5px, 6px);
}

.menu-toggle .active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle .active span:nth-child(3) {
    transform: rotate(45deg) translate(-5px, -6px);
}

.menu {
            display: flex; /* Show the menu by default on larger screens */
            list-style: none;
            padding: 0;
            margin: 0;
        }

.menu ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
           
        }

.menu li {
            margin: 15px;
        }

.menu a {
            text-decoration: none;
            color:#010e30; 
            font-size: 18px;
        }

@media only screen and (max-width: 768px) {
    .menu {
        display: flex;
        list-style: none;
        flex-direction: column;
        padding: 0;
        margin: 0;
        position: fixed;
        top: 0;
        right: -100%; 
        width: 100%;
        height: 100%;
        background: white;
        transition: right 0.7s ease; 
        align-items: center;
        text-align: center;
        justify-content: center;
    }
    
    .menu ul {
           flex-direction: column
          }
    .menu-open .menu {
                    right: 0; /* Display the menu by setting right to 0 */
                }
    
    .menu-toggle {
                    display: block; 
                }
    
    body.menu-open {
                    overflow: hidden; /* Prevent scrolling when the menu is open */
                }
    
    .header{
        padding-top: 0px;
        padding-bottom: 0px;
    }           
    
    .logo img {
        width: 75%; 
        height: auto;
    }
    
            }




/* !container*/
.container {
    margin-left: auto;
    margin-right: auto;
    padding-left: 200px;
    padding-right: 200px;
    padding-top: 30px;
    max-width: 1200px;}

@media (max-width: 760px) {
  .container{
    padding-right: 30px;
    padding-left: 30px;
    margin:auto;
  }
}

@media (min-width: 768px) and (max-width: 850px) {
   .container{
    padding-right: 100px;
    padding-left: 100px;
    margin:auto;}
}


/* !hero*/
.hero{display: flex;
  padding: 200px 0;
  background: url("/immagini/contatti.jpg") no-repeat center center;
  background-size: cover;
}

/* !Grid*/

.grid{display:flex;
  max-width: 1350px;
  padding: 0 30px;
  margin: 0 auto;
  align-content: baseline;
  align-items: baseline;
  justify-content: space-around;
}

.col{float:left; width:100%}
.grid{width:100%;}

@media (max-width: 760px) {
  .grid{flex-wrap:wrap}
  .col{float:left}
}

@media (min-width: 768px) and (max-width: 950px){
  .grid{flex-wrap:wrap}
  .col{float:left}
}

/* !icone */
.icon{
    width: 24px;
    height: 24px;}
  input[type="text"],
  input[type="email"],
  textarea {
    background-color: var(--color-light);
    display: block;
    border: 1px solid var(--color-secondary);
    border-radius: 0.5rem;
    padding: 0.8rem;
    resize: none;
    min-width: 320px;
    box-sizing: border-box;
    color: var(--color-text);
    box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.3);}
  input[type="text"]:focus,
  input[type="email"]:focus,
  textarea:focus {
    border: 1px solid var(--color-primary);}
  input[type="submit"] {
    cursor: pointer;
    box-shadow: none;
    outline: none;
    border: 0;}
  label {
    display: grid;
    gap: 0.5rem;
    padding-bottom: 20px;
    padding-top: 5px;}
  label > span {
    display: block;
    font-size: 17px;
    font-weight: 500;
    color: var(--color-text-dark);}


@media (max-width: 760px){

    .icon{
        width: 24px;
        height: 24px;}
      input[type="text"],
      input[type="email"],
      textarea {
        background-color: var(--color-light);
        display: block;
        border: 1px solid var(--color-secondary);
        border-radius: 0.5rem;
        padding: 0.8rem;
        resize: none;
        min-width: 320px;
        box-sizing: border-box;
        color: var(--color-text);
        box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.3);}
      input[type="text"]:focus,
      input[type="email"]:focus,
      textarea:focus {
        border: 1px solid var(--color-primary);}
      input[type="submit"] {
        cursor: pointer;
        box-shadow: none;
        outline: none;
        border: 0;}
      label {
        display: grid;
        gap: 0.5rem;
        padding-bottom: 20px;
        padding-top: 5px;}
      label > span {
        display: block;
        font-size: 17px;
        font-weight: 500;
        color: var(--color-text-dark);}
}


/* !mail form */
mail-form {
      width: 100%;
      display: grid;
      gap: 1.75rem;}
    #mail-form label,
    #mail-form input[type="text"],
    #mail-form input[type="email"],
    #mail-form textarea {
      width: 100%;}
    #mail-form textarea {
      height: 15rem;}
    ::-webkit-input-placeholder,
    ::-moz-placeholder,
    :-moz-placeholder,
    ::-ms-input-placeholder,
    :-ms-input-placeholder,
    ::placeholder {
      color: var(--color-text);
      opacity: 0.4;}
      
      
@media (max-width: 760px){
    mail-form {
      width: 100%;
      display: grid;
      gap: 1.75rem;}
    #mail-form label,
    #mail-form input[type="text"],
    #mail-form input[type="email"],
    #mail-form textarea {
      width: 100%;}
    #mail-form textarea {
      height: 15rem;}
    ::-webkit-input-placeholder,
    ::-moz-placeholder,
    :-moz-placeholder,
    ::-ms-input-placeholder,
    :-ms-input-placeholder,
    ::placeholder {
      color: var(--color-text);
      opacity: 0.4;}
    
}




/* !footer */
.footer {
  padding: 30px 0px;
  background: #010e30;
}

@media (max-width: 768px){
    .footer{padding: 15px 0px;}
}


.footer-info {
  display: flex;
  justify-content: space-between;
  align-items: center; 
  padding-left: 30px; 
  padding-right: 30px;
  padding-top: 10px;
}



.social-icons {
        display: flex;
}
.social-icons a {
        margin-right: 20px; 
}
    
.social-icons a:last-child {
        margin-right: 0;
}


.terms {
  color: gray;
  font-size: .75rem;
  line-height: 1rem;
}

.developer {
  opacity: 1;
  color: gray;
  font-size: .75rem;
  line-height: 1rem;
}


@media (max-width: 600px) {
    
  .footer-info {
    flex-direction: column;
    align-items: center;
  }

  .terms {
    order: 2; /* Terms and conditions moved after SVG icons */
    margin-bottom: 10px;
  }

  .social-icons {
    order: 1; /* SVG icons moved to be displayed first */
    margin-bottom: 10px;
    padding-top: 10px;
  }

  .developer {
    order: 3;
    text-align: center;
  }
}


/* --- aggiunte per CONTATTI --- */

/* 3) Barra sotto i titoli come nelle altre pagine */
.title{
  color: #010e30;
  font-size: 32px;
  text-align: center;
  padding-top: 25px;
}
.title:after{
  background: linear-gradient(45deg, #120a8f, #010e30);
  content: "";
  display: block;
  height: 5px;
  margin: 1rem auto auto;
  width: 100px;
}

/* 4) Stili selettore lingua (copiati dall’altra pagina) */
.language-selector button {
  color: black;
  border: solid #010e30;
  border-radius: 20px;
  display: inline-block;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s, transform 0.3s;
}
.language-selector button:hover { background-color: #f0f0f0; transform: scale(1.05); }
.language-selector button:focus { outline: none; }
.language-selector button.active { background-color: #010e30; color: white; }
.language-selector button.active:hover { background-color: #0056b3; }

/* 5) Il form: usa l'ID corretto (#mail-form) */
#mail-form {
  width: 100%;
  display: grid;
  gap: 1.75rem;
}
#mail-form label,
#mail-form input[type="text"],
#mail-form input[type="email"],
#mail-form textarea { width: 100%; }
#mail-form textarea { height: 15rem; }

/* Placeholder */
#mail-form ::-webkit-input-placeholder,
#mail-form ::-moz-placeholder,
#mail-form :-moz-placeholder,
#mail-form ::-ms-input-placeholder,
#mail-form :-ms-input-placeholder,
#mail-form ::placeholder {
  color: var(--color-text);
  opacity: 0.4;
}

/* 6) Campo min-width troppo largo su mobile: evitiamo overflow */
@media (max-width: 760px){
  #mail-form input[type="text"],
  #mail-form input[type="email"],
  #mail-form textarea { min-width: 0; } /* era 320px */
  #mail-form { gap: 1.25rem; }
}








/* !helpers */

.mt-1{margin-top:50px;}
.mt-2{margin-top:100px;}
.mt-3{margin-top:150px;}
.tw{color: #fff}
.tb{color:black}


*,
*:before,
*:after{
  -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
      box-sizing: border-box;
}