/* =========================================================
   ALPE CAMPO 2026 — BRAND LOCK DEFINITIVO
   Palette ufficiale + protezione colori globali + navbar
   NON MODIFICARE DA YOOTHEME STYLE
   ========================================================= */

:root {
  --ac-wood: #A77A55;
  --ac-orange: #B7512E;
  --ac-orange-dark: #9F4327;
  --ac-stone: #B8AC9C;
  --ac-acid: #BFC006;
  --ac-forest: #43584B;
  --ac-charcoal: #232324;
  --ac-sage: #7F8B76;
  --ac-linen: #ECE6DB;
}

/* =========================================================
   NAVBAR BRAND LOCK CORRETTO
   Trasparente sopra la hero, #232324 solo allo scroll/sticky
   ========================================================= */

.tm-header,
.tm-header-mobile {
  z-index: 9999 !important;
}

/* Navbar normale, per pagine senza hero/overlay */
.tm-header .uk-navbar-container,
.tm-header-mobile .uk-navbar-container {
  background-color: var(--ac-charcoal) !important;
  border-bottom: 1px solid rgba(236, 230, 219, 0.08) !important;

  transition:
    background-color 0.42s cubic-bezier(.16, 1, .3, 1),
    border-color 0.42s ease,
    box-shadow 0.42s ease,
    backdrop-filter 0.42s ease !important;
}

/* Navbar trasparente quando è sopra la hero */
.tm-header.tm-header-overlay .uk-navbar-container.uk-navbar-transparent,
.tm-header-mobile.tm-header-overlay .uk-navbar-container.uk-navbar-transparent {
  background-color: transparent !important;
  background: transparent !important;

  border-bottom-color: transparent !important;
  box-shadow: none !important;

  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Navbar scura quando scrolli */
.tm-header .uk-navbar-container.uk-navbar-sticky,
.tm-header-mobile .uk-navbar-container.uk-navbar-sticky {
  background-color: rgba(35, 35, 36, 0.92) !important;
  background: rgba(35, 35, 36, 0.92) !important;

  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;

  border-bottom-color: rgba(236, 230, 219, 0.08) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.16) !important;
}

/* =========================================================
   GLOBAL YOOTHEME COMPONENTS
   Bottoni, sezioni, testi utility e card sono ora gestiti dal LESS:
   /templates/yootheme_alpecampo/less/theme.alpecampo2026.less
   ========================================================= */

/* =========================================================
   LINK BASE
   ========================================================= */

a {
  color: inherit;
}

.uk-link,
.uk-link-toggle:hover .uk-link,
.uk-link:hover,
a:hover {
  color: var(--ac-orange);
}



/* =========================================================
   ALPE CAMPO 2026 — CUSTOM CSS PULITO
   Solo fix operativi: hero, booking fisso, barra mobile, menu mobile
   ========================================================= */


/* =========================================================
   HERO INTRO ANIMATION
   ========================================================= */

.ac-hero .uk-h6.uk-heading-bullet,
.ac-hero h1.uk-heading-2xlarge,
.ac-hero h1.uk-heading-xlarge,
.ac-hero .uk-heading-xlarge,
.ac-hero .uk-heading-large,
.ac-hero .uk-text-lead,
.ac-hero .uk-button {
  opacity: 0;
  transform: translateY(38px);
  animation-name: acHeroFadeSlideUp;
  animation-duration: .85s;
  animation-timing-function: cubic-bezier(.16, 1, .3, 1);
  animation-fill-mode: forwards;
  will-change: opacity, transform;
}

/* 1. Riga piccola sopra */
.ac-hero .uk-h6.uk-heading-bullet {
  animation-delay: .25s;
}

/* 2. Simply */
.ac-hero h1.uk-heading-2xlarge,
.ac-hero .uk-heading-xlarge {
  animation-delay: .42s;
}

/* 3. the Mountain */
.ac-hero h1.uk-heading-xlarge,
.ac-hero .uk-heading-large {
  animation-delay: .58s;
}

/* 4. Testo descrittivo */
.ac-hero .uk-text-lead {
  animation-delay: .78s;
}

/* 5. Primo bottone */
.ac-hero .el-item:nth-child(1) .uk-button {
  animation-delay: .96s;
}

/* 6. Secondo bottone */
.ac-hero .el-item:nth-child(2) .uk-button {
  animation-delay: 1.08s;
}

@keyframes acHeroFadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(38px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* =========================================================
   HERO MOBILE — posizione testi
   ========================================================= */

@media (max-width: 768px) {

  .ac-hero .uk-heading-xlarge {
    top: 20px !important;
  }

  .ac-hero .uk-heading-large {
    top: 0 !important;
  }

  .ac-hero .uk-text-lead {
    top: 10px !important;
  }

  .ac-hero .uk-h6.uk-heading-bullet,
  .ac-hero h1.uk-heading-2xlarge,
  .ac-hero h1.uk-heading-xlarge,
  .ac-hero .uk-heading-xlarge,
  .ac-hero .uk-heading-large,
  .ac-hero .uk-text-lead,
  .ac-hero .uk-button {
    transform: translateY(26px);
  }
}


/* =========================================================
   HERO EYEBROW — bullet verde acido
   ========================================================= */

.ac-hero .uk-heading-bullet::before {
  width: 24px !important;
  height: 1.5px !important;
  margin-right: 10px !important;
  border-left: 0 !important;
  background: #BFC006 !important;
  vertical-align: middle !important;
}


/* =========================================================
   HERO BUTTON HOVER — solo hero
   ========================================================= */

.ac-hero .uk-button {
  transition:
    transform .22s cubic-bezier(.16, 1, .3, 1),
    box-shadow .22s cubic-bezier(.16, 1, .3, 1),
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease;
}

.ac-hero .uk-button:hover {
  transform: translateY(-2px);
}

.ac-hero .uk-button-primary:hover,
.ac-hero .uk-button-danger:hover {
  box-shadow: 0 8px 28px rgba(183, 81, 46, .38);
}


/* =========================================================
   ACCESSIBILITÀ — animazioni ridotte
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .ac-hero .uk-h6.uk-heading-bullet,
  .ac-hero h1.uk-heading-2xlarge,
  .ac-hero h1.uk-heading-xlarge,
  .ac-hero .uk-heading-xlarge,
  .ac-hero .uk-heading-large,
  .ac-hero .uk-text-lead,
  .ac-hero .uk-button {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}


/* =========================================================
   IMMAGINI ARROTONDATE
   Manteniamo solo questa regola globale leggera
   ========================================================= */

.uk-border-rounded {
  border-radius: 28px !important;
}


/* =========================================================
   MODULI FISSI — pulizia wrapper
   module-131 = barra mobile
   module-136 = booking fisso
   ========================================================= */

#module-131,
#module-136,
#module-131 .custom,
#module-136 .custom {
  margin: 0 !important;
  padding: 0 !important;
}

/* Evita che la posizione bottom crei una fascia vuota sopra il footer */
.tm-bottom:has(#module-131),
.tm-bottom:has(#module-136) {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
}

.tm-bottom:has(#module-131) > .uk-container,
.tm-bottom:has(#module-136) > .uk-container {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* =========================================================
   BOOKING ENGINE — base neutra
   ========================================================= */

.alpe-booking-engine,
.alpe-booking-engine #cinqueStelleBolContainer {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}


/* =========================================================
   BOOKING FISSO DESKTOP — MINIMAL SOTTILE
   ========================================================= */

@media (min-width: 960px) {

  .ac-fixed-booking {
    position: fixed !important;
    left: 50% !important;
    bottom: 14px !important;
    z-index: 2147482500 !important;

    width: min(1040px, calc(100vw - 44px)) !important;
    min-height: 66px !important;

    margin: 0 !important;
    padding: 6px 8px !important;

    transform: translateX(-50%) !important;

    background: rgba(35, 35, 36, 0.94) !important;
    border: 1px solid rgba(236, 230, 219, 0.13) !important;
    border-radius: 18px !important;

    box-shadow: 0 12px 38px rgba(0, 0, 0, 0.24) !important;

    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);

    overflow: visible !important;
  }

  .ac-fixed-booking__inner {
    display: grid !important;
    grid-template-columns: 175px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .ac-fixed-booking__text {
    display: block !important;
    min-width: 0 !important;
    padding-left: 8px !important;
    color: #ECE6DB !important;
  }

.ac-fixed-booking__text span {
  display: block !important;
  margin-bottom: 3px !important;
  color: #B7512E !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
}

.ac-fixed-booking__text strong {
  display: block !important;
  color: #ffffff !important;
  font-family: Manrope, system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
}

  .ac-fixed-booking__engine {
    display: flex !important;
    align-items: center !important;

    min-width: 0 !important;
    min-height: 48px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
  }

  .ac-fixed-booking .alpe-booking-engine {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /*
   * DIMENSIONE BOOKING
   * Se lo vuoi ancora più piccolo: porta 0.46 a 0.42
   * Se lo vuoi più grande: porta 0.46 a 0.50
   */
  .ac-fixed-booking #cinqueStelleBolContainer {
    zoom: 0.46 !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    transform-origin: left center !important;

    background: transparent !important;
  }

  .ac-fixed-booking #cinqueStelleBolContainer,
  .ac-fixed-booking #cinqueStelleBolContainer * {
    font-family: Inter, system-ui, sans-serif !important;
  }

  /* Fallback per browser senza supporto a zoom */
  @supports not (zoom: 1) {
    .ac-fixed-booking #cinqueStelleBolContainer {
      width: 217% !important;
      transform: scale(0.46) !important;
      transform-origin: left center !important;
    }
  }

  body:has(.ac-fixed-booking) {
    padding-bottom: 86px !important;
  }
}


/* Desktop medio */
@media (min-width: 960px) and (max-width: 1199px) {

  .ac-fixed-booking {
    width: min(900px, calc(100vw - 32px)) !important;
    bottom: 12px !important;
    min-height: 62px !important;
    padding: 6px 7px !important;
    border-radius: 16px !important;
  }

  .ac-fixed-booking__inner {
    grid-template-columns: 145px minmax(0, 1fr) !important;
    gap: 7px !important;
  }

  .ac-fixed-booking__text {
    padding-left: 7px !important;
  }

  .ac-fixed-booking__text span {
    font-size: 7px !important;
    letter-spacing: 0.16em !important;
  }

  .ac-fixed-booking__text strong {
    font-size: 12px !important;
  }

  .ac-fixed-booking #cinqueStelleBolContainer {
    zoom: 0.42 !important;
  }

  @supports not (zoom: 1) {
    .ac-fixed-booking #cinqueStelleBolContainer {
      width: 238% !important;
      transform: scale(0.42) !important;
      transform-origin: left center !important;
    }
  }
}


/* Mobile: il booking completo non deve comparire */
@media (max-width: 959px) {
  .ac-fixed-booking {
    display: none !important;
  }
}


/* =========================================================
   BARRA MOBILE INFERIORE — MINIMAL
   ========================================================= */

@media (max-width: 959px) {

  .ac-mobile-bar {
    position: fixed !important;
    right: 8px !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    left: 8px !important;
    z-index: 2147483000 !important;

    display: flex !important;

    width: auto !important;
    height: 56px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background: rgba(35, 35, 36, 0.96) !important;
    border: 1px solid rgba(236, 230, 219, 0.14) !important;
    border-radius: 18px !important;

    box-shadow: 0 10px 30px rgba(35, 35, 36, 0.24) !important;

    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
  }

  .ac-mobile-bar__item {
    display: flex !important;
    flex: 1 1 25% !important;
    min-width: 0 !important;

    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 2px !important;

    margin: 0 !important;
    padding: 5px 2px !important;

    color: rgba(236, 230, 219, 0.72) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;

    font-family: Inter, system-ui, sans-serif !important;
    font-size: 9px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    letter-spacing: 0.075em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;

    box-shadow: none !important;
    transition: none !important;

    -webkit-tap-highlight-color: transparent !important;
  }

  .ac-mobile-bar__item:hover,
  .ac-mobile-bar__item:focus,
  .ac-mobile-bar__item:active {
    color: rgba(236, 230, 219, 0.72) !important;
    background: transparent !important;
    text-decoration: none !important;
    transform: none !important;
    box-shadow: none !important;
  }

  .ac-mobile-bar__icon {
    display: flex !important;

    width: 20px !important;
    height: 20px !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;

    color: currentColor !important;
  }

  .ac-mobile-bar__icon svg {
    display: block !important;

    width: 20px !important;
    height: 20px !important;

    stroke-width: 1.75 !important;
  }

  .ac-mobile-bar__label {
    display: block !important;
    white-space: nowrap !important;
  }

  body:has(.ac-mobile-bar) {
    padding-bottom: 70px !important;
  }
}

@media (min-width: 960px) {
  .ac-mobile-bar {
    display: none !important;
  }
}




/* =========================================================
ALPE CAMPO 2026 — BLOCCO MAPPA HOME DEFINITIVO
Classe sulla Section Builder: ac-home-mappa

Tocca SOLO il blocco nero "Sopra il rumore".
Non modifica booking, hero, barra mobile, menu o altri blocchi.
========================================================= */

/* =========================================================
SEZIONE + TEXTURE
========================================================= */

.ac-home-mappa {
position: relative !important;
overflow: hidden !important;

background-color: #232324 !important;

background-image:
url("/images/template-2026/texture/alpecampo-texture-topographic-bottom-left-no-bckg-op-10.png"),
url("/images/template-2026/texture/alpecampo-texture-topographic-bottom-left-no-bckg-op-10.png") !important;

background-size: cover, cover !important;
background-position: right top, right top !important;
background-repeat: no-repeat, no-repeat !important;
background-attachment: fixed, fixed !important;

color: rgba(236, 230, 219, 0.62) !important;

padding-top: clamp(4rem, 8vw, 7rem) !important;
padding-bottom: clamp(4rem, 8vw, 7rem) !important;
}

.ac-home-mappa::before {
display: none !important;
}

.ac-home-mappa > .uk-container {
position: relative !important;
z-index: 1 !important;
}

/* =========================================================
TESTI INTRO
========================================================= */

.ac-home-mappa .uk-heading-bullet {
display: inline-flex !important;
align-items: center !important;
gap: 0.65em !important;

margin-bottom: 0.9rem !important;

color: rgba(236, 230, 219, 0.68) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 13px !important;
font-weight: 500 !important;
line-height: 1.2 !important;
letter-spacing: 0 !important;
text-transform: none !important;
}

.ac-home-mappa .uk-heading-bullet::before {
width: 28px !important;
height: 1.5px !important;
margin-right: 0 !important;

background: rgba(236, 230, 219, 0.72) !important;
border: 0 !important;
}

.ac-home-mappa .uk-heading-small {
max-width: 760px !important;

margin-top: 0.7rem !important;
margin-bottom: 0 !important;

color: #ECE6DB !important;

font-family: Manrope, system-ui, sans-serif !important;
font-size: clamp(2.2rem, 5vw, 4rem) !important;
font-weight: 400 !important;
line-height: 1.08 !important;
letter-spacing: -0.055em !important;
}

.ac-home-mappa .uk-heading-small em {
color: #B7512E !important;

font-family: "Cormorant Garamond", Georgia, serif !important;
font-style: italic !important;
font-weight: 500 !important;
letter-spacing: -0.035em !important;
}

.ac-home-mappa .uk-text-lead {
max-width: 560px !important;

margin-top: 0.95rem !important;
margin-bottom: 0 !important;

color: rgba(236, 230, 219, 0.62) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 16px !important;
font-weight: 400 !important;
line-height: 1.75 !important;
}

