/*
 Le Tre Gemelle - Joomla 6 native style
 Ispirato al vecchio rt_diametric_responsive:
 accent #CC9A5E, showcase #322617, feature #b8a684, footer #222.
 Nessun Gantry/Rok/RocketTheme importato.
*/

:root {
  --ltg-accent: #CC9A5E;
  --ltg-accent-2: #d69839;
  --ltg-dark: #322617;
  --ltg-footer: #222;
  --ltg-feature: #b8a684;
  --ltg-header: #f0f0f0;
  --ltg-text: #333;
  --ltg-soft: #f6f5f3;
  --cassiopeia-color-primary: #322617;
  --cassiopeia-color-link: #8a5d26;
  --cassiopeia-color-hover: #CC9A5E;
}

body.site {
  background: #f6f5f3;
  color: var(--ltg-text);
}

.container-header {
  background: linear-gradient(rgba(255,255,255,.86), rgba(255,255,255,.86)), linear-gradient(135deg, var(--ltg-header), #d7d7d7);
  color: #333;
  border-bottom: 4px solid var(--ltg-accent);
  box-shadow: 0 3px 12px rgba(0,0,0,.18);
}

.container-header a,
.container-header .navbar-brand,
.container-header .site-description,
.container-header .mod-menu > li > a {
  color: #2c2727;
  text-shadow: 0 1px 0 rgba(255,255,255,.5);
}

.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li.active > a {
  color: #000;
  background: rgba(204,154,94,.22);
  border-radius: 3px;
}

main,
.container-component {
  background: #fff;
}

h1, h2, h3,
.paneltitle {
  color: #2c2727;
  font-weight: 700;
}

.paneltitle {
  display: block;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  line-height: 1.05;
  margin: 0 0 .15rem;
}

.panelsubtitle {
  display: block;
  color: var(--ltg-accent);
  font-size: clamp(1.15rem, 2vw, 1.6rem);
  font-weight: 600;
  margin: 0 0 1rem;
}

.nomarginbottom { margin-bottom: 0 !important; }
.nopaddingtop { padding-top: 0 !important; }
.largemargintop { margin-top: 1.8rem !important; }
.largepaddingleft { padding-left: 1.5rem !important; }
.rt-center { text-align: center; }
.clear { clear: both; }

.rt-floatright {
  float: right;
  max-width: 45%;
  margin: .25rem 0 1rem 1.5rem;
}

.rt-image,
img.rt-image {
  border-radius: 2px;
  box-shadow: 0 2px 7px rgba(0,0,0,.25);
}

.readon,
a.readon,
.ltg-button,
.btn-primary {
  display: inline-block;
  color: #fff !important;
  background: linear-gradient(#d69839, #a8722c);
  border: 1px solid rgba(0,0,0,.25);
  border-radius: 3px;
  padding: .58rem .9rem;
  text-decoration: none !important;
  font-weight: 700;
  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 3px rgba(0,0,0,.18);
}

.readon:hover,
a.readon:hover,
.ltg-button:hover,
.btn-primary:hover {
  background: linear-gradient(#CC9A5E, #8a5d26);
  color: #fff !important;
}

ul.list-icon,
ul.checkbox {
  list-style: none;
  padding-left: 0;
}

ul.list-icon li,
ul.checkbox li {
  position: relative;
  padding-left: 1.65rem;
  margin-bottom: .75rem;
}

ul.list-icon li::before,
ul.checkbox li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--ltg-accent);
  font-weight: 700;
}

.logo-module {
  display: block;
  width: 250px;
  max-width: 100%;
  min-height: 92px;
  background: url("../../../../../images/logo.png") left center / contain no-repeat;
}

.ltg-showcase,
.ltg-home-hero {
  background: radial-gradient(circle at top left, rgba(204,154,94,.18), transparent 36%), linear-gradient(135deg, #4c3a24, var(--ltg-dark));
  color: #fff;
  border-radius: 3px;
  padding: 2rem;
  margin: 1rem 0 1.5rem;
  box-shadow: 0 5px 18px rgba(0,0,0,.25);
}

.ltg-showcase h1,
.ltg-showcase h2,
.ltg-home-hero h1,
.ltg-home-hero h2 {
  color: #fff;
  text-shadow: 0 2px 3px rgba(0,0,0,.4);
}

.ltg-feature {
  background: linear-gradient(rgba(255,255,255,.50), rgba(255,255,255,.50)), linear-gradient(135deg, var(--ltg-feature), #e1dbda);
  border-top: 1px solid rgba(255,255,255,.45);
  border-bottom: 1px solid rgba(0,0,0,.18);
  padding: 1.5rem;
}

.ltg-panels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}

.ltg-panel {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 1.25rem;
  box-shadow: 0 2px 8px rgba(0,0,0,.10);
}

.ltg-footer-panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  background: linear-gradient(rgba(0,0,0,.12), rgba(0,0,0,.12)), var(--ltg-footer);
  color: #eee;
  padding: 1.5rem;
  border-radius: 3px;
  margin-top: 1.5rem;
}

.ltg-footer-panels h2,
.ltg-footer-panels h3,
.ltg-footer-panels a {
  color: var(--ltg-accent);
}

.footer,
.container-footer {
  background: var(--ltg-footer);
  color: #ddd;
}

.container-footer a {
  color: var(--ltg-accent);
}

@media (max-width: 900px) {
  .ltg-panels,
  .ltg-footer-panels {
    grid-template-columns: 1fr;
  }

  .rt-floatright {
    float: none;
    max-width: 100%;
    margin: 1rem 0;
  }
}

/* Le Tre Gemelle - gallery nativa articolo Gruppi */
.ltg-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}
.ltg-gallery-grid figure {
  margin: 0;
}
.ltg-gallery-grid img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  border-radius: 4px;
}
.ltg-gallery-grid figcaption {
  font-size: .9rem;
  margin-top: .35rem;
  opacity: .8;
}

/* LTG current-like home - staging preview */
.ltg-current-home {
  background: #f3f0e9;
  color: #3a2a1d;
  font-family: Georgia, "Times New Roman", serif;
}
.ltg-current-home a {
  color: #8b5a2b;
  font-weight: 600;
}
.ltg-current-hero {
  min-height: 430px;
  display: grid;
  align-items: end;
  padding: 2rem;
  border-radius: 2px;
  background:
    linear-gradient(180deg, rgba(29,18,10,.15), rgba(29,18,10,.85)),
    url('/images/le-tre-gemelle/home-attuale/tre-gemelle-slide.png');
  background-size: cover;
  background-position: center;
  color: #fff;
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}
.ltg-current-hero h1 {
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  margin: 0;
  letter-spacing: .03em;
}
.ltg-current-hero p {
  max-width: 720px;
  font-size: 1.15rem;
  line-height: 1.65;
  margin: .65rem 0 0;
}
.ltg-current-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1.2rem;
  margin: 1.5rem 0;
}
.ltg-current-card {
  background: #fff;
  border-top: 5px solid #cc9a5e;
  padding: 1.4rem;
  min-height: 190px;
  box-shadow: 0 8px 22px rgba(69,47,29,.12);
}
.ltg-current-card h2,
.ltg-current-card h3 {
  margin-top: 0;
  color: #3b2719;
}
.ltg-current-card p {
  line-height: 1.65;
}
.ltg-current-readon {
  display: inline-block;
  margin-top: .5rem;
  padding: .55rem .9rem;
  background: #3b2719;
  color: #fff !important;
  text-decoration: none;
}
.ltg-current-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr);
  gap: 1.5rem;
  margin: 2rem 0;
  padding: 2rem;
  background: #3a2719;
  color: #f7eee0;
}
.ltg-current-feature h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.2rem);
  color: #f7eee0;
}
.ltg-current-feature .subtitle {
  color: #d6b27c;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
.ltg-current-feature ul {
  margin: 1rem 0 0;
  padding-left: 1.2rem;
}
.ltg-current-feature img {
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  border: 8px solid rgba(255,255,255,.12);
}
.ltg-current-special {
  margin: 2rem 0;
  padding: 1.8rem;
  background: #e2d4bd;
  border-left: 8px solid #cc9a5e;
}
.ltg-current-gallery-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: .8rem;
  margin: 1.2rem 0;
}
.ltg-current-gallery-strip img {
  width: 100%;
  height: 145px;
  object-fit: cover;
  display: block;
}
.ltg-current-locations {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
  margin: 2rem 0 0;
}
.ltg-current-location {
  background: #2b2b2b;
  color: #eee;
  padding: 1.4rem;
}
.ltg-current-location h3 {
  color: #fff;
  margin-top: 0;
}
@media (max-width: 800px) {
  .ltg-current-feature {
    grid-template-columns: 1fr;
  }
}






