/* ═══════════════════════════════════════
   LAMPOSHOP NAVBAR — navbar.css
   Prefisso classi: lpsn-
   Nessuna CSS custom property (var). Valori fissi per massima compatibilità.

   Desktop:  topbar 44px | header 118px | totale 162px
   Mobile:   topbar 44px | header  76px | totale 120px
═══════════════════════════════════════ */

/* ── Reset scoped ai componenti navbar ── */
.lpsn-topbar, .lpsn-topbar *, .lpsn-topbar *::before, .lpsn-topbar *::after,
.lpsn-header, .lpsn-header *, .lpsn-header *::before, .lpsn-header *::after,
.lpsn-overlay, .lpsn-overlay *,
.lpsn-mega, .lpsn-mega *, .lpsn-mega *::before, .lpsn-mega *::after,
.lpsn-search, .lpsn-search *, .lpsn-search *::before, .lpsn-search *::after,
.lpsn-mob-search, .lpsn-mob-search *, .lpsn-mob-search *::before, .lpsn-mob-search *::after,
.lpsn-mob-menu, .lpsn-mob-menu *, .lpsn-mob-menu *::before, .lpsn-mob-menu *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ═══════════════════════════════════════
   TOPBAR — 44px
═══════════════════════════════════════ */
.lpsn-topbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  height: 44px !important;
  background: #f0c020 !important;
  z-index: 1001 !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.lpsn-tb-inner {
  width: 100%;
  max-width: 1700px;
  margin: 0 auto;
  padding: 0 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
.lpsn-tb-follow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.lpsn-tb-lbl {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
}
.lpsn-tb-social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
}
.lpsn-tb-social a {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: rgba(0,0,0,.12);
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  -webkit-transition: background .2s;
          transition: background .2s;
}
.lpsn-tb-social a:hover { background: rgba(0,0,0,.22); }
.lpsn-tb-social a svg { width: 13px; height: 13px; }
.lpsn-tb-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  -webkit-box-flex: 2;
      -ms-flex: 2;
          flex: 2;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.lpsn-tb-links a {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: rgba(0,0,0,.65);
  text-decoration: none;
  -webkit-transition: color .2s;
          transition: color .2s;
  white-space: nowrap;
  letter-spacing: .04em;
}
.lpsn-tb-links a:hover { color: #000; }
.lpsn-tb-login {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.lpsn-tb-cta {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 12px 32px;
  background: transparent;
  color: #000;
  border: 2px solid transparent;
  border-radius: 50px;
  text-decoration: none;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: background .2s, color .2s, border-color .2s;
          transition: background .2s, color .2s, border-color .2s;
}
.lpsn-tb-cta:hover { background: #000; color: #f0c020; border-color: #f0c020; }

/* ═══════════════════════════════════════
   MAIN HEADER — 118px, posizionato a top:44px
═══════════════════════════════════════ */
.lpsn-header {
  position: fixed !important;
  top: 44px !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  height: 118px;
  background: #000 !important;
  border-bottom: 1px solid rgba(255,255,255,.06);
  z-index: 1000 !important;
}
.lpsn-hd-inner {
  height: 100%;
  max-width: 1700px;
  margin: 0 auto;
  padding: 15px 40px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1fr auto;
      grid-template-columns: auto 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
.lpsn-hd-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.lpsn-hd-logo {
  display: block;
  text-decoration: none;
  width: 160px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.lpsn-hd-logo img {
  height: 88px;
  width: auto;
  max-width: 160px;
  display: block;
  mix-blend-mode: screen;
}
.lpsn-cat-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 10px 20px;
  background: #f0c020;
  color: #000;
  border: 2px solid #f0c020;
  border-radius: 50px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-transition: background .2s, color .2s;
          transition: background .2s, color .2s;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  outline: none;
}
.lpsn-cat-btn:hover { background: transparent; color: #f0c020; }
/* Isolamento da stili button del tema (specificità 1,0,1) */
button#lpsn-cat-btn {
  background: #f0c020 !important;
  border: 2px solid #f0c020 !important;
  border-radius: 50px !important;
  padding: 10px 20px !important;
  margin: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: normal !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #000 !important;
  cursor: pointer !important;
  outline: none !important;
}
button#lpsn-cat-btn:hover { background: transparent !important; color: #f0c020 !important; }
.lpsn-cat-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3px;
}
.lpsn-cat-icon span {
  display: block;
  width: 14px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  -webkit-transition: background .2s;
          transition: background .2s;
}
.lpsn-hd-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 50px;
  padding: 10px 20px;
  -webkit-transition: border-color .2s;
          transition: border-color .2s;
}
.lpsn-hd-search:focus-within { border-color: rgba(255,255,255,.25); }
.lpsn-hd-search svg { color: rgba(255,255,255,.4); -ms-flex-negative: 0; flex-shrink: 0; width: 16px; height: 16px; }
.lpsn-hd-search input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background: none;
  border: none;
  outline: none;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.lpsn-hd-search input::-webkit-input-placeholder { color: rgba(255,255,255,.3); }
.lpsn-hd-search input::-moz-placeholder { color: rgba(255,255,255,.3); }
.lpsn-hd-search input:-ms-input-placeholder { color: rgba(255,255,255,.3); }
.lpsn-hd-search input::placeholder { color: rgba(255,255,255,.3); }
.lpsn-hd-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
.lpsn-hd-mob-search {
  display: none !important;
  background: none;
  border: none;
  cursor: pointer;
  color: rgba(255,255,255,.7);
  width: 36px;
  height: 36px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  -webkit-transition: background .15s;
          transition: background .15s;
  outline: none;
}
.lpsn-hd-mob-search:hover { background: rgba(255,255,255,.08); }
.lpsn-hd-mob-search svg { width: 18px; height: 18px; }
/* Isolamento da stili button del tema (specificità 1,0,1) */
button#lpsn-mob-search-btn {
  background: none !important;
  border: none !important;
  border-radius: 50% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  font: inherit !important;
  line-height: normal !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: rgba(255,255,255,.7) !important;
  cursor: pointer !important;
  outline: none !important;
}
button#lpsn-mob-search-btn:hover { background: rgba(255,255,255,.08) !important; }
.lpsn-hd-action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  color: rgba(255,255,255,.7);
  text-decoration: none;
  -webkit-transition: color .2s;
          transition: color .2s;
  cursor: pointer;
}
.lpsn-hd-action:hover { color: #fff; }
.lpsn-hd-action svg { width: 18px; height: 18px; }
.lpsn-hd-action-lbl { font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; }
.lpsn-hd-sep { width: 1px; height: 22px; background: rgba(255,255,255,.10); }
.lpsn-hd-cart-wrap { position: relative; }
.lpsn-hd-cart-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #f0c020;
  color: #000;
  font-family: 'Inter', sans-serif;
  font-size: 9px;
  font-weight: 800;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.lpsn-burger {
  display: none !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  background: #f0c020;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  border: none;
  outline: none;
}
button#lpsn-burger {
  background: #f0c020;
  border-radius: 15px !important;
}
.lpsn-burger span {
  background: #000;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  display: block;
  -webkit-transition: all .3s;
          transition: all .3s;
}