/* =========================================================
GRIGLIA DESKTOP — 4 COLONNE x 2 RIGHE
========================================================= */

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match {
display: grid !important;
grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
grid-auto-flow: row !important;
grid-auto-rows: 1fr !important;

gap: 1px !important;

width: 100% !important;
max-width: 100% !important;

margin: 2.8rem 0 0 0 !important;
padding: 0 !important;

border: 1px solid rgba(236, 230, 219, 0.075) !important;
border-radius: 28px !important;
overflow: hidden !important;

background: transparent !important;

counter-reset: acmap !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match > div {
display: block !important;

width: auto !important;
max-width: none !important;
min-width: 0 !important;

margin: 0 !important;
padding: 0 !important;

counter-increment: acmap !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match > div > .el-item {
height: 100% !important;
min-height: 0 !important;
}

/* =========================================================
CARD / BOX
Fondo trasparente come la sezione.
Il box cambia solo al rollover.
========================================================= */

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card {
position: relative !important;

display: block !important;
height: 100% !important;
min-height: 210px !important;

padding: 1.7rem 1.5rem !important;

background-color: transparent !important;
background-image: none !important;

border: 1px solid rgba(236, 230, 219, 0.075) !important;
border-radius: 0 !important;
box-shadow: none !important;

overflow: hidden !important;

color: rgba(236, 230, 219, 0.48) !important;

transition:
background-color 0.28s ease,
transform 0.28s cubic-bezier(.16, 1, .3, 1),
border-color 0.28s ease !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card::before {
content: "" !important;
position: absolute !important;
inset: 0 !important;

background:
linear-gradient(
135deg,
rgba(183, 81, 46, 0.24) 0%,
rgba(191, 192, 6, 0.08) 38%,
rgba(236, 230, 219, 0.04) 58%,
transparent 72%
) !important;

opacity: 0 !important;
transition: opacity 0.28s ease !important;

pointer-events: none !important;
z-index: 0 !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card:hover {
background-color: rgba(236, 230, 219, 0.085) !important;
border-color: rgba(183, 81, 46, 0.52) !important;
transform: translateY(-3px) !important;
box-shadow: none !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card:hover::before {
opacity: 1 !important;
}

/* =========================================================
NUMERI 01-08
========================================================= */

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card::after {
content: counter(acmap, decimal-leading-zero) !important;

position: absolute !important;
top: 0.75rem !important;
right: 1.15rem !important;

color: rgba(236, 230, 219, 0.055) !important;

font-family: Manrope, system-ui, sans-serif !important;
font-size: 46px !important;
font-weight: 700 !important;
line-height: 1 !important;
letter-spacing: -0.06em !important;

pointer-events: none !important;
z-index: 1 !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card > * {
position: relative !important;
z-index: 2 !important;
}

/* =========================================================
ICONE — nessun ingrandimento, nessuna rotazione
========================================================= */

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .el-image,
.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match [uk-icon],
.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match svg {
color: #B7512E !important;
transform: none !important;
transition: none !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card:hover .el-image,
.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card:hover [uk-icon],
.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card:hover svg {
transform: none !important;
}

/* =========================================================
TESTI CARD
========================================================= */

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .el-title {
margin-top: 0.75rem !important;
margin-bottom: 0.25rem !important;

color: #ffffff !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 14px !important;
font-weight: 800 !important;
line-height: 1.28 !important;
letter-spacing: -0.02em !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .el-content {
margin-top: 0.35rem !important;

color: rgba(236, 230, 219, 0.43) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 12.5px !important;
font-weight: 400 !important;
line-height: 1.55 !important;
}

/* =========================================================
CTA HOVER
========================================================= */

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .el-content::after {
content: "Scopri →" !important;

display: inline-flex !important;

margin-top: 0.75rem !important;

color: #B7512E !important;

font-size: 10.5px !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.12em !important;
text-transform: uppercase !important;

opacity: 0 !important;
transform: translate(-8px, 4px) !important;

transition:
opacity 0.22s ease,
transform 0.28s cubic-bezier(.16, 1, .3, 1) !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card:hover .el-content::after {
opacity: 1 !important;
transform: translate(0, 0) !important;
}

/* =========================================================
MOBILE / TABLET — SEMPRE 2 COLONNE
========================================================= */

@media (max-width: 959px) {

.ac-home-mappa {
padding-top: 4rem !important;
padding-bottom: 4rem !important;
background-attachment: scroll, scroll !important;
}

.ac-home-mappa .uk-heading-small {
font-size: clamp(2rem, 10vw, 3rem) !important;
}

.ac-home-mappa .uk-text-lead {
font-size: 15px !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match {
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
gap: 1px !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card {
min-height: 165px !important;
padding: 1.15rem 0.95rem !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card::after {
top: 0.65rem !important;
right: 0.85rem !important;
font-size: 32px !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .el-image,
.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match [uk-icon] {
width: 34px !important;
height: 34px !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .el-image svg,
.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match [uk-icon] svg {
width: 34px !important;
height: 34px !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .el-title {
font-size: 13px !important;
line-height: 1.25 !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .el-content {
font-size: 11.5px !important;
line-height: 1.45 !important;
}
}

@media (max-width: 480px) {

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match {
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card {
min-height: 158px !important;
padding: 1rem 0.85rem !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .el-content::after {
display: none !important;
}
}
/* =========================================================
FIX MAPPA HOME — ROLLOVER SENZA BORDO ARANCIO
Tocca solo il blocco ac-home-mappa
========================================================= */

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card {
border-color: rgba(236, 230, 219, 0.075) !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card:hover {
border-color: rgba(236, 230, 219, 0.075) !important;
background-color: rgba(236, 230, 219, 0.085) !important;
transform: translateY(-3px) !important;
box-shadow: none !important;
}

.ac-home-mappa .uk-margin > .uk-grid.uk-grid-match .uk-card::before {
background:
linear-gradient(
135deg,
rgba(183, 81, 46, 0.24) 0%,
rgba(191, 192, 6, 0.08) 38%,
rgba(236, 230, 219, 0.04) 58%,
transparent 72%
) !important;
}


/* =========================================================
ALPE CAMPO 2026 — MARQUEE VERDE HOME
Blocco sottile con scritte in movimento
Classe Section Builder: ac-marquee-section
========================================================= */

.ac-marquee-section {
position: relative !important;
z-index: 3 !important;

padding: 0 !important;
margin: 0 !important;

background: transparent !important;
}

.ac-marquee-section > .uk-container,
.ac-marquee-section .uk-container {
width: 100% !important;
max-width: none !important;
padding-left: 0 !important;
padding-right: 0 !important;
}

.ac-marquee-section .uk-margin,
.ac-marquee-section .uk-panel {
margin: 0 !important;
}

.ac-marquee-strip {
position: relative !important;

width: 100% !important;
height: 48px !important;

display: flex !important;
align-items: center !important;

overflow: hidden !important;

background: #43584B !important;

border-top: 1px solid rgba(236, 230, 219, 0.10) !important;
border-bottom: 1px solid rgba(236, 230, 219, 0.10) !important;
}

.ac-marquee-track {
display: flex !important;
align-items: center !important;

width: max-content !important;
min-width: max-content !important;

animation: acMarqueeMove 30s linear infinite !important;
will-change: transform !important;
}

.ac-marquee-group {
display: flex !important;
align-items: center !important;
flex-shrink: 0 !important;
}

.ac-marquee-group span {
display: inline-flex !important;
align-items: center !important;

white-space: nowrap !important;

color: #ECE6DB !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 12.5px !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.20em !important;
text-transform: uppercase !important;

padding: 0 2rem !important;
}

.ac-marquee-group i {
display: inline-flex !important;
align-items: center !important;

color: rgba(236, 230, 219, 0.52) !important;

font-style: normal !important;
font-size: 13px !important;
font-weight: 800 !important;
line-height: 1 !important;
}

@keyframes acMarqueeMove {
from {
transform: translateX(0);
}

to {
transform: translateX(-50%);
}
}

@media (max-width: 959px) {

.ac-marquee-strip {
height: 40px !important;
}

.ac-marquee-track {
animation-duration: 24s !important;
}

.ac-marquee-group span {
font-size: 10.5px !important;
letter-spacing: 0.17em !important;
padding: 0 1.35rem !important;
}

.ac-marquee-group i {
font-size: 11px !important;
}
}

@media (prefers-reduced-motion: reduce) {

.ac-marquee-track {
animation: none !important;
}
}



/* =========================================================
ALPE CAMPO 2026 — BLOCCO MANIFESTO VERDE
Classe section: ac-manifesto
Titolo tutto in Cormorant Garamond
========================================================= */

.ac-manifesto {
position: relative !important;
overflow: hidden !important;

text-align: center !important;

padding-top: clamp(5rem, 10vw, 9rem) !important;
padding-bottom: clamp(5rem, 10vw, 9rem) !important;

background:
radial-gradient(
circle at 82% 50%,
rgba(191, 192, 6, 0.18) 0%,
rgba(191, 192, 6, 0.10) 18%,
rgba(191, 192, 6, 0.00) 48%
),
linear-gradient(
90deg,
#43584B 0%,
#4A6252 42%,
#5B714E 72%,
#6B7D4D 100%
) !important;
}

.ac-manifesto > .uk-container {
position: relative !important;
z-index: 2 !important;
max-width: 980px !important;
}

/* Riga piccola sopra */
.ac-manifesto__eyebrow {
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 0.6em !important;

margin: 0 0 2.5rem 0 !important;

color: rgba(236, 230, 219, 0.42) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.67rem !important;
font-weight: 700 !important;
line-height: 1 !important;
letter-spacing: 0.25em !important;
text-transform: uppercase !important;
}

.ac-manifesto__eyebrow::before,
.ac-manifesto__eyebrow::after {
content: "" !important;
display: block !important;
flex: 1 1 55px !important;
max-width: 55px !important;
height: 1px !important;

background: rgba(236, 230, 219, 0.18) !important;
}

/* Titolo manifesto — solo Cormorant Garamond */
.ac-manifesto__title,
.ac-manifesto__title p,
.ac-manifesto__title span,
.ac-manifesto__title em,
.ac-manifesto .uk-font-secondary.ac-manifesto__title,
.ac-manifesto .uk-h1.ac-manifesto__title,
.ac-manifesto h1.ac-manifesto__title,
.ac-manifesto h2.ac-manifesto__title {
margin: 0 auto !important;
max-width: 980px !important;

color: #ECE6DB !important;

font-family: "Cormorant Garamond", Georgia, serif !important;
font-size: clamp(1.9rem, 5.5vw, 4rem) !important;
font-weight: 500 !important;
line-height: 1.18 !important;
letter-spacing: -0.025em !important;

text-align: center !important;
text-transform: none !important;
}

/* Parole verde acido — stesso font, solo colore e corsivo */
.ac-manifesto__title .ac-acid {
color: #BFC006 !important;

font-family: "Cormorant Garamond", Georgia, serif !important;
font-style: italic !important;
font-weight: 500 !important;
letter-spacing: -0.025em !important;
}

/* Bottone */
.ac-manifesto .uk-button {
margin-top: 3rem !important;
}

/* Tablet */
@media (max-width: 959px) {

.ac-manifesto {
padding-top: 4.5rem !important;
padding-bottom: 4.5rem !important;
}

.ac-manifesto > .uk-container {
max-width: 100% !important;
}

.ac-manifesto__eyebrow {
margin-bottom: 1.8rem !important;
font-size: 0.58rem !important;
letter-spacing: 0.20em !important;
}

.ac-manifesto__eyebrow::before,
.ac-manifesto__eyebrow::after {
max-width: 42px !important;
}

.ac-manifesto__title,
.ac-manifesto__title p,
.ac-manifesto__title span,
.ac-manifesto__title em,
.ac-manifesto .uk-font-secondary.ac-manifesto__title,
.ac-manifesto .uk-h1.ac-manifesto__title,
.ac-manifesto h1.ac-manifesto__title,
.ac-manifesto h2.ac-manifesto__title {
max-width: 760px !important;
font-size: clamp(1.55rem, 6vw, 2.55rem) !important;
line-height: 1.18 !important;
letter-spacing: -0.022em !important;
}

.ac-manifesto__title .ac-acid {
letter-spacing: -0.022em !important;
}

.ac-manifesto .uk-button {
margin-top: 2.2rem !important;
}
}

/* Mobile stretto */
@media (max-width: 480px) {

.ac-manifesto {
padding-top: 3.6rem !important;
padding-bottom: 3.6rem !important;
}

.ac-manifesto__eyebrow {
margin-bottom: 1.25rem !important;
font-size: 0.50rem !important;
letter-spacing: 0.17em !important;
}

.ac-manifesto__eyebrow::before,
.ac-manifesto__eyebrow::after {
max-width: 28px !important;
}

.ac-manifesto__title,
.ac-manifesto__title p,
.ac-manifesto__title span,
.ac-manifesto__title em,
.ac-manifesto .uk-font-secondary.ac-manifesto__title,
.ac-manifesto .uk-h1.ac-manifesto__title,
.ac-manifesto h1.ac-manifesto__title,
.ac-manifesto h2.ac-manifesto__title {
max-width: 100% !important;
font-size: clamp(1.25rem, 6.2vw, 1.78rem) !important;
line-height: 1.18 !important;
letter-spacing: -0.018em !important;
}

.ac-manifesto__title .ac-acid {
letter-spacing: -0.018em !important;
}

.ac-manifesto .uk-button {
margin-top: 1.7rem !important;
}
}


/* =========================================================
ALPE CAMPO 2026 — STATS BAND
Blocco numeri sotto manifesto
Classe Section Builder: ac-stats-section
========================================================= */

.ac-stats-section {
padding: 0 !important;
margin: 0 !important;
background: transparent !important;
}

.ac-stats-section > .uk-container,
.ac-stats-section .uk-container {
width: 100% !important;
max-width: none !important;
padding-left: 0 !important;
padding-right: 0 !important;
}

.ac-stats-section .uk-margin,
.ac-stats-section .uk-panel {
margin: 0 !important;
}

.ac-stats-band {
width: 100% !important;

padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 5vw, 5vw) !important;

background: #B8AC9C !important;
border-top: 1px solid rgba(35, 35, 36, 0.10) !important;
border-bottom: 1px solid rgba(35, 35, 36, 0.10) !important;
}

.ac-stats-grid {
display: grid !important;
grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
gap: 1.2rem !important;

width: 100% !important;
max-width: 1240px !important;

margin: 0 auto !important;
}

.ac-stat-box {
text-align: center !important;

padding: 1.4rem 1rem !important;

transition: transform 0.3s cubic-bezier(.16, 1, .3, 1) !important;
}

.ac-stat-box:hover {
transform: translateY(-3px) !important;
}

.ac-stat-number {
color: #43584B !important;

font-family: Manrope, system-ui, sans-serif !important;
font-size: clamp(2.4rem, 6vw, 3.8rem) !important;
font-weight: 400 !important;
line-height: 1 !important;
letter-spacing: -0.055em !important;

margin-bottom: 0.35rem !important;
}

.ac-stat-number span {
color: #B7512E !important;
}

.ac-stat-label {
color: rgba(35, 35, 36, 0.46) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.75rem !important;
font-weight: 800 !important;
line-height: 1.45 !important;
letter-spacing: 0.12em !important;
text-transform: uppercase !important;
}

/* Tablet */
@media (max-width: 959px) {

.ac-stats-band {
padding: 3rem 1.25rem !important;
}

.ac-stats-grid {
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
gap: 1rem 0.8rem !important;
}

.ac-stat-box {
padding: 1.2rem 0.8rem !important;
}

.ac-stat-number {
font-size: clamp(2.4rem, 11vw, 3.4rem) !important;
}

.ac-stat-label {
font-size: 0.68rem !important;
letter-spacing: 0.10em !important;
}
}

/* Mobile stretto */
@media (max-width: 480px) {

.ac-stats-band {
padding: 2.6rem 0.9rem !important;
}

.ac-stats-grid {
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
gap: 0.9rem 0.4rem !important;
}

.ac-stat-box {
padding: 1rem 0.45rem !important;
}

.ac-stat-number {
font-size: clamp(2rem, 12vw, 2.8rem) !important;
}

.ac-stat-label {
font-size: 0.58rem !important;
line-height: 1.35 !important;
letter-spacing: 0.08em !important;
}
}

/* =========================================================
ALPE CAMPO 2026 — SCROLL REVEAL ANIMATIONS
Classi Builder:
ac-reveal-up
ac-reveal-from-right
ac-reveal-from-left
ac-delay-1 / ac-delay-2 / ac-delay-3 / ac-delay-4 / ac-delay-5
ac-reveal-soft / ac-reveal-fast
========================================================= */

/* Stato iniziale: attivo solo quando il JS è caricato */
html.ac-reveal-ready .ac-reveal-up,
html.ac-reveal-ready .ac-reveal-from-right,
html.ac-reveal-ready .ac-reveal-from-left {
opacity: 0 !important;
will-change: opacity, transform !important;

transition:
opacity 0.75s cubic-bezier(.16, 1, .3, 1),
transform 0.75s cubic-bezier(.16, 1, .3, 1) !important;
}

/* Dal basso verso l’alto */
html.ac-reveal-ready .ac-reveal-up {
transform: translate3d(0, 38px, 0) !important;
}

/* Da destra verso sinistra */
html.ac-reveal-ready .ac-reveal-from-right {
transform: translate3d(52px, 0, 0) !important;
}

/* Da sinistra verso destra */
html.ac-reveal-ready .ac-reveal-from-left {
transform: translate3d(-52px, 0, 0) !important;
}

/* Stato visibile */
html.ac-reveal-ready .ac-reveal-visible {
opacity: 1 !important;
transform: translate3d(0, 0, 0) !important;
}

/* Delay opzionali */
html.ac-reveal-ready .ac-delay-1 {
transition-delay: 0.10s !important;
}

html.ac-reveal-ready .ac-delay-2 {
transition-delay: 0.20s !important;
}

html.ac-reveal-ready .ac-delay-3 {
transition-delay: 0.30s !important;
}

html.ac-reveal-ready .ac-delay-4 {
transition-delay: 0.40s !important;
}

html.ac-reveal-ready .ac-delay-5 {
transition-delay: 0.50s !important;
}

/* Variante morbida */
html.ac-reveal-ready .ac-reveal-soft {
transition-duration: 0.95s !important;
}

/* Variante veloce */
html.ac-reveal-ready .ac-reveal-fast {
transition-duration: 0.55s !important;
}

/* Evita animazioni se l’utente ha riduzione movimento attiva */
@media (prefers-reduced-motion: reduce) {

html.ac-reveal-ready .ac-reveal-up,
html.ac-reveal-ready .ac-reveal-from-right,
html.ac-reveal-ready .ac-reveal-from-left {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}


/* =========================================================
ALPE CAMPO 2026 — OFFERTE E PACCHETTI HOME
Classe Section Builder: ac-offerte-home
Desktop: 4 card
Mobile: carousel orizzontale 1 card alla volta
========================================================= */

.ac-offerte-home {
position: relative !important;
overflow: hidden !important;

padding-top: clamp(4rem, 8vw, 7rem) !important;
padding-bottom: clamp(4rem, 8vw, 7rem) !important;

background-color: #232324 !important;

background-image:
url("/images/template-2026/texture/alpecampo-texture-topographic-bottom-left-no-bckg-op-10.png") !important;

background-size: cover !important;
background-position: right top !important;
background-repeat: no-repeat !important;
background-attachment: fixed !important;
}

.ac-offerte-home > .uk-container {
position: relative !important;
z-index: 2 !important;
}

/* Eyebrow */
.ac-offerte-home .uk-heading-bullet {
display: inline-flex !important;
align-items: center !important;
gap: 0.6em !important;

margin-bottom: 0.85rem !important;

color: #B7512E !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.67rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.24em !important;
text-transform: uppercase !important;
}

.ac-offerte-home .uk-heading-bullet::before {
width: 22px !important;
height: 1.5px !important;
margin-right: 0 !important;

background: currentColor !important;
border: 0 !important;
}

/* Titolo */
.ac-offerte-home .uk-heading-small {
margin-top: 0.7rem !important;
margin-bottom: 0 !important;

color: #ffffff !important;

font-family: Manrope, system-ui, sans-serif !important;
font-size: clamp(2.25rem, 5vw, 4.05rem) !important;
font-weight: 400 !important;
line-height: 1.05 !important;
letter-spacing: -0.07em !important;
}

.ac-offerte-home .uk-heading-small p {
margin: 0 !important;
}

.ac-offerte-home .uk-heading-small em {
display: inline-block !important;

color: #B7512E !important;

font-family: Manrope, system-ui, sans-serif !important;
font-style: italic !important;
font-weight: 400 !important;
letter-spacing: -0.06em !important;
}

/* Testo introduttivo */
.ac-offerte-home .uk-panel.uk-width-xlarge {
max-width: 560px !important;

margin-top: 1.15rem !important;
margin-bottom: 2.8rem !important;

color: rgba(236, 230, 219, 0.55) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.98rem !important;
font-weight: 500 !important;
line-height: 1.78 !important;
}

.ac-offerte-home .uk-panel.uk-width-xlarge p {
margin: 0 !important;
}

/* =========================================================
GRIGLIA OFFERTE DESKTOP
========================================================= */

.ac-offerte-home .uk-margin > .uk-grid.uk-grid-match {
display: grid !important;
grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
gap: 1.1rem !important;

width: 100% !important;

margin: 0 !important;
padding: 0 !important;
}

.ac-offerte-home .uk-margin > .uk-grid.uk-grid-match > div {
display: block !important;

width: auto !important;
max-width: none !important;
min-width: 0 !important;

margin: 0 !important;
padding: 0 !important;
}

/* =========================================================
CARD OFFERTE
========================================================= */

.ac-offerte-home .uk-card {
position: relative !important;

display: flex !important;
flex-direction: column !important;

height: 100% !important;

overflow: hidden !important;

background: rgba(236, 230, 219, 0.055) !important;
border: 1px solid rgba(236, 230, 219, 0.10) !important;
border-radius: 26px !important;

box-shadow: none !important;

transition:
transform 0.30s cubic-bezier(.16, 1, .3, 1),
box-shadow 0.30s ease,
border-color 0.30s ease,
background-color 0.30s ease !important;
}

.ac-offerte-home .uk-card:hover {
transform: translateY(-5px) !important;
background: rgba(236, 230, 219, 0.070) !important;
border-color: rgba(191, 192, 6, 0.45) !important;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.30) !important;
}

/* Immagine */
.ac-offerte-home .uk-card-media-top {
height: 180px !important;
overflow: hidden !important;
position: relative !important;
}

.ac-offerte-home .uk-card-media-top .uk-inline-clip {
width: 100% !important;
height: 100% !important;
}

.ac-offerte-home .uk-card-media-top img {
width: 100% !important;
height: 100% !important;

object-fit: cover !important;
object-position: center !important;

transform: scale(1) !important;

transition:
transform 0.60s cubic-bezier(.16, 1, .3, 1),
opacity 0.30s ease !important;
}

.ac-offerte-home .uk-card:hover .uk-card-media-top img {
transform: scale(1.06) !important;
}

/* Corpo card */
.ac-offerte-home .uk-card-body {
position: relative !important;

display: flex !important;
flex-direction: column !important;
flex: 1 1 auto !important;

padding: 1.5rem 1.4rem 1.8rem !important;
}

/* Badge: uso il meta YOOtheme come etichetta sopra immagine */
.ac-offerte-home .el-meta {
position: absolute !important;
top: -166px !important;
left: 0.95rem !important;
z-index: 5 !important;

display: inline-flex !important;
align-items: center !important;
gap: 0.35em !important;

width: auto !important;
max-width: calc(100% - 1.9rem) !important;

margin: 0 !important;
padding: 0.34em 0.85em !important;

color: #ffffff !important;
background: #B7512E !important;

border-radius: 999px !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.60rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.15em !important;
text-transform: uppercase !important;

white-space: nowrap !important;
}

.ac-offerte-home .el-meta::before {
display: inline-block !important;
font-size: 0.72rem !important;
line-height: 1 !important;
letter-spacing: 0 !important;
}

/* Iconcine badge diverse per card */
.ac-offerte-home .uk-grid.uk-grid-match > div:nth-child(1) .el-meta::before {
content: "☆" !important;
}

.ac-offerte-home .uk-grid.uk-grid-match > div:nth-child(2) .el-meta::before {
content: "▥" !important;
}

.ac-offerte-home .uk-grid.uk-grid-match > div:nth-child(3) .el-meta::before {
content: "♟" !important;
}

.ac-offerte-home .uk-grid.uk-grid-match > div:nth-child(4) .el-meta::before {
content: "♨" !important;
}

/* Colori badge specifici */
.ac-offerte-home .uk-grid.uk-grid-match > div:nth-child(2) .el-meta {
background: rgba(183, 81, 46, 0.88) !important;
}

.ac-offerte-home .uk-grid.uk-grid-match > div:nth-child(3) .el-meta {
background: #53695A !important;
}

.ac-offerte-home .uk-grid.uk-grid-match > div:nth-child(4) .el-meta {
background: rgba(90, 140, 83, 0.90) !important;
}

/* Titolo card */
.ac-offerte-home .el-title {
margin-top: 0 !important;
margin-bottom: 0.55rem !important;

color: #ffffff !important;

font-family: Manrope, system-ui, sans-serif !important;
font-size: 1.18rem !important;
font-weight: 500 !important;
line-height: 1.18 !important;
letter-spacing: -0.055em !important;
}

/* Descrizione card */
.ac-offerte-home .el-content {
flex: 1 1 auto !important;

margin-top: 0 !important;
margin-bottom: 1.4rem !important;

color: rgba(236, 230, 219, 0.52) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.82rem !important;
font-weight: 500 !important;
line-height: 1.65 !important;
}

.ac-offerte-home .el-content p {
margin: 0 !important;
}

/* CTA card */
.ac-offerte-home .el-link.uk-button-text,
.ac-offerte-home .uk-button-text {
display: inline-flex !important;
align-items: center !important;
gap: 0.40em !important;

margin-top: auto !important;
padding: 0 !important;

color: #B7512E !important;
background: transparent !important;

border: 0 !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.72rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.12em !important;
text-transform: uppercase !important;

transition:
color 0.22s ease,
gap 0.22s cubic-bezier(.16, 1, .3, 1) !important;
}

.ac-offerte-home .el-link.uk-button-text::after,
.ac-offerte-home .uk-button-text::after {
content: "→" !important;
display: inline-block !important;
}

.ac-offerte-home .uk-card:hover .el-link.uk-button-text,
.ac-offerte-home .uk-card:hover .uk-button-text {
gap: 0.70em !important;
color: #ffffff !important;
}

/* =========================================================
MOBILE HINT / PROGRESS
========================================================= */

.ac-offerte-mobile-hint {
display: none !important;
}

/* =========================================================
MOBILE — CAROUSEL 1 CARD PER VOLTA
========================================================= */

@media (max-width: 768px) {

.ac-offerte-home {
padding-top: 4rem !important;
padding-bottom: 4rem !important;
background-attachment: scroll !important;
}

.ac-offerte-home .uk-heading-bullet {
font-size: 0.60rem !important;
letter-spacing: 0.21em !important;
}

.ac-offerte-home .uk-heading-small {
font-size: clamp(2.15rem, 12vw, 3.35rem) !important;
line-height: 1.04 !important;
}

.ac-offerte-home .uk-panel.uk-width-xlarge {
max-width: 100% !important;
margin-bottom: 2.2rem !important;
font-size: 0.92rem !important;
line-height: 1.72 !important;
}

.ac-offerte-home .uk-margin > .uk-grid.uk-grid-match {
display: flex !important;
flex-wrap: nowrap !important;

overflow-x: auto !important;
overflow-y: hidden !important;

scroll-snap-type: x mandatory !important;
scroll-behavior: smooth !important;
-webkit-overflow-scrolling: touch !important;

gap: 1rem !important;

width: auto !important;

margin-left: calc(-1 * clamp(1.25rem, 5vw, 5vw)) !important;
margin-right: calc(-1 * clamp(1.25rem, 5vw, 5vw)) !important;

padding-left: clamp(1.25rem, 5vw, 5vw) !important;
padding-right: clamp(1.25rem, 5vw, 5vw) !important;
padding-bottom: 1rem !important;

scroll-padding-left: clamp(1.25rem, 5vw, 5vw) !important;

scrollbar-width: none !important;

}

.ac-offerte-home .uk-margin > .uk-grid.uk-grid-match::-webkit-scrollbar {
display: none !important;
}

.ac-offerte-home .uk-margin > .uk-grid.uk-grid-match > div {
flex: 0 0 100% !important;

width: 100% !important;
max-width: calc(100vw - 2 * clamp(1.25rem, 5vw, 5vw)) !important;
min-width: 0 !important;

scroll-snap-align: start !important;
scroll-snap-stop: always !important;

}

.ac-offerte-home .uk-card-media-top {
height: 210px !important;
}

.ac-offerte-home .uk-card-body {
padding: 1.45rem 1.35rem 1.75rem !important;
}

.ac-offerte-home .el-meta {
top: -196px !important;
left: 0.95rem !important;
}

.ac-offerte-home .el-title {
font-size: 1.32rem !important;
line-height: 1.16 !important;
}

.ac-offerte-home .el-content {
font-size: 0.86rem !important;
line-height: 1.62 !important;
}

.ac-offerte-mobile-hint {
display: grid !important;
grid-template-columns: 1fr !important;
gap: 0.55rem !important;
align-items: center !important;

margin-top: 0.75rem !important;

color: rgba(236, 230, 219, 0.40) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.62rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.11em !important;
text-transform: uppercase !important;
}

.ac-offerte-hint-text {
display: block !important;
width: 100% !important;
max-width: none !important;

text-align: left !important;
white-space: nowrap !important;
}

.ac-offerte-hint-line {
position: relative !important;
display: block !important;

width: 100% !important;
height: 3px !important;

overflow: hidden !important;

background: rgba(236, 230, 219, 0.14) !important;
border-radius: 99px !important;
}

/* La seconda linea vuota del markup non serve: resta una sola banda progressiva */
.ac-offerte-hint-line:last-child {
display: none !important;
}

.ac-offerte-progress-bar {
display: block !important;

width: 25% !important;
height: 100% !important;

background: #BFC006 !important;
border-radius: 99px !important;

box-shadow: 0 0 14px rgba(191, 192, 6, 0.36) !important;

transition: width 0.18s linear !important;
will-change: width !important;
}
}

@media (max-width: 480px) {

.ac-offerte-home {
padding-top: 3.6rem !important;
padding-bottom: 3.6rem !important;
}

.ac-offerte-home .uk-heading-small {
font-size: clamp(2rem, 13vw, 3rem) !important;
}

.ac-offerte-home .uk-card-media-top {
height: 195px !important;
}

.ac-offerte-home .el-meta {
top: -181px !important;
}

.ac-offerte-mobile-hint {
gap: 0.5rem !important;
font-size: 0.56rem !important;
letter-spacing: 0.09em !important;
}

.ac-offerte-hint-text {
max-width: 150px !important;
}
}

/* =========================================================
FIX MOBILE — OFFERTE E PACCHETTI
Card tutte uguali in altezza nel carousel mobile
========================================================= */

@media (max-width: 768px) {

.ac-offerte-home .uk-margin > .uk-grid.uk-grid-match {
align-items: stretch !important;
}

.ac-offerte-home .uk-margin > .uk-grid.uk-grid-match > div {
display: flex !important;
align-self: stretch !important;
}

.ac-offerte-home .uk-margin > .uk-grid.uk-grid-match > div > .el-item {
display: flex !important;
width: 100% !important;
}

.ac-offerte-home .uk-margin > .uk-grid.uk-grid-match .uk-card {
display: flex !important;
flex-direction: column !important;

width: 100% !important;
height: 100% !important;
min-height: 455px !important;

}

.ac-offerte-home .uk-card-media-top {
flex: 0 0 210px !important;
height: 210px !important;
}

.ac-offerte-home .uk-card-body {
display: flex !important;
flex-direction: column !important;
flex: 1 1 auto !important;
}

.ac-offerte-home .el-content {
flex: 1 1 auto !important;
}

.ac-offerte-home .uk-card-body > .uk-margin-top:last-child {
margin-top: auto !important;
}
}

@media (max-width: 480px) {

.ac-offerte-home .uk-margin > .uk-grid.uk-grid-match .uk-card {
min-height: 435px !important;
}

.ac-offerte-home .uk-card-media-top {
flex-basis: 195px !important;
height: 195px !important;
}
}


/* =========================================================
ALPE CAMPO 2026 — BLOCCO ARRIVARE HOME
Classe Section Builder: ac-arrivare-home
Sezione: "Il bello comincia in salita"
========================================================= */

.ac-arrivare-home {
position: relative !important;
overflow: hidden !important;

padding-top: clamp(4rem, 8vw, 7rem) !important;
padding-bottom: clamp(4rem, 8vw, 7rem) !important;

background: #D8CEBE !important;
}

.ac-arrivare-home > .uk-container {
position: relative !important;
z-index: 2 !important;
}

/* Eyebrow */
.ac-arrivare-home .uk-heading-bullet {
display: inline-flex !important;
align-items: center !important;
gap: 0.6em !important;

margin-bottom: 0.85rem !important;

color: #B7512E !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.67rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.22em !important;
text-transform: uppercase !important;
}

.ac-arrivare-home .uk-heading-bullet::before {
width: 22px !important;
height: 1.5px !important;
margin-right: 0 !important;

background: currentColor !important;
border: 0 !important;
}

/* Titolo */
.ac-arrivare-home .uk-heading-medium {
margin-top: 0.7rem !important;
margin-bottom: 0 !important;

color: #43584B !important;

font-family: Manrope, system-ui, sans-serif !important;
font-size: clamp(2.3rem, 5vw, 4rem) !important;
font-weight: 400 !important;
line-height: 1.05 !important;
letter-spacing: -0.07em !important;
}

/* Testo introduttivo */
.ac-arrivare-home .uk-panel.uk-text-lead {
max-width: 560px !important;

margin-top: 1.05rem !important;
margin-bottom: 2.8rem !important;

color: rgba(35, 35, 36, 0.56) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.98rem !important;
font-weight: 500 !important;
line-height: 1.78 !important;
}

.ac-arrivare-home .uk-panel.uk-text-lead p {
margin: 0 !important;
}

/* =========================================================
GRID CARD — DESKTOP 2 COLONNE
========================================================= */

.ac-arrivare-home .uk-margin > .uk-grid.uk-grid-match {
display: grid !important;
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
gap: 1.2rem !important;

width: 100% !important;

margin: 0 !important;
padding: 0 !important;
}

.ac-arrivare-home .uk-margin > .uk-grid.uk-grid-match > div {
display: block !important;

width: auto !important;
max-width: none !important;
min-width: 0 !important;

margin: 0 !important;
padding: 0 !important;
}

/* =========================================================
CARD FULL IMAGE
========================================================= */

.ac-arrivare-home .uk-card {
position: relative !important;

display: flex !important;
align-items: flex-end !important;

min-height: 460px !important;
height: 100% !important;

overflow: hidden !important;

border-radius: 26px !important;
border: 0 !important;

background: #232324 !important;
box-shadow: none !important;

transform: translateY(0) !important;

transition:
transform 0.30s cubic-bezier(.16, 1, .3, 1),
box-shadow 0.30s ease !important;
}

.ac-arrivare-home .uk-card::after {
content: "" !important;

position: absolute !important;
inset: 0 !important;
z-index: 1 !important;

background:
linear-gradient(
to top,
rgba(10, 9, 8, 0.86) 0%,
rgba(10, 9, 8, 0.52) 38%,
rgba(10, 9, 8, 0.18) 68%,
rgba(10, 9, 8, 0.06) 100%
) !important;

pointer-events: none !important;
}

.ac-arrivare-home .uk-card:hover {
transform: translateY(-5px) !important;
box-shadow: 0 22px 70px rgba(35, 35, 36, 0.24) !important;
}

/* Immagine a piena card */
.ac-arrivare-home .uk-card-media-top {
position: absolute !important;
inset: 0 !important;
z-index: 0 !important;

width: 100% !important;
height: 100% !important;

overflow: hidden !important;
}

.ac-arrivare-home .uk-card-media-top .uk-inline-clip {
width: 100% !important;
height: 100% !important;
}

.ac-arrivare-home .uk-card-media-top img {
width: 100% !important;
height: 100% !important;

object-fit: cover !important;
object-position: center !important;

transform: scale(1) !important;

transition:
transform 0.65s cubic-bezier(.16, 1, .3, 1),
filter 0.30s ease !important;
}

.ac-arrivare-home .uk-card:hover .uk-card-media-top img {
transform: scale(1.05) !important;
}

/* Corpo testo sopra immagine */
.ac-arrivare-home .uk-card-body {
position: relative !important;
z-index: 2 !important;

width: 100% !important;

padding: 2rem !important;

background: transparent !important;
}

/* Badge */
.ac-arrivare-home .el-meta {
display: inline-flex !important;
align-items: center !important;

width: auto !important;

margin: 0 0 0.75rem 0 !important;
padding: 0.34em 0.95em !important;

color: #ffffff !important;
background: #B7512E !important;

border-radius: 999px !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.62rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.16em !important;
text-transform: uppercase !important;
}

/* Titolo card */
.ac-arrivare-home .el-title {
margin-top: 0 !important;
margin-bottom: 0.55rem !important;

color: #ffffff !important;

font-family: Manrope, system-ui, sans-serif !important;
font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
font-weight: 400 !important;
line-height: 1.08 !important;
letter-spacing: -0.065em !important;
}

/* Testo card */
.ac-arrivare-home .el-content {
max-width: 92% !important;

margin-top: 0 !important;
margin-bottom: 1.35rem !important;

color: rgba(236, 230, 219, 0.76) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.92rem !important;
font-weight: 500 !important;
line-height: 1.6 !important;
}

/* Bottone nella card */
.ac-arrivare-home .el-link.uk-button,
.ac-arrivare-home .uk-button-default {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;

min-height: 48px !important;

padding: 0.9em 1.9em !important;

border: 0 !important;
border-radius: 999px !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.76rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.10em !important;
text-transform: uppercase !important;

transition:
transform 0.22s cubic-bezier(.16, 1, .3, 1),
background-color 0.22s ease,
color 0.22s ease,
box-shadow 0.22s ease !important;
}

/* Prima card: bottone bianco */
.ac-arrivare-home .uk-grid.uk-grid-match > div:nth-child(1) .el-link.uk-button,
.ac-arrivare-home .uk-grid.uk-grid-match > div:nth-child(1) .uk-button-default {
color: #43584B !important;
background: #ffffff !important;
}

/* Seconda card: bottone arancione */
.ac-arrivare-home .uk-grid.uk-grid-match > div:nth-child(2) .el-link.uk-button,
.ac-arrivare-home .uk-grid.uk-grid-match > div:nth-child(2) .uk-button-default {
color: #ffffff !important;
background: #B7512E !important;
}

.ac-arrivare-home .uk-card:hover .el-link.uk-button,
.ac-arrivare-home .uk-card:hover .uk-button-default {
transform: translateY(-2px) !important;
box-shadow: 0 10px 28px rgba(35, 35, 36, 0.22) !important;
}

/* =========================================================
BLOCCO INFO SOTTO CARD
========================================================= */

.ac-arrivare-info {
display: flex !important;
align-items: center !important;
justify-content: center !important;
flex-wrap: wrap !important;
gap: 1.2rem 2.1rem !important;

margin-top: 2.5rem !important;
padding-top: 2rem !important;

border-top: 1px solid rgba(35, 35, 36, 0.10) !important;
}

.ac-arrivare-info-item {
display: inline-flex !important;
align-items: center !important;
gap: 0.45em !important;

color: rgba(35, 35, 36, 0.50) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.88rem !important;
font-weight: 700 !important;
line-height: 1.2 !important;

text-decoration: none !important;
}

.ac-arrivare-info-icon {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;

color: #43584B !important;

flex: 0 0 auto !important;
}

.ac-arrivare-info-icon svg {
width: 22px !important;
height: 22px !important;
stroke-width: 2 !important;
}

.ac-arrivare-info-link {
color: #43584B !important;
font-weight: 800 !important;

transition:
color 0.22s ease,
transform 0.22s cubic-bezier(.16, 1, .3, 1) !important;
}

.ac-arrivare-info-link:hover {
color: #B7512E !important;
transform: translateX(4px) !important;
}

/* =========================================================
TABLET / MOBILE
========================================================= */

@media (max-width: 959px) {

.ac-arrivare-home {
padding-top: 4rem !important;
padding-bottom: 4rem !important;
}

.ac-arrivare-home .uk-heading-medium {
font-size: clamp(2.15rem, 10vw, 3.25rem) !important;
}

.ac-arrivare-home .uk-panel.uk-text-lead {
max-width: 100% !important;
margin-bottom: 2.1rem !important;
font-size: 0.92rem !important;
}

.ac-arrivare-home .uk-margin > .uk-grid.uk-grid-match {
grid-template-columns: 1fr !important;
gap: 1rem !important;
}

.ac-arrivare-home .uk-card {
min-height: 360px !important;
border-radius: 22px !important;
}

.ac-arrivare-home .uk-card-body {
padding: 1.55rem !important;
}

.ac-arrivare-home .el-title {
font-size: clamp(1.55rem, 7vw, 2.05rem) !important;
}

.ac-arrivare-home .el-content {
max-width: 100% !important;
font-size: 0.86rem !important;
}

.ac-arrivare-info {
justify-content: flex-start !important;
gap: 0.95rem 1.35rem !important;

margin-top: 2rem !important;
padding-top: 1.5rem !important;

}

.ac-arrivare-info-item {
font-size: 0.76rem !important;
}
}

@media (max-width: 480px) {

.ac-arrivare-home {
padding-top: 3.6rem !important;
padding-bottom: 3.6rem !important;
}

.ac-arrivare-home .uk-card {
min-height: 330px !important;
}

.ac-arrivare-home .uk-card-body {
padding: 1.35rem !important;
}

.ac-arrivare-home .el-meta {
font-size: 0.55rem !important;
letter-spacing: 0.13em !important;
}

.ac-arrivare-home .el-content {
font-size: 0.82rem !important;
}

.ac-arrivare-home .el-link.uk-button,
.ac-arrivare-home .uk-button-default {
min-height: 44px !important;
padding: 0.82em 1.45em !important;
font-size: 0.68rem !important;
}

.ac-arrivare-info {
display: grid !important;
grid-template-columns: 1fr 1fr !important;
gap: 0.95rem 0.8rem !important;
}

.ac-arrivare-info-link {
grid-column: 1 / -1 !important;
margin-top: 0.25rem !important;
}
}
/* =========================================================
OFFSET ANCORA PAGINA CONTATTI
Fa aprire #comeraggiungerci mostrando il titolo del blocco
========================================================= */

#comeraggiungerci {
scroll-margin-top: 190px !important;
}

@media (max-width: 959px) {
#comeraggiungerci {
scroll-margin-top: 150px !important;
}
}


/* =========================================================
ALPE CAMPO 2026 — BLOCCO DORMIRE HOME
Classe Section Builder: ac-dormire-home
Sezione: "Tra relax e cieli stellati"
========================================================= */

.ac-dormire-home {
position: relative !important;
overflow: hidden !important;

padding-top: clamp(4rem, 8vw, 7rem) !important;
padding-bottom: clamp(4rem, 8vw, 7rem) !important;

background-color: #43584B !important;
background-image: url("../../../images/template-2026/texture/alpecampo-texture-topographic-top-right-no-bckg-wider-op-10.png") !important;
background-size: cover !important;
background-position: right top !important;
background-repeat: no-repeat !important;
background-attachment: fixed !important;
}

.ac-dormire-home > .uk-container {
position: relative !important;
z-index: 2 !important;
}

/* Eyebrow */
.ac-dormire-home .uk-heading-bullet {
display: inline-flex !important;
align-items: center !important;
gap: 0.6em !important;

margin-bottom: 0.85rem !important;

color: #BFC006 !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.67rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.22em !important;
text-transform: uppercase !important;
}

.ac-dormire-home .uk-heading-bullet::before {
width: 22px !important;
height: 1.5px !important;
margin-right: 0 !important;

background: currentColor !important;
border: 0 !important;
}

/* Titolo */
.ac-dormire-home .uk-heading-small,
.ac-dormire-home .uk-heading-medium {
max-width: 680px !important;

margin-top: 0.7rem !important;
margin-bottom: 0 !important;

color: #ECE6DB !important;

font-family: Manrope, system-ui, sans-serif !important;
font-size: clamp(2.35rem, 5vw, 4.1rem) !important;
font-weight: 400 !important;
line-height: 1.04 !important;
letter-spacing: -0.07em !important;
}

.ac-dormire-home .uk-heading-small em,
.ac-dormire-home .uk-heading-medium em {
color: #ECE6DB !important;

font-family: Manrope, system-ui, sans-serif !important;
font-style: italic !important;
font-weight: 400 !important;
letter-spacing: -0.06em !important;
}

/* Testo introduttivo */
.ac-dormire-home .uk-panel.uk-text-lead,
.ac-dormire-home .uk-panel.uk-width-xlarge {
max-width: 560px !important;

margin-top: 1.05rem !important;
margin-bottom: 2.8rem !important;

color: rgba(236, 230, 219, 0.76) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.98rem !important;
font-weight: 500 !important;
line-height: 1.78 !important;
}

.ac-dormire-home .uk-panel.uk-text-lead p,
.ac-dormire-home .uk-panel.uk-width-xlarge p {
margin: 0 !important;
}

/* =========================================================
GRIGLIA CARD — DESKTOP
========================================================= */

.ac-dormire-home .uk-margin > .uk-grid.uk-grid-match {
display: grid !important;
grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
align-items: stretch !important;
gap: 1.1rem !important;

width: 100% !important;

margin: 2.8rem 0 0 0 !important;
padding: 0 !important;
}

.ac-dormire-home .uk-margin > .uk-grid.uk-grid-match > div {
display: flex !important;

width: auto !important;
max-width: none !important;
min-width: 0 !important;

margin: 0 !important;
padding: 0 !important;
}

.ac-dormire-home .uk-margin > .uk-grid.uk-grid-match > div > .el-item {
display: flex !important;
width: 100% !important;
}

/* =========================================================
CARD
========================================================= */

.ac-dormire-home .uk-card {
position: relative !important;

display: flex !important;
flex-direction: column !important;

width: 100% !important;
height: 100% !important;
min-height: 540px !important;

overflow: hidden !important;

background: #ECE6DB !important;
border: 0 !important;
border-radius: 26px !important;

box-shadow: 0 14px 45px rgba(35, 35, 36, 0.10) !important;

transform: perspective(900px) rotateX(0deg) rotateY(0deg) translateY(0) !important;
transform-style: preserve-3d !important;
will-change: transform !important;

transition:
transform 0.34s cubic-bezier(.16, 1, .3, 1),
box-shadow 0.34s ease !important;
}

.ac-dormire-home .uk-card:hover {
box-shadow: 0 24px 70px rgba(35, 35, 36, 0.22) !important;
}

/* Immagine */
.ac-dormire-home .uk-card-media-top {
position: relative !important;

flex: 0 0 245px !important;

width: 100% !important;
height: 245px !important;

overflow: hidden !important;
}

.ac-dormire-home .uk-card-media-top .uk-inline-clip {
width: 100% !important;
height: 100% !important;
}

.ac-dormire-home .uk-card-media-top img {
width: 100% !important;
height: 100% !important;

object-fit: cover !important;
object-position: center !important;

transform: scale(1) !important;

transition:
transform 0.65s cubic-bezier(.16, 1, .3, 1),
filter 0.30s ease !important;
}

.ac-dormire-home .uk-card:hover .uk-card-media-top img {
transform: scale(1.055) !important;
}

/* Corpo */
.ac-dormire-home .uk-card-body {
display: flex !important;
flex-direction: column !important;
flex: 1 1 auto !important;

padding: 1.65rem 1.55rem 1.75rem !important;

background: transparent !important;
}

/* Badge / Meta */
.ac-dormire-home .el-meta {
display: block !important;

margin: 0 0 1.35rem 0 !important;

color: #43584B !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.68rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.26em !important;
text-transform: uppercase !important;
}

/* Titolo card */
.ac-dormire-home .el-title {
margin-top: 0 !important;
margin-bottom: 1.05rem !important;

color: #43584B !important;

font-family: Manrope, system-ui, sans-serif !important;
font-size: clamp(1.55rem, 2.3vw, 2rem) !important;
font-weight: 400 !important;
line-height: 1.08 !important;
letter-spacing: -0.065em !important;
}

/* Content: testo + flag */
.ac-dormire-home .el-content {
display: block !important;
flex: 0 0 auto !important;

margin-top: 0 !important;

color: #232324 !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.88rem !important;
font-weight: 500 !important;
line-height: 1.58 !important;
}

.ac-dormire-home .el-content p {
margin: 0 !important;
}

/* Allinea l'inizio degli elenchi flaggati sulle card desktop */
.ac-dormire-home .el-content p:first-child {
min-height: 7rem !important;
}

/* Spazio controllato tra descrizione e flag */
.ac-dormire-home .el-content p + p,
.ac-dormire-home .el-content p + ul {
margin-top: 0.85rem !important;
}

.ac-dormire-home .el-content ul {
list-style: none !important;

margin: 0 !important;
padding: 0 !important;

display: flex !important;
flex-direction: column !important;
gap: 0.32rem !important;
}

.ac-dormire-home .el-content li {
position: relative !important;

margin: 0 !important;
padding-left: 1.05rem !important;

color: #43584B !important;

font-size: 0.82rem !important;
font-weight: 700 !important;
line-height: 1.35 !important;
}

.ac-dormire-home .el-content li::before {
content: "✓" !important;

position: absolute !important;
left: 0 !important;
top: 0 !important;

color: #BFC006 !important;

font-weight: 900 !important;
line-height: 1.35 !important;
}

/* Bottone sempre allineato */
.ac-dormire-home .uk-card-body > .uk-margin-top:last-child {
margin-top: 1.45rem !important;
}

.ac-dormire-home .el-link.uk-button,
.ac-dormire-home .uk-button {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;

width: fit-content !important;
min-width: 132px !important;
min-height: 48px !important;

padding: 0.92em 1.85em !important;

color: #ffffff !important;
background: #B7512E !important;

border: 0 !important;
border-radius: 999px !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.80rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.10em !important;
text-transform: uppercase !important;

transition:
transform 0.22s cubic-bezier(.16, 1, .3, 1),
background-color 0.22s ease,
box-shadow 0.22s ease !important;
}

.ac-dormire-home .uk-card:hover .el-link.uk-button,
.ac-dormire-home .uk-card:hover .uk-button {
transform: translateY(-2px) !important;
background: #9F4327 !important;
box-shadow: 0 10px 28px rgba(183, 81, 46, 0.28) !important;
}

/* =========================================================
MOBILE HINT / PROGRESS
========================================================= */

.ac-dormire-mobile-hint {
display: none !important;
}

/* =========================================================
TABLET
========================================================= */

@media (max-width: 1180px) and (min-width: 769px) {

.ac-dormire-home .uk-margin > .uk-grid.uk-grid-match {
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.ac-dormire-home .uk-card {
min-height: 560px !important;
}
}

/* =========================================================
MOBILE — CAROUSEL 1 CARD PER VOLTA
========================================================= */

@media (max-width: 768px) {

.ac-dormire-home {
padding-top: 4rem !important;
padding-bottom: 4rem !important;
background-attachment: scroll !important;
}

.ac-dormire-home .uk-heading-bullet {
font-size: 0.60rem !important;
letter-spacing: 0.20em !important;
}

.ac-dormire-home .uk-heading-small,
.ac-dormire-home .uk-heading-medium {
font-size: clamp(2.15rem, 12vw, 3.25rem) !important;
line-height: 1.04 !important;
}

.ac-dormire-home .uk-panel.uk-text-lead,
.ac-dormire-home .uk-panel.uk-width-xlarge {
max-width: 100% !important;
margin-bottom: 2.1rem !important;
font-size: 0.92rem !important;
line-height: 1.72 !important;
}

.ac-dormire-home .uk-margin > .uk-grid.uk-grid-match {
display: flex !important;
flex-wrap: nowrap !important;
align-items: stretch !important;

overflow-x: auto !important;
overflow-y: hidden !important;

scroll-snap-type: x mandatory !important;
scroll-behavior: smooth !important;
-webkit-overflow-scrolling: touch !important;

gap: 1rem !important;

width: auto !important;

margin-top: 2rem !important;
margin-left: calc(-1 * clamp(1.25rem, 5vw, 5vw)) !important;
margin-right: calc(-1 * clamp(1.25rem, 5vw, 5vw)) !important;

padding-left: clamp(1.25rem, 5vw, 5vw) !important;
padding-right: clamp(1.25rem, 5vw, 5vw) !important;
padding-bottom: 1rem !important;

scroll-padding-left: clamp(1.25rem, 5vw, 5vw) !important;

scrollbar-width: none !important;

}

.ac-dormire-home .uk-margin > .uk-grid.uk-grid-match::-webkit-scrollbar {
display: none !important;
}

.ac-dormire-home .uk-margin > .uk-grid.uk-grid-match > div {
flex: 0 0 100% !important;
display: flex !important;
align-self: stretch !important;

width: 100% !important;
max-width: calc(100vw - 2 * clamp(1.25rem, 5vw, 5vw)) !important;
min-width: 0 !important;

scroll-snap-align: start !important;
scroll-snap-stop: always !important;

}

.ac-dormire-home .uk-card {
width: 100% !important;
height: auto !important;
min-height: 0 !important;

border-radius: 24px !important;

}

.ac-dormire-home .uk-card-media-top {
flex-basis: 230px !important;
height: 230px !important;
}

.ac-dormire-home .uk-card-body {
padding: 1.45rem 1.35rem 1.45rem !important;
}

.ac-dormire-home .el-meta {
font-size: 0.62rem !important;
letter-spacing: 0.22em !important;
}

.ac-dormire-home .el-title {
font-size: 1.72rem !important;
}

.ac-dormire-home .el-content {
display: block !important;
flex: 0 0 auto !important;

font-size: 0.86rem !important;
line-height: 1.55 !important;
}

.ac-dormire-home .el-content p:first-child {
min-height: 0 !important;
}

.ac-dormire-home .el-content p + p,
.ac-dormire-home .el-content p + ul {
margin-top: 0.72rem !important;
}

.ac-dormire-home .el-content li {
font-size: 0.80rem !important;
}

.ac-dormire-mobile-hint {
display: grid !important;
grid-template-columns: 1fr !important;
gap: 0.55rem !important;
align-items: center !important;

margin-top: 0.75rem !important;

color: rgba(236, 230, 219, 0.40) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.62rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.16em !important;
text-transform: uppercase !important;
}

.ac-dormire-hint-text {
display: block !important;
width: 100% !important;
max-width: none !important;

text-align: left !important;
white-space: nowrap !important;
}

.ac-dormire-hint-line {
position: relative !important;
display: block !important;

width: 100% !important;
height: 3px !important;

overflow: hidden !important;

background: rgba(236, 230, 219, 0.14) !important;
border-radius: 99px !important;
}

/* La seconda linea vuota del markup non serve: resta una sola banda progressiva */
.ac-dormire-hint-line:last-child {
display: none !important;
}

.ac-dormire-progress-bar {
display: block !important;

width: 25% !important;
height: 100% !important;

background: #BFC006 !important;
border-radius: 99px !important;

box-shadow: 0 0 14px rgba(191, 192, 6, 0.36) !important;

transition: width 0.18s linear !important;
will-change: width !important;
}
}

@media (max-width: 480px) {

.ac-dormire-home {
padding-top: 3.6rem !important;
padding-bottom: 3.6rem !important;
}

.ac-dormire-home .uk-card {
min-height: 0 !important;
}

.ac-dormire-home .uk-card-media-top {
flex-basis: 210px !important;
height: 210px !important;
}

.ac-dormire-home .el-link.uk-button,
.ac-dormire-home .uk-button {
min-height: 44px !important;
min-width: 126px !important;
padding: 0.82em 1.45em !important;
font-size: 0.68rem !important;
}
}


/* =========================================================
FIX DORMIRE HOME — Badge sopra immagine + tilt libero
========================================================= */

/* Permette al JS di muovere la card senza essere bloccato dal transform precedente */
.ac-dormire-home .uk-card {
transform-style: preserve-3d !important;
will-change: transform !important;
}

/* Badge sopra la foto, come nel sito da copiare */
.ac-dormire-home .el-meta {
position: absolute !important;
top: 1rem !important;
right: 1rem !important;
z-index: 8 !important;

display: inline-flex !important;
align-items: center !important;
justify-content: center !important;

width: auto !important;
max-width: calc(100% - 2rem) !important;

margin: 0 !important;
padding: 0.42em 0.95em !important;

color: #ffffff !important;
background: #B7512E !important;

border-radius: 999px !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.62rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.14em !important;
text-transform: uppercase !important;

white-space: nowrap !important;
pointer-events: none !important;
}

/* Colori badge alternati */
.ac-dormire-home .uk-grid.uk-grid-match > div:nth-child(1) .el-meta {
background: #B7512E !important;
}

.ac-dormire-home .uk-grid.uk-grid-match > div:nth-child(2) .el-meta {
background: #53695A !important;
}

.ac-dormire-home .uk-grid.uk-grid-match > div:nth-child(3) .el-meta {
background: #7F8B76 !important;
}

.ac-dormire-home .uk-grid.uk-grid-match > div:nth-child(4) .el-meta {
background: #43584B !important;
}

/* La card deve essere il riferimento del badge */
.ac-dormire-home .uk-card {
position: relative !important;
}

/* Hover immagine sempre attivo */
.ac-dormire-home .uk-card:hover .uk-card-media-top img {
transform: scale(1.055) !important;
}

/* Mobile: tilt disattivato, badge sempre sopra foto */
@media (max-width: 768px) {
.ac-dormire-home .el-meta {
top: 0.95rem !important;
right: 0.95rem !important;

font-size: 0.58rem !important;
letter-spacing: 0.12em !important;

}
}


/* =========================================================
ALPE CAMPO 2026 — ESPERIENZE HOME PULITO
Section: ac-esperienze-home
Sinistra: ac-esperienze-copy
Destra: ac-esperienze-cards
========================================================= */

.ac-esperienze-home {
position: relative !important;
overflow: visible !important;
background: #232324 !important;
padding-top: clamp(4rem, 8vw, 7rem) !important;
padding-bottom: clamp(4rem, 8vw, 7rem) !important;
}

/* IMPORTANTE:
non tocchiamo font-size, line-height, letter-spacing del titolo sinistro.
Il titolo resta formattato dal Builder. */

.ac-esperienze-copy {
min-width: 0 !important;
}

.ac-esperienze-copy > .uk-panel,
.ac-esperienze-copy .uk-panel[uk-sticky] {
max-width: 100% !important;
}

/* Desktop: trasformiamo il layout in CSS grid per evitare che YOOtheme mandi la colonna destra sotto */
@media (min-width: 960px) {

.ac-esperienze-home > .uk-container > .uk-grid.tm-grid-expand {
display: grid !important;
grid-template-columns: minmax(360px, 430px) minmax(0, 1fr) !important;
column-gap: clamp(3.5rem, 6vw, 6rem) !important;
row-gap: 0 !important;

align-items: start !important;
margin-left: 0 !important;

}

.ac-esperienze-home > .uk-container > .uk-grid.tm-grid-expand > div {
width: auto !important;
max-width: none !important;
min-width: 0 !important;
padding-left: 0 !important;
}

.ac-esperienze-copy {
grid-column: 1 !important;
}

.ac-esperienze-cards {
grid-column: 2 !important;
}

.ac-esperienze-copy .uk-width-xlarge {
max-width: 410px !important;
}
}

/* =========================================================
COLONNA DESTRA
========================================================= */

.ac-esperienze-cards {
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
}

.ac-esperienze-cards > .uk-margin,
.ac-esperienze-cards .uk-margin {
margin-top: 0 !important;
}

.ac-esperienze-cards .uk-grid,
.ac-esperienze-cards .uk-grid.uk-grid-match {
display: flex !important;
flex-direction: column !important;
gap: 1.4rem !important;

width: 100% !important;

margin: 0 !important;
padding: 0 !important;
}

.ac-esperienze-cards .uk-grid > div,
.ac-esperienze-cards .uk-grid.uk-grid-match > div {
width: 100% !important;
max-width: 100% !important;

margin: 0 !important;
padding: 0 !important;
}

/* Anti-vecchie regole: se è rimasto qualche vecchio JS/CSS, non deve più nascondere le card */
html.ac-esperienze-ready .ac-esperienze-cards .uk-card,
html.ac-esperienze-ready .ac-esperienze-cards .uk-grid > div {
opacity: 1 !important;
transform: none !important;
}

/* =========================================================
ANIMAZIONE DA DESTRA — solo con il nuovo JS
========================================================= */

html.ac-exp-js-ready .ac-esperienze-cards .uk-grid > div[data-ac-exp-card="1"] {
opacity: 0 !important;
transform: translate3d(70px, 0, 0) !important;
will-change: opacity, transform !important;

transition:
opacity 0.78s cubic-bezier(.16, 1, .3, 1),
transform 0.78s cubic-bezier(.16, 1, .3, 1) !important;
}

html.ac-exp-js-ready .ac-esperienze-cards .uk-grid > div[data-ac-exp-card="1"].ac-exp-visible {
opacity: 1 !important;
transform: translate3d(0, 0, 0) !important;
}

/* =========================================================
CARD FULL IMAGE
========================================================= */

.ac-esperienze-cards .uk-card {
position: relative !important;

display: flex !important;
align-items: flex-end !important;

width: 100% !important;
min-height: 270px !important;

overflow: hidden !important;

background: #232324 !important;
border: 0 !important;
border-radius: 26px !important;

box-shadow: none !important;

transform: translateY(0) !important;

transition:
transform 0.30s cubic-bezier(.16, 1, .3, 1),
box-shadow 0.30s ease !important;
}

.ac-esperienze-cards .uk-card:hover {
transform: translateY(-4px) !important;
box-shadow: 0 22px 70px rgba(0, 0, 0, 0.30) !important;
}

/* Overlay scuro */
.ac-esperienze-cards .uk-card::after {
content: "" !important;

position: absolute !important;
inset: 0 !important;
z-index: 1 !important;

background:
linear-gradient(
to top,
rgba(0, 0, 0, 0.82) 0%,
rgba(0, 0, 0, 0.52) 38%,
rgba(0, 0, 0, 0.16) 68%,
rgba(0, 0, 0, 0.05) 100%
) !important;

pointer-events: none !important;
}

/* Immagine a piena card */
.ac-esperienze-cards .uk-card-media-top {
position: absolute !important;
inset: 0 !important;
z-index: 0 !important;

width: 100% !important;
height: 100% !important;

overflow: hidden !important;
}

.ac-esperienze-cards .uk-card-media-top .uk-inline-clip {
width: 100% !important;
height: 100% !important;
}

.ac-esperienze-cards .uk-card-media-top img {
width: 100% !important;
height: 100% !important;

object-fit: cover !important;
object-position: center !important;

transform: scale(1) !important;

transition:
transform 0.62s cubic-bezier(.16, 1, .3, 1),
filter 0.30s ease !important;
}

.ac-esperienze-cards .uk-card:hover .uk-card-media-top img {
transform: scale(1.045) !important;
}

/* Testi sopra immagine */
.ac-esperienze-cards .uk-card-body {
position: relative !important;
z-index: 2 !important;

width: 100% !important;

padding: 1.8rem !important;

background: transparent !important;
}

/* Badge */
.ac-esperienze-cards .el-meta {
display: inline-flex !important;
align-items: center !important;

width: auto !important;

margin: 0 0 0.65rem 0 !important;
padding: 0.34em 0.9em !important;

color: #ffffff !important;
background: #B7512E !important;

border-radius: 999px !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.62rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.16em !important;
text-transform: uppercase !important;
}

/* Titolo card */
.ac-esperienze-cards .el-title {
margin-top: 0 !important;
margin-bottom: 0.35rem !important;

color: #ffffff !important;

font-family: Manrope, system-ui, sans-serif !important;
font-size: clamp(1.45rem, 3vw, 1.9rem) !important;
font-weight: 500 !important;
line-height: 1.12 !important;
letter-spacing: -0.055em !important;
}

/* Testo card */
.ac-esperienze-cards .el-content {
max-width: 92% !important;

margin-top: 0 !important;

color: rgba(236, 230, 219, 0.64) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.88rem !important;
font-weight: 500 !important;
line-height: 1.55 !important;
}

.ac-esperienze-cards .el-content p {
margin: 0 !important;
}

/* =========================================================
MOBILE
Una card sotto l'altra, sinistra sopra e non sticky.
Corretto: il titolo mobile non viene più tagliato a sinistra.
========================================================= */

@media (max-width: 959px) {

  .ac-esperienze-home {
    overflow: hidden !important;
    padding-top: 4rem !important;
    padding-bottom: 4.5rem !important;
  }

  .ac-esperienze-home > .uk-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .ac-esperienze-home > .uk-container > .uk-grid.tm-grid-expand {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2.4rem !important;

    width: 100% !important;
    margin-left: 0 !important;
  }

  .ac-esperienze-home > .uk-container > .uk-grid.tm-grid-expand > div {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
  }

  /* Mobile: niente reveal laterale sul testo, altrimenti viene tagliato fuori viewport */
  .ac-esperienze-home .ac-reveal-from-left,
  html.ac-reveal-ready .ac-esperienze-home .ac-reveal-from-left {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .ac-esperienze-copy,
  .ac-esperienze-copy > .uk-panel,
  .ac-esperienze-copy .uk-panel[uk-sticky] {
    position: relative !important;
    top: auto !important;
    left: auto !important;

    width: 100% !important;
    max-width: 100% !important;

    transform: none !important;
  }

  .ac-esperienze-copy .uk-width-xlarge {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ac-esperienze-home .ac-esperienze-copy .uk-heading-bullet {
    margin-bottom: 1rem !important;

    font-size: 0.68rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.24em !important;
  }

  .ac-esperienze-home .ac-esperienze-copy .uk-heading-small {
    width: 100% !important;
    max-width: 100% !important;

    margin-top: 0 !important;
    margin-bottom: 1.15rem !important;

    font-size: clamp(2.05rem, 11.5vw, 3rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.07em !important;

    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .ac-esperienze-home .ac-esperienze-copy .uk-heading-small em {
    display: inline !important;
  }

  .ac-esperienze-home .ac-esperienze-copy .uk-panel.uk-text-muted,
  .ac-esperienze-home .ac-esperienze-copy .uk-panel.uk-width-xlarge {
    width: 100% !important;
    max-width: 100% !important;

    margin-top: 0 !important;
    margin-bottom: 1.7rem !important;

    font-size: 0.95rem !important;
    line-height: 1.65 !important;
  }

  .ac-esperienze-home .ac-esperienze-copy .uk-button {
    min-height: 48px !important;
    padding: 0.95em 1.65em !important;
    font-size: 0.78rem !important;
  }

  .ac-esperienze-cards {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ac-esperienze-cards .uk-grid,
  .ac-esperienze-cards .uk-grid.uk-grid-match {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.2rem !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ac-esperienze-cards .uk-grid > div,
  .ac-esperienze-cards .uk-grid.uk-grid-match > div {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    margin: 0 !important;
  }

  html.ac-exp-js-ready .ac-esperienze-cards .uk-grid > div[data-ac-exp-card="1"] {
    transform: translate3d(0, 34px, 0) !important;
  }

  html.ac-exp-js-ready .ac-esperienze-cards .uk-grid > div[data-ac-exp-card="1"].ac-exp-visible {
    transform: translate3d(0, 0, 0) !important;
  }

  .ac-esperienze-cards .uk-card {
    min-height: 330px !important;
    border-radius: 24px !important;
  }

  .ac-esperienze-cards .uk-card-body {
    padding: 1.45rem !important;
  }

  .ac-esperienze-cards .el-meta {
    left: 1.25rem !important;
    top: 1.25rem !important;

    padding: 0.45em 0.95em !important;

    font-size: 0.58rem !important;
    letter-spacing: 0.14em !important;
  }

  .ac-esperienze-cards .el-title {
    font-size: clamp(1.65rem, 8vw, 2.35rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.065em !important;
  }

  .ac-esperienze-cards .el-content {
    max-width: 100% !important;

    font-size: 0.88rem !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 480px) {

  .ac-esperienze-home {
    padding-top: 3.6rem !important;
    padding-bottom: 4rem !important;
  }

  .ac-esperienze-home > .uk-container {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .ac-esperienze-home .ac-esperienze-copy .uk-heading-small {
    font-size: clamp(2rem, 11.5vw, 2.85rem) !important;
  }

  .ac-esperienze-cards .uk-card {
    min-height: 310px !important;
  }

  .ac-esperienze-cards .el-meta {
    font-size: 0.55rem !important;
    letter-spacing: 0.13em !important;
  }
}

/* =========================================================
   FIX BLOCCO ESPERIENZE
   - box un po' più larghi
   - testi allineati in basso
   ========================================================= */

/* DESKTOP */
@media (min-width: 960px) {

  /* do più spazio alla colonna di destra */
  .ac-esperienze-home > .uk-container > .uk-grid.tm-grid-expand {
    grid-template-columns: minmax(300px, 380px) minmax(0, 1fr) !important;
    column-gap: clamp(2.2rem, 4vw, 4rem) !important;
  }

  /* la colonna testo a sinistra resta un po' più stretta */
  .ac-esperienze-copy .uk-width-xlarge {
    max-width: 360px !important;
  }

  /* card un filo più larghe e un po' più basse */
  .ac-esperienze-cards .uk-card {
    min-height: 250px !important;
  }
}

/* CARD: contenuto sempre in basso */
.ac-esperienze-cards .uk-card-body {
  position: relative !important;
  z-index: 2 !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;

  height: 100% !important;
  min-height: 100% !important;

  padding: 1.8rem !important;
}

/* badge resta sopra, poi il blocco testi scende in basso */
.ac-esperienze-cards .el-meta {
  margin-bottom: auto !important;
}

.ac-esperienze-cards .el-title {
  margin-top: 0 !important;
  margin-bottom: 0.45rem !important;
}

.ac-esperienze-cards .el-content {
  margin-top: 0 !important;
  max-width: 94% !important;
}

.ac-esperienze-cards .el-content p {
  margin: 0 !important;
}

/* MOBILE: non tocchiamo la struttura, solo allineamento corretto */
@media (max-width: 959px) {

  .ac-esperienze-cards .uk-card-body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    height: 100% !important;
  }

  .ac-esperienze-cards .el-meta {
    margin-bottom: auto !important;
  }

  .ac-esperienze-cards .el-content {
    max-width: 100% !important;
  }
}

/* =========================================================
   FIX BADGE ARANCIONE - non deve essere lungo
   ========================================================= */

.ac-esperienze-cards .el-meta,
.ac-esperienze-cards .uk-card-badge,
.ac-esperienze-cards .tm-card-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;

  padding: 6px 14px !important;
  border-radius: 999px !important;

  white-space: nowrap !important;
  line-height: 1 !important;

  right: auto !important;
  left: 0 !important;
}

/* elimina eventuali allungamenti strani */
.ac-esperienze-cards .el-meta::before,
.ac-esperienze-cards .el-meta::after,
.ac-esperienze-cards .uk-card-badge::before,
.ac-esperienze-cards .uk-card-badge::after,
.ac-esperienze-cards .tm-card-badge::before,
.ac-esperienze-cards .tm-card-badge::after {
  content: none !important;
  display: none !important;
}

/* =========================================================
ALPE CAMPO 2026 — RISTORANTE / BAR SWITCH PULITO
Switch: .ac-ristobar-tabs
Pannelli: #ristorante / #bar
Il JS aggiunge .ac-ristobar-scope alla section reale
========================================================= */

/* =========================================================
SWITCH
========================================================= */

.ac-ristobar-tabs {
display: inline-flex !important;
align-items: center !important;
gap: 0.28rem !important;

margin-top: 2.1rem !important;
margin-bottom: 2.8rem !important;
padding: 0.28rem !important;

background: rgba(35, 35, 36, 0.22) !important;
border: 1px solid rgba(236, 230, 219, 0.06) !important;
border-radius: 999px !important;

box-shadow: inset 0 1px 0 rgba(236, 230, 219, 0.04) !important;
}

.ac-ristobar-tab {
appearance: none !important;

display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
gap: 0.48rem !important;

min-height: 42px !important;
padding: 0.72em 1.35em !important;

border: 0 !important;
border-radius: 999px !important;

background: transparent !important;
color: rgba(236, 230, 219, 0.46) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.72rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.12em !important;
text-transform: uppercase !important;

cursor: pointer !important;

transition:
background-color 0.25s ease,
color 0.25s ease,
transform 0.25s cubic-bezier(.16, 1, .3, 1),
box-shadow 0.25s ease !important;
}

.ac-ristobar-tab:hover {
color: #ECE6DB !important;
}

.ac-ristobar-tab.is-active {
background: #ECE6DB !important;
color: #43584B !important;
box-shadow: 0 8px 24px rgba(35, 35, 36, 0.16) !important;
}

.ac-ristobar-tab-icon {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;

color: #B7512E !important;
}

.ac-ristobar-tab-icon svg {
width: 18px !important;
height: 18px !important;
stroke-width: 2.1 !important;
}

/* =========================================================
LOGICA VISIVA PANNELLI
========================================================= */

.ac-ristobar-scope.ac-ristobar-show-ristorante #bar {
display: none !important;
}

.ac-ristobar-scope.ac-ristobar-show-bar #ristorante {
display: none !important;
}

.ac-ristobar-scope #ristorante[hidden],
.ac-ristobar-scope #bar[hidden] {
display: none !important;
}

.ac-ristobar-scope #ristorante,
.ac-ristobar-scope #bar {
align-items: center !important;
animation: acRistobarPanelIn 0.45s cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes acRistobarPanelIn {
from {
opacity: 0;
transform: translate3d(0, 18px, 0);
}

to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}

/* =========================================================
FORMATTAZIONE PANNELLI
========================================================= */

.ac-ristobar-scope #ristorante > div,
.ac-ristobar-scope #bar > div {
min-width: 0 !important;
}

/* Immagine */
.ac-ristobar-scope #ristorante img,
.ac-ristobar-scope #bar img {
width: 100% !important;
height: auto !important;

aspect-ratio: 4 / 3 !important;
object-fit: cover !important;
object-position: center !important;

border-radius: 26px !important;
}

/* Titolo pannello */
.ac-ristobar-scope #ristorante .uk-h3,
.ac-ristobar-scope #bar .uk-h3,
.ac-ristobar-scope #ristorante h3,
.ac-ristobar-scope #bar h3 {
margin-top: 0 !important;
margin-bottom: 1rem !important;

color: #ECE6DB !important;

font-family: Manrope, system-ui, sans-serif !important;
font-size: clamp(2rem, 4vw, 3rem) !important;
font-weight: 400 !important;
line-height: 1.18 !important;
letter-spacing: -0.055em !important;
}

/* Testo pannello */
.ac-ristobar-scope #ristorante .uk-panel,
.ac-ristobar-scope #bar .uk-panel {
max-width: 640px !important;

color: rgba(236, 230, 219, 0.66) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.96rem !important;
font-weight: 500 !important;
line-height: 1.75 !important;
}

.ac-ristobar-scope #ristorante .uk-panel p,
.ac-ristobar-scope #bar .uk-panel p {
margin-top: 0 !important;
}

/* Bottoni */
.ac-ristobar-scope #ristorante .uk-button,
.ac-ristobar-scope #bar .uk-button {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;

min-height: 48px !important;
padding: 0.9em 1.8em !important;

border: 0 !important;
border-radius: 999px !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.76rem !important;
font-weight: 800 !important;
line-height: 1 !important;
letter-spacing: 0.11em !important;
text-transform: uppercase !important;

transition:
transform 0.22s cubic-bezier(.16, 1, .3, 1),
background-color 0.22s ease,
color 0.22s ease,
box-shadow 0.22s ease !important;
}

.ac-ristobar-scope #ristorante .uk-button-primary,
.ac-ristobar-scope #bar .uk-button-primary,
.ac-ristobar-scope #ristorante .uk-button-secondary,
.ac-ristobar-scope #bar .uk-button-secondary {
color: #43584B !important;
background: #ECE6DB !important;
}

.ac-ristobar-scope #ristorante .uk-button:hover,
.ac-ristobar-scope #bar .uk-button:hover {
transform: translateY(-2px) !important;
box-shadow: 0 10px 28px rgba(35, 35, 36, 0.20) !important;
}

/* =========================================================
MOBILE
========================================================= */

@media (max-width: 959px) {

.ac-ristobar-tabs {
width: 100% !important;
max-width: 360px !important;

margin-top: 1.8rem !important;
margin-bottom: 2.2rem !important;

}

.ac-ristobar-tab {
flex: 1 1 0 !important;
min-width: 0 !important;

padding-left: 0.8em !important;
padding-right: 0.8em !important;

font-size: 0.66rem !important;
letter-spacing: 0.10em !important;

}

.ac-ristobar-scope #ristorante,
.ac-ristobar-scope #bar {
row-gap: 1.6rem !important;
}

.ac-ristobar-scope #ristorante img,
.ac-ristobar-scope #bar img {
aspect-ratio: 16 / 10 !important;
border-radius: 22px !important;
}

.ac-ristobar-scope #ristorante .uk-h3,
.ac-ristobar-scope #bar .uk-h3,
.ac-ristobar-scope #ristorante h3,
.ac-ristobar-scope #bar h3 {
font-size: clamp(1.8rem, 9vw, 2.45rem) !important;
}

.ac-ristobar-scope #ristorante .uk-panel,
.ac-ristobar-scope #bar .uk-panel {
max-width: 100% !important;
font-size: 0.9rem !important;
line-height: 1.7 !important;
}
}

@media (max-width: 480px) {

.ac-ristobar-tabs {
max-width: 100% !important;
}

.ac-ristobar-tab {
min-height: 40px !important;
font-size: 0.60rem !important;
}

.ac-ristobar-tab-icon svg {
width: 16px !important;
height: 16px !important;
}
}

/* =========================================================
ALPE CAMPO 2026 — HERO BACKGROUND PARALLAX LEGGERO
Muove solo la foto della hero, non testi e non booking
Section class: ac-hero
========================================================= */

.ac-hero {
  --ac-hero-parallax-y: 0px;
}

.ac-hero > .uk-background-cover {
  background-position: center calc(50% + var(--ac-hero-parallax-y)) !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  will-change: background-position !important;
}

/* Mobile: effetto più leggero */
@media (max-width: 959px) {
  .ac-hero > .uk-background-cover {
    background-position: center calc(50% + var(--ac-hero-parallax-y)) !important;
  }
}

/* Accessibilità: se l'utente ha ridotto le animazioni, lo fermiamo */
@media (prefers-reduced-motion: reduce) {
  .ac-hero {
    --ac-hero-parallax-y: 0px !important;
  }
}



/* =========================================================
ALPE CAMPO 2026 — MENU DESKTOP OFFCANVAS DEFINITIVO
Target reale: #tm-dialog
========================================================= */

/* Overlay sopra tutto */
#tm-dialog.uk-offcanvas {
z-index: 2147483000 !important;
}

#tm-dialog.uk-offcanvas-overlay::before {
background: rgba(8, 8, 7, 0.68) !important;
backdrop-filter: blur(12px) !important;
-webkit-backdrop-filter: blur(12px) !important;
}

/* Pannello menu più largo */
#tm-dialog .uk-offcanvas-bar {
width: 560px !important;
max-width: 560px !important;
height: 100dvh !important;

padding: 2.2rem 3rem !important;

background:
radial-gradient(circle at 86% 44%, rgba(191, 192, 6, 0.12) 0%, rgba(191, 192, 6, 0.00) 36%),
linear-gradient(155deg, #081008 0%, #142515 42%, #243D20 100%) !important;

color: #ECE6DB !important;

box-shadow: -32px 0 90px rgba(0, 0, 0, 0.42) !important;

overflow-y: auto !important;
-webkit-overflow-scrolling: touch !important;
}

/* Montagna grafica interna: non serve scaricare immagini */
#tm-dialog .uk-offcanvas-bar::before {
content: "" !important;
position: absolute !important;
inset: 0 !important;
z-index: 0 !important;

background-image:
url("data:image/svg+xml,%3Csvg viewBox='0 0 400 420' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='-30,420 70,245 135,330 215,160 295,315 365,200 430,420' fill='rgba(127,139,118,0.13)'/%3E%3Cpolygon points='20,420 95,285 155,350 225,210 290,322 350,245 430,420' fill='rgba(67,88,75,0.18)'/%3E%3C/svg%3E") !important;

background-size: 92% auto !important;
background-position: right bottom !important;
background-repeat: no-repeat !important;

opacity: 0.85 !important;
pointer-events: none !important;
}

/* Texture sopra la montagna */
#tm-dialog .uk-offcanvas-bar::after {
content: "" !important;
position: absolute !important;
inset: 0 !important;
z-index: 0 !important;

background-image: url("/images/template-2026/texture/alpecampo-texture-topographic-bottom-left-no-bckg-op-10.png") !important;
background-size: cover !important;
background-position: right bottom !important;
background-repeat: no-repeat !important;

opacity: 0.16 !important;
pointer-events: none !important;
}

/* Contenuto sopra gli sfondi */
#tm-dialog .uk-offcanvas-bar > * {
position: relative !important;
z-index: 2 !important;
}

/* Nasconde i social sopra */
#tm-dialog #module-tm-3 {
display: none !important;
}

/* Contenitore menu */
#tm-dialog #module-menu-dialog {
margin-top: 2.65rem !important;
}

/* Reset menu */
#tm-dialog #module-menu-dialog .uk-nav {
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}

/* Riga voce principale */
#tm-dialog #module-menu-dialog .uk-nav > li {
position: relative !important;
border-bottom: 1px solid rgba(236, 230, 219, 0.075) !important;
}

