/* ═══════════════════════════════════
   ETNA TREKKING TOUR – style.css
═══════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,400&family=Barlow:wght@300;400;600&family=Barlow+Condensed:wght@700;800&display=swap');

:root {
  --lava:   #1a0a00;
  --ember:  #c0392b;
  --fire:   #e67e22;
  --gold:   #f39c12;
  --ash:    #b2a99a;
  --snow:   #f5f0eb;
  --cream:  #fdf8f3;
  --dark:   #0d0500;
  --stone:  #6b5f55;
  --moss:   #4a6741;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Barlow',sans-serif; background:var(--cream); color:var(--lava); overflow-x:hidden; }

/* ── NAVBAR ── */
#mainNav {
  background: linear-gradient(to bottom, rgba(13,5,0,.85), transparent);
  transition: background .4s;
  padding: 14px 0;
}
#mainNav.scrolled { background: rgba(13,5,0,.97); }
.nav-logo {
  font-family:'Playfair Display',serif;
  font-size:1rem; font-weight:900; color:var(--snow) !important;
  line-height:1.1; text-decoration:none;
}
.nav-logo span { color:var(--fire); display:block; font-size:.78rem; letter-spacing:.2em; font-style:italic; }
.navbar-nav .nav-link { color:rgba(245,240,235,.8) !important; font-size:.8rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; transition:color .2s; }
.navbar-nav .nav-link:hover { color:var(--gold) !important; }
.navbar-toggler { border-color:rgba(245,240,235,.4); }
.navbar-toggler-icon { filter:invert(1); }

/* ── BUTTONS ── */
.btn-ember {
  background:var(--ember); color:#fff; border:none;
  padding:10px 26px; font-family:'Barlow Condensed',sans-serif;
  font-size:.92rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; text-decoration:none; display:inline-block;
  transition:background .2s;
}
.btn-ember:hover { background:var(--fire); color:#fff; }
.btn-white {
  background:#fff; color:var(--ember); border:none;
  padding:12px 30px; font-family:'Barlow Condensed',sans-serif;
  font-size:.92rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; text-decoration:none; display:inline-block;
  transition:all .2s;
}
.btn-white:hover { background:var(--lava); color:var(--snow); }

/* ── HERO ── */
.hero {
  min-height:100vh; position:relative; overflow:hidden;
  background:
    linear-gradient(175deg,rgba(13,5,0,.72) 0%,rgba(26,10,0,.60) 40%,rgba(45,18,0,.50) 70%,rgba(26,10,0,.72) 100%),
    url('../img/hero-bg.jpg') center center / cover no-repeat;
  padding-top:80px; padding-bottom:80px;
}
.hero-particles { position:absolute; inset:0; pointer-events:none; }
.particle {
  position:absolute; border-radius:50%; background:var(--fire);
  opacity:0; animation:float-up linear infinite;
}
@keyframes float-up {
  0%   { transform:translateY(0) scale(1); opacity:.6; }
  100% { transform:translateY(-80vh) scale(.1); opacity:0; }
}
.hero-eyebrow {
  font-family:'Barlow Condensed',sans-serif; font-size:.82rem;
  font-weight:700; letter-spacing:.35em; text-transform:uppercase;
  color:var(--fire); margin-bottom:14px;
  display:flex; align-items:center; gap:10px;
}
.hero-eyebrow::before { content:''; display:block; width:36px; height:1px; background:var(--fire); }
.hero-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(3rem,7vw,5.5rem); font-weight:900;
  line-height:.95; color:var(--snow); margin-bottom:20px;
}
.hero-title em { color:var(--fire); font-style:italic; }
.hero-desc { font-size:1rem; color:var(--ash); line-height:1.7; max-width:480px; margin-bottom:32px; font-weight:300; }

/* ── SECTION COMMONS ── */
.bg-cream     { background:var(--cream); }
.bg-light-warm{ background:#f9f5f0; }
.section-tag {
  font-family:'Barlow Condensed',sans-serif; font-size:.78rem;
  font-weight:700; letter-spacing:.35em; text-transform:uppercase;
  color:var(--ember); margin-bottom:10px;
  display:flex; align-items:center; gap:8px;
}
.section-tag::before { content:'—'; }
.section-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem,4vw,3rem); font-weight:900;
  line-height:1.1; margin-bottom:12px;
}
.section-subtitle { font-size:.95rem; color:var(--stone); line-height:1.7; font-weight:300; max-width:540px; }

