/*
Theme Name: Logudoro e Goceano Child
Template: astra
Version: 3.0
*/

/* ============================================================
   VARIABILI PALETTE UFFICIALE
   ============================================================ */
:root {
  --trachite:  #A35636;
  --trachite-d:#7A3E26;
  --terra:     #7E614C;
  --oro:       #D9A441;
  --oro-l:     #E8C07A;
  --azzurro:   #A9C7D8;
  --azzurro-d: #7AAFC4;
  --calcare:   #F3EBDD;
  --tortora:   #B59B84;
  --avorio:    #FAF6EF;
  --testo:     #4A3728;
  --testo-l:   #7E614C;
}

/* ============================================================
   BASE
   ============================================================ */
body {
  background-color: var(--avorio);
  color: var(--testo);
  font-family: 'Nunito', sans-serif;
}
h1,h2,h3,h4,h5,h6 { font-family: 'Montserrat', sans-serif; color: var(--testo); }
a { color: var(--trachite); }
a:hover { color: var(--trachite-d); }

/* ============================================================
   HEADER — logo a sinistra, menu a destra, NO titolo testo
   ============================================================ */
.ast-primary-header-bar,
.site-header,
#masthead {
  background-color: var(--avorio) !important;
  border-bottom: 2px solid var(--trachite) !important;
  box-shadow: 0 2px 12px rgba(163,86,54,0.08) !important;
}

/* Nasconde il titolo testo del sito accanto al logo */
.site-title,
.ast-site-title-wrap .site-title,
.ast-header-logo-target .site-title,
.header-site-title,
span.ast-site-title-wrap,
.ast-site-title-wrap a span,
.custom-logo-link + .ast-site-title-wrap,
.ast-site-title-wrap {
  display: none !important;
}

/* Logo dimensioni */
.custom-logo,
.ast-custom-logo img {
  max-height: 100px !important;
  width: auto !important;
}

/* Header layout: logo sinistra, menu destra, tutto su una riga */
.ast-primary-header-bar .ast-container,
.ast-primary-header-bar .ast-flex {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
}

.ast-header-logo-target {
  flex-shrink: 0 !important;
}

/* Menu principale — tutto su una riga */
#ast-desktop-header .main-header-menu,
.main-navigation .menu,
.ast-primary-header-bar .main-header-menu {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Voci menu */
.main-navigation a,
.ast-primary-header-bar .main-header-menu a,
.ast-builder-menu-1 .menu-item a,
#ast-desktop-header .menu-item > a {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--terra) !important;
  padding: 8px 12px !important;
  white-space: nowrap !important;
  transition: color 0.2s !important;
  text-decoration: none !important;
}

.main-navigation a:hover,
.ast-primary-header-bar .main-header-menu a:hover,
#ast-desktop-header .menu-item > a:hover {
  color: var(--trachite) !important;
}

.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
  color: var(--trachite) !important;
  border-bottom: 2px solid var(--trachite) !important;
}

/* Dropdown sottomenu */
.main-navigation .sub-menu {
  background: var(--avorio) !important;
  border: 1px solid var(--calcare) !important;
  border-top: 2px solid var(--trachite) !important;
  box-shadow: 0 4px 16px rgba(163,86,54,0.1) !important;
}

/* ============================================================
   HAMBURGER MENU MOBILE
   ============================================================ */
@media (max-width: 920px) {
  /* Nascondi menu desktop */
  #ast-desktop-header,
  .ast-primary-header-bar .main-navigation,
  .ast-primary-header-bar .ast-builder-menu {
    display: none !important;
  }

  /* Mostra header mobile */
  .ast-mobile-header-wrap,
  #ast-mobile-header {
    display: flex !important;
  }

  /* Bottone hamburger */
  .ast-menu-toggle,
  .ast-mobile-menu-trigger,
  button.ast-menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 2px solid var(--trachite) !important;
    border-radius: 4px !important;
    padding: 8px !important;
    cursor: pointer !important;
    color: var(--trachite) !important;
  }

  .ast-menu-toggle svg,
  .ast-menu-toggle span {
    color: var(--trachite) !important;
    fill: var(--trachite) !important;
  }

  /* Menu mobile aperto */
  .ast-mobile-popup-drawer,
  .ast-mobile-nav-wrap {
    background: var(--avorio) !important;
    border-top: 2px solid var(--trachite) !important;
  }

  .ast-mobile-popup-drawer .menu-item a,
  .ast-mobile-nav-wrap .menu-item a {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: var(--terra) !important;
    padding: 14px 20px !important;
    border-bottom: 1px solid var(--calcare) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
  }
}

/* ============================================================
   PULSANTI GLOBALI
   ============================================================ */
.ast-button, .wp-block-button__link, .button, input[type="submit"] {
  background-color: var(--trachite) !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border: none !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer, #colophon, .ast-footer-overlay {
  background-color: var(--terra) !important;
  color: var(--calcare) !important;
  border-top: 3px solid var(--trachite) !important;
}
.site-footer a, #colophon a { color: var(--oro-l) !important; }

/* ============================================================
   HERO FULL SCREEN
   ============================================================ */
.lg-hero {
  position: relative;
  width: 100vw;
  min-height: 100vh;
  margin-left: calc(-50vw + 50%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--terra);
}
.lg-hero-bg {
  position: absolute;
  top:0;left:0;right:0;bottom:0;
  background-size: cover;
  background-position: center 30%;
}
.lg-hero-overlay {
  position: absolute;
  top:0;left:0;right:0;bottom:0;
  background: linear-gradient(to bottom, rgba(126,97,76,0.42) 0%, rgba(126,97,76,0.22) 40%, rgba(74,55,40,0.70) 100%);
}
.lg-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;
  padding: 40px 24px;
  max-width: 900px;
  margin: 0 auto;
}
.lg-hero-logo {
  width: 180px;
  max-width: 50vw;
  margin: 0 auto 28px;
  display: block;
  background: rgba(255,255,255,0.94);
  border-radius: 50%;
  padding: 14px;
  filter: drop-shadow(0 4px 20px rgba(74,55,40,0.4));
}
.lg-hero-eyebrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--oro-l);
  display: block;
  margin-bottom: 18px;
}
.lg-hero h1 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(2.2rem, 5vw, 4.2rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.1;
  margin: 0 0 18px;
  text-shadow: 0 2px 20px rgba(74,55,40,0.5);
}
.lg-hero-sub {
  font-family: 'Nunito', sans-serif;
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: var(--calcare);
  margin: 0 auto 40px;
  line-height: 1.7;
  max-width: 600px;
}
.lg-hero-cta {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.lg-btn-primary {
  background: var(--trachite);
  color: #fff !important;
  padding: 15px 36px;
  border-radius: 4px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none !important;
  display: inline-block;
  transition: background 0.2s;
}
.lg-btn-primary:hover { background: var(--trachite-d); color: #fff !important; }
.lg-btn-outline {
  background: transparent;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.85);
  padding: 13px 34px;
  border-radius: 4px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none !important;
  display: inline-block;
  transition: all 0.2s;
}
.lg-btn-outline:hover { background: rgba(255,255,255,0.18); }
.lg-hero-scroll {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,0.65);
  font-family: 'Montserrat', sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.lg-scroll-line {
  width: 1px;
  height: 36px;
  background: linear-gradient(to bottom, rgba(255,255,255,0.65), transparent);
}

/* ============================================================
   INTRO
   ============================================================ */
.lg-intro {
  padding: 72px 24px;
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}
.lg-intro-badge {
  display: inline-block;
  background: var(--calcare);
  color: var(--trachite);
  font-family: 'Montserrat', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: 2px;
  margin-bottom: 22px;
  border: 1px solid var(--tortora);
}
.lg-intro h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  font-weight: 800;
  color: var(--testo);
  line-height: 1.2;
  margin-bottom: 18px;
}
.lg-intro p {
  font-family: 'Nunito', sans-serif;
  font-size: 1.05rem;
  color: var(--testo-l);
  line-height: 1.8;
}