/* Voci principali */
#tm-dialog #module-menu-dialog .uk-nav > li > a {
position: relative !important;

display: flex !important;
align-items: center !important;
justify-content: space-between !important;

padding: 0.76rem 2.2rem 0.76rem 0 !important;

color: rgba(236, 230, 219, 0.52) !important;

font-family: Manrope, system-ui, sans-serif !important;
font-size: 1.56rem !important;
font-weight: 500 !important;
line-height: 1.16 !important;
letter-spacing: -0.06em !important;
text-transform: none !important;

transition:
color 0.22s ease,
transform 0.28s cubic-bezier(.16, 1, .3, 1) !important;
}

#tm-dialog #module-menu-dialog .uk-nav > li > a:hover,
#tm-dialog #module-menu-dialog .uk-nav > li.uk-active > a,
#tm-dialog #module-menu-dialog .uk-nav > li.ac-menu-open > a {
color: #ECE6DB !important;
transform: translateX(5px) !important;
}

/* Voce con sottomenu: simbolo + */
#tm-dialog #module-menu-dialog .uk-nav > li.uk-parent > a::after {
content: "+" !important;

position: absolute !important;
top: 50% !important;
right: 0 !important;

width: 28px !important;
height: 28px !important;

display: flex !important;
align-items: center !important;
justify-content: center !important;