/* ═══════════════════════════════════════
   MEGA OVERLAY
═══════════════════════════════════════ */
.lpsn-overlay {
  display: none;
  position: fixed !important;
  top: 162px !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0,0,0,.6);
  z-index: 900 !important;
}
.lpsn-overlay.open { display: block; }

/* ═══════════════════════════════════════
   MEGA MENU — si apre da top:162px
   Animazione: opacity + visibility
═══════════════════════════════════════ */
.lpsn-mega {
  position: fixed !important;
  top: 162px !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: #000 !important;
  z-index: 950 !important;
  border-top: 1px solid rgba(255,255,255,.08);
  -webkit-box-shadow: 0 40px 80px rgba(0,0,0,.8);
          box-shadow: 0 40px 80px rgba(0,0,0,.8);
  height: calc(100vh - 162px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  -webkit-transition: opacity .3s ease, visibility 0s linear .3s;
          transition: opacity .3s ease, visibility 0s linear .3s;
}
.lpsn-mega.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transition: opacity .3s ease, visibility 0s linear 0s;
          transition: opacity .3s ease, visibility 0s linear 0s;
}
.lpsn-mega-inner {
  max-width: 1700px;
  margin: 0 auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 215px 280px 1fr;
      grid-template-columns: 215px 280px 1fr;
  height: calc(100vh - 162px);
}