/* ============================================================
   SEZIONE TEMI — 3 CARD CON IMMAGINE (FIX COMPLETO)
   ============================================================ */
.lg-themes {
  background: var(--terra);
  padding: 72px 24px;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
.lg-themes-inner { max-width: 1200px; margin: 0 auto; }
.lg-themes-title {
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.5rem, 2.5vw, 2.2rem);
  font-weight: 800;
  color: var(--calcare);
  margin-bottom: 8px;
}
.lg-themes-sub {
  text-align: center;
  font-family: 'Nunito', sans-serif;
  font-size: 0.95rem;
  color: var(--azzurro);
  margin-bottom: 48px;
}

/* GRIGLIA 3 COLONNE FISSE */
.lg-themes-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}
@media (max-width: 900px) {
  .lg-themes-grid { grid-template-columns: 1fr !important; }
}

/* CARD TEMATICA — struttura con immagine reale */
.lg-theme-card {
  display: block !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  transition: transform 0.3s, box-shadow 0.3s !important;
  box-shadow: 0 4px 20px rgba(74,55,40,0.25) !important;
  background: var(--testo) !important;
  position: relative !important;
}
.lg-theme-card:hover { transform: translateY(-4px) !important; box-shadow: 0 12px 36px rgba(74,55,40,0.35) !important; }

/* Immagine della card */
.lg-theme-card-img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s !important;
}
.lg-theme-card:hover .lg-theme-card-img { transform: scale(1.05) !important; }

/* Body della card */
.lg-theme-card-body {
  padding: 22px 24px 26px !important;
  background: var(--testo) !important;
}
.lg-theme-tag {
  display: inline-block !important;
  background: var(--trachite) !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  border-radius: 2px !important;
  margin-bottom: 10px !important;
}
.lg-theme-card-body h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--calcare) !important;
  margin: 0 0 8px !important;
}
.lg-theme-card-body p {
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.88rem !important;
  color: rgba(243,235,221,0.8) !important;
  margin: 0 0 14px !important;
  line-height: 1.55 !important;
}
.lg-theme-link {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--oro-l) !important;
  text-decoration: none !important;
}

/* ============================================================
   NUMERI
   ============================================================ */
.lg-numbers {
  padding: 64px 24px;
  background: var(--calcare);
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  border-top: 3px solid var(--tortora);
  border-bottom: 3px solid var(--tortora);
}
.lg-numbers-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  text-align: center;
}
@media (max-width: 700px) { .lg-numbers-inner { grid-template-columns: repeat(2, 1fr); } }
.lg-number-val {
  font-family: 'Montserrat', sans-serif;
  font-size: 2.8rem;
  font-weight: 900;
  color: var(--trachite);
  line-height: 1;
  display: block;
  margin-bottom: 6px;
}
.lg-number-label {
  font-family: 'Nunito', sans-serif;
  font-size: 0.9rem;
  color: var(--terra);
  font-weight: 600;
}

/* ============================================================
   SEZIONE TERRITORIO — DUE COLONNE AFFIANCATE (FIX)
   ============================================================ */
.lg-territorio {
  padding: 72px 24px;
  background: var(--avorio);
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
.lg-territorio-inner { max-width: 1200px; margin: 0 auto; }
.lg-territorio-header {
  text-align: center;
  margin-bottom: 48px;
}
.lg-territorio-header h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 800;
  color: var(--testo);
  margin-bottom: 10px;
}
.lg-territorio-header p {
  font-family: 'Nunito', sans-serif;
  font-size: 1rem;
  color: var(--testo-l);
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.7;
}

/* SPLIT — FORZA 2 COLONNE AFFIANCATE */
.lg-territorio-split {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  margin-bottom: 48px !important;
  align-items: start !important;
}
@media (max-width: 800px) {
  .lg-territorio-split { grid-template-columns: 1fr !important; }
}

.lg-territorio-col {
  background: var(--calcare);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 14px rgba(163,86,54,0.07);
  display: flex !important;
  flex-direction: column !important;
}
.lg-territorio-col-img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  display: block !important;
  flex-shrink: 0 !important;
}
.lg-territorio-col-body {
  padding: 24px 26px 28px;
  flex: 1;
}
.lg-territorio-col-badge {
  display: inline-block;
  background: var(--trachite);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 3px 12px;
  border-radius: 2px;
  margin-bottom: 12px;
}
.lg-territorio-col-body h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--testo);
  margin-bottom: 10px;
}
.lg-territorio-col-body p {
  font-family: 'Nunito', sans-serif;
  font-size: 0.92rem;
  color: var(--testo-l);
  line-height: 1.7;
  margin-bottom: 14px;
}
.lg-attrazioni-list {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.lg-attrazioni-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 0.88rem;
  color: var(--terra);
  font-weight: 600;
  line-height: 1.4;
}
.lg-attrazioni-list li::before {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  background: var(--trachite);
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 5px;
}
.lg-territorio-link {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--trachite) !important;
  text-decoration: none !important;
  border-bottom: 2px solid var(--trachite);
  padding-bottom: 2px;
}

/* ============================================================
   ITINERARI — REDESIGN LEGGIBILE (LISTA ORIZZONTALE)
   ============================================================ */
.lg-itinerari {
  background: var(--terra);
  border-radius: 10px;
  padding: 36px 40px;
}
.lg-itinerari h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--calcare);
  margin-bottom: 28px;
  text-align: center;
}
.lg-itinerari-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 800px) {
  .lg-itinerari-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .lg-itinerari-grid { grid-template-columns: 1fr; }
}
.lg-itinerario-item {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(243,235,221,0.15);
  border-left: 3px solid var(--oro);
  border-radius: 6px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.lg-itinerario-item h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--oro-l);
  margin: 0;
}
.lg-itinerario-item p {
  font-family: 'Nunito', sans-serif;
  font-size: 0.82rem;
  color: rgba(243,235,221,0.78);
  line-height: 1.5;
  margin: 0;
  flex: 1;
}
.lg-itinerario-durata {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--azzurro);
  margin-top: 4px;
}