color: #B7512E !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 1.25rem !important;
font-weight: 500 !important;
line-height: 1 !important;

transform: translateY(-50%) !important;

transition: transform 0.32s cubic-bezier(.16, 1, .3, 1) !important;
}

#tm-dialog #module-menu-dialog .uk-nav > li.uk-parent.ac-menu-open > a::after {
content: "–" !important;
transform: translateY(-50%) rotate(180deg) !important;
}

/* Sottomenu chiusi di default */
#tm-dialog #module-menu-dialog .uk-nav-sub {
display: block !important;

max-height: 0 !important;
overflow: hidden !important;

margin: 0 !important;
padding: 0 0 0 1rem !important;

border-left: 1px solid rgba(183, 81, 46, 0.38) !important;

opacity: 0 !important;
transform: translateY(-6px) !important;

transition:
max-height 0.42s cubic-bezier(.16, 1, .3, 1),
opacity 0.26s ease,
transform 0.34s cubic-bezier(.16, 1, .3, 1),
padding-top 0.32s ease,
padding-bottom 0.32s ease !important;
}

/* Sottomenu aperto */
#tm-dialog #module-menu-dialog .uk-nav > li.ac-menu-open > .uk-nav-sub {
max-height: 520px !important;

padding-top: 0.34rem !important;
padding-bottom: 0.95rem !important;

opacity: 1 !important;
transform: translateY(0) !important;
}

/* Sottovoci */
#tm-dialog #module-menu-dialog .uk-nav-sub a {
display: block !important;

padding: 0.34rem 0 !important;

color: rgba(236, 230, 219, 0.42) !important;

font-family: Inter, system-ui, sans-serif !important;
font-size: 0.86rem !important;
font-weight: 500 !important;
line-height: 1.42 !important;
letter-spacing: -0.01em !important;
text-transform: none !important;

transition:
color 0.22s ease,
transform 0.25s cubic-bezier(.16, 1, .3, 1) !important;
}

#tm-dialog #module-menu-dialog .uk-nav-sub a:hover,
#tm-dialog #module-menu-dialog .uk-nav-sub li.uk-active > a {
color: #ECE6DB !important;
transform: translateX(4px) !important;
}

/* Link prenota/shop più evidenti */
#tm-dialog #module-menu-dialog .uk-nav > li > a[href*="shop"],
#tm-dialog #module-menu-dialog .uk-nav > li > a[href*="prenota"],
#tm-dialog #module-menu-dialog .uk-nav > li > a[href*="booking"] {
color: #B7512E !important;
}

/* Tablet/mobile del pannello desktop */
@media (max-width: 959px) {
#tm-dialog .uk-offcanvas-bar {
width: min(440px, 92vw) !important;
max-width: 92vw !important;
padding: 1.35rem 1.35rem 1.8rem !important;
}

#tm-dialog #module-menu-dialog {
margin-top: 2rem !important;
}

#tm-dialog #module-menu-dialog .uk-nav > li > a {
font-size: 1.26rem !important;
padding-top: 0.54rem !important;
padding-bottom: 0.54rem !important;
}

#tm-dialog #module-menu-dialog .uk-nav-sub a {
font-size: 0.78rem !important;
}
}
/* =========================================================
   FIX CLOSE MENU OFFCANVAS
   Toglie la X in mezzo e lascia solo quella in alto a destra
   ========================================================= */

/* Pulsante close corretto */
#tm-dialog .uk-offcanvas-close,
#tm-dialog .uk-modal-close-default,
#tm-dialog .uk-close.uk-offcanvas-close {
  position: absolute !important;
  top: 22px !important;
  right: 22px !important;
  left: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: none !important;
  z-index: 50 !important;

  width: 64px !important;
  height: 64px !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  background: rgba(236, 230, 219, 0.08) !important;
  border: 1px solid rgba(236, 230, 219, 0.16) !important;
  color: #ECE6DB !important;

  box-shadow: none !important;
}

/* Icona X dentro */
#tm-dialog .uk-offcanvas-close svg,
#tm-dialog .uk-modal-close-default svg,
#tm-dialog .uk-close.uk-offcanvas-close svg {
  width: 20px !important;
  height: 20px !important;
}

/* Hover */
#tm-dialog .uk-offcanvas-close:hover,
#tm-dialog .uk-modal-close-default:hover,
#tm-dialog .uk-close.uk-offcanvas-close:hover {
  background: rgba(236, 230, 219, 0.12) !important;
  color: #ffffff !important;
}

/* Nasconde eventuali close duplicati che finiscono nel contenuto */
#tm-dialog .uk-offcanvas-bar .uk-close:not(.uk-offcanvas-close),
#tm-dialog .uk-offcanvas-bar .uk-modal-close-default:not(.uk-offcanvas-close),
#tm-dialog #module-menu-dialog .uk-close,
#tm-dialog #module-menu-dialog .uk-modal-close-default {
  display: none !important;
}

/* Mobile */
@media (max-width: 959px) {
  #tm-dialog .uk-offcanvas-close,
  #tm-dialog .uk-modal-close-default,
  #tm-dialog .uk-close.uk-offcanvas-close {
    top: 18px !important;
    right: 18px !important;
    width: 54px !important;
    height: 54px !important;
  }

  #tm-dialog .uk-offcanvas-close svg,
  #tm-dialog .uk-modal-close-default svg,
  #tm-dialog .uk-close.uk-offcanvas-close svg {
    width: 18px !important;
    height: 18px !important;
  }
}


/* =========================================================
   ALPE CAMPO 2026 — MENU MOBILE DEFINITIVO FIX
   Target reale: #tm-dialog-mobile / #module-menu-dialog-mobile
   ========================================================= */

@media (max-width: 959px) {

  /* Modal sopra tutto */
  #tm-dialog-mobile {
    z-index: 2147483500 !important;
  }

  /* Pannello full screen */
  #tm-dialog-mobile .uk-modal-dialog {
    position: fixed !important;
    inset: 0 !important;

    display: block !important;

    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;

    margin: 0 !important;
    padding: 0 !important;

    background:
      radial-gradient(circle at 88% 46%, rgba(191, 192, 6, 0.12) 0%, rgba(191, 192, 6, 0.00) 36%),
      linear-gradient(155deg, #081008 0%, #142515 42%, #243D20 100%) !important;

    color: #ECE6DB !important;

    overflow: hidden !important;
  }

  /* Montagne grafiche come desktop */
  #tm-dialog-mobile .uk-modal-dialog::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;

    background-image:
      url("data:image/svg+xml,%3Csvg viewBox='0 0 400 420' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='-30,420 70,245 135,330 215,160 295,315 365,200 430,420' fill='rgba(127,139,118,0.13)'/%3E%3Cpolygon points='20,420 95,285 155,350 225,210 290,322 350,245 430,420' fill='rgba(67,88,75,0.18)'/%3E%3C/svg%3E") !important;

    background-size: 105% auto !important;
    background-position: right bottom !important;
    background-repeat: no-repeat !important;

    opacity: 0.9 !important;
    pointer-events: none !important;
  }

  /* Texture */
  #tm-dialog-mobile .uk-modal-dialog::after {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;

    background-image: url("/images/template-2026/texture/alpecampo-texture-topographic-bottom-left-no-bckg-op-10.png") !important;
    background-size: cover !important;
    background-position: right bottom !important;
    background-repeat: no-repeat !important;

    opacity: 0.14 !important;
    pointer-events: none !important;
  }

  /* Body: qui era il problema, YOOtheme lo centrava male */
  #tm-dialog-mobile .uk-modal-body {
    position: relative !important;
    z-index: 2 !important;

    display: block !important;

    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;

    margin: 0 !important;
    padding: 96px 28px 150px !important;

    box-sizing: border-box !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    -webkit-overflow-scrolling: touch !important;
  }

  /* Toglie il centraggio verticale automatico */
  #tm-dialog-mobile .uk-margin-auto,
  #tm-dialog-mobile .uk-margin-auto-vertical {
    margin: 0 !important;
  }

  #tm-dialog-mobile .uk-flex,
  #tm-dialog-mobile .uk-flex-column {
    display: block !important;
  }

  /* Logo nel menu mobile */
  #tm-dialog-mobile .uk-modal-body::before {
    content: "" !important;

    display: block !important;

    width: 116px !important;
    height: 118px !important;

    margin: 0 0 3.2rem 0 !important;

    background-image: url("/images/alpecampo-logo-white.svg") !important;
    background-size: contain !important;
    background-position: left top !important;
    background-repeat: no-repeat !important;

    opacity: 1 !important;
  }

  /* Nasconde eventuali social se presenti */
  #tm-dialog-mobile #module-tm-4 {
    display: none !important;
  }

  /* Menu */
  #tm-dialog-mobile #module-menu-dialog-mobile {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    position: relative !important;

    margin: 0 !important;
    padding: 0 !important;

    border-bottom: 1px solid rgba(236, 230, 219, 0.10) !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li > a {
    position: relative !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    padding: 0.62rem 3rem 0.62rem 0 !important;

    color: rgba(236, 230, 219, 0.58) !important;

    font-family: Manrope, system-ui, sans-serif !important;
    font-size: clamp(1.90rem, 9vw, 2.70rem) !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.065em !important;
    text-decoration: none !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li.uk-active > a,
  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li > a:hover,
  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li.ac-mobile-menu-open > a {
    color: #ECE6DB !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li > a[href*="shop"],
  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li > a[href*="prenota"],
  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li > a[href*="booking"],
  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li > a[href*="cart"] {
    color: #B7512E !important;
  }

  /* Plus accordion */
  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li.uk-parent > a::after {
    content: "+" !important;

    position: absolute !important;
    top: 50% !important;
    right: 0 !important;

    color: #B7512E !important;

    font-family: Inter, system-ui, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    transform: translateY(-50%) !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li.uk-parent.ac-mobile-menu-open > a::after {
    content: "–" !important;
  }

  /* Sottomenu chiusi */
  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav-sub {
    display: block !important;

    max-height: 0 !important;
    overflow: hidden !important;

    margin: 0 !important;
    padding: 0 0 0 1rem !important;

    border-left: 1px solid rgba(183, 81, 46, 0.40) !important;

    opacity: 0 !important;
    transform: translateY(-6px) !important;

    transition:
      max-height 0.42s cubic-bezier(.16, 1, .3, 1),
      opacity 0.26s ease,
      transform 0.34s cubic-bezier(.16, 1, .3, 1),
      padding-top 0.32s ease,
      padding-bottom 0.32s ease !important;
  }

  /* Sottomenu aperti */
  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li.ac-mobile-menu-open > .uk-nav-sub {
    max-height: 620px !important;

    padding-top: 0.28rem !important;
    padding-bottom: 0.78rem !important;

    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav-sub > li > a {
    display: block !important;

    padding: 0.36rem 0 !important;

    color: rgba(236, 230, 219, 0.50) !important;

    font-family: Inter, system-ui, sans-serif !important;
    font-size: 0.94rem !important;
    font-weight: 500 !important;
    line-height: 1.38 !important;
    letter-spacing: -0.01em !important;
    text-decoration: none !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav-sub > li > a:hover,
  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav-sub > li.uk-active > a {
    color: #ECE6DB !important;
  }

  /* Close */
  #tm-dialog-mobile .uk-modal-close-full,
  #tm-dialog-mobile .uk-modal-close-default,
  #tm-dialog-mobile .uk-close {
    position: fixed !important;

    top: 18px !important;
    right: 18px !important;
    left: auto !important;
    bottom: auto !important;

    width: 54px !important;
    height: 54px !important;
    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: rgba(236, 230, 219, 0.86) !important;
    background: rgba(236, 230, 219, 0.08) !important;

    border: 1px solid rgba(236, 230, 219, 0.16) !important;
    border-radius: 999px !important;

    transform: none !important;
    z-index: 50 !important;
  }

  #tm-dialog-mobile .uk-modal-close-full svg,
  #tm-dialog-mobile .uk-modal-close-default svg,
  #tm-dialog-mobile .uk-close svg {
    width: 18px !important;
    height: 18px !important;
  }

  /* Barra mobile sotto: non deve stare sopra al menu */
  body.uk-modal-page .ac-mobile-bar {
    display: none !important;
  }
}

@media (max-width: 420px) {

  #tm-dialog-mobile .uk-modal-body {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li > a {
    font-size: clamp(1.60rem, 8.6vw, 2.25rem) !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav-sub > li > a {
    font-size: 0.88rem !important;
  }
}

/* =========================================================
   MENU MOBILE — SPAZIATURA FINALE
   Voci più ariose, principali leggermente più piccole e sottomenu più leggibili
   ========================================================= */

@media (max-width: 959px) {

  #tm-dialog-mobile .uk-modal-dialog {
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
  }

  #tm-dialog-mobile .uk-modal-body {
    height: 100dvh !important;
    min-height: 100dvh !important;

    padding: 72px 28px 28px !important;

    overflow-y: hidden !important;
    overflow-x: hidden !important;
  }

  /* Logo più piccolo */
  #tm-dialog-mobile .uk-modal-body::before {
    width: 88px !important;
    height: 90px !important;
    margin-bottom: 1.55rem !important;
  }

  /* Voci principali: leggermente più piccole ma più ariose */
  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li > a {
    padding-top: 0.52rem !important;
    padding-bottom: 0.52rem !important;
    padding-right: 2.5rem !important;

    font-size: clamp(1.36rem, 5.8vw, 1.88rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.055em !important;
  }

  /* Linee più compatte */
  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li {
    border-bottom-color: rgba(236, 230, 219, 0.09) !important;
  }

  /* Plus più piccolo */
  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li.uk-parent > a::after {
    font-size: 1.45rem !important;
    right: 0.15rem !important;
  }

  /* Sottovoci più compatte */
  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav-sub {
    padding-left: 0.85rem !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav-sub > li > a {
    padding-top: 0.30rem !important;
    padding-bottom: 0.30rem !important;

    font-size: 0.84rem !important;
    line-height: 1.35 !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li.ac-mobile-menu-open > .uk-nav-sub {
    padding-top: 0.20rem !important;
    padding-bottom: 0.62rem !important;
  }

  /* X leggermente più piccola */
  #tm-dialog-mobile .uk-modal-close-full,
  #tm-dialog-mobile .uk-modal-close-default,
  #tm-dialog-mobile .uk-close {
    top: 16px !important;
    right: 16px !important;

    width: 48px !important;
    height: 48px !important;
  }
}

@media (max-width: 420px) {

  #tm-dialog-mobile .uk-modal-body {
    padding: 70px 24px 24px !important;
  }

  #tm-dialog-mobile .uk-modal-body::before {
    width: 82px !important;
    height: 84px !important;
    margin-bottom: 1.35rem !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav > li > a {
    font-size: clamp(1.28rem, 5.7vw, 1.68rem) !important;
    padding-top: 0.48rem !important;
    padding-bottom: 0.48rem !important;
  }

  #tm-dialog-mobile #module-menu-dialog-mobile .uk-nav-sub > li > a {
    font-size: 0.80rem !important;
  }
}

/* =========================================================
   FIX MOBILE TOOLBAR — più sottile
   ========================================================= */

