/*
Theme Name:   Etna Live Tour Child
Theme URI:    https://www.etnaquad.it
Description:  Child theme di Hello Elementor per Etna Live Tour
Author:       Etna Live Tour
Author URI:   https://www.etnaquad.it
Template:     hello-elementor
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  etna-live-tour-child
*/

/* ============================================================
   DESIGN TOKENS — Palette e font del sito originale
   ============================================================ */
:root {
  --fire:     #DC2537;
  --ember:    #E8374A;
  --lava:     #B01E2F;
  --dark:     #0D0B0A;
  --charcoal: #1A1614;
  --ash:      #2E2926;
  --sand:     #C4A882;
  --cream:    #F5EFE6;
  --white:    #FAFAF8;
  --gold:     #D4A853;
  --sky:      #4A7FA5;
}

/* ============================================================
   TIPOGRAFIA GLOBALE
   ============================================================ */
body {
  font-family: 'Outfit', sans-serif;
//  background: var(--dark);
  background-color: #0D0B0A !important;
  color: var(--cream);
  overflow-x: hidden;
}

h1, h2, h3, h4,
.elementor-heading-title {
  font-family: 'Bebas Neue', sans-serif;
}

::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--dark); }
::-webkit-scrollbar-thumb { background: var(--fire); border-radius: 2px; }

/* ============================================================
   BOTTONI GLOBALI (classi riutilizzabili in Elementor)
   ============================================================ */
.btn-p,
.elementor-button.btn-fire {
 /* display: inline-flex ;
  align-items: center;
  gap: .5em;
  // background: var(--fire);
  color: var(--white) !important;
  text-decoration: none;
  
  font-weight: 600;
  font-size: .92rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 3px;
  border: 2px solid var(--fire);
  transition: all .25s;
  cursor: pointer; */
	text-transform:uppercase;
}
.btn-p:hover,
.elementor-button.btn-fire:hover {
  background: transparent !important;
  color: var(--fire) !important;
  transform: translateY(-2px);
}

.elementor-button.btn-fire {
  width: auto !important;
  flex: 0 0 auto;
}

.elementor-button-wrapper {
  display: inline-block;
  width: auto;
}

.btn-o,
.elementor-button.btn-outline {
 /* display: inline-flex;
  align-items: center;
  gap: .5em;
  background: transparent;
  color: var(--white) !important;
  text-decoration: none;
  padding: .95em 2.2em;
  font-weight: 500;
  font-size: .92rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 3px;
  border: 2px solid rgba(245,239,230,.4);
  transition: all .25s;
  cursor: pointer; */
}
.btn-o:hover,
.elementor-button.btn-outline:hover {
  border-color: var(--white);
  transform: translateY(-2px);
}

/* ============================================================
   SECTION TAG / LABEL (piccola scritta rossa sopra i titoli)
   ============================================================ */
.section-tag {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--fire);
  margin-bottom: .8rem;
  display: block;
}

/* ============================================================
   ANIMAZIONE REVEAL (usata con JS)
   ============================================================ */
.reveal {
  opacity: 0;
  transform: translateY(38px);
  transition: opacity .7s, transform .7s;
}
.reveal.visible {
  opacity: 1;
  transform: none;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   HEADER / NAV
   ============================================================ */
#site-header,
.site-header,
header.entry-header {
  display: none; /* nasconde l'header di default di Hello Elementor */
}

.elt-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  padding: 0 5vw;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background .4s, box-shadow .4s;
}
.elt-header.scrolled {
  background: rgba(13,11,10,.96);
  box-shadow: 0 2px 30px rgba(220,37,55,.15);
  backdrop-filter: blur(12px);
}

/* Logo */
.elt-header .elt-logo img {
  height: 44px;
  width: auto;
  object-fit: contain;
  display: block;
}

/* Nav links (desktop) */
.elt-nav {
  display: flex;
  gap: 2.2rem;
  list-style: none;
  align-items: center;
}
.elt-nav a {
  color: var(--cream);
  text-decoration: none;
  font-weight: 500;
  font-size: .88rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: color .2s;
  position: relative;
}
.elt-nav a::after {
  content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 0; height: 2px;
  background: var(--fire);
  transition: width .3s;
}
.elt-nav a:hover { color: var(--fire); }
.elt-nav a:hover::after { width: 100%; }

