/* ! Base Style */
/* ----------------------------------------------------------------------------------- */
body{ font-size: 16px; color:#850a06; font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;}
a{text-decoration: none;color: #850a06;}
p{line-height: 1.3}


/* ! Title System */
/* ----------------------------------------------------------------------------------- */
.text-0{font-size: 5rem;}
h1, .text-1{font-size: 3rem;}
h2, .text-2{font-size: 1.9rem;font-weight: normal;}
.tit-home {font-size: 3.3rem;  color: #fff; font-weight: bold!important; font-family: Garamond; text-shadow: 3px 3px 4px #000000; z-index:999;}
h3, .text-3{font-size: 1.5rem;}
h4, p, .text-4, ol,ul{font-size: 1.2rem;}

h1, h2, h3, h4, p, ol, ul{margin-bottom: 1rem;line-height: 1.3;}

.garamond{font-family: Garamond;}

.mammaroma {
  font-family: 'Abril Fatface', serif;
  line-height: 0.9;
  letter-spacing: -1px; /* Avvicina le lettere per un effetto più compatto */
}

@media (max-width: 768px) {
  .text-0{font-size: 4rem}
  h1, .text-1{font-size: 1.5rem;}
  h2, .text-2{font-size: 1.4rem;font-weight: normal;}
  .tit-home {font-size: 1.9rem!important;}
}

.contorno strong{
  background: rgb(225 212 178);
  color: #850b06;
  padding: 1px 4px;
  border-radius: 6rem;
}

/* Spazio cover per tablet */

/* Tablet piccoli verticali */
@media (min-width: 768px) and (max-width: 991px) and (orientation: portrait) {
  .tit-home {     font-size: 1.9rem;}
}

/* Tablet piccoli orizzontali */
@media (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  .tit-home {     font-size: 1.9rem;}
}

/* Tablet variante responsive */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .tit-home {     font-size: 1.9rem;}
}


/* Tablet grandi verticali */
@media (min-width: 992px) and (max-width: 1199px) and (orientation: portrait) {
  .tit-home {     font-size: 1.9rem;}
}

/* Tablet grandi orizzontali */
@media (min-width: 992px) and (max-width: 1199px) and (orientation: landscape) {
  .tit-home {     font-size: 1.9rem;}
}

/* per lo scrool uniforme */
html {
  scroll-behavior: smooth;
}


/* ! Button system */
/* ----------------------------------------------------------------------------------- */

.btn-cta {
  display: inline-block;
  padding: 0.6rem 1.2rem;
  background: #850a06;
  color: #FFF!important;
  text-decoration: none;
  border-radius: 6px;
  font-weight: 600;
  transition: background-color 0.3s ease;
}
.btn-cta:hover,
.btn-cta:focus {
  background: rgb(240 192 110)!important;
  color: #850a06!important;
  outline: none;
}



.call{padding: 8px 8px!important; font-size: 15px; border-radius: 55px!important;}


.bg-obliquo{min-height: 100vh;background: url(img/img-4.png) no-repeat center bottom ; }
.bg-obliquo .button{margin-right: 20px;}

@media (max-width: 768px) {
  .bg-obliquo .grid{ flex-direction: column-reverse;}
}




.casa a {
  background: #850a06!important;
  color: #f5f1ee!important;
  border-radius: 6rem;
  font-weight: bold;
  padding: 4px 16px!important;
  margin-top: 8px;
  margin-left: 10px;
  transition: all 1s cubic-bezier(.215,.61,.355,1);
}

.casa a:hover {
  background: rgb(240 192 110)!important;
  color: #850a06!important;
  transition: all 1s cubic-bezier(.215,.61,.355,1);
}

@media (max-width: 768px) {
.casa a {
 background: #850a06!important;
  color: #f5f1ee!important;
  font-weight: bold!important;
  padding: 16px 16px!important;
  margin-top: 8px;
  margin-left: 0px;
  transition: all 1s cubic-bezier(.215,.61,.355,1);
}
}



/*  HOME PAGE V3  */


.cover{
  padding: 20px;min-height: 100vh;
  display: flex; flex-flow: column;
  justify-content: flex-end;
  position:relative;
}

@media (max-width: 768px) {
  .cel-mod{margin-top: -177px;}
}

.cover__content {
  max-width: 1200px;
  margin: 0 auto;
  position: absolute; /* Cambia a absolute */
  top: 50%; /* Posiziona al 50% dell'altezza */
  left: 50%; /* Posiziona al 50% della larghezza */
  transform: translate(-50%, -50%); /* Centra sia verticalmente che orizzontalmente */
  z-index: 1;
  width: 100%;
  text-align: center;
}



/* BOX ROMA */

.roma-card{
  --roma-red:#961714;
  --roma-bg:#e3d3b2;

  width:100%;
  max-width:420px;
  margin:0 auto;

  padding:2.8rem 2rem 2.6rem;

  box-sizing:border-box;

  background:var(--roma-bg);

  border-radius:13rem;

  text-align:center;

  font-family:"Montserrat","Arial",sans-serif;
}


/* LOGO */

.roma-card .logo{
  margin-bottom:2.2rem;
}

.roma-card .logo img{

  display:block;

  width:10.6rem;

  max-width:80%;

  height:auto;

  margin:auto;
}


/* TITOLO */

.roma-card h2{

  margin:0 0 1.8rem;

  color:var(--roma-red);

  font-size:3rem;

  font-weight:900;

  line-height:1;

  letter-spacing:-0.06rem;

  overflow-wrap:anywhere;

  font-family: 'Abril Fatface', serif;
  line-height: 0.9;
  letter-spacing: -1px; /* Avvicina le lettere per un effetto più compatto */

}


/* FOTO */

.roma-card .photo{

  width:100%;

  aspect-ratio:1 / 1;

  overflow:hidden;

  border-radius:50%;

  margin-bottom:2.2rem;

}


.roma-card .photo img{

  display:block;

  width:100%;

  height:100%;

  object-fit:cover;

}


/* PULSANTE */

.roma-card .button{

  display:inline-flex;

  align-items:center;

  justify-content:center;

  min-width:9.5rem;

  padding:1rem 2.8rem;

  border-radius:6rem;

  background:var(--roma-red);

  color:#fff;

  text-decoration:none;

  text-transform:uppercase;

  font-size:1.25rem;

  font-weight:800;

  letter-spacing:.08rem;

  transition:.3s ease;

}


.roma-card .button:hover{

  background:#75100e;

  transform:translateY(-3px);

}


.roma-card .button:focus-visible{

  outline:3px solid #000;

  outline-offset:5px;

}



/* TABLET */

@media (max-width:900px){

  .roma-card{

      padding:2.5rem 1.6rem 2.3rem;

      border-radius:10rem;

  }


  .roma-card h2{

      font-size:2.4rem;

  }

}

/* VARIAZIONI */

@media (max-width:1390px){

  .roma-card h2{

      font-size:2rem;

  }

}
@media (max-width:820px){

  .roma-card h2{

      font-size:1.5rem;

  }

}
@media (max-width:720px){

  .roma-card h2{

      font-size:1.5rem;

  }

}



/* TABLET PICCOLO */

@media (max-width:700px){

  .roma-card h2{

      font-size:2rem;

  }

}



/* MOBILE */

@media (max-width:600px){

  .roma-card{

      padding:2rem 1.2rem;

      border-radius:7rem;

  }


  .roma-card h2{

      font-size:1.9rem;

  }


  .roma-card .button{

      font-size:1.1rem;

      padding:0.9rem 2.2rem;

  }

}



/* Fine Home Page V3 */


/* ! Blocks */
/* ----------------------------------------------------------------------------------- */

.cover{
  background: #850b06;padding: 20px;min-height: 100vh;
  display: flex; flex-flow: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  position:relative;
}

.box-img img{border-radius: 50px; box-shadow: 0 5px 30px rgba(0,0,0,33%); margin-bottom: 2rem;}

/* ! Title Custom */

.title-custom{
  padding: 8% 18%;
  position: relative;
}

.video-overlay-b {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 160px;
  z-index: 2;
}

.video-overlay-b svg {
  width: 100%;
  height: 100%;
  display: block;
}


/*
.video-overlay {
  position: absolute;
  bottom: 0; /* Posiziona la sfumatura in basso 
  left: 0;
  width: 100%;
  height: 50%; /* Regola l'altezza della sfumatura 
  z-index: 2; /* L'overlay deve stare sopra il video 
  background: linear-gradient(
    to top,
    rgba(255, 255, 255, 1) 0%, /* Inizia con bianco pieno in basso 
    rgba(255, 255, 255, 0) 100% /* Sfuma fino alla trasparenza in alto 
  );
}
*/

/* ! Pagina Blog */
/* --------------------------------------------------------- */

.img-blog{
display: inline-block;
position: relative;
margin-bottom: 20px;
border-radius: 30px;
overflow: hidden;
}

/* HOME VIDEO MOBILE - formato reale 16:9 */

.distanziamo{margin-bottom: 0rem;}

@media (max-width:768px){

  .distanziamo{margin-bottom: 1rem;}

  .cover--intro{
      min-height:0;
      height:auto;
      aspect-ratio:16 / 9;
      padding:0;
  }

  .cover--intro .video-background{
      position:absolute;
      width:100%;
      height:100%;
      object-fit:contain;
      background:#000;
  }

  .cover--intro .cover__content{
      top:50%;
      left:50%;
      transform:translate(-50%,-50%);
  }

  .video-overlay-b{
    height:0px;
}

.video-overlay-b svg path:last-child{
    stroke-width:5;
}
}

/* ! Animation */
/* --------------------------------------------------------- */

.fade-in{opacity: 0; transform: translateY(1rem);}
.text-reveal{transform: translateY(1rem);clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);}
.fade-up{opacity: 0; transform: translateY(5rem);}