/* LTG ONEPAGE CURRENT STYLE START */
body { background:#b9ecee; }
.container-header, .container-sidebar-left, .container-sidebar-right, .sidebar-left, .sidebar-right, .mod-login, .mod-menu { display:none !important; }
.article-info, .com-content-article__info, .page-header, .mod-breadcrumbs, .breadcrumb, .breadcrumbs, dt.article-info-term, dd.createdby, dd.category-name, dd.published, dd.hits { display:none !important; }

.ltg-onepage, .ltg-gallery-page, .ltg-contact-page, .ltg-access-page {
  margin:-1.5rem calc(50% - 50vw) 0;
  width:100vw;
  font-family:Arial, Helvetica, sans-serif;
  color:#222;
  background:#f5f5f5;
}
.ltg-onepage *, .ltg-gallery-page *, .ltg-contact-page *, .ltg-access-page * { box-sizing:border-box; }
.ltg-wrap { max-width:1180px; margin:0 auto; padding:0 22px; }

.ltg-topbar {
  height:56px;
  background:#fff;
  border-bottom:1px solid #e7e7e7;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  padding:0 26px;
  position:relative;
  z-index:50;
}
.ltg-access-toggle, .ltg-menu-toggle {
  background:transparent;
  border:0;
  cursor:pointer;
  font-size:16px;
}
.ltg-access-toggle { color:#e74624; }
.ltg-menu-toggle {
  width:34px;
  height:28px;
  display:grid;
  gap:5px;
  align-content:center;
}
.ltg-menu-toggle span {
  display:block;
  height:2px;
  background:#111;
}
.ltg-pop {
  display:none;
  position:absolute;
  top:56px;
  right:24px;
  width:320px;
  background:#fff;
  border:1px solid #ddd;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
  padding:18px;
  z-index:60;
}
.ltg-pop.open { display:block; }
.ltg-pop h3 {
  margin:0 0 14px;
  font-size:24px;
  color:#222;
}
.ltg-pop a {
  display:block;
  margin:10px 0;
  color:#0645ad !important;
}
.ltg-login-fields input {
  width:100%;
  padding:11px;
  border:1px solid #bbb;
  margin:8px 0;
}
.ltg-login-actions a {
  background:#c98b34;
  color:#fff !important;
  text-align:center;
  padding:12px;
  border-radius:3px;
  text-decoration:none;
  font-weight:700;
}
.ltg-menu-pop a {
  font-size:16px;
  text-decoration:none;
}

.ltg-nav {
  height:72px;
  background:#222;
  border-top:3px solid #c7863c;
  border-bottom:4px solid #c7863c;
  color:#fff;
}
.ltg-nav .ltg-wrap {
  display:grid;
  grid-template-columns:1fr 180px 1fr;
  align-items:center;
  height:72px;
}
.ltg-nav-left { display:flex; justify-content:flex-end; }
.ltg-nav-right { display:flex; justify-content:flex-start; }
.ltg-nav a {
  color:#fff !important;
  text-decoration:none;
  text-transform:uppercase;
  font-weight:700;
  font-size:13px;
  padding:28px 28px 24px;
}
.ltg-nav a.active, .ltg-nav a:hover { background:linear-gradient(#c9904b,#aa6a2f); }
.ltg-logo {
  text-align:center;
  height:116px;
  margin-top:-22px;
  z-index:3;
}
.ltg-logo img { max-height:115px; max-width:170px; }

.ltg-hero {
  background:#ededed;
  min-height:420px;
  overflow:hidden;
  border-bottom:1px solid #b8b8b8;
}
.ltg-hero .ltg-wrap {
  min-height:420px;
  display:grid;
  grid-template-columns:47% 53%;
  align-items:center;
}
.ltg-hero h1 {
  font-size:48px;
  line-height:.95;
  margin:0 0 36px;
  color:#4d4d4d;
  text-transform:uppercase;
  text-shadow:2px 2px 0 #fff, 3px 3px 0 #aaa;
  letter-spacing:-2px;
}
.ltg-hero p {
  font-size:18px;
  line-height:1.55;
  color:#333;
  max-width:520px;
}
.ltg-hero-img { align-self:end; text-align:center; }
.ltg-hero-img img { max-height:390px; max-width:100%; object-fit:contain; vertical-align:bottom; }

.ltg-dark {
  background:#3b342b;
  color:#fff;
  box-shadow:inset 0 10px 35px rgba(0,0,0,.25);
}
.ltg-feature-cards { padding:52px 0 58px; }
.ltg-three {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:70px;
  text-align:center;
}
.ltg-icon {
  width:58px;
  height:58px;
  margin:0 auto 16px;
  background:linear-gradient(#444,#202020);
  border-radius:6px;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:25px;
}
.ltg-card-title {
  color:#fff;
  text-transform:uppercase;
  font-size:14px;
  font-weight:800;
  line-height:1.15;
}
.ltg-card-title span {
  display:block;
  color:#d28c42;
  font-size:18px;
}
.ltg-three p { font-size:13px; margin:18px 0; }

.ltg-btn {
  display:inline-block;
  background:linear-gradient(#dfa75e,#b97632);
  color:#fff !important;
  border:1px solid #925721;
  border-radius:4px;
  padding:8px 18px;
  font-size:13px;
  text-decoration:none;
  cursor:pointer;
}
.ltg-btn.disabled { opacity:.9; cursor:default; }

.ltg-trad {
  background:#aaa08e;
  color:#222;
  padding:45px 0 52px;
  box-shadow:inset 0 20px 40px rgba(0,0,0,.14);
}
.ltg-trad-grid {
  display:grid;
  grid-template-columns:58% 42%;
  gap:42px;
}
.ltg-trad h2 {
  margin:0;
  text-align:center;
  font-size:44px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:1px;
  text-shadow:2px 2px 0 #555;
}
.ltg-trad .sub {
  text-align:center;
  font-size:31px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:5px;
  margin:8px 0 35px;
  text-shadow:1px 1px 0 #555;
}
.ltg-trad p { line-height:1.65; }
.ltg-check {
  display:grid;
  grid-template-columns:32px 1fr;
  gap:12px;
  margin:15px 0;
}
.ltg-check b {
  display:grid;
  place-items:center;
  background:#333;
  color:#fff;
  width:28px;
  height:28px;
  border-radius:3px;
}

.ltg-offerte h3 {
  margin:0 0 18px;
  font-size:19px;
  text-transform:uppercase;
}
.ltg-offerte h3 span { color:#d28c42; }
.ltg-tab-radios input { position:absolute; left:-9999px; }
.ltg-tabs { display:flex; }
.ltg-tabs label {
  display:block;
  background:rgba(255,255,255,.25);
  padding:12px 18px;
  text-transform:uppercase;
  font-size:13px;
  color:#333;
  cursor:pointer;
}
#ltg-tab-gruppi:checked ~ .ltg-tabs label[for="ltg-tab-gruppi"],
#ltg-tab-visite:checked ~ .ltg-tabs label[for="ltg-tab-visite"] {
  background:rgba(255,255,255,.65);
}
.ltg-offer-panel {
  display:none;
  background:rgba(255,255,255,.45);
  padding:22px;
  border-radius:5px;
  max-width:420px;
  line-height:1.65;
  box-shadow:0 2px 10px rgba(0,0,0,.12);
}
#ltg-tab-gruppi:checked ~ .ltg-offer-panels .ltg-panel-gruppi,
#ltg-tab-visite:checked ~ .ltg-offer-panels .ltg-panel-visite {
  display:block;
}

.ltg-news {
  background:#f4f4f4;
  padding:48px 0 70px;
  text-align:center;
}
.ltg-section-title {
  text-align:center;
  text-transform:uppercase;
  color:#4b4b4b;
  font-size:46px;
  line-height:1;
  margin:0;
  text-shadow:2px 2px 0 #fff, 3px 3px 0 #aaa;
}
.ltg-section-sub {
  text-align:center;
  text-transform:uppercase;
  color:#555;
  font-size:28px;
  letter-spacing:5px;
  margin:10px 0 38px;
}
.ltg-news-card {
  display:grid;
  grid-template-columns:minmax(180px,260px) 1fr;
  gap:20px;
  max-width:860px;
  margin:0 auto;
  background:#fff;
  padding:24px;
  box-shadow:0 4px 20px rgba(0,0,0,.15);
  text-align:left;
}
.ltg-news-card img {
  width:100%;
  max-height:260px;
  object-fit:cover;
}
.ltg-news-card h3 {
  margin-top:0;
  color:#c89553;
}

.ltg-gallery {
  background:#3b342b;
  color:#fff;
  padding:70px 0 60px;
  text-align:center;
}
.ltg-gallery .ltg-section-title,
.ltg-gallery .ltg-section-sub { color:#fff; }
.ltg-img-grid {
  max-width:900px;
  margin:22px auto 0;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
}
.ltg-img-grid img {
  width:100%;
  height:96px;
  object-fit:cover;
  display:block;
  background:#222;
}

.ltg-gallery-page {
  background:#f6f6f6;
  color:#222;
  padding:45px 0 80px;
}
.ltg-gallery-page h1 {
  color:#444;
  font-size:28px;
  margin:0 0 35px;
}
.ltg-gallery-page .intro { margin:0 0 35px; }
.ltg-photo-grid {
  max-width:1040px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(135px,1fr));
  gap:3px;
}
.ltg-photo-grid a {
  display:block;
  background:#222;
  border:0;
}
.ltg-photo-grid img {
  width:100%;
  height:118px;
  object-fit:cover;
  display:block;
  transition:transform .2s ease;
}
.ltg-photo-grid a:hover img { transform:scale(1.04); }

.ltg-lightbox {
  display:none;
  position:fixed;
  inset:0;
  z-index:99999;
  background:rgba(0,0,0,.94);
  align-items:center;
  justify-content:center;
  padding:30px;
}
.ltg-lightbox:target { display:flex; }
.ltg-lightbox img {
  max-width:92vw;
  max-height:88vh;
  object-fit:contain;
  box-shadow:0 0 30px rgba(0,0,0,.65);
}
.ltg-lightbox .close {
  position:fixed;
  top:18px;
  right:28px;
  color:#fff !important;
  font-size:42px;
  text-decoration:none;
  font-weight:700;
}
.ltg-lightbox .backdrop {
  position:absolute;
  inset:0;
}

.ltg-contact-page, .ltg-access-page {
  background:#f6f6f6;
  padding:46px 0 80px;
}
.ltg-contact-tabs input { position:absolute; left:-9999px; }
.ltg-contact-labels label {
  display:inline-block;
  background:#c98b34;
  color:#fff;
  padding:9px 18px;
  margin-right:8px;
  border-radius:3px;
  cursor:pointer;
}
.ltg-contact-panel { display:none; }
#ltg-cont-info:checked ~ .ltg-contact-panels .ltg-info-panel,
#ltg-cont-form:checked ~ .ltg-contact-panels .ltg-form-panel { display:block; }

.ltg-contact-grid {
  display:grid;
  grid-template-columns:45% 55%;
  gap:40px;
  align-items:start;
}
.ltg-contact-page h1,
.ltg-access-page h1 {
  color:#444;
  font-size:28px;
  margin:0 0 28px;
}
.ltg-contact-page h2,
.ltg-access-page h2 {
  color:#c89553;
  font-size:32px;
  margin:34px 0 20px;
}
.ltg-contact-photo img { max-width:100%; }
.ltg-contact-form label {
  display:grid;
  grid-template-columns:180px 1fr;
  gap:12px;
  align-items:center;
  margin:14px 0;
}
.ltg-contact-form input,
.ltg-contact-form textarea {
  width:100%;
  border:1px solid #aaa;
  padding:8px;
  font-size:15px;
}
.ltg-contact-form textarea { min-height:180px; }

.ltg-footer {
  background:#262626;
  color:#f2f2f2;
  padding:48px 0 70px;
  border-top:4px dashed rgba(255,255,255,.4);
}
.ltg-footer-single {
  max-width:560px;
  margin:0 auto;
  text-align:center;
}
.ltg-footer h3 {
  text-transform:uppercase;
  font-size:22px;
  color:#fff;
}
.ltg-footer h3 span { color:#d8a160; }
.ltg-facebook-box {
  background:#fff;
  color:#222;
  padding:22px;
  border-radius:4px;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}
.ltg-facebook-link {
  display:block;
  background:#1877f2;
  color:#fff !important;
  text-decoration:none;
  padding:13px;
  border-radius:6px;
  margin:12px 0;
  font-weight:800;
  text-align:center;
}

@media (max-width:900px) {
  .ltg-nav .ltg-wrap,
  .ltg-hero .ltg-wrap,
  .ltg-trad-grid,
  .ltg-contact-grid,
  .ltg-news-card { grid-template-columns:1fr; }
  .ltg-three { grid-template-columns:1fr; gap:35px; }
  .ltg-img-grid { grid-template-columns:repeat(2,1fr); }
  .ltg-logo { margin-top:0; height:auto; }
  .ltg-nav, .ltg-nav .ltg-wrap { height:auto; }
  .ltg-contact-form label { grid-template-columns:1fr; }
}
/* LTG ONEPAGE CURRENT STYLE END */






/* LTG accesso/menu dentro barra navigazione START */
.ltg-topbar {
  height: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  position: relative !important;
  z-index: 120 !important;
}

.ltg-access-toggle {
  position: absolute !important;
  top: 23px !important;
  right: calc(max((100vw - 1180px) / 2, 22px) + 72px) !important;
  color: #d28c42 !important;
  background: transparent !important;
  border: 0 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  z-index: 130 !important;
}

.ltg-menu-toggle {
  position: absolute !important;
  top: 22px !important;
  right: max((100vw - 1180px) / 2, 22px) !important;
  width: 34px !important;
  height: 28px !important;
  background: transparent !important;
  border: 0 !important;
  display: grid !important;
  gap: 5px !important;
  align-content: center !important;
  cursor: pointer !important;
  z-index: 130 !important;
}

.ltg-menu-toggle span {
  display: block !important;
  height: 2px !important;
  background: #ffffff !important;
}

.ltg-pop {
  top: 74px !important;
  right: max((100vw - 1180px) / 2, 22px) !important;
  z-index: 200 !important;
}

@media (max-width: 900px) {
  .ltg-access-toggle {
    top: 18px !important;
    right: 72px !important;
  }

  .ltg-menu-toggle {
    top: 17px !important;
    right: 22px !important;
  }

  .ltg-pop {
    top: 58px !important;
    right: 12px !important;
    width: min(320px, calc(100vw - 24px)) !important;
  }
}
/* LTG accesso/menu dentro barra navigazione END */

/* LTG logo completamente dentro barra nera START */
.ltg-nav {
  height: 112px !important;
  background: #222 !important;
  overflow: visible !important;
}

.ltg-nav .ltg-wrap {
  height: 112px !important;
  grid-template-columns: 1fr 260px 1fr !important;
  align-items: center !important;
}

.ltg-logo {
  height: 112px !important;
  margin-top: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

.ltg-logo img {
  max-height: 108px !important;
  max-width: 245px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

.ltg-nav a {
  padding-top: 47px !important;
  padding-bottom: 45px !important;
}

.ltg-access-toggle {
  top: 42px !important;
}

.ltg-menu-toggle {
  top: 41px !important;
}

.ltg-pop {
  top: 114px !important;
}

@media (max-width: 900px) {
  .ltg-nav {
    height: auto !important;
    min-height: 112px !important;
  }

  .ltg-nav .ltg-wrap {
    height: auto !important;
    min-height: 112px !important;
    grid-template-columns: 1fr !important;
  }

  .ltg-logo {
    min-height: 112px !important;
  }

  .ltg-nav a {
    padding: 14px 18px !important;
  }

  .ltg-access-toggle {
    top: 42px !important;
  }

  .ltg-menu-toggle {
    top: 41px !important;
  }
}
/* LTG logo completamente dentro barra nera END */

/* LTG logo sovrapposto barra come riferimento START */
.ltg-nav {
  height: 66px !important;
  min-height: 66px !important;
  background: #222 !important;
  border-top: 3px solid #c7863c !important;
  border-bottom: 4px solid #c7863c !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 80 !important;
}

.ltg-nav .ltg-wrap {
  height: 66px !important;
  min-height: 66px !important;
  grid-template-columns: 1fr 170px 1fr !important;
  align-items: center !important;
  position: relative !important;
}

.ltg-nav-left,
.ltg-nav-right {
  height: 66px !important;
  align-items: stretch !important;
}

.ltg-nav a {
  height: 66px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 28px !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.ltg-logo {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 190px !important;
  height: 122px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  z-index: 120 !important;
  pointer-events: none !important;
}

.ltg-logo img {
  max-height: 122px !important;
  max-width: 190px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* Accesso e hamburger restano nella barra, a destra */
.ltg-access-toggle {
  top: 22px !important;
  right: calc(max((100vw - 1180px) / 2, 22px) + 70px) !important;
  color: #d28c42 !important;
  z-index: 140 !important;
}

.ltg-menu-toggle {
  top: 20px !important;
  right: max((100vw - 1180px) / 2, 22px) !important;
  z-index: 140 !important;
}

.ltg-menu-toggle span {
  background: #fff !important;
}

.ltg-pop {
  top: 72px !important;
  right: max((100vw - 1180px) / 2, 22px) !important;
}

@media (max-width: 900px) {
  .ltg-nav,
  .ltg-nav .ltg-wrap {
    height: 66px !important;
    min-height: 66px !important;
  }

  .ltg-nav .ltg-wrap {
    grid-template-columns: 1fr 150px 1fr !important;
  }

  .ltg-logo {
    width: 165px !important;
    height: 108px !important;
  }

  .ltg-logo img {
    max-width: 165px !important;
    max-height: 108px !important;
  }

  .ltg-nav a {
    padding: 0 18px !important;
    height: 66px !important;
  }

  .ltg-access-toggle {
    top: 22px !important;
    right: 70px !important;
  }

  .ltg-menu-toggle {
    top: 20px !important;
    right: 22px !important;
  }

  .ltg-pop {
    top: 72px !important;
    right: 12px !important;
    width: min(320px, calc(100vw - 24px)) !important;
  }
}
/* LTG logo sovrapposto barra come riferimento END */

/* LTG logo sovrapposto barra come riferimento START */
.ltg-nav {
  height: 66px !important;
  min-height: 66px !important;
  background: #222 !important;
  border-top: 3px solid #c7863c !important;
  border-bottom: 4px solid #c7863c !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 80 !important;
}

.ltg-nav .ltg-wrap {
  height: 66px !important;
  min-height: 66px !important;
  grid-template-columns: 1fr 170px 1fr !important;
  align-items: center !important;
  position: relative !important;
}

.ltg-nav-left,
.ltg-nav-right {
  height: 66px !important;
  align-items: stretch !important;
}

.ltg-nav a {
  height: 66px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 28px !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.ltg-logo {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 190px !important;
  height: 122px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  z-index: 120 !important;
  pointer-events: none !important;
}

.ltg-logo img {
  max-height: 122px !important;
  max-width: 190px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* Accesso e hamburger restano nella barra, a destra */
.ltg-access-toggle {
  top: 22px !important;
  right: calc(max((100vw - 1180px) / 2, 22px) + 70px) !important;
  color: #d28c42 !important;
  z-index: 140 !important;
}

.ltg-menu-toggle {
  top: 20px !important;
  right: max((100vw - 1180px) / 2, 22px) !important;
  z-index: 140 !important;
}

.ltg-menu-toggle span {
  background: #fff !important;
}

.ltg-pop {
  top: 72px !important;
  right: max((100vw - 1180px) / 2, 22px) !important;
}

@media (max-width: 900px) {
  .ltg-nav,
  .ltg-nav .ltg-wrap {
    height: 66px !important;
    min-height: 66px !important;
  }

  .ltg-nav .ltg-wrap {
    grid-template-columns: 1fr 150px 1fr !important;
  }

  .ltg-logo {
    width: 165px !important;
    height: 108px !important;
  }

  .ltg-logo img {
    max-width: 165px !important;
    max-height: 108px !important;
  }

  .ltg-nav a {
    padding: 0 18px !important;
    height: 66px !important;
  }

  .ltg-access-toggle {
    top: 22px !important;
    right: 70px !important;
  }

  .ltg-menu-toggle {
    top: 20px !important;
    right: 22px !important;
  }

  .ltg-pop {
    top: 72px !important;
    right: 12px !important;
    width: min(320px, calc(100vw - 24px)) !important;
  }
}
/* LTG logo sovrapposto barra come riferimento END */

/* LTG final navbar/logo/mobile tuning START */
.ltg-nav {
  margin-top: 10px !important;         /* fascia nera leggermente più giù */
  height: 72px !important;
  min-height: 72px !important;
  overflow: visible !important;
}

.ltg-nav .ltg-wrap {
  height: 72px !important;
  min-height: 72px !important;
  grid-template-columns: 1fr 190px 1fr !important;
  align-items: center !important;
}

.ltg-nav-left,
.ltg-nav-right {
  height: 72px !important;
  align-items: stretch !important;
}

.ltg-nav a {
  height: 72px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 28px !important;
}

.ltg-logo {
  top: 57% !important;                 /* logo leggermente più giù */
  width: 190px !important;
  height: 122px !important;
}

.ltg-logo img {
  max-width: 190px !important;
  max-height: 122px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* accesso + hamburger restano dentro la barra */
.ltg-access-toggle {
  top: 26px !important;
  right: calc(max((100vw - 1180px) / 2, 20px) + 72px) !important;
  z-index: 140 !important;
}

.ltg-menu-toggle {
  top: 23px !important;
  right: max((100vw - 1180px) / 2, 20px) !important;
  z-index: 140 !important;
}

.ltg-pop {
  top: 80px !important;
  right: max((100vw - 1180px) / 2, 20px) !important;
  z-index: 150 !important;
}

/* tablet */
@media (max-width: 1024px) {
  .ltg-nav {
    margin-top: 8px !important;
    height: 68px !important;
    min-height: 68px !important;
  }

  .ltg-nav .ltg-wrap {
    height: 68px !important;
    min-height: 68px !important;
    grid-template-columns: 1fr 160px 1fr !important;
  }

  .ltg-nav-left,
  .ltg-nav-right,
  .ltg-nav a {
    height: 68px !important;
  }

  .ltg-nav a {
    padding: 0 16px !important;
    font-size: 12px !important;
  }

  .ltg-logo {
    top: 58% !important;
    width: 160px !important;
    height: 104px !important;
  }

  .ltg-logo img {
    max-width: 160px !important;
    max-height: 104px !important;
  }

  .ltg-access-toggle {
    top: 24px !important;
    right: 74px !important;
  }

  .ltg-menu-toggle {
    top: 21px !important;
    right: 18px !important;
  }

  .ltg-pop {
    top: 76px !important;
    right: 10px !important;
    width: min(340px, calc(100vw - 20px)) !important;
    max-height: calc(100vh - 90px) !important;
    overflow: auto !important;
  }
}

/* cellulare */
@media (max-width: 767px) {
  .ltg-nav {
    margin-top: 6px !important;
    height: 64px !important;
    min-height: 64px !important;
  }

  .ltg-nav .ltg-wrap {
    height: 64px !important;
    min-height: 64px !important;
    grid-template-columns: 92px 132px 1fr !important;
  }

  .ltg-nav-left,
  .ltg-nav-right,
  .ltg-nav a {
    height: 64px !important;
  }

  .ltg-nav a {
    padding: 0 12px !important;
    font-size: 11px !important;
  }

  .ltg-logo {
    top: 58% !important;
    width: 132px !important;
    height: 88px !important;
  }

  .ltg-logo img {
    max-width: 132px !important;
    max-height: 88px !important;
  }

  .ltg-access-toggle {
    top: 21px !important;
    right: 60px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }

  .ltg-menu-toggle {
    top: 18px !important;
    right: 14px !important;
  }

  .ltg-pop {
    top: 70px !important;
    right: 8px !important;
    width: min(320px, calc(100vw - 16px)) !important;
    max-height: calc(100vh - 82px) !important;
    overflow: auto !important;
  }

  /* form contatti leggibile su mobile */
  .com-contact__container,
  .com-contact__form,
  .contact-form,
  .mod-contact__form {
    width: 100% !important;
    max-width: 100% !important;
  }

  .com-contact__form input,
  .com-contact__form textarea,
  .contact-form input,
  .contact-form textarea,
  .mod-contact__form input,
  .mod-contact__form textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* galleria leggibile su mobile */
  .ltg-gallery-grid,
  .sigplus-gallery,
  .gallery,
  .joomgallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* LTG final navbar/logo/mobile tuning END */

/* LTG fix contattaci dopo logo + pagina contatti START */
.container-header,
.container-sidebar-left,
.container-sidebar-right,
.sidebar-left,
.sidebar-right,
.mod-login,
.mod-menu,
.article-info,
.com-content-article__info,
.page-header,
.mod-breadcrumbs,
.breadcrumb,
.breadcrumbs,
dt.article-info-term,
dd.createdby,
dd.category-name,
dd.published,
dd.hits {
  display: none !important;
}

/* barra nera come riferimento: logo sovrapposto, Home prima, Contattaci dopo */
.ltg-nav {
  margin-top: 8px !important;
  height: 66px !important;
  min-height: 66px !important;
  background: #222 !important;
  border-top: 3px solid #c7863c !important;
  border-bottom: 4px solid #c7863c !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 80 !important;
}

.ltg-nav .ltg-wrap {
  max-width: 1180px !important;
  height: 66px !important;
  min-height: 66px !important;
  display: block !important;
  position: relative !important;
}

.ltg-nav-left {
  position: absolute !important;
  top: 0 !important;
  right: calc(50% + 105px) !important;
  height: 66px !important;
  display: flex !important;
  align-items: stretch !important;
}

.ltg-nav-right {
  position: absolute !important;
  top: 0 !important;
  left: calc(50% + 115px) !important;
  height: 66px !important;
  display: flex !important;
  align-items: stretch !important;
}

.ltg-nav a {
  height: 66px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 28px !important;
  color: #fff !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.ltg-nav a.active,
.ltg-nav a:hover {
  background: linear-gradient(#c9904b, #aa6a2f) !important;
}

.ltg-logo {
  position: absolute !important;
  left: 50% !important;
  top: 57% !important;
  transform: translate(-50%, -50%) !important;
  width: 190px !important;
  height: 122px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  z-index: 120 !important;
  pointer-events: none !important;
}

.ltg-logo img {
  max-width: 190px !important;
  max-height: 122px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* Accesso e hamburger dentro la stessa fascia, a destra */
.ltg-topbar {
  height: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  position: relative !important;
  z-index: 130 !important;
}

.ltg-access-toggle {
  position: absolute !important;
  top: 31px !important;
  right: calc(max((100vw - 1180px) / 2, 20px) + 74px) !important;
  color: #d28c42 !important;
  background: transparent !important;
  border: 0 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  z-index: 150 !important;
}

.ltg-menu-toggle {
  position: absolute !important;
  top: 28px !important;
  right: max((100vw - 1180px) / 2, 20px) !important;
  width: 34px !important;
  height: 28px !important;
  background: transparent !important;
  border: 0 !important;
  display: grid !important;
  gap: 5px !important;
  align-content: center !important;
  cursor: pointer !important;
  z-index: 150 !important;
}

.ltg-menu-toggle span {
  display: block !important;
  height: 2px !important;
  background: #fff !important;
}

.ltg-pop {
  top: 82px !important;
  right: max((100vw - 1180px) / 2, 20px) !important;
  z-index: 220 !important;
}

/* pagina contattaci corretta */
.ltg-contact-page {
  margin: -1.5rem calc(50% - 50vw) 0 !important;
  width: 100vw !important;
  background: #f6f6f6 !important;
  color: #222 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  padding-bottom: 80px !important;
}

.ltg-contact-page * {
  box-sizing: border-box !important;
}

.ltg-contact-page .ltg-wrap {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 46px 22px 0 !important;
}

.ltg-contact-tabs input {
  position: absolute !important;
  left: -9999px !important;
}

.ltg-contact-labels {
  margin: 0 0 28px !important;
}

.ltg-contact-labels label {
  display: inline-block !important;
  background: #c98b34 !important;
  color: #fff !important;
  padding: 9px 18px !important;
  margin-right: 8px !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  font-weight: 700 !important;
}

.ltg-contact-panel {
  display: none !important;
}

#ltg-cont-info:checked ~ .ltg-contact-panels .ltg-info-panel,
#ltg-cont-form:checked ~ .ltg-contact-panels .ltg-form-panel {
  display: block !important;
}

.ltg-contact-grid {
  display: grid !important;
  grid-template-columns: 45% 55% !important;
  gap: 40px !important;
  align-items: start !important;
}

.ltg-contact-page h1 {
  color: #444 !important;
  font-size: 28px !important;
  margin: 0 0 28px !important;
}

.ltg-contact-page h2 {
  color: #c89553 !important;
  font-size: 32px !important;
  margin: 34px 0 20px !important;
}

.ltg-contact-photo img {
  max-width: 100% !important;
  height: auto !important;
}

.ltg-contact-form label {
  display: grid !important;
  grid-template-columns: 180px 1fr !important;
  gap: 12px !important;
  align-items: center !important;
  margin: 14px 0 !important;
}

.ltg-contact-form input,
.ltg-contact-form textarea {
  width: 100% !important;
  border: 1px solid #aaa !important;
  padding: 8px !important;
  font-size: 15px !important;
}

.ltg-contact-form textarea {
  min-height: 180px !important;
}

/* tablet */
@media (max-width: 1024px) {
  .ltg-nav-left {
    right: calc(50% + 88px) !important;
  }

  .ltg-nav-right {
    left: calc(50% + 96px) !important;
  }

  .ltg-logo {
    width: 160px !important;
    height: 104px !important;
  }

  .ltg-logo img {
    max-width: 160px !important;
    max-height: 104px !important;
  }

  .ltg-nav a {
    padding: 0 18px !important;
    font-size: 12px !important;
  }

  .ltg-access-toggle {
    right: 72px !important;
  }

  .ltg-menu-toggle {
    right: 18px !important;
  }
}

/* mobile */
@media (max-width: 767px) {
  .ltg-nav {
    height: 64px !important;
    min-height: 64px !important;
  }

  .ltg-nav .ltg-wrap {
    height: 64px !important;
    min-height: 64px !important;
  }

  .ltg-logo {
    width: 132px !important;
    height: 88px !important;
    top: 58% !important;
  }

  .ltg-logo img {
    max-width: 132px !important;
    max-height: 88px !important;
  }

  .ltg-nav-left {
    left: 0 !important;
    right: auto !important;
  }

  .ltg-nav-right {
    left: 132px !important;
    right: auto !important;
  }

  .ltg-nav a {
    height: 64px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }

  .ltg-access-toggle {
    top: 29px !important;
    right: 58px !important;
    font-size: 12px !important;
  }

  .ltg-menu-toggle {
    top: 25px !important;
    right: 14px !important;
  }

  .ltg-pop {
    top: 78px !important;
    right: 8px !important;
    width: min(320px, calc(100vw - 16px)) !important;
    max-height: calc(100vh - 90px) !important;
    overflow: auto !important;
  }

  .ltg-contact-grid {
    grid-template-columns: 1fr !important;
  }

  .ltg-contact-form label {
    grid-template-columns: 1fr !important;
  }
}
/* LTG fix contattaci dopo logo + pagina contatti END */

/* LTG contact static production-like START */
.ltg-contact-page {
  margin: 0 calc(50% - 50vw) 0 !important;
  width: 100vw !important;
  background: #f6f6f6 !important;
  color: #222 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  min-height: 100vh !important;
}

.ltg-contact-page * {
  box-sizing: border-box !important;
}

.ltg-contact-page .ltg-wrap {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 22px !important;
}

.ltg-contact-main {
  padding: 44px 22px 80px !important;
}

.ltg-contact-tabs input {
  position: absolute !important;
  left: -9999px !important;
}

.ltg-contact-labels {
  margin: 0 0 28px !important;
}

.ltg-contact-labels label {
  display: inline-block !important;
  background: #c98b34 !important;
  color: #fff !important;
  padding: 9px 18px !important;
  margin-right: 8px !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  font-weight: 700 !important;
}

.ltg-contact-panel {
  display: none !important;
}

#ltg-cont-info:checked ~ .ltg-contact-panels .ltg-info-panel,
#ltg-cont-form:checked ~ .ltg-contact-panels .ltg-form-panel {
  display: block !important;
}

.ltg-contact-grid {
  display: grid !important;
  grid-template-columns: 45% 55% !important;
  gap: 40px !important;
  align-items: start !important;
}

.ltg-contact-page h1 {
  color: #444 !important;
  font-size: 28px !important;
  margin: 0 0 28px !important;
}

.ltg-contact-page h2 {
  color: #c89553 !important;
  font-size: 32px !important;
  margin: 34px 0 20px !important;
}

.ltg-contact-photo img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

.ltg-contact-info-line {
  margin: 0 0 22px !important;
  line-height: 1.55 !important;
}

.ltg-contact-form label {
  display: grid !important;
  grid-template-columns: 180px 1fr !important;
  gap: 12px !important;
  align-items: center !important;
  margin: 14px 0 !important;
}

.ltg-contact-form input,
.ltg-contact-form textarea {
  width: 100% !important;
  border: 1px solid #aaa !important;
  padding: 8px !important;
  font-size: 15px !important;
}

.ltg-contact-form textarea {
  min-height: 180px !important;
}

.ltg-contact-more {
  margin-top: 36px !important;
}

@media (max-width: 767px) {
  .ltg-contact-grid {
    grid-template-columns: 1fr !important;
  }

  .ltg-contact-form label {
    grid-template-columns: 1fr !important;
  }

  .ltg-contact-page h2 {
    font-size: 26px !important;
  }
}
/* LTG contact static production-like END */

/* LTG unified size home/contact + logo visibility START */
.ltg-onepage,
.ltg-contact-page,
.ltg-gallery-page,
.ltg-access-page {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  overflow-x: hidden !important;
}

.ltg-wrap {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
}

/* barra uniforme homepage/contatti */
.ltg-nav {
  margin-top: 8px !important;
  height: 72px !important;
  min-height: 72px !important;
  background: #222 !important;
  border-top: 3px solid #c7863c !important;
  border-bottom: 4px solid #c7863c !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 80 !important;
}

.ltg-nav .ltg-wrap {
  height: 72px !important;
  min-height: 72px !important;
  position: relative !important;
  display: block !important;
}

/* HOME a sinistra del logo, CONTATTACI a destra del logo */
.ltg-nav-left {
  position: absolute !important;
  top: 0 !important;
  right: calc(50% + 102px) !important;
  height: 72px !important;
  display: flex !important;
  align-items: stretch !important;
}

.ltg-nav-right {
  position: absolute !important;
  top: 0 !important;
  left: calc(50% + 112px) !important;
  height: 72px !important;
  display: flex !important;
  align-items: stretch !important;
}

.ltg-nav a {
  height: 72px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 28px !important;
  color: #fff !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.ltg-nav a.active,
.ltg-nav a:hover {
  background: linear-gradient(#c9904b, #aa6a2f) !important;
}

/* logo centrato, leggibile e sovrapposto come sito attuale */
.ltg-logo {
  position: absolute !important;
  left: 50% !important;
  top: 58% !important;
  transform: translate(-50%, -50%) !important;
  width: 190px !important;
  height: 122px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  z-index: 140 !important;
  pointer-events: none !important;
}

.ltg-logo img {
  max-width: 190px !important;
  max-height: 122px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* Accesso e hamburger nella stessa barra, senza coprire il logo */
.ltg-topbar {
  height: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  position: relative !important;
  z-index: 160 !important;
}

.ltg-access-toggle {
  position: absolute !important;
  top: 32px !important;
  right: calc(max((100vw - 1180px) / 2, 20px) + 76px) !important;
  color: #d28c42 !important;
  background: transparent !important;
  border: 0 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  z-index: 180 !important;
}

.ltg-menu-toggle {
  position: absolute !important;
  top: 29px !important;
  right: max((100vw - 1180px) / 2, 20px) !important;
  width: 34px !important;
  height: 28px !important;
  background: transparent !important;
  border: 0 !important;
  display: grid !important;
  gap: 5px !important;
  align-content: center !important;
  cursor: pointer !important;
  z-index: 180 !important;
}

.ltg-menu-toggle span {
  display: block !important;
  height: 2px !important;
  background: #fff !important;
}

.ltg-pop {
  top: 86px !important;
  right: max((100vw - 1180px) / 2, 20px) !important;
  z-index: 220 !important;
}

/* home: evita che hero salga troppo vicino al logo */
.ltg-hero {
  margin-top: 0 !important;
}

/* tablet */
@media (max-width: 1024px) {
  .ltg-wrap {
    max-width: 960px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .ltg-nav-left {
    right: calc(50% + 88px) !important;
  }

  .ltg-nav-right {
    left: calc(50% + 96px) !important;
  }

  .ltg-logo {
    width: 164px !important;
    height: 106px !important;
  }

  .ltg-logo img {
    max-width: 164px !important;
    max-height: 106px !important;
  }

  .ltg-nav a {
    padding: 0 18px !important;
    font-size: 12px !important;
  }

  .ltg-access-toggle {
    right: 72px !important;
    top: 32px !important;
  }

  .ltg-menu-toggle {
    right: 18px !important;
    top: 29px !important;
  }
}

/* mobile */
@media (max-width: 767px) {
  .ltg-wrap {
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .ltg-nav {
    height: 66px !important;
    min-height: 66px !important;
  }

  .ltg-nav .ltg-wrap {
    height: 66px !important;
    min-height: 66px !important;
  }

  .ltg-logo {
    width: 132px !important;
    height: 88px !important;
    top: 59% !important;
  }

  .ltg-logo img {
    max-width: 132px !important;
    max-height: 88px !important;
  }

  .ltg-nav-left {
    left: 0 !important;
    right: auto !important;
  }

  .ltg-nav-right {
    left: 132px !important;
    right: auto !important;
  }

  .ltg-nav a {
    height: 66px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }

  .ltg-access-toggle {
    top: 31px !important;
    right: 58px !important;
    font-size: 12px !important;
  }

  .ltg-menu-toggle {
    top: 28px !important;
    right: 12px !important;
  }

  .ltg-pop {
    top: 82px !important;
    right: 8px !important;
    width: min(320px, calc(100vw - 16px)) !important;
    max-height: calc(100vh - 92px) !important;
    overflow: auto !important;
  }
}
/* LTG unified size home/contact + logo visibility END */

/* LTG final same page width home/contact START */
:root {
  --ltg-page-width: 1490px;
  --ltg-inner-width: 1180px;
}

/* pagina completa: stessa larghezza della home e centrata */
.ltg-onepage,
.ltg-gallery-page,
.ltg-contact-page,
.ltg-access-page {
  width: min(100vw, var(--ltg-page-width)) !important;
  max-width: var(--ltg-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-x: visible !important;
}

/* contenuto interno uguale */
.ltg-wrap {
  width: 100% !important;
  max-width: var(--ltg-inner-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
}

/* barra nera piena quanto il contenitore pagina */
.ltg-nav {
  width: 100% !important;
  max-width: var(--ltg-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* logo centrato e leggibile */
.ltg-logo {
  top: 58% !important;
  width: 190px !important;
  height: 122px !important;
  z-index: 150 !important;
}

.ltg-logo img {
  max-width: 190px !important;
  max-height: 122px !important;
}

/* Home prima del logo, Contattaci dopo il logo */
.ltg-nav-left {
  right: calc(50% + 102px) !important;
}

.ltg-nav-right {
  left: calc(50% + 112px) !important;
}

/* accesso/menu allineati alla larghezza pagina */
.ltg-access-toggle {
  right: calc(max((100vw - var(--ltg-page-width)) / 2, 0px) + 82px) !important;
}

.ltg-menu-toggle {
  right: calc(max((100vw - var(--ltg-page-width)) / 2, 0px) + 28px) !important;
}

.ltg-pop {
  right: calc(max((100vw - var(--ltg-page-width)) / 2, 0px) + 28px) !important;
}

/* tablet */
@media (max-width: 1024px) {
  :root {
    --ltg-page-width: 100vw;
    --ltg-inner-width: 960px;
  }

  .ltg-wrap {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .ltg-nav-left {
    right: calc(50% + 88px) !important;
  }

  .ltg-nav-right {
    left: calc(50% + 96px) !important;
  }

  .ltg-logo {
    width: 164px !important;
    height: 106px !important;
  }

  .ltg-logo img {
    max-width: 164px !important;
    max-height: 106px !important;
  }

  .ltg-access-toggle {
    right: 72px !important;
  }

  .ltg-menu-toggle,
  .ltg-pop {
    right: 18px !important;
  }
}

/* mobile */
@media (max-width: 767px) {
  :root {
    --ltg-page-width: 100vw;
    --ltg-inner-width: 100vw;
  }

  .ltg-wrap {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .ltg-logo {
    width: 132px !important;
    height: 88px !important;
    top: 59% !important;
  }

  .ltg-logo img {
    max-width: 132px !important;
    max-height: 88px !important;
  }

  .ltg-nav-left {
    left: 0 !important;
    right: auto !important;
  }

  .ltg-nav-right {
    left: 132px !important;
    right: auto !important;
  }

  .ltg-access-toggle {
    right: 58px !important;
  }

  .ltg-menu-toggle,
  .ltg-pop {
    right: 12px !important;
  }
}
/* LTG final same page width home/contact END */

/* LTG restore full width like original contact START */
:root {
  --ltg-page-width: 100vw !important;
  --ltg-inner-width: 1180px !important;
}

/* homepage e pagine staging a piena larghezza browser */
.ltg-onepage,
.ltg-contact-page,
.ltg-gallery-page,
.ltg-access-page {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow-x: hidden !important;
}

/* barra nera full width */
.ltg-nav {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* contenuto interno centrato come nel vecchio contattaci */
.ltg-wrap {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
}

/* logo sempre leggibile */
.ltg-logo {
  top: 58% !important;
  width: 190px !important;
  height: 122px !important;
  z-index: 150 !important;
}

.ltg-logo img {
  max-width: 190px !important;
  max-height: 122px !important;
}

/* Home prima del logo, Contattaci dopo il logo */
.ltg-nav-left {
  right: calc(50% + 102px) !important;
}

.ltg-nav-right {
  left: calc(50% + 112px) !important;
}

/* Accesso e hamburger sulla stessa barra, a destra della pagina */
.ltg-access-toggle {
  right: 152px !important;
}

.ltg-menu-toggle {
  right: 98px !important;
}

.ltg-pop {
  right: 98px !important;
}

/* tablet */
@media (max-width: 1024px) {
  .ltg-wrap {
    max-width: 960px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .ltg-nav-left {
    right: calc(50% + 88px) !important;
  }

  .ltg-nav-right {
    left: calc(50% + 96px) !important;
  }

  .ltg-logo {
    width: 164px !important;
    height: 106px !important;
  }

  .ltg-logo img {
    max-width: 164px !important;
    max-height: 106px !important;
  }

  .ltg-access-toggle {
    right: 72px !important;
  }

  .ltg-menu-toggle,
  .ltg-pop {
    right: 18px !important;
  }
}

/* mobile */
@media (max-width: 767px) {
  .ltg-wrap {
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .ltg-logo {
    width: 132px !important;
    height: 88px !important;
    top: 59% !important;
  }

  .ltg-logo img {
    max-width: 132px !important;
    max-height: 88px !important;
  }

  .ltg-nav-left {
    left: 0 !important;
    right: auto !important;
  }

  .ltg-nav-right {
    left: 132px !important;
    right: auto !important;
  }

  .ltg-access-toggle {
    right: 58px !important;
  }

  .ltg-menu-toggle,
  .ltg-pop {
    right: 12px !important;
  }
}
/* LTG restore full width like original contact END */


/* LTG no white space mobile START */

/* nessun overflow laterale */
html, body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* tutte le pagine principali devono stare dentro il viewport */
.ltg-onepage,
.ltg-contact-page,
.ltg-gallery-page,
.ltg-access-page,
.contact-page,
.ltg-nav {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

/* wrapper interno centrato ma senza uscire fuori schermo */
.ltg-wrap,
.contact-wrap,
.ltg-inner,
.container,
.container-fluid {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* immagini e media sempre responsive */
img,
iframe,
video {
  max-width: 100% !important;
  height: auto !important;
}

/* elementi assoluti/menu non devono spingere la pagina oltre il bordo */
.ltg-logo,
.ltg-access-toggle,
.ltg-menu-toggle,
.ltg-pop,
.ltg-pop-menu,
.ltg-pop-login {
  box-sizing: border-box !important;
}

/* mobile/tablet: niente 100vw, niente calc laterali */
@media (max-width: 1024px) {
  html, body {
    overflow-x: hidden !important;
  }

  .ltg-onepage,
  .ltg-contact-page,
  .ltg-gallery-page,
  .ltg-access-page,
  .contact-page,
  .ltg-nav {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .ltg-wrap,
  .contact-wrap,
  .ltg-inner,
  .container,
  .container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }
}

/* mobile stretto */
@media (max-width: 767px) {
  html, body {
    overflow-x: hidden !important;
  }

  .ltg-onepage,
  .ltg-contact-page,
  .ltg-gallery-page,
  .ltg-access-page,
  .contact-page,
  .ltg-nav,
  .ltg-wrap,
  .contact-wrap,
  .ltg-inner {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ltg-wrap,
  .contact-wrap,
  .ltg-inner,
  .container,
  .container-fluid {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* LTG no white space mobile END */


/* LTG definitive full device width START */

/* Base: ogni device usa tutta la sua larghezza disponibile */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

/* Rimuove i limiti del template Joomla/Cassiopeia */
.site,
.site-grid,
.grid-child,
.container-component,
.com-content-article,
.item-page,
main,
main > div,
#system-message-container {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Pagine del nuovo sito: sempre full width del device */
.ltg-onepage,
.ltg-contact-page,
.ltg-gallery-page,
.ltg-access-page,
.contact-page,
.ltg-nav,
.ltg-hero,
.ltg-dark,
.ltg-trad,
.ltg-news,
.ltg-gallery,
.ltg-footer {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

/* Il contenuto resta leggibile ma occupa tutto il device con padding proporzionato */
.ltg-wrap,
.contact-wrap,
.contact-inner,
.ltg-inner {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: clamp(18px, 5vw, 96px) !important;
  padding-right: clamp(18px, 5vw, 96px) !important;
  box-sizing: border-box !important;
}

/* Navbar full width */
.ltg-nav {
  margin-top: 8px !important;
  height: 72px !important;
  min-height: 72px !important;
  background: #222 !important;
  border-top: 3px solid #c7863c !important;
  border-bottom: 4px solid #c7863c !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 80 !important;
}

.ltg-nav .ltg-wrap {
  height: 72px !important;
  min-height: 72px !important;
  display: block !important;
  position: relative !important;
}

/* Home prima del logo, Contattaci dopo il logo */
.ltg-nav-left {
  position: absolute !important;
  top: 0 !important;
  right: calc(50% + 102px) !important;
  height: 72px !important;
  display: flex !important;
  align-items: stretch !important;
}

.ltg-nav-right {
  position: absolute !important;
  top: 0 !important;
  left: calc(50% + 112px) !important;
  height: 72px !important;
  display: flex !important;
  align-items: stretch !important;
}

.ltg-nav a {
  height: 72px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 28px !important;
  color: #fff !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.ltg-nav a.active,
.ltg-nav a:hover {
  background: linear-gradient(#c9904b, #aa6a2f) !important;
}

/* Logo leggibile, centrato e non tagliato */
.ltg-logo {
  position: absolute !important;
  left: 50% !important;
  top: 58% !important;
  transform: translate(-50%, -50%) !important;
  width: 190px !important;
  height: 122px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  z-index: 150 !important;
  pointer-events: none !important;
}

.ltg-logo img {
  max-width: 190px !important;
  max-height: 122px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* Accesso e hamburger nella barra */
.ltg-topbar {
  height: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  position: relative !important;
  z-index: 160 !important;
}

.ltg-access-toggle {
  position: absolute !important;
  top: 32px !important;
  right: 152px !important;
  color: #d28c42 !important;
  background: transparent !important;
  border: 0 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  z-index: 180 !important;
}

.ltg-menu-toggle {
  position: absolute !important;
  top: 29px !important;
  right: 98px !important;
  width: 34px !important;
  height: 28px !important;
  background: transparent !important;
  border: 0 !important;
  display: grid !important;
  gap: 5px !important;
  align-content: center !important;
  cursor: pointer !important;
  z-index: 180 !important;
}

.ltg-menu-toggle span {
  display: block !important;
  height: 2px !important;
  background: #fff !important;
}

.ltg-pop {
  top: 86px !important;
  right: 98px !important;
  z-index: 220 !important;
  max-width: calc(100vw - 24px) !important;
  box-sizing: border-box !important;
}

/* Hero e griglie sempre dentro il device */
.ltg-hero .ltg-wrap,
.ltg-trad-grid,
.ltg-three,
.ltg-contact-grid,
.ltg-news-card,
.ltg-photo-grid,
.ltg-img-grid {
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Media sempre responsivi */
img,
iframe,
video {
  max-width: 100% !important;
}

/* Desktop grande: usa tutta la pagina, ma resta ordinato */
@media (min-width: 1200px) {
  .ltg-wrap,
  .contact-wrap,
  .contact-inner,
  .ltg-inner {
    padding-left: 5vw !important;
    padding-right: 5vw !important;
  }

  .ltg-hero .ltg-wrap {
    grid-template-columns: 42% 58% !important;
  }
}

/* Tablet: 100% device, padding tablet */
@media (max-width: 1024px) {
  .ltg-wrap,
  .contact-wrap,
  .contact-inner,
  .ltg-inner {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .ltg-nav-left {
    right: calc(50% + 88px) !important;
  }

  .ltg-nav-right {
    left: calc(50% + 96px) !important;
  }

  .ltg-logo {
    width: 164px !important;
    height: 106px !important;
  }

  .ltg-logo img {
    max-width: 164px !important;
    max-height: 106px !important;
  }

  .ltg-nav a {
    padding: 0 18px !important;
    font-size: 12px !important;
  }

  .ltg-access-toggle {
    right: 72px !important;
    top: 32px !important;
  }

  .ltg-menu-toggle {
    right: 18px !important;
    top: 29px !important;
  }

  .ltg-pop {
    right: 18px !important;
    width: min(340px, calc(100vw - 36px)) !important;
    max-height: calc(100vh - 96px) !important;
    overflow: auto !important;
  }
}

/* Cellulare: tutto al massimo del telefono, senza colonna bianca */
@media (max-width: 767px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  .ltg-wrap,
  .contact-wrap,
  .contact-inner,
  .ltg-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .ltg-nav {
    height: 66px !important;
    min-height: 66px !important;
  }

  .ltg-nav .ltg-wrap {
    height: 66px !important;
    min-height: 66px !important;
  }

  .ltg-logo {
    width: 132px !important;
    height: 88px !important;
    top: 59% !important;
  }

  .ltg-logo img {
    max-width: 132px !important;
    max-height: 88px !important;
  }

  .ltg-nav-left {
    left: 0 !important;
    right: auto !important;
  }

  .ltg-nav-right {
    left: 132px !important;
    right: auto !important;
  }

  .ltg-nav a {
    height: 66px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }

  .ltg-access-toggle {
    top: 31px !important;
    right: 58px !important;
    font-size: 12px !important;
  }

  .ltg-menu-toggle {
    top: 28px !important;
    right: 12px !important;
  }

  .ltg-pop {
    top: 82px !important;
    right: 8px !important;
    width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 92px) !important;
    overflow: auto !important;
  }

  .ltg-hero .ltg-wrap,
  .ltg-trad-grid,
  .ltg-contact-grid,
  .ltg-news-card {
    grid-template-columns: 1fr !important;
  }

  .ltg-three {
    grid-template-columns: 1fr !important;
  }

  .ltg-img-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ltg-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* LTG definitive full device width END */


/* LTG fascia nera estesa dietro logo START */
.ltg-nav {
  margin-top: 12px !important;          /* fascia nera leggermente più giù */
  height: 80px !important;
  min-height: 80px !important;
  box-shadow: 0 -16px 0 #222 !important; /* allarga la fascia sopra il logo */
  overflow: visible !important;
}

.ltg-nav .ltg-wrap {
  height: 80px !important;
  min-height: 80px !important;
}

.ltg-nav-left,
.ltg-nav-right,
.ltg-nav a {
  height: 80px !important;
}

.ltg-logo {
  top: 48% !important;                  /* mantiene il logo visivamente nella stessa posizione */
}

.ltg-access-toggle {
  top: 36px !important;
}

.ltg-menu-toggle {
  top: 33px !important;
}

.ltg-pop {
  top: 94px !important;
}

@media (max-width: 1024px) {
  .ltg-nav {
    margin-top: 10px !important;
    height: 76px !important;
    min-height: 76px !important;
    box-shadow: 0 -14px 0 #222 !important;
  }

  .ltg-nav .ltg-wrap,
  .ltg-nav-left,
  .ltg-nav-right,
  .ltg-nav a {
    height: 76px !important;
    min-height: 76px !important;
  }

  .ltg-logo {
    top: 49% !important;
  }

  .ltg-access-toggle {
    top: 34px !important;
  }

  .ltg-menu-toggle {
    top: 31px !important;
  }

  .ltg-pop {
    top: 90px !important;
  }
}

@media (max-width: 767px) {
  .ltg-nav {
    margin-top: 8px !important;
    height: 72px !important;
    min-height: 72px !important;
    box-shadow: 0 -12px 0 #222 !important;
  }

  .ltg-nav .ltg-wrap,
  .ltg-nav-left,
  .ltg-nav-right,
  .ltg-nav a {
    height: 72px !important;
    min-height: 72px !important;
  }

  .ltg-logo {
    top: 50% !important;
  }

  .ltg-access-toggle {
    top: 33px !important;
  }

  .ltg-menu-toggle {
    top: 30px !important;
  }

  .ltg-pop {
    top: 86px !important;
  }
}
/* LTG fascia nera estesa dietro logo END */

/* LTG logo non tagliato senza fascia extra START */
.ltg-nav {
  margin-top: 22px !important;          /* abbassa la fascia nera */
  height: 72px !important;
  min-height: 72px !important;
  box-shadow: none !important;          /* rimuove il nero aggiunto sopra */
  overflow: visible !important;
}

.ltg-nav .ltg-wrap,
.ltg-nav-left,
.ltg-nav-right,
.ltg-nav a {
  height: 72px !important;
  min-height: 72px !important;
}

/* il logo resta nella sua posizione relativa, ma scende con la barra */
.ltg-logo {
  top: 58% !important;
}

.ltg-access-toggle {
  top: 32px !important;
}

.ltg-menu-toggle {
  top: 29px !important;
}

.ltg-pop {
  top: 90px !important;
}

@media (max-width: 1024px) {
  .ltg-nav {
    margin-top: 18px !important;
    height: 70px !important;
    min-height: 70px !important;
    box-shadow: none !important;
  }

  .ltg-nav .ltg-wrap,
  .ltg-nav-left,
  .ltg-nav-right,
  .ltg-nav a {
    height: 70px !important;
    min-height: 70px !important;
  }

  .ltg-logo {
    top: 58% !important;
  }

  .ltg-access-toggle {
    top: 31px !important;
  }

  .ltg-menu-toggle {
    top: 28px !important;
  }

  .ltg-pop {
    top: 86px !important;
  }
}

@media (max-width: 767px) {
  .ltg-nav {
    margin-top: 14px !important;
    height: 66px !important;
    min-height: 66px !important;
    box-shadow: none !important;
  }

  .ltg-nav .ltg-wrap,
  .ltg-nav-left,
  .ltg-nav-right,
  .ltg-nav a {
    height: 66px !important;
    min-height: 66px !important;
  }

  .ltg-logo {
    top: 59% !important;
  }

  .ltg-access-toggle {
    top: 31px !important;
  }

  .ltg-menu-toggle {
    top: 28px !important;
  }

  .ltg-pop {
    top: 82px !important;
  }
}
/* LTG logo non tagliato senza fascia extra END */

/* LTG safe graphic baseline restored START */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.ltg-static-home,
.contact-page,
.ltg-page,
.ltg-onepage,
.ltg-contact-page,
.ltg-gallery-page,
.ltg-access-page,
.ltg-nav,
.ltg-hero,
.ltg-dark,
.ltg-trad,
.ltg-news,
.ltg-gallery,
.ltg-footer {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

.ltg-wrap,
.contact-wrap,
.contact-inner,
.ltg-inner {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: clamp(18px, 5vw, 96px) !important;
  padding-right: clamp(18px, 5vw, 96px) !important;
  box-sizing: border-box !important;
}

.ltg-nav {
  height: 72px !important;
  min-height: 72px !important;
  margin-top: 22px !important;
  background: #222 !important;
  border-top: 3px solid #c7863c !important;
  border-bottom: 4px solid #c7863c !important;
  position: relative !important;
  overflow: visible !important;
  z-index: 80 !important;
  box-shadow: none !important;
}

.ltg-nav .ltg-wrap {
  height: 72px !important;
  min-height: 72px !important;
  position: relative !important;
  display: block !important;
}

.ltg-nav-left {
  position: absolute !important;
  top: 0 !important;
  right: calc(50% + 102px) !important;
  height: 72px !important;
  display: flex !important;
}

.ltg-nav-right {
  position: absolute !important;
  top: 0 !important;
  left: calc(50% + 112px) !important;
  height: 72px !important;
  display: flex !important;
}

.ltg-nav a {
  height: 72px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 28px !important;
  color: #fff !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}

.ltg-nav a.active,
.ltg-nav a:hover {
  background: linear-gradient(#c9904b,#aa6a2f) !important;
}

.ltg-logo {
  position: absolute !important;
  left: 50% !important;
  top: 58% !important;
  transform: translate(-50%,-50%) !important;
  width: 190px !important;
  height: 122px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  z-index: 150 !important;
  pointer-events: none !important;
}

.ltg-logo img {
  max-width: 190px !important;
  max-height: 122px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

.ltg-topbar {
  height: 0 !important;
  min-height: 0 !important;
  position: relative !important;
  z-index: 160 !important;
}

.ltg-access-toggle {
  position: absolute !important;
  top: 32px !important;
  right: 152px !important;
  color: #d28c42 !important;
  background: transparent !important;
  border: 0 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  z-index: 180 !important;
}

.ltg-menu-toggle {
  position: absolute !important;
  top: 29px !important;
  right: 98px !important;
  width: 34px !important;
  height: 28px !important;
  background: transparent !important;
  border: 0 !important;
  display: grid !important;
  gap: 5px !important;
  align-content: center !important;
  cursor: pointer !important;
  z-index: 180 !important;
}

.ltg-menu-toggle span {
  display: block !important;
  height: 2px !important;
  background: #fff !important;
}

.ltg-pop {
  display: none;
  position: absolute !important;
  top: 90px !important;
  right: 98px !important;
  width: 330px !important;
  max-width: calc(100vw - 24px) !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.22) !important;
  padding: 18px !important;
  z-index: 220 !important;
}

.ltg-pop.open {
  display: block !important;
}

.ltg-menu-pop {
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(199,134,60,.55) !important;
  border-radius: 6px !important;
  background: #1f1f1f !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.35) !important;
}

.ltg-menu-pop h3 {
  margin: 0 !important;
  padding: 18px 20px !important;
  background: linear-gradient(180deg,#2b2b2b,#1d1d1d) !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  border-bottom: 1px solid rgba(199,134,60,.35) !important;
  text-transform: uppercase !important;
}

.ltg-menu-pop a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 14px 20px 14px 42px !important;
  color: #f5f5f5 !important;
  background: #242424 !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  transition: background .18s ease, color .18s ease, padding-left .18s ease !important;
}

.ltg-menu-pop a:hover,
.ltg-menu-pop a:focus {
  background: linear-gradient(90deg,#c7863c,#9b5d24) !important;
  color: #fff !important;
  padding-left: 50px !important;
  outline: none !important;
}

.ltg-footer {
  width: 100% !important;
  background: #262626 !important;
  color: #f2f2f2 !important;
  padding: 48px 0 30px !important;
  border-top: 4px dashed rgba(255,255,255,.4) !important;
}

.ltg-footer-single {
  max-width: 620px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.ltg-footer h3 {
  text-transform: uppercase !important;
  font-size: 22px !important;
  color: #fff !important;
}

.ltg-footer h3 span {
  color: #d8a160 !important;
}

.ltg-facebook-box {
  background: #fff !important;
  color: #222 !important;
  padding: 22px !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.25) !important;
}

.ltg-facebook-link {
  display: block !important;
  background: #1877f2 !important;
  color: #fff !important;
  text-decoration: none !important;
  padding: 13px !important;
  border-radius: 6px !important;
  margin: 12px 0 !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.ltg-legal-links {
  margin-top: 28px !important;
  font-size: 13px !important;
}

.ltg-legal-links a {
  color: #d8a160 !important;
  text-decoration: none !important;
  margin: 0 10px !important;
}

.ltg-legal-note {
  margin-top: 18px !important;
  font-size: 12px !important;
  color: #aaa !important;
}

img,
iframe,
video {
  max-width: 100% !important;
}

@media (max-width: 1024px) {
  .ltg-wrap,
  .contact-wrap,
  .contact-inner,
  .ltg-inner {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .ltg-nav-left {
    right: calc(50% + 88px) !important;
  }

  .ltg-nav-right {
    left: calc(50% + 96px) !important;
  }

  .ltg-logo {
    width: 164px !important;
    height: 106px !important;
  }

  .ltg-logo img {
    max-width: 164px !important;
    max-height: 106px !important;
  }

  .ltg-nav a {
    padding: 0 18px !important;
    font-size: 12px !important;
  }

  .ltg-access-toggle {
    right: 72px !important;
  }

  .ltg-menu-toggle,
  .ltg-pop {
    right: 18px !important;
  }
}

@media (max-width: 767px) {
  .ltg-wrap,
  .contact-wrap,
  .contact-inner,
  .ltg-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .ltg-nav,
  .ltg-nav .ltg-wrap {
    height: 66px !important;
    min-height: 66px !important;
  }

  .ltg-logo {
    width: 132px !important;
    height: 88px !important;
    top: 59% !important;
  }

  .ltg-logo img {
    max-width: 132px !important;
    max-height: 88px !important;
  }

  .ltg-nav-left {
    left: 0 !important;
    right: auto !important;
  }

  .ltg-nav-right {
    left: 132px !important;
    right: auto !important;
  }

  .ltg-nav a {
    height: 66px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }

  .ltg-access-toggle {
    top: 31px !important;
    right: 58px !important;
    font-size: 12px !important;
  }

  .ltg-menu-toggle {
    top: 28px !important;
    right: 12px !important;
  }

  .ltg-pop {
    top: 82px !important;
    right: 8px !important;
    width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 92px) !important;
    overflow: auto !important;
  }
}
/* LTG safe graphic baseline restored END */

/* LTG footer gallery legal osm repaired START */
.ltg-footer{
  background:#262626 !important;
  color:#f2f2f2 !important;
  padding:42px 0 24px !important;
  width:100% !important;
  clear:both !important;
}
.ltg-footer-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:28px !important;
  align-items:start !important;
}
.ltg-footer-box h3{
  margin:0 0 14px !important;
  font-size:18px !important;
  color:#fff !important;
  text-transform:uppercase !important;
}
.ltg-footer-box h3 span{
  color:#d79a4c !important;
}
.ltg-footer-card{
  background:#fff !important;
  color:#222 !important;
  border-radius:4px !important;
  padding:18px !important;
  min-height:150px !important;
  box-shadow:0 3px 14px rgba(0,0,0,.18) !important;
}
.ltg-facebook-link,
.ltg-map-link{
  display:block !important;
  text-align:center !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:700 !important;
  padding:12px 14px !important;
  border-radius:6px !important;
  margin-top:10px !important;
}
.ltg-facebook-link{background:#1877f2 !important;}
.ltg-map-link{background:#c7863c !important;}
.ltg-footer-legal{
  margin-top:22px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  text-align:center !important;
  font-size:13px !important;
}
.ltg-footer-legal a{
  color:#d79a4c !important;
  text-decoration:none !important;
  margin:0 8px !important;
}
.ltg-photo-grid,
.ltg-img-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
  gap:6px !important;
}
.ltg-photo-grid img,
.ltg-img-grid img{
  display:block !important;
  width:100% !important;
  height:130px !important;
  object-fit:cover !important;
  background:#222 !important;
}
.ltg-lightbox{
  display:none;
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  background:rgba(0,0,0,.94) !important;
  align-items:center !important;
  justify-content:center !important;
  padding:30px !important;
}
.ltg-lightbox:target{display:flex !important;}
.ltg-lightbox img{
  max-width:92vw !important;
  max-height:88vh !important;
  object-fit:contain !important;
}
.ltg-lightbox .close{
  position:fixed !important;
  top:18px !important;
  right:28px !important;
  color:#fff !important;
  font-size:42px !important;
  text-decoration:none !important;
  font-weight:700 !important;
}
.ltg-lightbox .backdrop{
  position:absolute !important;
  inset:0 !important;
}
@media (max-width:900px){
  .ltg-footer-grid{grid-template-columns:1fr !important;}
}
@media (max-width:767px){
  .ltg-photo-grid,
  .ltg-img-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
/* LTG footer gallery legal osm repaired END */

/* LTG FINAL TEMPLATE SOPRA SOTTO START */
#ltg-final-header,
#ltg-final-header *,
#ltg-final-footer,
#ltg-final-footer * {
  box-sizing:border-box !important;
}

#ltg-final-header {
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  position:relative !important;
  z-index:700 !important;
}

#ltg-final-header .ltg-final-top {
  height:0 !important;
  position:relative !important;
  z-index:900 !important;
}

#ltg-final-header .ltg-final-nav {
  width:100% !important;
  height:72px !important;
  min-height:72px !important;
  margin-top:22px !important;
  background:#222 !important;
  border-top:3px solid #c7863c !important;
  border-bottom:4px solid #c7863c !important;
  position:relative !important;
  overflow:visible !important;
}

#ltg-final-header .ltg-final-wrap {
  width:100% !important;
  height:72px !important;
  position:relative !important;
  display:block !important;
}

#ltg-final-header .ltg-final-left {
  position:absolute !important;
  right:calc(50% + 102px) !important;
  top:0 !important;
  height:72px !important;
  display:flex !important;
}

#ltg-final-header .ltg-final-right {
  position:absolute !important;
  left:calc(50% + 112px) !important;
  top:0 !important;
  height:72px !important;
  display:flex !important;
}

#ltg-final-header .ltg-final-nav a {
  height:72px !important;
  display:flex !important;
  align-items:center !important;
  padding:0 28px !important;
  color:#fff !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  font-weight:700 !important;
  font-size:13px !important;
}

#ltg-final-header .ltg-final-nav a:hover,
#ltg-final-header .ltg-final-left a {
  background:linear-gradient(#c9904b,#aa6a2f) !important;
}

#ltg-final-header .ltg-final-logo {
  position:absolute !important;
  left:50% !important;
  top:58% !important;
  transform:translate(-50%,-50%) !important;
  width:190px !important;
  height:122px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:950 !important;
  pointer-events:none !important;
}

#ltg-final-header .ltg-final-logo img {
  max-width:190px !important;
  max-height:122px !important;
  width:auto !important;
  height:auto !important;
  display:block !important;
}

#ltg-final-header .ltg-final-access {
  position:absolute !important;
  top:32px !important;
  right:152px !important;
  color:#d28c42 !important;
  background:transparent !important;
  border:0 !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  z-index:980 !important;
}

#ltg-final-header .ltg-final-menu-button {
  position:absolute !important;
  top:29px !important;
  right:98px !important;
  width:34px !important;
  height:28px !important;
  background:transparent !important;
  border:0 !important;
  display:grid !important;
  gap:5px !important;
  align-content:center !important;
  cursor:pointer !important;
  z-index:980 !important;
}

#ltg-final-header .ltg-final-menu-button span {
  display:block !important;
  height:2px !important;
  background:#fff !important;
}

#ltg-final-header .ltg-final-menu {
  display:none !important;
  position:absolute !important;
  top:90px !important;
  right:98px !important;
  width:330px !important;
  max-width:calc(100vw - 24px) !important;
  background:#1f1f1f !important;
  border:1px solid rgba(199,134,60,.55) !important;
  border-radius:6px !important;
  overflow:hidden !important;
  box-shadow:0 10px 28px rgba(0,0,0,.25) !important;
  z-index:1100 !important;
}

#ltg-final-header .ltg-final-menu.open {
  display:block !important;
}

#ltg-final-header .ltg-final-menu h3 {
  margin:0 !important;
  padding:18px 20px !important;
  background:linear-gradient(180deg,#2b2b2b,#1d1d1d) !important;
  color:#fff !important;
  font-size:20px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
}

#ltg-final-header .ltg-final-menu a {
  display:block !important;
  padding:14px 20px 14px 42px !important;
  color:#f5f5f5 !important;
  background:#242424 !important;
  text-decoration:none !important;
  font-size:15px !important;
  font-weight:700 !important;
  border-top:1px solid rgba(255,255,255,.06) !important;
}

#ltg-final-header .ltg-final-menu a:hover {
  background:linear-gradient(90deg,#c7863c,#9b5d24) !important;
  color:#fff !important;
}

#ltg-final-footer {
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  background:#262626 !important;
  color:#f2f2f2 !important;
  padding:42px 5vw 24px !important;
  clear:both !important;
}

#ltg-final-footer .ltg-final-footer-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:28px !important;
  align-items:start !important;
}

#ltg-final-footer h3 {
  margin:0 0 14px !important;
  font-size:18px !important;
  color:#fff !important;
  text-transform:uppercase !important;
}

#ltg-final-footer h3 span {
  color:#d79a4c !important;
}

#ltg-final-footer .ltg-final-footer-card {
  background:#fff !important;
  color:#222 !important;
  border-radius:4px !important;
  padding:18px !important;
  min-height:150px !important;
  box-shadow:0 3px 14px rgba(0,0,0,.18) !important;
}

#ltg-final-footer .ltg-final-facebook,
#ltg-final-footer .ltg-final-map {
  display:block !important;
  text-align:center !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:700 !important;
  padding:12px 14px !important;
  border-radius:6px !important;
  margin-top:10px !important;
}

#ltg-final-footer .ltg-final-facebook {
  background:#1877f2 !important;
}

#ltg-final-footer .ltg-final-map {
  background:#c7863c !important;
}

#ltg-final-footer .ltg-final-legal {
  margin-top:22px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  text-align:center !important;
  font-size:13px !important;
}

#ltg-final-footer .ltg-final-legal a {
  color:#d79a4c !important;
  text-decoration:none !important;
  margin:0 8px !important;
}

#ltg-final-footer .ltg-final-legal span {
  color:#999 !important;
}

@media (max-width:900px) {
  #ltg-final-footer .ltg-final-footer-grid {
    grid-template-columns:1fr !important;
  }
}

@media (max-width:767px) {
  #ltg-final-header .ltg-final-nav,
  #ltg-final-header .ltg-final-wrap {
    height:66px !important;
    min-height:66px !important;
  }

  #ltg-final-header .ltg-final-logo {
    width:132px !important;
    height:88px !important;
    top:59% !important;
  }

  #ltg-final-header .ltg-final-logo img {
    max-width:132px !important;
    max-height:88px !important;
  }

  #ltg-final-header .ltg-final-left {
    left:0 !important;
    right:auto !important;
  }

  #ltg-final-header .ltg-final-right {
    left:132px !important;
    right:auto !important;
  }

  #ltg-final-header .ltg-final-nav a {
    height:66px !important;
    padding:0 10px !important;
    font-size:11px !important;
  }

  #ltg-final-header .ltg-final-access {
    top:31px !important;
    right:58px !important;
    font-size:12px !important;
  }

  #ltg-final-header .ltg-final-menu-button {
    top:28px !important;
    right:12px !important;
  }

  #ltg-final-header .ltg-final-menu {
    top:82px !important;
    right:8px !important;
    width:calc(100vw - 16px) !important;
  }
}
/* LTG FINAL TEMPLATE SOPRA SOTTO END */

/* LTG visibility patch header footer contact START */

/* Joomla Cassiopeia: riapre il contenitore topbar dove sta il nostro header */
.container-header {
  display:block !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  min-height:0 !important;
  position:relative !important;
  z-index:700 !important;
}

.container-header .container-topbar,
.container-header .grid-child.container-topbar {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
}

/* Nasconde la navigazione Cassiopeia originale ma lascia vivo il modulo LTG */
.container-header .container-nav,
.container-header .navbar-brand,
.container-header .mod-menu,
.container-header nav:not(.ltg-final-nav) {
  display:none !important;
}

.container-header #ltg-final-header,
.container-header #ltg-final-header *,
#ltg-final-header,
#ltg-final-header * {
  visibility:visible !important;
}

/* Header finale come seconda immagine */
#ltg-final-header {
  display:block !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  position:relative !important;
  z-index:900 !important;
}

#ltg-final-header .ltg-final-nav {
  display:block !important;
  width:100% !important;
  height:72px !important;
  min-height:72px !important;
  margin-top:22px !important;
  background:#222 !important;
  border-top:3px solid #c7863c !important;
  border-bottom:4px solid #c7863c !important;
  position:relative !important;
  overflow:visible !important;
}

#ltg-final-header .ltg-final-wrap {
  width:100% !important;
  height:72px !important;
  position:relative !important;
  display:block !important;
}

#ltg-final-header .ltg-final-left {
  position:absolute !important;
  right:calc(50% + 102px) !important;
  top:0 !important;
  height:72px !important;
  display:flex !important;
}

#ltg-final-header .ltg-final-right {
  position:absolute !important;
  left:calc(50% + 112px) !important;
  top:0 !important;
  height:72px !important;
  display:flex !important;
}

#ltg-final-header .ltg-final-nav a {
  height:72px !important;
  display:flex !important;
  align-items:center !important;
  padding:0 28px !important;
  color:#fff !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  font-weight:700 !important;
  font-size:13px !important;
}

#ltg-final-header .ltg-final-left a,
#ltg-final-header .ltg-final-nav a:hover {
  background:linear-gradient(#c9904b,#aa6a2f) !important;
}

#ltg-final-header .ltg-final-logo {
  position:absolute !important;
  left:50% !important;
  top:58% !important;
  transform:translate(-50%,-50%) !important;
  width:190px !important;
  height:122px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:950 !important;
  pointer-events:none !important;
}

#ltg-final-header .ltg-final-logo img {
  max-width:190px !important;
  max-height:122px !important;
  width:auto !important;
  height:auto !important;
  display:block !important;
}