/* Bottone CTA in nav */
.elt-nav .nav-cta {
  background: var(--fire) !important;
  color: var(--white) !important;
  padding: .55em 1.4em !important;
  border-radius: 3px;
  font-weight: 600 !important;
}
.elt-nav .nav-cta::after { display: none !important; }
.elt-nav .nav-cta:hover {
  background: var(--lava) !important;
  color: var(--white) !important;
}

/* Hamburger mobile */
.elt-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  z-index: 1001;
  background: none;
  border: none;
  padding: 4px;
}
.elt-hamburger span {
  display: block;
  width: 26px; height: 2px;
  background: var(--white);
  transition: all .3s;
}
.elt-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.elt-hamburger.open span:nth-child(2) { opacity: 0; }
.elt-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Offset contenuto sotto l'header fisso */
.page-content-wrap,
.elementor-section-wrap,
main#content {
  padding-top: 72px;
}

/* ============================================================
   FOOTER
   ============================================================ */
#site-footer,
.site-footer {
  display: none; /* nasconde il footer di default di Hello Elementor */
}

.elt-footer {
  background: var(--charcoal);
  border-top: 1px solid rgba(196,168,130,.1);
  padding: 4rem 8vw 2rem;
  font-family: 'Outfit', sans-serif;
}

.elt-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(196,168,130,.1);
}

/* Colonna brand */
.elt-footer-brand .elt-footer-logo img {
  height: 44px;
  width: auto;
  object-fit: contain;
  margin-bottom: 1rem;
  display: block;
}
.elt-footer-brand p {
  font-size: .86rem;
  color: rgba(196,168,130,.55);
  line-height: 1.7;
  max-width: 270px;
}

/* Colonne link */
.elt-footer-col h5 {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--fire);
  margin-bottom: 1.1rem;
}
.elt-footer-col ul { list-style: none; margin-left: -40px; }
.elt-footer-col li { margin-bottom: .55rem; }
.elt-footer-col a {
  font-size: .86rem;
  color: rgba(196,168,130,.6);
  text-decoration: none;
  transition: color .2s;
}
.elt-footer-col a:hover { color: var(--cream); }
.elt-footer-col span.muted {
  font-size: .86rem;
  color: rgba(196,168,130,.38);
}