/* ── PKG CARD ── */
.pkg-card {
  background:#fff; border:1px solid rgba(26,10,0,.06);
  box-shadow:0 2px 16px rgba(26,10,0,.08);
  transition:transform .3s, box-shadow .3s; overflow:hidden;
}
.pkg-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(26,10,0,.13); }

/* Slideshow */
.pkg-ss { height:210px; position:relative; overflow:hidden; background:#1a0a00; }
.ss-slide { position:absolute; inset:0; opacity:0; transition:opacity .8s; }
.ss-slide img { width:100%; height:100%; object-fit:cover; display:block; }
.ss-slide.active { opacity:1; }
.ss-prev,.ss-next {
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  background:rgba(13,5,0,.55); color:#fff; border:none;
  width:28px; height:28px; cursor:pointer; font-size:1rem;
  display:flex; align-items:center; justify-content:center; transition:background .2s;
}
.ss-prev { left:7px; } .ss-next { right:7px; }
.ss-prev:hover,.ss-next:hover { background:var(--ember); }
.ss-dots { position:absolute; bottom:9px; left:50%; transform:translateX(-50%); display:flex; gap:6px; z-index:5; }
.ss-dot {
  width:6px; height:6px; border-radius:50%;
  background:rgba(255,255,255,.4); border:none; cursor:pointer; padding:0;
  transition:background .2s, transform .2s;
}
.ss-dot.on { background:#fff; transform:scale(1.3); }
.pkg-badge {
  position:absolute; top:11px; left:11px; z-index:4; color:#fff;
  font-family:'Barlow Condensed',sans-serif; font-size:.7rem;
  font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:3px 11px;
}
.pkg-diff { position:absolute; top:11px; right:11px; z-index:4; display:flex; gap:3px; }
.d { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.25); }
.d.on { background:var(--fire); }
.pkg-dur {
  position:absolute; bottom:34px; right:11px; z-index:4;
  background:rgba(13,5,0,.72); color:var(--snow);
  font-family:'Barlow Condensed',sans-serif; font-size:.78rem; font-weight:600; padding:4px 11px;
}

/* Card body */
.pkg-body { padding:18px 20px 0; }
.pkg-cat {
  font-family:'Barlow Condensed',sans-serif; font-size:.7rem;
  font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ember); margin-bottom:4px;
}
.pkg-title { font-family:'Playfair Display',serif; font-size:1.1rem; font-weight:700; line-height:1.2; margin-bottom:6px; }
.pkg-desc { font-size:.83rem; color:var(--stone); line-height:1.6; font-weight:300; margin-bottom:10px; }

.pkg-attr { background:#f4ede6; padding:10px 20px; border-top:1px solid rgba(26,10,0,.07); border-bottom:1px solid rgba(26,10,0,.07); }
.attr-tit { font-family:'Barlow Condensed',sans-serif; font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--stone); margin-bottom:5px; }
.attr-wrap { display:flex; flex-wrap:wrap; gap:5px; }
.attr-tag { background:#fff; border:1px solid rgba(26,10,0,.12); padding:2px 8px; font-size:.74rem; font-weight:500; color:var(--lava); border-radius:2px; }

.pkg-info { display:flex; flex-wrap:wrap; gap:10px; padding:10px 20px; border-bottom:1px solid rgba(26,10,0,.06); }
.ic { display:flex; align-items:center; gap:5px; }
.ic-lbl { font-size:.7rem; color:var(--stone); }
.ic-val { font-size:.7rem; font-weight:600; color:var(--lava); }

.pkg-inc { padding:10px 20px; border-bottom:1px solid rgba(26,10,0,.06); }
.inc-tit { font-family:'Barlow Condensed',sans-serif; font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--stone); margin-bottom:5px; }
.inc-item { font-size:.8rem; color:var(--stone); display:flex; align-items:flex-start; gap:6px; margin-bottom:3px; }
.inc-item::before { content:'✓'; color:var(--moss); font-weight:700; flex-shrink:0; }
.inc-item.opt::before { content:'◦'; color:var(--fire); }

