@charset "UTF-8";

html {
  font-size: 16px;
}

body {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 400;
  overflow-x: hidden !important;
  background-color: #fef7f1;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #5c6244;
}
body p{line-height: 25px;}

.cormorant {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}


.montserrat {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.1;
  font-weight: 500;
}
.bg-brown{background-color: #d1c4bc;}
.text-green{color: #6b734e;}
.bg-green{background-color: #6b734e;}
.bg-cipria{background-color: #e4d8c2;}

/* Menu */
#mod-menu1 {
    display: flex;
    align-items: center;
    gap: 2rem;
}

#mod-menu1 > li {
    position: relative;
}

#mod-menu1 > li > a,
#mod-menu1 > li > button .mod-menu__heading {
    color: #6b734e;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .3px;
    transition: all .3s ease;
    position: relative;
    text-transform: uppercase;
}
#mod-menu1 .deeper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* SUBMENU */
#mod-menu1 .mod-menu__sub {
    position: absolute;
    top: 100%;
    left: 0;

    min-width: 240px;

    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);

    transition: all .25s ease;

    z-index: 9999;

    display: block !important;
    pointer-events: none;
}

/* HOVER ATTIVO */
@media (min-width: 992px) {

    #mod-menu1 .deeper:hover > .mod-menu__sub,
    #mod-menu1 .deeper:focus-within > .mod-menu__sub {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }

}

#mod-menu1 .mod-menu__sub[aria-hidden="true"] {
    display: block !important;
}
/*sotto menu*/
ul.mod-menu__sub{background-color: #212529; padding: 15px 10px;}
ul.mod-menu__sub li{
    padding: 10px 5px;
}
ul.mod-menu__sub li a, ul.mod-menu__sub li a:link{
    text-decoration: none; color: #fff; text-transform: uppercase;
    position: relative;
    display: inline-block;
    padding-bottom: 4px;
}

.animated-toggler{
    width:42px;
    height:42px;
    background:none;
    border:none;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
}

.animated-toggler span{
    display:block;
    width:28px;
    height:2px;
    background:#454a34;
    border-radius:5px;
    transition:.3s;
}

/* menu aperto */
.animated-toggler[aria-expanded="true"] span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
}

.animated-toggler[aria-expanded="true"] span:nth-child(2){
    opacity:0;
}

.animated-toggler[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
}
#navmobile {
    padding: 20px;
      /*scroll verticale*/
  max-height: calc(100dvh - 60px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

/* Liste */
#navmobile ul,
#navmobile li {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Voci principali */
#navmobile li {
    border-bottom: 1px solid rgba(255,255,255,.08);
}

/* Link */
#navmobile a,
#navmobile .mod-menu__toggle-sub {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 56px;
    padding: 0;
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    font-weight: 500;
}


/*testata home*/


.hero{
    position:relative;
    height:650px;
    overflow:hidden;
    background:#fff;
    font-family: "Cormorant Garamond", serif;
}


.hero-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,
            rgba(255,255,255,.92) 0%,
            rgba(255,255,255,.75) 35%,
            rgba(255,255,255,0) 65%);

}
.hero .container{
    position:relative;
    z-index:2;
}

.hero-content{
    color:#263326;
}

.hero .titolo{

    font-size:70px;
    line-height:1.1;
    font-weight:700;
    color: #5c6244;
}

.hero .titolo span{
    color:#b98a2d;
}

.hero p{

    font-size:22px;
    max-width:430px;
    color: #5c6244;
    font-weight: 500;
  font-family: "Montserrat", sans-serif;
}

.btn-hero{

    background:#6d7450;
    color:white;
 font-family: "Montserrat", sans-serif;
    padding:15px 35px;
    border-radius:10px;
    font-weight: 500;
}

.btn-hero:hover{

    background:#5c6244;
    color:white;
}

.hero::before{
    content:"";

    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:72px;


    background:url("../images/tracciato-alto.svg") no-repeat;
   background-size:100%;

    z-index:20;

    pointer-events:none;
}

.hero::after{
    content:"";

    position:absolute;

    left:0;
    bottom:0;

    width:100%;
    height:115px;

    background:url("../images/tracciato-basso.svg") no-repeat;

    background-size:100%;

    z-index:20;

    pointer-events:none;
}


