
/* Header e footer condivisi, indipendenti dai CSS delle singole pagine */
.lux-shared-header,.lux-shared-header *,.lux-shared-footer,.lux-shared-footer *{box-sizing:border-box}
.lux-shared-header{position:relative!important;z-index:1000!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;width:100%!important;max-width:100%!important;padding:14px clamp(18px,4vw,65px)!important;background:#103a5d!important;min-height:85px!important;font-family:Arial,Helvetica,sans-serif!important}
.lux-shared-brand{display:block!important;flex-shrink:0!important}.lux-shared-brand img{display:block!important;width:100px!important;max-width:100px!important;height:auto!important;max-height:65px!important;object-fit:contain!important}
.lux-shared-header nav{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:clamp(10px,1.7vw,26px)!important;flex-wrap:wrap!important;position:static!important;width:auto!important;background:transparent!important;padding:0!important;margin:0!important}
.lux-shared-header nav>a{display:inline-block!important;position:static!important;color:white!important;font:bold 13px Arial,Helvetica,sans-serif!important;text-decoration:none!important;text-transform:uppercase!important;letter-spacing:0!important;padding:4px 0!important;margin:0!important;border:0!important;background:none!important;white-space:nowrap!important}
.lux-shared-header nav>a:hover{color:#c8ad7f!important}
.lux-shared-hamburger{display:none!important;background:none!important;border:1px solid #ffffff70!important;padding:8px!important;width:38px!important;height:34px!important;cursor:pointer!important;flex-direction:column!important;justify-content:center!important;gap:4px!important}
.lux-shared-hamburger span{display:block!important;width:20px!important;height:2px!important;background:white!important}
.lux-shared-theme{display:inline-flex!important;align-items:center!important;gap:8px!important;color:white!important;font:bold 11px Arial,sans-serif!important;cursor:pointer!important;white-space:nowrap!important}
.lux-shared-theme input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important}
.lux-shared-track{width:38px!important;height:21px!important;padding:3px!important;border:1px solid #d3dce4!important;border-radius:20px!important;background:#71859a!important;display:flex!important;align-items:center!important;transition:background .2s!important}
.lux-shared-knob{width:13px!important;height:13px!important;border-radius:50%!important;background:white!important;transition:transform .2s!important}
.lux-shared-theme input:checked+.lux-shared-track{background:#c8ad7f!important}.lux-shared-theme input:checked+.lux-shared-track .lux-shared-knob{transform:translateX(17px)!important}
.lux-shared-theme input:focus-visible+.lux-shared-track{outline:2px solid white!important;outline-offset:3px!important}
.lux-shared-footer{display:grid!important;grid-template-columns:2fr repeat(3,minmax(0,1fr))!important;gap:35px!important;width:100%!important;max-width:100%!important;background:#103a5d!important;color:white!important;padding:60px clamp(24px,5vw,80px)!important;font-family:Arial,Helvetica,sans-serif!important;line-height:1.5!important;position:relative!important}
.lux-shared-footer img{width:auto!important;max-width:180px!important;height:auto!important}.lux-shared-footer h3{font:bold 17px Arial,sans-serif!important;color:white!important;margin:0 0 16px!important}.lux-shared-footer p{color:#e5ebf0!important;font-size:14px!important}.lux-shared-footer a{display:block!important;color:white!important;text-decoration:none!important;margin:12px 0!important;font-size:14px!important}.lux-shared-footer a:hover{color:#c8ad7f!important}
body.lux-dark{background:#101923!important;color:#e8edf3!important}body.lux-dark main,body.lux-dark .lux-contact,body.lux-dark .about-card,body.lux-dark .lux-details{background-color:#101923!important;color:#e8edf3!important}body.lux-dark main p,body.lux-dark main h1,body.lux-dark main h2,body.lux-dark main h3{color:inherit}body.lux-dark .lux-contact-panel,body.lux-dark .light{background:#1c2a39!important;color:#e8edf3!important}body.lux-dark .lux-shared-header,body.lux-dark .lux-shared-footer{background:#071523!important}
@media(max-width:850px){.lux-shared-header{min-height:64px!important;padding:9px 16px!important;flex-wrap:wrap!important}.lux-shared-brand img{width:75px!important;max-height:52px!important}.lux-shared-hamburger{display:flex!important;margin-left:auto!important}.lux-shared-header nav{display:none!important;flex-basis:100%!important;width:100%!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:8px 0!important}.lux-shared-header nav.lux-shared-open{display:flex!important}.lux-shared-header nav>a{font-size:12px!important;padding:11px 6px!important;border-bottom:1px solid #ffffff22!important}.lux-shared-theme{padding:12px 6px!important}.lux-shared-footer{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:25px!important;padding:36px 20px!important}}
@media(max-width:460px){.lux-shared-footer{grid-template-columns:1fr 1fr!important;gap:20px!important}.lux-shared-footer img{max-width:125px!important}}

/* Cursore coerente con Soft su tutte le pagine: standard per testo,
   mano per elementi interattivi. */
html, body { cursor: auto; }
a, button, summary, select, input[type="button"], input[type="submit"],
input[type="reset"], input[type="checkbox"], input[type="radio"],
label[for], [role="button"], .btn, .lux-shared-hamburger,
.lux-shared-theme { cursor: pointer !important; }
input[type="text"], input[type="email"], input[type="search"],
input[type="tel"], input[type="url"], input[type="number"],
input[type="password"], textarea { cursor: text !important; }

/* Puntatore a croce come nella pagina Soft: Home, Contatti e Chi siamo. */
@media (pointer: fine) {
  body:has(.hero), body:has(.lux-contact), body:has(.about-contact) { cursor: crosshair !important; }
  body:has(.hero) *, body:has(.lux-contact) *, body:has(.about-contact) * { cursor: crosshair !important; }
  body:has(.hero) input:is([type="text"],[type="email"],[type="search"],[type="tel"],[type="url"],[type="number"],[type="password"]),
  body:has(.lux-contact) input:is([type="text"],[type="email"],[type="search"],[type="tel"],[type="url"],[type="number"],[type="password"]),
  body:has(.about-contact) input:is([type="text"],[type="email"],[type="search"],[type="tel"],[type="url"],[type="number"],[type="password"]),
  body:has(.hero) textarea, body:has(.lux-contact) textarea, body:has(.about-contact) textarea { cursor: text !important; }
}

/* Pulsante WhatsApp condiviso: dimensione e posizione coerenti su tutte le pagine */
a.whatsapp-popup{position:fixed!important;right:20px!important;bottom:20px!important;z-index:1500!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;padding:15px 20px!important;min-height:54px!important;background:#168754!important;color:#fff!important;text-decoration:none!important;font:700 15px Arial,sans-serif!important;border-radius:8px!important;box-shadow:0 5px 20px #0003!important;line-height:1.2!important}
a.whatsapp-popup i{font-size:23px!important;margin-right:2px!important}
a.whatsapp-popup:hover{background:#106b43!important}
@media(max-width:600px){a.whatsapp-popup{right:12px!important;bottom:12px!important;padding:13px 16px!important;font-size:14px!important;min-height:50px!important}}
