/*
 * Sistema visivo pubblico v2.4.12
 * Estende la scala premium della homepage alle altre pagine del sito.
 * Le regole sono isolate al frontend interno e non cambiano markup o contenuti.
 */
body:not(.home) {
  --gs-site-navy: #0b2a4a;
  --gs-site-deep: #061d34;
  --gs-site-blue: #174f73;
  --gs-site-gold: #d6a83f;
  --gs-site-text: #263b4b;
  --gs-site-muted: #5e6d78;
  --gs-site-font-display: Georgia, "Times New Roman", serif;
  --gs-site-font-body: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--gs-site-text);
  font-family: var(--gs-site-font-body);
}

/* Titoli e paragrafi: stessi rapporti della homepage premium. */
body:not(.home) :is(
  .sdv-category-hero,
  .sdv-page-hero,
  .sdv-article-header,
  .sdv-offer-hero,
  .gs-about-hero,
  .gs-service-hero,
  .gs-service-archive-hero
) h1 {
  max-width: 820px;
  font-family: var(--gs-site-font-display);
  font-size: clamp(42px, 4.7vw, 62px);
  font-weight: 600;
  line-height: 1.01;
  letter-spacing: -.035em;
  text-wrap: balance;
}

body:not(.home) .sdv-category-hero .sdv-category-hero-grid > div:first-child > p,
body:not(.home) .sdv-page-hero .sdv-container > p,
body:not(.home) .sdv-article-header .sdv-container > p,
body:not(.home) .sdv-offer-hero .sdv-offer-summary,
body:not(.home) .gs-about-hero .gs-about-lead,
body:not(.home) .gs-service-hero .gs-service-summary,
body:not(.home) .gs-service-archive-hero p:not(.gs-service-kicker) {
  font-size: clamp(16px, 1.35vw, 18px);
  line-height: 1.62;
}

body:not(.home) :is(
  .sdv-section-head h2,
  .sdv-prose h2,
  .sdv-article-body h2,
  .sdv-offer-premium h2,
  .gs-about-section h2,
  .gs-service-section h2,
  .gs-service-final-cta h2,
  .sdv-final-cta h2
) {
  font-family: var(--gs-site-font-display);
  font-size: clamp(31px, 3.2vw, 44px);
  line-height: 1.06;
  letter-spacing: -.032em;
  text-wrap: balance;
}

body:not(.home) :is(.sdv-prose, .sdv-article-body, .gs-about-prose, .gs-service-prose) p {
  max-width: 72ch;
  font-size: 17px;
  line-height: 1.72;
}

/* Categorie e Contatti: meno alte, con contenuti allineati alla nuova hero. */
body:not(.home) .sdv-category-hero {
  padding-top: 56px;
  padding-bottom: 60px;
}

body:not(.home) .sdv-category-hero-grid {
  gap: clamp(32px, 4vw, 56px);
  align-items: center;
}

body:not(.home) .sdv-category-hero h1 {
  margin-top: 12px;
  margin-bottom: 17px;
}

body:not(.home) .sdv-category-hero p {
  max-width: 620px;
  margin: 0;
}

body:not(.home) .sdv-category-actions {
  gap: 10px;
  margin-top: 23px;
}

body:not(.home) .sdv-category-actions .sdv-btn {
  min-height: 48px;
  padding: 11px 21px;
}

body:not(.home) .sdv-category-benefits {
  padding: 18px 22px;
  border-radius: 20px;
}

body:not(.home) .sdv-category-benefits > div {
  padding-top: 7px;
  padding-bottom: 7px;
}

body:not(.home) .sdv-category-benefits strong {
  font-size: 14px;
  line-height: 1.4;
}

/* Archivi, pagine legali e 404. */
body:not(.home) .sdv-page-hero {
  padding-top: 52px;
  padding-bottom: 54px;
}

body:not(.home) .sdv-page-hero h1 {
  margin: 0;
}

/* Magazine: testata autorevole ma breve, lettura più ordinata. */
body:not(.home) .sdv-article-header {
  padding-top: 52px;
  padding-bottom: 55px;
}

body:not(.home) .sdv-article-header h1 {
  margin-top: 10px;
  margin-bottom: 13px;
}

body:not(.home) .sdv-article-header > .sdv-container > p {
  max-width: 780px;
  margin-top: 13px;
  margin-bottom: 0;
}

body:not(.home) .sdv-article-body {
  max-width: 880px;
}

/* Offerte: rapporto più compatto, lasciando spazio a prezzo e azione. */
body:not(.home) .sdv-offer-hero {
  padding-top: 48px;
  padding-bottom: 50px;
}

body:not(.home) .sdv-offer-hero-grid {
  gap: clamp(34px, 4.5vw, 62px);
  align-items: center;
}

