/* Sito a più pagine: intestazioni di pagina, anteprime in home, invito finale */
.desktop-nav > a[aria-current="page"]::after { right: 0; }
.mobile-menu a[aria-current="page"] { color: var(--orange-dark); }

.page-hero { position: relative; overflow: hidden; color: var(--white); background: var(--navy); padding: calc(82px + clamp(56px, 8vw, 104px)) 0 clamp(56px, 7vw, 92px); }
.page-hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .5; }
.page-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9, 18, 32, .95) 0%, rgba(9, 18, 32, .82) 50%, rgba(9, 18, 32, .45) 100%); }
.page-hero-content { position: relative; z-index: 2; }
.page-hero-content > * { max-width: 860px; }
.page-hero h1 { font-size: clamp(38px, 5vw, 66px); line-height: 1.12; font-weight: 700; text-wrap: balance; }
.page-hero-lead { max-width: 640px; margin-top: 22px; color: rgba(255, 255, 255, .74); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.7; }

.nexass-page, .demo-page { padding-top: calc(82px + clamp(56px, 8vw, 104px)); }
.nx-h1 { font-size: clamp(38px, 5vw, 64px); line-height: 1.12; font-weight: 700; text-wrap: balance; }
.demo-page h1 { font-size: clamp(38px, 4.8vw, 60px); line-height: 1.12; font-weight: 700; text-wrap: balance; }

.explore-section { background: var(--ice); border-top: 1px solid var(--line); }
.explore-title { max-width: 820px; font-size: clamp(32px, 4vw, 50px); line-height: 1.12; font-weight: 700; text-wrap: balance; }
.explore-grid { margin-top: clamp(36px, 5vw, 56px); display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.explore-card { position: relative; display: flex; flex-direction: column; gap: 12px; min-height: 250px; padding: 30px 26px 64px; background: var(--white); border: 1px solid var(--line); border-radius: 4px; transition: transform .25s var(--ease), box-shadow .25s ease, border-color .25s ease; }
.explore-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(13, 27, 46, .1); border-color: rgba(219, 110, 0, .5); }
.explore-card span { color: var(--orange-dark); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.explore-card h3 { font-size: 23px; line-height: 1.12; font-weight: 700; }
.explore-card p { color: var(--muted); font-size: 14px; line-height: 1.65; }
.explore-card b { position: absolute; left: 26px; bottom: 22px; color: var(--orange); font-size: 24px; transition: transform .25s var(--ease); }
.explore-card:hover b { transform: translateX(5px); }
.explore-card-dark { background: var(--navy); border-color: var(--navy); color: var(--white); }
.explore-card-dark span { color: #ffb366; }
.explore-card-dark p { color: rgba(255, 255, 255, .7); }

.page-cta { padding: clamp(64px, 8vw, 104px) 0; background: var(--ice); border-top: 1px solid var(--line); }
.page-cta-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px; align-items: center; }
.page-cta h2 { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.12; font-weight: 700; text-wrap: balance; }
.page-cta-inner > div > p:not(.section-label) { margin-top: 14px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.page-cta-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.page-cta-link { color: var(--ink); font-size: 14px; font-weight: 700; border-bottom: 1px solid var(--orange); padding-bottom: 3px; }

@media (max-width: 980px) {
  .explore-grid { grid-template-columns: 1fr 1fr; }
  .page-cta-inner { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .explore-grid { grid-template-columns: 1fr; }
  .explore-card { min-height: auto; }
}

/* Pagine interne: sezioni che seguono l'intestazione senza doppio spazio */
.subpage .docs-section, .subpage .products-section { padding-top: clamp(48px, 6vw, 72px); }
.subpage .docs-groups { margin-top: 0; }

/* Fondi scuri con la sfumatura della pagina di accesso di Nexass */
.page-hero, .nexass-section, .contact-section { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 55%, var(--navy-3) 100%); }
.explore-card-dark { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 60%, var(--navy-3) 100%); }

/* Pagina Prodotti: vantaggi per il concessionario, dalle condizioni */
.dealer-section { background: var(--ice); border-top: 1px solid var(--line); }
.dealer-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(28px, 6vw, 90px); align-items: end; }
.dealer-head h2 { font-size: clamp(30px, 3.8vw, 48px); line-height: 1.12; font-weight: 700; text-wrap: balance; }
.dealer-head > p { color: var(--muted); font-size: 15px; line-height: 1.72; }
.dealer-head a { color: var(--orange-dark); font-weight: 600; border-bottom: 1px solid currentColor; }
.dealer-grid { margin-top: clamp(36px, 5vw, 56px); display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.dealer-grid article { display: flex; flex-direction: column; gap: 10px; padding: 28px 26px; background: var(--white); border: 1px solid var(--line); border-radius: 10px; }
.dealer-grid span { color: var(--orange-dark); font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.dealer-grid h3 { font-size: 21px; line-height: 1.2; font-weight: 700; }
.dealer-grid p { color: var(--muted); font-size: 14px; line-height: 1.68; }
.dealer-grid small { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line); color: var(--ink); font-size: 12px; font-weight: 600; }
.dealer-grid article:first-child { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 60%, var(--navy-3) 100%); border-color: var(--navy); color: var(--white); }
.dealer-grid article:first-child span { color: var(--orange-soft); }
.dealer-grid article:first-child p { color: rgba(255, 255, 255, .72); }
.dealer-grid article:first-child small { color: rgba(255, 255, 255, .85); border-color: rgba(255, 255, 255, .14); }
@media (max-width: 980px) { .dealer-head { grid-template-columns: 1fr; align-items: start; } .dealer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .dealer-grid { grid-template-columns: 1fr; } }