/* Sidebar brand */
.lpsn-mega-sidebar {
  border-right: 1px solid rgba(255,255,255,.08);
  overflow-y: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #000;
}
.lpsn-mega-brand {
  padding: 14px 16px 12px;
  cursor: pointer;
  border-bottom: 1px solid rgba(255,255,255,.06);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transition: background .15s;
          transition: background .15s;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.lpsn-mega-brand:hover,
.lpsn-mega-brand.active { background: rgba(255,255,255,.05); }
.lpsn-mega-brand-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
}
.lpsn-mega-brand-logo {
  width: 60px;
  height: 60px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #0a0a0a;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}
.lpsn-mega-brand-logo img { width: 46px; height: 46px; object-fit: contain; mix-blend-mode: screen; }
.lpsn-mega-brand-arrow { color: rgba(255,255,255,.2); -webkit-transition: color .15s; transition: color .15s; -ms-flex-negative: 0; flex-shrink: 0; width: 16px; height: 16px; }
.lpsn-mega-brand.active .lpsn-mega-brand-arrow,
.lpsn-mega-brand:hover .lpsn-mega-brand-arrow { color: #f0c020; }
.lpsn-mega-brand-lbl {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,.45);
  margin-top: 10px;
  letter-spacing: .04em;
}
.lpsn-mega-brand.active .lpsn-mega-brand-lbl,
.lpsn-mega-brand:hover .lpsn-mega-brand-lbl { color: #f0c020; font-weight: 600; }

/* Category list */
.lpsn-mega-cats {
  border-right: 1px solid rgba(255,255,255,.06);
  overflow-y: auto;
  padding: 16px 0;
  background: #000;
}
.lpsn-mega-cats-panel { display: none; }
.lpsn-mega-cats-panel.active { display: block; }
.lpsn-mega-cats-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.25);
  padding: 4px 24px 14px;
}
.lpsn-mega-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 13px 18px;
  margin: 0 6px;
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: rgba(255,255,255,.78);
  text-decoration: none;
  -webkit-transition: background .2s, color .2s;
          transition: background .2s, color .2s;
  -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.07);
          box-shadow: 0 1px 0 rgba(255,255,255,.07);
}
.lpsn-mega-link:hover,
.lpsn-mega-link.lpsn-mega-link-act { background: rgba(240,192,32,.15); color: #f0c020; -webkit-box-shadow: none; box-shadow: none; }
.lpsn-mega-link-chev { width: 14px; height: 14px; -ms-flex-negative: 0; flex-shrink: 0; color: rgba(255,255,255,.2); -webkit-transition: color .2s; transition: color .2s; }
.lpsn-mega-link:hover .lpsn-mega-link-chev,
.lpsn-mega-link.lpsn-mega-link-act .lpsn-mega-link-chev { color: #f0c020; }
.lpsn-mega-feat-empty { font-family: 'Inter', sans-serif; font-size: 13px; color: rgba(255,255,255,.3); padding: 20px 0; }

/* Featured products */
.lpsn-mega-feat { padding: 18px 24px; overflow-y: auto; background: #000; }
.lpsn-mega-feat-panel { display: none; }
.lpsn-mega-feat-panel.active { display: block; }
.lpsn-mega-feat-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.25);
  margin-bottom: 14px;
}
.lpsn-mega-feat-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
      grid-template-columns: repeat(3, 1fr);
}
.lpsn-mega-feat-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
  padding: 14px 16px;
  text-decoration: none;
  -webkit-transition: background .2s;
          transition: background .2s;
  border-radius: 6px;
}
.lpsn-mega-feat-card:hover { background: rgba(255,255,255,.05); }
.lpsn-mega-feat-card:nth-child(n+4) { border-top: 1px solid rgba(255,255,255,.06); }
.lpsn-mega-feat-img {
  width: 70px;
  height: 70px;
  object-fit: contain;
  border-radius: 6px;
  background: #0a0a0a;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
}
.lpsn-mega-feat-name { font-family: 'Inter', sans-serif; font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,.82); }