body:not(.home) .sdv-offer-hero h1 {
  margin-top: 12px;
  margin-bottom: 12px;
  font-size: clamp(40px, 4.25vw, 58px);
}

body:not(.home) .sdv-offer-summary {
  max-width: 620px;
}

body:not(.home) .sdv-offer-hero-price {
  margin-top: 21px;
  padding-top: 16px;
  padding-bottom: 16px;
}

body:not(.home) .sdv-offer-primary-actions {
  margin-top: 19px;
}

/* CTA WhatsApp: aspetto immediatamente riconoscibile e coerente col marchio. */
body:not(.home) .sdv-offer-primary-actions .sdv-offer-whatsapp-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: fit-content;
  min-height: 48px;
  padding: 11px 20px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 999px;
  background: #25d366;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(0, 80, 38, .16);
  box-shadow: 0 9px 22px rgba(0, 92, 49, .26), inset 0 1px 0 rgba(255, 255, 255, .24);
  transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}

body:not(.home) .sdv-offer-primary-actions .sdv-offer-whatsapp-link::before {
  content: "";
  flex: 0 0 23px;
  width: 23px;
  height: 23px;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23fff' d='M380.9 97.1C339-3.1 267.9 0 224.1 0 100.6 0 .2 100.2.2 223.6c0 39.4 10.3 77.7 29.9 111.5L0 445.2l112.9-29.6c32.4 17.7 68.9 27 106.1 27h.1c123.4 0 226.2-100.2 226.2-223.7 0-59.8-25.2-116-67.1-158.3zM224.1 405c-33.2 0-65.7-8.9-94-25.7l-6.7-4-67 17.6 17.9-65.4-4.4-6.9c-18.5-29.4-28.2-63.4-28.2-98.3 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-87 184.6-188.7 184.6zm101.2-138.5c-5.5-2.8-32.8-16.1-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.7-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3s19.9 53.7 22.6 57.4c2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.8-10.5-6.6z'/%3E%3C/svg%3E");
}

body:not(.home) .sdv-offer-primary-actions .sdv-offer-whatsapp-link:hover {
  background: #1ebe5d;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 13px 28px rgba(0, 92, 49, .31), inset 0 1px 0 rgba(255, 255, 255, .28);
}

body:not(.home) .sdv-offer-primary-actions .sdv-offer-whatsapp-link:active {
  transform: translateY(0);
  box-shadow: 0 6px 15px rgba(0, 92, 49, .24);
}

body:not(.home) .sdv-offer-primary-actions .sdv-offer-whatsapp-link:focus-visible {
  outline: 4px solid rgba(37, 211, 102, .3);
  outline-offset: 4px;
}

body:not(.home) .sdv-offer-hero-media {
  align-self: center;
}

/* Chi siamo: stesso rapporto della home, con medaglia e racconto preservati. */
body:not(.home) .gs-about-hero {
  padding-top: 62px;
  padding-bottom: 64px;
}

body:not(.home) .gs-about-hero-grid {
  gap: clamp(36px, 4.5vw, 58px);
}

body:not(.home) .gs-about-hero h1 {
  max-width: 760px;
  margin-top: 10px;
}

body:not(.home) .gs-about-lead {
  max-width: 680px;
  margin-top: 20px;
}

body:not(.home) .gs-about-actions {
  margin-top: 26px;
}

body:not(.home) .gs-about-award-highlight {
  padding: 26px;
  border-radius: 24px;
}

body:not(.home) .gs-about-award-highlight strong {
  font-size: clamp(30px, 2.6vw, 42px);
}

body:not(.home) .gs-about-section {
  padding-top: 68px;
  padding-bottom: 68px;
}

/* Schede servizio e navi: immagine protagonista, ma senza hero sproporzionata. */
body:not(.home) .gs-service-hero,
body:not(.home) .gs-service-kind-nave .gs-service-hero {
  min-height: clamp(500px, 60vh, 610px);
}

body:not(.home) .gs-service-hero-inner,
body:not(.home) .gs-service-kind-nave .gs-service-hero-inner {
  padding-top: 38px;
  padding-bottom: 54px;
}

body:not(.home) .gs-service-breadcrumbs {
  margin-bottom: 24px;
}

body:not(.home) .gs-service-kind-nave .gs-service-hero h1 {
  max-width: 820px;
  font-size: clamp(42px, 4.7vw, 62px);
  line-height: 1.01;
}

body:not(.home) .gs-service-subtitle,
body:not(.home) .gs-service-kind-nave .gs-service-subtitle {
  max-width: 760px;
  margin-top: 15px;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.35;
}

body:not(.home) .gs-service-summary,
body:not(.home) .gs-service-kind-nave .gs-service-summary {
  max-width: 700px;
  margin-top: 14px;
  font-size: clamp(16px, 1.35vw, 18px);
  line-height: 1.62;
}