#ltg-final-header .ltg-final-access {
  position:absolute !important;
  top:32px !important;
  right:152px !important;
  color:#d28c42 !important;
  background:transparent !important;
  border:0 !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  z-index:980 !important;
}

#ltg-final-header .ltg-final-menu-button {
  position:absolute !important;
  top:29px !important;
  right:98px !important;
  width:34px !important;
  height:28px !important;
  background:transparent !important;
  border:0 !important;
  display:grid !important;
  gap:5px !important;
  align-content:center !important;
  cursor:pointer !important;
  z-index:980 !important;
}

#ltg-final-header .ltg-final-menu-button span {
  display:block !important;
  height:2px !important;
  background:#fff !important;
}

#ltg-final-header .ltg-final-menu {
  display:none !important;
  position:absolute !important;
  top:90px !important;
  right:98px !important;
  width:330px !important;
  max-width:calc(100vw - 24px) !important;
  background:#1f1f1f !important;
  border:1px solid rgba(199,134,60,.55) !important;
  border-radius:6px !important;
  overflow:hidden !important;
  box-shadow:0 10px 28px rgba(0,0,0,.25) !important;
  z-index:1100 !important;
}

#ltg-final-header .ltg-final-menu.open {
  display:block !important;
}

#ltg-final-header .ltg-final-menu h3 {
  margin:0 !important;
  padding:18px 20px !important;
  background:linear-gradient(180deg,#2b2b2b,#1d1d1d) !important;
  color:#fff !important;
  font-size:20px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
}

#ltg-final-header .ltg-final-menu a {
  display:block !important;
  padding:14px 20px 14px 42px !important;
  color:#f5f5f5 !important;
  background:#242424 !important;
  text-decoration:none !important;
  font-size:15px !important;
  font-weight:700 !important;
  border-top:1px solid rgba(255,255,255,.06) !important;
}

/* Footer unico: tiene il footer LTG, nasconde footer/striscia default sotto */
.container-footer {
  display:block !important;
  background:transparent !important;
  background-image:none !important;
  padding:0 !important;
  margin:0 !important;
}

.container-footer .mod-footer,
.container-footer .footer,
.container-footer > .grid-child > p,
.container-footer > .grid-child > div:not(:has(#ltg-final-footer)) {
  display:none !important;
}

.container-footer #ltg-final-footer {
  display:block !important;
}

/* Footer finale come prima immagine */
#ltg-final-footer {
  display:block !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  background:#262626 !important;
  color:#f2f2f2 !important;
  padding:42px 5vw 24px !important;
  clear:both !important;
}

#ltg-final-footer .ltg-final-footer-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:28px !important;
  align-items:start !important;
}

#ltg-final-footer h3 {
  margin:0 0 14px !important;
  font-size:18px !important;
  color:#fff !important;
  text-transform:uppercase !important;
}

#ltg-final-footer h3 span {
  color:#d79a4c !important;
}

#ltg-final-footer .ltg-final-footer-card {
  background:#fff !important;
  color:#222 !important;
  border-radius:4px !important;
  padding:18px !important;
  min-height:150px !important;
  box-shadow:0 3px 14px rgba(0,0,0,.18) !important;
}

#ltg-final-footer .ltg-final-facebook,
#ltg-final-footer .ltg-final-map {
  display:block !important;
  text-align:center !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:700 !important;
  padding:12px 14px !important;
  border-radius:6px !important;
  margin-top:10px !important;
}

#ltg-final-footer .ltg-final-facebook {
  background:#1877f2 !important;
}

#ltg-final-footer .ltg-final-map {
  background:#c7863c !important;
}

#ltg-final-footer .ltg-final-legal {
  margin-top:22px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  text-align:center !important;
  font-size:13px !important;
}

#ltg-final-footer .ltg-final-legal a {
  color:#d79a4c !important;
  text-decoration:none !important;
  margin:0 8px !important;
}

#ltg-final-footer .ltg-final-legal span {
  color:#999 !important;
}

@media (max-width:900px) {
  #ltg-final-footer .ltg-final-footer-grid {
    grid-template-columns:1fr !important;
  }
}

@media (max-width:767px) {
  #ltg-final-header .ltg-final-nav,
  #ltg-final-header .ltg-final-wrap {
    height:66px !important;
    min-height:66px !important;
  }

  #ltg-final-header .ltg-final-logo {
    width:132px !important;
    height:88px !important;
    top:59% !important;
  }

  #ltg-final-header .ltg-final-logo img {
    max-width:132px !important;
    max-height:88px !important;
  }

  #ltg-final-header .ltg-final-left {
    left:0 !important;
    right:auto !important;
  }

  #ltg-final-header .ltg-final-right {
    left:132px !important;
    right:auto !important;
  }

  #ltg-final-header .ltg-final-nav a {
    height:66px !important;
    padding:0 10px !important;
    font-size:11px !important;
  }

  #ltg-final-header .ltg-final-access {
    top:31px !important;
    right:58px !important;
    font-size:12px !important;
  }

  #ltg-final-header .ltg-final-menu-button {
    top:28px !important;
    right:12px !important;
  }

  #ltg-final-header .ltg-final-menu {
    top:82px !important;
    right:8px !important;
    width:calc(100vw - 16px) !important;
  }
}
/* LTG visibility patch header footer contact END */

/* LTG clean static template unique START */
.container-header {
  display:block !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  min-height:0 !important;
  position:relative !important;
  z-index:700 !important;
}
.container-header .container-topbar,
.container-header .grid-child.container-topbar {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
}
.container-header .container-nav,
.container-header .navbar-brand,
.container-header .mod-menu,
.container-header nav:not(.ltg-final-nav) {
  display:none !important;
}