/* ============================================================
   CARD SEZIONI (DOVE DORMIRE / MANGIARE / COSA FARE)
   Layout come nell'immagine di riferimento:
   - Griglia 3 colonne fisse
   - Immagine + testo sotto, allineati
   ============================================================ */
.lg-cards-section {
  padding: 72px 24px;
  max-width: 1200px;
  margin: 0 auto;
}
.lg-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
  flex-wrap: wrap;
  gap: 10px;
  border-bottom: 2px solid var(--calcare);
  padding-bottom: 14px;
}
.lg-section-header h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  font-weight: 800;
  color: var(--testo);
  margin: 0;
}
.lg-section-header a {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--trachite) !important;
  text-decoration: none !important;
  white-space: nowrap;
}

/* GRIGLIA 3 COLONNE — allineamento perfetto */
.lg-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}
@media (max-width: 900px) {
  .lg-cards-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 580px) {
  .lg-cards-grid { grid-template-columns: 1fr !important; }
}

.lg-card {
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 2px 12px rgba(163,86,54,0.07) !important;
  text-decoration: none !important;
  transition: box-shadow 0.2s, transform 0.2s !important;
  display: flex !important;
  flex-direction: column !important;
}
.lg-card:hover {
  box-shadow: 0 8px 28px rgba(163,86,54,0.14) !important;
  transform: translateY(-3px) !important;
}
.lg-card-img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  flex-shrink: 0 !important;
}
.lg-card-body {
  padding: 18px 20px 22px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
.lg-card-type {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--trachite) !important;
  display: block !important;
  margin-bottom: 5px !important;
}
.lg-card-body h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.98rem !important;
  font-weight: 800 !important;
  color: var(--testo) !important;
  margin: 0 0 7px !important;
}
.lg-card-body p {
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.86rem !important;
  color: var(--testo-l) !important;
  margin: 0 !important;
  line-height: 1.55 !important;
  flex: 1 !important;
}

/* ============================================================
   BANNER INTERMEDIO
   ============================================================ */
.lg-banner {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  height: 440px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.lg-banner-bg {
  position: absolute;
  top:0;left:0;right:0;bottom:0;
  background-size: cover;
  background-position: center;
}
.lg-banner-overlay {
  position: absolute;
  top:0;left:0;right:0;bottom:0;
  background: linear-gradient(135deg, rgba(126,97,76,0.7) 0%, rgba(163,86,54,0.42) 100%);
}
.lg-banner-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;
  padding: 40px 24px;
  max-width: 640px;
}
.lg-banner-content h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.7rem, 3.5vw, 2.8rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: 14px;
  text-shadow: 0 2px 12px rgba(74,55,40,0.4);
}
.lg-banner-content p {
  font-family: 'Nunito', sans-serif;
  font-size: 1.05rem;
  color: var(--calcare);
  margin-bottom: 28px;
  line-height: 1.7;
}

/* ============================================================
   SEZIONE COSA FARE — sfondo calcare
   ============================================================ */
.lg-cosa-fare-section {
  background: var(--calcare) !important;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  padding: 72px 24px !important;
}
.lg-cosa-fare-inner {
  max-width: 1200px;
  margin: 0 auto;
}

/* ============================================================
   CTA FINALE
   ============================================================ */
.lg-cta-section {
  padding: 72px 24px;
  background: var(--trachite);
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  text-align: center;
}
.lg-cta-section h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.5rem, 2.5vw, 2.2rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: 14px;
}
.lg-cta-section p {
  font-family: 'Nunito', sans-serif;
  font-size: 1.05rem;
  color: rgba(243,235,221,0.9);
  margin: 0 auto 32px;
  max-width: 560px;
  line-height: 1.7;
}
.lg-btn-white {
  background: #fff;
  color: var(--trachite) !important;
  padding: 15px 40px;
  border-radius: 4px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 0.88rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none !important;
  display: inline-block;
  transition: background 0.2s;
}
.lg-btn-white:hover { background: var(--calcare); }

/* ============================================================
   OVERRIDE GLOBALE — ELIMINA SFONDI SCURI NON BRAND
   ============================================================ */
.entry-content p, .entry-content li { color: var(--testo); }

/* Pagine interne */
.ast-page-title-wrap, .entry-header {
  background: var(--calcare) !important;
  border-bottom: 2px solid var(--tortora) !important;
  padding: 36px 24px !important;
}
.entry-title, .ast-archive-title {
  font-family: 'Montserrat', sans-serif !important;
  color: var(--testo) !important;
}

/* Widget */
.widget-title { font-family: 'Montserrat', sans-serif !important; color: var(--trachite) !important; }
.widget { background: var(--calcare) !important; border-radius: 6px !important; padding: 18px !important; border: 1px solid var(--tortora) !important; }

/* ============================================================
   RESPONSIVE MOBILE
   ============================================================ */
@media (max-width: 768px) {
  .lg-hero { min-height: 100svh; }
  .lg-hero-logo { width: 140px; padding: 10px; }
  .lg-hero h1 { font-size: 1.9rem; }
  .lg-cards-section { padding: 44px 16px; }
  .lg-themes { padding: 48px 16px; }
  .lg-numbers { padding: 44px 16px; }
  .lg-banner { height: 340px; }
  .lg-cta-section { padding: 52px 16px; }
  .lg-territorio { padding: 48px 16px; }
  .lg-itinerari { padding: 24px 18px; }
  .lg-itinerari-grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   FIX CARD TEMATICHE — 3 colonne orizzontali, immagine sopra
   ============================================================ */

/* Forza la sezione temi a larghezza piena */
.lg-themes {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  padding: 72px 32px !important;
}

/* Griglia 3 colonne fisse */
.lg-themes-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* Card: colonna verticale (immagine sopra, testo sotto) */
.lg-theme-card {
  display: flex !important;
  flex-direction: column !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  transition: transform 0.3s, box-shadow 0.3s !important;
  box-shadow: 0 4px 20px rgba(74,55,40,0.25) !important;
  background: #4A3728 !important;
  height: auto !important;
  position: static !important;
}

.lg-theme-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 36px rgba(74,55,40,0.35) !important;
}

/* Immagine in cima alla card */
.lg-theme-card-img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  flex-shrink: 0 !important;
  transition: transform 0.5s !important;
}

.lg-theme-card:hover .lg-theme-card-img {
  transform: scale(1.04) !important;
}