@media (max-width: 959px) {

  /* Barra mobile più bassa */
  .tm-header-mobile .uk-navbar-container {
    min-height: 64px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .tm-header-mobile .uk-navbar {
    min-height: 64px !important;
  }

  .tm-header-mobile .uk-navbar-left,
  .tm-header-mobile .uk-navbar-right {
    min-height: 64px !important;
  }

  .tm-header-mobile .uk-navbar-item,
  .tm-header-mobile .uk-navbar-toggle {
    min-height: 64px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Logo mobile più compatto */
  .tm-header-mobile .uk-logo {
    min-height: 64px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .tm-header-mobile .uk-logo img,
  .tm-header-mobile .uk-logo svg {
    max-height: 46px !important;
    width: auto !important;
  }

  /* Hamburger più compatto */
  .tm-header-mobile .uk-navbar-toggle {
    width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 999px !important;
  }

  .tm-header-mobile .uk-navbar-toggle svg {
    width: 24px !important;
    height: 24px !important;
  }

  /* Container interno senza troppo respiro verticale */
  .tm-header-mobile .uk-container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* =========================================================
   ALPE CAMPO 2026 — DESKTOP HEADER SHRINK PULITO
   Desktop: alto e trasparente in apertura hero.
   Allo scroll: più basso e scuro #232324.
   Non tocca mobile.
   ========================================================= */

@media (min-width: 960px) {

  .tm-header {
    z-index: 9999 !important;
  }

  /* Barra desktop normale all'apertura */
  .tm-header .uk-navbar-container {
    min-height: 104px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    transition:
      min-height 0.42s cubic-bezier(.16, 1, .3, 1),
      background-color 0.42s cubic-bezier(.16, 1, .3, 1),
      border-color 0.42s ease,
      box-shadow 0.42s ease,
      backdrop-filter 0.42s ease !important;
  }

  .tm-header .uk-navbar {
    min-height: 104px !important;

    transition:
      min-height 0.42s cubic-bezier(.16, 1, .3, 1) !important;
  }

  .tm-header .uk-navbar-left,
  .tm-header .uk-navbar-right,
  .tm-header .uk-navbar-item,
  .tm-header .uk-navbar-toggle {
    min-height: 104px !important;

    transition:
      min-height 0.42s cubic-bezier(.16, 1, .3, 1),
      height 0.42s cubic-bezier(.16, 1, .3, 1),
      width 0.42s cubic-bezier(.16, 1, .3, 1),
      padding 0.42s cubic-bezier(.16, 1, .3, 1) !important;
  }

  /* Quando è sopra la hero: trasparente */
  .tm-header.tm-header-overlay .uk-navbar-container.uk-navbar-transparent {
    background: transparent !important;
    background-color: transparent !important;

    border-bottom-color: transparent !important;
    box-shadow: none !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Quando scrolli: si assottiglia e diventa scura */
  .tm-header .uk-navbar-container.uk-navbar-sticky {
    min-height: 72px !important;

    background: rgba(35, 35, 36, 0.94) !important;
    background-color: rgba(35, 35, 36, 0.94) !important;

    border-bottom: 1px solid rgba(236, 230, 219, 0.08) !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.16) !important;

    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
  }

  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-navbar {
    min-height: 72px !important;
  }

  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-navbar-left,
  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-navbar-right,
  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-navbar-item,
  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-navbar-toggle {
    min-height: 72px !important;
  }

  /* Logo desktop: normale in apertura */
  .tm-header .uk-logo img,
  .tm-header .uk-logo svg {
    max-height: 58px !important;
    width: auto !important;

    transition:
      max-height 0.42s cubic-bezier(.16, 1, .3, 1),
      transform 0.42s cubic-bezier(.16, 1, .3, 1) !important;
  }

  /* Logo più piccolo allo scroll */
  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-logo img,
  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-logo svg {
    max-height: 44px !important;
  }

  /* Bottone prenota desktop */
  .tm-header #module-138 .uk-button,
  .tm-header .uk-navbar-right .uk-button {
    min-height: 46px !important;
    padding: 0.82em 1.55em !important;

    border-radius: 999px !important;

    transition:
      min-height 0.42s cubic-bezier(.16, 1, .3, 1),
      padding 0.42s cubic-bezier(.16, 1, .3, 1),
      font-size 0.42s cubic-bezier(.16, 1, .3, 1),
      transform 0.25s cubic-bezier(.16, 1, .3, 1) !important;
  }

  .tm-header .uk-navbar-container.uk-navbar-sticky #module-138 .uk-button,
  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-navbar-right .uk-button {
    min-height: 38px !important;
    padding: 0.68em 1.25em !important;
    font-size: 0.66rem !important;
  }

  /* Hamburger desktop */
  .tm-header .uk-navbar-toggle {
    position: relative !important;

    width: 58px !important;
    height: 58px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;

    border-radius: 999px !important;
    border: 1px solid rgba(236, 230, 219, 0.22) !important;
    background: rgba(236, 230, 219, 0.08) !important;
    color: #ECE6DB !important;

    overflow: visible !important;
  }

  .tm-header .uk-navbar-toggle svg {
    width: 28px !important;
    height: 28px !important;

    transition:
      width 0.42s cubic-bezier(.16, 1, .3, 1),
      height 0.42s cubic-bezier(.16, 1, .3, 1) !important;
  }

  

  /* Hamburger più piccolo allo scroll */
  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-navbar-toggle {
    width: 48px !important;
    height: 48px !important;
  }

  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-navbar-toggle svg {
    width: 24px !important;
    height: 24px !important;
  }


}

/* =========================================================
   FIX DEFINITIVO HAMBURGER DESKTOP
   Solo 3 linee: niente cerchio, niente pallino, niente fondo
   ========================================================= */

@media (min-width: 960px) {

  .tm-header .uk-navbar-toggle,
  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-navbar-toggle {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;

    padding-left: 14px !important;
    padding-right: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    color: #ECE6DB !important;
  }

  .tm-header .uk-navbar-toggle:hover,
  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-navbar-toggle:hover {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .tm-header .uk-navbar-toggle::before,
  .tm-header .uk-navbar-toggle::after,
  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-navbar-toggle::before,
  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-navbar-toggle::after {
    content: none !important;
    display: none !important;
  }

  .tm-header .uk-navbar-toggle svg,
  .tm-header .uk-navbar-container.uk-navbar-sticky .uk-navbar-toggle svg {
    width: 30px !important;
    height: 30px !important;
  }
}
/* =========================================================
   FIX DEFINITIVO HAMBURGER MOBILE — CENTRATURA REALE
   Da lasciare come ULTIMO blocco del custom.css
   ========================================================= */

@media (max-width: 959px) {

  header.tm-header-mobile .uk-navbar-container,
  header.tm-header-mobile .uk-navbar,
  header.tm-header-mobile .uk-navbar-left,
  header.tm-header-mobile .uk-navbar-right {
    height: 76px !important;
    min-height: 76px !important;
  }

  header.tm-header-mobile .uk-logo,
  header.tm-header-mobile .uk-navbar-item {
    height: 76px !important;
    min-height: 76px !important;
    display: flex !important;
    align-items: center !important;
  }

  header.tm-header-mobile .uk-logo img {
    max-height: 50px !important;
    width: auto !important;
  }

  header.tm-header-mobile .uk-navbar-right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  header.tm-header-mobile a.uk-navbar-toggle[href="#tm-dialog-mobile"] {
    position: relative !important;

    width: 54px !important;
    height: 76px !important;
    min-height: 76px !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    color: #ECE6DB !important;
  }

  header.tm-header-mobile a.uk-navbar-toggle[href="#tm-dialog-mobile"] > div,
  header.tm-header-mobile a.uk-navbar-toggle[href="#tm-dialog-mobile"] .uk-navbar-toggle-icon,
  header.tm-header-mobile a.uk-navbar-toggle[href="#tm-dialog-mobile"] .uk-icon {
    position: absolute !important;

    top: 50% !important;
    left: 50% !important;

    display: block !important;

    width: 30px !important;
    height: 30px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translate(-50%, -50%) !important;
  }

  header.tm-header-mobile a.uk-navbar-toggle[href="#tm-dialog-mobile"] svg {
    position: absolute !important;

    top: 50% !important;
    left: 50% !important;

    display: block !important;

    width: 30px !important;
    height: 30px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translate(-50%, -50%) !important;
  }

  header.tm-header-mobile a.uk-navbar-toggle[href="#tm-dialog-mobile"]::before,
  header.tm-header-mobile a.uk-navbar-toggle[href="#tm-dialog-mobile"]::after {
    content: none !important;
    display: none !important;
  }
}


/* =========================================================
   ALPE CAMPO - JB ADVANCED CART
   Mobile + desktop: icona leggibile + dropdown leggibile
   ========================================================= */

/* MOBILE */
@media (max-width: 959px) {

  /*
   * Modulo carrello mobile
   */
  .tm-header-mobile #module-132,
  .tm-header-mobile #jbDropDownContainer132,
  .tm-header-mobile #module-132 .jb-dropdown-cart {
    position: relative;
    z-index: 10000;
  }

  /*
   * Icona busta bianca
   */
  .tm-header-mobile #module-132 .jb-cart-icon,
  .tm-header-mobile #module-132 .jb-cart-icon i,
  .tm-header-mobile #module-132 .jb-cart-icon .fa,
  .tm-header-mobile #module-132 .fa-shopping-bag {
    color: #ffffff !important;
  }

  .tm-header-mobile #module-132 .jb-cart-icon .fa,
  .tm-header-mobile #module-132 .fa-shopping-bag {
    font-size: 22px !important;
    line-height: 1 !important;
  }

  /*
   * Contatore prodotti
   */
  .tm-header-mobile #module-132 .jb-cart-count {
    background: #B7512E !important;
    color: #ffffff !important;

    font-size: 11px !important;
    font-weight: 800 !important;

    min-width: 22px;
    height: 22px;
    line-height: 22px;

    border-radius: 999px;
    text-align: center;
  }

  /*
   * Titolo e summary nel carrellino mobile
   */
  .tm-header-mobile #module-132 .jb-cart-headding,
  .tm-header-mobile #module-132 .jb-cart-summary,
  .tm-header-mobile #module-132 .jb-cart-summary .caret {
    color: #ffffff !important;
  }

  /*
   * Box dropdown carrello
   */
  .tm-header-mobile #module-132 .jb-cart-list {
    background: #ffffff !important;
    color: #111111 !important;

    width: 270px !important;
    right: 0 !important;
    left: auto !important;
    top: 34px !important;

    padding: 14px !important;
    border-radius: 6px;
    border: 1px solid rgba(0,0,0,0.16);

    box-shadow: 0 10px 28px rgba(0,0,0,0.28);
    box-sizing: border-box;
  }

  /*
   * Testo carrello vuoto
   */
  .tm-header-mobile #module-132 .jb-cart-list .no-product {
    color: #111111 !important;
    background: #ffffff !important;

    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;

    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /*
   * Testi interni carrello
   */
  .tm-header-mobile #module-132 .jb-cart-list,
  .tm-header-mobile #module-132 .jb-cart-list * {
    color: #111111;
  }

  .tm-header-mobile #module-132 .jb-cart-title a {
    color: #111111 !important;
  }

  .tm-header-mobile #module-132 .jb-cart-quantity,
  .tm-header-mobile #module-132 .jb-cart-total,
  .tm-header-mobile #module-132 .jb-cart-summary {
    color: #111111 !important;
  }

  .tm-header-mobile #module-132 .jb-cart-price {
    color: #B7512E !important;
    font-weight: 800 !important;
  }

  /*
   * Pulsanti dentro il carrello
   */
  .tm-header-mobile #module-132 .jb-cart-button .btn,
  .tm-header-mobile #module-132 .jb-cart-button a.btn {
    color: #ffffff !important;
    background: #B7512E !important;
    border-color: #B7512E !important;
  }

  .tm-header-mobile #module-132 .jb-cart-button .btn:hover,
  .tm-header-mobile #module-132 .jb-cart-button a.btn:hover {
    color: #ffffff !important;
    background: #9F4327 !important;
    border-color: #9F4327 !important;
  }

}


/* DESKTOP */
@media (min-width: 960px) {

  /*
   * Modulo carrello desktop
   */
  .tm-header #module-137,
  .tm-header #jbDropDownContainer137,
  .tm-header #module-137 .jb-dropdown-cart {
    position: relative;
    z-index: 10000;
  }

  /*
   * Icona carrello desktop leggibile
   */
  .tm-header #module-137 .jb-cart-icon,
  .tm-header #module-137 .jb-cart-icon i,
  .tm-header #module-137 .jb-cart-icon .fa,
  .tm-header #module-137 .jb-cart-icon svg,
  .tm-header #module-137 .jb-cart-icon svg *,
  .tm-header #module-137 .fa-shopping-bag {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
  }

  .tm-header.uk-navbar-sticky #module-137 .jb-cart-icon,
  .tm-header.uk-navbar-sticky #module-137 .jb-cart-icon i,
  .tm-header.uk-navbar-sticky #module-137 .jb-cart-icon .fa,
  .tm-header.uk-navbar-sticky #module-137 .jb-cart-icon svg,
  .tm-header.uk-navbar-sticky #module-137 .jb-cart-icon svg *,
  .tm-header.uk-navbar-sticky #module-137 .fa-shopping-bag,
  .tm-header .uk-navbar-sticky #module-137 .jb-cart-icon,
  .tm-header .uk-navbar-sticky #module-137 .jb-cart-icon i,
  .tm-header .uk-navbar-sticky #module-137 .jb-cart-icon .fa,
  .tm-header .uk-navbar-sticky #module-137 .jb-cart-icon svg,
  .tm-header .uk-navbar-sticky #module-137 .jb-cart-icon svg *,
  .tm-header .uk-navbar-sticky #module-137 .fa-shopping-bag {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
  }

  .tm-header #module-137 .jb-cart-count {
    background: #B7512E !important;
    color: #ffffff !important;
  }

  .tm-header #module-137 .jb-cart-list {
    background: #ffffff !important;
    color: #111111 !important;

    width: 270px !important;
    right: 0 !important;
    left: auto !important;

    padding: 14px !important;
    border-radius: 6px;
    border: 1px solid rgba(0,0,0,0.16);

    box-shadow: 0 10px 28px rgba(0,0,0,0.24);
    box-sizing: border-box;
  }

  .tm-header #module-137 .jb-cart-list .no-product {
    color: #111111 !important;
    background: #ffffff !important;

    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;

    padding: 0 !important;
    margin: 0 !important;
  }

  .tm-header #module-137 .jb-cart-list,
  .tm-header #module-137 .jb-cart-list * {
    color: #111111;
  }

  .tm-header #module-137 .jb-cart-price {
    color: #B7512E !important;
    font-weight: 800 !important;
  }

}

/* =========================================================
   TOP BAR DESKTOP — BOTTONI PRENOTA / TELEFONO / INFO
   Classe sul gruppo bottoni: ac-topbar-buttons
   Nota: hover senza movimento e senza ombra.
   ========================================================= */

@media (min-width: 960px) {

  .tm-header #module-138 .ac-topbar-buttons {
    margin: 0 !important;
    padding: 0 !important;
  }

  .tm-header #module-138 .ac-topbar-buttons > .uk-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .tm-header #module-138 .ac-topbar-buttons > .uk-grid > .el-item {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .tm-header #module-138 .ac-topbar-buttons .uk-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 42px !important;
    min-height: 42px !important;

    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    border-radius: 999px !important;
    border-color: transparent !important;

    line-height: 1 !important;
    white-space: nowrap !important;

    box-shadow: none !important;
    outline: none !important;
    transform: none !important;

    transition:
      background-color 0.22s ease,
      color 0.22s ease,
      border-color 0.22s ease !important;
  }

  /* Bottone PRENOTA */
  .tm-header #module-138 .ac-topbar-buttons .uk-button-danger,
  .tm-header #module-138 .ac-topbar-buttons .uk-button-primary {
    padding-left: 1.65rem !important;
    padding-right: 1.65rem !important;

    background: #B7512E !important;
    color: #ECE6DB !important;

    font-size: 0.82rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.07em !important;
  }

  /* Bottoni tondi telefono / info */
  .tm-header #module-138 .ac-topbar-buttons .uk-button-secondary {
    width: 42px !important;
    min-width: 42px !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    background: #43584B !important;
    color: #ECE6DB !important;
  }

  /* Icone */
  .tm-header #module-138 .ac-topbar-buttons .uk-icon,
  .tm-header #module-138 .ac-topbar-buttons [uk-icon],
  .tm-header #module-138 .ac-topbar-buttons svg {
    width: 19px !important;
    height: 19px !important;
  }

  /* Hover: ogni bottone si scurisce mantenendo il proprio colore */
  .tm-header #module-138 .ac-topbar-buttons .uk-button-danger:hover,
  .tm-header #module-138 .ac-topbar-buttons .uk-button-danger:focus,
  .tm-header #module-138 .ac-topbar-buttons .uk-button-danger:active,
  .tm-header #module-138 .ac-topbar-buttons .uk-button-primary:hover,
  .tm-header #module-138 .ac-topbar-buttons .uk-button-primary:focus,
  .tm-header #module-138 .ac-topbar-buttons .uk-button-primary:active {
    background: #9F4327 !important;
    color: #ECE6DB !important;
    border-color: transparent !important;
    transform: none !important;
    box-shadow: none !important;
    outline: none !important;
  }

  .tm-header #module-138 .ac-topbar-buttons .uk-button-secondary:hover,
  .tm-header #module-138 .ac-topbar-buttons .uk-button-secondary:focus,
  .tm-header #module-138 .ac-topbar-buttons .uk-button-secondary:active {
    background: #34463B !important;
    color: #ECE6DB !important;
    border-color: transparent !important;
    transform: none !important;
    box-shadow: none !important;
    outline: none !important;
  }

  /* Elimina cerchi / pseudo-elementi strani */
  .tm-header #module-138 .ac-topbar-buttons .uk-button::before,
  .tm-header #module-138 .ac-topbar-buttons .uk-button::after,
  .tm-header #module-138 .ac-topbar-buttons .uk-button:hover::before,
  .tm-header #module-138 .ac-topbar-buttons .uk-button:hover::after,
  .tm-header #module-138 .ac-topbar-buttons .uk-button:focus::before,
  .tm-header #module-138 .ac-topbar-buttons .uk-button:focus::after,
  .tm-header #module-138 .ac-topbar-buttons .uk-button:active::before,
  .tm-header #module-138 .ac-topbar-buttons .uk-button:active::after {
    content: none !important;
    display: none !important;
  }

  .tm-header #module-138 .ac-topbar-buttons .uk-button:hover svg,
  .tm-header #module-138 .ac-topbar-buttons .uk-button:focus svg,
  .tm-header #module-138 .ac-topbar-buttons .uk-button:active svg {
    color: #ECE6DB !important;
    stroke: #ECE6DB !important;
  }
}

/* =========================================================
   ALPE CAMPO 2026 — CLASSI SPECIALI INTERNE PULITE
   Home intoccata: queste classi valgono solo quando le assegni nel Builder.
   Le card standard Default / Primary / Secondary restano gestite dal LESS.
   ========================================================= */

/* ---------------------------------------------------------
   TEXTURE UTILITY — da usare sulle Section
   --------------------------------------------------------- */

