/* ===== OUR TOURS — HERO (responsive, contenuto visibile) ===== */
.tours-hero{
  position: relative;
  width: 100%;
  min-height: clamp(380px, 48vh, 520px);
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 2rem 0 2.5rem;
  background:#fff;
}
.hero__wave{
  position: absolute;
  bottom: -1px;           /* per evitare gap */
  left: 0;
  width: 100%;
  height: 60px;
  fill: #ffffff;
  z-index: 1;
}
.tours-hero__media{ position:absolute; inset:0; z-index:0; }
.tours-hero__media img{
  width:100%; height:100%;
  object-fit:cover; object-position:left center;
  display:block;
}
/* doppia sfumatura verso destra */
.tours-hero::before,
.tours-hero::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
}
.tours-hero::before{
  background: radial-gradient(ellipse at 62% 50%,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.45) 34%,
    rgba(255,255,255,0) 66%);
}
.tours-hero::after{
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 46%,
    rgba(255,255,255,.82) 72%,
    #ffffff 96%);
}
/* testo hero */
.tours-hero__content{
  position:relative; z-index:2;
  max-width:1200px; margin:0 auto; padding:0 16px; width:100%;
  display:flex; justify-content:flex-end;
}
.tours-hero__text{ max-width:520px; }
.tours-hero__title{
  font-family:var(--font-serif); font-weight:700;
  font-size:clamp(2.6rem, 3.2vw + 1rem, 3.4rem);
  line-height:1.15; color:rgb(13,27,42); margin:0 0 .75rem;
}
.tours-hero__subtitle{
  font-family:var(--font-sans); font-size:1.08rem; line-height:1.82;
  color:rgba(13,27,42,.82); max-width:46ch; margin:0;
}
@media (max-width: 992px){
  .tours-hero{ min-height:clamp(360px,48vh,460px); padding:1.75rem 0 2rem; }
  .tours-hero__media img{ object-position:center 40%; }
  .tours-hero__content{ justify-content:center; }
  .tours-hero__title,.tours-hero__subtitle{ text-align:center; }
}

/* ===== GRID ===== */
.tours-grid{ padding:2.5rem 0 4rem; background:#fff; }
.tours-grid__title{
  font-family:var(--font-serif); color:rgb(13,27,42);
  text-align:center; font-size:clamp(1.9rem, 1.2rem + 2vw, 2.4rem);
  margin-bottom:1.6rem;
}
.tours-grid .container-xl{ max-width:1120px; }
.tours-grid__wrap{
  display:grid;
  grid-template-columns: repeat(3, 1fr); /* 3 colonne */
  gap:28px;
  align-items:stretch;                  /* tutte le card stessa altezza */
}
@media (max-width: 1200px){
  .tours-grid__wrap {
    grid-template-columns: repeat(3, 1fr); /* tablet → 2 colonne */
  }
}

@media (max-width: 768px){
  .tours-grid__wrap {
    grid-template-columns: 1fr; /* mobile → 1 colonna */
  }
}

/* ===== CARD ===== */
.tour-card{
  background:#fff; border-radius:14px; overflow:hidden;
  display:flex; flex-direction:column; height:100%;
  box-shadow:0 18px 42px rgba(14,30,52,.12);
  transition:transform .28s ease, box-shadow .28s ease;
}
.tour-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 52px rgba(14,30,52,.16);
}

/* Media + badge */
.tour-card__media{
  position:relative; height:280px; overflow:hidden;
  border-top-left-radius:14px; border-top-right-radius:14px;
  flex:0 0 auto;
}
.tour-card__media img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  display:block; transition:transform .6s ease;
}
.tour-card:hover .tour-card__media img{ transform:scale(1.06); }

.tour-card__badge{
  position:absolute; left:16px; top:16px;
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; text-align:center;
  background:var(--gold); color:#fff; font-weight:800;
  font-size:.63rem; letter-spacing:.6px; line-height:1.05;
  box-shadow:0 8px 20px rgba(245,179,1,.35);
}

/* Body */
.tour-card__body{
  padding:1.15rem 1.25rem 1.25rem;
  display:flex; flex-direction:column; gap:.65rem; flex:1 1 auto;
}
.tour-card__head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
}
.tour-card__title{
  font-family:var(--font-serif);
  font-size:1.35rem; color:rgb(13,27,42); margin:0;
}
.tour-card__meta{
  white-space:nowrap; font-size:.92rem; color:#6b7787;
  display:flex; align-items:center; gap:.4rem;
}
.tour-card__meta i{ opacity:.85; }
.tour-card__desc{
  color:#2b3442; font-size:1rem; line-height:1.75; margin:0;
}

/* Footer (prezzo + bottone) */
.tour-card__foot{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; margin-top:auto;               /* footer sempre in basso */
}

/* “Starting from” + prezzo grande */
.tour-card__price{
  display:flex; flex-direction:column; line-height:1.2;
  font-family:var(--font-sans);
}
.tour-card__price small{
  font-size:.85rem; color:#6b7787; font-weight:400; margin-bottom:2px;
}
.tour-card__price strong{
  font-size:1.4rem; font-weight:800; color:rgb(13,27,42);
}

.tour-card__btn{
  border-radius:12px; padding:.7rem 1.15rem;
  white-space:nowrap;
  transition:filter .2s ease, transform .2s ease;
}
.tour-card__btn:hover{ filter:brightness(108%); transform:translateY(-1px); }

@media (max-width: 992px){
  .tour-card__media{ height:240px; }
}

/* Bottoni tour-card con stesso stile della home */
.tour-card__btn {
  background: var(--gold);
  color: #fff !important;
  font-weight: 700;
  border: none;
  border-radius: 12px;
  padding: .7rem 1.15rem;
  white-space: nowrap;
  transition: filter .2s ease, transform .2s ease, background .25s ease;
    text-decoration: none;   /* rimuove underline */
  display: inline-block;   /* mantiene il comportamento da bottone */
  text-align: center;
}


.tour-card__btn:hover,
.tour-card__btn:focus-visible {
  background: var(--gold-hover);   /* più chiaro al passaggio */
  filter: brightness(108%);
  transform: translateY(-1px);
  outline: none;
}