body:not(.home) .gs-service-hero-actions {
  margin-top: 23px;
}

body:not(.home) .gs-service-archive-hero {
  padding-top: 56px;
  padding-bottom: 58px;
}

body:not(.home) .gs-service-archive-hero p:not(.gs-service-kicker) {
  margin-top: 15px;
}

@media (max-width: 900px) {
  body:not(.home) .sdv-category-hero,
  body:not(.home) .sdv-offer-hero,
  body:not(.home) .gs-about-hero {
    padding-top: 46px;
    padding-bottom: 50px;
  }

  body:not(.home) .gs-service-hero,
  body:not(.home) .gs-service-kind-nave .gs-service-hero {
    min-height: 520px;
  }
}

@media (max-width: 720px) {
  body:not(.home) :is(
    .sdv-category-hero,
    .sdv-page-hero,
    .sdv-article-header,
    .sdv-offer-hero,
    .gs-about-hero,
    .gs-service-hero,
    .gs-service-archive-hero
  ) h1,
  body:not(.home) .gs-service-kind-nave .gs-service-hero h1 {
    font-size: clamp(36px, 10.8vw, 44px);
    line-height: 1.03;
  }

  body:not(.home) :is(
    .sdv-section-head h2,
    .sdv-prose h2,
    .sdv-article-body h2,
    .sdv-offer-premium h2,
    .gs-about-section h2,
    .gs-service-section h2,
    .gs-service-final-cta h2,
    .sdv-final-cta h2
  ) {
    font-size: clamp(29px, 9vw, 36px);
  }

  body:not(.home) .sdv-category-hero,
  body:not(.home) .sdv-page-hero,
  body:not(.home) .sdv-article-header,
  body:not(.home) .sdv-offer-hero,
  body:not(.home) .gs-about-hero,
  body:not(.home) .gs-service-archive-hero {
    padding-top: 38px;
    padding-bottom: 42px;
  }

  body:not(.home) .sdv-category-hero-grid,
  body:not(.home) .sdv-offer-hero-grid,
  body:not(.home) .gs-about-hero-grid {
    gap: 26px;
  }

  body:not(.home) .sdv-category-benefits {
    padding: 14px 16px;
    border-radius: 17px;
  }

  body:not(.home) .sdv-category-actions,
  body:not(.home) .sdv-offer-primary-actions,
  body:not(.home) .gs-about-actions {
    gap: 9px;
    margin-top: 20px;
  }

  body:not(.home) .sdv-category-actions .sdv-btn,
  body:not(.home) .sdv-offer-primary-actions .sdv-btn,
  body:not(.home) .gs-about-button {
    min-height: 48px;
  }

  body:not(.home) .sdv-offer-primary-actions .sdv-offer-whatsapp-link {
    width: 100%;
    min-height: 52px;
    padding: 13px 18px;
  }

  body:not(.home) :is(.sdv-prose, .sdv-article-body, .gs-about-prose, .gs-service-prose) p {
    font-size: 16px;
    line-height: 1.68;
  }

  body:not(.home) .gs-about-award-highlight {
    padding: 22px;
  }

  body:not(.home) .gs-about-section {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  body:not(.home) .gs-service-hero,
  body:not(.home) .gs-service-kind-nave .gs-service-hero {
    min-height: 500px;
  }

  body:not(.home) .gs-service-hero-inner,
  body:not(.home) .gs-service-kind-nave .gs-service-hero-inner {
    padding-top: 30px;
    padding-bottom: 40px;
  }

  body:not(.home) .gs-service-breadcrumbs {
    margin-bottom: 18px;
  }

  body:not(.home) .gs-service-subtitle,
  body:not(.home) .gs-service-kind-nave .gs-service-subtitle {
    margin-top: 12px;
    font-size: 19px;
  }

  body:not(.home) .gs-service-summary,
  body:not(.home) .gs-service-kind-nave .gs-service-summary {
    margin-top: 11px;
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  body:not(.home) .sdv-category-hero,
  body:not(.home) .sdv-page-hero,
  body:not(.home) .sdv-article-header,
  body:not(.home) .sdv-offer-hero,
  body:not(.home) .gs-about-hero,
  body:not(.home) .gs-service-archive-hero {
    padding-top: 34px;
    padding-bottom: 38px;
  }

  body:not(.home) .sdv-offer-hero h1 {
    font-size: clamp(34px, 10.5vw, 42px);
  }

  body:not(.home) .sdv-article-header > .sdv-container > p {
    font-size: 15.5px;
  }

  body:not(.home) .gs-service-hero,
  body:not(.home) .gs-service-kind-nave .gs-service-hero {
    min-height: 480px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.home) * { scroll-behavior: auto; }
}