.pkg-price { padding:14px 20px; display:flex; align-items:center; justify-content:space-between; }
.price-lbl { font-size:.7rem; color:var(--stone); text-transform:uppercase; letter-spacing:.1em; }
.price-amt { font-family:'Barlow Condensed',sans-serif; font-size:1.7rem; font-weight:800; color:var(--ember); line-height:1; }
.price-note { font-size:.7rem; color:var(--stone); }
.price-note span { color:var(--ember); font-weight:600; }
.btn-book {
  background:var(--lava); color:var(--snow); border:none;
  padding:9px 18px; font-family:'Barlow Condensed',sans-serif;
  font-size:.84rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; cursor:pointer; transition:background .2s;
}
.btn-book:hover { background:var(--ember); }

/* ── TESTIMONIALS ── */
.testi-card { background:#fff; padding:26px; border-bottom:3px solid var(--ember); box-shadow:0 2px 12px rgba(26,10,0,.06); }
.testi-stars { color:var(--gold); margin-bottom:10px; letter-spacing:2px; }
.testi-txt { font-size:.87rem; color:var(--stone); line-height:1.7; font-style:italic; margin-bottom:14px; }
.testi-auth { display:flex; align-items:center; gap:10px; }
.testi-av { width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--ember),var(--fire)); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:.86rem; flex-shrink:0; }
.testi-name { font-weight:600; font-size:.85rem; }
.testi-meta { font-size:.73rem; color:var(--stone); }

/* ── CTA BAND ── */
.cta-band { background:var(--ember); padding:52px 0; }
.cta-title { font-family:'Playfair Display',serif; font-size:1.9rem; font-weight:900; color:#fff; margin-bottom:4px; }
.cta-sub { color:rgba(255,255,255,.85); font-size:.92rem; margin:0; }

/* ── FOOTER ── */
footer { background:var(--dark); color:var(--ash); }
.footer-logo { font-family:'Playfair Display',serif; font-size:1.3rem; font-weight:900; color:var(--snow); display:block; }
.footer-logo span { color:var(--fire); }
.footer-desc { font-size:.84rem; line-height:1.7; }
.footer-heading { font-family:'Barlow Condensed',sans-serif; font-size:.78rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--snow); margin-bottom:14px; }
.footer-links { list-style:none; padding:0; display:flex; flex-direction:column; gap:7px; }
.footer-links a { color:var(--ash); text-decoration:none; font-size:.83rem; transition:color .2s; }
.footer-links a:hover { color:var(--fire); }
.footer-contact { list-style:none; padding:0; display:flex; flex-direction:column; gap:8px; font-size:.83rem; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.06); padding:20px 0; display:flex; justify-content:space-between; font-size:.75rem; flex-wrap:wrap; gap:8px; }