#ltg-final-header,
#ltg-final-header * {
  box-sizing:border-box !important;
  visibility:visible !important;
}
#ltg-final-header {
  display:block !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  position:relative !important;
  z-index:900 !important;
}
#ltg-final-header .ltg-final-top {
  height:0 !important;
  position:relative !important;
  z-index:1000 !important;
}
#ltg-final-header .ltg-final-nav {
  display:block !important;
  width:100% !important;
  height:72px !important;
  min-height:72px !important;
  margin-top:22px !important;
  background:#222 !important;
  border-top:3px solid #c7863c !important;
  border-bottom:4px solid #c7863c !important;
  position:relative !important;
  overflow:visible !important;
}
#ltg-final-header .ltg-final-wrap {
  width:100% !important;
  height:72px !important;
  position:relative !important;
  display:block !important;
}
#ltg-final-header .ltg-final-left {
  position:absolute !important;
  right:calc(50% + 102px) !important;
  top:0 !important;
  height:72px !important;
  display:flex !important;
}
#ltg-final-header .ltg-final-right {
  position:absolute !important;
  left:calc(50% + 112px) !important;
  top:0 !important;
  height:72px !important;
  display:flex !important;
}
#ltg-final-header .ltg-final-nav a {
  height:72px !important;
  display:flex !important;
  align-items:center !important;
  padding:0 28px !important;
  color:#fff !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  font-weight:700 !important;
  font-size:13px !important;
}
#ltg-final-header .ltg-final-left a,
#ltg-final-header .ltg-final-nav a:hover {
  background:linear-gradient(#c9904b,#aa6a2f) !important;
}
#ltg-final-header .ltg-final-logo {
  position:absolute !important;
  left:50% !important;
  top:58% !important;
  transform:translate(-50%,-50%) !important;
  width:190px !important;
  height:122px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:950 !important;
  pointer-events:none !important;
}
#ltg-final-header .ltg-final-logo img {
  max-width:190px !important;
  max-height:122px !important;
  width:auto !important;
  height:auto !important;
  display:block !important;
}
#ltg-final-header .ltg-final-access {
  position:absolute !important;
  top:32px !important;
  right:152px !important;
  color:#d28c42 !important;
  background:transparent !important;
  border:0 !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  z-index:980 !important;
}
#ltg-final-header .ltg-final-menu-button {
  position:absolute !important;
  top:29px !important;
  right:98px !important;
  width:34px !important;
  height:28px !important;
  background:transparent !important;
  border:0 !important;
  display:grid !important;
  gap:5px !important;
  align-content:center !important;
  cursor:pointer !important;
  z-index:980 !important;
}
#ltg-final-header .ltg-final-menu-button span {
  display:block !important;
  height:2px !important;
  background:#fff !important;
}
#ltg-final-header .ltg-final-menu {
  display:none !important;
  position:absolute !important;
  top:90px !important;
  right:98px !important;
  width:330px !important;
  max-width:calc(100vw - 24px) !important;
  background:#1f1f1f !important;
  border:1px solid rgba(199,134,60,.55) !important;
  border-radius:6px !important;
  overflow:hidden !important;
  box-shadow:0 10px 28px rgba(0,0,0,.25) !important;
  z-index:1100 !important;
}
#ltg-final-header .ltg-final-menu.open {
  display:block !important;
}
#ltg-final-header .ltg-final-menu h3 {
  margin:0 !important;
  padding:18px 20px !important;
  background:linear-gradient(180deg,#2b2b2b,#1d1d1d) !important;
  color:#fff !important;
  font-size:20px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
}
#ltg-final-header .ltg-final-menu a {
  display:block !important;
  padding:14px 20px 14px 42px !important;
  color:#f5f5f5 !important;
  background:#242424 !important;
  text-decoration:none !important;
  font-size:15px !important;
  font-weight:700 !important;
  border-top:1px solid rgba(255,255,255,.06) !important;
}

.container-footer {
  display:block !important;
  background:transparent !important;
  background-image:none !important;
  padding:0 !important;
  margin:0 !important;
}
.container-footer .mod-footer,
.container-footer .footer,
.container-footer > .grid-child > p {
  display:none !important;
}
.container-footer #ltg-final-footer {
  display:block !important;
}

#ltg-final-footer,
#ltg-final-footer * {
  box-sizing:border-box !important;
}
#ltg-final-footer {
  display:block !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  background:#262626 !important;
  color:#f2f2f2 !important;
  padding:42px 5vw 24px !important;
  clear:both !important;
}
#ltg-final-footer .ltg-final-footer-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:28px !important;
  align-items:start !important;
}
#ltg-final-footer h3 {
  margin:0 0 14px !important;
  font-size:18px !important;
  color:#fff !important;
  text-transform:uppercase !important;
}
#ltg-final-footer h3 span {
  color:#d79a4c !important;
}
#ltg-final-footer .ltg-final-footer-card {
  background:#fff !important;
  color:#222 !important;
  border-radius:4px !important;
  padding:18px !important;
  min-height:150px !important;
  box-shadow:0 3px 14px rgba(0,0,0,.18) !important;
}
#ltg-final-footer .ltg-final-facebook,
#ltg-final-footer .ltg-final-map {
  display:block !important;
  text-align:center !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:700 !important;
  padding:12px 14px !important;
  border-radius:6px !important;
  margin-top:10px !important;
}
#ltg-final-footer .ltg-final-facebook {
  background:#1877f2 !important;
}
#ltg-final-footer .ltg-final-map {
  background:#c7863c !important;
}
#ltg-final-footer .ltg-final-legal {
  margin-top:22px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  text-align:center !important;
  font-size:13px !important;
}
#ltg-final-footer .ltg-final-legal a {
  color:#d79a4c !important;
  text-decoration:none !important;
  margin:0 8px !important;
}
#ltg-final-footer .ltg-final-legal span {
  color:#999 !important;
}

@media (max-width:900px) {
  #ltg-final-footer .ltg-final-footer-grid {
    grid-template-columns:1fr !important;
  }
}
@media (max-width:767px) {
  #ltg-final-header .ltg-final-nav,
  #ltg-final-header .ltg-final-wrap {
    height:66px !important;
    min-height:66px !important;
  }
  #ltg-final-header .ltg-final-logo {
    width:132px !important;
    height:88px !important;
    top:59% !important;
  }
  #ltg-final-header .ltg-final-logo img {
    max-width:132px !important;
    max-height:88px !important;
  }
  #ltg-final-header .ltg-final-left {
    left:0 !important;
    right:auto !important;
  }
  #ltg-final-header .ltg-final-right {
    left:132px !important;
    right:auto !important;
  }
  #ltg-final-header .ltg-final-nav a {
    height:66px !important;
    padding:0 10px !important;
    font-size:11px !important;
  }
  #ltg-final-header .ltg-final-access {
    top:31px !important;
    right:58px !important;
    font-size:12px !important;
  }
  #ltg-final-header .ltg-final-menu-button {
    top:28px !important;
    right:12px !important;
  }
  #ltg-final-header .ltg-final-menu {
    top:82px !important;
    right:8px !important;
    width:calc(100vw - 16px) !important;
  }
}
/* LTG clean static template unique END */

/* LTG contact page clean START */
.ltg-contact-page-clean {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 48px 22px 54px !important;
}

.ltg-contact-page-clean .ltg-page-hero {
  text-align: center !important;
  margin-bottom: 34px !important;
}

.ltg-contact-page-clean .ltg-page-kicker {
  color: #b87535 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  font-weight: 800 !important;
  margin: 0 0 8px !important;
}

.ltg-contact-page-clean h1 {
  font-size: clamp(34px, 5vw, 58px) !important;
  line-height: 1.05 !important;
  color: #2b211b !important;
  margin: 0 0 14px !important;
}

.ltg-contact-page-clean .ltg-page-intro {
  font-size: 18px !important;
  color: #5f5148 !important;
  margin: 0 auto !important;
  max-width: 720px !important;
}

.ltg-contact-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 28px 0 !important;
}

.ltg-contact-card,
.ltg-contact-note {
  background: #fff !important;
  border: 1px solid rgba(181, 121, 57, .22) !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 26px rgba(0,0,0,.08) !important;
  padding: 26px !important;
}

.ltg-contact-card h2,
.ltg-contact-note h2 {
  color: #2b211b !important;
  font-size: 24px !important;
  margin: 0 0 14px !important;
}

.ltg-contact-card p,
.ltg-contact-note p {
  color: #4f443d !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.ltg-contact-button {
  display: inline-block !important;
  margin-top: 12px !important;
  padding: 12px 18px !important;
  border-radius: 6px !important;
  background: #b87535 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

.ltg-contact-button:hover {
  background: #8f5824 !important;
  color: #fff !important;
}

.ltg-contact-note {
  margin-top: 24px !important;
}

@media (max-width: 800px) {
  .ltg-contact-grid {
    grid-template-columns: 1fr !important;
  }
}
/* LTG contact page clean END */

/* LTG contact legacy screenshot v2 START */
.ltg-contact-legacy-page {
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 0 18px 56px !important;
  color: #333 !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.ltg-contact-legacy-page h1 {
  margin: 0 0 28px !important;
  padding-top: 8px !important;
  text-align: left !important;
  color: #c78a3b !important;
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

.ltg-contact-legacy-top {
  display: grid !important;
  grid-template-columns: 1fr 430px !important;
  gap: 36px !important;
  align-items: start !important;
  min-height: 280px !important;
}

.ltg-contact-legacy-details {
  padding-top: 14px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.ltg-contact-line {
  display: grid !important;
  grid-template-columns: 22px 1fr !important;
  gap: 8px !important;
  margin-bottom: 18px !important;
}

.ltg-contact-line p {
  margin: 0 !important;
}

.ltg-contact-icon {
  color: #1772d0 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}

.ltg-contact-line a {
  color: #bd7d31 !important;
  text-decoration: none !important;
}

.ltg-contact-legacy-photo img {
  display: block !important;
  max-width: 430px !important;
  width: 100% !important;
  height: auto !important;
  border: 0 !important;
}

.ltg-contact-legacy-form-section {
  margin-top: 18px !important;
}

.ltg-contact-legacy-form-section h2,
.ltg-contact-legacy-more h2 {
  color: #c78a3b !important;
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  margin: 0 0 24px !important;
}

.ltg-contact-legacy-form {
  max-width: 560px !important;
}

.ltg-contact-form-title {
  font-size: 17px !important;
  color: #333 !important;
  margin: 0 0 14px !important;
}

.ltg-contact-required {
  font-size: 11px !important;
  margin: 0 0 18px !important;
}

.ltg-contact-form-row {
  display: grid !important;
  grid-template-columns: 150px 250px !important;
  gap: 22px !important;
  align-items: center !important;
  margin-bottom: 18px !important;
}

.ltg-contact-form-row.wide {
  grid-template-columns: 150px 390px !important;
}

.ltg-contact-form-row.textarea {
  align-items: start !important;
  grid-template-columns: 150px 330px !important;
}

.ltg-contact-form-row label {
  font-size: 12px !important;
  color: #555 !important;
}

.ltg-contact-form-row input[type="text"],
.ltg-contact-form-row input[type="email"] {
  width: 100% !important;
  height: 25px !important;
  border: 1px solid #999 !important;
  background: #fff !important;
  padding: 2px 6px !important;
}

.ltg-contact-form-row textarea {
  width: 330px !important;
  height: 175px !important;
  border: 1px solid #999 !important;
  background: #fff !important;
  padding: 6px !important;
  resize: vertical !important;
}

.ltg-contact-form-row.check {
  grid-template-columns: 150px 24px !important;
  margin-top: -4px !important;
}

.ltg-contact-form-actions {
  margin-left: 150px !important;
  margin-top: 8px !important;
}

.ltg-contact-form-actions button {
  background: linear-gradient(#d7a357, #9a6228) !important;
  border: 1px solid #6c421d !important;
  border-radius: 3px !important;
  color: #fff !important;
  padding: 7px 14px !important;
  font-size: 12px !important;
  cursor: default !important;
}

.ltg-contact-legacy-more {
  margin-top: 38px !important;
}

.ltg-contact-legacy-more p {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.com-content-article .pagenavigation,
.com-content-article .pager,
.com-content-article .pagination,
.pagenavigation,
.pager.pagenav {
  display: none !important;
}

@media (max-width: 900px) {
  .ltg-contact-legacy-top {
    grid-template-columns: 1fr !important;
  }

  .ltg-contact-legacy-photo img {
    max-width: 100% !important;
  }

  .ltg-contact-form-row,
  .ltg-contact-form-row.wide,
  .ltg-contact-form-row.textarea,
  .ltg-contact-form-row.check {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .ltg-contact-form-row textarea {
    width: 100% !important;
  }

  .ltg-contact-form-actions {
    margin-left: 0 !important;
  }
}
/* LTG contact legacy screenshot v2 END */

/* LTG contact legacy final + footer dedupe START */
.ltg-contact-legacy-page {
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 0 18px 56px !important;
  color: #333 !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.ltg-contact-legacy-page h1 {
  margin: 0 0 28px !important;
  padding-top: 8px !important;
  text-align: left !important;
  color: #c78a3b !important;
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

.ltg-contact-legacy-top {
  display: grid !important;
  grid-template-columns: 1fr 430px !important;
  gap: 36px !important;
  align-items: start !important;
  min-height: 280px !important;
}

.ltg-contact-legacy-details {
  padding-top: 14px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.ltg-contact-line {
  display: grid !important;
  grid-template-columns: 22px 1fr !important;
  gap: 8px !important;
  margin-bottom: 18px !important;
}

.ltg-contact-line p {
  margin: 0 !important;
}

.ltg-contact-icon {
  color: #1772d0 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}

.ltg-contact-line a {
  color: #bd7d31 !important;
  text-decoration: none !important;
}

.ltg-contact-legacy-photo img {
  display: block !important;
  max-width: 430px !important;
  width: 100% !important;
  height: auto !important;
  border: 0 !important;
}

.ltg-contact-legacy-form-section {
  margin-top: 18px !important;
}

.ltg-contact-legacy-form-section h2,
.ltg-contact-legacy-more h2 {
  color: #c78a3b !important;
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  margin: 0 0 24px !important;
}

.ltg-contact-legacy-form {
  max-width: 560px !important;
}

.ltg-contact-form-title {
  font-size: 17px !important;
  color: #333 !important;
  margin: 0 0 14px !important;
}

.ltg-contact-required {
  font-size: 11px !important;
  margin: 0 0 18px !important;
}

.ltg-contact-form-row {
  display: grid !important;
  grid-template-columns: 150px 250px !important;
  gap: 22px !important;
  align-items: center !important;
  margin-bottom: 18px !important;
}

.ltg-contact-form-row.wide {
  grid-template-columns: 150px 390px !important;
}

.ltg-contact-form-row.textarea {
  align-items: start !important;
  grid-template-columns: 150px 330px !important;
}

.ltg-contact-form-row label {
  font-size: 12px !important;
  color: #555 !important;
}

.ltg-contact-form-row input[type="text"],
.ltg-contact-form-row input[type="email"] {
  width: 100% !important;
  height: 25px !important;
  border: 1px solid #999 !important;
  background: #fff !important;
  padding: 2px 6px !important;
}

.ltg-contact-form-row textarea {
  width: 330px !important;
  height: 175px !important;
  border: 1px solid #999 !important;
  background: #fff !important;
  padding: 6px !important;
  resize: vertical !important;
}

.ltg-contact-form-row.check {
  grid-template-columns: 150px 24px !important;
  margin-top: -4px !important;
}

.ltg-contact-form-actions {
  margin-left: 150px !important;
  margin-top: 8px !important;
}

.ltg-contact-form-actions button {
  background: linear-gradient(#d7a357, #9a6228) !important;
  border: 1px solid #6c421d !important;
  border-radius: 3px !important;
  color: #fff !important;
  padding: 7px 14px !important;
  font-size: 12px !important;
  cursor: default !important;
}

.ltg-contact-legacy-more {
  margin-top: 38px !important;
}

.ltg-contact-legacy-more p {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* niente avanti/indietro */
.com-content-article .pagenavigation,
.com-content-article .pager,
.com-content-article .pagination,
.pagenavigation,
.pager.pagenav,
ul.pagenav {
  display: none !important;
}

/* un solo footer: spegne footer Joomla/default o wrapper senza footer LTG */
.container-footer .mod-footer,
.container-footer .footer,
.container-footer > .grid-child > p,
.container-footer > .grid-child > div:not(:has(#ltg-final-footer)),
.container-footer > .grid-child > section:not(:has(#ltg-final-footer)) {
  display: none !important;
}

.container-footer #ltg-final-footer {
  display: block !important;
}

@media (max-width: 900px) {
  .ltg-contact-legacy-top {
    grid-template-columns: 1fr !important;
  }

  .ltg-contact-legacy-photo img {
    max-width: 100% !important;
  }

  .ltg-contact-form-row,
  .ltg-contact-form-row.wide,
  .ltg-contact-form-row.textarea,
  .ltg-contact-form-row.check {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .ltg-contact-form-row textarea {
    width: 100% !important;
  }

  .ltg-contact-form-actions {
    margin-left: 0 !important;
  }
}
/* LTG contact legacy final + footer dedupe END */

/* LTG one shared footer START */
.container-footer {
  background: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.container-footer .mod-footer,
.container-footer .footer,
.container-footer > .grid-child > p,
.footer:not(#ltg-final-footer),
footer:not(#ltg-final-footer) {
  display: none !important;
}

#ltg-final-footer {
  display: block !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: #262626 !important;
  color: #f2f2f2 !important;
  padding: 42px 5vw 24px !important;
  clear: both !important;
}

#ltg-final-footer .ltg-final-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: start !important;
}

#ltg-final-footer h3 {
  margin: 0 0 14px !important;
  font-size: 18px !important;
  color: #fff !important;
  text-transform: uppercase !important;
}

#ltg-final-footer h3 span {
  color: #d79a4c !important;
}

#ltg-final-footer .ltg-final-footer-card {
  background: #fff !important;
  color: #222 !important;
  border-radius: 4px !important;
  padding: 18px !important;
  min-height: 150px !important;
  box-shadow: 0 3px 14px rgba(0,0,0,.18) !important;
}

#ltg-final-footer .ltg-final-facebook,
#ltg-final-footer .ltg-final-map {
  display: block !important;
  text-align: center !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  padding: 12px 14px !important;
  border-radius: 6px !important;
  margin-top: 10px !important;
}

#ltg-final-footer .ltg-final-facebook {
  background: #1877f2 !important;
}

#ltg-final-footer .ltg-final-map {
  background: #c7863c !important;
}

#ltg-final-footer .ltg-final-legal {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  text-align: center !important;
  font-size: 13px !important;
}

#ltg-final-footer .ltg-final-legal a {
  color: #d79a4c !important;
  text-decoration: none !important;
  margin: 0 8px !important;
}

#ltg-final-footer .ltg-final-legal span {
  color: #999 !important;
}

@media (max-width: 900px) {
  #ltg-final-footer .ltg-final-footer-grid {
    grid-template-columns: 1fr !important;
  }
}
/* LTG one shared footer END */

/* LTG canonical shared footer START */
.container-footer {
  background: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.container-footer .mod-footer,
.container-footer .footer,
.container-footer > .grid-child > p,
.footer:not(#ltg-final-footer),
footer:not(#ltg-final-footer) {
  display: none !important;
}

#ltg-final-footer,
#ltg-final-footer * {
  box-sizing: border-box !important;
}

#ltg-final-footer {
  display: block !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: #262626 !important;
  color: #f2f2f2 !important;
  padding: 42px 5vw 24px !important;
  clear: both !important;
}

#ltg-final-footer .ltg-final-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: start !important;
}

#ltg-final-footer h3 {
  margin: 0 0 14px !important;
  font-size: 18px !important;
  color: #fff !important;
  text-transform: uppercase !important;
}

#ltg-final-footer h3 span {
  color: #d79a4c !important;
}

#ltg-final-footer .ltg-final-footer-card {
  background: #fff !important;
  color: #222 !important;
  border-radius: 4px !important;
  padding: 18px !important;
  min-height: 150px !important;
  box-shadow: 0 3px 14px rgba(0,0,0,.18) !important;
}

#ltg-final-footer .ltg-final-facebook,
#ltg-final-footer .ltg-final-map {
  display: block !important;
  text-align: center !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  padding: 12px 14px !important;
  border-radius: 6px !important;
  margin-top: 10px !important;
}

#ltg-final-footer .ltg-final-facebook {
  background: #1877f2 !important;
}

#ltg-final-footer .ltg-final-map {
  background: #c7863c !important;
}

#ltg-final-footer .ltg-final-legal {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  text-align: center !important;
  font-size: 13px !important;
}

#ltg-final-footer .ltg-final-legal a {
  color: #d79a4c !important;
  text-decoration: none !important;
  margin: 0 8px !important;
}

#ltg-final-footer .ltg-final-legal span {
  color: #999 !important;
}

@media (max-width: 900px) {
  #ltg-final-footer .ltg-final-footer-grid {
    grid-template-columns: 1fr !important;
  }
}
/* LTG canonical shared footer END */

/* LTG legal pages simple START */
.ltg-legal-page {
  max-width: 940px !important;
  margin: 0 auto !important;
  padding: 46px 22px 64px !important;
  color: #333 !important;
  line-height: 1.75 !important;
  font-size: 16px !important;
}

.ltg-legal-page h1 {
  color: #c78a3b !important;
  font-size: 38px !important;
  line-height: 1.15 !important;
  margin: 0 0 24px !important;
}

.ltg-legal-page p {
  margin: 0 0 16px !important;
}

.ltg-legal-page em {
  color: #8b5a2b !important;
}
/* LTG legal pages simple END */

/* LTG final visibility footer and wide content START */

/* Correzione critica: una vecchia regola nascondeva tutti i tag footer diversi da #ltg-final-footer.
   Questa riapre il contenitore footer di Joomla. */
body footer.container-footer,
body footer.container-footer.footer,
body footer.container-footer.footer.full-width,
body .container-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body footer.container-footer #ltg-final-footer,
body .container-footer #ltg-final-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Nasconde solo i footer default/doppi, non il contenitore Joomla e non il footer LTG. */
.container-footer .mod-footer,
.container-footer .footer:not(#ltg-final-footer),
.container-footer > .grid-child > p {
  display: none !important;
}

/* Layout contenuti Joomla più largo e coerente */
.site-grid {
  grid-template-columns: [full-start] minmax(0, 1fr) [full-end] !important;
}

.grid-child.container-component {
  grid-column: full-start / full-end !important;
  width: 100% !important;
  max-width: none !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.container-sidebar-left,
.container-sidebar-right,
.sidebar-left,
.sidebar-right,
.mod-breadcrumbs,
.breadcrumb,
.breadcrumbs {
  display: none !important;
}

.com-content-article,
.com-content-article.item-page,
.com-content-category-blog,
.ltg-content-page,
.ltg-contact-legacy-page,
.ltg-legal-page {
  width: min(1180px, calc(100vw - 48px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Pagine legali */
.ltg-legal-page {
  padding: 46px 0 64px !important;
  color: #333 !important;
  line-height: 1.75 !important;
  font-size: 16px !important;
}

.ltg-legal-page h1 {
  color: #c78a3b !important;
  font-size: 38px !important;
  line-height: 1.15 !important;
  margin: 0 0 24px !important;
}

.ltg-legal-page p {
  margin: 0 0 16px !important;
}

/* Footer canonico */
#ltg-final-footer,
#ltg-final-footer * {
  box-sizing: border-box !important;
}

#ltg-final-footer {
  display: block !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: #262626 !important;
  color: #f2f2f2 !important;
  padding: 42px 5vw 24px !important;
  clear: both !important;
}

#ltg-final-footer .ltg-final-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: start !important;
}

#ltg-final-footer h3 {
  margin: 0 0 14px !important;
  font-size: 18px !important;
  color: #fff !important;
  text-transform: uppercase !important;
}

#ltg-final-footer h3 span {
  color: #d79a4c !important;
}

#ltg-final-footer .ltg-final-footer-card {
  background: #fff !important;
  color: #222 !important;
  border-radius: 4px !important;
  padding: 18px !important;
  min-height: 150px !important;
  box-shadow: 0 3px 14px rgba(0,0,0,.18) !important;
}

#ltg-final-footer .ltg-final-facebook,
#ltg-final-footer .ltg-final-map {
  display: block !important;
  text-align: center !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  padding: 12px 14px !important;
  border-radius: 6px !important;
  margin-top: 10px !important;
}

#ltg-final-footer .ltg-final-facebook {
  background: #1877f2 !important;
}

#ltg-final-footer .ltg-final-map {
  background: #c7863c !important;
}

#ltg-final-footer .ltg-final-legal {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  text-align: center !important;
  font-size: 13px !important;
}

#ltg-final-footer .ltg-final-legal a {
  color: #d79a4c !important;
  text-decoration: none !important;
  margin: 0 8px !important;
}

#ltg-final-footer .ltg-final-legal span {
  color: #999 !important;
}

@media (max-width: 900px) {
  .grid-child.container-component {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .com-content-article,
  .com-content-article.item-page,
  .com-content-category-blog,
  .ltg-content-page,
  .ltg-contact-legacy-page,
  .ltg-legal-page {
    width: min(100%, calc(100vw - 32px)) !important;
  }

  #ltg-final-footer .ltg-final-footer-grid {
    grid-template-columns: 1fr !important;
  }
}
/* LTG final visibility footer and wide content END */

/* LTG step10b final footer visibility + unified background START */

/* sfondo template uniforme sulle pagine Joomla */
html body.site,
html body.site .site-grid,
html body.site main,
html body.site .grid-child.container-component {
  background: #f4efe7 !important;
  color: #333 !important;
}

/* contenuto più largo, non ingabbiato */
html body.site .site-grid {
  grid-template-columns: [full-start] minmax(0, 1fr) [full-end] !important;
}

html body.site .grid-child.container-component {
  grid-column: full-start / full-end !important;
  width: 100% !important;
  max-width: none !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

html body.site .com-content-article,
html body.site .com-content-article.item-page,
html body.site .com-content-category-blog,
html body.site .blog,
html body.site .ltg-content-page,
html body.site .ltg-contact-legacy-page,
html body.site .ltg-legal-page {
  width: min(1180px, calc(100vw - 48px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  background: transparent !important;
}

/* nasconde colonne laterali e breadcrumb Joomla */
html body.site .container-sidebar-left,
html body.site .container-sidebar-right,
html body.site .sidebar-left,
html body.site .sidebar-right,
html body.site .mod-breadcrumbs,
html body.site .breadcrumb,
html body.site .breadcrumbs {
  display: none !important;
}

/* override ad alta specificità contro vecchie regole tipo footer:not(#ltg-final-footer) */
html:not(#ltg-final-footer) body.site footer.container-footer,
html:not(#ltg-final-footer) body.site footer.container-footer.footer,
html:not(#ltg-final-footer) body.site footer.container-footer.footer.full-width,
html:not(#ltg-final-footer) body.site .container-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

html:not(#ltg-final-footer) body.site footer.container-footer > .grid-child,
html:not(#ltg-final-footer) body.site .container-footer > .grid-child,
html:not(#ltg-final-footer) body.site footer.container-footer #mod-custom111,
html:not(#ltg-final-footer) body.site footer.container-footer .mod-custom,
html:not(#ltg-final-footer) body.site footer.container-footer #ltg-final-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* nasconde solo footer default/doppi, non il contenitore Joomla e non il footer LTG */
html body.site footer.container-footer .mod-footer,
html body.site footer.container-footer .footer:not(#ltg-final-footer),
html body.site footer.container-footer > .grid-child > p {
  display: none !important;
}

/* footer canonico */
#ltg-final-footer,
#ltg-final-footer * {
  box-sizing: border-box !important;
}

#ltg-final-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: #262626 !important;
  color: #f2f2f2 !important;
  padding: 42px 5vw 24px !important;
  clear: both !important;
}

#ltg-final-footer .ltg-final-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: start !important;
}

#ltg-final-footer h3 {
  margin: 0 0 14px !important;
  font-size: 18px !important;
  color: #fff !important;
  text-transform: uppercase !important;
}

#ltg-final-footer h3 span {
  color: #d79a4c !important;
}

#ltg-final-footer .ltg-final-footer-card {
  background: #fff !important;
  color: #222 !important;
  border-radius: 4px !important;
  padding: 18px !important;
  min-height: 150px !important;
  box-shadow: 0 3px 14px rgba(0,0,0,.18) !important;
}

#ltg-final-footer .ltg-final-facebook,
#ltg-final-footer .ltg-final-map {
  display: block !important;
  text-align: center !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  padding: 12px 14px !important;
  border-radius: 6px !important;
  margin-top: 10px !important;
}

#ltg-final-footer .ltg-final-facebook {
  background: #1877f2 !important;
}

#ltg-final-footer .ltg-final-map {
  background: #c7863c !important;
}

#ltg-final-footer .ltg-final-legal {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  text-align: center !important;
  font-size: 13px !important;
}

#ltg-final-footer .ltg-final-legal a {
  color: #d79a4c !important;
  text-decoration: none !important;
  margin: 0 8px !important;
}

#ltg-final-footer .ltg-final-legal span {
  color: #999 !important;
}

/* pagine legali */
.ltg-legal-page {
  padding: 46px 0 64px !important;
  line-height: 1.75 !important;
  font-size: 16px !important;
}

.ltg-legal-page h1 {
  color: #c78a3b !important;
  font-size: 38px !important;
  line-height: 1.15 !important;
  margin: 0 0 24px !important;
}

.ltg-legal-page p {
  margin: 0 0 16px !important;
}

@media (max-width: 900px) {
  html body.site .grid-child.container-component {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  html body.site .com-content-article,
  html body.site .com-content-article.item-page,
  html body.site .com-content-category-blog,
  html body.site .blog,
  html body.site .ltg-content-page,
  html body.site .ltg-contact-legacy-page,
  html body.site .ltg-legal-page {
    width: min(100%, calc(100vw - 32px)) !important;
  }

  #ltg-final-footer .ltg-final-footer-grid {
    grid-template-columns: 1fr !important;
  }
}
/* LTG step10b final footer visibility + unified background END */

/* LTG step12 final fixes START */

/* sfondo template uniforme */
html body.site,
html body.site main,
html body.site .site-grid,
html body.site .grid-child.container-component,
html body.site .com-content-article,
html body.site .com-content-article__body,
html body.site .blog,
html body.site .blog-item,
html body.site .item-content,
html body.site .item-image,
html body.site figure,
html body.site .card,
html body.site .card-body {
  background-color: #f4efe7 !important;
  color: #333 !important;
}

/* larghezza contenuti Joomla */
html body.site .site-grid {
  grid-template-columns: [full-start] minmax(0, 1fr) [full-end] !important;
}

html body.site .grid-child.container-component {
  grid-column: full-start / full-end !important;
  width: 100% !important;
  max-width: none !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

html body.site .com-content-article,
html body.site .com-content-article.item-page,
html body.site .com-content-category-blog,
html body.site .blog,
html body.site .ltg-content-page,
html body.site .ltg-contact-legacy-page,
html body.site .ltg-legal-page {
  width: min(1180px, calc(100vw - 48px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* niente sidebar/breadcrumb provvisori */
html body.site .container-sidebar-left,
html body.site .container-sidebar-right,
html body.site .sidebar-left,
html body.site .sidebar-right,
html body.site .mod-breadcrumbs,
html body.site .breadcrumb,
html body.site .breadcrumbs {
  display: none !important;
}

/* Contattaci più leggibile */
.ltg-contact-legacy-page,
.ltg-contact-legacy-page p,
.ltg-contact-legacy-page label,
.ltg-contact-legacy-page input,
.ltg-contact-legacy-page textarea,
.ltg-contact-legacy-page button {
  font-size: 18px !important;
  line-height: 1.75 !important;
}

.ltg-contact-legacy-page h1 {
  font-size: 42px !important;
  line-height: 1.15 !important;
}

.ltg-contact-legacy-page h2 {
  font-size: 32px !important;
  line-height: 1.2 !important;
}

.ltg-contact-legacy-details strong,
.ltg-contact-legacy-more strong {
  font-size: 19px !important;
}

/* footer Joomla visibile */
html body.site footer.container-footer,
html body.site footer.container-footer.footer,
html body.site footer.container-footer.footer.full-width,
html body.site .container-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

html body.site footer.container-footer > .grid-child,
html body.site footer.container-footer #mod-custom111,
html body.site footer.container-footer .mod-custom,
html body.site footer.container-footer #ltg-final-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html body.site footer.container-footer .mod-footer,
html body.site footer.container-footer .footer:not(#ltg-final-footer),
html body.site footer.container-footer > .grid-child > p {
  display: none !important;
}

/* footer canonico */
#ltg-final-footer,
#ltg-final-footer * {
  box-sizing: border-box !important;
}

#ltg-final-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: #262626 !important;
  color: #f2f2f2 !important;
  padding: 42px 5vw 24px !important;
  clear: both !important;
}

#ltg-final-footer .ltg-final-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: start !important;
}

#ltg-final-footer h3 {
  margin: 0 0 14px !important;
  font-size: 18px !important;
  color: #fff !important;
  text-transform: uppercase !important;
}

#ltg-final-footer h3 span {
  color: #d79a4c !important;
}

#ltg-final-footer .ltg-final-footer-card {
  background: #fff !important;
  color: #222 !important;
  border-radius: 4px !important;
  padding: 18px !important;
  min-height: 150px !important;
  box-shadow: 0 3px 14px rgba(0,0,0,.18) !important;
}