/* Barra inferiore */
.elt-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 2rem;
  font-size: .78rem;
  color: rgba(196,168,130,.38);
  flex-wrap: wrap;
  gap: 1rem;
}
.elt-footer-bottom a {
  color: rgba(196,168,130,.55);
  text-decoration: none;
  transition: color .2s;
}
.elt-footer-bottom a:hover { color: var(--cream); }
.elt-footer-links { display: flex; gap: 1.5rem; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
  .elt-hamburger { display: flex; }

  .elt-nav {
    position: fixed;
    top: 0; right: -100%;
    height: 100vh; width: 270px;
    background: rgba(26,22,20,.98);
    flex-direction: column;
    justify-content: center;
    padding: 2rem;
    gap: 2rem;
    transition: right .3s;
    backdrop-filter: blur(20px);
  }
  .elt-nav.open { right: 0; }
  .elt-nav a { font-size: 1.1rem; }

  .elt-footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 500px) {
  .elt-footer-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   SEZIONI HOME — stili per widget Elementor nativi
   ============================================================ */

/* ── HERO ── */
.etna-hero-section {
  min-height: 100vh;
  display: flex;
  align-items: center;
}
.etna-hero-section .elementor-widget-heading .elementor-heading-title {
  font-family: 'Bebas Neue', sans-serif;
  line-height: .88;
  letter-spacing: .02em;
}
.etna-hero-tag {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: #DC2537;
}

/* ── STATS BAR ── */
.etna-stats-section {
  background: #1A1614;
  border-top: 1px solid rgba(220,37,55,.2);
  border-bottom: 1px solid rgba(220,37,55,.2);
  padding: 2rem 8vw !important;
}
.etna-stat-number {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 3rem;
  color: #DC2537;
  line-height: 1;
  text-align: center;
}
.etna-stat-label {
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(196,168,130,.65);
  margin-top: .3rem;
  text-align: center;
}

/* ── CHI SIAMO ── */
.etna-about-section {
  background: #1A1614;
}
.etna-badge-box {
  background: #DC2537;
  color: #FAFAF8;
  padding: 1.4rem;
  text-align: center;
  border-radius: 3px;
  display: inline-block;
}
.etna-badge-box .badge-number {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  display: block;
}
.etna-badge-box .badge-label {
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.etna-feature-icon {
  width: 36px; height: 36px;
  background: rgba(220,37,55,.12);
  border: 1px solid rgba(220,37,55,.25);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

/* ── TOUR CARDS ── */
.etna-tours-section { background: #0D0B0A; }
.etna-tour-card {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
  transition: transform .35s;
}
.etna-tour-card:hover { transform: translateY(-7px); }
.etna-tour-card .elementor-image img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  display: block;
  transition: transform .55s;
}
.etna-tour-card:hover .elementor-image img { transform: scale(1.06); }
.etna-tour-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(13,11,10,.96) 0%, rgba(13,11,10,.18) 60%, transparent 100%);
  pointer-events: none;
}
.etna-tour-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 2rem 1.5rem;
}
.etna-tour-badge {
  display: inline-block;
  background: #DC2537;
  color: #FAFAF8;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: .3em .8em;
  border-radius: 2px;
  margin-bottom: .6rem;
}
.etna-tour-badge.gold { background: #D4A853; color: #0D0B0A; }
.etna-tour-badge.sky  { background: #4A7FA5; }
.etna-tour-price {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 2.2rem;
  color: #DC2537;
}
.etna-tour-price span {
  font-family: 'Outfit', sans-serif;
  font-size: .82rem;
  color: rgba(196,168,130,.65);
  font-weight: 400;
}

/* ── ETNA 3000 ── */
.etna-e3k-section {
  background: #1A1614;
  position: relative;
  overflow: hidden;
}
.etna-e3k-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #DC2537, #D4A853, #DC2537);
}
.etna-detail-box {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(196,168,130,.1);
  border-radius: 4px;
  padding: 1.2rem;
}
.etna-detail-box .dl {
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #DC2537;
  margin-bottom: .3rem;
}
.etna-detail-box .dv {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.6rem;
  color: #FAFAF8;
  line-height: 1;
}
.etna-detail-box .ds {
  font-size: .73rem;
  color: rgba(196,168,130,.55);
  margin-top: .2rem;
}
.etna-warn {
  background: rgba(220,37,55,.07);
  border: 1px solid rgba(220,37,55,.22);
  border-radius: 4px;
  padding: 1rem 1.4rem;
  font-size: .84rem;
  color: rgba(245,239,230,.7);
  line-height: 1.6;
}
.etna-dep-time {
  display: inline-block;
  background: rgba(220,37,55,.1);
  border: 1px solid rgba(220,37,55,.28);
  padding: .4em 1.2em;
  border-radius: 3px;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.2rem;
  letter-spacing: .1em;
  color: #FAFAF8;
  margin: .25rem;
}

/* ── GALLERY ── */
.etna-gallery-section { background: #0D0B0A; }
.etna-gallery-section .elementor-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 3px;
  transition: transform .5s;
}
.etna-gallery-section .elementor-image:hover img { transform: scale(1.07); }

/* ── REGOLE ── */
.etna-rules-section { background: #1A1614; }
.etna-rule-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(196,168,130,.1);
  border-radius: 6px;
  padding: 1.8rem;
  transition: border-color .3s;
  height: 100%;
}
.etna-rule-card:hover { border-color: rgba(220,37,55,.28); }
.etna-rule-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 3.5rem;
  color: rgba(220,37,55,.13);
  line-height: 1;
  margin-bottom: .4rem;
}