/* Body della card sotto l'immagine */
.lg-theme-card-body {
  padding: 20px 22px 24px !important;
  background: #4A3728 !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.lg-theme-tag {
  display: inline-block !important;
  background: #A35636 !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  border-radius: 2px !important;
  margin-bottom: 10px !important;
}

.lg-theme-card-body h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: #F3EBDD !important;
  margin: 0 0 8px !important;
}

.lg-theme-card-body p {
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.86rem !important;
  color: rgba(243,235,221,0.78) !important;
  margin: 0 0 14px !important;
  line-height: 1.55 !important;
  flex: 1 !important;
}

.lg-theme-link {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #E8C07A !important;
  text-decoration: none !important;
}

@media (max-width: 900px) {
  .lg-themes-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   FIX SEZIONE TERRITORIO — 2 colonne affiancate
   ============================================================ */
.lg-territorio-split {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 28px !important;
  margin-bottom: 40px !important;
}

@media (max-width: 800px) {
  .lg-territorio-split { grid-template-columns: 1fr !important; }
}

/* ============================================================
   FIX CARD SEZIONI (DOVE DORMIRE / MANGIARE / COSA FARE)
   ============================================================ */
.lg-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
  align-items: start !important;
}

@media (max-width: 900px) {
  .lg-cards-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 580px) {
  .lg-cards-grid { grid-template-columns: 1fr !important; }
}

.lg-card {
  display: flex !important;
  flex-direction: column !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 2px 12px rgba(163,86,54,0.07) !important;
  text-decoration: none !important;
  transition: box-shadow 0.2s, transform 0.2s !important;
  height: 100% !important;
}

.lg-card:hover {
  box-shadow: 0 8px 28px rgba(163,86,54,0.14) !important;
  transform: translateY(-3px) !important;
}

.lg-card-img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  flex-shrink: 0 !important;
}

.lg-card-body {
  padding: 16px 18px 20px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* ============================================================
   FIX ITINERARI — griglia 3 colonne leggibile
   ============================================================ */
.lg-itinerari-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
}

@media (max-width: 800px) {
  .lg-itinerari-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 520px) {
  .lg-itinerari-grid { grid-template-columns: 1fr !important; }
}

/* ============================================================
   FIX COSA FARE — sfondo calcare full-width
   ============================================================ */
.lg-cosa-fare-section {
  background: #F3EBDD !important;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  padding: 72px 32px !important;
}
.lg-cosa-fare-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* ============================================================
   HEADER — rimuovi titolo testo definitivamente
   ============================================================ */
.site-title,
.ast-site-title-wrap .site-title,
.ast-site-title-wrap,
span.ast-site-title-wrap,
.header-site-title,
.ast-header-logo-target .site-title,
.ast-site-name-wrap {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* === CARD TEMATICHE con wrapper div === */
.lg-themes-grid {
}
.lg-theme-card-wrap {
  border-radius: 8px;
  overflow: hidden;
  background: #4A3728;
  box-shadow: 0 4px 20px rgba(74,55,40,0.25);
  transition: transform 0.3s, box-shadow 0.3s;
  display: flex;
  flex-direction: column;
}
.lg-theme-card-wrap:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(74,55,40,0.35);
}
.lg-theme-card-link {
}
.lg-theme-card-img-wrap {
  overflow: hidden;
  flex-shrink: 0;
}
.lg-theme-card-img-wrap .lg-theme-card-img {
}
.lg-theme-card-wrap:hover .lg-theme-card-img {
}
@media (max-width: 900px) {
}

/* === CARD TEMATICHE con wrapper div — 3 colonne orizzontali === */
.lg-themes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

.lg-theme-card-wrap {
  border-radius: 8px;
  overflow: hidden;
  background: #4A3728;
  box-shadow: 0 4px 20px rgba(74,55,40,0.25);
  transition: transform 0.3s, box-shadow 0.3s;
  display: flex;
  flex-direction: column;
}

.lg-theme-card-wrap:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(74,55,40,0.35);
}

.lg-theme-card-link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  height: 100%;
  color: inherit;
}

.lg-theme-card-img-wrap {
  overflow: hidden;
  flex-shrink: 0;
}

.lg-theme-card-img-wrap .lg-theme-card-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.5s;
}

.lg-theme-card-wrap:hover .lg-theme-card-img {
  transform: scale(1.05);
}

@media (max-width: 900px) {
  .lg-themes-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   FIX DEFINITIVO — Itinerari leggibili + Allineamento sezioni
   ============================================================ */

/* --- WRAPPER GLOBALE per tutte le sezioni a larghezza fissa --- */
.lg-page-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

/* --- SEZIONI CARD: contenitore centrato uniforme --- */
.lg-cards-section {
  padding: 72px 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  background: var(--avorio);
}
.lg-cards-section > * {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}
.lg-section-header {
  max-width: 1200px;
  margin: 0 auto 32px auto !important;
  padding: 0 24px 14px 24px !important;
  box-sizing: border-box;
}
.lg-cards-grid {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}
@media (max-width: 900px) {
  .lg-cards-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 580px) {
  .lg-cards-grid { grid-template-columns: 1fr !important; }
}

/* --- SEZIONE COSA FARE: stesso allineamento --- */
.lg-cosa-fare-section {
  background: var(--calcare) !important;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  padding: 72px 0 !important;
}
.lg-cosa-fare-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}
.lg-cosa-fare-inner .lg-section-header {
  padding: 0 0 14px 0 !important;
  margin: 0 0 32px 0 !important;
}
.lg-cosa-fare-inner .lg-cards-grid {
  padding: 0 !important;
  margin: 0 !important;
}

/* --- SEZIONE TERRITORIO: contenitore uniforme --- */
.lg-territorio {
  padding: 80px 0 !important;
  background: var(--avorio) !important;
}
.lg-territorio-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

/* --- ITINERARI: FIX TESTO LEGGIBILE su sfondo scuro --- */
.lg-itinerari {
  background: var(--terra) !important;
  border-radius: 10px !important;
  padding: 40px 40px !important;
  margin-top: 48px !important;
}
.lg-itinerari h3 {
  color: #F3EBDD !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  margin-bottom: 28px !important;
  text-align: center !important;
}
.lg-itinerari-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
}
.lg-itinerario-item {
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(243,235,221,0.25) !important;
  border-left: 4px solid #D9A441 !important;
  border-radius: 6px !important;
  padding: 18px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.lg-itinerario-item h4 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #E8C07A !important;
  margin: 0 !important;
}
.lg-itinerario-item p {
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.84rem !important;
  color: #F3EBDD !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  flex: 1 !important;
  opacity: 0.92 !important;
}
.lg-itinerario-durata {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #A9C7D8 !important;
  margin-top: 4px !important;
}
@media (max-width: 800px) {
  .lg-itinerari-grid { grid-template-columns: 1fr 1fr !important; }
  .lg-itinerari { padding: 28px 20px !important; }
}
@media (max-width: 520px) {
  .lg-itinerari-grid { grid-template-columns: 1fr !important; }
}