#ltg-final-footer .ltg-final-facebook,
#ltg-final-footer .ltg-final-map {
  display: block !important;
  text-align: center !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  padding: 12px 14px !important;
  border-radius: 6px !important;
  margin-top: 10px !important;
}

#ltg-final-footer .ltg-final-facebook {
  background: #1877f2 !important;
}

#ltg-final-footer .ltg-final-map {
  background: #c7863c !important;
}

#ltg-final-footer .ltg-final-legal {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  text-align: center !important;
  font-size: 13px !important;
}

#ltg-final-footer .ltg-final-legal a {
  color: #d79a4c !important;
  text-decoration: none !important;
  margin: 0 8px !important;
}

/* Leggi tutto grafico */
.readmore,
p.readmore {
  margin-top: 18px !important;
  background: transparent !important;
  border: 0 !important;
}

.readmore a,
p.readmore a,
.com-content-category-blog .readmore a,
.blog .readmore a,
.items-more a,
a.readmore,
a.btn.readmore {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 11px 20px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(120, 70, 25, .35) !important;
  background: linear-gradient(180deg, #d99a4c 0%, #bf7a32 100%) !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.25) !important;
  box-shadow: 0 2px 0 rgba(100,55,20,.55), 0 8px 18px rgba(0,0,0,.12) !important;
}

.readmore a:hover,
p.readmore a:hover,
.com-content-category-blog .readmore a:hover,
.blog .readmore a:hover,
.items-more a:hover,
a.readmore:hover,
a.btn.readmore:hover {
  color: #fff !important;
  filter: brightness(1.06) !important;
}

.readmore a::before,
p.readmore a::before,
.com-content-category-blog .readmore a::before,
.blog .readmore a::before,
.items-more a::before,
a.readmore::before,
a.btn.readmore::before {
  content: "›" !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.22) !important;
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

/* sfondi bianchi su immagini/card uniformati */
html body.site .item-image,
html body.site figure,
html body.site .figure,
html body.site .image-left,
html body.site .image-right,
html body.site .float-start,
html body.site .float-end,
html body.site .img-thumbnail,
html body.site .thumbnail,
html body.site .card:has(img),
html body.site .card-body:has(img) {
  background-color: #f4efe7 !important;
  border-color: rgba(120, 90, 60, .18) !important;
  box-shadow: none !important;
}

html body.site img,
html body.site .item-image img,
html body.site figure img,
html body.site .img-thumbnail {
  background-color: #f4efe7 !important;
}

/* pagine legali */
.ltg-legal-page {
  padding: 46px 0 64px !important;
  line-height: 1.75 !important;
  font-size: 17px !important;
}

.ltg-legal-page h1 {
  color: #c78a3b !important;
  font-size: 40px !important;
  line-height: 1.15 !important;
  margin: 0 0 24px !important;
}

@media (max-width: 900px) {
  html body.site .grid-child.container-component {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  html body.site .com-content-article,
  html body.site .com-content-article.item-page,
  html body.site .com-content-category-blog,
  html body.site .blog,
  html body.site .ltg-content-page,
  html body.site .ltg-contact-legacy-page,
  html body.site .ltg-legal-page {
    width: min(100%, calc(100vw - 32px)) !important;
  }

  #ltg-final-footer .ltg-final-footer-grid {
    grid-template-columns: 1fr !important;
  }
}
/* LTG step12 final fixes END */


/* LTG dynamic home imported CSS START */

    html, body {
      width: 100%;
      max-width: 100%;
      margin: 0;
      padding: 0;
      overflow-x: hidden;
      background: #b9ecee;
      font-family: Arial, Helvetica, sans-serif;
      color: #222;
    }

    * { box-sizing: border-box; }

    .ltg-static-home {
      width: 100%;
      max-width: none;
      overflow-x: hidden;
      background: #f5f5f5;
    }

    .ltg-wrap {
      width: 100%;
      max-width: none;
      margin: 0;
      padding-left: clamp(18px, 5vw, 96px);
      padding-right: clamp(18px, 5vw, 96px);
    }

    .ltg-topbar {
      height: 0;
      position: relative;
      z-index: 160;
    }

    .ltg-access-toggle {
      position: absolute;
      top: 32px;
      right: 152px;
      color: #d28c42;
      background: transparent;
      border: 0;
      font-weight: 700;
      text-transform: uppercase;
      cursor: pointer;
      z-index: 180;
    }

    .ltg-menu-toggle {
      position: absolute;
      top: 29px;
      right: 98px;
      width: 34px;
      height: 28px;
      background: transparent;
      border: 0;
      display: grid;
      gap: 5px;
      align-content: center;
      cursor: pointer;
      z-index: 180;
    }

    .ltg-menu-toggle span {
      display: block;
      height: 2px;
      background: #fff;
    }

    .ltg-pop {
      display: none;
      position: absolute;
      top: 86px;
      right: 98px;
      width: 320px;
      max-width: calc(100vw - 24px);
      background: #fff;
      border: 1px solid #ddd;
      box-shadow: 0 10px 28px rgba(0,0,0,.22);
      padding: 18px;
      z-index: 220;
    }

    .ltg-pop.open { display: block; }

    .ltg-pop h3 {
      margin: 0 0 14px;
      font-size: 24px;
      color: #222;
    }

    .ltg-pop a {
      display: block;
      margin: 10px 0;
      color: #0645ad;
    }

    .ltg-login-fields input {
      width: 100%;
      padding: 11px;
      border: 1px solid #bbb;
      margin: 8px 0;
    }

    .ltg-login-actions a {
      background: #c98b34;
      color: #fff;
      text-align: center;
      padding: 12px;
      border-radius: 3px;
      text-decoration: none;
      font-weight: 700;
    }

    .ltg-nav {
      width: 100%;
      height: 72px;
      background: #222;
      border-top: 3px solid #c7863c;
      border-bottom: 4px solid #c7863c;
      position: relative;
      overflow: visible;
      z-index: 80;
    }

    .ltg-nav .ltg-wrap {
      height: 72px;
      position: relative;
    }

    .ltg-nav-left {
      position: absolute;
      top: 0;
      right: calc(50% + 102px);
      height: 72px;
      display: flex;
      align-items: stretch;
    }

    .ltg-nav-right {
      position: absolute;
      top: 0;
      left: calc(50% + 112px);
      height: 72px;
      display: flex;
      align-items: stretch;
    }

    .ltg-nav a {
      height: 72px;
      display: flex;
      align-items: center;
      padding: 0 28px;
      color: #fff;
      text-decoration: none;
      text-transform: uppercase;
      font-weight: 700;
      font-size: 13px;
      white-space: nowrap;
    }

    .ltg-nav a.active,
    .ltg-nav a:hover {
      background: linear-gradient(#c9904b, #aa6a2f);
    }

    .ltg-logo {
      position: absolute;
      left: 50%;
      top: 58%;
      transform: translate(-50%, -50%);
      width: 190px;
      height: 122px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: visible;
      z-index: 150;
      pointer-events: none;
    }

    .ltg-logo img {
      max-width: 190px;
      max-height: 122px;
      width: auto;
      height: auto;
      object-fit: contain;
      display: block;
    }

    .ltg-hero {
      background: #ededed;
      min-height: 420px;
      overflow: hidden;
      border-bottom: 1px solid #b8b8b8;
    }

    .ltg-hero .ltg-wrap {
      min-height: 420px;
      display: grid;
      grid-template-columns: 42% 58%;
      align-items: center;
    }

    .ltg-hero h1 {
      font-size: 48px;
      line-height: .95;
      margin: 0 0 36px;
      color: #4d4d4d;
      text-transform: uppercase;
      text-shadow: 2px 2px 0 #fff, 3px 3px 0 #aaa;
      letter-spacing: -2px;
    }

    .ltg-hero p {
      font-size: 18px;
      line-height: 1.55;
      color: #333;
      max-width: 560px;
    }

    .ltg-hero-img {
      align-self: end;
      text-align: center;
    }

    .ltg-hero-img img {
      max-height: 390px;
      max-width: 100%;
      object-fit: contain;
      vertical-align: bottom;
    }

    .ltg-dark {
      background: #3b342b;
      color: #fff;
      box-shadow: inset 0 10px 35px rgba(0,0,0,.25);
    }

    .ltg-feature-cards {
      padding: 52px 0 58px;
    }

    .ltg-three {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 70px;
      text-align: center;
    }

    .ltg-icon {
      width: 58px;
      height: 58px;
      margin: 0 auto 16px;
      background: linear-gradient(#444, #202020);
      border-radius: 6px;
      color: #fff;
      display: grid;
      place-items: center;
      font-size: 25px;
    }

    .ltg-card-title {
      color: #fff;
      text-transform: uppercase;
      font-size: 14px;
      font-weight: 800;
      line-height: 1.15;
    }

    .ltg-card-title span {
      display: block;
      color: #d28c42;
      font-size: 18px;
    }

    .ltg-three p {
      font-size: 13px;
      margin: 18px 0;
    }

    .ltg-btn {
      display: inline-block;
      background: linear-gradient(#dfa75e, #b97632);
      color: #fff;
      border: 1px solid #925721;
      border-radius: 4px;
      padding: 8px 18px;
      font-size: 13px;
      text-decoration: none;
      cursor: pointer;
    }

    .ltg-trad {
      background: #aaa08e;
      color: #222;
      padding: 45px 0 52px;
      box-shadow: inset 0 20px 40px rgba(0,0,0,.14);
    }

    .ltg-trad-grid {
      display: grid;
      grid-template-columns: 58% 42%;
      gap: 42px;
    }

    .ltg-trad h2 {
      margin: 0;
      text-align: center;
      font-size: 44px;
      color: #fff;
      text-transform: uppercase;
      letter-spacing: 1px;
      text-shadow: 2px 2px 0 #555;
    }

    .ltg-trad .sub {
      text-align: center;
      font-size: 31px;
      color: #fff;
      text-transform: uppercase;
      letter-spacing: 5px;
      margin: 8px 0 35px;
      text-shadow: 1px 1px 0 #555;
    }

    .ltg-check {
      display: grid;
      grid-template-columns: 32px 1fr;
      gap: 12px;
      margin: 15px 0;
    }

    .ltg-check b {
      display: grid;
      place-items: center;
      background: #333;
      color: #fff;
      width: 28px;
      height: 28px;
      border-radius: 3px;
    }

    .ltg-offerte h3 {
      margin: 0 0 18px;
      font-size: 19px;
      text-transform: uppercase;
    }

    .ltg-offerte h3 span {
      color: #d28c42;
    }

    .ltg-tab-radios input {
      position: absolute;
      left: -9999px;
    }

    .ltg-tabs {
      display: flex;
    }

    .ltg-tabs label {
      display: block;
      background: rgba(255,255,255,.25);
      padding: 12px 18px;
      text-transform: uppercase;
      font-size: 13px;
      color: #333;
      cursor: pointer;
    }

    #ltg-tab-gruppi:checked ~ .ltg-tabs label[for="ltg-tab-gruppi"],
    #ltg-tab-visite:checked ~ .ltg-tabs label[for="ltg-tab-visite"] {
      background: rgba(255,255,255,.65);
    }

    .ltg-offer-panel {
      display: none;
      background: rgba(255,255,255,.45);
      padding: 22px;
      border-radius: 5px;
      line-height: 1.65;
      box-shadow: 0 2px 10px rgba(0,0,0,.12);
    }

    #ltg-tab-gruppi:checked ~ .ltg-offer-panels .ltg-panel-gruppi,
    #ltg-tab-visite:checked ~ .ltg-offer-panels .ltg-panel-visite {
      display: block;
    }

    .ltg-news {
      background: #f4f4f4;
      padding: 48px 0 70px;
      text-align: center;
    }

    .ltg-section-title {
      text-align: center;
      text-transform: uppercase;
      color: #4b4b4b;
      font-size: 46px;
      line-height: 1;
      margin: 0;
      text-shadow: 2px 2px 0 #fff, 3px 3px 0 #aaa;
    }

    .ltg-section-sub {
      text-align: center;
      text-transform: uppercase;
      color: #555;
      font-size: 28px;
      letter-spacing: 5px;
      margin: 10px 0 38px;
    }

    .ltg-news-card {
      display: grid;
      grid-template-columns: minmax(180px, 260px) 1fr;
      gap: 20px;
      max-width: 860px;
      margin: 0 auto;
      background: #fff;
      padding: 24px;
      box-shadow: 0 4px 20px rgba(0,0,0,.15);
      text-align: left;
    }

    .ltg-news-card img {
      width: 100%;
      max-height: 260px;
      object-fit: cover;
    }

    .ltg-news-card h3 {
      margin-top: 0;
      color: #c89553;
    }

    .ltg-gallery {
      background: #3b342b;
      color: #fff;
      padding: 70px 0 60px;
      text-align: center;
    }

    .ltg-gallery .ltg-section-title,
    .ltg-gallery .ltg-section-sub {
      color: #fff;
    }

    .ltg-img-grid {
      margin: 22px auto 0;
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 8px;
    }

    .ltg-img-grid img {
      width: 100%;
      height: 96px;
      object-fit: cover;
      display: block;
      background: #222;
    }

    .ltg-footer {
      background: #262626;
      color: #f2f2f2;
      padding: 48px 0 70px;
      border-top: 4px dashed rgba(255,255,255,.4);
    }

    .ltg-footer-single {
      max-width: 560px;
      margin: 0 auto;
      text-align: center;
    }

    .ltg-footer h3 {
      text-transform: uppercase;
      font-size: 22px;
      color: #fff;
    }

    .ltg-footer h3 span {
      color: #d8a160;
    }

    .ltg-facebook-box {
      background: #fff;
      color: #222;
      padding: 22px;
      border-radius: 4px;
      box-shadow: 0 4px 16px rgba(0,0,0,.25);
    }

    .ltg-facebook-link {
      display: block;
      background: #1877f2;
      color: #fff;
      text-decoration: none;
      padding: 13px;
      border-radius: 6px;
      margin: 12px 0;
      font-weight: 800;
      text-align: center;
    }

    @media (max-width: 1024px) {
      .ltg-wrap {
        padding-left: 24px;
        padding-right: 24px;
      }

      .ltg-nav-left {
        right: calc(50% + 88px);
      }

      .ltg-nav-right {
        left: calc(50% + 96px);
      }

      .ltg-logo {
        width: 164px;
        height: 106px;
      }

      .ltg-logo img {
        max-width: 164px;
        max-height: 106px;
      }

      .ltg-nav a {
        padding: 0 18px;
        font-size: 12px;
      }

      .ltg-access-toggle {
        right: 72px;
      }

      .ltg-menu-toggle,
      .ltg-pop {
        right: 18px;
      }
    }

    @media (max-width: 767px) {
      .ltg-wrap {
        padding-left: 14px;
        padding-right: 14px;
      }

      .ltg-nav,
      .ltg-nav .ltg-wrap {
        height: 66px;
      }

      .ltg-logo {
        width: 132px;
        height: 88px;
        top: 59%;
      }

      .ltg-logo img {
        max-width: 132px;
        max-height: 88px;
      }

      .ltg-nav-left {
        left: 0;
        right: auto;
      }

      .ltg-nav-right {
        left: 132px;
        right: auto;
      }

      .ltg-nav a {
        height: 66px;
        padding: 0 10px;
        font-size: 11px;
      }

      .ltg-access-toggle {
        top: 31px;
        right: 58px;
        font-size: 12px;
      }

      .ltg-menu-toggle {
        top: 28px;
        right: 12px;
      }

      .ltg-pop {
        top: 82px;
        right: 8px;
        width: calc(100vw - 16px);
      }

      .ltg-hero .ltg-wrap,
      .ltg-trad-grid,
      .ltg-news-card {
        grid-template-columns: 1fr;
      }

      .ltg-three {
        grid-template-columns: 1fr;
      }

      .ltg-img-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }
  
/* LTG inline fascia nera estesa dietro logo START */
.ltg-nav {
  margin-top: 12px !important;
  height: 80px !important;
  min-height: 80px !important;
  box-shadow: 0 -16px 0 #222 !important;
  overflow: visible !important;
}

.ltg-nav .ltg-wrap {
  height: 80px !important;
  min-height: 80px !important;
}

.ltg-nav-left,
.ltg-nav-right,
.ltg-nav a {
  height: 80px !important;
}

.ltg-logo {
  top: 48% !important;
}

.ltg-access-toggle {
  top: 36px !important;
}

.ltg-menu-toggle {
  top: 33px !important;
}

.ltg-pop {
  top: 94px !important;
}

@media (max-width: 1024px) {
  .ltg-nav {
    margin-top: 10px !important;
    height: 76px !important;
    min-height: 76px !important;
    box-shadow: 0 -14px 0 #222 !important;
  }

  .ltg-nav .ltg-wrap,
  .ltg-nav-left,
  .ltg-nav-right,
  .ltg-nav a {
    height: 76px !important;
    min-height: 76px !important;
  }

  .ltg-logo {
    top: 49% !important;
  }

  .ltg-access-toggle {
    top: 34px !important;
  }

  .ltg-menu-toggle {
    top: 31px !important;
  }

  .ltg-pop {
    top: 90px !important;
  }
}

@media (max-width: 767px) {
  .ltg-nav {
    margin-top: 8px !important;
    height: 72px !important;
    min-height: 72px !important;
    box-shadow: 0 -12px 0 #222 !important;
  }

  .ltg-nav .ltg-wrap,
  .ltg-nav-left,
  .ltg-nav-right,
  .ltg-nav a {
    height: 72px !important;
    min-height: 72px !important;
  }

  .ltg-logo {
    top: 50% !important;
  }

  .ltg-access-toggle {
    top: 33px !important;
  }

  .ltg-menu-toggle {
    top: 30px !important;
  }

  .ltg-pop {
    top: 86px !important;
  }
}
/* LTG inline fascia nera estesa dietro logo END */

/* LTG inline logo non tagliato senza fascia extra START */
.ltg-nav {
  margin-top: 22px !important;
  height: 72px !important;
  min-height: 72px !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.ltg-nav .ltg-wrap,
.ltg-nav-left,
.ltg-nav-right,
.ltg-nav a {
  height: 72px !important;
  min-height: 72px !important;
}

.ltg-logo {
  top: 58% !important;
}

.ltg-access-toggle {
  top: 32px !important;
}

.ltg-menu-toggle {
  top: 29px !important;
}

.ltg-pop {
  top: 90px !important;
}

@media (max-width: 1024px) {
  .ltg-nav {
    margin-top: 18px !important;
    height: 70px !important;
    min-height: 70px !important;
    box-shadow: none !important;
  }

  .ltg-nav .ltg-wrap,
  .ltg-nav-left,
  .ltg-nav-right,
  .ltg-nav a {
    height: 70px !important;
    min-height: 70px !important;
  }

  .ltg-logo {
    top: 58% !important;
  }

  .ltg-access-toggle {
    top: 31px !important;
  }

  .ltg-menu-toggle {
    top: 28px !important;
  }

  .ltg-pop {
    top: 86px !important;
  }
}

@media (max-width: 767px) {
  .ltg-nav {
    margin-top: 14px !important;
    height: 66px !important;
    min-height: 66px !important;
    box-shadow: none !important;
  }

  .ltg-nav .ltg-wrap,
  .ltg-nav-left,
  .ltg-nav-right,
  .ltg-nav a {
    height: 66px !important;
    min-height: 66px !important;
  }

  .ltg-logo {
    top: 59% !important;
  }

  .ltg-access-toggle {
    top: 31px !important;
  }

  .ltg-menu-toggle {
    top: 28px !important;
  }

  .ltg-pop {
    top: 82px !important;
  }
}
/* LTG inline logo non tagliato senza fascia extra END */

/* LTG inline main menu refined START */
.ltg-menu-pop {
  width: 330px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(199, 134, 60, .55) !important;
  border-radius: 6px !important;
  background: #1f1f1f !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.35) !important;
}

.ltg-menu-pop h3 {
  margin: 0 !important;
  padding: 18px 20px !important;
  background: linear-gradient(180deg, #2b2b2b, #1d1d1d) !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  border-bottom: 1px solid rgba(199, 134, 60, .35) !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
}

.ltg-menu-pop a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 14px 20px 14px 42px !important;
  color: #f5f5f5 !important;
  background: #242424 !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  transition: background .18s ease, color .18s ease, padding-left .18s ease !important;
}

.ltg-menu-pop a::before {
  content: "" !important;
  position: absolute !important;
  left: 20px !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #c7863c !important;
  transform: translateY(-50%) !important;
  opacity: .85 !important;
}

.ltg-menu-pop a::after {
  content: "›" !important;
  position: absolute !important;
  right: 20px !important;
  color: rgba(255,255,255,.45) !important;
  font-size: 20px !important;
  transition: right .18s ease, color .18s ease !important;
}

.ltg-menu-pop a:hover,
.ltg-menu-pop a:focus {
  background: linear-gradient(90deg, #c7863c, #9b5d24) !important;
  color: #fff !important;
  padding-left: 50px !important;
  outline: none !important;
}

.ltg-menu-pop a:hover::before,
.ltg-menu-pop a:focus::before {
  background: #fff !important;
  opacity: 1 !important;
}

.ltg-menu-pop a:hover::after,
.ltg-menu-pop a:focus::after {
  right: 16px !important;
  color: #fff !important;
}

.ltg-menu-pop a:last-child {
  border-bottom: 0 !important;
}

.ltg-menu-pop.open {
  animation: ltgMenuOpen .16s ease-out both !important;
}

@keyframes ltgMenuOpen {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 767px) {
  .ltg-menu-pop {
    width: calc(100vw - 16px) !important;
  }

  .ltg-menu-pop h3 {
    font-size: 18px !important;
    padding: 16px 18px !important;
  }

  .ltg-menu-pop a {
    padding: 14px 18px 14px 40px !important;
    font-size: 15px !important;
  }

  .ltg-menu-pop a:hover,
  .ltg-menu-pop a:focus {
    padding-left: 46px !important;
  }
}
/* LTG inline main menu refined END */


/* LTG dynamic home imported CSS END */

/* LTG step13 dynamic home START */
.ltg-dynamic-home {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #f4efe7 !important;
}

/* la home dinamica non deve essere ingabbiata nel layout articolo */
body.site .ltg-dynamic-home,
body.site .ltg-dynamic-home .ltg-wrap {
  max-width: none !important;
}

body.site .ltg-dynamic-home .ltg-wrap {
  width: min(1180px, calc(100vw - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* sposto un po' a destra il titolo grande Le Tre Gemelle */
.ltg-dynamic-home .ltg-hero h1,
.ltg-hero h1 {
  margin-left: 34px !important;
}

.ltg-dynamic-home .ltg-hero p,
.ltg-hero p {
  margin-left: 34px !important;
}

/* su mobile non spostare troppo */
@media (max-width: 700px) {
  .ltg-dynamic-home .ltg-hero h1,
  .ltg-hero h1,
  .ltg-dynamic-home .ltg-hero p,
  .ltg-hero p {
    margin-left: 10px !important;
  }
}
/* LTG step13 dynamic home END */

/* LTG step14 home full width like header/footer START */

/*
  Tutte le sezioni della home occupano la stessa larghezza visuale
  di testata e footer: full viewport.
  I contenuti interni restano centrati e leggibili.
*/

body.site .ltg-dynamic-home,
body.site .ltg-dynamic-home > section,
body.site .ltg-dynamic-home .ltg-hero,
body.site .ltg-dynamic-home .ltg-dark,
body.site .ltg-dynamic-home .ltg-trad,
body.site .ltg-dynamic-home .ltg-news,
body.site .ltg-dynamic-home .ltg-gallery,
body.site .ltg-dynamic-home .ltg-home-gallery,
body.site .ltg-dynamic-home .ltg-feature-cards,
body.site .ltg-dynamic-home .ltg-section,
body.site .ltg-dynamic-home .ltg-footer-spacer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Compatibilità anche se la home fosse ancora statica */
body:not(.site) .ltg-hero,
body:not(.site) .ltg-dark,
body:not(.site) .ltg-trad,
body:not(.site) .ltg-news,
body:not(.site) .ltg-gallery,
body:not(.site) .ltg-home-gallery,
body:not(.site) .ltg-feature-cards,
body:not(.site) .ltg-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Contenitore interno allineato e largo come impaginazione principale */
body.site .ltg-dynamic-home .ltg-wrap,
body.site .ltg-dynamic-home .container,
body.site .ltg-dynamic-home .grid-child,
body:not(.site) .ltg-wrap {
  width: min(1180px, calc(100vw - 48px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* La home dinamica non deve avere margini dell'articolo Joomla */
body.site .ltg-dynamic-home {
  display: block !important;
  padding: 0 !important;
  background: #f4efe7 !important;
}

body.site .com-content-article:has(.ltg-dynamic-home),
body.site .com-content-article__body:has(.ltg-dynamic-home),
body.site .grid-child.container-component:has(.ltg-dynamic-home) {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: #f4efe7 !important;
}

/* Mantiene la scritta hero leggermente spostata a destra */
.ltg-dynamic-home .ltg-hero h1,
.ltg-hero h1,
.ltg-dynamic-home .ltg-hero p,
.ltg-hero p {
  margin-left: 34px !important;
}

/* Immagini e card non devono creare bande bianche laterali */
.ltg-dynamic-home img,
.ltg-dynamic-home figure,
.ltg-dynamic-home .card,
.ltg-dynamic-home .card-body,
.ltg-dynamic-home .item-image {
  background-color: inherit !important;
}

@media (max-width: 900px) {
  body.site .ltg-dynamic-home .ltg-wrap,
  body.site .ltg-dynamic-home .container,
  body.site .ltg-dynamic-home .grid-child,
  body:not(.site) .ltg-wrap {
    width: min(100%, calc(100vw - 32px)) !important;
  }

  .ltg-dynamic-home .ltg-hero h1,
  .ltg-hero h1,
  .ltg-dynamic-home .ltg-hero p,
  .ltg-hero p {
    margin-left: 10px !important;
  }
}
/* LTG step14 home full width like header/footer END */

/* LTG footer uniform cards centered START */

/* Griglia: tre colonne uguali, tutte stirate alla stessa altezza */
#ltg-final-footer .ltg-final-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

/* Ogni colonna ha la stessa altezza */
#ltg-final-footer .ltg-final-footer-box {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Titoli centrati */
#ltg-final-footer .ltg-final-footer-box h3 {
  text-align: center !important;
  min-height: 24px !important;
  margin: 0 0 14px !important;
}

/* Riquadri bianchi tutti uguali */
#ltg-final-footer .ltg-final-footer-card {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  min-height: 196px !important;
  height: 100% !important;
  padding: 20px 18px !important;
  background: #fff !important;
  color: #222 !important;
  border-radius: 4px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* Testi centrati dentro i riquadri */
#ltg-final-footer .ltg-final-footer-card p,
#ltg-final-footer .ltg-final-footer-card strong {
  text-align: center !important;
}

#ltg-final-footer .ltg-final-footer-card p {
  width: 100% !important;
  margin: 0 auto 16px !important;
  flex: 1 1 auto !important;
}

/* Pulsanti uguali, centrati e larghi uguali */
#ltg-final-footer .ltg-final-facebook,
#ltg-final-footer .ltg-final-map {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 10px 0 0 !important;
  padding: 12px 16px !important;
  text-align: center !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
}

/* Primo e terzo box: bottone in basso come il box centrale */
#ltg-final-footer .ltg-final-footer-card .ltg-final-map:first-of-type {
  margin-top: auto !important;
}

/* Mantiene il footer ordinato su mobile */
@media (max-width: 900px) {
  #ltg-final-footer .ltg-final-footer-grid {
    grid-template-columns: 1fr !important;
  }

  #ltg-final-footer .ltg-final-footer-card {
    min-height: auto !important;
  }
}

/* LTG footer uniform cards centered END */

/* LTG step16 global image lightbox START */
.ltg-zoomable-img {
  cursor: zoom-in !important;
}

#ltg-lightbox-overlay {
  position: fixed !important;
  z-index: 999999 !important;
  inset: 0 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 32px !important;
  background: rgba(0, 0, 0, .88) !important;
}

#ltg-lightbox-overlay.is-open {
  display: flex !important;
}

#ltg-lightbox-overlay .ltg-lightbox-img {
  max-width: min(96vw, 1600px) !important;
  max-height: 92vh !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  background: transparent !important;
  border-radius: 6px !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.55) !important;
}