/* Trasparenza: footer legale, avvertenze, pagina reclami */
.footer-legal { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line); display: grid; gap: 8px; }
.footer-legal p { max-width: 980px; font-size: 12px; line-height: 1.7; color: #4c5563; }
.footer-legal strong { color: var(--ink); font-weight: 600; }
.footer-legal a { color: var(--orange-dark); text-decoration: underline; }
.footer-legal + .footer-bottom { margin-top: 22px; }
.privacy-check + .privacy-check { margin-top: 12px; }
.privacy-check em { font-style: normal; color: #8a94a3; }
.notice-bar { background: #fff7ed; border-bottom: 1px solid #fed7aa; }
.notice-inner { display: flex; gap: 14px; align-items: flex-start; padding-top: 18px; padding-bottom: 18px; }
.notice-inner svg { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 1px; fill: none; stroke: var(--orange-dark); stroke-width: 2; stroke-linecap: round; }
.notice-inner p { font-size: 14px; line-height: 1.65; color: var(--ink); }
.notice-inner a { color: var(--orange-dark); text-decoration: underline; }
.legal-body { max-width: 820px; display: grid; gap: 44px; }
.legal-block h2 { font-size: clamp(22px, 2.4vw, 28px); line-height: 1.2; font-weight: 700; margin-bottom: 14px; }
.legal-block p { color: #334155; font-size: 16px; line-height: 1.75; }
.legal-block p + p, .legal-block ul + p { margin-top: 14px; }
.legal-block a { color: var(--orange-dark); text-decoration: underline; }
.legal-list { list-style: none; margin: 18px 0; padding: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.legal-list li { display: grid; grid-template-columns: 90px 1fr; gap: 16px; padding: 14px 20px; font-size: 15px; }
.legal-list li + li { border-top: 1px solid var(--line); }
.legal-list span { color: var(--muted); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; padding-top: 2px; }
.legal-list strong { font-weight: 600; overflow-wrap: anywhere; }
.legal-points { margin: 14px 0 0; padding-left: 20px; display: grid; gap: 10px; color: #334155; font-size: 16px; line-height: 1.75; }