/* ── CTA / CONTATTI ── */
.etna-cta-section {
  background: #0D0B0A;
  position: relative;
  overflow: hidden;
  text-align: center;
}
.etna-cta-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(220,37,55,.11) 0%, transparent 68%);
  pointer-events: none;
}
.etna-contact-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(196,168,130,.1);
  border-radius: 6px;
  padding: 2rem 1.5rem;
  text-align: center;
}
.etna-contact-icon { font-size: 2rem; margin-bottom: .7rem; }
.etna-contact-label {
  display: block;
  font-size: .7rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #DC2537;
  margin-bottom: .5rem;
}

/* ── TITOLI SEZIONE GLOBALI ── */
.etna-section-tag {
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .3em !important;
  text-transform: uppercase !important;
  color: #DC2537 !important;
}
.etna-section-title {
  font-family: 'Bebas Neue', sans-serif !important;
  line-height: .92 !important;
  color: #FAFAF8 !important;
}
.etna-section-sub {
  font-weight: 300 !important;
  color: rgba(196,168,130,.8) !important;
  line-height: 1.75 !important;
}

/* ── INCLUDED BAR (prezzi inclusi) ── */
.etna-included-bar {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(196,168,130,.1);
  border-radius: 6px;
  padding: 2rem;
}

/* ── RESPONSIVE ELEMENTOR HELPERS ── */
@media (max-width: 767px) {
  .etna-stat-number { font-size: 2.2rem; }
  .etna-tour-card .elementor-image img { aspect-ratio: 4/3; }
}

/* ============================================================
   PAGINE TOUR — stili condivisi da Classic, Grand, Alcantara
   ============================================================ */

/* ── PAGE HERO ── */
.etna-page-hero-section {
  position: relative;
}
.etna-page-hero-section::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(13,11,10,.9) 0%, rgba(13,11,10,.35) 60%, rgba(13,11,10,.2) 100%);
  pointer-events: none;
}
.etna-page-hero-section .elementor-column {
  position: relative;
  z-index: 2;
}
.etna-breadcrumb {
  font-size: .72rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(196,168,130,.6);
  margin-bottom: .8rem;
}
.etna-breadcrumb a {
  color: #DC2537;
  text-decoration: none;
}

/* ── CHECK LIST inclusi / esclusi ── */
.etna-check-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.etna-check-list li {
  display: flex;
  align-items: flex-start;
  gap: .8rem;
  padding: .65rem 0;
  border-bottom: 1px solid rgba(196,168,130,.08);
  font-size: .92rem;
  color: rgba(245,239,230,.85);
  font-family: 'Outfit', sans-serif;
  line-height: 1.5;
}
.etna-check-list li::before {
  content: '✓';
  color: #DC2537;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: .1rem;
}
.etna-excl-list li::before {
  content: '✗';
  color: rgba(196,168,130,.4);
}

/* ── SPEC GRID ── */
.etna-specs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 2rem;
}
.etna-spec-box {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(196,168,130,.12);
  border-radius: 5px;
  padding: 1.2rem;
}
.etna-spec-box .sl {
  font-size: .68rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #DC2537;
  margin-bottom: .3rem;
  font-family: 'Outfit', sans-serif;
}
.etna-spec-box .sv {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.7rem;
  color: #FAFAF8;
  line-height: 1;
}
.etna-spec-box .ss {
  font-size: .72rem;
  color: rgba(196,168,130,.55);
  margin-top: .2rem;
  font-family: 'Outfit', sans-serif;
}

/* ── STICKY CARD PREZZO ── */
.etna-sticky-card {
  position: sticky;
  top: 90px;
  background: #2E2926;
  border: 1px solid rgba(220,37,55,.2);
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}
.etna-sc-price {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 3.5rem;
  color: #DC2537;
  line-height: 1;
  margin-bottom: .3rem;
}
.etna-sc-price span {
  font-size: 1rem;
  font-family: 'Outfit', sans-serif;
  color: rgba(196,168,130,.6);
  font-weight: 400;
}
.etna-sc-note {
  font-size: .8rem;
  color: rgba(196,168,130,.6);
  margin-bottom: 1.5rem;
  line-height: 1.5;
  font-family: 'Outfit', sans-serif;
}
.etna-sc-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .7rem 0;
  border-bottom: 1px solid rgba(196,168,130,.08);
  font-size: .88rem;
  font-family: 'Outfit', sans-serif;
}
.etna-sc-row .key { color: rgba(196,168,130,.65); }
.etna-sc-row .val { color: #FAFAF8; font-weight: 500; }

/* Bottone full width nelle pagine tour */
.etna-btn-full .elementor-button {
  width: 100%;
  justify-content: center;
}

/* ── GALLERY TOUR ── */
.etna-tour-gallery-section .elementor-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s;
}
.etna-tour-gallery-section .elementor-image:hover img {
  transform: scale(1.06);
}
.etna-tour-gallery-section .elementor-image {
  overflow: hidden;
  border-radius: 4px;
}