#ltg-lightbox-overlay .ltg-lightbox-close {
  position: fixed !important;
  top: 18px !important;
  right: 24px !important;
  width: 48px !important;
  height: 48px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #d99a4c !important;
  color: #fff !important;
  font-size: 34px !important;
  line-height: 44px !important;
  cursor: pointer !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.35) !important;
}

html.ltg-lightbox-open,
html.ltg-lightbox-open body {
  overflow: hidden !important;
}

@media (max-width: 700px) {
  #ltg-lightbox-overlay {
    padding: 16px !important;
  }

  #ltg-lightbox-overlay .ltg-lightbox-close {
    top: 10px !important;
    right: 10px !important;
  }
}
/* LTG step16 global image lightbox END */

/* LTG step18b safe final staging START */
#ltg-final-footer .ltg-final-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

#ltg-final-footer .ltg-final-footer-box {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

#ltg-final-footer .ltg-final-footer-box h3 {
  text-align: center !important;
}

#ltg-final-footer .ltg-final-footer-card {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 196px !important;
  height: 100% !important;
  text-align: center !important;
}

#ltg-final-footer .ltg-final-footer-card p,
#ltg-final-footer .ltg-final-footer-card strong {
  text-align: center !important;
}

#ltg-final-footer .ltg-final-footer-card p {
  flex: 1 1 auto !important;
}

#ltg-final-footer .ltg-final-facebook,
#ltg-final-footer .ltg-final-map {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  text-align: center !important;
}

.ltg-legal-page {
  width: min(1180px, calc(100vw - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 46px 0 72px !important;
  line-height: 1.75 !important;
  font-size: 17px !important;
}

.ltg-legal-page h1 {
  color: #c78a3b !important;
  font-size: 42px !important;
  line-height: 1.15 !important;
}

.ltg-legal-page h2 {
  font-size: 26px !important;
  line-height: 1.25 !important;
  margin-top: 34px !important;
}

.ltg-zoomable-img {
  cursor: zoom-in !important;
}

#ltg-lightbox-overlay {
  position: fixed !important;
  z-index: 999999 !important;
  inset: 0 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 32px !important;
  background: rgba(0,0,0,.88) !important;
}

#ltg-lightbox-overlay.is-open {
  display: flex !important;
}

#ltg-lightbox-overlay .ltg-lightbox-img {
  max-width: min(96vw, 1600px) !important;
  max-height: 92vh !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

#ltg-lightbox-overlay .ltg-lightbox-close {
  position: fixed !important;
  top: 18px !important;
  right: 24px !important;
  width: 48px !important;
  height: 48px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #d99a4c !important;
  color: #fff !important;
  font-size: 34px !important;
}

html.ltg-lightbox-open,
html.ltg-lightbox-open body {
  overflow: hidden !important;
}

@media (max-width: 900px) {
  #ltg-final-footer .ltg-final-footer-grid {
    grid-template-columns: 1fr !important;
  }

  #ltg-final-footer .ltg-final-footer-card {
    min-height: auto !important;
  }

  .ltg-legal-page {
    width: min(100%, calc(100vw - 32px)) !important;
  }

  #ltg-lightbox-overlay {
    padding: 16px !important;
  }

  #ltg-lightbox-overlay .ltg-lightbox-close {
    top: 10px !important;
    right: 10px !important;
  }
}
/* LTG step18b safe final staging END */

/* LTG step22 force footer visible + user links START */

/* Se qualche CSS vecchio nasconde il contenitore footer, lo riaccendo */
html body.site footer.container-footer,
html body.site footer.container-footer.footer,
html body.site footer.container-footer.footer.full-width,
html body.site .container-footer,
html body.site .container-footer.footer,
html body.site .container-footer.full-width {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 1px !important;
  overflow: visible !important;
  background: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Se Joomla incapsula il modulo, rendo visibili anche i wrapper */
html body.site footer.container-footer > .grid-child,
html body.site footer.container-footer .moduletable,
html body.site footer.container-footer .mod-custom,
html body.site footer.container-footer #mod-custom111,
html body.site footer.container-footer #ltg-final-footer,
html body.site #ltg-final-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}

/* Footer finale a tutta larghezza */
html body.site #ltg-final-footer,
#ltg-final-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 10 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: #262626 !important;
  color: #f2f2f2 !important;
  padding: 42px 5vw 24px !important;
  clear: both !important;
  box-sizing: border-box !important;
}

#ltg-final-footer * {
  box-sizing: border-box !important;
}

#ltg-final-footer .ltg-final-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

#ltg-final-footer .ltg-final-footer-box {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

#ltg-final-footer .ltg-final-footer-box h3 {
  text-align: center !important;
  color: #fff !important;
  min-height: 24px !important;
  margin: 0 0 14px !important;
  text-transform: uppercase !important;
}

#ltg-final-footer .ltg-final-footer-box h3 span {
  color: #d79a4c !important;
}

#ltg-final-footer .ltg-final-footer-card {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 196px !important;
  height: 100% !important;
  padding: 20px 18px !important;
  background: #fff !important;
  color: #222 !important;
  border-radius: 4px !important;
  text-align: center !important;
}

#ltg-final-footer .ltg-final-footer-card p {
  flex: 1 1 auto !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto 16px !important;
}

#ltg-final-footer .ltg-final-footer-card strong {
  text-align: center !important;
}

#ltg-final-footer .ltg-final-facebook,
#ltg-final-footer .ltg-final-map {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 10px 0 0 !important;
  padding: 12px 16px !important;
  border-radius: 6px !important;
  color: #fff !important;
  text-align: center !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

#ltg-final-footer .ltg-final-facebook {
  background: #1877f2 !important;
}

#ltg-final-footer .ltg-final-map {
  background: #c7863c !important;
}

#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  text-align: center !important;
  color: #f2f2f2 !important;
}

#ltg-final-footer .ltg-final-userlinks {
  margin-top: 24px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  font-size: 15px !important;
}

#ltg-final-footer .ltg-final-legal {
  margin-top: 12px !important;
  padding-top: 12px !important;
  font-size: 13px !important;
}

#ltg-final-footer .ltg-final-userlinks a,
#ltg-final-footer .ltg-final-legal a {
  color: #d79a4c !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  margin: 0 8px !important;
  pointer-events: auto !important;
}

#ltg-final-footer .ltg-final-userlinks span,
#ltg-final-footer .ltg-final-legal span {
  color: rgba(255,255,255,.45) !important;
}

/* Nasconde eventuali footer standard Joomla, ma NON il nostro */
html body.site footer.container-footer .mod-footer,
html body.site footer.container-footer > .grid-child > p {
  display: none !important;
}

@media (max-width: 900px) {
  #ltg-final-footer .ltg-final-footer-grid {
    grid-template-columns: 1fr !important;
  }

  #ltg-final-footer .ltg-final-footer-card {
    min-height: auto !important;
  }

  #ltg-final-footer .ltg-final-userlinks a,
  #ltg-final-footer .ltg-final-legal a {
    display: inline-block !important;
    margin-top: 6px !important;
    margin-bottom: 6px !important;
  }
}
/* LTG step22 force footer visible + user links END */

/* LTG step23 same width content/footer START */
:root {
  --ltg-page-width: min(1180px, calc(100vw - 48px));
}

html body.site,
html body.site .site-grid {
  overflow-x: hidden !important;
}

html body.site .site-grid {
  grid-template-columns: [full-start] minmax(0, 1fr) [full-end] !important;
}

html body.site .grid-child.container-component {
  grid-column: full-start / full-end !important;
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Pagine interne: stessa larghezza del footer */
html body.site .com-content-article:not(:has(.ltg-dynamic-home)),
html body.site .com-content-article.item-page:not(:has(.ltg-dynamic-home)),
html body.site .com-content-category-blog,
html body.site .blog,
html body.site .blog-items,
html body.site .blog-item,
html body.site .item-content,
html body.site .ltg-content-page,
html body.site .ltg-contact-legacy-page,
html body.site .ltg-legal-page,
html body.site .com-users-login,
html body.site .com-users-registration,
html body.site .login,
html body.site .registration,
html body.site .remind,
html body.site .reset,
html body.site .profile {
  width: var(--ltg-page-width) !important;
  max-width: var(--ltg-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Contenuto non deve essere piu stretto del footer */
html body.site .com-content-article:not(:has(.ltg-dynamic-home)) .page-header,
html body.site .com-content-article:not(:has(.ltg-dynamic-home)) .com-content-article__body,
html body.site .ltg-legal-page,
html body.site .ltg-contact-legacy-page,
html body.site .blog .page-header,
html body.site .blog .blog-items {
  width: 100% !important;
  max-width: 100% !important;
}

/* Home: sezioni full width, contenuto interno stessa larghezza footer */
html body.site .com-content-article:has(.ltg-dynamic-home),
html body.site .com-content-article__body:has(.ltg-dynamic-home),
html body.site .grid-child.container-component:has(.ltg-dynamic-home) {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.site .ltg-dynamic-home,
body.site .ltg-dynamic-home > section,
body.site .ltg-dynamic-home .ltg-hero,
body.site .ltg-dynamic-home .ltg-dark,
body.site .ltg-dynamic-home .ltg-trad,
body.site .ltg-dynamic-home .ltg-news,
body.site .ltg-dynamic-home .ltg-gallery,
body.site .ltg-dynamic-home .ltg-home-gallery,
body.site .ltg-dynamic-home .ltg-feature-cards,
body.site .ltg-dynamic-home .ltg-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

body.site .ltg-dynamic-home .ltg-wrap,
body.site .ltg-dynamic-home .container,
body.site .ltg-dynamic-home .wrapper,
body:not(.site) .ltg-wrap {
  width: var(--ltg-page-width) !important;
  max-width: var(--ltg-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Footer visibile, full width fuori, inner uguale al contenuto */
html body.site footer.container-footer,
html body.site .container-footer,
html body.site footer.container-footer > .grid-child,
html body.site footer.container-footer .moduletable,
html body.site footer.container-footer .mod-custom,
html body.site footer.container-footer #ltg-final-footer,
html body.site #ltg-final-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}

html body.site #ltg-final-footer,
#ltg-final-footer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 42px 0 24px !important;
  background: #262626 !important;
  color: #f2f2f2 !important;
  clear: both !important;
  box-sizing: border-box !important;
}

#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-page-width) !important;
  max-width: var(--ltg-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#ltg-final-footer .ltg-final-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

#ltg-final-footer .ltg-final-footer-box {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

#ltg-final-footer .ltg-final-footer-box h3 {
  text-align: center !important;
  color: #fff !important;
  min-height: 24px !important;
  margin: 0 0 14px !important;
  text-transform: uppercase !important;
}

#ltg-final-footer .ltg-final-footer-box h3 span {
  color: #d79a4c !important;
}

#ltg-final-footer .ltg-final-footer-card {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 196px !important;
  height: 100% !important;
  padding: 20px 18px !important;
  background: #fff !important;
  color: #222 !important;
  border-radius: 4px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

#ltg-final-footer .ltg-final-footer-card p {
  flex: 1 1 auto !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto 16px !important;
}

#ltg-final-footer .ltg-final-facebook,
#ltg-final-footer .ltg-final-map {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 10px 0 0 !important;
  padding: 12px 16px !important;
  border-radius: 6px !important;
  color: #fff !important;
  text-align: center !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

#ltg-final-footer .ltg-final-facebook {
  background: #1877f2 !important;
}

#ltg-final-footer .ltg-final-map {
  background: #c7863c !important;
}

#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  display: block !important;
  text-align: center !important;
}

#ltg-final-footer .ltg-final-userlinks {
  margin-top: 24px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  font-size: 15px !important;
}

#ltg-final-footer .ltg-final-legal {
  margin-top: 12px !important;
  padding-top: 12px !important;
  font-size: 13px !important;
}

#ltg-final-footer .ltg-final-userlinks a,
#ltg-final-footer .ltg-final-legal a {
  color: #d79a4c !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  margin: 0 8px !important;
  pointer-events: auto !important;
}

@media (max-width: 900px) {
  :root {
    --ltg-page-width: min(100%, calc(100vw - 32px));
  }

  #ltg-final-footer .ltg-final-footer-grid {
    grid-template-columns: 1fr !important;
  }

  #ltg-final-footer .ltg-final-footer-card {
    min-height: auto !important;
  }

  #ltg-final-footer .ltg-final-userlinks a,
  #ltg-final-footer .ltg-final-legal a {
    display: inline-block !important;
    margin-top: 6px !important;
    margin-bottom: 6px !important;
  }
}
/* LTG step23 same width content/footer END */

/* LTG step24 font grande e strisce laterali START */
:root {
  --ltg-page-width: min(1180px, calc(100vw - 72px));
  --ltg-readable-width: min(1040px, calc(100vw - 96px));
  --ltg-readable-gutter-mobile: 22px;
}

/* Fondo laterale visibile */
html body.site {
  background: #eee5d8 !important;
  font-size: 18.5px !important;
  line-height: 1.72 !important;
}

/* Area centrale piu chiara: lascia una striscia a destra e sinistra */
html body.site .grid-child.container-component {
  background: #f6f0e7 !important;
}

/* Pagine testuali piu strette e leggibili */
html body.site .com-content-article:not(:has(.ltg-dynamic-home)),
html body.site .com-content-article.item-page:not(:has(.ltg-dynamic-home)),
html body.site .com-content-category-blog,
html body.site .blog,
html body.site .blog-items,
html body.site .blog-item,
html body.site .item-content,
html body.site .ltg-content-page,
html body.site .ltg-contact-legacy-page,
html body.site .ltg-legal-page,
html body.site .com-users-login,
html body.site .com-users-registration,
html body.site .login,
html body.site .registration,
html body.site .remind,
html body.site .reset,
html body.site .profile {
  width: var(--ltg-readable-width) !important;
  max-width: var(--ltg-readable-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 19px !important;
  line-height: 1.78 !important;
}

/* Piatti, galleria e blocchi con immagini: un po piu larghi */
html body.site .blog,
html body.site .blog-items,
html body.site .com-content-category-blog {
  width: var(--ltg-page-width) !important;
  max-width: var(--ltg-page-width) !important;
}

/* Testi dentro articoli */
html body.site .com-content-article p,
html body.site .com-content-article li,
html body.site .com-content-article td,
html body.site .ltg-legal-page p,
html body.site .ltg-legal-page li,
html body.site .ltg-contact-legacy-page p,
html body.site .ltg-contact-legacy-page li,
html body.site .blog p,
html body.site .blog li,
html body.site .item-content p,
html body.site .item-content li {
  font-size: 19px !important;
  line-height: 1.78 !important;
}

/* Titoli piu leggibili */
html body.site h1,
html body.site .page-header h1 {
  font-size: clamp(38px, 4vw, 56px) !important;
  line-height: 1.12 !important;
  margin-bottom: 24px !important;
}

html body.site h2 {
  font-size: clamp(28px, 2.8vw, 38px) !important;
  line-height: 1.18 !important;
  margin-top: 34px !important;
  margin-bottom: 16px !important;
}

html body.site h3 {
  font-size: clamp(23px, 2.2vw, 30px) !important;
  line-height: 1.22 !important;
}

/* Form accesso e crea utente piu leggibili */
html body.site .login label,
html body.site .registration label,
html body.site .com-users-login label,
html body.site .com-users-registration label,
html body.site input,
html body.site textarea,
html body.site select,
html body.site button,
html body.site .btn {
  font-size: 18px !important;
  line-height: 1.45 !important;
}

/* Footer: conserva stessa larghezza ordinata, ma leggibile */
#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-page-width) !important;
  max-width: var(--ltg-page-width) !important;
}

#ltg-final-footer .ltg-final-footer-card,
#ltg-final-footer .ltg-final-footer-card p,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  font-size: 17px !important;
  line-height: 1.55 !important;
}

/* Home: contenuto interno con fascia laterale coerente */
body.site .ltg-dynamic-home .ltg-wrap,
body.site .ltg-dynamic-home .container,
body.site .ltg-dynamic-home .wrapper,
body:not(.site) .ltg-wrap {
  width: var(--ltg-page-width) !important;
  max-width: var(--ltg-page-width) !important;
}

body.site .ltg-dynamic-home p,
body.site .ltg-dynamic-home li {
  font-size: 19px !important;
  line-height: 1.72 !important;
}

/* Mobile: non stringere troppo */
@media (max-width: 900px) {
  :root {
    --ltg-page-width: calc(100vw - 32px);
    --ltg-readable-width: calc(100vw - 32px);
  }

  html body.site {
    font-size: 18px !important;
  }

  html body.site .com-content-article:not(:has(.ltg-dynamic-home)),
  html body.site .com-content-article.item-page:not(:has(.ltg-dynamic-home)),
  html body.site .ltg-content-page,
  html body.site .ltg-contact-legacy-page,
  html body.site .ltg-legal-page,
  html body.site .login,
  html body.site .registration,
  html body.site .com-users-login,
  html body.site .com-users-registration {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    font-size: 18px !important;
    line-height: 1.72 !important;
  }

  html body.site .com-content-article p,
  html body.site .com-content-article li,
  html body.site .ltg-legal-page p,
  html body.site .ltg-legal-page li,
  html body.site .ltg-contact-legacy-page p,
  html body.site .ltg-contact-legacy-page li,
  html body.site .blog p,
  html body.site .blog li {
    font-size: 18px !important;
    line-height: 1.72 !important;
  }
}
/* LTG step24 font grande e strisce laterali END */

/* LTG step25 strisce minime testo in finestra START */
:root {
  --ltg-edge-gap: clamp(18px, 2.1vw, 32px);
  --ltg-page-width: min(1320px, calc(100vw - (var(--ltg-edge-gap) * 2)));
  --ltg-readable-width: min(1320px, calc(100vw - (var(--ltg-edge-gap) * 2)));
}

