/* ============================================================
   smsl-public.css — Nav + Breadcrumb + Footer condivisi
   S.M.S. Lab · sito pubblico
   Basato su variabili tema: ogni pagina definisce nel proprio :root
   --sp-navy, --sp-navy2, --sp-rule, --sp-bg, --sp-text, --sp-text2,
   --sp-text3, --sp-gold, --sp-fh (font heading), --sp-fb (body), --sp-fm (mono)
   Se non definite, valgono i fallback qui sotto.
   ============================================================ */

:root{
  --sp-navy:#0b1628; --sp-navy2:#0f2240;
  --sp-rule:rgba(255,255,255,.10);
  --sp-bg:#f7f6f3; --sp-bg2:#ffffff;
  --sp-text:#111110; --sp-text2:#5a5650; --sp-text3:#9a9690;
  --sp-gold:#E0C876; --sp-gold-d:#8A6A00;
  --sp-fh:'Inter',system-ui,sans-serif;
  --sp-fb:'Inter',system-ui,sans-serif;
  --sp-fm:'JetBrains Mono',monospace;
}

/* ---------- NAV ---------- */
.smsl-nav{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--sp-navy) 72%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--sp-rule)}
.smsl-nav .nav-in{position:relative;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:56px;gap:2rem}
.smsl-nav .nav-logo{display:flex;align-items:center;gap:.5rem;flex-shrink:0;text-decoration:none}
.smsl-nav .nav-logo img{height:26px;width:auto}
.smsl-nav .nav-logo-n{font-family:var(--sp-fh);font-size:.86rem;font-weight:700;color:rgba(255,255,255,.9);letter-spacing:.02em}
.smsl-nav .nav-links{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:2rem;font-family:var(--sp-fb);font-size:.82rem;font-weight:500}
.smsl-nav .nav-links a{display:flex;align-items:center;color:rgba(255,255,255,.45);text-decoration:none;transition:color .15s}
.smsl-nav .nav-links a:hover{color:rgba(255,255,255,.9)}
.smsl-nav .nav-links a.active{color:#fff;font-weight:600}
/* DROPDOWN Prodotti */
.smsl-nav .nav-dd{position:relative}
.smsl-nav .nav-dd>.nav-dd-toggle{display:flex;align-items:center;gap:.35rem;color:rgba(255,255,255,.45);text-decoration:none;cursor:pointer;transition:color .15s;background:none;border:none;font-family:var(--sp-fb);font-size:.82rem;font-weight:500;padding:0}
.smsl-nav .nav-dd:hover>.nav-dd-toggle,.smsl-nav .nav-dd.open>.nav-dd-toggle{color:rgba(255,255,255,.9)}
.smsl-nav .nav-dd>.nav-dd-toggle .caret{font-size:.7em;transition:transform .2s}
.smsl-nav .nav-dd:hover>.nav-dd-toggle .caret,.smsl-nav .nav-dd.open>.nav-dd-toggle .caret{transform:rotate(180deg)}
.smsl-nav .nav-dd-menu{position:absolute;top:calc(100% + .6rem);left:50%;transform:translateX(-50%) translateY(-6px);min-width:190px;background:#0f2240;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:.5rem;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;box-shadow:0 16px 40px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:.15rem;z-index:200}
.smsl-nav .nav-dd:hover .nav-dd-menu,.smsl-nav .nav-dd.open .nav-dd-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.smsl-nav .nav-dd-menu a{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:7px;color:rgba(255,255,255,.7);font-family:var(--sp-fb);font-size:.84rem;text-decoration:none;transition:background .15s,color .15s;position:static;transform:none}
.smsl-nav .nav-dd-menu a:hover{background:rgba(255,255,255,.08);color:#fff}
.smsl-nav .nav-dd-menu a .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
/* ponte invisibile per non perdere l'hover tra toggle e menu */
.smsl-nav .nav-dd::after{content:'';position:absolute;top:100%;left:0;right:0;height:.6rem}

.smsl-nav .nav-acts{display:flex;align-items:center;gap:.9rem}
.smsl-nav .nav-portal{font-size:.82rem;font-weight:600;font-family:var(--sp-fb);color:#fff;background:transparent;border:1px solid rgba(255,255,255,.55);padding:.42rem 1rem;border-radius:6px;transition:background .15s,border-color .15s;text-decoration:none;display:inline-block}
.smsl-nav .nav-portal:hover{background:rgba(255,255,255,.08);border-color:#fff}
.smsl-nav .nav-cta{font-size:.82rem;font-weight:600;font-family:var(--sp-fb);color:var(--sp-navy);background:rgba(255,255,255,.92);border:none;padding:.42rem 1rem;border-radius:6px;cursor:pointer;transition:background .15s;text-decoration:none;display:inline-block}
.smsl-nav .nav-cta:hover{background:#fff}

/* ---------- BREADCRUMB ---------- */
.smsl-breadcrumb{background:var(--sp-navy2);border-bottom:1px solid var(--sp-rule);padding:.55rem 0}
.smsl-breadcrumb .bc-in{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:.5rem;font-family:var(--sp-fm);font-size:.68rem;color:rgba(255,255,255,.3);letter-spacing:.06em;text-transform:uppercase}
.smsl-breadcrumb .bc-in a{color:inherit;text-decoration:none;transition:color .15s}
.smsl-breadcrumb .bc-in a:hover{color:rgba(255,255,255,.7)}
.smsl-breadcrumb .bc-sep{width:12px;height:1px;background:rgba(255,255,255,.15);display:inline-block}
.smsl-breadcrumb .bc-cur{color:rgba(255,255,255,.7);font-weight:500}

/* ---------- FOOTER ---------- */
.smsl-footer{background:var(--sp-navy);color:#fff;border-top:1px solid var(--sp-rule);padding:3.5rem 0 2rem}
.smsl-footer .ft-in{max-width:1200px;margin:0 auto;padding:0 2rem}
.smsl-footer .ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem;padding-bottom:2.5rem;border-bottom:1px solid var(--sp-rule)}
.smsl-footer .ft-brand .ft-logo{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}
.smsl-footer .ft-brand .ft-logo img{height:30px;filter:brightness(0) invert(1)}
.smsl-footer .ft-brand .ft-logo-n{font-family:var(--sp-fh);font-size:1.05rem;font-weight:700;color:#fff;letter-spacing:.01em}
.smsl-footer .ft-brand p{font-size:.9rem;color:rgba(255,255,255,.55);line-height:1.7;max-width:38ch}

/* colonne link: campi ben visibili */
.smsl-footer .ft-col h4{font-family:var(--sp-fm);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sp-gold);margin:0 0 1.1rem;font-weight:600}
.smsl-footer .ft-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.smsl-footer .ft-col a{font-size:.94rem;font-weight:500;color:rgba(255,255,255,.82);text-decoration:none;transition:color .15s}
.smsl-footer .ft-col a:hover{color:#fff}

.smsl-footer .ft-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.6rem;flex-wrap:wrap}
.smsl-footer .ft-copy{font-family:var(--sp-fm);font-size:.74rem;color:rgba(255,255,255,.4);letter-spacing:.03em}
.smsl-footer .ft-mini{font-family:var(--sp-fm);font-size:.74rem;color:rgba(255,255,255,.4);letter-spacing:.03em;display:flex;gap:.5rem;align-items:center}
.smsl-footer .ft-mini a{color:rgba(255,255,255,.55);text-decoration:none;font-weight:600;transition:color .15s}
.smsl-footer .ft-mini a:hover{color:#fff}

@media(max-width:820px){
  .smsl-nav .nav-links{display:none}
  .smsl-footer .ft-top{grid-template-columns:1fr;gap:2rem}
  .smsl-footer .ft-bottom{flex-direction:column;align-items:flex-start;gap:.6rem}
}