/* ── ALTRI TOUR CARDS ── */
.etna-other-card {
  display: block;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(196,168,130,.1);
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
  transition: transform .3s, border-color .3s;
}
.etna-other-card:hover {
  transform: translateY(-5px);
  border-color: rgba(220,37,55,.3);
}
.etna-other-img-wrap img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
}
.etna-other-body {
  padding: 1.5rem;
}
.etna-other-body h4 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.6rem;
  color: #FAFAF8;
  margin-bottom: .4rem;
}
.etna-other-body p {
  font-size: .85rem;
  color: rgba(196,168,130,.7);
  margin-bottom: .8rem;
  line-height: 1.5;
  font-family: 'Outfit', sans-serif;
}
.etna-other-price {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.5rem;
  color: #DC2537;
}
.etna-other-price span {
  font-family: 'Outfit', sans-serif;
  font-size: .85rem;
  color: rgba(196,168,130,.6);
}

/* ── RESPONSIVE TOUR PAGES ── */
@media (max-width: 900px) {
  .etna-specs-grid { grid-template-columns: 1fr 1fr; }
  .etna-sticky-card { position: static; }
}
@media (max-width: 600px) {
  .etna-specs-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   ETNA 3000 — percorso a tappe
   ============================================================ */
.etna-route-steps { margin: 0; padding: 0; }
.etna-route-step {
  display: flex;
  gap: 1.2rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(196,168,130,.08);
  align-items: flex-start;
}
.ers-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 2rem;
  color: rgba(220,37,55,.3);
  line-height: 1;
  flex-shrink: 0;
  width: 36px;
  text-align: right;
}
.ers-body h4 {
  font-weight: 600;
  font-size: .92rem;
  color: #FAFAF8;
  margin-bottom: .3rem;
  font-family: 'Outfit', sans-serif;
}
.ers-body p {
  font-size: .85rem;
  color: rgba(196,168,130,.65);
  line-height: 1.6;
  font-family: 'Outfit', sans-serif;
}

/* ============================================================
   CHI SIAMO — valori
   ============================================================ */
.etna-val-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(196,168,130,.1);
  border-radius: 6px;
  padding: 2rem 1.5rem;
  transition: border-color .3s;
  height: 100%;
}
.etna-val-card:hover { border-color: rgba(220,37,55,.28); }
.etna-val-icon { font-size: 2rem; margin-bottom: .8rem; }
.etna-val-card h4 {
  font-weight: 600;
  font-size: 1rem;
  color: #FAFAF8;
  margin-bottom: .6rem;
  font-family: 'Outfit', sans-serif;
}
.etna-val-card p {
  font-size: .88rem;
  color: rgba(196,168,130,.65);
  line-height: 1.65;
  font-family: 'Outfit', sans-serif;
}

/* ============================================================
   INFO & REGOLE — card regole e FAQ accordion
   ============================================================ */
.etna-rule-card-full {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(196,168,130,.1);
  border-radius: 6px;
  padding: 1.8rem;
  transition: border-color .3s;
  height: 100%;
}
.etna-rule-card-full:hover { border-color: rgba(220,37,55,.22); }
.etna-rule-card-header {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1rem;
}
.etna-rule-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 3rem;
  color: rgba(220,37,55,.15);
  line-height: 1;
  flex-shrink: 0;
}
.etna-rule-title {
  font-weight: 600;
  font-size: .95rem;
  color: #FAFAF8;
  font-family: 'Outfit', sans-serif;
}