/* Evita qualunque uscita orizzontale */
html,
body,
html body.site {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

/* Fasce laterali: presenti ma minime */
html body.site {
  background: #eee5d8 !important;
}

html body.site .grid-child.container-component {
  width: 100% !important;
  max-width: 100vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: #f6f0e7 !important;
}

/* Tutti i contenuti principali usano quasi tutta la finestra, lasciando solo il margine minimo */
html body.site .com-content-article:not(:has(.ltg-dynamic-home)),
html body.site .com-content-article.item-page:not(:has(.ltg-dynamic-home)),
html body.site .com-content-category-blog,
html body.site .blog,
html body.site .blog-items,
html body.site .blog-item,
html body.site .item-content,
html body.site .ltg-content-page,
html body.site .ltg-contact-legacy-page,
html body.site .ltg-legal-page,
html body.site .com-users-login,
html body.site .com-users-registration,
html body.site .login,
html body.site .registration,
html body.site .remind,
html body.site .reset,
html body.site .profile {
  width: var(--ltg-readable-width) !important;
  max-width: var(--ltg-readable-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Elementi interni non devono allargare la pagina */
html body.site .com-content-article *,
html body.site .ltg-legal-page *,
html body.site .ltg-contact-legacy-page *,
html body.site .blog *,
html body.site .item-content * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html body.site img,
html body.site video,
html body.site iframe,
html body.site table {
  max-width: 100% !important;
}

/* Footer: stessa logica, full background ma contenuto interno con margine minimo */
#ltg-final-footer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-page-width) !important;
  max-width: var(--ltg-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Home: sezioni larghe, ma testo e box dentro la finestra */
body.site .ltg-dynamic-home .ltg-wrap,
body.site .ltg-dynamic-home .container,
body.site .ltg-dynamic-home .wrapper,
body:not(.site) .ltg-wrap {
  width: var(--ltg-page-width) !important;
  max-width: var(--ltg-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.site .ltg-dynamic-home,
body.site .ltg-dynamic-home > section,
body.site .ltg-dynamic-home .ltg-hero,
body.site .ltg-dynamic-home .ltg-dark,
body.site .ltg-dynamic-home .ltg-trad,
body.site .ltg-dynamic-home .ltg-news,
body.site .ltg-dynamic-home .ltg-gallery,
body.site .ltg-dynamic-home .ltg-home-gallery,
body.site .ltg-dynamic-home .ltg-feature-cards,
body.site .ltg-dynamic-home .ltg-section {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

/* Tablet e telefono: margine solo di sicurezza */
@media (max-width: 900px) {
  :root {
    --ltg-edge-gap: 18px;
    --ltg-page-width: calc(100vw - 36px);
    --ltg-readable-width: calc(100vw - 36px);
  }
}

@media (max-width: 430px) {
  :root {
    --ltg-edge-gap: 14px;
    --ltg-page-width: calc(100vw - 28px);
    --ltg-readable-width: calc(100vw - 28px);
  }
}
/* LTG step25 strisce minime testo in finestra END */

/* LTG step26 no stripes readable START */
:root {
  --ltg-page-width: min(1240px, calc(100vw - 32px));
  --ltg-readable-width: min(1060px, calc(100vw - 32px));
}

/* Sfondo unico: niente bande laterali */
html,
body,
html body.site,
html body.site .site-grid,
html body.site main,
html body.site .grid-child.container-component,
html body.site .com-content-article,
html body.site .com-content-article__body,
html body.site .blog,
html body.site .blog-item,
html body.site .item-content,
html body.site .card,
html body.site .card-body {
  background: #f6f0e7 !important;
  background-color: #f6f0e7 !important;
  background-image: none !important;
}

html,
body,
html body.site {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

/* Layout generale */
html body.site .site-grid {
  grid-template-columns: [full-start] minmax(0, 1fr) [full-end] !important;
}

html body.site .grid-child.container-component {
  grid-column: full-start / full-end !important;
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Contenuto: centrato, leggibile, senza effetto striscia */
html body.site .com-content-article:not(:has(.ltg-dynamic-home)),
html body.site .com-content-article.item-page:not(:has(.ltg-dynamic-home)),
html body.site .ltg-content-page,
html body.site .ltg-contact-legacy-page,
html body.site .ltg-legal-page,
html body.site .com-users-login,
html body.site .com-users-registration,
html body.site .login,
html body.site .registration,
html body.site .remind,
html body.site .reset,
html body.site .profile {
  width: var(--ltg-readable-width) !important;
  max-width: var(--ltg-readable-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Pagine con griglie/foto/news un po piu larghe */
html body.site .com-content-category-blog,
html body.site .blog,
html body.site .blog-items,
html body.site .blog-item,
html body.site .item-content {
  width: var(--ltg-page-width) !important;
  max-width: var(--ltg-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Leggibilita testo */
html body.site {
  font-size: 18px !important;
  line-height: 1.68 !important;
  color: #2f2f2f !important;
}

html body.site p,
html body.site li,
html body.site td,
html body.site label,
html body.site input,
html body.site textarea,
html body.site select,
html body.site button,
html body.site .btn {
  font-size: 18px !important;
  line-height: 1.68 !important;
}

html body.site .com-content-article p,
html body.site .com-content-article li,
html body.site .ltg-legal-page p,
html body.site .ltg-legal-page li,
html body.site .ltg-contact-legacy-page p,
html body.site .ltg-contact-legacy-page li {
  font-size: 18.5px !important;
  line-height: 1.72 !important;
}

/* Titoli più chiari ma non enormi */
html body.site h1,
html body.site .page-header h1 {
  font-size: clamp(36px, 3.4vw, 50px) !important;
  line-height: 1.12 !important;
  margin-bottom: 22px !important;
}

html body.site h2 {
  font-size: clamp(27px, 2.4vw, 35px) !important;
  line-height: 1.18 !important;
  margin-top: 32px !important;
  margin-bottom: 14px !important;
}

html body.site h3 {
  font-size: clamp(22px, 2vw, 28px) !important;
  line-height: 1.22 !important;
}

/* Evita elementi fuori schermo */
html body.site * {
  box-sizing: border-box !important;
}

html body.site img,
html body.site video,
html body.site iframe,
html body.site table {
  max-width: 100% !important;
}

/* Home: piena, ma contenuto interno ordinato */
body.site .ltg-dynamic-home,
body.site .ltg-dynamic-home > section,
body.site .ltg-dynamic-home .ltg-hero,
body.site .ltg-dynamic-home .ltg-dark,
body.site .ltg-dynamic-home .ltg-trad,
body.site .ltg-dynamic-home .ltg-news,
body.site .ltg-dynamic-home .ltg-gallery,
body.site .ltg-dynamic-home .ltg-home-gallery,
body.site .ltg-dynamic-home .ltg-feature-cards,
body.site .ltg-dynamic-home .ltg-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow-x: hidden !important;
}

body.site .ltg-dynamic-home .ltg-wrap,
body.site .ltg-dynamic-home .container,
body.site .ltg-dynamic-home .wrapper,
body:not(.site) .ltg-wrap {
  width: var(--ltg-page-width) !important;
  max-width: var(--ltg-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Footer resta pieno, contenuto allineato ma senza bande nel corpo pagina */
#ltg-final-footer {
  background: #262626 !important;
  color: #f2f2f2 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-page-width) !important;
  max-width: var(--ltg-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mobile: margine solo per non tagliare il testo */
@media (max-width: 900px) {
  :root {
    --ltg-page-width: calc(100vw - 28px);
    --ltg-readable-width: calc(100vw - 28px);
  }

  html body.site p,
  html body.site li,
  html body.site td,
  html body.site label,
  html body.site input,
  html body.site textarea,
  html body.site select,
  html body.site button,
  html body.site .btn,
  html body.site .com-content-article p,
  html body.site .com-content-article li,
  html body.site .ltg-legal-page p,
  html body.site .ltg-legal-page li,
  html body.site .ltg-contact-legacy-page p,
  html body.site .ltg-contact-legacy-page li {
    font-size: 18px !important;
    line-height: 1.68 !important;
  }
}

@media (max-width: 430px) {
  :root {
    --ltg-page-width: calc(100vw - 22px);
    --ltg-readable-width: calc(100vw - 22px);
  }
}
/* LTG step26 no stripes readable END */

/* LTG step27 same content footer width no clipping START */
:root {
  --ltg-layout-width: min(1240px, calc(100vw - 32px));
  --ltg-mobile-width: calc(100vw - 24px);
}

/* Niente strisce: sfondo uniforme */
html,
body,
html body.site,
html body.site .site-grid,
html body.site main,
html body.site .grid-child.container-component,
html body.site .com-content-article,
html body.site .com-content-article__body,
html body.site .blog,
html body.site .blog-item,
html body.site .item-content,
html body.site .card,
html body.site .card-body {
  background: #f6f0e7 !important;
  background-color: #f6f0e7 !important;
  background-image: none !important;
}

/* Nessun taglio laterale */
html,
body,
html body.site {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
  color: #2f2f2f !important;
  font-size: 18px !important;
  line-height: 1.68 !important;
}

html body.site * {
  box-sizing: border-box !important;
}

/* Layout Joomla a tutta finestra, contenuto centrato */
html body.site .site-grid {
  grid-template-columns: [full-start] minmax(0, 1fr) [full-end] !important;
}

html body.site .grid-child.container-component {
  grid-column: full-start / full-end !important;
  width: 100% !important;
  max-width: 100vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* CONTENUTO: stessa larghezza interna del footer */
html body.site .com-content-article:not(:has(.ltg-dynamic-home)),
html body.site .com-content-article.item-page:not(:has(.ltg-dynamic-home)),
html body.site .com-content-category-blog,
html body.site .blog,
html body.site .blog-items,
html body.site .blog-item,
html body.site .item-content,
html body.site .ltg-content-page,
html body.site .ltg-contact-legacy-page,
html body.site .ltg-legal-page,
html body.site .com-users-login,
html body.site .com-users-registration,
html body.site .login,
html body.site .registration,
html body.site .remind,
html body.site .reset,
html body.site .profile {
  width: var(--ltg-layout-width) !important;
  max-width: var(--ltg-layout-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Blocchi interni: non devono uscire */
html body.site .com-content-article *,
html body.site .ltg-content-page *,
html body.site .ltg-contact-legacy-page *,
html body.site .ltg-legal-page *,
html body.site .blog *,
html body.site .item-content *,
html body.site .login *,
html body.site .registration * {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* Immagini e media sempre dentro la finestra */
html body.site img,
html body.site picture,
html body.site video,
html body.site iframe,
html body.site canvas,
html body.site svg {
  max-width: 100% !important;
  height: auto !important;
}

/* Tabelle leggibili senza tagliare pagina */
html body.site table {
  max-width: 100% !important;
  width: 100% !important;
  display: block !important;
  overflow-x: auto !important;
}

/* Testo leggibile */
html body.site p,
html body.site li,
html body.site td,
html body.site label,
html body.site input,
html body.site textarea,
html body.site select,
html body.site button,
html body.site .btn {
  font-size: 18.5px !important;
  line-height: 1.72 !important;
}

html body.site .com-content-article p,
html body.site .com-content-article li,
html body.site .ltg-legal-page p,
html body.site .ltg-legal-page li,
html body.site .ltg-contact-legacy-page p,
html body.site .ltg-contact-legacy-page li {
  font-size: 19px !important;
  line-height: 1.74 !important;
}

/* Titoli leggibili ma non enormi */
html body.site h1,
html body.site .page-header h1 {
  font-size: clamp(36px, 3.4vw, 50px) !important;
  line-height: 1.12 !important;
  margin-bottom: 22px !important;
}

html body.site h2 {
  font-size: clamp(27px, 2.4vw, 35px) !important;
  line-height: 1.18 !important;
  margin-top: 32px !important;
  margin-bottom: 14px !important;
}

html body.site h3 {
  font-size: clamp(22px, 2vw, 28px) !important;
  line-height: 1.22 !important;
}

/* HOME: sezioni a tutta larghezza, contenuto interno stessa larghezza footer */
html body.site .com-content-article:has(.ltg-dynamic-home),
html body.site .com-content-article__body:has(.ltg-dynamic-home),
html body.site .grid-child.container-component:has(.ltg-dynamic-home) {
  width: 100% !important;
  max-width: 100vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.site .ltg-dynamic-home,
body.site .ltg-dynamic-home > section,
body.site .ltg-dynamic-home .ltg-hero,
body.site .ltg-dynamic-home .ltg-dark,
body.site .ltg-dynamic-home .ltg-trad,
body.site .ltg-dynamic-home .ltg-news,
body.site .ltg-dynamic-home .ltg-gallery,
body.site .ltg-dynamic-home .ltg-home-gallery,
body.site .ltg-dynamic-home .ltg-feature-cards,
body.site .ltg-dynamic-home .ltg-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow-x: hidden !important;
}

body.site .ltg-dynamic-home .ltg-wrap,
body.site .ltg-dynamic-home .container,
body.site .ltg-dynamic-home .wrapper,
body:not(.site) .ltg-wrap {
  width: var(--ltg-layout-width) !important;
  max-width: var(--ltg-layout-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* FOOTER: fondo pieno, contenuto interno stessa larghezza del contenuto pagina */
#ltg-final-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
  background: #262626 !important;
  color: #f2f2f2 !important;
}

#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-layout-width) !important;
  max-width: var(--ltg-layout-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mobile: stessa logica, margine tecnico minimo per non tagliare */
@media (max-width: 900px) {
  :root {
    --ltg-layout-width: var(--ltg-mobile-width);
  }

  html body.site p,
  html body.site li,
  html body.site td,
  html body.site label,
  html body.site input,
  html body.site textarea,
  html body.site select,
  html body.site button,
  html body.site .btn,
  html body.site .com-content-article p,
  html body.site .com-content-article li,
  html body.site .ltg-legal-page p,
  html body.site .ltg-legal-page li,
  html body.site .ltg-contact-legacy-page p,
  html body.site .ltg-contact-legacy-page li {
    font-size: 18px !important;
    line-height: 1.68 !important;
  }
}

@media (max-width: 430px) {
  :root {
    --ltg-mobile-width: calc(100vw - 20px);
  }
}
/* LTG step27 same content footer width no clipping END */

/* LTG step28 content same footer width readable border START */
:root {
  --ltg-site-width: min(1240px, calc(100vw - 32px));
  --ltg-content-padding-x: clamp(24px, 3vw, 46px);
  --ltg-content-padding-y: clamp(28px, 3vw, 44px);
}

/* sfondo unico, niente strisce laterali */
html,
body,
html body.site,
html body.site .site-grid,
html body.site main,
html body.site .grid-child.container-component {
  background: #f6f0e7 !important;
  background-color: #f6f0e7 !important;
  background-image: none !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

html body.site * {
  box-sizing: border-box !important;
}

/* Joomla layout full width */
html body.site .site-grid {
  grid-template-columns: [full-start] minmax(0, 1fr) [full-end] !important;
}

html body.site .grid-child.container-component {
  grid-column: full-start / full-end !important;
  width: 100% !important;
  max-width: 100vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* CONTENUTO: stessa larghezza esterna del footer */
html body.site .com-content-article:not(:has(.ltg-dynamic-home)),
html body.site .com-content-article.item-page:not(:has(.ltg-dynamic-home)),
html body.site .com-content-category-blog,
html body.site .blog,
html body.site .blog-items,
html body.site .blog-item,
html body.site .item-content,
html body.site .ltg-content-page,
html body.site .ltg-contact-legacy-page,
html body.site .ltg-legal-page,
html body.site .com-users-login,
html body.site .com-users-registration,
html body.site .login,
html body.site .registration,
html body.site .remind,
html body.site .reset,
html body.site .profile {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* BORDO LEGGIBILE: il box è largo come footer, il testo resta dentro */
html body.site .com-content-article:not(:has(.ltg-dynamic-home)),
html body.site .com-content-article.item-page:not(:has(.ltg-dynamic-home)),
html body.site .ltg-contact-legacy-page,
html body.site .ltg-legal-page,
html body.site .com-users-login,
html body.site .com-users-registration,
html body.site .login,
html body.site .registration,
html body.site .profile {
  padding: var(--ltg-content-padding-y) var(--ltg-content-padding-x) !important;
  border: 1px solid rgba(90, 68, 44, .22) !important;
  border-radius: 8px !important;
  background: rgba(255, 252, 246, .42) !important;
}

/* Blog/pagine lista: stesso bordo, ma non rompe le griglie */
html body.site .com-content-category-blog,
html body.site .blog {
  padding: var(--ltg-content-padding-y) var(--ltg-content-padding-x) !important;
  border: 1px solid rgba(90, 68, 44, .22) !important;
  border-radius: 8px !important;
  background: rgba(255, 252, 246, .42) !important;
}

/* Blog item interni non devono creare box annidati troppo stretti */
html body.site .blog .blog-item,
html body.site .blog .item-content {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* testo più grande e leggibile */
html body.site {
  font-size: 19px !important;
  line-height: 1.72 !important;
  color: #2f2f2f !important;
}

html body.site p,
html body.site li,
html body.site td,
html body.site label,
html body.site input,
html body.site textarea,
html body.site select,
html body.site button,
html body.site .btn,
html body.site .com-content-article p,
html body.site .com-content-article li,
html body.site .blog p,
html body.site .blog li,
html body.site .item-content p,
html body.site .item-content li,
html body.site .ltg-contact-legacy-page p,
html body.site .ltg-contact-legacy-page li,
html body.site .ltg-legal-page p,
html body.site .ltg-legal-page li {
  font-size: 20px !important;
  line-height: 1.78 !important;
}

/* titoli leggibili */
html body.site h1,
html body.site .page-header h1 {
  font-size: clamp(38px, 3.5vw, 52px) !important;
  line-height: 1.12 !important;
  margin-bottom: 24px !important;
}

html body.site h2 {
  font-size: clamp(30px, 2.6vw, 38px) !important;
  line-height: 1.18 !important;
  margin-top: 34px !important;
  margin-bottom: 16px !important;
}

html body.site h3 {
  font-size: clamp(24px, 2.1vw, 30px) !important;
  line-height: 1.24 !important;
}

/* niente tagli laterali */
html body.site .com-content-article *,
html body.site .ltg-content-page *,
html body.site .ltg-contact-legacy-page *,
html body.site .ltg-legal-page *,
html body.site .blog *,
html body.site .item-content *,
html body.site .login *,
html body.site .registration * {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

html body.site img,
html body.site picture,
html body.site video,
html body.site iframe,
html body.site canvas,
html body.site svg {
  max-width: 100% !important;
  height: auto !important;
}

/* footer: stessa larghezza interna del contenuto */
#ltg-final-footer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
  background: #262626 !important;
  color: #f2f2f2 !important;
}

#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* home: sezioni larghe, contenuto interno come footer */
html body.site .com-content-article:has(.ltg-dynamic-home),
html body.site .com-content-article__body:has(.ltg-dynamic-home),
html body.site .grid-child.container-component:has(.ltg-dynamic-home) {
  width: 100% !important;
  max-width: 100vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.site .ltg-dynamic-home,
body.site .ltg-dynamic-home > section,
body.site .ltg-dynamic-home .ltg-hero,
body.site .ltg-dynamic-home .ltg-dark,
body.site .ltg-dynamic-home .ltg-trad,
body.site .ltg-dynamic-home .ltg-news,
body.site .ltg-dynamic-home .ltg-gallery,
body.site .ltg-dynamic-home .ltg-home-gallery,
body.site .ltg-dynamic-home .ltg-feature-cards,
body.site .ltg-dynamic-home .ltg-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow-x: hidden !important;
}

body.site .ltg-dynamic-home .ltg-wrap,
body.site .ltg-dynamic-home .container,
body.site .ltg-dynamic-home .wrapper,
body:not(.site) .ltg-wrap {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* tablet */
@media (max-width: 900px) {
  :root {
    --ltg-site-width: calc(100vw - 28px);
    --ltg-content-padding-x: 18px;
    --ltg-content-padding-y: 24px;
  }

  html body.site p,
  html body.site li,
  html body.site td,
  html body.site label,
  html body.site input,
  html body.site textarea,
  html body.site select,
  html body.site button,
  html body.site .btn,
  html body.site .com-content-article p,
  html body.site .com-content-article li,
  html body.site .blog p,
  html body.site .blog li,
  html body.site .item-content p,
  html body.site .item-content li,
  html body.site .ltg-contact-legacy-page p,
  html body.site .ltg-contact-legacy-page li,
  html body.site .ltg-legal-page p,
  html body.site .ltg-legal-page li {
    font-size: 18px !important;
    line-height: 1.7 !important;
  }
}

/* mobile */
@media (max-width: 430px) {
  :root {
    --ltg-site-width: calc(100vw - 20px);
    --ltg-content-padding-x: 14px;
    --ltg-content-padding-y: 20px;
  }

  html body.site h1,
  html body.site .page-header h1 {
    font-size: 30px !important;
  }

  html body.site h2 {
    font-size: 25px !important;
  }

  html body.site h3 {
    font-size: 22px !important;
  }
}
/* LTG step28 content same footer width readable border END */

/* LTG step29 reduce readable border to one third START */
:root {
  --ltg-site-width: min(1240px, calc(100vw - 32px)) !important;
  --ltg-content-padding-x: clamp(8px, 1vw, 15px) !important;
  --ltg-content-padding-y: clamp(10px, 1.2vw, 16px) !important;
}

/* bordo più sottile/leggero e padding ridotto */
html body.site .com-content-article:not(:has(.ltg-dynamic-home)),
html body.site .com-content-article.item-page:not(:has(.ltg-dynamic-home)),
html body.site .ltg-contact-legacy-page,
html body.site .ltg-legal-page,
html body.site .com-users-login,
html body.site .com-users-registration,
html body.site .login,
html body.site .registration,
html body.site .profile,
html body.site .com-content-category-blog,
html body.site .blog {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  padding: var(--ltg-content-padding-y) var(--ltg-content-padding-x) !important;
  border: 1px solid rgba(90, 68, 44, .08) !important;
  border-radius: 4px !important;
  background: rgba(255, 252, 246, .22) !important;
}

/* mantiene gli elementi dentro il bordo */
html body.site .com-content-article *,
html body.site .ltg-contact-legacy-page *,
html body.site .ltg-legal-page *,
html body.site .blog *,
html body.site .item-content *,
html body.site .login *,
html body.site .registration * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* mobile: bordo ancora più contenuto */
@media (max-width: 900px) {
  :root {
    --ltg-site-width: calc(100vw - 20px) !important;
    --ltg-content-padding-x: 8px !important;
    --ltg-content-padding-y: 12px !important;
  }
}

@media (max-width: 430px) {
  :root {
    --ltg-site-width: calc(100vw - 16px) !important;
    --ltg-content-padding-x: 6px !important;
    --ltg-content-padding-y: 10px !important;
  }
}
/* LTG step29 reduce readable border to one third END */

/* LTG step30 content width footer padding 40-64 START */
:root {
  --ltg-site-width: min(1240px, calc(100vw - 32px)) !important;
  --ltg-reading-padding-x: clamp(40px, 4vw, 64px) !important;
  --ltg-reading-padding-y: clamp(34px, 3vw, 52px) !important;
}

/* sfondo uniforme, senza strisce visibili */
html,
body,
html body.site,
html body.site .site-grid,
html body.site main,
html body.site .grid-child.container-component {
  background: #f6f0e7 !important;
  background-color: #f6f0e7 !important;
  background-image: none !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

html body.site * {
  box-sizing: border-box !important;
}

/* contenitore Joomla full width */
html body.site .site-grid {
  grid-template-columns: [full-start] minmax(0, 1fr) [full-end] !important;
}

html body.site .grid-child.container-component {
  grid-column: full-start / full-end !important;
  width: 100% !important;
  max-width: 100vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* contenuto: larghezza esterna identica al footer */
html body.site .com-content-article:not(:has(.ltg-dynamic-home)),
html body.site .com-content-article.item-page:not(:has(.ltg-dynamic-home)),
html body.site .com-content-category-blog,
html body.site .blog,
html body.site .ltg-contact-legacy-page,
html body.site .ltg-legal-page,
html body.site .com-users-login,
html body.site .com-users-registration,
html body.site .login,
html body.site .registration,
html body.site .profile {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: var(--ltg-reading-padding-y) var(--ltg-reading-padding-x) !important;
  border: 1px solid rgba(90, 68, 44, .12) !important;
  border-radius: 6px !important;
  background: rgba(255, 252, 246, .30) !important;
}

/* elementi blog interni non restringono e non creano doppi bordi */
html body.site .blog .blog-item,
html body.site .blog .item-content,
html body.site .blog-items,
html body.site .item-content {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* testo leggibile */
html body.site {
  color: #2f2f2f !important;
  font-size: 19px !important;
  line-height: 1.72 !important;
}

html body.site p,
html body.site li,
html body.site td,
html body.site label,
html body.site input,
html body.site textarea,
html body.site select,
html body.site button,
html body.site .btn,
html body.site .com-content-article p,
html body.site .com-content-article li,
html body.site .blog p,
html body.site .blog li,
html body.site .item-content p,
html body.site .item-content li,
html body.site .ltg-contact-legacy-page p,
html body.site .ltg-contact-legacy-page li,
html body.site .ltg-legal-page p,
html body.site .ltg-legal-page li {
  font-size: 20px !important;
  line-height: 1.78 !important;
}

/* titoli */
html body.site h1,
html body.site .page-header h1 {
  font-size: clamp(38px, 3.5vw, 52px) !important;
  line-height: 1.12 !important;
  margin-bottom: 24px !important;
}

html body.site h2 {
  font-size: clamp(30px, 2.6vw, 38px) !important;
  line-height: 1.18 !important;
  margin-top: 34px !important;
  margin-bottom: 16px !important;
}

html body.site h3 {
  font-size: clamp(24px, 2.1vw, 30px) !important;
  line-height: 1.24 !important;
}

/* protezione anti-taglio */
html body.site .com-content-article *,
html body.site .ltg-contact-legacy-page *,
html body.site .ltg-legal-page *,
html body.site .blog *,
html body.site .item-content *,
html body.site .login *,
html body.site .registration * {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
}

html body.site img,
html body.site picture,
html body.site video,
html body.site iframe,
html body.site canvas,
html body.site svg {
  max-width: 100% !important;
  height: auto !important;
}

html body.site table {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  overflow-x: auto !important;
}

/* footer: stessa larghezza interna del contenuto */
#ltg-final-footer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
  background: #262626 !important;
  color: #f2f2f2 !important;
}

#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* home: sezioni full, contenuto interno come footer */
html body.site .com-content-article:has(.ltg-dynamic-home),
html body.site .com-content-article__body:has(.ltg-dynamic-home),
html body.site .grid-child.container-component:has(.ltg-dynamic-home) {
  width: 100% !important;
  max-width: 100vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.site .ltg-dynamic-home,
body.site .ltg-dynamic-home > section,
body.site .ltg-dynamic-home .ltg-hero,
body.site .ltg-dynamic-home .ltg-dark,
body.site .ltg-dynamic-home .ltg-trad,
body.site .ltg-dynamic-home .ltg-news,
body.site .ltg-dynamic-home .ltg-gallery,
body.site .ltg-dynamic-home .ltg-home-gallery,
body.site .ltg-dynamic-home .ltg-feature-cards,
body.site .ltg-dynamic-home .ltg-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow-x: hidden !important;
}

body.site .ltg-dynamic-home .ltg-wrap,
body.site .ltg-dynamic-home .container,
body.site .ltg-dynamic-home .wrapper,
body:not(.site) .ltg-wrap {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* tablet */
@media (max-width: 900px) {
  :root {
    --ltg-site-width: calc(100vw - 28px) !important;
    --ltg-reading-padding-x: 28px !important;
    --ltg-reading-padding-y: 28px !important;
  }

  html body.site p,
  html body.site li,
  html body.site td,
  html body.site label,
  html body.site input,
  html body.site textarea,
  html body.site select,
  html body.site button,
  html body.site .btn,
  html body.site .com-content-article p,
  html body.site .com-content-article li,
  html body.site .blog p,
  html body.site .blog li,
  html body.site .item-content p,
  html body.site .item-content li,
  html body.site .ltg-contact-legacy-page p,
  html body.site .ltg-contact-legacy-page li,
  html body.site .ltg-legal-page p,
  html body.site .ltg-legal-page li {
    font-size: 18.5px !important;
    line-height: 1.72 !important;
  }
}

/* mobile: spazio ridotto ma testo sempre dentro */
@media (max-width: 430px) {
  :root {
    --ltg-site-width: calc(100vw - 18px) !important;
    --ltg-reading-padding-x: 18px !important;
    --ltg-reading-padding-y: 22px !important;
  }

  html body.site h1,
  html body.site .page-header h1 {
    font-size: 30px !important;
  }

  html body.site h2 {
    font-size: 25px !important;
  }

  html body.site h3 {
    font-size: 22px !important;
  }
}
/* LTG step30 content width footer padding 40-64 END */

/* LTG step31 legal page readable width START */

/* La classe del sito è ltg-legal-page; tengo anche pagina-legale per compatibilità */
html body.site .ltg-legal-page,
html body.site .pagina-legale {
  max-width: 850px !important;
  width: calc(100% - 32px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 40px 24px !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(90, 68, 44, .12) !important;
  border-radius: 6px !important;
  background: rgba(255, 252, 246, .32) !important;
}

/* Testo interno legale */
html body.site .ltg-legal-page p,
html body.site .ltg-legal-page li,
html body.site .pagina-legale p,
html body.site .pagina-legale li {
  font-size: 16px !important;
  line-height: 1.6 !important;
  margin-bottom: 14px !important;
}

/* Titoli legali proporzionati */
html body.site .ltg-legal-page h1,
html body.site .pagina-legale h1 {
  font-size: 34px !important;
  line-height: 1.18 !important;
  margin-bottom: 22px !important;
}

html body.site .ltg-legal-page h2,
html body.site .pagina-legale h2 {
  font-size: 24px !important;
  line-height: 1.25 !important;
  margin-top: 28px !important;
  margin-bottom: 12px !important;
}

html body.site .ltg-legal-page h3,
html body.site .pagina-legale h3 {
  font-size: 20px !important;
  line-height: 1.3 !important;
  margin-top: 22px !important;
  margin-bottom: 10px !important;
}

/* Mobile: testo leggibile senza tagli */
@media (max-width: 640px) {
  html body.site .ltg-legal-page,
  html body.site .pagina-legale {
    width: calc(100% - 20px) !important;
    padding: 28px 16px !important;
  }

  html body.site .ltg-legal-page h1,
  html body.site .pagina-legale h1 {
    font-size: 29px !important;
  }

  html body.site .ltg-legal-page h2,
  html body.site .pagina-legale h2 {
    font-size: 22px !important;
  }
}
/* LTG step31 legal page readable width END */

/* LTG step31 legal page readable width START */

/* La classe del sito è ltg-legal-page; tengo anche pagina-legale per compatibilità */
html body.site .ltg-legal-page,
html body.site .pagina-legale {
  max-width: 850px !important;
  width: calc(100% - 32px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 40px 24px !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(90, 68, 44, .12) !important;
  border-radius: 6px !important;
  background: rgba(255, 252, 246, .32) !important;
}

/* Testo interno legale */
html body.site .ltg-legal-page p,
html body.site .ltg-legal-page li,
html body.site .pagina-legale p,
html body.site .pagina-legale li {
  font-size: 16px !important;
  line-height: 1.6 !important;
  margin-bottom: 14px !important;
}

/* Titoli legali proporzionati */
html body.site .ltg-legal-page h1,
html body.site .pagina-legale h1 {
  font-size: 34px !important;
  line-height: 1.18 !important;
  margin-bottom: 22px !important;
}

html body.site .ltg-legal-page h2,
html body.site .pagina-legale h2 {
  font-size: 24px !important;
  line-height: 1.25 !important;
  margin-top: 28px !important;
  margin-bottom: 12px !important;
}

html body.site .ltg-legal-page h3,
html body.site .pagina-legale h3 {
  font-size: 20px !important;
  line-height: 1.3 !important;
  margin-top: 22px !important;
  margin-bottom: 10px !important;
}

/* Mobile: testo leggibile senza tagli */
@media (max-width: 640px) {
  html body.site .ltg-legal-page,
  html body.site .pagina-legale {
    width: calc(100% - 20px) !important;
    padding: 28px 16px !important;
  }

  html body.site .ltg-legal-page h1,
  html body.site .pagina-legale h1 {
    font-size: 29px !important;
  }

  html body.site .ltg-legal-page h2,
  html body.site .pagina-legale h2 {
    font-size: 22px !important;
  }
}
/* LTG step31 legal page readable width END */

/* LTG step32 legal same footer width START */
:root {
  --ltg-site-width: min(1240px, calc(100vw - 32px)) !important;
  --ltg-legal-padding-x: clamp(40px, 4vw, 64px) !important;
  --ltg-legal-padding-y: 40px !important;
}

/* Privacy, Cookie, Dati legali: stessa larghezza del footer */
html body.site .ltg-legal-page,
html body.site .pagina-legale {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: var(--ltg-legal-padding-y) var(--ltg-legal-padding-x) !important;
  font-size: 18px !important;
  line-height: 1.72 !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(90, 68, 44, .12) !important;
  border-radius: 6px !important;
  background: rgba(255, 252, 246, .30) !important;
}

/* Testo legale più leggibile */
html body.site .ltg-legal-page p,
html body.site .ltg-legal-page li,
html body.site .pagina-legale p,
html body.site .pagina-legale li {
  font-size: 18px !important;
  line-height: 1.72 !important;
  margin-bottom: 16px !important;
}

/* Titoli proporzionati alla nuova larghezza */
html body.site .ltg-legal-page h1,
html body.site .pagina-legale h1 {
  font-size: 38px !important;
  line-height: 1.15 !important;
  margin-bottom: 24px !important;
}

html body.site .ltg-legal-page h2,
html body.site .pagina-legale h2 {
  font-size: 28px !important;
  line-height: 1.22 !important;
  margin-top: 32px !important;
  margin-bottom: 14px !important;
}

html body.site .ltg-legal-page h3,
html body.site .pagina-legale h3 {
  font-size: 22px !important;
  line-height: 1.3 !important;
}

/* Footer mantiene la stessa misura */
#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mobile: stesso criterio, senza tagliare */
@media (max-width: 900px) {
  :root {
    --ltg-site-width: calc(100vw - 28px) !important;
    --ltg-legal-padding-x: 24px !important;
    --ltg-legal-padding-y: 30px !important;
  }
}

@media (max-width: 430px) {
  :root {
    --ltg-site-width: calc(100vw - 18px) !important;
    --ltg-legal-padding-x: 16px !important;
    --ltg-legal-padding-y: 24px !important;
  }

  html body.site .ltg-legal-page p,
  html body.site .ltg-legal-page li,
  html body.site .pagina-legale p,
  html body.site .pagina-legale li {
    font-size: 17px !important;
    line-height: 1.68 !important;
  }

  html body.site .ltg-legal-page h1,
  html body.site .pagina-legale h1 {
    font-size: 30px !important;
  }
}
/* LTG step32 legal same footer width END */

/* LTG step32 legal same footer width START */
:root {
  --ltg-site-width: min(1240px, calc(100vw - 32px)) !important;
  --ltg-legal-padding-x: clamp(40px, 4vw, 64px) !important;
  --ltg-legal-padding-y: 40px !important;
}

/* Privacy, Cookie, Dati legali: stessa larghezza del footer */
html body.site .ltg-legal-page,
html body.site .pagina-legale {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: var(--ltg-legal-padding-y) var(--ltg-legal-padding-x) !important;
  font-size: 18px !important;
  line-height: 1.72 !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(90, 68, 44, .12) !important;
  border-radius: 6px !important;
  background: rgba(255, 252, 246, .30) !important;
}

/* Testo legale più leggibile */
html body.site .ltg-legal-page p,
html body.site .ltg-legal-page li,
html body.site .pagina-legale p,
html body.site .pagina-legale li {
  font-size: 18px !important;
  line-height: 1.72 !important;
  margin-bottom: 16px !important;
}

/* Titoli proporzionati alla nuova larghezza */
html body.site .ltg-legal-page h1,
html body.site .pagina-legale h1 {
  font-size: 38px !important;
  line-height: 1.15 !important;
  margin-bottom: 24px !important;
}

html body.site .ltg-legal-page h2,
html body.site .pagina-legale h2 {
  font-size: 28px !important;
  line-height: 1.22 !important;
  margin-top: 32px !important;
  margin-bottom: 14px !important;
}

html body.site .ltg-legal-page h3,
html body.site .pagina-legale h3 {
  font-size: 22px !important;
  line-height: 1.3 !important;
}

/* Footer mantiene la stessa misura */
#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mobile: stesso criterio, senza tagliare */
@media (max-width: 900px) {
  :root {
    --ltg-site-width: calc(100vw - 28px) !important;
    --ltg-legal-padding-x: 24px !important;
    --ltg-legal-padding-y: 30px !important;
  }
}

@media (max-width: 430px) {
  :root {
    --ltg-site-width: calc(100vw - 18px) !important;
    --ltg-legal-padding-x: 16px !important;
    --ltg-legal-padding-y: 24px !important;
  }

  html body.site .ltg-legal-page p,
  html body.site .ltg-legal-page li,
  html body.site .pagina-legale p,
  html body.site .pagina-legale li {
    font-size: 17px !important;
    line-height: 1.68 !important;
  }

  html body.site .ltg-legal-page h1,
  html body.site .pagina-legale h1 {
    font-size: 30px !important;
  }
}
/* LTG step32 legal same footer width END */

/* LTG step34 exact same content footer width START */
:root {
  --ltg-site-width: min(1240px, calc(100vw - 32px)) !important;
  --ltg-page-width-footer-minus-3: var(--ltg-site-width) !important;
  --ltg-reading-padding-x: clamp(40px, 4vw, 64px) !important;
  --ltg-reading-padding-y: clamp(34px, 3vw, 52px) !important;
}

/* sfondo uniforme */
html,
body,
html body.site,
html body.site .site-grid,
html body.site main,
html body.site .grid-child.container-component {
  background: #f6f0e7 !important;
  background-color: #f6f0e7 !important;
  background-image: none !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

html body.site * {
  box-sizing: border-box !important;
}

/* Footer: larghezza di riferimento */
#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Contenuto: ESATTAMENTE stessa larghezza del footer */
html body.site .com-content-article:not(:has(.ltg-dynamic-home)),
html body.site .com-content-article.item-page:not(:has(.ltg-dynamic-home)),
html body.site .com-content-category-blog,
html body.site .blog,
html body.site .ltg-contact-legacy-page,
html body.site .ltg-legal-page,
html body.site .pagina-legale,
html body.site .com-users-login,
html body.site .com-users-registration,
html body.site .login,
html body.site .registration,
html body.site .profile {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: var(--ltg-reading-padding-y) var(--ltg-reading-padding-x) !important;
  border: 1px solid rgba(90, 68, 44, .12) !important;
  border-radius: 6px !important;
  background: rgba(255, 252, 246, .30) !important;
}

/* Home: contenuto interno stessa larghezza del footer */
body.site .ltg-dynamic-home .ltg-wrap,
body.site .ltg-dynamic-home .container,
body.site .ltg-dynamic-home .wrapper,
body:not(.site) .ltg-wrap {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Blog item interni senza doppio bordo */
html body.site .blog .blog-item,
html body.site .blog .item-content,
html body.site .blog-items,
html body.site .item-content {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* testo leggibile dentro il box */
html body.site p,
html body.site li,
html body.site td,
html body.site label,
html body.site input,
html body.site textarea,
html body.site select,
html body.site button,
html body.site .btn,
html body.site .com-content-article p,
html body.site .com-content-article li,
html body.site .blog p,
html body.site .blog li,
html body.site .item-content p,
html body.site .item-content li,
html body.site .ltg-contact-legacy-page p,
html body.site .ltg-contact-legacy-page li,
html body.site .ltg-legal-page p,
html body.site .ltg-legal-page li,
html body.site .pagina-legale p,
html body.site .pagina-legale li {
  font-size: 20px !important;
  line-height: 1.78 !important;
}

/* protezione anti taglio */
html body.site .com-content-article *,
html body.site .ltg-contact-legacy-page *,
html body.site .ltg-legal-page *,
html body.site .pagina-legale *,
html body.site .blog *,
html body.site .item-content *,
html body.site .login *,
html body.site .registration * {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
}

html body.site img,
html body.site picture,
html body.site video,
html body.site iframe,
html body.site canvas,
html body.site svg {
  max-width: 100% !important;
  height: auto !important;
}

/* tablet */
@media (max-width: 900px) {
  :root {
    --ltg-site-width: calc(100vw - 28px) !important;
    --ltg-page-width-footer-minus-3: var(--ltg-site-width) !important;
    --ltg-reading-padding-x: 28px !important;
    --ltg-reading-padding-y: 28px !important;
  }
}

/* mobile */
@media (max-width: 430px) {
  :root {
    --ltg-site-width: calc(100vw - 18px) !important;
    --ltg-page-width-footer-minus-3: var(--ltg-site-width) !important;
    --ltg-reading-padding-x: 18px !important;
    --ltg-reading-padding-y: 22px !important;
  }
}
/* LTG step34 exact same content footer width END */

/* LTG step35 home full width same footer START */
:root {
  --ltg-site-width: min(1240px, calc(100vw - 32px)) !important;
}

/* Evita tagli e spazi laterali generali */
html,
body,
html body.site {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

html body.site * {
  box-sizing: border-box !important;
}

/* Joomla container della home: nessun limite laterale */
html body.site .site-grid,
html body.site main,
html body.site .grid-child.container-component {
  width: 100% !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body.site .site-grid {
  grid-template-columns: [full-start] minmax(0, 1fr) [full-end] !important;
}

html body.site .grid-child.container-component {
  grid-column: full-start / full-end !important;
}

/* Home article: nessun bordo, nessun padding, nessun limite */
html body.site .com-content-article:has(.ltg-dynamic-home),
html body.site .com-content-article__body:has(.ltg-dynamic-home),
html body.site .grid-child.container-component:has(.ltg-dynamic-home) {
  width: 100% !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow-x: hidden !important;
}

/* La home occupa tutta la finestra */
body.site .ltg-dynamic-home {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
}

/* Tutte le sezioni della home: nessuno spazio laterale vuoto */
body.site .ltg-dynamic-home > *,
body.site .ltg-dynamic-home > section,
body.site .ltg-dynamic-home .ltg-hero,
body.site .ltg-dynamic-home .ltg-dark,
body.site .ltg-dynamic-home .ltg-trad,
body.site .ltg-dynamic-home .ltg-news,
body.site .ltg-dynamic-home .ltg-gallery,
body.site .ltg-dynamic-home .ltg-home-gallery,
body.site .ltg-dynamic-home .ltg-feature-cards,
body.site .ltg-dynamic-home .ltg-section,
body.site .ltg-dynamic-home .ltg-contact,
body.site .ltg-dynamic-home .ltg-map,
body.site .ltg-dynamic-home .ltg-footer-spacer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
}

/* Il contenuto interno di ogni parte e largo come il footer */
body.site .ltg-dynamic-home .ltg-wrap,
body.site .ltg-dynamic-home .container,
body.site .ltg-dynamic-home .wrapper,
body.site .ltg-dynamic-home .inner,
body.site .ltg-dynamic-home .row,
body.site .ltg-dynamic-home .ltg-inner,
body.site .ltg-dynamic-home .ltg-content,
body.site .ltg-dynamic-home .ltg-news-grid,
body.site .ltg-dynamic-home .ltg-gallery-grid,
body.site .ltg-dynamic-home .ltg-card-grid,
body.site .ltg-dynamic-home .ltg-feature-grid {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Immagini e card dentro la home non devono generare overflow */
body.site .ltg-dynamic-home img,
body.site .ltg-dynamic-home picture,
body.site .ltg-dynamic-home video,
body.site .ltg-dynamic-home iframe,
body.site .ltg-dynamic-home canvas,
body.site .ltg-dynamic-home svg {
  max-width: 100% !important;
  height: auto !important;
}

body.site .ltg-dynamic-home *,
body.site .ltg-dynamic-home *::before,
body.site .ltg-dynamic-home *::after {
  box-sizing: border-box !important;
}

/* Hero: pieno schermo, contenuto allineato alla stessa larghezza del footer */
body.site .ltg-dynamic-home .ltg-hero {
  background-size: cover !important;
  background-position: center center !important;
}

body.site .ltg-dynamic-home .ltg-hero .ltg-wrap,
body.site .ltg-dynamic-home .ltg-hero .container,
body.site .ltg-dynamic-home .ltg-hero .wrapper {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
}

/* Footer: riferimento identico */
#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Tablet e mobile: resta largo come footer senza tagliare */
@media (max-width: 900px) {
  :root {
    --ltg-site-width: calc(100vw - 28px) !important;
  }

  body.site .ltg-dynamic-home .ltg-wrap,
  body.site .ltg-dynamic-home .container,
  body.site .ltg-dynamic-home .wrapper,
  body.site .ltg-dynamic-home .inner,
  body.site .ltg-dynamic-home .row,
  body.site .ltg-dynamic-home .ltg-inner,
  body.site .ltg-dynamic-home .ltg-content,
  body.site .ltg-dynamic-home .ltg-news-grid,
  body.site .ltg-dynamic-home .ltg-gallery-grid,
  body.site .ltg-dynamic-home .ltg-card-grid,
  body.site .ltg-dynamic-home .ltg-feature-grid,
  #ltg-final-footer .ltg-final-inner,
  #ltg-final-footer .ltg-final-footer-grid,
  #ltg-final-footer .ltg-final-userlinks,
  #ltg-final-footer .ltg-final-legal {
    width: var(--ltg-site-width) !important;
    max-width: var(--ltg-site-width) !important;
  }
}

@media (max-width: 430px) {
  :root {
    --ltg-site-width: calc(100vw - 18px) !important;
  }
}
/* LTG step35 home full width same footer END */

/* LTG step36 remove home side gap START */
:root {
  --ltg-site-width: min(1240px, calc(100vw - 32px)) !important;
}

/* Niente colonne/spazi grigi ai lati */
html,
body,
html body.site,
html body.site.wrapper-fluid,
html body.site .body-wrapper,
html body.site .site-grid,
html body.site main,
html body.site .grid-child,
html body.site .grid-child.container-component,
html body.site .container-component,
html body.site .com-content-article:has(.ltg-dynamic-home),
html body.site .com-content-article__body:has(.ltg-dynamic-home) {
  width: 100% !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: #f6f0e7 !important;
  background-color: #f6f0e7 !important;
  background-image: none !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

/* Il grid di Joomla non deve creare una colonna laterale */
html body.site .site-grid {
  display: block !important;
}

/* Home a tutta finestra, senza margine sinistro */
html body.site .ltg-dynamic-home {
  display: block !important;
  width: 100% !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #f6f0e7 !important;
  overflow-x: hidden !important;
}

/* Ogni blocco della home deve riempire tutta la larghezza visibile */
html body.site .ltg-dynamic-home > *,
html body.site .ltg-dynamic-home > section,
html body.site .ltg-dynamic-home .ltg-hero,
html body.site .ltg-dynamic-home .ltg-dark,
html body.site .ltg-dynamic-home .ltg-trad,
html body.site .ltg-dynamic-home .ltg-news,
html body.site .ltg-dynamic-home .ltg-gallery,
html body.site .ltg-dynamic-home .ltg-home-gallery,
html body.site .ltg-dynamic-home .ltg-feature-cards,
html body.site .ltg-dynamic-home .ltg-section,
html body.site .ltg-dynamic-home .ltg-contact,
html body.site .ltg-dynamic-home .ltg-map {
  width: 100% !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
}

/* Il contenuto interno resta largo quanto il footer */
html body.site .ltg-dynamic-home .ltg-wrap,
html body.site .ltg-dynamic-home .container,
html body.site .ltg-dynamic-home .wrapper,
html body.site .ltg-dynamic-home .inner,
html body.site .ltg-dynamic-home .ltg-inner,
html body.site .ltg-dynamic-home .ltg-content,
html body.site .ltg-dynamic-home .ltg-news-grid,
html body.site .ltg-dynamic-home .ltg-gallery-grid,
html body.site .ltg-dynamic-home .ltg-card-grid,
html body.site .ltg-dynamic-home .ltg-feature-grid,
#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Elimina eventuali pseudo-spazi laterali lasciati dal template */
html body.site::before,
html body.site::after,
html body.site .site-grid::before,
html body.site .site-grid::after,
html body.site main::before,
html body.site main::after {
  display: none !important;
  content: none !important;
}

/* Media sempre dentro */
html body.site .ltg-dynamic-home img,
html body.site .ltg-dynamic-home picture,
html body.site .ltg-dynamic-home video,
html body.site .ltg-dynamic-home iframe,
html body.site .ltg-dynamic-home svg {
  max-width: 100% !important;
  height: auto !important;
}

/* Mobile */
@media (max-width: 900px) {
  :root {
    --ltg-site-width: calc(100vw - 28px) !important;
  }
}

@media (max-width: 430px) {
  :root {
    --ltg-site-width: calc(100vw - 18px) !important;
  }
}
/* LTG step36 remove home side gap END */

/* LTG step35 home full width same footer START */
:root {
  --ltg-site-width: min(1240px, calc(100vw - 32px)) !important;
}

/* Evita tagli e spazi laterali generali */
html,
body,
html body.site {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

html body.site * {
  box-sizing: border-box !important;
}

/* Joomla container della home: nessun limite laterale */
html body.site .site-grid,
html body.site main,
html body.site .grid-child.container-component {
  width: 100% !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body.site .site-grid {
  grid-template-columns: [full-start] minmax(0, 1fr) [full-end] !important;
}

html body.site .grid-child.container-component {
  grid-column: full-start / full-end !important;
}

/* Home article: nessun bordo, nessun padding, nessun limite */
html body.site .com-content-article:has(.ltg-dynamic-home),
html body.site .com-content-article__body:has(.ltg-dynamic-home),
html body.site .grid-child.container-component:has(.ltg-dynamic-home) {
  width: 100% !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow-x: hidden !important;
}

/* La home occupa tutta la finestra */
body.site .ltg-dynamic-home {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
}

/* Tutte le sezioni della home: nessuno spazio laterale vuoto */
body.site .ltg-dynamic-home > *,
body.site .ltg-dynamic-home > section,
body.site .ltg-dynamic-home .ltg-hero,
body.site .ltg-dynamic-home .ltg-dark,
body.site .ltg-dynamic-home .ltg-trad,
body.site .ltg-dynamic-home .ltg-news,
body.site .ltg-dynamic-home .ltg-gallery,
body.site .ltg-dynamic-home .ltg-home-gallery,
body.site .ltg-dynamic-home .ltg-feature-cards,
body.site .ltg-dynamic-home .ltg-section,
body.site .ltg-dynamic-home .ltg-contact,
body.site .ltg-dynamic-home .ltg-map,
body.site .ltg-dynamic-home .ltg-footer-spacer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
}

/* Il contenuto interno di ogni parte e largo come il footer */
body.site .ltg-dynamic-home .ltg-wrap,
body.site .ltg-dynamic-home .container,
body.site .ltg-dynamic-home .wrapper,
body.site .ltg-dynamic-home .inner,
body.site .ltg-dynamic-home .row,
body.site .ltg-dynamic-home .ltg-inner,
body.site .ltg-dynamic-home .ltg-content,
body.site .ltg-dynamic-home .ltg-news-grid,
body.site .ltg-dynamic-home .ltg-gallery-grid,
body.site .ltg-dynamic-home .ltg-card-grid,
body.site .ltg-dynamic-home .ltg-feature-grid {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Immagini e card dentro la home non devono generare overflow */
body.site .ltg-dynamic-home img,
body.site .ltg-dynamic-home picture,
body.site .ltg-dynamic-home video,
body.site .ltg-dynamic-home iframe,
body.site .ltg-dynamic-home canvas,
body.site .ltg-dynamic-home svg {
  max-width: 100% !important;
  height: auto !important;
}

body.site .ltg-dynamic-home *,
body.site .ltg-dynamic-home *::before,
body.site .ltg-dynamic-home *::after {
  box-sizing: border-box !important;
}

/* Hero: pieno schermo, contenuto allineato alla stessa larghezza del footer */
body.site .ltg-dynamic-home .ltg-hero {
  background-size: cover !important;
  background-position: center center !important;
}

body.site .ltg-dynamic-home .ltg-hero .ltg-wrap,
body.site .ltg-dynamic-home .ltg-hero .container,
body.site .ltg-dynamic-home .ltg-hero .wrapper {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
}

/* Footer: riferimento identico */
#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Tablet e mobile: resta largo come footer senza tagliare */
@media (max-width: 900px) {
  :root {
    --ltg-site-width: calc(100vw - 28px) !important;
  }

  body.site .ltg-dynamic-home .ltg-wrap,
  body.site .ltg-dynamic-home .container,
  body.site .ltg-dynamic-home .wrapper,
  body.site .ltg-dynamic-home .inner,
  body.site .ltg-dynamic-home .row,
  body.site .ltg-dynamic-home .ltg-inner,
  body.site .ltg-dynamic-home .ltg-content,
  body.site .ltg-dynamic-home .ltg-news-grid,
  body.site .ltg-dynamic-home .ltg-gallery-grid,
  body.site .ltg-dynamic-home .ltg-card-grid,
  body.site .ltg-dynamic-home .ltg-feature-grid,
  #ltg-final-footer .ltg-final-inner,
  #ltg-final-footer .ltg-final-footer-grid,
  #ltg-final-footer .ltg-final-userlinks,
  #ltg-final-footer .ltg-final-legal {
    width: var(--ltg-site-width) !important;
    max-width: var(--ltg-site-width) !important;
  }
}

@media (max-width: 430px) {
  :root {
    --ltg-site-width: calc(100vw - 18px) !important;
  }
}
/* LTG step35 home full width same footer END */

/* LTG step35 home full width same footer START */
:root {
  --ltg-site-width: min(1240px, calc(100vw - 32px)) !important;
}

/* Evita tagli e spazi laterali generali */
html,
body,
html body.site {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

html body.site * {
  box-sizing: border-box !important;
}

/* Joomla container della home: nessun limite laterale */
html body.site .site-grid,
html body.site main,
html body.site .grid-child.container-component {
  width: 100% !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body.site .site-grid {
  grid-template-columns: [full-start] minmax(0, 1fr) [full-end] !important;
}

html body.site .grid-child.container-component {
  grid-column: full-start / full-end !important;
}

/* Home article: nessun bordo, nessun padding, nessun limite */
html body.site .com-content-article:has(.ltg-dynamic-home),
html body.site .com-content-article__body:has(.ltg-dynamic-home),
html body.site .grid-child.container-component:has(.ltg-dynamic-home) {
  width: 100% !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow-x: hidden !important;
}

/* La home occupa tutta la finestra */
body.site .ltg-dynamic-home {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
}

/* Tutte le sezioni della home: nessuno spazio laterale vuoto */
body.site .ltg-dynamic-home > *,
body.site .ltg-dynamic-home > section,
body.site .ltg-dynamic-home .ltg-hero,
body.site .ltg-dynamic-home .ltg-dark,
body.site .ltg-dynamic-home .ltg-trad,
body.site .ltg-dynamic-home .ltg-news,
body.site .ltg-dynamic-home .ltg-gallery,
body.site .ltg-dynamic-home .ltg-home-gallery,
body.site .ltg-dynamic-home .ltg-feature-cards,
body.site .ltg-dynamic-home .ltg-section,
body.site .ltg-dynamic-home .ltg-contact,
body.site .ltg-dynamic-home .ltg-map,
body.site .ltg-dynamic-home .ltg-footer-spacer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
}

/* Il contenuto interno di ogni parte e largo come il footer */
body.site .ltg-dynamic-home .ltg-wrap,
body.site .ltg-dynamic-home .container,
body.site .ltg-dynamic-home .wrapper,
body.site .ltg-dynamic-home .inner,
body.site .ltg-dynamic-home .row,
body.site .ltg-dynamic-home .ltg-inner,
body.site .ltg-dynamic-home .ltg-content,
body.site .ltg-dynamic-home .ltg-news-grid,
body.site .ltg-dynamic-home .ltg-gallery-grid,
body.site .ltg-dynamic-home .ltg-card-grid,
body.site .ltg-dynamic-home .ltg-feature-grid {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Immagini e card dentro la home non devono generare overflow */
body.site .ltg-dynamic-home img,
body.site .ltg-dynamic-home picture,
body.site .ltg-dynamic-home video,
body.site .ltg-dynamic-home iframe,
body.site .ltg-dynamic-home canvas,
body.site .ltg-dynamic-home svg {
  max-width: 100% !important;
  height: auto !important;
}

body.site .ltg-dynamic-home *,
body.site .ltg-dynamic-home *::before,
body.site .ltg-dynamic-home *::after {
  box-sizing: border-box !important;
}

/* Hero: pieno schermo, contenuto allineato alla stessa larghezza del footer */
body.site .ltg-dynamic-home .ltg-hero {
  background-size: cover !important;
  background-position: center center !important;
}

body.site .ltg-dynamic-home .ltg-hero .ltg-wrap,
body.site .ltg-dynamic-home .ltg-hero .container,
body.site .ltg-dynamic-home .ltg-hero .wrapper {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
}

/* Footer: riferimento identico */
#ltg-final-footer .ltg-final-inner,
#ltg-final-footer .ltg-final-footer-grid,
#ltg-final-footer .ltg-final-userlinks,
#ltg-final-footer .ltg-final-legal {
  width: var(--ltg-site-width) !important;
  max-width: var(--ltg-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Tablet e mobile: resta largo come footer senza tagliare */
@media (max-width: 900px) {
  :root {
    --ltg-site-width: calc(100vw - 28px) !important;
  }

  body.site .ltg-dynamic-home .ltg-wrap,
  body.site .ltg-dynamic-home .container,
  body.site .ltg-dynamic-home .wrapper,
  body.site .ltg-dynamic-home .inner,
  body.site .ltg-dynamic-home .row,
  body.site .ltg-dynamic-home .ltg-inner,
  body.site .ltg-dynamic-home .ltg-content,
  body.site .ltg-dynamic-home .ltg-news-grid,
  body.site .ltg-dynamic-home .ltg-gallery-grid,
  body.site .ltg-dynamic-home .ltg-card-grid,
  body.site .ltg-dynamic-home .ltg-feature-grid,
  #ltg-final-footer .ltg-final-inner,
  #ltg-final-footer .ltg-final-footer-grid,
  #ltg-final-footer .ltg-final-userlinks,
  #ltg-final-footer .ltg-final-legal {
    width: var(--ltg-site-width) !important;
    max-width: var(--ltg-site-width) !important;
  }
}

@media (max-width: 430px) {
  :root {
    --ltg-site-width: calc(100vw - 18px) !important;
  }
}
/* LTG step35 home full width same footer END */

/* LTG step40 hide remaining access icon START */

/* Nasconde eventuale link /accesso rimasto nella barra alta */
body.site .container-header a[href*="/accesso"],
body.site header a[href*="/accesso"],
body.site .topbar a[href*="/accesso"],
body.site .ltg-final-header a[href*="/accesso"],
body.site a[href*="/accesso"]:has(.fa-user),
body.site a[href*="/accesso"]:has(.icon-user) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Nasconde l'icona utente rimasta isolata in alto */
body.site .container-header .fa-user,
body.site .container-header .fa-user-alt,
body.site .container-header .icon-user,
body.site .container-header .bi-person,
body.site .container-header .bi-person-fill,
body.site header .fa-user,
body.site header .fa-user-alt,
body.site header .icon-user,
body.site header .bi-person,
body.site header .bi-person-fill,
body.site .topbar .fa-user,
body.site .topbar .fa-user-alt,
body.site .topbar .icon-user,
body.site .topbar .bi-person,
body.site .topbar .bi-person-fill {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Se il contenitore resta vuoto, non deve occupare spazio */
body.site .container-header a:empty,
body.site header a:empty,
body.site .topbar a:empty {
  display: none !important;
}

/* LTG step40 hide remaining access icon END */

/* LTG step44 hide only access icon START */

/*
  Nasconde solo icona/link accesso nella testata.
  Non tocca hamburger, menu principale, footer o contenuti.
*/

/* Link accesso rimasto in testata */
body.site .container-header a[href*="accesso"],
body.site .ltg-final-header a[href*="accesso"],
body.site #ltg-final-header a[href*="accesso"],
body.site .ltg-header a[href*="accesso"],
body.site .topbar a[href*="accesso"] {
  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;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Icona utente/accesso rimasta isolata in testata */
body.site .container-header i[class*="user" i],
body.site .container-header span[class*="user" i],
body.site .container-header svg[class*="user" i],
body.site .container-header i[class*="person" i],
body.site .container-header span[class*="person" i],
body.site .container-header svg[class*="person" i],
body.site .container-header i[class*="account" i],
body.site .container-header span[class*="account" i],
body.site .container-header svg[class*="account" i],
body.site .ltg-final-header i[class*="user" i],
body.site .ltg-final-header span[class*="user" i],
body.site .ltg-final-header svg[class*="user" i],
body.site #ltg-final-header i[class*="user" i],
body.site #ltg-final-header span[class*="user" i],
body.site #ltg-final-header svg[class*="user" i],
body.site .ltg-header i[class*="user" i],
body.site .ltg-header span[class*="user" i],
body.site .ltg-header svg[class*="user" i],
body.site .topbar i[class*="user" i],
body.site .topbar span[class*="user" i],
body.site .topbar svg[class*="user" i] {
  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;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Protezione: hamburger/main menu resta visibile */
body.site .container-header .navbar-toggler,
body.site .container-header .navbar-toggler-icon,
body.site .container-header .fa-bars,
body.site .container-header .icon-menu,
body.site .ltg-final-header .navbar-toggler,
body.site .ltg-final-header .navbar-toggler-icon,
body.site .ltg-final-header .fa-bars,
body.site .ltg-final-header .icon-menu,
body.site #ltg-final-header .navbar-toggler,
body.site #ltg-final-header .navbar-toggler-icon,
body.site #ltg-final-header .fa-bars,
body.site #ltg-final-header .icon-menu,
body.site .ltg-header .navbar-toggler,
body.site .ltg-header .navbar-toggler-icon,
body.site .ltg-header .fa-bars,
body.site .ltg-header .icon-menu,
body.site .topbar .navbar-toggler,
body.site .topbar .navbar-toggler-icon,
body.site .topbar .fa-bars,
body.site .topbar .icon-menu {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* LTG step44 hide only access icon END */

/* LTG step46 access icon same background color START */

/*
  Non nasconde il main menu.
  Rende invisibile solo l'icona accesso/utente usando lo stesso colore dello sfondo.
*/

:root {
  --ltg-bg-color: #f6f0e7;
}

/* Link accesso in testata: stesso colore dello sfondo */
body.site .container-header a[href*="accesso"],
body.site header a[href*="accesso"],
body.site .topbar a[href*="accesso"],
body.site .ltg-final-header a[href*="accesso"],
body.site #ltg-final-header a[href*="accesso"],
body.site .ltg-header a[href*="accesso"] {
  color: var(--ltg-bg-color) !important;
  background-color: var(--ltg-bg-color) !important;
  border-color: var(--ltg-bg-color) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Icona dentro o vicino ad accesso */
body.site .container-header a[href*="accesso"] *,
body.site header a[href*="accesso"] *,
body.site .topbar a[href*="accesso"] *,
body.site .ltg-final-header a[href*="accesso"] *,
body.site #ltg-final-header a[href*="accesso"] *,
body.site .ltg-header a[href*="accesso"] *,
body.site .container-header :is(i,span,svg,use)[class*="user" i],
body.site header :is(i,span,svg,use)[class*="user" i],
body.site .topbar :is(i,span,svg,use)[class*="user" i],
body.site .ltg-final-header :is(i,span,svg,use)[class*="user" i],
body.site #ltg-final-header :is(i,span,svg,use)[class*="user" i],
body.site .ltg-header :is(i,span,svg,use)[class*="user" i],
body.site .container-header :is(i,span,svg,use)[class*="person" i],
body.site header :is(i,span,svg,use)[class*="person" i],
body.site .topbar :is(i,span,svg,use)[class*="person" i],
body.site .ltg-final-header :is(i,span,svg,use)[class*="person" i],
body.site #ltg-final-header :is(i,span,svg,use)[class*="person" i],
body.site .ltg-header :is(i,span,svg,use)[class*="person" i],
body.site .container-header :is(i,span,svg,use)[class*="account" i],
body.site header :is(i,span,svg,use)[class*="account" i],
body.site .topbar :is(i,span,svg,use)[class*="account" i],
body.site .ltg-final-header :is(i,span,svg,use)[class*="account" i],
body.site #ltg-final-header :is(i,span,svg,use)[class*="account" i],
body.site .ltg-header :is(i,span,svg,use)[class*="account" i] {
  color: var(--ltg-bg-color) !important;
  fill: var(--ltg-bg-color) !important;
  stroke: var(--ltg-bg-color) !important;
  background-color: var(--ltg-bg-color) !important;
  border-color: var(--ltg-bg-color) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Protezione: il main menu a tre linee NON deve prendere il colore dello sfondo */
body.site .navbar-toggler,
body.site .navbar-toggler-icon,
body.site .fa-bars,
body.site .icon-menu,
body.site [class*="hamburger" i],
body.site button[class*="menu" i] {
  color: #d79236 !important;
  fill: #d79236 !important;
  stroke: #d79236 !important;
  background-color: transparent !important;
  border-color: transparent !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* LTG step46 access icon same background color END */

/* LTG step46b access icon same header background START */

/* Colore dello sfondo della testata */
:root {
  --ltg-header-dark-bg: #1f1f1f;
}

/* Icona accesso/utente nella testata colorata come lo sfondo */
body.site .container-header a[href*="accesso"],
body.site header a[href*="accesso"],
body.site .topbar a[href*="accesso"],
body.site .ltg-final-header a[href*="accesso"],
body.site #ltg-final-header a[href*="accesso"],
body.site .ltg-header a[href*="accesso"],
body.site .container-header a[href*="accesso"] *,
body.site header a[href*="accesso"] *,
body.site .topbar a[href*="accesso"] *,
body.site .ltg-final-header a[href*="accesso"] *,
body.site #ltg-final-header a[href*="accesso"] *,
body.site .ltg-header a[href*="accesso"] *,
body.site .container-header i[class*="user" i],
body.site .container-header span[class*="user" i],
body.site .container-header svg[class*="user" i],
body.site header i[class*="user" i],
body.site header span[class*="user" i],
body.site header svg[class*="user" i],
body.site .topbar i[class*="user" i],
body.site .topbar span[class*="user" i],
body.site .topbar svg[class*="user" i],
body.site .ltg-final-header i[class*="user" i],
body.site .ltg-final-header span[class*="user" i],
body.site .ltg-final-header svg[class*="user" i],
body.site #ltg-final-header i[class*="user" i],
body.site #ltg-final-header span[class*="user" i],
body.site #ltg-final-header svg[class*="user" i],
body.site .ltg-header i[class*="user" i],
body.site .ltg-header span[class*="user" i],
body.site .ltg-header svg[class*="user" i] {
  color: var(--ltg-header-dark-bg) !important;
  fill: var(--ltg-header-dark-bg) !important;
  stroke: var(--ltg-header-dark-bg) !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

/* Il menu a tre linee resta arancione/visibile */
body.site .navbar-toggler,
body.site .navbar-toggler-icon,
body.site .fa-bars,
body.site .icon-menu,
body.site [class*="hamburger" i],
body.site button[class*="menu" i] {
  color: #d79236 !important;
  fill: #d79236 !important;
  stroke: #d79236 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* LTG step46b access icon same header background END */

/* LTG step47 force access icon pseudo same header background START */

:root {
  --ltg-header-dark-bg: #1f1f1f;
}

/*
  Colora come sfondo testata:
  - link accesso
  - icone user/login/access/account/person
  - pseudo-elementi ::before / ::after
  - SVG / FontAwesome / Bootstrap / Joomla icons
*/

/* link e contenitori accesso nella testata */
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, svg, use, button)[href*="accesso"],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, svg, use, button)[href*="login"],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, svg, use, button)[href*="com_users"],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, svg, use, button)[class*="access" i],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, svg, use, button)[class*="login" i],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, svg, use, button)[class*="user" i],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, svg, use, button)[class*="person" i],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, svg, use, button)[class*="account" i],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, svg, use, button)[title*="Accesso" i],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, svg, use, button)[aria-label*="Accesso" i] {
  color: var(--ltg-header-dark-bg) !important;
  fill: var(--ltg-header-dark-bg) !important;
  stroke: var(--ltg-header-dark-bg) !important;
  background-color: transparent !important;
  border-color: transparent !important;
  text-shadow: none !important;
  box-shadow: none !important;
  --fa-primary-color: var(--ltg-header-dark-bg) !important;
  --fa-secondary-color: var(--ltg-header-dark-bg) !important;
}

/* pseudo-elementi che spesso disegnano l'icona */
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[href*="accesso"]::before,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[href*="accesso"]::after,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[href*="login"]::before,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[href*="login"]::after,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[href*="com_users"]::before,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[href*="com_users"]::after,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[class*="access" i]::before,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[class*="access" i]::after,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[class*="login" i]::before,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[class*="login" i]::after,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[class*="user" i]::before,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[class*="user" i]::after,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[class*="person" i]::before,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[class*="person" i]::after,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[class*="account" i]::before,
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
:is(a, span, i, button)[class*="account" i]::after {
  color: var(--ltg-header-dark-bg) !important;
  fill: var(--ltg-header-dark-bg) !important;
  stroke: var(--ltg-header-dark-bg) !important;
  background-color: var(--ltg-header-dark-bg) !important;
  border-color: var(--ltg-header-dark-bg) !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

/* se l'icona è un'immagine, la oscura contro lo sfondo */
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
img[class*="user" i],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
img[class*="login" i],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
img[class*="account" i],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
img[src*="user" i],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
img[src*="login" i],
body.site :is(.container-header, header, .topbar, .ltg-final-header, #ltg-final-header, .ltg-header)
img[src*="account" i] {
  opacity: .02 !important;
  filter: brightness(0) !important;
}

/* protezione: il main menu tre linee resta visibile/arancione */
body.site .navbar-toggler,
body.site .navbar-toggler-icon,
body.site .fa-bars,
body.site .icon-menu,
body.site [class*="hamburger" i],
body.site button[class*="menu" i],
body.site .navbar-toggler::before,
body.site .navbar-toggler::after,
body.site .navbar-toggler-icon::before,
body.site .navbar-toggler-icon::after {
  color: #d79236 !important;
  fill: #d79236 !important;
  stroke: #d79236 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* LTG step47 force access icon pseudo same header background END */

/* BEGIN solo-accesso-footer */
/* Nasconde registrazione, recupero credenziali e gestione utente dal login nel footer.
   Lascia visibili solo campi login e pulsante accesso. */

.solo-accesso-footer .mod-login__options,
.solo-accesso-footer #login-form ul,
.solo-accesso-footer .unstyled,
.solo-accesso-footer .mod-login__register,
.solo-accesso-footer .mod-login__forgot,
.solo-accesso-footer .mod-login__forgot-password,
.solo-accesso-footer .mod-login__forgot-username,
footer #login-form .mod-login__options,
footer #login-form ul,
footer .mod-login__options,
footer .mod-login__register,
footer .mod-login__forgot,
footer .mod-login__forgot-password,
footer .mod-login__forgot-username,
.container-footer #login-form .mod-login__options,
.container-footer #login-form ul,
.container-footer .mod-login__options,
.container-footer .mod-login__register,
.container-footer .mod-login__forgot,
.container-footer .mod-login__forgot-password,
.container-footer .mod-login__forgot-username,
.footer #login-form .mod-login__options,
.footer #login-form ul,
.footer .mod-login__options,
.footer .mod-login__register,
.footer .mod-login__forgot,
.footer .mod-login__forgot-password,
.footer .mod-login__forgot-username {
  display: none !important;
}
/* END solo-accesso-footer */