/* ═══════════════════════════════════════
   DESKTOP SEARCH OVERLAY — da top:162px
═══════════════════════════════════════ */
.lpsn-search {
  position: fixed !important;
  top: 162px !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: #000 !important;
  z-index: 975 !important;
  display: none;
}
.lpsn-search.open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.lpsn-sol-close {
  position: absolute;
  top: 20px;
  right: 24px;
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 2;
  outline: none;
}
/* Isolamento da stili button del tema (specificità 1,0,1) */
button#lpsn-sol-close {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 50% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  font: inherit !important;
  color: #fff !important;
  cursor: pointer !important;
  outline: none !important;
}
.lpsn-sol-left { -webkit-box-flex: 2; -ms-flex: 2; flex: 2; padding: 44px 52px 40px; background: #000; border-right: 1px solid rgba(255,255,255,.07); }
.lpsn-sol-right { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; padding: 44px 40px 40px; background: #000; }
.lpsn-sol-label {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
  margin-bottom: 20px;
}
.lpsn-sol-cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 16px;
  overflow-x: auto;
  max-height: 267px;
}
.lpsn-sol-card {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 284px;
          flex: 0 0 284px;
  width: 284px;
  height: 236px;
  background: #000;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  display: block;
  -webkit-transition: border-color .2s;
          transition: border-color .2s;
}
.lpsn-sol-card:hover { border-color: rgba(255,255,255,.25); }
.lpsn-sol-card-img { height: 148px; background: #0a0a0a; padding: 6px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.lpsn-sol-card-img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.lpsn-sol-card-info { padding: 12px 14px; }
.lpsn-sol-card-name { font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 700; color: #fff; line-height: 1.3; }
.lpsn-sol-card-name mark { background: none; color: #f0c020; font-weight: 800; }
.lpsn-sol-card-brand { font-family: 'Inter', sans-serif; font-size: 11px; color: rgba(255,255,255,.35); margin-top: 4px; }
.lpsn-sol-pills {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}
.lpsn-sol-pill {
  padding: 10px 16px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.75);
  text-decoration: none;
  display: block;
  -webkit-transition: background .2s, border-color .2s, color .2s;
          transition: background .2s, border-color .2s, color .2s;
}
.lpsn-sol-pill:hover { background: rgba(240,192,32,.12); border-color: rgba(240,192,32,.3); color: #f0c020; }
.lpsn-sol-pill mark { background: none; color: #f0c020; font-weight: 700; }
.lpsn-sol-adv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  margin-top: 20px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,.3);
  text-decoration: none;
  -webkit-transition: color .2s;
          transition: color .2s;
}
.lpsn-sol-adv:hover { color: #f0c020; }
.lpsn-sol-empty { font-family: 'Inter', sans-serif; color: rgba(255,255,255,.3); font-size: 13px; padding: 20px 0; }

/* ═══════════════════════════════════════
   MOBILE SEARCH OVERLAY
═══════════════════════════════════════ */
.lpsn-mob-search {
  display: none;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2100 !important;
  background: #000 !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.lpsn-mob-search.open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.lpsn-mso-hd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 20px;
  height: 62px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.lpsn-mso-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #f0c020;
}
.lpsn-mso-close {
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  outline: none;
}
/* Isolamento da stili button del tema (specificità 1,0,1) */
button#lpsn-mso-close {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 50% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  font: inherit !important;
  color: #fff !important;
  cursor: pointer !important;
  outline: none !important;
}
.lpsn-mso-input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.lpsn-mso-input svg { color: rgba(255,255,255,.45); -ms-flex-negative: 0; flex-shrink: 0; }
.lpsn-mso-input input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background: none;
  border: none;
  outline: none;
  font-family: 'Inter', sans-serif;
  font-size: 17px;
  color: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.lpsn-mso-input input::-webkit-input-placeholder { color: rgba(255,255,255,.3); }
.lpsn-mso-input input::-moz-placeholder { color: rgba(255,255,255,.3); }
.lpsn-mso-input input:-ms-input-placeholder { color: rgba(255,255,255,.3); }
.lpsn-mso-input input::placeholder { color: rgba(255,255,255,.3); }
.lpsn-mso-body { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; overflow-y: auto; padding: 20px 20px 0; }
.lpsn-mso-sec-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  margin-bottom: 10px;
}
.lpsn-mso-pills { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.lpsn-mso-pill {
  padding: 8px 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.8);
  text-decoration: none;
  display: inline-block;
}
.lpsn-mso-pill mark { background: none; color: #f0c020; font-weight: 700; }
.lpsn-mso-grid { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 20px; }
.lpsn-mso-card {
  background: #111;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  display: block;
}
.lpsn-mso-card-img { height: 110px; background: #0a0a0a; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 10px; }
.lpsn-mso-card-img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.lpsn-mso-card-name {
  padding: 10px 10px 12px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: rgba(255,255,255,.85);
  line-height: 1.3;
}
.lpsn-mso-card-name mark { background: none; color: #f0c020; font-weight: 800; }
.lpsn-mso-empty { font-family: 'Inter', sans-serif; color: rgba(255,255,255,.3); text-align: center; padding: 48px 0; font-size: 14px; }
.lpsn-mso-adv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  padding: 16px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,.35);
  text-decoration: none;
  border-top: 1px solid rgba(255,255,255,.06);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* ═══════════════════════════════════════
   MOBILE MENU
═══════════════════════════════════════ */
.lpsn-mob-menu {
  display: none;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2000 !important;
  background: #000 !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
}
.lpsn-mob-menu.open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.lpsn-mob-hd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 20px;
  height: 62px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
.lpsn-mob-close {
  width: 46px;
  height: 46px;
  background: #f0c020;
  border-radius: 50%;
  border: none;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  outline: none;
}
.lpsn-mob-close svg { width: 18px; height: 18px; }
/* Isolamento da stili button del tema (specificità 1,0,1) */
button#lpsn-mob-close {
  background: #f0c020 !important;
  border: none !important;
  border-radius: 50% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  font: inherit !important;
  color: #000 !important;
  cursor: pointer !important;
  outline: none !important;
}
.lpsn-mob-title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
}
.lpsn-mob-title-spc { width: 46px; }
.lpsn-mob-panels {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 200%;
  -webkit-transition: -webkit-transform .3s cubic-bezier(.4,0,.2,1);
          transition: -webkit-transform .3s cubic-bezier(.4,0,.2,1);
          transition: transform .3s cubic-bezier(.4,0,.2,1);
          transition: transform .3s cubic-bezier(.4,0,.2,1), -webkit-transform .3s cubic-bezier(.4,0,.2,1);
  overflow: hidden;
}
.lpsn-mob-panels.at2 { -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }
.lpsn-mob-panel { width: 50%; overflow-y: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
.lpsn-mob-brands { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; overflow: hidden; }
.lpsn-mob-brand {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  padding: 0 20px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  cursor: pointer;
  -webkit-transition: background .15s;
          transition: background .15s;
}
.lpsn-mob-brand:hover,
.lpsn-mob-brand:active { background: rgba(255,255,255,.04); }
.lpsn-mob-brand-center { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 8px; }
.lpsn-mob-brand-logo {
  width: 80px;
  height: 80px;
  background: #0d0d0d;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: hidden;
}
.lpsn-mob-brand-logo img { width: 70%; height: 70%; object-fit: contain; mix-blend-mode: screen; display: block; }
.lpsn-mob-brand-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
}
.lpsn-mob-brand-arrow {
  position: absolute;
  right: 22px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  color: rgba(255,255,255,.3);
  font-size: 18px;
}
.lpsn-mob-util { padding: 8px 0 24px; }
.lpsn-mob-util-link {
  display: block;
  padding: 8px 20px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  text-decoration: none;
  border-top: 1px solid rgba(255,255,255,.05);
  -webkit-transition: color .15s;
          transition: color .15s;
}
.lpsn-mob-util-link:first-child { border-top: 2px solid rgba(255,255,255,.10); margin-top: 4px; }
.lpsn-mob-util-link:hover { color: #fff; }
.lpsn-mob-util-link.gold { color: #f0c020; }
.lpsn-mob-util-cta {
  display: block;
  margin: 16px 20px 8px;
  padding: 14px 20px;
  background: #f0c020;
  color: #000;
  border: 2px solid #f0c020;
  border-radius: 50px;
  text-align: center;
  text-decoration: none;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  -webkit-transition: background .2s, color .2s;
          transition: background .2s, color .2s;
}
.lpsn-mob-util-cta:hover { background: #000; color: #f0c020; }
.lpsn-mob-p2-toprow { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 16px 20px 0; -ms-flex-negative: 0; flex-shrink: 0; }
.lpsn-mob-back {
  background: none;
  border: none;
  cursor: pointer;
  color: #f0c020;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 18px;
  padding: 4px 0;
  outline: none;
}
/* Isolamento da stili button del tema (specificità 1,0,1) */
button#lpsn-mob-back {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 4px 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: normal !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: #f0c020 !important;
  cursor: pointer !important;
  outline: none !important;
}
.lpsn-mob-p2-title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #f0c020;
}
.lpsn-mob-p2-spc { width: 32px; }
.lpsn-mob-p2-sep { height: 1px; background: rgba(255,255,255,.10); margin: 14px 20px 0; }
.lpsn-mob-p2-viewcat {
  display: block;
  text-align: center;
  padding: 14px 20px;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #f0c020;
  text-decoration: none;
}
.lpsn-mob-cats { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; overflow-y: auto; padding: 8px 0 32px; }
.lpsn-mob-cat-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 16px 28px;
  font-family: 'Inter', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.05);
  -webkit-transition: color .15s;
          transition: color .15s;
}
.lpsn-mob-cat-link:hover { color: #f0c020; }
.lpsn-mob-cat-link svg { width: 16px; height: 16px; color: rgba(255,255,255,.25); -ms-flex-negative: 0; flex-shrink: 0; }
.lpsn-mob-cat-link:hover svg { color: #f0c020; }

/* ═══════════════════════════════════════
   MOBILE BREAKPOINT ≤600px
   Altezze ricalcolate: topbar 44px + header 76px = 120px totali
═══════════════════════════════════════ */
@media (max-width: 600px) {
  .lpsn-topbar { height: 44px; }
  .lpsn-tb-links { display: none !important; }
  .lpsn-tb-lbl { display: none; }
  .lpsn-tb-cta { display: block !important; font-size: 11px; padding: 8px 16px; }

  .lpsn-header { top: 44px !important; height: 76px; }
  .lpsn-hd-inner {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 16px;
  }
  .lpsn-hd-left { gap: 10px; }
  .lpsn-hd-logo { width: auto; }
  .lpsn-hd-logo img { height: 54px; max-width: 150px; }
  .lpsn-cat-btn { display: none !important; }
  .lpsn-hd-right { gap: 8px; }
  .lpsn-hd-right .lpsn-hd-sep { display: none !important; }
  .lpsn-hd-right .lpsn-hd-action .lpsn-hd-action-lbl { display: none; }
  .lpsn-hd-search { display: none !important; }
  .lpsn-hd-mob-search {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .lpsn-burger {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .lpsn-mega,
  .lpsn-overlay { display: none !important; }

  .lpsn-search {
    top: 0 !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* ═══════════════════════════════════════
   DEMO BODY — solo index.html
═══════════════════════════════════════ */
.lpsn-demo-body {
  padding-top: 162px;
  min-height: 100vh;
  background: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.lpsn-demo-msg {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 40px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.08);
  text-align: center;
}