/* --- NUMERI: centrati e uniformi --- */
.lg-numbers {
  background: var(--calcare) !important;
  padding: 60px 24px !important;
}
.lg-numbers-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  text-align: center !important;
}
@media (max-width: 700px) {
  .lg-numbers-inner { grid-template-columns: repeat(2, 1fr) !important; }
}

/* --- INTRO: centrata e uniforme --- */
.lg-intro {
  padding: 80px 24px !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

/* --- BANNER: larghezza piena, contenuto centrato --- */
.lg-banner {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
}
.lg-banner-content {
  max-width: 640px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
}

/* --- CTA FINALE: centrata --- */
.lg-cta-section {
  background: var(--trachite) !important;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  padding: 80px 24px !important;
  text-align: center !important;
}
.lg-cta-section h2,
.lg-cta-section p {
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* --- SEZIONE TEMI: contenitore uniforme --- */
.lg-themes {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  padding: 72px 24px !important;
  background: var(--terra) !important;
  box-sizing: border-box !important;
}
.lg-themes-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
}
.lg-themes-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  max-width: 100% !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  .lg-themes-grid { grid-template-columns: 1fr !important; }
}

/* --- TERRITORIO SPLIT: 2 colonne affiancate --- */
.lg-territorio-split {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  margin-bottom: 40px !important;
  align-items: start !important;
}
@media (max-width: 800px) {
  .lg-territorio-split { grid-template-columns: 1fr !important; }
}
.lg-territorio-col {
  background: var(--calcare) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 16px rgba(163,86,54,0.08) !important;
}
.lg-territorio-col-img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
}
.lg-territorio-col-body {
  padding: 24px 26px 28px !important;
}
.lg-attrazioni-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
}
.lg-attrazioni-list li {
  padding: 5px 0 5px 18px !important;
  position: relative !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.88rem !important;
  color: var(--testo) !important;
  border-bottom: 1px solid rgba(163,86,54,0.1) !important;
}
.lg-attrazioni-list li::before {
  content: '→' !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--trachite) !important;
  font-size: 0.75rem !important;
}

/* ============================================================
   FIX DEFINITIVO CARD — layout verticale forzato
   Immagine sopra, testo sotto, 3 colonne affiancate
   ============================================================ */

/* Griglia 3 colonne — override totale */
.lg-cards-grid,
.entry-content .lg-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Ogni card: colonna verticale */
.lg-card,
.entry-content .lg-card,
a.lg-card {
  display: flex !important;
  flex-direction: column !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #FFFFFF !important;
  box-shadow: 0 2px 12px rgba(163,86,54,0.08) !important;
  text-decoration: none !important;
  transition: box-shadow 0.2s, transform 0.2s !important;
  width: 100% !important;
  height: auto !important;
  float: none !important;
}

.lg-card:hover,
a.lg-card:hover {
  box-shadow: 0 8px 28px rgba(163,86,54,0.16) !important;
  transform: translateY(-3px) !important;
}

/* Immagine in cima */
.lg-card img,
.lg-card .lg-card-img,
a.lg-card img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  flex-shrink: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  max-width: 100% !important;
}

/* Body testo sotto */
.lg-card-body,
.entry-content .lg-card-body {
  padding: 18px 20px 22px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  background: #FFFFFF !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.lg-card-type {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #A35636 !important;
  display: block !important;
  margin-bottom: 6px !important;
}

.lg-card-body h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.98rem !important;
  font-weight: 800 !important;
  color: #4A3728 !important;
  margin: 0 0 8px !important;
}

.lg-card-body p {
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.86rem !important;
  color: #7E614C !important;
  margin: 0 !important;
  line-height: 1.55 !important;
  flex: 1 !important;
}

/* Sezione header uniforme */
.lg-section-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 32px !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  border-bottom: 2px solid #F3EBDD !important;
  padding-bottom: 14px !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* Sezione cards: padding uniforme */
.lg-cards-section {
  padding: 72px 0 !important;
  background: #FAF6EF !important;
  width: 100% !important;
}

/* Responsive */
@media (max-width: 900px) {
  .lg-cards-grid,
  .entry-content .lg-cards-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 580px) {
  .lg-cards-grid,
  .entry-content .lg-cards-grid {
    grid-template-columns: 1fr !important;
  }
}

/* === OVERRIDE FINALE ASTRA: card immagine full-width === */
.entry-content a.lg-card,
.entry-content .lg-card,
a.lg-card {
}
.entry-content a.lg-card img,
.entry-content .lg-card img,
a.lg-card img.lg-card-img,
.lg-card img {
}
.entry-content .lg-cards-grid a,
.lg-cards-grid a.lg-card {
}