/* ── MODAL ── */
.modal-ss { height:220px; position:relative; overflow:hidden; background:#1a0a00; }
.mss-slide { position:absolute; inset:0; opacity:0; transition:opacity .8s; }
.mss-slide img { width:100%; height:100%; object-fit:cover; display:block; }
.mss-slide.active { opacity:1; }
.mss-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(13,5,0,.85),transparent 55%); z-index:1; }
.mss-content { position:absolute; bottom:0; left:0; right:0; padding:18px 24px; z-index:2; }
.mss-cat { font-family:'Barlow Condensed',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--fire); margin-bottom:3px; }
.mss-title { font-family:'Playfair Display',serif; font-size:1.3rem; font-weight:900; color:var(--snow); line-height:1.1; }
.mss-dots { position:absolute; top:10px; left:50%; transform:translateX(-50%); display:flex; gap:6px; z-index:5; }
.mss-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.4); border:none; cursor:pointer; padding:0; transition:background .2s; }
.mss-dot.on { background:#fff; }
.mss-prev,.mss-next { position:absolute; top:50%; transform:translateY(-50%); z-index:5; background:rgba(13,5,0,.5); color:#fff; border:none; width:26px; height:26px; cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center; }
.mss-prev { left:8px; } .mss-next { right:8px; }
.mss-prev:hover,.mss-next:hover { background:var(--ember); }

.booking-title { font-family:'Playfair Display',serif; font-size:1.15rem; font-weight:700; }
.form-label-custom { display:block; font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--stone); margin-bottom:4px; }
.form-control-custom { width:100%; padding:9px 11px; border:1px solid rgba(26,10,0,.15); background:#fff; font-family:'Barlow',sans-serif; font-size:.86rem; color:var(--lava); outline:none; appearance:none; transition:border-color .2s; }
.form-control-custom:focus { border-color:var(--ember); box-shadow:none; }
.btn-submit { width:100%; background:var(--ember); color:#fff; border:none; padding:13px; font-family:'Barlow Condensed',sans-serif; font-size:.95rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; transition:background .2s; }
.btn-submit:hover { background:var(--fire); }
.btn-wa { background:#25D366; color:#fff; border:none; padding:11px; font-family:'Barlow Condensed',sans-serif; font-size:.9rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; display:flex; align-items:center; justify-content:center; gap:7px; text-decoration:none; cursor:pointer; }
.btn-wa:hover { background:#1ebe5d; color:#fff; }
.form-note { font-size:.7rem; color:var(--stone); text-align:center; line-height:1.5; }

/* ── WA FLOAT ── */
.wa-float {
  position:fixed; bottom:24px; right:24px; z-index:9999;
  background:#25D366; width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 18px rgba(37,211,102,.4); text-decoration:none;
  animation:wa-pulse 2.5s infinite; transition:transform .2s;
}
.wa-float:hover { transform:scale(1.1); }
@keyframes wa-pulse {
  0%,100% { box-shadow:0 4px 18px rgba(37,211,102,.4); }
  50%      { box-shadow:0 4px 30px rgba(37,211,102,.7); }
}
/* FOOTER CONTATTI */
.footer-contact li,
.footer-contact a {
  color: #fff !important;
  font-weight: 600;
  text-decoration: none;
}
.footer-contact a:hover { color: var(--fire) !important; }

/* SOCIAL BUTTONS */
.social-buttons { display: flex; gap: 10px; margin-top: 16px; }
.btn-social {
  width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none; transition: transform .2s, opacity .2s;
}
.btn-social:hover { transform: scale(1.15); opacity: .85; }
.btn-social.fb  { background: #1877F2; }
.btn-social.ig  { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.btn-social.yt  { background: #FF0000; }

/* GALLERY STRIP */
.gallery-strip { display:flex; height:320px; overflow:hidden; }
.gallery-item {
  flex:1; position:relative; overflow:hidden; cursor:pointer;
  transition:flex .5s ease; background:#1a0a00;
}
.gallery-item:hover { flex:2.5; }
.gallery-item img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .5s ease;
}
.gallery-item:hover img { transform:scale(1.05); }
.gallery-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(13,5,0,.75), transparent 55%);
}
.gallery-label {
  position:absolute; bottom:16px; left:16px; z-index:2;
  color:var(--snow); font-family:'Barlow Condensed',sans-serif;
  font-size:.95rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase;
  opacity:0; transform:translateY(8px); transition:all .3s;
}
.gallery-item:hover .gallery-label { opacity:1; transform:translateY(0); }

@media(max-width:860px) {
  .gallery-strip { flex-direction:column; height:auto; }
  .gallery-item { height:160px; flex:none; }
  .gallery-label { opacity:1; transform:translateY(0); }
}
```

Le foto da caricare in `img/`:
```
gallery-etna.jpg
gallery-lava.jpg
gallery-panorama.jpg
gallery-grotte.jpg
gallery-neve.jpg

/* LANGUAGE BUTTON */
.btn-lang {
  border: 1px solid rgba(245,240,235,.5);
  color: var(--snow) !important;
  padding: 5px 14px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: .82rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  text-decoration: none; transition: all .2s;
  border-radius: 2px;
}
.btn-lang:hover { background: rgba(245,240,235,.15); color: var(--gold) !important; }

.footer-credits {
  color: #fff !important;
  font-weight: 600;
  text-decoration: none;
  transition: color .2s;
}
.footer-credits:hover { color: var(--fire) !important; }