.ac-texture-dormire {
  background-image: url("/images/template-2026/texture/alpecampo-texture-topographic-top-right-no-bckg-wider-op-10.png") !important;
  background-size: cover !important;
  background-position: right top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

.ac-texture-mappa {
  background-image: url("/images/template-2026/texture/alpecampo-texture-topographic-bottom-left-no-bckg-op-10.png") !important;
  background-size: cover !important;
  background-position: right top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

.ac-texture-brown {
  background-color: #A77A55 !important;
  background-image: url("/images/template-2026/texture/alpecampo-texture-topographic-bottom-left-no-bckg-op-10.png") !important;
  background-size: cover !important;
  background-position: right top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

@media (max-width: 959px) {
  .ac-texture-dormire,
  .ac-texture-mappa,
  .ac-texture-brown {
    background-attachment: scroll !important;
  }
}

/* ---------------------------------------------------------
   ac-grid-hover-soft
   Classe neutra da mettere sul Grid.
   Aggiunge solo animazione/rollover morbido.
   Non cambia colori, font, dimensioni testi o stile card del Builder.
   --------------------------------------------------------- */

.ac-grid-hover-soft .uk-card {
  position: relative !important;
  overflow: hidden !important;

  transform: translateY(0) !important;

  transition:
    transform 0.30s cubic-bezier(.16, 1, .3, 1),
    border-color 0.30s ease,
    background-color 0.30s ease !important;

  will-change: transform !important;
}

.ac-grid-hover-soft .uk-card:hover {
  transform: translateY(-4px) !important;
}

.ac-grid-hover-soft .uk-card-media-top,
.ac-grid-hover-soft .uk-card-media-bottom,
.ac-grid-hover-soft .uk-inline-clip {
  overflow: hidden !important;
}

.ac-grid-hover-soft .uk-card-media-top img,
.ac-grid-hover-soft .uk-card-media-bottom img,
.ac-grid-hover-soft .uk-card img.el-image {
  transform: scale(1) !important;

  transition:
    transform 0.60s cubic-bezier(.16, 1, .3, 1),
    filter 0.30s ease !important;

  will-change: transform !important;
}

.ac-grid-hover-soft .uk-card:hover .uk-card-media-top img,
.ac-grid-hover-soft .uk-card:hover .uk-card-media-bottom img,
.ac-grid-hover-soft .uk-card:hover img.el-image {
  transform: scale(1.055) !important;
}

.ac-grid-hover-soft .uk-card .uk-button-text,
.ac-grid-hover-soft .uk-card .el-link.uk-button-text {
  transition:
    color 0.22s ease,
    gap 0.22s cubic-bezier(.16, 1, .3, 1) !important;
}

.ac-grid-hover-soft .uk-card:hover .uk-button-text,
.ac-grid-hover-soft .uk-card:hover .el-link.uk-button-text {
  gap: 0.65em !important;
}

@media (max-width: 959px) {
  .ac-grid-hover-soft .uk-card:hover {
    transform: none !important;
  }

  .ac-grid-hover-soft .uk-card:hover .uk-card-media-top img,
  .ac-grid-hover-soft .uk-card:hover .uk-card-media-bottom img,
  .ac-grid-hover-soft .uk-card:hover img.el-image {
    transform: scale(1.025) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ac-grid-hover-soft .uk-card,
  .ac-grid-hover-soft .uk-card img {
    transition: none !important;
    transform: none !important;
  }
}


/* ---------------------------------------------------------
   ac-bg-montagna
   Sfondo tipo “Una montagna da esplorare, vivere, ritrovare”
   Da mettere sulla Section.
   --------------------------------------------------------- */

.ac-bg-montagna {
  position: relative !important;
  overflow: hidden !important;

  background:
    radial-gradient(
      circle at 82% 50%,
      rgba(191, 192, 6, 0.18) 0%,
      rgba(191, 192, 6, 0.10) 18%,
      rgba(191, 192, 6, 0.00) 48%
    ),
    linear-gradient(
      90deg,
      #43584B 0%,
      #4A6252 42%,
      #5B714E 72%,
      #6B7D4D 100%
    ) !important;
}

.ac-bg-montagna > .uk-container {
  position: relative !important;
  z-index: 2 !important;
}

/* ---------------------------------------------------------
   ac-block-liberta
   Blocco tipo “La libertà inizia quassù” / griglia stile mappa.
   Da mettere sulla Section.
   Numeri di sfondo rimossi.
   --------------------------------------------------------- */

.ac-block-liberta {
  position: relative !important;
  overflow: hidden !important;

  background-color: #232324 !important;
  background-image: url("/images/template-2026/texture/alpecampo-texture-topographic-bottom-left-no-bckg-op-10.png") !important;
  background-size: cover !important;
  background-position: right top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;

  color: rgba(236, 230, 219, 0.62) !important;
}

.ac-block-liberta > .uk-container {
  position: relative !important;
  z-index: 1 !important;
}

.ac-block-liberta .uk-margin > .uk-grid.uk-grid-match,
.ac-block-liberta .uk-grid.uk-grid-match {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: 1fr !important;

  gap: 1px !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 2.8rem 0 0 0 !important;
  padding: 0 !important;

  border: 1px solid rgba(236, 230, 219, 0.075) !important;
  border-radius: 28px !important;
  overflow: hidden !important;

  background: transparent !important;
}

.ac-block-liberta .uk-grid.uk-grid-match > div {
  display: block !important;

  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}

.ac-block-liberta .uk-grid.uk-grid-match > div > .el-item {
  height: 100% !important;
  min-height: 0 !important;
}

.ac-block-liberta .uk-card {
  position: relative !important;

  display: block !important;
  height: 100% !important;
  min-height: 210px !important;

  padding: 1.7rem 1.5rem !important;

  background-color: transparent !important;
  background-image: none !important;

  border: 1px solid rgba(236, 230, 219, 0.075) !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  overflow: hidden !important;

  color: rgba(236, 230, 219, 0.48) !important;

  transition:
    background-color 0.28s ease,
    transform 0.28s cubic-bezier(.16, 1, .3, 1),
    border-color 0.28s ease !important;
}

.ac-block-liberta .uk-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;

  background:
    linear-gradient(
      135deg,
      rgba(183, 81, 46, 0.24) 0%,
      rgba(191, 192, 6, 0.08) 38%,
      rgba(236, 230, 219, 0.04) 58%,
      transparent 72%
    ) !important;

  opacity: 0 !important;
  transition: opacity 0.28s ease !important;

  pointer-events: none !important;
  z-index: 0 !important;
}

/* Niente numeri di sfondo */
.ac-block-liberta .uk-card::after {
  content: none !important;
  display: none !important;
}

.ac-block-liberta .uk-card > * {
  position: relative !important;
  z-index: 2 !important;
}

.ac-block-liberta .uk-card:hover {
  background-color: rgba(236, 230, 219, 0.085) !important;
  border-color: rgba(236, 230, 219, 0.075) !important;
  transform: translateY(-3px) !important;
  box-shadow: none !important;
}

.ac-block-liberta .uk-card:hover::before {
  opacity: 1 !important;
}

.ac-block-liberta .uk-card .el-image,
.ac-block-liberta .uk-card [uk-icon],
.ac-block-liberta .uk-card svg {
  color: #B7512E !important;
  transform: none !important;
  transition: none !important;
}

.ac-block-liberta .uk-card:hover .el-image,
.ac-block-liberta .uk-card:hover [uk-icon],
.ac-block-liberta .uk-card:hover svg {
  transform: none !important;
}

.ac-block-liberta .uk-card .el-title,
.ac-block-liberta .uk-card .uk-card-title,
.ac-block-liberta .uk-card h1,
.ac-block-liberta .uk-card h2,
.ac-block-liberta .uk-card h3,
.ac-block-liberta .uk-card h4,
.ac-block-liberta .uk-card h5,
.ac-block-liberta .uk-card h6 {
  margin-top: 0.75rem !important;
  margin-bottom: 0.25rem !important;

  color: #ffffff !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.28 !important;
  letter-spacing: -0.02em !important;
}

.ac-block-liberta .uk-card .el-content,
.ac-block-liberta .uk-card .uk-panel {
  margin-top: 0.35rem !important;

  color: rgba(236, 230, 219, 0.43) !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

.ac-block-liberta .uk-card .el-content::after {
  content: "Scopri →" !important;

  display: inline-flex !important;

  margin-top: 0.75rem !important;

  color: #B7512E !important;

  font-size: 10.5px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;

  opacity: 0 !important;
  transform: translate(-8px, 4px) !important;

  transition:
    opacity 0.22s ease,
    transform 0.28s cubic-bezier(.16, 1, .3, 1) !important;
}

.ac-block-liberta .uk-card:hover .el-content::after {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}

@media (max-width: 959px) {
  .ac-block-liberta {
    background-attachment: scroll !important;
  }

  .ac-block-liberta .uk-margin > .uk-grid.uk-grid-match,
  .ac-block-liberta .uk-grid.uk-grid-match {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1px !important;
  }

  .ac-block-liberta .uk-card {
    min-height: 165px !important;
    padding: 1.15rem 0.95rem !important;
  }

  .ac-block-liberta .uk-card .el-title,
  .ac-block-liberta .uk-card .uk-card-title,
  .ac-block-liberta .uk-card h1,
  .ac-block-liberta .uk-card h2,
  .ac-block-liberta .uk-card h3,
  .ac-block-liberta .uk-card h4,
  .ac-block-liberta .uk-card h5,
  .ac-block-liberta .uk-card h6 {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  .ac-block-liberta .uk-card .el-content,
  .ac-block-liberta .uk-card .uk-panel {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 480px) {
  .ac-block-liberta .uk-card {
    min-height: 158px !important;
    padding: 1rem 0.85rem !important;
  }

  .ac-block-liberta .uk-card .el-content::after {
    display: none !important;
  }
}

/* ---------------------------------------------------------
   ac-block-dormire
   Blocco completo tipo “Tra relax e cieli stellati”.
   Da mettere sulla Section.
   --------------------------------------------------------- */

.ac-block-dormire {
  position: relative !important;
  overflow: hidden !important;

  padding-top: clamp(4rem, 8vw, 7rem) !important;
  padding-bottom: clamp(4rem, 8vw, 7rem) !important;

  background-color: #43584B !important;
  background-image: url("/images/template-2026/texture/alpecampo-texture-topographic-top-right-no-bckg-wider-op-10.png") !important;
  background-size: cover !important;
  background-position: right top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

.ac-block-dormire > .uk-container {
  position: relative !important;
  z-index: 2 !important;
}

.ac-block-dormire .uk-heading-bullet {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.6em !important;

  margin-bottom: 0.85rem !important;

  color: #BFC006 !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.67rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}

.ac-block-dormire .uk-heading-bullet::before {
  width: 22px !important;
  height: 1.5px !important;
  margin-right: 0 !important;

  background: currentColor !important;
  border: 0 !important;
}

.ac-block-dormire .uk-heading-small,
.ac-block-dormire .uk-heading-medium {
  max-width: 680px !important;

  margin-top: 0.7rem !important;
  margin-bottom: 0 !important;

  color: #ECE6DB !important;

  font-family: Manrope, system-ui, sans-serif !important;
  font-size: clamp(2.35rem, 5vw, 4.1rem) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.07em !important;
}

.ac-block-dormire .uk-heading-small em,
.ac-block-dormire .uk-heading-medium em {
  color: #ECE6DB !important;

  font-family: Manrope, system-ui, sans-serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: -0.06em !important;
}

.ac-block-dormire .uk-panel.uk-text-lead,
.ac-block-dormire .uk-panel.uk-width-xlarge {
  max-width: 560px !important;

  margin-top: 1.05rem !important;
  margin-bottom: 2.8rem !important;

  color: rgba(236, 230, 219, 0.76) !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.98rem !important;
  font-weight: 500 !important;
  line-height: 1.78 !important;
}

.ac-block-dormire .uk-panel.uk-text-lead p,
.ac-block-dormire .uk-panel.uk-width-xlarge p {
  margin: 0 !important;
}

.ac-block-dormire .uk-margin > .uk-grid.uk-grid-match,
.ac-block-dormire .uk-grid.uk-grid-match {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 1.1rem !important;

  width: 100% !important;

  margin: 2.8rem 0 0 0 !important;
  padding: 0 !important;
}

.ac-block-dormire .uk-grid.uk-grid-match > div {
  display: flex !important;

  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}

.ac-block-dormire .uk-grid.uk-grid-match > div > .el-item {
  display: flex !important;
  width: 100% !important;
}

.ac-block-dormire .uk-card {
  position: relative !important;

  display: flex !important;
  flex-direction: column !important;

  width: 100% !important;
  height: 100% !important;
  min-height: 540px !important;

  overflow: hidden !important;

  background: #ECE6DB !important;
  border: 0 !important;
  border-radius: 26px !important;

  box-shadow: 0 14px 45px rgba(35, 35, 36, 0.10) !important;

  transform: translateY(0) !important;
  transform-style: preserve-3d !important;
  will-change: transform !important;

  transition:
    transform 0.34s cubic-bezier(.16, 1, .3, 1),
    box-shadow 0.34s ease !important;
}

.ac-block-dormire .uk-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 24px 70px rgba(35, 35, 36, 0.22) !important;
}

.ac-block-dormire .uk-card-media-top {
  position: relative !important;

  flex: 0 0 245px !important;

  width: 100% !important;
  height: 245px !important;

  overflow: hidden !important;
}

.ac-block-dormire .uk-card-media-top .uk-inline-clip {
  width: 100% !important;
  height: 100% !important;
}

.ac-block-dormire .uk-card-media-top img {
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center !important;

  transform: scale(1) !important;

  transition:
    transform 0.65s cubic-bezier(.16, 1, .3, 1),
    filter 0.30s ease !important;
}

.ac-block-dormire .uk-card:hover .uk-card-media-top img {
  transform: scale(1.055) !important;
}

.ac-block-dormire .uk-card-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;

  padding: 1.65rem 1.55rem 1.75rem !important;

  background: transparent !important;
}

.ac-block-dormire .el-meta {
  position: absolute !important;
  top: 1rem !important;
  right: 1rem !important;
  z-index: 8 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  max-width: calc(100% - 2rem) !important;

  margin: 0 !important;
  padding: 0.42em 0.95em !important;

  color: #ffffff !important;
  background: #B7512E !important;

  border-radius: 999px !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.62rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;

  white-space: nowrap !important;
  pointer-events: none !important;
}

.ac-block-dormire .uk-grid.uk-grid-match > div:nth-child(1) .el-meta {
  background: #B7512E !important;
}

.ac-block-dormire .uk-grid.uk-grid-match > div:nth-child(2) .el-meta {
  background: #53695A !important;
}

.ac-block-dormire .uk-grid.uk-grid-match > div:nth-child(3) .el-meta {
  background: #7F8B76 !important;
}

.ac-block-dormire .uk-grid.uk-grid-match > div:nth-child(4) .el-meta {
  background: #43584B !important;
}

.ac-block-dormire .el-title,
.ac-block-dormire .uk-card-title,
.ac-block-dormire h1,
.ac-block-dormire h2,
.ac-block-dormire h3,
.ac-block-dormire h4,
.ac-block-dormire h5,
.ac-block-dormire h6 {
  margin-top: 0 !important;
  margin-bottom: 1.05rem !important;

  color: #43584B !important;

  font-family: Manrope, system-ui, sans-serif !important;
  font-size: clamp(1.55rem, 2.3vw, 2rem) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.065em !important;
}

.ac-block-dormire .el-content,
.ac-block-dormire .uk-panel {
  display: block !important;
  flex: 0 0 auto !important;

  margin-top: 0 !important;

  color: #232324 !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  line-height: 1.58 !important;
}

.ac-block-dormire .el-content p {
  margin: 0 !important;
}

.ac-block-dormire .el-content p:first-child {
  min-height: 7rem !important;
}

.ac-block-dormire .el-content p + p,
.ac-block-dormire .el-content p + ul {
  margin-top: 0.85rem !important;
}

.ac-block-dormire .el-content ul {
  list-style: none !important;

  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 0.32rem !important;
}

.ac-block-dormire .el-content li {
  position: relative !important;

  margin: 0 !important;
  padding-left: 1.05rem !important;

  color: #43584B !important;

  font-size: 0.82rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.ac-block-dormire .el-content li::before {
  content: "✓" !important;

  position: absolute !important;
  left: 0 !important;
  top: 0 !important;

  color: #BFC006 !important;

  font-weight: 900 !important;
  line-height: 1.35 !important;
}

.ac-block-dormire .uk-card-body > .uk-margin-top:last-child {
  margin-top: 1.45rem !important;
}

.ac-block-dormire .el-link.uk-button,
.ac-block-dormire .uk-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: fit-content !important;
  min-width: 132px !important;
  min-height: 48px !important;

  padding: 0.92em 1.85em !important;

  color: #ffffff !important;
  background: #B7512E !important;

  border: 0 !important;
  border-radius: 999px !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.80rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;

  transition:
    transform 0.22s cubic-bezier(.16, 1, .3, 1),
    background-color 0.22s ease,
    box-shadow 0.22s ease !important;
}

.ac-block-dormire .uk-card:hover .el-link.uk-button,
.ac-block-dormire .uk-card:hover .uk-button {
  transform: translateY(-2px) !important;
  background: #9F4327 !important;
  box-shadow: 0 10px 28px rgba(183, 81, 46, 0.28) !important;
}

@media (max-width: 1180px) and (min-width: 769px) {
  .ac-block-dormire .uk-margin > .uk-grid.uk-grid-match,
  .ac-block-dormire .uk-grid.uk-grid-match {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ac-block-dormire .uk-card {
    min-height: 560px !important;
  }
}

@media (max-width: 768px) {
  .ac-block-dormire {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
    background-attachment: scroll !important;
  }

  .ac-block-dormire .uk-heading-bullet {
    font-size: 0.60rem !important;
    letter-spacing: 0.20em !important;
  }

  .ac-block-dormire .uk-heading-small,
  .ac-block-dormire .uk-heading-medium {
    font-size: clamp(2.15rem, 12vw, 3.25rem) !important;
    line-height: 1.04 !important;
  }

  .ac-block-dormire .uk-panel.uk-text-lead,
  .ac-block-dormire .uk-panel.uk-width-xlarge {
    max-width: 100% !important;
    margin-bottom: 2.1rem !important;
    font-size: 0.92rem !important;
    line-height: 1.72 !important;
  }

  .ac-block-dormire .uk-margin > .uk-grid.uk-grid-match,
  .ac-block-dormire .uk-grid.uk-grid-match {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;

    gap: 1rem !important;

    width: auto !important;

    margin-top: 2rem !important;
    margin-left: calc(-1 * clamp(1.25rem, 5vw, 5vw)) !important;
    margin-right: calc(-1 * clamp(1.25rem, 5vw, 5vw)) !important;

    padding-left: clamp(1.25rem, 5vw, 5vw) !important;
    padding-right: clamp(1.25rem, 5vw, 5vw) !important;
    padding-bottom: 1rem !important;

    scroll-padding-left: clamp(1.25rem, 5vw, 5vw) !important;
    scrollbar-width: none !important;
  }

  .ac-block-dormire .uk-grid.uk-grid-match::-webkit-scrollbar {
    display: none !important;
  }

  .ac-block-dormire .uk-grid.uk-grid-match > div {
    flex: 0 0 100% !important;
    display: flex !important;
    align-self: stretch !important;

    width: 100% !important;
    max-width: calc(100vw - 2 * clamp(1.25rem, 5vw, 5vw)) !important;
    min-width: 0 !important;

    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
  }

  .ac-block-dormire .uk-card {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    border-radius: 24px !important;
  }

  .ac-block-dormire .uk-card-media-top {
    flex-basis: 230px !important;
    height: 230px !important;
  }

  .ac-block-dormire .uk-card-body {
    padding: 1.45rem 1.35rem 1.45rem !important;
  }

  .ac-block-dormire .el-meta {
    top: 0.95rem !important;
    right: 0.95rem !important;

    font-size: 0.58rem !important;
    letter-spacing: 0.12em !important;
  }

  .ac-block-dormire .el-title,
  .ac-block-dormire .uk-card-title,
  .ac-block-dormire h1,
  .ac-block-dormire h2,
  .ac-block-dormire h3,
  .ac-block-dormire h4,
  .ac-block-dormire h5,
  .ac-block-dormire h6 {
    font-size: 1.72rem !important;
  }

  .ac-block-dormire .el-content,
  .ac-block-dormire .uk-panel {
    font-size: 0.86rem !important;
    line-height: 1.55 !important;
  }

  .ac-block-dormire .el-content p:first-child {
    min-height: 0 !important;
  }

  .ac-block-dormire .el-content p + p,
  .ac-block-dormire .el-content p + ul {
    margin-top: 0.72rem !important;
  }

  .ac-block-dormire .el-content li {
    font-size: 0.80rem !important;
  }
}

@media (max-width: 480px) {
  .ac-block-dormire {
    padding-top: 3.6rem !important;
    padding-bottom: 3.6rem !important;
  }

  .ac-block-dormire .uk-card-media-top {
    flex-basis: 210px !important;
    height: 210px !important;
  }

  .ac-block-dormire .el-link.uk-button,
  .ac-block-dormire .uk-button {
    min-height: 44px !important;
    min-width: 126px !important;
    padding: 0.82em 1.45em !important;
    font-size: 0.68rem !important;
  }
}


/* =========================================================
   ALPE CAMPO 2026 — FONT LOCK
   Da incollare in fondo al custom.css
   Blocca i font anche quando apri/salvi YOOtheme Style.
   ========================================================= */

:root {
  --ac-font-body: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ac-font-heading: Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ac-font-serif: "Cormorant Garamond", Georgia, serif;
}

body,
.uk-panel,
.uk-text-meta,
.uk-text-small,
.uk-text-large,
.uk-text-lead,
.uk-button,
.uk-navbar-nav > li > a,
.uk-nav-default > li > a,
.uk-nav-primary > li > a,
.uk-input,
.uk-select,
.uk-textarea,
.uk-form-label,
input,
select,
textarea,
button {
  font-family: var(--ac-font-body) !important;
}

h1, h2, h3, h4,
.uk-h1, .uk-h2, .uk-h3, .uk-h4,
.uk-heading-small,
.uk-heading-medium,
.uk-heading-large,
.uk-heading-xlarge,
.uk-heading-2xlarge,
.uk-card-title,
.el-title {
  font-family: var(--ac-font-heading) !important;
}

h5, h6,
.uk-h5, .uk-h6,
.uk-heading-bullet,
.el-meta,
.uk-text-meta {
  font-family: var(--ac-font-body) !important;
}

.uk-font-secondary,
.uk-font-tertiary,
.ac-serif,
.ac-serif * {
  font-family: var(--ac-font-serif) !important;
}

/* =========================================================
   ALPE CAMPO 2026 — VALSESIA HOME / SOLO GRID BOX
   Classe da mettere SOLO sul GRID: ac-valsesia-home

   Non tocca:
   - sfondo sezione
   - colori sezione
   - titoli
   - testi introduttivi
   - gallery / slider immagini

   Formatta solo i box del grid "La Valsesia, intorno a te".
   ========================================================= */

/* Grid: lista verticale di box */
.ac-valsesia-home.uk-grid,
.ac-valsesia-home.uk-grid.uk-grid-match,
.ac-valsesia-home .uk-grid.uk-grid-match {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;

  margin: 0 0 2rem 0 !important;
  padding: 0 !important;
}

.ac-valsesia-home.uk-grid > div,
.ac-valsesia-home.uk-grid.uk-grid-match > div,
.ac-valsesia-home .uk-grid.uk-grid-match > div {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Card box */
.ac-valsesia-home .uk-card.uk-card-body,
.ac-valsesia-home.uk-grid .uk-card.uk-card-body,
.ac-valsesia-home.uk-grid.uk-grid-match .uk-card.uk-card-body {
  position: relative !important;

  display: block !important;

  width: 100% !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0.9rem 1rem !important;

  overflow: hidden !important;

  background: #F4F0E7 !important;
  border: 0 !important;
  border-left: 3px solid #7F8B76 !important;
  border-radius: 10px !important;

  box-shadow: none !important;

  transform: translateX(0) !important;

  transition:
    background-color 0.20s ease,
    border-color 0.20s ease,
    transform 0.25s cubic-bezier(.16, 1, .3, 1) !important;
}

.ac-valsesia-home .uk-card.uk-card-body:hover,
.ac-valsesia-home.uk-grid .uk-card.uk-card-body:hover,
.ac-valsesia-home.uk-grid.uk-grid-match .uk-card.uk-card-body:hover {
  background: #D8CEBE !important;
  border-left-color: #B7512E !important;
  transform: translateX(4px) !important;
  box-shadow: none !important;
}

/* Layout interno: icona a sinistra, testi a destra */
.ac-valsesia-home .uk-card.uk-card-body > .uk-grid,
.ac-valsesia-home .uk-card.uk-card-body .uk-grid-collapse {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 0.9rem !important;

  margin: 0 !important;
}

.ac-valsesia-home .uk-card.uk-card-body > .uk-grid > div,
.ac-valsesia-home .uk-card.uk-card-body .uk-grid-collapse > div {
  margin: 0 !important;
  padding: 0 !important;
}

.ac-valsesia-home .uk-card.uk-card-body .uk-width-1-5\@m {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 34px !important;
}

.ac-valsesia-home .uk-card.uk-card-body .uk-width-expand {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

/* Icone */
.ac-valsesia-home .uk-card.uk-card-body .el-image,
.ac-valsesia-home .uk-card.uk-card-body [uk-icon],
.ac-valsesia-home .uk-card.uk-card-body svg {
  width: 30px !important;
  height: 30px !important;

  color: #43584B !important;
  stroke: #43584B !important;

  transform: none !important;
  transition: none !important;
}

.ac-valsesia-home .uk-card.uk-card-body:hover .el-image,
.ac-valsesia-home .uk-card.uk-card-body:hover [uk-icon],
.ac-valsesia-home .uk-card.uk-card-body:hover svg {
  color: #43584B !important;
  stroke: #43584B !important;
  transform: none !important;
}

/* Titolo e testo dentro i box */
.ac-valsesia-home .uk-card.uk-card-body .el-title {
  margin: 0 !important;

  color: #43584B !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.84rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.015em !important;
}

.ac-valsesia-home .uk-card.uk-card-body .el-content {
  margin-top: 0.18rem !important;

  color: #7B7167 !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.76rem !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

.ac-valsesia-home .uk-card.uk-card-body .el-content p {
  margin: 0 !important;
}

@media (max-width: 959px) {
  .ac-valsesia-home .uk-card.uk-card-body,
  .ac-valsesia-home.uk-grid .uk-card.uk-card-body,
  .ac-valsesia-home.uk-grid.uk-grid-match .uk-card.uk-card-body {
    padding: 0.95rem 1rem !important;
  }

  .ac-valsesia-home .uk-card.uk-card-body:hover,
  .ac-valsesia-home.uk-grid .uk-card.uk-card-body:hover,
  .ac-valsesia-home.uk-grid.uk-grid-match .uk-card.uk-card-body:hover {
    transform: none !important;
  }
}

/* =========================================================
   ALPE CAMPO 2026 — RECENSIONI STATICHE HOME
   HTML temporaneo da inserire in un elemento HTML Builder.
   Classe principale: ac-recensioni-home
   ========================================================= */

.ac-recensioni-home {
  position: relative !important;
  overflow: hidden !important;

  padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 5vw, 5vw) !important;

  background: transparent !important;
  color: #232324 !important;
}

.ac-recensioni-home,
.ac-recensioni-home * {
  box-sizing: border-box !important;
}

.ac-recensioni-home__wrap {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

.ac-recensioni-home__eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.6em !important;

  margin: 0 0 0.85rem 0 !important;

  color: #B7512E !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.67rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
}

.ac-recensioni-home__eyebrow::before {
  content: "" !important;

  width: 22px !important;
  height: 1.5px !important;

  background: currentColor !important;
}

.ac-recensioni-home__title {
  margin: 0 !important;

  color: #43584B !important;

  font-family: Manrope, system-ui, sans-serif !important;
  font-size: clamp(2rem, 4.5vw, 3.6rem) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.055em !important;
}

.ac-recensioni-home__title em {
  color: #B7512E !important;

  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-style: italic !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
}

.ac-recensioni-home__intro {
  max-width: 540px !important;

  margin: 0.9rem 0 0 0 !important;

  color: #7B7167 !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: clamp(0.88rem, 1.4vw, 1rem) !important;
  font-weight: 500 !important;
  line-height: 1.78 !important;
}

.ac-recensioni-home__layout {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  gap: clamp(2.5rem, 6vw, 5rem) !important;
  align-items: flex-start !important;

  margin-top: 3rem !important;
}

.ac-recensioni-home__rating {
  position: sticky !important;
  top: calc(72px + 1.5rem) !important;

  padding: 2rem 1.8rem !important;

  text-align: center !important;

  background: #43584B !important;
  border-radius: 26px !important;
}

.ac-recensioni-home__stars,
.ac-recensioni-card__stars {
  display: flex !important;
  justify-content: center !important;
  gap: 0.15em !important;

  color: #B7512E !important;
  line-height: 1 !important;
}

.ac-recensioni-home__stars {
  margin-bottom: 0.8rem !important;
  font-size: 1.4rem !important;
  letter-spacing: 0.1em !important;
}

.ac-recensioni-home__stars span,
.ac-recensioni-card__stars span {
  color: #B7512E !important;
  transition: transform 0.20s cubic-bezier(.16, 1, .3, 1) !important;
}

.ac-recensioni-home__stars:hover span {
  transform: scale(1.1) rotate(-5deg) !important;
}

.ac-recensioni-home__score {
  margin-bottom: 0.2rem !important;

  color: #ffffff !important;

  font-family: Manrope, system-ui, sans-serif !important;
  font-size: 4rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: -0.06em !important;
}

.ac-recensioni-home__score span {
  color: rgba(236, 230, 219, 0.52) !important;
  font-size: 1.5rem !important;
  letter-spacing: -0.03em !important;
}

.ac-recensioni-home__count {
  margin: 0 0 1.5rem 0 !important;

  color: rgba(236, 230, 219, 0.55) !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.ac-recensioni-home__source {
  display: inline-block !important;

  margin: 0 0 1.5rem 0 !important;
  padding: 0.4em 1em !important;

  color: #BFC006 !important;
  background: rgba(191, 192, 6, 0.14) !important;

  border-radius: 999px !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

.ac-recensioni-home__cta {
  display: block !important;

  padding: 0.75em 1.2em !important;

  color: #ffffff !important;
  background: transparent !important;

  border: 1.5px solid rgba(236, 230, 219, 0.25) !important;
  border-radius: 999px !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.10em !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;

  transition:
    background-color 0.20s ease,
    border-color 0.20s ease,
    color 0.20s ease !important;
}

.ac-recensioni-home__cta:hover {
  color: #ffffff !important;
  background: rgba(183, 81, 46, 0.16) !important;
  border-color: #B7512E !important;
}

.ac-recensioni-home__cards {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

.ac-recensioni-card {
  position: relative !important;
  overflow: hidden !important;

  padding: 1.6rem 1.5rem !important;

  background: #F4F0E7 !important;
  border: 1px solid rgba(35, 35, 36, 0.04) !important;
  border-radius: 18px !important;

  box-shadow: 0 14px 45px rgba(35, 35, 36, 0.10) !important;

  transform: translateY(0) !important;

  transition:
    transform 0.30s cubic-bezier(.16, 1, .3, 1),
    box-shadow 0.30s ease !important;
}

.ac-recensioni-card::before {
  content: "" !important;

  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;

  height: 3px !important;

  background: linear-gradient(to right, #B7512E, #BFC006) !important;

  transform: scaleX(0) !important;
  transform-origin: left center !important;

  transition: transform 0.40s cubic-bezier(.16, 1, .3, 1) !important;
}

.ac-recensioni-card:hover::before {
  transform: scaleX(1) !important;
}

.ac-recensioni-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 24px 70px rgba(35, 35, 36, 0.18) !important;
}

.ac-recensioni-card__stars {
  justify-content: flex-start !important;
  margin-bottom: 0.8rem !important;
  font-size: 1rem !important;
}

.ac-recensioni-card__text {
  position: relative !important;

  margin: 0 0 1rem 0 !important;

  color: #4A4540 !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.88rem !important;
  font-style: italic !important;
  font-weight: 500 !important;
  line-height: 1.70 !important;
}

.ac-recensioni-card__text::before {
  content: "\201C" !important;

  display: block !important;

  margin-bottom: 0.3rem !important;

  color: #B7512E !important;

  font-family: Manrope, system-ui, sans-serif !important;
  font-size: 2rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 0.5 !important;
}

.ac-recensioni-card__author {
  color: #43584B !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.03em !important;
}

.ac-recensioni-home__hint {
  display: none !important;
}

@media (max-width: 1024px) {
  .ac-recensioni-home__layout {
    grid-template-columns: 1fr !important;
  }

  .ac-recensioni-home__rating {
    position: relative !important;
    top: auto !important;
  }
}

@media (max-width: 768px) {
  .ac-recensioni-home {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }

  .ac-recensioni-home__title {
    font-size: clamp(2rem, 10vw, 3rem) !important;
  }

  .ac-recensioni-home__layout {
    margin-top: 2.1rem !important;
    gap: 1.4rem !important;
  }

  .ac-recensioni-home__cards {
    display: flex !important;
    flex-wrap: nowrap !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    gap: 1rem !important;

    margin-left: calc(-1 * clamp(1.25rem, 5vw, 5vw)) !important;
    margin-right: calc(-1 * clamp(1.25rem, 5vw, 5vw)) !important;

    padding-left: clamp(1.25rem, 5vw, 5vw) !important;
    padding-right: clamp(1.25rem, 5vw, 5vw) !important;
    padding-bottom: 1rem !important;

    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    scroll-padding-left: clamp(1.25rem, 5vw, 5vw) !important;

    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .ac-recensioni-home__cards::-webkit-scrollbar {
    display: none !important;
  }

  .ac-recensioni-card {
    flex: 0 0 100% !important;

    width: 100% !important;
    max-width: calc(100vw - 2 * clamp(1.25rem, 5vw, 5vw)) !important;

    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
  }

  .ac-recensioni-card:hover {
    transform: none !important;
  }

  .ac-recensioni-home__hint {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.55rem !important;
    align-items: center !important;

    margin-top: 0.5rem !important;

    color: rgba(35, 35, 36, 0.42) !important;

    font-family: Inter, system-ui, sans-serif !important;
    font-size: 0.62rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.11em !important;
    text-transform: uppercase !important;
  }

  .ac-recensioni-home__hint-line {
    display: block !important;
    width: 100% !important;
    height: 3px !important;

    overflow: hidden !important;

    background: rgba(35, 35, 36, 0.14) !important;
    border-radius: 999px !important;
  }

  .ac-recensioni-home__hint-progress {
    display: block !important;
    width: 25% !important;
    height: 100% !important;

    background: #B7512E !important;
    border-radius: 999px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ac-valsesia-home .uk-card.uk-card-body,
  .ac-recensioni-card,
  .ac-recensioni-card::before {
    transition: none !important;
    transform: none !important;
  }
}

/* =========================================================
   ALPE CAMPO 2026 — COMUNICAZIONE TOP BAR FISSA
   Modulo pubblicato in Toolbar Left
   ========================================================= */

:root {
  --ac-top-notice-height: 0px;
}

/* Nasconde la toolbar originale dopo che il JS sposta l'avviso */
.ac-toolbar-notice-source {
  display: none !important;
}

/* Quando l'avviso è attivo, il sito parte sotto la barra */
body.ac-has-top-notice {
  padding-top: var(--ac-top-notice-height) !important;
}

/* Sposta header desktop e mobile sotto la comunicazione */
body.ac-has-top-notice .tm-header,
body.ac-has-top-notice .tm-header-mobile {
  top: var(--ac-top-notice-height) !important;
}

/* Sposta anche lo sticky header sotto la comunicazione */
body.ac-has-top-notice .tm-header [uk-sticky].uk-sticky-fixed,
body.ac-has-top-notice .tm-header-mobile [uk-sticky].uk-sticky-fixed {
  top: var(--ac-top-notice-height) !important;
}

/* Barra comunicazione */
#acTopNotice.ac-top-notice {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 2147483600 !important;

  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #B7512E !important;
  color: #ffffff !important;

  box-shadow: 0 8px 26px rgba(35, 35, 36, 0.14) !important;
}

/* Contenuto centrato */
#acTopNotice .ac-top-notice__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;

  width: 100% !important;
  max-width: 1280px !important;

  margin: 0 auto !important;
  padding: 10px 24px !important;

  text-align: center !important;
  font-family: Inter, system-ui, sans-serif !important;
  line-height: 1.35 !important;
}

#acTopNotice strong {
  display: inline-block !important;

  color: #ffffff !important;

  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: 0.16em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

#acTopNotice span {
  display: inline-block !important;

  color: rgba(255, 255, 255, 0.94) !important;

  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

/* Mobile */
@media (max-width: 959px) {

  #acTopNotice .ac-top-notice__inner {
    flex-direction: column !important;
    gap: 4px !important;

    padding: 9px 16px !important;
  }

  #acTopNotice strong {
    font-size: 9px !important;
    letter-spacing: 0.14em !important;
  }

  #acTopNotice span {
    max-width: 92vw !important;

    font-size: 12px !important;
    line-height: 1.38 !important;
  }
}


/* =========================================================
   ALPE CAMPO 2026 — FIX TITOLI SOLO MOBILE H1 / H2
   Non tocca H3/H4 delle card prodotto VirtueMart
   ========================================================= */

@media (max-width: 959px) {

  #tm-main h1:not(.uk-heading-small):not(.uk-heading-medium):not(.uk-heading-large):not(.uk-heading-xlarge):not(.uk-heading-2xlarge):not(.uk-heading-3xlarge),
  #tm-main .uk-h1:not(.uk-heading-small):not(.uk-heading-medium):not(.uk-heading-large):not(.uk-heading-xlarge):not(.uk-heading-2xlarge):not(.uk-heading-3xlarge) {
    font-size: clamp(2.35rem, 10vw, 3rem) !important;
    line-height: 1.04 !important;
  }

  #tm-main h2:not(.uk-heading-small):not(.uk-heading-medium):not(.uk-heading-large):not(.uk-heading-xlarge):not(.uk-heading-2xlarge):not(.uk-heading-3xlarge),
  #tm-main .uk-h2:not(.uk-heading-small):not(.uk-heading-medium):not(.uk-heading-large):not(.uk-heading-xlarge):not(.uk-heading-2xlarge):not(.uk-heading-3xlarge) {
    font-size: clamp(1.9rem, 8vw, 2.4rem) !important;
    line-height: 1.08 !important;
  }
}

@media (max-width: 480px) {

  #tm-main h1:not(.uk-heading-small):not(.uk-heading-medium):not(.uk-heading-large):not(.uk-heading-xlarge):not(.uk-heading-2xlarge):not(.uk-heading-3xlarge),
  #tm-main .uk-h1:not(.uk-heading-small):not(.uk-heading-medium):not(.uk-heading-large):not(.uk-heading-xlarge):not(.uk-heading-2xlarge):not(.uk-heading-3xlarge) {
    font-size: clamp(2rem, 11vw, 2.55rem) !important;
  }

  #tm-main h2:not(.uk-heading-small):not(.uk-heading-medium):not(.uk-heading-large):not(.uk-heading-xlarge):not(.uk-heading-2xlarge):not(.uk-heading-3xlarge),
  #tm-main .uk-h2:not(.uk-heading-small):not(.uk-heading-medium):not(.uk-heading-large):not(.uk-heading-xlarge):not(.uk-heading-2xlarge):not(.uk-heading-3xlarge) {
    font-size: clamp(1.75rem, 8.5vw, 2.15rem) !important;
  }
}

/* =========================================================
   ALPE CAMPO 2026 — MOBILE BAR / TASTO PRENOTA ARANCIONE
   Prenota = secondo link della banda mobile
   ========================================================= */

@media (max-width: 959px) {

  .ac-mobile-bar .ac-mobile-bar__item:nth-child(2) {
    background: #B7512E !important;
    color: #ffffff !important;
  }

  .ac-mobile-bar .ac-mobile-bar__item:nth-child(2):hover,
  .ac-mobile-bar .ac-mobile-bar__item:nth-child(2):focus,
  .ac-mobile-bar .ac-mobile-bar__item:nth-child(2):active {
    background: #9F4327 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transform: none !important;
    box-shadow: none !important;
  }

  .ac-mobile-bar .ac-mobile-bar__item:nth-child(2) .ac-mobile-bar__icon,
  .ac-mobile-bar .ac-mobile-bar__item:nth-child(2) .ac-mobile-bar__label,
  .ac-mobile-bar .ac-mobile-bar__item:nth-child(2) svg {
    color: #ffffff !important;
    stroke: #ffffff !important;
  }
}



/* =========================================================
   ALPE CAMPO 2026 — FIX TAP MOBILE
   Evita doppio tap / tap poco reattivo sui link mobile
   ========================================================= */

@media (max-width: 959px) {

  a,
  button,
  .uk-button,
  .ac-mobile-bar__item,
  #tm-dialog-mobile a {
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .ac-mobile-bar {
    pointer-events: auto !important;
  }

  .ac-mobile-bar__item {
    position: relative !important;
    z-index: 2 !important;

    cursor: pointer !important;
    pointer-events: auto !important;

    -webkit-user-select: none !important;
    user-select: none !important;
  }

  .ac-mobile-bar__item *,
  .ac-mobile-bar__icon,
  .ac-mobile-bar__icon *,
  .ac-mobile-bar__label {
    pointer-events: none !important;
  }

  #tm-dialog-mobile a {
    position: relative !important;
    z-index: 2 !important;

    cursor: pointer !important;
    pointer-events: auto !important;
  }

  #tm-dialog-mobile a * {
    pointer-events: none !important;
  }
}

/* =========================================================
   ALPE CAMPO 2026 — COMUNICAZIONE TOP BAR MOBILE + DESKTOP
   ========================================================= */

:root {
  --ac-top-notice-height: 0px;
}

.ac-toolbar-notice-source {
  display: none !important;
}

body.ac-has-top-notice {
  padding-top: var(--ac-top-notice-height) !important;
}

body.ac-has-top-notice .tm-header,
body.ac-has-top-notice .tm-header-mobile {
  top: var(--ac-top-notice-height) !important;
}

body.ac-has-top-notice .tm-header [uk-sticky].uk-sticky-fixed,
body.ac-has-top-notice .tm-header-mobile [uk-sticky].uk-sticky-fixed {
  top: var(--ac-top-notice-height) !important;
}

#acTopNotice.ac-top-notice {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 2147483600 !important;

  display: block !important;
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #B7512E !important;
  color: #ffffff !important;

  box-shadow: 0 8px 26px rgba(35, 35, 36, 0.14) !important;
}

#acTopNotice .ac-top-notice__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;

  width: 100% !important;
  max-width: 1280px !important;

  margin: 0 auto !important;
  padding: 10px 24px !important;

  text-align: center !important;
  font-family: Inter, system-ui, sans-serif !important;
  line-height: 1.35 !important;
}

#acTopNotice strong {
  display: inline-block !important;

  color: #ffffff !important;

  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: 0.16em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

#acTopNotice span {
  display: inline-block !important;

  color: rgba(255, 255, 255, 0.94) !important;

  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

@media (max-width: 959px) {

  #acTopNotice .ac-top-notice__inner {
    flex-direction: column !important;
    gap: 4px !important;

    padding: 8px 14px !important;
  }

  #acTopNotice strong {
    font-size: 9px !important;
    letter-spacing: 0.14em !important;
  }

  #acTopNotice span {
    max-width: 92vw !important;

    font-size: 12px !important;
    line-height: 1.35 !important;
  }
}