/* Accordion FAQ override */
.etna-faq-section .elementor-accordion-item {
  border-color: rgba(196,168,130,.1) !important;
  background: rgba(255,255,255,.03) !important;
  margin-bottom: .5rem !important;
  border-radius: 4px !important;
}
.etna-faq-section .elementor-tab-title {
  color: #FAFAF8 !important;
  background: transparent !important;
  padding: 1.2rem 1.5rem !important;
  font-family: 'Outfit', sans-serif !important;
}
.etna-faq-section .elementor-tab-content {
  color: rgba(196,168,130,.8) !important;
  background: rgba(255,255,255,.02) !important;
  padding: 1rem 1.5rem 1.2rem !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: .95rem !important;
  line-height: 1.7 !important;
  border-top: 1px solid rgba(196,168,130,.08) !important;
}
.etna-faq-section .elementor-accordion-icon { color: #DC2537 !important; }

/* ============================================================
   CONTATTI — metodi e mappa
   ============================================================ */
.etna-contact-methods { display: flex; flex-direction: column; gap: .8rem; }
.etna-cmethod {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(196,168,130,.1);
  border-radius: 6px;
  padding: 1rem 1.4rem;
  text-decoration: none;
  transition: border-color .3s, transform .2s;
}
.etna-cmethod:hover { border-color: rgba(220,37,55,.3); transform: translateX(4px); }
.etna-cmethod-icon { font-size: 1.6rem; flex-shrink: 0; }
.etna-cmethod strong {
  display: block;
  font-size: .88rem;
  color: #FAFAF8;
  margin-bottom: .2rem;
  font-family: 'Outfit', sans-serif;
}
.etna-cmethod span {
  font-size: .82rem;
  color: rgba(196,168,130,.65);
  font-family: 'Outfit', sans-serif;
}

/* Form Elementor override */
.etna-contact-section .elementor-field-group label {
  color: rgba(196,168,130,.8) !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: .85rem !important;
  margin-bottom: .4rem !important;
}
.etna-contact-section .elementor-field {
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(196,168,130,.2) !important;
  border-radius: 4px !important;
  color: #F5EFE6 !important;
  font-family: 'Outfit', sans-serif !important;
  padding: .75rem 1rem !important;
}
.etna-contact-section .elementor-field:focus {
  border-color: rgba(220,37,55,.5) !important;
  outline: none !important;
}
.etna-contact-section .elementor-button {
  background: #DC2537 !important;
  color: #FAFAF8 !important;
  border-radius: 3px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  width: 100% !important;
  padding: 1rem !important;
  border: none !important;
  margin-top: .5rem !important;
}

/* Orari card */
.etna-hour-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(196,168,130,.1);
  border-radius: 6px;
  padding: 1.5rem;
  text-align: center;
}
.etna-hl {
  font-size: .68rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #DC2537;
  margin-bottom: .5rem;
  font-family: 'Outfit', sans-serif;
}
.etna-hv {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.5rem;
  color: #FAFAF8;
  line-height: 1.3;
}
.etna-hv span { font-size: 1rem; }

/* ============================================================
   GALLERY FULL PAGE
   ============================================================ */
.etna-gallery-full-section .elementor-gallery-item__image {
  transition: transform .5s;
}
.etna-gallery-full-section .elementor-gallery-item:hover .elementor-gallery-item__image {
  transform: scale(1.06);
}

.etna-contact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 800px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .etna-contact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .elementor-menu-toggle,
  .elementor-menu-toggle:hover,
  .elementor-menu-toggle:focus,
  .elementor-menu-toggle:active,
  .elementor-menu-toggle.elementor-active {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
  }

  .elementor-nav-menu--dropdown a:hover,
  .elementor-nav-menu--dropdown a:focus,
  .elementor-nav-menu--dropdown .elementor-item:hover,
  .elementor-nav-menu--dropdown .elementor-item:focus {
    background: transparent !important;
  }
	[type="button"]:focus, [type="button"]:hover, [type="submit"]:focus, [type="submit"]:hover, button:focus, button:hover {
     background: transparent !important;
}
}