/* ! Reset */
body, html{ font-family: 'Open Sans', Arial, Helvetica, sans-serif; font-size: 16px; box-sizing: border-box;margin: 0;padding: 0;}*,*:before,*:after{ box-sizing: border-box; }h1,h2,h3,h4,h5,h6, p, ol, ul{margin: 0 0 1rem 0;padding: 0;}ol,ul{list-style-type: none;}img{height: auto;}h1{font-size: 4rem;} h2{font-size: 3rem;} h3{font-size: 2rem;} h4{font-size: 1rem;} h5{font-size: 0.8rem;} h6{font-size: 0.6rem;}a{text-decoration:none}

body{
  overflow-x: hidden;
  background: #fff;
  min-height: 100vh;
}

.spacer {height: 100px;}

/* ! Hero home */
.hero{
  padding: calc(var(--header-h) + 70px) 24px 90px 24px;
  background: var(--hero-bg);
  overflow: hidden;
}
.hero__inner{
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 60px;
}
.hero__text{width: 42%;flex: 0 0 auto;}
.hero__visual{width: 58%;flex: 1 1 auto;position: relative;}

.hero__title{
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 300;
  font-size: clamp(2.6rem, 4.6vw, 4rem);
  line-height: 1.06;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--brand-bordeaux);
  margin: 0 0 1.6rem 0;
}
.hero__sub{
  font-family: 'Open Sans', sans-serif;
  font-size: 0.92rem;
  line-height: 1.85;
  color: #6a6a6a;
  max-width: 380px;
  margin-bottom: 2.6rem;
}
.hero__actions{display: flex;align-items: center;gap: 34px;}
.hero__btn{
  font-family: 'Josefin Sans', sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brand-bordeaux);
  background: #fff;
  border: 1px solid var(--brand-bordeaux);
  padding: 16px 34px;
  display: inline-block;
  transition: all 0.3s ease;
}
.hero__btn:hover{background: var(--brand-bordeaux);color: #fff;}
.hero__arrow{color: var(--menu-color);font-size: 1.5rem;line-height: 1;}

.hero__social{display: flex;gap: 14px;margin-top: 46px;}
.hero__social a{
  width: 38px;height: 38px;border-radius: 50%;
  border: 1px solid #dcdcdc;
  display: flex;align-items: center;justify-content: center;
  color: var(--menu-color);font-size: 0.88rem;
  transition: all 0.3s ease;
}
.hero__social a:hover{background: var(--brand-bordeaux);border-color: var(--brand-bordeaux);color: #fff;}

.hero__band{
  position: absolute;z-index: 1;top: 0;right: 0;
  width: 42%;height: 44%;background: var(--brand-peach);
}
.hero__frame{
  position: absolute;z-index: 2;top: 0;left: 0;
  width: 74%;height: 100%;border: 1px solid #2b2b2b;
}
.hero__claim{
  position: absolute;z-index: 4;top: 22%;left: 7%;width: 24%;
  font-family: 'Josefin Sans', sans-serif;
  font-size: 0.72rem;letter-spacing: 0.16em;line-height: 1.9;
  text-transform: uppercase;color: #2b2b2b;
}
.hero__claim-dash{display: block;width: 34px;height: 1px;background: #2b2b2b;margin-bottom: 18px;}
.hero__photo{
  position: relative;z-index: 3;display: block;
  width: 54%;margin: 40px 0 40px 32%;
}

@media (max-width: 900px) {
  .hero{padding: calc(var(--header-h) + 45px) 24px 60px 24px;}
  .hero__inner{flex-direction: column;align-items: stretch;gap: 46px;}
  .hero__text,
  .hero__visual{width: 100%;}
  .hero__sub{max-width: none;}
  .hero__claim{top: 18%;left: 5%;width: 28%;}
  .hero__photo{width: 58%;margin: 34px 0 34px 34%;}
}
@media (max-width: 560px) {
  .hero__actions{gap: 20px;}
  .hero__btn{padding: 14px 24px;}
  .hero__social{margin-top: 32px;gap: 12px;}
  .hero__claim{position: static;width: auto;max-width: 210px;font-size: 0.68rem;letter-spacing: 0.14em;padding: 28px 0 0 24px;margin-bottom: 0;}
  .hero__claim-dash{margin-bottom: 12px;}
  .hero__photo{width: 66%;margin: 18px 0 28px 30%;}
  .hero__frame{width: 80%;}
}
/* Menu */
:root {
    --menu-bg: #fff;
    --hero-bg: #f0f0f0;
    --menu-color: #2b2b2b;
    --brand-peach: #febe98;
    --brand-bordeaux: #bb2749;
    --header-h: 78px;
}

html{scroll-behavior: smooth;}

.header{ background-color: var(--menu-bg); position: fixed; top:0;  left:0; z-index: 9999; width: 100%; height: var(--header-h); border-bottom: 1px solid #eee; }
.header__content{max-width: 1200px;width: 100%;height: 100%;margin: 0 auto;padding: 0 24px; display: flex;align-items: center;justify-content: space-between;gap: 24px;}

.header__logo{display: flex; align-items: center; flex: 0 0 auto;}
.header__logo img{ width: 195px;display: block;}

.header__menu{flex: 1 1 auto;display: flex;justify-content: center;padding: 0;margin: 0;}
.header__menu ul{margin: 0;padding: 0;display: flex;gap: 2.4rem;}
.header__menu li{display: inline-block;}
.header__menu li a{
  font-family: 'Josefin Sans', sans-serif; font-weight: 300; font-size: 0.82rem;
  text-transform: uppercase; letter-spacing: 0.2em; color: var(--menu-color);
  display: block; padding: 8px 0; position: relative;
}
.header__menu li a::after{
  content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 0;
  background: var(--brand-bordeaux); transition: width 0.3s ease;
}
.header__menu li a:hover{color: var(--brand-bordeaux);}
.header__menu li a:hover::after{width: 100%;}
.header__menu .current-menu-item > a{color: var(--brand-bordeaux);}
.header__menu .current-menu-item > a::after{width: 100%;}

.header__actions{flex: 0 0 auto;display: flex;align-items: center;gap: 10px;}
.header__contact{display: flex;align-items: center;justify-content: center;width: 40px;height: 40px;color: var(--brand-bordeaux);font-size: 1.4rem;border: 1px solid transparent;border-radius: 50%;transition: all 0.3s ease;}
.header__contact:hover{border-color: var(--brand-peach);background: #fff7f1;}

.icon-hamburger{display: none;height: 40px;width: 34px;padding-top: 4px;cursor: pointer;}
.icon-hamburger span{height: 1px; width: 26px;background: var(--menu-color);position: relative;display: block;margin-top: 9px;transition: all 0.2s cubic-bezier(.215, .61, .355, 1);}
.menu-open .icon-hamburger span:nth-child(1){transform: rotate(45deg) translateY(7px);}
.menu-open .icon-hamburger span:nth-child(2){transform: rotate(-45deg) translateY(-7px);}

/* legacy: blocchi social dentro gli articoli (single.php, chi_sono.php) */
.header__quick{display: flex; align-items: center;color:var(--menu-color)}
.header__quick li{display: inline-block;}
.header__quick li a{display: block;padding: 10px 6px 0 0; color: #bb2649 !important; font-size: 25px;}

@media (max-width: 900px) {
  .header__menu{
    position: fixed; top: var(--header-h); left:0; background-color: var(--menu-bg); width: 100%;
    height: 0; overflow: hidden;transition: height 0.45s cubic-bezier(.215, .61, .355, 1);
    display: block; border-top: 1px solid #eee;
  }
  .menu-open .header__menu{height: calc(100vh - var(--header-h));}

  .header__menu ul{flex-direction: column;gap: 0;padding: 10px 24px;}
  .header__menu li{display: block;width: 100%;border-bottom: 1px solid #f2e6de;}
  .header__menu li a{padding: 20px 0;font-size: 0.95rem;}
  .header__menu li a::after{display: none;}

  .icon-hamburger{display: block;}
}
.button_home {
	box-shadow:inset 0px 1px 0px 0px #efdcfb;
	background:linear-gradient(to bottom, #d6aafa 5%, #882ad4 100%);
	background-color:#d6aafa;
	border-radius:6px;
	border:1px solid #c584f3;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-family:Arial;
	font-size:15px;
	font-weight:bold;
	padding:9px 31px;
	text-decoration:none;
	text-shadow:0px 1px 0px #9752cc;
}
.button_home:hover {
	background:linear-gradient(to bottom, #882ad4 5%, #d6aafa 100%);
	background-color:#882ad4;
}
.button_home:active {
	position:relative;
	top:1px;
}
/*SEZIONE 1*/
.sezione1{
  position: relative;
  background-color: #ffcc99;
  max-width: 100% !important;
  padding: 30px !important;
}

.sezione1 img{
  width: 100%;
  margin-top: 30px;
  margin-left: 30px;
  margin-bottom: -30px;
  margin-right:  -30px;
  border-radius: 10px;
}
.bgimage{
  width: 80%;
  background: #bb2649;
  margin-left: 10%;
  margin-top: 10%;
  border-radius: 10px;
}
.title2{
  color: #bb2649;
  margin-top: 15%;
  margin-left: -20%;
}
.chisono{
  width: 70%;
  margin-top: 15%;
}
@media (max-width: 769px){
  .title2 {
    margin-left: 10%;
  }
  .chisono{
    margin-left: 10%;
    margin-top: 2%;
  }
}
@media (max-width: 480px){
  .title2 {
    margin-left: 2%;
    font-size: 2rem !important;
  }
  .chisono{
    margin-left: 2%;
    margin-top: 2%;
    width: 90%;
  }
}
/*SEZIONE 2*/
.sezione2 {
  justify-content: space-between;
  align-items: center;  
  max-width: 100% !important;
  min-height: 500px;
  background: linear-gradient(180deg, rgba(255,204,153,1) 0%, rgba(255,255,255,1) 100%);
}
.sezione2 img {

  max-width: 100%
}
.tit-card{
  padding-top: 60px;
  color:#bb2649; 
}
.tit-card h3{
  font-size: 20px !important;
  text-align: center;
}

/*SEZIONE 3*/

.sezione3{
  width: 100%;
  min-height: 500px;
  max-width: 100% !important;
  background-image: url("../image/blog_bg.jpg");
  background-size: cover;
  margin-top: 25px !important;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sezione3 h5{color: #bb2649; padding-top: 15px;}
.blog-hp{
  background-color: #ffcc99;
  margin: 10px;
  border-radius: 7px;
}
.blog-hp img{
  width: 100%;
}

/*SEZIONE 4*/

.sezione4{
  margin-top: 25px !important;
  background-color: #ffcc99;
}

.contact_image{
  max-width: 70%;
  background-color: #bb2649;

}
.sezione4 img {
  max-width: 100%;
  margin: 10px -10px -25px -20px; 
}
.fhome{
  position: relative;
  margin: auto;
}
.fhome h3{
  color: #bb2649;
}
.form_home {
  background: #fdf1f1;
  color: #bb2649;
  border-radius: 4px;
  border: 1px solid #d1d1d1;
  box-shadow: inset 1px 2px 8px rgba(0, 0, 0, 0.07);
  font-family: inherit;
  font-size: 0.8em;
  line-height: 1.45;
  outline: none;
  padding: 0.6em 0em 0.4em 0.6em;
  -webkit-transition: .18s ease-out;
  -moz-transition: .18s ease-out;
  -o-transition: .18s ease-out;
  transition: .18s ease-out;
}
.form_home:hover {
  box-shadow: inset 1px 2px 8px rgba(0, 0, 0, 0.02);
}
.form_home:focus {
  color: #4b515d;
  border: 1px solid #B8B6B6;
  box-shadow: inset 1px 2px 4px rgba(0, 0, 0, 0.01), 0px 0px 8px rgba(0, 0, 0, 0.2);
}

/*footer*/

.footer {
  margin-top: 80px;
  background-color: #bb2649;
  color: #fff !important;
}
footer{
  width: 100vw;
  margin-top: 80px;
  bottom: 0;
  left: 0;
  background: #bb2649;
}
footer .content{
  max-width: 1350px;
  margin: auto;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
footer .content p,a{
  color: #fff;
}
footer .content .box{
  width: 33%;
  transition: all 0.4s ease;
}
footer .content .topic{
  font-size: 22px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 16px;

}
footer .content p{
  text-align: justify;
}
footer .content .lower .topic{
  margin: 24px 0 5px 0;
}
footer .content .lower i{
  padding-right: 16px;
}
footer .content .middle{
  padding-left: 80px;
}
footer .content .middle a{
  line-height: 32px;
}
footer .content .right input[type="text"]{
  height: 45px;
  width: 100%;
  outline: none;
  color: #d9d9d9;
  background: #fff;
  border-radius: 5px;
  padding-left: 10px;
  font-size: 17px;
  border: 2px solid #222222;
}
footer .content .right input[type="submit"]{
  height: 42px;
  width: 100%;
  font-size: 18px;
  color: #000000;
  background: #ffcc99;
  outline: none;
  border-radius: 5px;
  letter-spacing: 1px;
  cursor: pointer;
  margin-top: 12px;
  border: 2px solid #ffcc99;
  transition: all 0.3s ease-in-out;
}
.content .right input[type="submit"]:hover{
  background: none;
  color:  #ffcc99;
}
footer .content .social-intro{
  text-align: left;
  font-size: 0.9rem;
  color: #f7dfe4;
  margin-bottom: 0;
}
footer .content .media-icons a{
  font-size: 16px;
  height: 45px;
  width: 45px;
  display: inline-block;
  text-align: center;
  line-height: 43px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.45);
  margin: 24px 8px 0 0;
  transition: all 0.3s ease;
}
.content .media-icons a:hover{
  border-color: var(--brand-peach);
  background: var(--brand-peach);
  color: var(--brand-bordeaux);
}
footer .bottom{
  width: 100%;
  color: #d9d9d9;
  padding: 0 40px 5px 0;
}
footer .bottom a{
  color: #ffcc99;
}
footer a{
  transition: all 0.3s ease;
}
footer a:hover{
  color: #ffcc99;
}
@media (max-width:1100px) {
  footer .content .middle{
    padding-left: 50px;
  }
}
@media (max-width:950px){
  footer .content .box{
    width: 50%;
  }
  .content .right{
    margin-top: 40px;
  }
}
@media (max-width:560px){
  footer{
    position: relative;
  }
  footer .content .box{
    width: 100%;
    margin-top: 30px;
  }
  footer .content .middle{
    padding-left: 0;
  }
}
/* ! Blog */
.blogtitle {
  text-align: center;
}
.blogtitle a{
  color: #bb2649;
  font-style: italic;
  padding-top: 0.4em;
}
.art{
  text-align: center;
}
.art img{
  width: 85%;
}
.blog_relate img{
  width: 80%;
  padding-right: 0.4em;
}
.relat_tit{
  background-color: #ffcc99;
}
.sbar h3{
  text-align: center;
  background-color: #ffcc99;
  padding: 10px;
  color:#bb2649;
  font-weight: 400;
}
.sbar li{
    padding-left: 1em;
    padding-bottom: 0.4em;
    border: #f6d5b5;
    border-style: none none solid none;
    border-width: 1px;
    letter-spacing: 0.1em;
}
.sbar li:last-child{
  border: none;
}
.sbar a{  
  color: #222222;
}
.sbar a:hover{
  color: #bb2649;
  font-style: bold;
}
.blog_line{
  height: 1px;
  border-width: 0;
  background-color: #d4d4d4 !important;
}
.blog_nav{
  background-color: #ffefef;
  min-height: 4.2em;
  align-items: center;
}
.art h4{
  font-style: italic;
  color:#bb2649
}
.art h5{
  font-weight: 200;
}

.articolo {
  text-align: justify;
  width: 85%;
  margin: auto;
}
.articolo p, .articolo_list p{
  font-family: 'Open Sans';
}
.articolo_list{
  text-align: justify;
  width: 85%;
  margin: auto;
  padding-top: 1.2em;
  border-style: none none solid none;
  border-width: 1px;
  border-color: #f6d5b5;
  margin-bottom: 2em;
}
.single .related-posts-after-content .related-thumb {
  display:inline-block;
  width: 32%;
  }
.articoli-correlati{margin:10px 0px;padding:10px;border:1px solid #E5E5E5;}
.articoli-correlati ul li{list-style-type:none;font-size:15px; }
.articoli-correlati a:link{color:#595959}
.articoli-correlati a:hover{color:#8F8F8F}
.rel_tx{width: 80%; margin: auto;}

/* ! Title System */
h1, .text-1 {font-size: 3.5rem;margin-bottom:0.5rem; font-family: 'Josefin Sans', sans-serif; font-weight:500; }
h2, .text-2 {font-size: 2.4rem;margin-bottom:1rem; font-family: 'Josefin Sans', sans-serif;}
h3, .text-3  {font-size: 1.8rem;margin-bottom:1rem; font-family: 'Josefin Sans', sans-serif;}
h4, p, .text-4 {font-size: 1rem;margin-bottom:1rem; line-height: 1.5; font-family: 'Josefin Sans', sans-serif;}
a{color: coral}
.title_section {font-family: 'Josefin Sans', sans-serif;}

/* ! Button System */
.button { 
  font-size: 1rem; text-transform: uppercase; background: #333; color:#fff;
  text-decoration: none;padding: 14px 25px; display: inline-block;
  border-radius: 4px; font-weight: 700;
}
.button:hover{ background: #444; }

/* ! Cover */
.cover{ 
  text-align: center; padding:10px; margin:0px; min-height:600px; width:100%; 
  display:flex; flex-direction:column; justify-content:center; 
  background-position: center center; background-size:cover;
}
.cover * {color:#fff}

.card{padding:20px;box-shadow: 0 5px 20px rgba(0,0,0,.1);border-radius: 10px;overflow: hidden;margin: 0 15px 30px 15px; min-height: 450px}
.card__img{min-height:200px;display: block;background-position: center center; background-size:cover;margin: -20px -20px 20px -20px;}


/* ! Helpers  */
.mt-0{margin-top: 0 }
.mt-1{margin-top: 10px}
.mt-2{margin-top: 20px}
.mt-3{margin-top: 40px}
.mt-4{margin-top: 100px }

.mb-0{margin-bottom: 0}
.mb-1{margin-bottom: 10px}
.mb-2{margin-bottom: 20px}
.mb-3{margin-bottom: 40px}
.mb-4{margin-bottom: 100px}

.p-0{padding: 0}
.p-1{padding: 10px}
.p-2{padding: 20px}
.p-3{padding: 40px}
.p-4{padding: 100px}

.pt-1{padding-top: 10px;}
.pt-3{padding-top: 20px;}
.pt-3{padding-top: 40px;}
.pt-4{padding-top: 15vh;}

.pb-1{padding-bottom: 10px;}
.pb-2{padding-bottom: 20px;}
.pb-3{padding-bottom: 40px;}
.pb-4{padding-bottom: 15vh;}

.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }
.img-res { width: 100%; height: auto; margin-bottom: 20px;vertical-align: middle;}

/* ! Grid System */
.grid { margin: 0 auto; max-width: 1250px; display: flex; flex-flow: row; flex-wrap: wrap;}
.grid--center{justify-content: center;}
.col{ flex: 1;}

[class*='col-'] { position: relative;padding: 0 15px;}
.grid .grid [class*='col-'] {padding: 0px;}

.col-20{ width: 20%; }
.col-25{ width: 25%; }
.col-30{ width: 30%; }
.col-33{ width: 33.33%; }
.col-40{ width: 40%;}
.col-50{ width: 50%; }
.col-60{ width: 60%;}
.col-70{ width: 70%; }
.col-80{ width: 80%; }
.col-100{ width: 100%; }

@media (max-width: 991px) {
    .tab-20 { width: 20%; }
    .tab-25 { width: 25%; }
    .tab-33 { width: 33.33%; }
    .tab-50 { width: 50%; }
    .tab-100 { width: 100%; }
}

@media (max-width: 768px) {
    [class*='col-'] { width: 100%;}
    .sma-20 { width: 20%; }
    .sma-25 { width: 25%; }
    .sma-33 { width: 33.33%; }
    .sma-50 { width: 50%; }
    .sma-100 { width: 100%; }
}