/* =========================================================
   ALPE CAMPO 2026 — FIX DEFINITIVO BOTTONI CARRELLO
   Rimuove l'effetto "bolla enorme" su desktop e mobile
   ========================================================= */

/* Bottoni interessati */
html body .tm-page #checkoutForm a.uk-button,
html body .tm-page #checkoutForm button.uk-button,
html body .tm-page #checkoutForm .btn,
html body .tm-page #checkoutForm .button,
html body .tm-page .jb-dropdown-cart .jb-cart-button a,
html body .tm-page .jb-dropdown-cart .jb-cart-button .btn,
html body .tm-page .jb-dropdown-cart .jb-cart-button .button {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;

  transform: none !important;
  scale: 1 !important;
  translate: none !important;
  rotate: none !important;

  box-shadow: none !important;
  filter: none !important;
  outline: none !important;

  background-image: none !important;
  animation: none !important;
  transition:
    background-color 0.16s ease,
    color 0.16s ease,
    border-color 0.16s ease !important;

  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* Stati hover / focus / active: niente ingrandimenti, niente bolle, niente ombre */
html body .tm-page #checkoutForm a.uk-button:hover,
html body .tm-page #checkoutForm a.uk-button:focus,
html body .tm-page #checkoutForm a.uk-button:active,
html body .tm-page #checkoutForm button.uk-button:hover,
html body .tm-page #checkoutForm button.uk-button:focus,
html body .tm-page #checkoutForm button.uk-button:active,
html body .tm-page #checkoutForm .btn:hover,
html body .tm-page #checkoutForm .btn:focus,
html body .tm-page #checkoutForm .btn:active,
html body .tm-page #checkoutForm .button:hover,
html body .tm-page #checkoutForm .button:focus,
html body .tm-page #checkoutForm .button:active,
html body .tm-page .jb-dropdown-cart .jb-cart-button a:hover,
html body .tm-page .jb-dropdown-cart .jb-cart-button a:focus,
html body .tm-page .jb-dropdown-cart .jb-cart-button a:active,
html body .tm-page .jb-dropdown-cart .jb-cart-button .btn:hover,
html body .tm-page .jb-dropdown-cart .jb-cart-button .btn:focus,
html body .tm-page .jb-dropdown-cart .jb-cart-button .btn:active,
html body .tm-page .jb-dropdown-cart .jb-cart-button .button:hover,
html body .tm-page .jb-dropdown-cart .jb-cart-button .button:focus,
html body .tm-page .jb-dropdown-cart .jb-cart-button .button:active {
  transform: none !important;
  scale: 1 !important;
  translate: none !important;
  rotate: none !important;

  box-shadow: none !important;
  filter: none !important;
  outline: none !important;

  background-image: none !important;
  animation: none !important;
}

/* Spegne qualsiasi pseudo-elemento grafico sui bottoni carrello */
html body .tm-page #checkoutForm a.uk-button::before,
html body .tm-page #checkoutForm a.uk-button::after,
html body .tm-page #checkoutForm button.uk-button::before,
html body .tm-page #checkoutForm button.uk-button::after,
html body .tm-page #checkoutForm .btn::before,
html body .tm-page #checkoutForm .btn::after,
html body .tm-page #checkoutForm .button::before,
html body .tm-page #checkoutForm .button::after,
html body .tm-page .jb-dropdown-cart .jb-cart-button a::before,
html body .tm-page .jb-dropdown-cart .jb-cart-button a::after,
html body .tm-page .jb-dropdown-cart .jb-cart-button .btn::before,
html body .tm-page .jb-dropdown-cart .jb-cart-button .btn::after,
html body .tm-page .jb-dropdown-cart .jb-cart-button .button::before,
html body .tm-page .jb-dropdown-cart .jb-cart-button .button::after {
  content: none !important;
  display: none !important;

  position: static !important;
  inset: auto !important;

  width: 0 !important;
  height: 0 !important;

  opacity: 0 !important;
  visibility: hidden !important;

  background: none !important;
  background-image: none !important;

  box-shadow: none !important;
  transform: none !important;
  scale: 1 !important;
  animation: none !important;
  transition: none !important;
}

/* Continua gli acquisti */
html body .tm-page #checkoutForm > .uk-width-1-1.uk-text-right a.uk-button,
html body .tm-page #checkoutForm > .uk-width-1-1.uk-text-right a.btn {
  background: #43584B !important;
  color: #ffffff !important;
  border-color: #43584B !important;
  box-shadow: none !important;
}

html body .tm-page #checkoutForm > .uk-width-1-1.uk-text-right a.uk-button:hover,
html body .tm-page #checkoutForm > .uk-width-1-1.uk-text-right a.uk-button:focus,
html body .tm-page #checkoutForm > .uk-width-1-1.uk-text-right a.uk-button:active,
html body .tm-page #checkoutForm > .uk-width-1-1.uk-text-right a.btn:hover,
html body .tm-page #checkoutForm > .uk-width-1-1.uk-text-right a.btn:focus,
html body .tm-page #checkoutForm > .uk-width-1-1.uk-text-right a.btn:active {
  background: #34473C !important;
  color: #ffffff !important;
  border-color: #34473C !important;
  box-shadow: none !important;
}

/* Vai al carrello nel dropdown */
html body .tm-page .jb-dropdown-cart .jb-cart-button-checkout a,
html body .tm-page .jb-dropdown-cart .jb-cart-button-checkout .btn,
html body .tm-page .jb-dropdown-cart .jb-cart-button-checkout .button {
  background: #B7512E !important;
  color: #ffffff !important;
  border-color: #B7512E !important;
  box-shadow: none !important;
}

html body .tm-page .jb-dropdown-cart .jb-cart-button-checkout a:hover,
html body .tm-page .jb-dropdown-cart .jb-cart-button-checkout a:focus,
html body .tm-page .jb-dropdown-cart .jb-cart-button-checkout a:active,
html body .tm-page .jb-dropdown-cart .jb-cart-button-checkout .btn:hover,
html body .tm-page .jb-dropdown-cart .jb-cart-button-checkout .btn:focus,
html body .tm-page .jb-dropdown-cart .jb-cart-button-checkout .btn:active,
html body .tm-page .jb-dropdown-cart .jb-cart-button-checkout .button:hover,
html body .tm-page .jb-dropdown-cart .jb-cart-button-checkout .button:focus,
html body .tm-page .jb-dropdown-cart .jb-cart-button-checkout .button:active {
  background: #9F4327 !important;
  color: #ffffff !important;
  border-color: #9F4327 !important;
  box-shadow: none !important;
}

/* Evita che eventuali effetti escano dal contenitore del carrello */
html body .tm-page #checkoutForm,
html body .tm-page #checkoutForm > .uk-width-1-1.uk-text-right,
html body .tm-page .jb-dropdown-cart,
html body .tm-page .jb-dropdown-cart .jb-cart-list,
html body .tm-page .jb-dropdown-cart .jb-cart-button,
html body .tm-page .jb-dropdown-cart .jb-cart-button-checkout {
  overflow: visible !important;
}

html body .tm-page #checkoutForm > .uk-width-1-1.uk-text-right {
  position: relative !important;
  z-index: 1 !important;
}

/* =========================================================
   ALPE CAMPO 2026 — FIX DEFINITIVO CARD PRODOTTI VM MOBILE
   Biglietti / Gift Card / Cooking Class
   Il titolo prodotto è h3.el-title.uk-h5: non deve prendere le regole H3 pagina.
   ========================================================= */

@media (max-width: 959px) {

  html body #tm-main .ac-texture-dormire .ac-grid-hover-soft .uk-card h3.el-title.uk-h5,
  html body #tm-main .ac-texture-dormire .ac-grid-hover-soft .uk-card .el-title.uk-h5,
  html body #tm-main .ac-texture-dormire .ac-grid-hover-soft .uk-card .el-title,
  html body #tm-main [id^="template-"].ac-grid-hover-soft .uk-card h3.el-title.uk-h5,
  html body #tm-main [id^="template-"].ac-grid-hover-soft .uk-card .el-title.uk-h5,
  html body #tm-main [id^="template-"].ac-grid-hover-soft .uk-card .el-title,
  html body #tm-main [id^="template-"] .ac-grid-hover-soft .uk-card h3.el-title.uk-h5,
  html body #tm-main [id^="template-"] .ac-grid-hover-soft .uk-card .el-title.uk-h5,
  html body #tm-main [id^="template-"] .ac-grid-hover-soft .uk-card .el-title {
    font-family: Manrope, system-ui, sans-serif !important;
    font-size: clamp(1.08rem, 4.6vw, 1.28rem) !important;
    line-height: 1.14 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
  }

  html body #tm-main .ac-texture-dormire .ac-grid-hover-soft .el-product-price1,
  html body #tm-main [id^="template-"].ac-grid-hover-soft .el-product-price1,
  html body #tm-main [id^="template-"] .ac-grid-hover-soft .el-product-price1 {
    font-family: Inter, system-ui, sans-serif !important;
    font-size: clamp(1rem, 4.2vw, 1.14rem) !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
  }

  html body #tm-main .ac-texture-dormire .ac-grid-hover-soft .uk-card-body,
  html body #tm-main [id^="template-"].ac-grid-hover-soft .uk-card-body,
  html body #tm-main [id^="template-"] .ac-grid-hover-soft .uk-card-body {
    padding: 1.05rem 1rem 1.25rem !important;
  }
}

@media (max-width: 480px) {

  html body #tm-main .ac-texture-dormire .ac-grid-hover-soft .uk-card h3.el-title.uk-h5,
  html body #tm-main .ac-texture-dormire .ac-grid-hover-soft .uk-card .el-title.uk-h5,
  html body #tm-main .ac-texture-dormire .ac-grid-hover-soft .uk-card .el-title,
  html body #tm-main [id^="template-"].ac-grid-hover-soft .uk-card h3.el-title.uk-h5,
  html body #tm-main [id^="template-"].ac-grid-hover-soft .uk-card .el-title.uk-h5,
  html body #tm-main [id^="template-"].ac-grid-hover-soft .uk-card .el-title,
  html body #tm-main [id^="template-"] .ac-grid-hover-soft .uk-card h3.el-title.uk-h5,
  html body #tm-main [id^="template-"] .ac-grid-hover-soft .uk-card .el-title.uk-h5,
  html body #tm-main [id^="template-"] .ac-grid-hover-soft .uk-card .el-title {
    font-size: clamp(1rem, 5vw, 1.16rem) !important;
    line-height: 1.13 !important;
  }

  html body #tm-main .ac-texture-dormire .ac-grid-hover-soft .el-product-price1,
  html body #tm-main [id^="template-"].ac-grid-hover-soft .el-product-price1,
  html body #tm-main [id^="template-"] .ac-grid-hover-soft .el-product-price1 {
    font-size: 1.02rem !important;
  }
}

/* =========================================================
   ALPE CAMPO 2026 — FIX TOOLBAR DESKTOP STABILE
   Blocca lampeggi/rimpicciolimenti su icone toolbar e carrello
   ========================================================= */

@media (min-width: 960px) {

  /* I moduli della toolbar non devono ereditare animazioni/resize della navbar */
  html body .tm-header #module-137,
  html body .tm-header #module-138,
  html body .tm-header #module-137 *,
  html body .tm-header #module-138 * {
    animation: none !important;
  }

  html body .tm-header #module-137,
  html body .tm-header #module-138,
  html body .tm-header #module-137 .jb-dropdown-cart,
  html body .tm-header #module-137 .jb-cart-summary-wrap,
  html body .tm-header #module-137 .jb-cart-icon,
  html body .tm-header #module-137 .jb-cart-icon i,
  html body .tm-header #module-137 .jb-cart-icon .fa,
  html body .tm-header #module-137 .jb-cart-count,
  html body .tm-header #module-138 .ac-topbar-buttons,
  html body .tm-header #module-138 .ac-topbar-buttons *,
  html body .tm-header #module-138 .uk-button,
  html body .tm-header #module-138 .uk-button span,
  html body .tm-header #module-138 .uk-button .uk-icon,
  html body .tm-header #module-138 .uk-button [uk-icon],
  html body .tm-header #module-138 .uk-button svg {
    transition: none !important;
    transform: none !important;
    scale: 1 !important;
    translate: none !important;
    rotate: none !important;
    filter: none !important;
  }

  /* =======================================================
     TOPBAR BUTTONS — dimensioni fisse, nessun salto al click
     ======================================================= */

  html body .tm-header #module-138.ac-topbar-buttons,
  html body .tm-header #module-138 .ac-topbar-buttons {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-grid,
  html body .tm-header #module-138 .ac-topbar-buttons [uk-grid] {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .el-item {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;

    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;

    margin: 0 !important;

    line-height: 1 !important;
    white-space: nowrap !important;

    box-shadow: none !important;
    outline: none !important;
    overflow: hidden !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-danger,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-primary {
    width: auto !important;
    min-width: 112px !important;
    padding: 0 1.55rem !important;

    background: #B7512E !important;
    color: #ECE6DB !important;

    font-size: 0.82rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.07em !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-secondary {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    padding: 0 !important;

    background: #43584B !important;
    color: #ECE6DB !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button > span,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button .uk-icon,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button [uk-icon] {
    display: inline-flex !important;
    flex: 0 0 19px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;
    height: 19px !important;
    min-height: 19px !important;
    max-height: 19px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1 !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button svg {
    display: block !important;
    width: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;
    height: 19px !important;
    min-height: 19px !important;
    max-height: 19px !important;
    stroke: currentColor !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button:hover,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button:focus,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button:active {
    transform: none !important;
    scale: 1 !important;
    translate: none !important;
    rotate: none !important;
    box-shadow: none !important;
    outline: none !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-danger:hover,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-danger:focus,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-danger:active,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-primary:hover,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-primary:focus,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-primary:active {
    background: #9F4327 !important;
    color: #ECE6DB !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-secondary:hover,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-secondary:focus,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-secondary:active {
    background: #34463B !important;
    color: #ECE6DB !important;
  }

  /* =======================================================
     CARRELLO TOOLBAR — icona stabile + tendina immediata
     ======================================================= */

  html body .tm-header #module-137 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html body .tm-header #module-137 .moduletable,
  html body .tm-header #jbDropDownContainer137,
  html body .tm-header #module-137 .jb-dropdown-cart {
    position: relative !important;
    display: block !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    z-index: 10000 !important;
  }

  html body .tm-header #module-137 .jb-cart-summary-wrap {
    position: relative !important;
    display: block !important;
    float: none !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html body .tm-header #module-137 .jb-cart-header {
    display: none !important;
  }

  html body .tm-header #module-137 .jb-cart-icon {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    line-height: 1 !important;
  }

  html body .tm-header #module-137 .jb-cart-icon i,
  html body .tm-header #module-137 .jb-cart-icon .fa,
  html body .tm-header #module-137 .fa-shopping-bag {
    display: block !important;
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 22px !important;
    line-height: 22px !important;
    text-align: center !important;
  }

  html body .tm-header #module-137 .jb-cart-count {
    position: absolute !important;
    top: 1px !important;
    right: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;

    padding: 0 !important;
    margin: 0 !important;

    background: #B7512E !important;
    color: #ffffff !important;
    border-radius: 999px !important;

    font-family: Inter, system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  html body .tm-header #module-137 .jb-cart-list {
    position: absolute !important;
    top: 52px !important;
    right: 0 !important;
    left: auto !important;

    width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;

    margin: 0 !important;
    padding: 14px !important;

    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid rgba(0, 0, 0, 0.16) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24) !important;

    box-sizing: border-box !important;
    transform: none !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    will-change: auto !important;
    z-index: 10001 !important;
  }

  /* Mostra la tendina subito: niente effetto slide/assestamento del plugin */
  html body .tm-header #module-137 .jb-dropdown-cart:hover .jb-cart-list,
  html body .tm-header #module-137 .jb-dropdown-cart:focus-within .jb-cart-list {
    display: block !important;
  }

  html body .tm-header #module-137 .jb-cart-list,
  html body .tm-header #module-137 .jb-cart-list *,
  html body .tm-header #module-137 .productsContainer,
  html body .tm-header #module-137 .jb-cart-item,
  html body .tm-header #module-137 .cartButtonsConainer {
    transform: none !important;
    animation: none !important;
    transition: none !important;
    color: #111111;
  }

  html body .tm-header #module-137 .jb-cart-price,
  html body .tm-header #module-137 .jb-cart-total strong {
    color: #B7512E !important;
  }
}


/* =========================================================
   ALPE CAMPO 2026 — OVERRIDE FINALE STABILE
   DA LASCIARE COME ULTIMO BLOCCO DEL custom.css
   Data: 2026-06-28

   Corregge:
   - toolbar desktop che rimpicciolisce/lampeggia al click o cambio pagina
   - icone YOOtheme/Lucide con salto dimensionale
   - carrello JB Advanced Cart FontAwesome che cambia icona in ritardo
   - dropdown carrello che si assesta prima di aprirsi
   - titoli prodotto VirtueMart troppo grandi da mobile
   ========================================================= */


/* =========================================================
   1) HEADER / TOOLBAR DESKTOP — NIENTE SHRINK SU ICONE E BOTTONI
   ========================================================= */

@media (min-width: 960px) {

  html body .tm-header #module-137,
  html body .tm-header #module-138 {
    flex: 0 0 auto !important;
    transition: none !important;
    transform: none !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons,
  html body .tm-header #module-138 .ac-topbar-buttons > .uk-grid,
  html body .tm-header #module-138 .ac-topbar-buttons [uk-grid] {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
    transition: none !important;
    animation: none !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .el-item {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
    transition: none !important;
    animation: none !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button,
  html body .tm-header .uk-navbar-container.uk-navbar-sticky #module-138 .ac-topbar-buttons .uk-button,
  html body .tm-header .uk-navbar-container.uk-navbar-sticky #module-138 .uk-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;

    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    border-radius: 999px !important;
    border-color: transparent !important;

    font-family: Inter, system-ui, sans-serif !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.07em !important;
    white-space: nowrap !important;

    box-shadow: none !important;
    outline: none !important;
    overflow: hidden !important;

    transform: none !important;
    scale: 1 !important;
    translate: none !important;
    rotate: none !important;

    animation: none !important;
    transition:
      background-color 0.16s ease,
      color 0.16s ease,
      border-color 0.16s ease !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-danger,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-primary,
  html body .tm-header .uk-navbar-container.uk-navbar-sticky #module-138 .ac-topbar-buttons .uk-button-danger,
  html body .tm-header .uk-navbar-container.uk-navbar-sticky #module-138 .ac-topbar-buttons .uk-button-primary {
    width: auto !important;
    min-width: 112px !important;

    padding-left: 1.55rem !important;
    padding-right: 1.55rem !important;

    background: #B7512E !important;
    color: #ECE6DB !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-secondary,
  html body .tm-header .uk-navbar-container.uk-navbar-sticky #module-138 .ac-topbar-buttons .uk-button-secondary {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    background: #43584B !important;
    color: #ECE6DB !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button:hover,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button:focus,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button:active {
    transform: none !important;
    scale: 1 !important;
    translate: none !important;
    rotate: none !important;
    box-shadow: none !important;
    outline: none !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-danger:hover,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-danger:focus,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-danger:active,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-primary:hover,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-primary:focus,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-primary:active {
    background: #9F4327 !important;
    color: #ECE6DB !important;
    border-color: transparent !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-secondary:hover,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-secondary:focus,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button-secondary:active {
    background: #34463B !important;
    color: #ECE6DB !important;
    border-color: transparent !important;
  }
}


/* =========================================================
   2) ICONE TOOLBAR YOOTHEME — SPAZIO FISSO, NIENTE LAMPEGGIO
   ========================================================= */

@media (min-width: 960px) {

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button > span[uk-icon],
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button > span.uk-icon,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button .uk-icon {
    display: inline-flex !important;
    flex: 0 0 19px !important;
    align-items: center !important;
    justify-content: center !important;

    width: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;
    height: 19px !important;
    min-height: 19px !important;
    max-height: 19px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: currentColor !important;
    line-height: 1 !important;

    transform: none !important;
    transition: none !important;
    animation: none !important;

    overflow: hidden !important;
  }

  /*
   * Prima che UIkit trasformi uk-icon in SVG, lo spazio resta prenotato
   * ma non si vede nessuna icona provvisoria.
   */
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button > span[uk-icon]:not(.uk-icon) {
    opacity: 0 !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button > span.uk-icon {
    opacity: 1 !important;
  }

  html body .tm-header #module-138 .ac-topbar-buttons .uk-button svg,
  html body .tm-header #module-138 .ac-topbar-buttons .uk-button .uk-icon svg {
    display: block !important;

    width: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;
    height: 19px !important;
    min-height: 19px !important;
    max-height: 19px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: currentColor !important;
    stroke: currentColor !important;
    fill: none !important;

    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}


/* =========================================================
   3) JB ADVANCED CART — ICONA STABILE SENZA FONTAWESOME
   ========================================================= */

.tm-header #module-137 .jb-dropdown-cart,
.tm-header-mobile #module-132 .jb-dropdown-cart {
  position: relative !important;
  display: flex !important;
  align-items: center !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;

  transform: none !important;
  transition: none !important;
  animation: none !important;
}

.tm-header #module-137 .jb-cart-summary-wrap,
.tm-header-mobile #module-132 .jb-cart-summary-wrap {
  position: relative !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  float: none !important;

  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
  cursor: pointer !important;

  transform: none !important;
  transition: none !important;
  animation: none !important;
}

.tm-header #module-137 .jb-cart-header {
  display: none !important;
}

/* Contenitore icona */
.tm-header #module-137 .jb-cart-icon,
.tm-header-mobile #module-132 .jb-cart-icon {
  position: relative !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  float: none !important;

  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #ffffff !important;
  line-height: 1 !important;

  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* Spegne l'icona FontAwesome vera: non deve più comparire a caricamento */
.tm-header #module-137 .jb-cart-icon i,
.tm-header #module-137 .jb-cart-icon i.fa,
.tm-header #module-137 .jb-cart-icon .fa,
.tm-header #module-137 .fa-shopping-bag,
.tm-header-mobile #module-132 .jb-cart-icon i,
.tm-header-mobile #module-132 .jb-cart-icon i.fa,
.tm-header-mobile #module-132 .jb-cart-icon .fa,
.tm-header-mobile #module-132 .fa-shopping-bag {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;

  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  font-size: 0 !important;
  line-height: 0 !important;

  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* Borsa disegnata in CSS: sempre uguale, nessun cambio FontAwesome/Lucide */
.tm-header #module-137 .jb-cart-icon::before,
.tm-header-mobile #module-132 .jb-cart-icon::before {
  content: "" !important;

  display: block !important;

  width: 23px !important;
  min-width: 23px !important;
  max-width: 23px !important;
  height: 23px !important;
  min-height: 23px !important;
  max-height: 23px !important;

  background-color: currentColor !important;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M7 7V6a5 5 0 0 1 10 0v1h2.2a1 1 0 0 1 1 .92l.8 12A2 2 0 0 1 19 22H5a2 2 0 0 1-2-2.08l.8-12a1 1 0 0 1 1-.92H7Zm2 0h6V6a3 3 0 0 0-6 0v1Zm-3.27 2L5 20h14l-.73-11H17v2a1 1 0 1 1-2 0V9H9v2a1 1 0 1 1-2 0V9H5.73Z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M7 7V6a5 5 0 0 1 10 0v1h2.2a1 1 0 0 1 1 .92l.8 12A2 2 0 0 1 19 22H5a2 2 0 0 1-2-2.08l.8-12a1 1 0 0 1 1-.92H7Zm2 0h6V6a3 3 0 0 0-6 0v1Zm-3.27 2L5 20h14l-.73-11H17v2a1 1 0 1 1-2 0V9H9v2a1 1 0 1 1-2 0V9H5.73Z'/%3E%3C/svg%3E") !important;

  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;

  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* Badge quantità */
.tm-header #module-137 .jb-cart-count,
.tm-header-mobile #module-132 .jb-cart-count {
  position: absolute !important;
  top: -3px !important;
  right: -5px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 18px !important;
  width: auto !important;
  height: 18px !important;
  min-height: 18px !important;

  padding: 0 5px !important;
  margin: 0 !important;

  background: #B7512E !important;
  color: #ffffff !important;

  border-radius: 999px !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;

  transform: none !important;
  transition: none !important;
  animation: none !important;
}


/* =========================================================
   4) DROPDOWN CARRELLO — NIENTE ASSESTAMENTO / SLIDE STRANA
   ========================================================= */

.tm-header #module-137 .jb-cart-list,
.tm-header-mobile #module-132 .jb-cart-list {
  position: absolute !important;
  top: 48px !important;
  right: 0 !important;
  left: auto !important;

  width: 300px !important;
  min-width: 300px !important;
  max-width: 300px !important;

  margin: 0 !important;
  padding: 14px !important;

  background: #ffffff !important;
  color: #111111 !important;

  border: 1px solid rgba(0, 0, 0, 0.16) !important;
  border-radius: 12px !important;

  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.22) !important;

  box-sizing: border-box !important;

  transform: none !important;
  transition: none !important;
  animation: none !important;
  will-change: auto !important;

  z-index: 10001 !important;
}

.tm-header #module-137 .jb-cart-list *,
.tm-header-mobile #module-132 .jb-cart-list * {
  color: #111111;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