/**/
.feature-item{
    position:relative;
    text-align:center;
    padding:95px 30px 25px;
    border-right:1px solid #e7dfd4;
}

.feature-item::before{

    font-family:"bootstrap-icons";
    font-size:58px;
    color:#c89b3c;

    position:absolute;
    top:10px;
    left:50%;

    transform:translateX(-50%);
}
.icon-compass::before{
    content:"\f290";
}

.icon-leaf::before{
    content:"\f495";
}

.icon-globe::before{
    content:"\f3ee";
}

.icon-suitcase::before{
    content:"\F179";
}
.features-section h4{font-weight: 700;color: #5c6244; margin-bottom: 20px; font-size: 18px;}
.section-title{ font-family: "Cormorant Garamond", serif; font-weight: 500;color: #5c6244; font-size: 36px;}
.swiper-slide{border: 1px solid #b1934b; border-radius: 10px; overflow: hidden; position: relative;}
.travel-card-cont a, .travel-card-cont a:link{font-weight: 600; color: #5c6244; text-decoration: none;font-family: "Cormorant Garamond", serif;}

/*prev next scroller*/
.swiper-button-prev,
.swiper-button-next {
    width: 40px;
    height: 40px;
    top: 20px;
    border-radius: 50%;
    background: #f0ece2;
    color: #687054;
}

.swiper-button-prev {
    right: 58px;
    left: auto;
}

.swiper-button-next {
    right: 8px;
}

.swiper-button-prev::after,
.swiper-button-next::after {
    font-size: 15px;
    font-weight: 500;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
    background: #e7e1d3;
}

.chisiamo{position: relative;}
.chisiamo::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:115px;
    background:url("../images/tracciato-basso.svg") no-repeat;
    background-size:100%;
    z-index:20;
    pointer-events:none;
    transform: rotateX(180deg);
}
.chisiamo h3{font-size: 36px;}
.chisiamo p{font-size: 16px; line-height: 23px;}

footer h3{margin-bottom: 20px; text-transform: uppercase; font-size: 16px; font-weight: 600;}
footer a, footer a:link{color: #687054; text-decoration: none;}
footer ul li{margin-bottom: 10px;}

.card-img-second-wrapper {
    aspect-ratio: 4 / 3;
    width: 100%;
    overflow: hidden;
}

.card-img-second-wrapper a {
    display: block;
    width: 100%;
    height: 100%;
}

.card-img-second {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/*slide viaggi*/
.travel-slider{
    display:flex;
    width:100%;
    min-height:600px;
}

/*categoria*/
.viaggi-blog-item{
    border: 1px solid #b1934b;
    border-radius: 10px;
    overflow: hidden;
}

.pacchetto-col-1 ul li, .pacchetto-col-2 ul li, .pacchetto-col-3 ul li,
.destinazioni-col-1 ul li, .destinazioni-col-2 ul li, .destinazioni-col-3 ul li{display:block; width: 100%; padding:5px 0px;}
.pacchetto-col-1 ul li a, .pacchetto-col-1 ul li a:link,
.pacchetto-col-2 ul li a, .pacchetto-col-2 ul li a:link,
.pacchetto-col-3 ul li a, .pacchetto-col-3 ul li a:link,

.destinazioni-col-1 ul li a, .destinazioni-col-1 ul li a:link,
.destinazioni-col-2 ul li a, .destinazioni-col-2 ul li a:link,
.destinazioni-col-3 ul li a, .destinazioni-col-3 ul li a:link{color: #6b734e; text-decoration: none;}

.full-width {
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw)
}

.swiper-button-next,
.swiper-button-prev {
  color: #5c6244;
}
.swiper-button-next,
.swiper-button-prev {
  width: 44px!important;
  height: 44px!important;
  border-radius: 50%!important;
  background: #c89b3c;
  color: #fff;
  transition: all 0.3s ease;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 14px!important;
  font-weight: 600;
  color: #fff!important;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  background: #454a34;
  transform: scale(1.08);
}

.filter-tags {
    margin-top: 20px;
    border-top: 1px solid rgba(92, 98, 68, 0.15);
}

.filter-tags .row {
    row-gap: 40px;
}

.filter-tags .ispirazioni-col-1,
.filter-tags .ispirazioni-col-2,
.filter-tags .ispirazioni-col-3 {
    height: 100%;
}


.filter-tags h3 {
    margin-bottom: 8px;
    color: #c89b3c;
}


.filter-tags ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}


.filter-tags ul li {
    margin: 0;
    padding: 0;
}


.filter-tags ul li a {
    display: inline-block;
    padding: 8px 15px;

    color: #5c6244;
    background: rgba(92, 98, 68, 0.06);

    border: 1px solid rgba(92, 98, 68, 0.22);
    border-radius: 30px;

    font-size: 14px;
    line-height: 1.2;
    text-decoration: none;

    transition: all 0.25s ease;
}

.filter-tags ul li a:hover {
    color: #fff;
    background-color: #5c6244;
    border-color: #5c6244;
    transform: translateY(-2px);
}

.filter-tags ul li.active a,
.filter-tags ul li a.active {
    color: #fff;
    background-color: #5c6244;
    border-color: #5c6244;
}
.filter-tags .col-md-3 + .col-md-3 {
    border-left: 1px solid rgba(92, 98, 68, 0.15);
}
@media (max-width: 767px) {
    .filter-tags .col-md-3 + .col-md-3 {
        border-left: none;
        border-top: 1px solid rgba(92, 98, 68, 0.15);
        padding-top: 30px;
    }
}


.travel-cta {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.travel-cta-card,
.booking-cta {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 20px;
  border-radius: 18px;
  border: 1px solid #e5e7eb;
  text-align: left;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
  cursor: pointer;
}


.info-card {
  background: #ffffff;
  color: #111827;
}


.info-card:hover {
  transform: translateY(-3px);
  border-color: #d1d5db;
  box-shadow:
    0 12px 30px rgba(0,0,0,.08);
}



.booking-cta {
  background: #d96a0a;
  color: white;
  border-color: #d96a0a;
}

.booking-cta:hover {
  transform: translateY(-3px);
  box-shadow:
    0 12px 30px rgba(0,0,0,.20);
}

.cta-icon,
.booking-icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  margin-right: 15px;
  font-size: 23px;
}


.cta-icon {
  background: #f3f4f6;
  color: #111827;
}


.booking-icon {
  background: rgba(255,255,255,.12);
  color: white;
}


.cta-content,
.booking-content {
  display: flex;
  flex-direction: column;
  flex: 1;
}


.cta-eyebrow {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  opacity: .6;
  margin-bottom: 3px;
}


.cta-content strong,
.booking-content strong {
  font-size: 16px;
  line-height: 1.25;
}

.cta-description {
  font-size: 12px;
  margin-top: 4px;
  opacity: .65;
  line-height: 1.35;
}


.cta-arrow {
  width: 36px;
  height: 36px;
  min-width: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  margin-left: 12px;
  transition:
    transform .25s ease,
    background .25s ease;
}

.info-card .cta-arrow {
  background: #f3f4f6;
  color: #111827;
}


.booking-cta .cta-arrow {
  background: rgba(255,255,255,.12);
  color: white;
}

.travel-cta-card:hover .cta-arrow,
.booking-cta:hover .cta-arrow {
  transform: translate(3px, -3px);
}
.info-form{
padding: 20px;
  margin-top: -4px;
  background: white;
  border: 1px solid #e5e7eb;
  border-top: 0;
  border-radius: 0 0 18px 18px;}


.fs-responsive {
    font-size: clamp(24px, 4vw, 60px);
}

/*partner*/

.partner-card {
  width: 100%;
  text-align: center;
}

.partner-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #e2e2e2;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #aaa;
  font-size: 32px;
  overflow: hidden;
}

.partner-title {
  padding-top: 10px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 600;
  color: #555;
}

/* Desktop 5 colonne */
@media (min-width: 992px) {
  .partner-image {
    aspect-ratio: 4 / 3;
  }
}
/*fine partner*/

@media (max-width: 768px) { 
    .hero::after,
    .chisiamo::before{display: none;}
    .overlay {background: linear-gradient(90deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .75) 100%, rgba(255, 255, 255, 0) 99%);}
    footer [class^="col-"] {width: 90vw; margin: 0px auto;margin-bottom: 40px;}
    footer ul li a {padding: 20px;}
    .hero.full-width{height: 250px;}

}