/* === OVERRIDE FINALE ASTRA: card immagine full-width === */
.entry-content a.lg-card,
.entry-content .lg-card,
a.lg-card {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
.entry-content a.lg-card img,
.entry-content .lg-card img,
a.lg-card img.lg-card-img,
.lg-card img {
  width: 100% !important;
  max-width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  align-self: auto !important;
}
.entry-content .lg-cards-grid a,
.lg-cards-grid a.lg-card {
  display: flex !important;
  flex-direction: column !important;
}
/* Forza la griglia a non usare il layout Astra di default */
.lg-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}
/* Rimuove qualsiasi float o inline-block residuo */
.lg-cards-grid > * {
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
}
@media (max-width: 900px) {
  .lg-cards-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 580px) {
  .lg-cards-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ===== FIX DEFINITIVO CARD IMMAGINI ===== */
/* Forza tutte le immagini dentro link con stile inline a larghezza piena */
a[style*="flex-direction:column"] img,
a[style*="flex-direction: column"] img {
  width: 100% !important;
  max-width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Fix per le card nella griglia */
div[style*="grid-template-columns"] > a {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

div[style*="grid-template-columns"] > a > img {
  width: 100% !important;
  max-width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  flex-shrink: 0 !important;
}

/* Fix per la sezione Tre ragioni per venire con sfondo terra */
div[style*="background:#7E614C"] div[style*="grid-template-columns"] > a > img,
div[style*="background: #7E614C"] div[style*="grid-template-columns"] > a > img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Rimuovi qualsiasi float o display inline che Astra potrebbe applicare */
.entry-content a img,
.post-content a img {
  display: block;
  max-width: 100%;
}

/* ===== HERO BACKGROUND IMAGE FIX ===== */
.entry-content > div[style*='background-image'] {
}

/* Forza l'hero a occupare tutta la larghezza */
.site-content .entry-content,
.ast-article-single .entry-content {
}

.entry-content > div[style*='100vh'] {
}

/* Rimuovi il padding del container Astra sulla homepage */
.ast-page-builder-template .entry-content {
}

.ast-page-builder-template .site-content {
}

/* ===== HERO BACKGROUND IMAGE FIX ===== */
.entry-content > div[style*="background-image"] {
  background-attachment: scroll !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Forza l'hero a occupare tutta la larghezza */
.site-content .entry-content,
.ast-article-single .entry-content {
  overflow: visible !important;
}

.entry-content > div[style*="100vh"] {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
}

/* Rimuovi il padding del container Astra sulla homepage */
.ast-page-builder-template .entry-content {
  padding: 0 !important;
  margin: 0 !important;
}

.ast-page-builder-template .site-content {
  padding: 0 !important;
}

/* Fix per il layout full-width della homepage */
.page-id-7 .entry-content,
.home .entry-content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

.page-id-7 .ast-container,
.home .ast-container {
  max-width: 100% !important;
  padding: 0 !important;
}

/* ============================================================
   LOGUDORO E GOCEANO — CSS RESPONSIVE COMPLETO
   Breakpoints: tablet 1024px, mobile 768px, small 480px
   ============================================================ */

/* ---- RESET GLOBALE CENTRATURA ---- */
.logudoro-homepage {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

.logudoro-homepage * {
  box-sizing: border-box;
}

/* Tutti i contenitori interni centrati */
.logudoro-homepage [style*="max-width:1200px"],
.logudoro-homepage [style*="max-width: 1200px"],
.logudoro-homepage [style*="max-width:900px"],
.logudoro-homepage [style*="max-width: 900px"],
.logudoro-homepage [style*="max-width:780px"],
.logudoro-homepage [style*="max-width: 780px"] {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ---- HERO FULL-SCREEN ---- */
.logudoro-homepage [style*="100vh"] {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---- HEADER / MENU ---- */
.main-header-bar {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  background: #FAF6EF !important;
  box-shadow: 0 2px 8px rgba(163,86,54,0.12) !important;
}

/* ============================================================
   TABLET — max-width: 1024px
   ============================================================ */
@media (max-width: 1024px) {

  /* Griglia 3 colonne → 2 colonne su tablet */
  .logudoro-homepage [style*="grid-template-columns:repeat(3,1fr)"],
  .logudoro-homepage [style*="grid-template-columns: repeat(3, 1fr)"],
  .logudoro-homepage [style*="repeat(3,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Griglia 4 colonne numeri → 2 colonne */
  .logudoro-homepage [style*="grid-template-columns:repeat(4,1fr)"],
  .logudoro-homepage [style*="repeat(4,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Itinerari: 3 col → 2 col */
  .logudoro-homepage [style*="repeat(3,1fr)"][style*="gap:20px"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Padding ridotto */
  .logudoro-homepage [style*="padding:64px 24px"] {
    padding: 48px 20px !important;
  }
}

/* ============================================================
   MOBILE — max-width: 768px
   ============================================================ */
@media (max-width: 768px) {

  /* ---- HERO ---- */
  .logudoro-homepage [style*="100vh"] {
    height: 100svh !important;
    min-height: 500px !important;
  }

  .logudoro-homepage [style*="100vh"] h1 {
    font-size: clamp(1.8rem, 8vw, 2.8rem) !important;
  }

  .logudoro-homepage [style*="100vh"] p {
    font-size: 0.95rem !important;
    padding: 0 10px !important;
  }

  /* Bottoni CTA hero in colonna */
  .logudoro-homepage [style*="100vh"] [style*="display:flex"][style*="gap:16px"] {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .logudoro-homepage [style*="100vh"] [style*="display:flex"][style*="gap:16px"] a {
    width: 260px !important;
    text-align: center !important;
  }

  /* ---- TUTTE LE GRIGLIE → 1 COLONNA ---- */
  .logudoro-homepage [style*="grid-template-columns:repeat(3,1fr)"],
  .logudoro-homepage [style*="grid-template-columns: repeat(3, 1fr)"],
  .logudoro-homepage [style*="repeat(3,1fr)"],
  .logudoro-homepage [style*="grid-template-columns:repeat(2,1fr)"],
  .logudoro-homepage [style*="repeat(2,1fr)"],
  .logudoro-homepage [style*="grid-template-columns:1fr 1fr"],
  .logudoro-homepage [style*="1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }

  /* Numeri: 4 col → 2 col su mobile */
  .logudoro-homepage [style*="grid-template-columns:repeat(4,1fr)"],
  .logudoro-homepage [style*="repeat(4,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  /* ---- SEZIONI PADDING ---- */
  .logudoro-homepage [style*="padding:64px 24px"],
  .logudoro-homepage [style*="padding:48px 24px"] {
    padding: 40px 16px !important;
  }

  /* ---- TITOLI SEZIONI ---- */
  .logudoro-homepage h2 {
    font-size: clamp(1.3rem, 5vw, 1.8rem) !important;
  }

  .logudoro-homepage h3 {
    font-size: 1rem !important;
  }

  /* ---- CARD IMMAGINI ---- */
  .logudoro-homepage a[style*="flex-direction:column"] img,
  .logudoro-homepage a[style*="flex-direction: column"] img {
    height: 180px !important;
  }

  /* ---- SEZIONE TERRITORIO (2 colonne → 1) ---- */
  .logudoro-homepage [style*="grid-template-columns:1fr 1fr"],
  .logudoro-homepage [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Immagine territorio */
  .logudoro-homepage [style*="grid-template-columns:1fr 1fr"] img,
  .logudoro-homepage [style*="1fr 1fr"] img {
    height: 220px !important;
  }

  /* ---- HEADER SEZIONI (titolo + link affiancati) ---- */
  .logudoro-homepage [style*="display:flex"][style*="justify-content:space-between"] {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  /* ---- BANNER GOCEANO ---- */
  .logudoro-homepage [style*="min-height:380px"] {
    min-height: 300px !important;
  }

  .logudoro-homepage [style*="min-height:380px"] h2 {
    font-size: clamp(1.4rem, 6vw, 2rem) !important;
  }

  /* ---- CTA FINALE ---- */
  .logudoro-homepage [style*="background:#A35636"] h2 {
    font-size: clamp(1.3rem, 5vw, 1.8rem) !important;
  }

  /* ---- MENU HAMBURGER ---- */
  .main-header-bar .ast-mobile-menu-buttons {
    display: flex !important;
  }

  .main-header-bar .main-navigation {
    display: none !important;
  }

  .main-header-bar .main-navigation.toggled {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    background: #FAF6EF !important;
    box-shadow: 0 4px 20px rgba(163,86,54,0.15) !important;
    z-index: 9999 !important;
  }

  .main-header-bar .main-navigation.toggled ul {
    flex-direction: column !important;
    padding: 16px !important;
  }

  .main-header-bar .main-navigation.toggled ul li a {
    display: block !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #ECE4D4 !important;
    font-size: 0.9rem !important;
  }
}

/* ============================================================
   SMALL MOBILE — max-width: 480px
   ============================================================ */
@media (max-width: 480px) {

  /* Numeri: 2 col → 2 col (mantieni) */
  .logudoro-homepage [style*="repeat(4,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Font numeri più piccoli */
  .logudoro-homepage [style*="font-size:2.8rem"] {
    font-size: 2rem !important;
  }

  /* Padding minimo */
  .logudoro-homepage [style*="padding:64px 24px"],
  .logudoro-homepage [style*="padding:48px 24px"],
  .logudoro-homepage [style*="padding:40px 16px"] {
    padding: 32px 14px !important;
  }

  /* Card padding ridotto */
  .logudoro-homepage [style*="padding:20px"],
  .logudoro-homepage [style*="padding:18px 20px 22px"] {
    padding: 14px !important;
  }

  /* Itinerari: 1 colonna */
  .logudoro-homepage [style*="repeat(3,1fr)"][style*="gap:20px"] {
    grid-template-columns: 1fr !important;
  }

  /* Logo nel hero più piccolo */
  .logudoro-homepage [style*="100vh"] img[style*="width:90px"] {
    width: 70px !important;
    height: 70px !important;
  }
}

/* ============================================================
   FIX ALLINEAMENTO GLOBALE — tutte le dimensioni
   ============================================================ */

/* Assicura che nessun elemento esca dal viewport */
.logudoro-homepage img {
  max-width: 100% !important;
  height: auto;
}

.logudoro-homepage img[style*="height:200px"],
.logudoro-homepage img[style*="height: 200px"] {
  height: 200px !important;
  object-fit: cover !important;
}

/* Fix overflow orizzontale */
body.page-id-7,
body.home {
  overflow-x: hidden !important;
}

/* Centratura header Astra */
.ast-site-header-cart-li,
.ast-header-break-point .main-header-bar-navigation {
  display: flex !important;
  align-items: center !important;
}

/* Fix logo nell'header */
.site-logo img,
.custom-logo {
  max-height: 100px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* Rimuovi padding extra di Astra sulla pagina */
.page-id-7 .ast-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

.page-id-7 .entry-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* Fix per il banner Goceano full-width */
.logudoro-homepage [style*="background-image"][style*="min-height:380px"] {
  width: 100% !important;
  max-width: 100% !important;
}

/* ============================================================
   FIX HEADER HOMEPAGE — Uniforma all'header boxato delle pagine interne
   Il problema: sulla homepage l'header si estende a piena larghezza
   con logo a sinistra e menu a destra senza contenitore boxato.
   Soluzione: forza il contenitore interno a max-width: 1200px centrato
   identico alle pagine interne.
   ============================================================ */

/* ---- CONTENITORE HEADER BOXATO (uguale pagine interne) ---- */
.ast-primary-header-bar .ast-container,
.ast-primary-header-bar .ast-flex.main-header-bar-navigation,
#ast-desktop-header .ast-container,
.main-header-bar .ast-container {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ---- HEADER FULL WIDTH → BOXED ---- */
.ast-primary-header-bar,
.main-header-bar,
#ast-desktop-header {
  width: 100% !important;
  background: #FAF6EF !important;
  border-bottom: 2px solid #A35636 !important;
}

/* ---- LAYOUT INTERNO: logo sinistra + menu destra su una riga ---- */
.ast-primary-header-bar .ast-flex,
.main-header-bar .ast-flex,
#ast-desktop-header .ast-flex {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

/* ---- LOGO ---- */
.ast-header-logo-target,
.site-branding,
.ast-site-identity {
  flex-shrink: 0 !important;
  margin-right: 32px !important;
}

.custom-logo,
.ast-custom-logo img,
.site-logo img {
  max-height: 100px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* ---- MENU NAVIGAZIONE ---- */
#ast-desktop-header .main-header-menu,
.main-navigation .menu,
.ast-primary-header-bar .main-header-menu {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  flex-wrap: nowrap !important;
}

/* ---- VOCI MENU ---- */
.main-navigation a,
.ast-primary-header-bar .main-header-menu a,
#ast-desktop-header .menu-item > a {
  color: #4A3728 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 8px 12px !important;
  white-space: nowrap !important;
  display: block !important;
}

.main-navigation a:hover,
#ast-desktop-header .menu-item > a:hover {
  color: #A35636 !important;
}

.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
  color: #A35636 !important;
  border-bottom: 2px solid #A35636 !important;
}

/* ---- MOBILE HAMBURGER ---- */
@media (max-width: 768px) {
  .ast-primary-header-bar .ast-container,
  #ast-desktop-header .ast-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .custom-logo,
  .ast-custom-logo img {
    max-height: 44px !important;
  }
}

/* ---- RIMUOVI TITOLO TESTO SITO ---- */
.ast-site-title-wrap,
.site-title,
.site-description,
.ast-header-logo-target .site-title,
.ast-site-title-wrap a span,
.ast-site-title-wrap .site-title {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* === NASCONDI TITOLO TESTO SITO (mostra solo logo) === */
.site-title,
.site-description,
.ast-site-title-wrap .site-title,
.ast-site-title-wrap a,
.ast-header-logo-target .site-title,
span.ast-site-title-wrap,
.ast-site-title-wrap {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  overflow: hidden !important;
}

/* ===================================================
   HAMBURGER MENU MOBILE + RESPONSIVE FIXES v2
   =================================================== */

/* Mobile: hamburger Astra */
@media (max-width: 921px) {
  .ast-mobile-menu-trigger-minimal,
  .ast-mobile-menu-trigger-fill,
  button.menu-toggle,
  .ast-menu-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: transparent !important;
    border: 2px solid #A35636 !important;
    color: #A35636 !important;
    border-radius: 4px;
    padding: 6px 10px !important;
    cursor: pointer;
  }
  .site-header .ast-container,
  .site-header .ast-header-wrap {
    max-width: 100% !important;
    padding: 0 16px !important;
  }
}

/* Griglia 3 colonne su mobile */
@media (max-width: 768px) {
  div[style*="repeat(3,1fr)"],
  div[style*="repeat(3, 1fr)"] {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
  div[style*="1fr 1fr"] {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
  .lg-numeri-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 480px) {
  div[style*="repeat(3,1fr)"],
  div[style*="repeat(3, 1fr)"],
  div[style*="1fr 1fr"] {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
}

/* Pagina territorio: immagini responsive */
@media (max-width: 768px) {
  .territorio-img-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ===================================================
   PAGINA TERRITORIO — Layout 2 colonne + Lightbox
   =================================================== */

.territorio-wrap { max-width:1200px; margin:0 auto; padding:40px 20px; }

.territorio-intro { text-align:center; margin-bottom:60px; }
.territorio-intro .eyebrow { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:#A35636; font-weight:700; margin-bottom:10px; display:block; font-family:Montserrat,sans-serif; }
.territorio-intro h1 { font-size:2.4em; color:#2B2926; margin-bottom:20px; font-family:Montserrat,sans-serif; }
.territorio-intro > p { font-size:1.05em; color:#7E614C; max-width:720px; margin:0 auto; line-height:1.8; font-family:Nunito,sans-serif; }
.territorio-intro .divider { width:60px; height:3px; background:#A35636; margin:25px auto 0; border-radius:2px; }

/* Layout 2 colonne */
.territorio-row { display:grid !important; grid-template-columns:1fr 1fr !important; gap:56px; align-items:start; margin-bottom:80px; }
.territorio-row.reverse .col-images { order:2; }
.territorio-row.reverse .col-text   { order:1; }

/* Colonna immagini */
.col-images .img-main { width:100%; height:340px; object-fit:cover; border-radius:8px; display:block; margin-bottom:12px; cursor:zoom-in; transition:opacity 0.2s; }
.col-images .img-main:hover { opacity:0.92; }
.col-images .img-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.col-images .img-grid a { display:block; overflow:hidden; border-radius:6px; }
.col-images .img-grid img { width:100%; height:160px; object-fit:cover; display:block; cursor:zoom-in; transition:transform 0.3s; }
.col-images .img-grid a:hover img { transform:scale(1.04); }
.col-images .img-caption { font-size:11px; color:#9a8a7a; margin:8px 0 0; font-style:italic; text-align:center; }

/* Colonna testo */
.col-text .region-label { font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:700; margin:0 0 4px; font-family:Montserrat,sans-serif; }
.col-text .region-label.logudoro { color:#A35636; }
.col-text .region-label.goceano  { color:#8FB4CD; }
.col-text h2 { margin:0 0 6px; font-size:1.9em; color:#2B2926; font-family:Montserrat,sans-serif; }
.col-text .region-subtitle { font-size:1.05em; font-style:italic; margin:0 0 18px; font-family:Nunito,sans-serif; }
.col-text .region-subtitle.logudoro { color:#A35636; }
.col-text .region-subtitle.goceano  { color:#7E614C; }
.col-text p { color:#5a4a3a; line-height:1.8; margin-bottom:16px; font-family:Nunito,sans-serif; font-size:0.97em; }
.col-text .accent-bar { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.col-text .accent-bar .bar { width:5px; height:50px; border-radius:3px; flex-shrink:0; }
.col-text .accent-bar .bar.logudoro { background:#A35636; }
.col-text .accent-bar .bar.goceano  { background:#8FB4CD; }

/* Box comuni */
.comuni-box { border-radius:8px; padding:20px 24px; }
.comuni-box.logudoro { background:#F3EBDD; }
.comuni-box.goceano  { background:#EAF2F8; }
.comuni-box .comuni-title { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; font-weight:700; margin:0 0 14px; font-family:Montserrat,sans-serif; }
.comuni-box.logudoro .comuni-title { color:#A35636; }
.comuni-box.goceano  .comuni-title { color:#5a8aaa; }
.comuni-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:0; }
.comune-item { display:flex; align-items:flex-start; gap:8px; padding:8px 0; border-bottom:1px solid rgba(0,0,0,0.07); }
.comune-item .dot { font-size:14px; flex-shrink:0; margin-top:1px; }
.comune-item.logudoro .dot { color:#A35636; }
.comune-item.goceano  .dot { color:#8FB4CD; }
.comune-item strong { font-size:13px; color:#2B2926; display:block; font-family:Montserrat,sans-serif; }
.comune-item span { font-size:11px; color:#7E614C; font-family:Nunito,sans-serif; }

/* Separatore */
.territorio-divider { border-top:2px solid #ECE4D4; margin:0 0 80px; }

/* Galleria */
.galleria-section { margin-bottom:60px; }
.galleria-section h2 { font-size:1.6em; color:#2B2926; margin-bottom:8px; font-family:Montserrat,sans-serif; }
.galleria-section > p { color:#7E614C; margin-bottom:24px; font-family:Nunito,sans-serif; }
.galleria-grid { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:14px; }
.galleria-grid a { display:block; overflow:hidden; border-radius:8px; }
.galleria-grid img { width:100%; height:220px; object-fit:cover; display:block; transition:transform 0.3s; }
.galleria-grid a:hover img { transform:scale(1.04); }

/* CTA */
.territorio-cta { background:#A35636; border-radius:12px; padding:48px 40px; text-align:center; }
.territorio-cta h2 { color:#fff; font-size:1.8em; margin:0 0 14px; font-family:Montserrat,sans-serif; }
.territorio-cta > p { color:rgba(255,255,255,0.85); margin:0 0 28px; font-size:1em; font-family:Nunito,sans-serif; }
.territorio-cta .cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.territorio-cta .btn-white { background:#fff; color:#A35636; padding:13px 26px; border-radius:4px; font-size:0.78rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; text-decoration:none; font-family:Montserrat,sans-serif; }
.territorio-cta .btn-outline { background:transparent; color:#fff; border:2px solid rgba(255,255,255,0.7); padding:13px 26px; border-radius:4px; font-size:0.78rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; text-decoration:none; font-family:Montserrat,sans-serif; }

/* Responsive */
@media (max-width:900px) {
  .territorio-row { grid-template-columns:1fr !important; gap:32px; }
  .territorio-row.reverse .col-images { order:0; }
  .territorio-row.reverse .col-text   { order:0; }
  .galleria-grid { grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width:600px) {
  .galleria-grid { grid-template-columns:1fr !important; }
  .comuni-grid { grid-template-columns:1fr !important; }
  .territorio-cta { padding:32px 20px; }
  .col-images .img-main { height:240px; }
}

/* Fix immagini pagina Territorio */
.col-images a.img-link-main { display:block; overflow:hidden; border-radius:8px; margin-bottom:12px; }
.col-images a.img-link-main img,
.col-images .img-main,
.page-id-8 .col-images a > img:first-child {
  width:100% !important;
  height:340px !important;
  max-height:340px !important;
  min-height:340px !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:8px !important;
  cursor:zoom-in;
}
.page-id-8 .col-images .img-grid img {
  width:100% !important;
  height:160px !important;
  max-height:160px !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:6px !important;
}
/* Assicura che i link nella griglia immagini siano block */
.page-id-8 .col-images .img-grid a {
  display:block !important;
  overflow:hidden !important;
  border-radius:6px !important;
}

/* ---- PADDING HEADER RIDOTTO (logo più grande) ---- */
.ast-primary-header-bar,
.main-header-bar,
#ast-desktop-header {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}
.main-header-bar-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.ast-primary-header-bar .ast-container {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  min-height: 90px !important;
}

/* ---- RIMUOVI PADDING IDENTITÀ SITO NELL'HEADER ---- */
.ast-logo-title-inline .ast-site-identity {
  padding: 0 !important;
}