.tm-header #module-137 .jb-dropdown-cart:hover .jb-cart-list,
.tm-header #module-137 .jb-dropdown-cart:focus-within .jb-cart-list,
.tm-header-mobile #module-132 .jb-dropdown-cart:hover .jb-cart-list,
.tm-header-mobile #module-132 .jb-dropdown-cart:focus-within .jb-cart-list {
  display: block !important;
}

.tm-header #module-137 .productsContainer,
.tm-header #module-137 .jb-cart-item,
.tm-header #module-137 .cartButtonsConainer,
.tm-header-mobile #module-132 .productsContainer,
.tm-header-mobile #module-132 .jb-cart-item,
.tm-header-mobile #module-132 .cartButtonsConainer {
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

.tm-header #module-137 .jb-cart-title a,
.tm-header-mobile #module-132 .jb-cart-title a {
  color: #111111 !important;
  text-decoration: none !important;
}

.tm-header #module-137 .jb-cart-price,
.tm-header #module-137 .jb-cart-total strong,
.tm-header-mobile #module-132 .jb-cart-price,
.tm-header-mobile #module-132 .jb-cart-total strong {
  color: #B7512E !important;
  font-weight: 800 !important;
}

.tm-header #module-137 .jb-cart-button-checkout a,
.tm-header-mobile #module-132 .jb-cart-button-checkout a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 42px !important;
  padding: 0 20px !important;

  background: #B7512E !important;
  color: #ffffff !important;

  border: 1px solid #B7512E !important;
  border-radius: 999px !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  box-shadow: none !important;
  transform: none !important;
  transition:
    background-color 0.16s ease,
    color 0.16s ease,
    border-color 0.16s ease !important;
}

.tm-header #module-137 .jb-cart-button-checkout a:hover,
.tm-header #module-137 .jb-cart-button-checkout a:focus,
.tm-header #module-137 .jb-cart-button-checkout a:active,
.tm-header-mobile #module-132 .jb-cart-button-checkout a:hover,
.tm-header-mobile #module-132 .jb-cart-button-checkout a:focus,
.tm-header-mobile #module-132 .jb-cart-button-checkout a:active {
  background: #9F4327 !important;
  color: #ffffff !important;
  border-color: #9F4327 !important;

  box-shadow: none !important;
  transform: none !important;
}


/* =========================================================
   5) MOBILE — TITOLI PRODOTTO VM / CARD SHOP NON ENORMI
   ========================================================= */

@media (max-width: 959px) {

  /* Titolo pagina dettaglio prodotto: h1.uk-h4 */
  html body #tm-main .productdetails-view h1.uk-h4,
  html body #tm-main .product-container.productdetails-view h1.uk-h4,
  html body #tm-main .productdetails h1.uk-h4 {
    font-family: Manrope, system-ui, sans-serif !important;
    font-size: clamp(1.35rem, 6.2vw, 1.78rem) !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    letter-spacing: -0.045em !important;
  }

  /* Titoli card prodotto nelle liste shop */
  html body #tm-main .uk-card h3.el-title.uk-h5,
  html body #tm-main .uk-card .el-title.uk-h5,
  html body #tm-main .uk-card .el-title.uk-h4,
  html body #tm-main .ac-grid-hover-soft .uk-card h3.el-title,
  html body #tm-main .ac-grid-hover-soft .uk-card .el-title {
    font-family: Manrope, system-ui, sans-serif !important;
    font-size: clamp(1.05rem, 4.8vw, 1.25rem) !important;
    line-height: 1.14 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
  }

  html body #tm-main .uk-card .el-product-price1,
  html body #tm-main .uk-card .PricesalesPrice,
  html body #tm-main .ac-grid-hover-soft .el-product-price1 {
    font-family: Inter, system-ui, sans-serif !important;
    font-size: clamp(1rem, 4.2vw, 1.14rem) !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
  }
}

@media (max-width: 480px) {

  html body #tm-main .productdetails-view h1.uk-h4,
  html body #tm-main .product-container.productdetails-view h1.uk-h4,
  html body #tm-main .productdetails h1.uk-h4 {
    font-size: clamp(1.22rem, 6vw, 1.55rem) !important;
  }

  html body #tm-main .uk-card h3.el-title.uk-h5,
  html body #tm-main .uk-card .el-title.uk-h5,
  html body #tm-main .uk-card .el-title.uk-h4,
  html body #tm-main .ac-grid-hover-soft .uk-card h3.el-title,
  html body #tm-main .ac-grid-hover-soft .uk-card .el-title {
    font-size: clamp(1rem, 5vw, 1.16rem) !important;
    line-height: 1.13 !important;
  }
}


/* =========================================================
   6) BOTTONI CARRELLO / CHECKOUT — NIENTE BOLLA, NIENTE CLICK SHRINK
   ========================================================= */

html body #checkoutForm a.uk-button,
html body #checkoutForm button.uk-button,
html body #checkoutForm .btn,
html body #checkoutForm .button,
html body .jb-dropdown-cart .jb-cart-button a,
html body .jb-dropdown-cart .jb-cart-button .btn,
html body .jb-dropdown-cart .jb-cart-button .button {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;

  transform: none !important;
  scale: 1 !important;
  translate: none !important;
  rotate: none !important;

  box-shadow: none !important;
  filter: none !important;
  outline: none !important;

  background-image: none !important;
  animation: none !important;

  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}

html body #checkoutForm a.uk-button:hover,
html body #checkoutForm a.uk-button:focus,
html body #checkoutForm a.uk-button:active,
html body #checkoutForm button.uk-button:hover,
html body #checkoutForm button.uk-button:focus,
html body #checkoutForm button.uk-button:active,
html body #checkoutForm .btn:hover,
html body #checkoutForm .btn:focus,
html body #checkoutForm .btn:active,
html body #checkoutForm .button:hover,
html body #checkoutForm .button:focus,
html body #checkoutForm .button:active,
html body .jb-dropdown-cart .jb-cart-button a:hover,
html body .jb-dropdown-cart .jb-cart-button a:focus,
html body .jb-dropdown-cart .jb-cart-button a:active,
html body .jb-dropdown-cart .jb-cart-button .btn:hover,
html body .jb-dropdown-cart .jb-cart-button .btn:focus,
html body .jb-dropdown-cart .jb-cart-button .btn:active,
html body .jb-dropdown-cart .jb-cart-button .button:hover,
html body .jb-dropdown-cart .jb-cart-button .button:focus,
html body .jb-dropdown-cart .jb-cart-button .button:active {
  transform: none !important;
  scale: 1 !important;
  translate: none !important;
  rotate: none !important;

  box-shadow: none !important;
  filter: none !important;
  outline: none !important;

  background-image: none !important;
  animation: none !important;
}

html body #checkoutForm a.uk-button::before,
html body #checkoutForm a.uk-button::after,
html body #checkoutForm button.uk-button::before,
html body #checkoutForm button.uk-button::after,
html body #checkoutForm .btn::before,
html body #checkoutForm .btn::after,
html body #checkoutForm .button::before,
html body #checkoutForm .button::after,
html body .jb-dropdown-cart .jb-cart-button a::before,
html body .jb-dropdown-cart .jb-cart-button a::after,
html body .jb-dropdown-cart .jb-cart-button .btn::before,
html body .jb-dropdown-cart .jb-cart-button .btn::after,
html body .jb-dropdown-cart .jb-cart-button .button::before,
html body .jb-dropdown-cart .jb-cart-button .button::after {
  content: none !important;
  display: none !important;

  width: 0 !important;
  height: 0 !important;

  opacity: 0 !important;
  visibility: hidden !important;

  background: none !important;
  box-shadow: none !important;

  transform: none !important;
  animation: none !important;
  transition: none !important;
}


/* =========================================================
   ALPE CAMPO 2026 — CARRELLO MOBILE SENZA TENDINA
   Desktop invariato, mobile clic su icona = pagina carrello
   ========================================================= */

@media (max-width: 959px) {

  .tm-header-mobile #module-132 .jb-cart-list {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .tm-header-mobile #module-132 .jb-dropdown-cart,
  .tm-header-mobile #module-132 .jb-cart-summary-wrap,
  .tm-header-mobile #module-132 .jb-cart-icon {
    cursor: pointer !important;
  }

  .tm-header-mobile #module-132 .jb-cart-header {
    display: none !important;
  }
}

/* =========================================================
   ALPE CAMPO 2026 — FIX FINALE CARRELLO / CHECKOUT
   1. elimina cerchio attorno ad Aggiorna
   2. aggiunge spazio interno ai campi form
   ========================================================= */

/* ---------------------------------------------------------
   QUANTITÀ / AGGIORNA — elimina contenitore ovale
   --------------------------------------------------------- */

#checkoutForm #allproducts .product .quantity .spacer {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;

  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;

  overflow: visible !important;
}

#checkoutForm #allproducts .product .quantity .spacer::before,
#checkoutForm #allproducts .product .quantity .spacer::after {
  content: none !important;
  display: none !important;
}

/* Input quantità */
#checkoutForm #allproducts .quantity-input,
#checkoutForm #allproducts input.quantity-input.uk-input {
  width: 44px !important;
  max-width: 44px !important;
  min-width: 44px !important;

  height: 32px !important;
  min-height: 32px !important;

  padding: 0 6px !important;

  text-align: center !important;

  background: #ffffff !important;
  border: 1px solid rgba(35, 35, 36, 0.16) !important;
  border-radius: 999px !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  box-shadow: none !important;
}

/* Icone meno / più */
#checkoutForm #allproducts .quantity-minus,
#checkoutForm #allproducts .quantity-plus {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 22px !important;
  height: 22px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #43584B !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  text-decoration: none !important;
  transform: none !important;
}

#checkoutForm #allproducts .quantity-minus svg,
#checkoutForm #allproducts .quantity-plus svg {
  width: 18px !important;
  height: 18px !important;
}

/* Bottone Aggiorna pulito */
#checkoutForm #allproducts .refreshbutton,
#checkoutForm #allproducts a.refreshbutton.uk-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 34px !important;
  min-height: 34px !important;

  margin: 0 !important;
  padding: 0 18px !important;

  color: #ffffff !important;
  background: #43584B !important;

  border: 0 !important;
  border-radius: 999px !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  box-shadow: none !important;
  outline: 0 !important;
  transform: none !important;

  transition:
    background-color 0.16s ease,
    color 0.16s ease !important;
}

#checkoutForm #allproducts .refreshbutton:hover,
#checkoutForm #allproducts .refreshbutton:focus,
#checkoutForm #allproducts .refreshbutton:active {
  color: #ffffff !important;
  background: #34473C !important;
  box-shadow: none !important;
  transform: none !important;
}

#checkoutForm #allproducts .refreshbutton::before,
#checkoutForm #allproducts .refreshbutton::after {
  content: none !important;
  display: none !important;
}

/* ---------------------------------------------------------
   FORM CHECKOUT — spazio interno ai campi
   --------------------------------------------------------- */

#checkoutForm #right_div #billto_fields_div input.uk-input,
#checkoutForm #right_div #billto_fields_div input.form-control,
#checkoutForm #right_div #billto_fields_div select.uk-select,
#checkoutForm #right_div #billto_fields_div textarea,
#checkoutForm #shipto_fields_divs input.uk-input,
#checkoutForm #shipto_fields_divs input.form-control,
#checkoutForm #shipto_fields_divs select.uk-select,
#checkoutForm #shipto_fields_divs textarea {
  padding-left: 18px !important;
  padding-right: 18px !important;

  text-indent: 0 !important;

  box-sizing: border-box !important;
}

/* Placeholder più leggibile e non appiccicato */
#checkoutForm #right_div #billto_fields_div input::placeholder,
#checkoutForm #shipto_fields_divs input::placeholder {
  color: rgba(35, 35, 36, 0.56) !important;
  opacity: 1 !important;
}

/* Campi della cassa leggermente più ordinati */
#checkoutForm #right_div #billto_fields_div .uk-margin-small,
#checkoutForm #shipto_fields_divs .uk-margin-small {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

#checkoutForm #right_div #billto_fields_div input.uk-input,
#checkoutForm #shipto_fields_divs input.uk-input {
  min-height: 42px !important;
  border-radius: 12px !important;
}

/* =========================================================
   ALPE CAMPO 2026 — FIX DEFINITIVO CERCHIO QUANTITÀ CARRELLO
   Il bordo ovale è sul contenitore .quantity, non sul bottone
   ========================================================= */

#checkoutForm #allproducts .product .top-row > .quantity,
#checkoutForm #allproducts .product .top-row .quantity.uk-width-2-5\@l,
#checkoutForm #allproducts .product .quantity {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;

  min-height: 0 !important;
  height: auto !important;

  padding: 0 !important;
  margin: 0 !important;

  overflow: visible !important;
}

#checkoutForm #allproducts .product .top-row > .quantity::before,
#checkoutForm #allproducts .product .top-row > .quantity::after,
#checkoutForm #allproducts .product .quantity::before,
#checkoutForm #allproducts .product .quantity::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Tiene ordinati input, +, -, Aggiorna */
#checkoutForm #allproducts .product .top-row > .quantity > .spacer,
#checkoutForm #allproducts .product .quantity > .spacer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;

  padding: 0 !important;
  margin: 0 !important;

  min-height: 0 !important;
  height: auto !important;

  overflow: visible !important;
}

/* Input quantità */
#checkoutForm #allproducts .quantity input.quantity-input,
#checkoutForm #allproducts .quantity input#quantity_0 {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;

  height: 32px !important;
  min-height: 32px !important;

  padding: 0 6px !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: #ffffff !important;
  color: #232324 !important;

  text-align: center !important;

  box-shadow: 0 1px 5px rgba(35, 35, 36, 0.10) !important;
}

/* Meno e più */
#checkoutForm #allproducts .quantity .quantity-minus,
#checkoutForm #allproducts .quantity .quantity-plus {
  width: 22px !important;
  height: 22px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  margin: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  color: #43584B !important;
}

/* Bottone Aggiorna */
#checkoutForm #allproducts .quantity .refreshbutton,
#checkoutForm #allproducts .quantity a.refreshbutton,
#checkoutForm #allproducts a#refreshbutton_0 {
  height: 34px !important;
  min-height: 34px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 18px !important;
  margin: 0 !important;

  background: #43584B !important;
  color: #ffffff !important;

  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  outline: 0 !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  transform: none !important;
}

#checkoutForm #allproducts .quantity .refreshbutton:hover,
#checkoutForm #allproducts a#refreshbutton_0:hover {
  background: #34473C !important;
  color: #ffffff !important;
  box-shadow: none !important;
  transform: none !important;
}

/* =========================================================
   ALPE CAMPO 2026 — CARRELLO DESKTOP SENZA TENDINA
   Click icona desktop = vai alla pagina carrello
   ========================================================= */

@media (min-width: 960px) {

  .tm-header #module-137 .jb-cart-list {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .tm-header #module-137 .jb-dropdown-cart,
  .tm-header #module-137 .jb-cart-summary-wrap,
  .tm-header #module-137 .jb-cart-icon {
    cursor: pointer !important;
  }

  .tm-header #module-137 .jb-cart-header {
    display: none !important;
  }
}

/* =========================================================
   ALPE CAMPO 2026 — FIX FINALE TAP HOME + CARRELLO QUANTITÀ
   Sostituisce i vecchi blocchi "FIX TAP MOBILE BOX / CARD" e
   "FIX DEFINITIVO TAP MOBILE BOTTONI".
   ========================================================= */

/* ---------------------------------------------------------
   1) HOME MOBILE — tap più immediato senza bloccare i figli
   --------------------------------------------------------- */

@media (max-width: 959px), (hover: none) and (pointer: coarse) {

  .ac-hero a,
  .ac-manifesto a,
  .ac-home-mappa a,
  .ac-offerte-home a,
  .ac-arrivare-home a,
  .ac-dormire-home a,
  .ac-esperienze-home a,
  .ac-block-liberta a,
  .ac-block-dormire a,
  .ac-valsesia-home a,
  .ac-recensioni-home a,
  .ac-mobile-bar a,
  .ac-hero .uk-button,
  .ac-manifesto .uk-button,
  .ac-home-mappa .uk-button,
  .ac-offerte-home .uk-button,
  .ac-arrivare-home .uk-button,
  .ac-dormire-home .uk-button,
  .ac-esperienze-home .uk-button,
  .ac-block-dormire .uk-button {
    cursor: pointer !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  /*
   * Su mobile gli hover non devono diventare "primo tap".
   * NON usiamo pointer-events:none sui figli: quello peggiorava i box.
   */
  .ac-hero .uk-button:hover,
  .ac-manifesto .uk-button:hover,
  .ac-home-mappa .uk-card:hover,
  .ac-offerte-home .uk-card:hover,
  .ac-arrivare-home .uk-card:hover,
  .ac-dormire-home .uk-card:hover,
  .ac-esperienze-cards .uk-card:hover,
  .ac-block-liberta .uk-card:hover,
  .ac-block-dormire .uk-card:hover,
  .ac-valsesia-home .uk-card.uk-card-body:hover,
  .ac-recensioni-card:hover {
    transform: none !important;
  }

  .ac-home-mappa .uk-card:hover img,
  .ac-offerte-home .uk-card:hover img,
  .ac-arrivare-home .uk-card:hover img,
  .ac-dormire-home .uk-card:hover img,
  .ac-esperienze-cards .uk-card:hover img,
  .ac-block-dormire .uk-card:hover img,
  .ac-grid-hover-soft .uk-card:hover img {
    transform: none !important;
  }

  .ac-home-mappa .uk-card,
  .ac-home-mappa .uk-card *,
  .ac-offerte-home .uk-card,
  .ac-offerte-home .uk-card *,
  .ac-arrivare-home .uk-card,
  .ac-arrivare-home .uk-card *,
  .ac-dormire-home .uk-card,
  .ac-dormire-home .uk-card *,
  .ac-esperienze-cards .uk-card,
  .ac-esperienze-cards .uk-card *,
  .ac-block-liberta .uk-card,
  .ac-block-liberta .uk-card *,
  .ac-block-dormire .uk-card,
  .ac-block-dormire .uk-card * {
    -webkit-tap-highlight-color: transparent !important;
  }

  /* Overlay decorativi: non devono intercettare il tap */
  .ac-home-mappa .uk-card::before,
  .ac-home-mappa .uk-card::after,
  .ac-offerte-home .uk-card::before,
  .ac-offerte-home .uk-card::after,
  .ac-arrivare-home .uk-card::before,
  .ac-arrivare-home .uk-card::after,
  .ac-dormire-home .uk-card::before,
  .ac-dormire-home .uk-card::after,
  .ac-esperienze-cards .uk-card::before,
  .ac-esperienze-cards .uk-card::after,
  .ac-block-liberta .uk-card::before,
  .ac-block-liberta .uk-card::after,
  .ac-block-dormire .uk-card::before,
  .ac-block-dormire .uk-card::after {
    pointer-events: none !important;
  }

  /* Bottoni home: area touch un po' più comoda */
  .ac-hero a.uk-button,
  .ac-manifesto a.uk-button,
  .ac-offerte-home a.uk-button,
  .ac-arrivare-home a.uk-button,
  .ac-dormire-home a.uk-button,
  .ac-esperienze-home a.uk-button,
  .ac-block-dormire a.uk-button {
    min-height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* ---------------------------------------------------------
   2) CARRELLO — quantità / aggiorna stabile desktop + mobile
   --------------------------------------------------------- */

#checkoutForm #allproducts .product .top-row {
  display: grid !important;
  align-items: center !important;
  column-gap: 18px !important;
  row-gap: 8px !important;
  width: 100% !important;
  margin-left: 0 !important;
}

#checkoutForm #allproducts .product .top-row > div {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

/* Desktop: titolo / quantità / prezzo */
@media (min-width: 960px) {
  #checkoutForm #allproducts .product .top-row {
    grid-template-columns: minmax(220px, 1fr) minmax(245px, 270px) minmax(82px, auto) !important;
  }

  #checkoutForm #allproducts .product .top-row > .quantity {
    justify-self: start !important;
  }

  #checkoutForm #allproducts .product .top-row > .uk-text-primary.uk-text-bold {
    justify-self: end !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
}

/* Mobile: titolo sopra, quantità e prezzo sotto ordinati */
@media (max-width: 959px) {
  #checkoutForm #allproducts .product .top-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
  }

  #checkoutForm #allproducts .product .top-row > div:first-child {
    grid-column: 1 / -1 !important;
  }

  #checkoutForm #allproducts .product .top-row > .quantity {
    grid-column: 1 / 2 !important;
    justify-self: start !important;
  }

  #checkoutForm #allproducts .product .top-row > .uk-text-primary.uk-text-bold {
    grid-column: 2 / 3 !important;
    justify-self: end !important;
    align-self: center !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
}

/* Contenitore quantità: niente ovale, niente tagli */
#checkoutForm #allproducts .product .top-row > .quantity,
#checkoutForm #allproducts .product .quantity {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 !important;
}

#checkoutForm #allproducts .product .top-row > .quantity::before,
#checkoutForm #allproducts .product .top-row > .quantity::after,
#checkoutForm #allproducts .product .quantity::before,
#checkoutForm #allproducts .product .quantity::after {
  content: none !important;
  display: none !important;
}

#checkoutForm #allproducts .product .quantity > .spacer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 7px !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;

  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;

  overflow: visible !important;
}

#checkoutForm #allproducts .quantity input.quantity-input,
#checkoutForm #allproducts .quantity input#quantity_0,
#checkoutForm #allproducts input.quantity-input.uk-input {
  flex: 0 0 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;

  height: 34px !important;
  min-height: 34px !important;

  padding: 0 6px !important;

  background: #ffffff !important;
  color: #232324 !important;

  border: 1px solid rgba(35, 35, 36, 0.12) !important;
  border-radius: 999px !important;

  box-shadow: 0 1px 5px rgba(35, 35, 36, 0.10) !important;

  text-align: center !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
}

#checkoutForm #allproducts .quantity .quantity-minus,
#checkoutForm #allproducts .quantity .quantity-plus {
  flex: 0 0 22px !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  margin: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  color: #43584B !important;
  text-decoration: none !important;
  transform: none !important;
}

#checkoutForm #allproducts .quantity .quantity-minus svg,
#checkoutForm #allproducts .quantity .quantity-plus svg {
  width: 18px !important;
  height: 18px !important;
}

#checkoutForm #allproducts .quantity .refreshbutton,
#checkoutForm #allproducts .quantity a.refreshbutton,
#checkoutForm #allproducts a#refreshbutton_0 {
  flex: 0 0 auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 96px !important;
  width: auto !important;
  max-width: none !important;

  height: 36px !important;
  min-height: 36px !important;

  margin: 0 !important;
  padding: 0 14px !important;

  background: #43584B !important;
  color: #ffffff !important;

  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  outline: 0 !important;

  font-family: Inter, system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;

  overflow: visible !important;
  transform: none !important;
  transition: background-color 0.16s ease, color 0.16s ease !important;

  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}

#checkoutForm #allproducts .quantity .refreshbutton:hover,
#checkoutForm #allproducts .quantity .refreshbutton:focus,
#checkoutForm #allproducts .quantity .refreshbutton:active,
#checkoutForm #allproducts a#refreshbutton_0:hover,
#checkoutForm #allproducts a#refreshbutton_0:focus,
#checkoutForm #allproducts a#refreshbutton_0:active {
  background: #34473C !important;
  color: #ffffff !important;
  box-shadow: none !important;
  transform: none !important;
}

#checkoutForm #allproducts .quantity .refreshbutton::before,
#checkoutForm #allproducts .quantity .refreshbutton::after,
#checkoutForm #allproducts a#refreshbutton_0::before,
#checkoutForm #allproducts a#refreshbutton_0::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 480px) {
  #checkoutForm #allproducts .product .top-row {
    grid-template-columns: 1fr !important;
  }

  #checkoutForm #allproducts .product .top-row > .quantity,
  #checkoutForm #allproducts .product .top-row > .uk-text-primary.uk-text-bold {
    grid-column: 1 / -1 !important;
  }

  #checkoutForm #allproducts .product .top-row > .uk-text-primary.uk-text-bold {
    justify-self: start !important;
    text-align: left !important;
  }

  #checkoutForm #allproducts .quantity input.quantity-input,
  #checkoutForm #allproducts .quantity input#quantity_0,
  #checkoutForm #allproducts input.quantity-input.uk-input {
    flex-basis: 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
  }

  #checkoutForm #allproducts .quantity .refreshbutton,
  #checkoutForm #allproducts .quantity a.refreshbutton,
  #checkoutForm #allproducts a#refreshbutton_0 {
    min-width: 92px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    font-size: 9px !important;
    letter-spacing: 0.07em !important;
  }
}

/* Campi checkout: testo non incollato a sinistra */
#checkoutForm #right_div #billto_fields_div input.uk-input,
#checkoutForm #right_div #billto_fields_div input.form-control,
#checkoutForm #right_div #billto_fields_div select.uk-select,
#checkoutForm #right_div #billto_fields_div textarea,
#checkoutForm #shipto_fields_divs input.uk-input,
#checkoutForm #shipto_fields_divs input.form-control,
#checkoutForm #shipto_fields_divs select.uk-select,
#checkoutForm #shipto_fields_divs textarea {
  padding-left: 18px !important;
  padding-right: 18px !important;
  text-indent: 0 !important;
  box-sizing: border-box !important;
}



/* =========================================================
   ALPE CAMPO 2026 — HOME OFFERTE CARD MICRO FIX
   Solo sezione: Offerte e pacchetti in quota
   ========================================================= */


/* =========================================================
   DESKTOP / TABLET LARGO — 4 card
   Da 1180px in su
   ========================================================= */

@media (min-width: 1180px) {

  html body #tm-main .ac-offerte-home .uk-grid.uk-grid-match {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 20px !important;

    width: 100% !important;
    margin-left: 0 !important;
  }

  html body #tm-main .ac-offerte-home .uk-grid.uk-grid-match > div {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;

    padding-left: 0 !important;
    margin: 0 !important;
  }

  html body #tm-main .ac-offerte-home .uk-card {
    height: 100% !important;
  }

  html body #tm-main .ac-offerte-home .uk-card-body {
    display: flex !important;
    flex-direction: column !important;
  }

  html body #tm-main .ac-offerte-home .uk-card .el-title.uk-h5 {
    font-size: 1.14rem !important;
    line-height: 1.16 !important;
    letter-spacing: -0.035em !important;

    min-height: 2.35em !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  html body #tm-main .ac-offerte-home .uk-card .el-content {
    margin-top: 0.75rem !important;
  }

  html body #tm-main .ac-offerte-home .uk-card .uk-card-body > .uk-margin-top:last-child {
    margin-top: auto !important;
    padding-top: 1.65rem !important;
  }

  html body #tm-main .ac-offerte-home .ac-offerte-mobile-hint {
    display: none !important;
  }
}


/* =========================================================
   TABLET / CELL ORIZZONTALE — 2 card per riga
   Da 900px a 1179px
   ========================================================= */

@media (min-width: 900px) and (max-width: 1179px) {

  html body #tm-main .ac-offerte-home .uk-grid.uk-grid-match {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 22px !important;
    row-gap: 22px !important;

    width: 100% !important;
    margin-left: 0 !important;
  }

  html body #tm-main .ac-offerte-home .uk-grid.uk-grid-match > div {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;

    padding-left: 0 !important;
    margin: 0 !important;
  }

  html body #tm-main .ac-offerte-home .uk-card {
    height: 100% !important;
  }

  html body #tm-main .ac-offerte-home .uk-card-body {
    display: flex !important;
    flex-direction: column !important;
  }

  html body #tm-main .ac-offerte-home .uk-card .el-title.uk-h5 {
    font-size: 1.14rem !important;
    line-height: 1.16 !important;
    letter-spacing: -0.035em !important;

    min-height: 2.35em !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  html body #tm-main .ac-offerte-home .uk-card .el-content {
    margin-top: 0.70rem !important;
  }

  html body #tm-main .ac-offerte-home .uk-card .uk-card-body > .uk-margin-top:last-child {
    margin-top: auto !important;
    padding-top: 1.45rem !important;
  }

  html body #tm-main .ac-offerte-home .ac-offerte-mobile-hint {
    display: none !important;
  }
}


/* =========================================================
   MOBILE — compatto, senza cambiare il comportamento slider
   Fino a 899px
   ========================================================= */

@media (max-width: 899px) {

  html body #tm-main .ac-offerte-home .uk-card-body {
    padding: 1.30rem 1.30rem 1.45rem !important;
  }

  html body #tm-main .ac-offerte-home .uk-card .el-title.uk-h5 {
    font-size: 1.08rem !important;
    line-height: 1.18 !important;
    letter-spacing: -0.03em !important;

    min-height: 2.30em !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  html body #tm-main .ac-offerte-home .uk-card .el-content {
    margin-top: 0.50rem !important;
  }

  html body #tm-main .ac-offerte-home .uk-card .uk-card-body > .uk-margin-top:last-child {
    margin-top: 1.25rem !important;
    padding-top: 0 !important;
  }
}