/* Menu desktop nuovo — Vera per The Produser, 29/09/2026. Attivo solo con body.tp-menu-nuovo (opzione tp_menu_nuovo). */
@media (min-width: 1025px) {
  /* header: si alleggerisce scorrendo (vetro scuro), sparisce scendendo e ricompare risalendo */
  .tp-menu-nuovo .elementor-element-b5ffdde { transition: transform .45s cubic-bezier(.16,1,.3,1), background-color .4s ease, backdrop-filter .4s ease; will-change: transform; }
  .tp-menu-nuovo .elementor-element-b5ffdde.tp-hdr-scrolled { background-color: rgba(0,0,0,.72) !important; -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2); }
  .tp-menu-nuovo .elementor-element-b5ffdde.tp-hdr-scrolled .elementor-element-718e733 { background-color: transparent !important; }
  .tp-menu-nuovo .elementor-element-b5ffdde.tp-hdr-scrolled::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent); pointer-events: none; }
  .tp-menu-nuovo .elementor-element-b5ffdde.tp-hdr-hidden:not(.tp-mega-open) { transform: translateY(-100%); }

  /* voci principali: più eleganti, filo giallo che si apre dal centro */
  .tp-menu-nuovo .elementor-element-a755193 .elementor-nav-menu--main .elementor-item { font-size: 14px !important; font-weight: 600 !important; letter-spacing: .2em !important;
    padding: 12px 22px !important; color: rgba(255,255,255,.82) !important; transition: color .3s ease, opacity .3s ease; }
  .tp-menu-nuovo .elementor-element-a755193 .elementor-nav-menu--main .elementor-item::after { background-color: #FFC64C !important; height: 2px !important;
    bottom: 4px !important; left: 22px !important; right: 22px !important; width: auto !important; opacity: 1 !important; transform: scaleX(0); transform-origin: center;
    transition: transform .45s cubic-bezier(.16,1,.3,1) !important; }
  .tp-menu-nuovo .elementor-element-a755193 .elementor-nav-menu--main .elementor-item:is(:hover, .elementor-item-active, .tp-on)::after { transform: scaleX(1); }
  .tp-menu-nuovo .elementor-element-a755193 .elementor-nav-menu--main .elementor-item:is(:hover, .tp-on) { color: #fff !important; }
  .tp-menu-nuovo .elementor-element-a755193 .elementor-nav-menu--main .elementor-item.elementor-item-active { color: #FFC64C !important; }
  .tp-menu-nuovo .elementor-element-a755193 .elementor-nav-menu--main:hover .elementor-item:not(:hover):not(.tp-on) { opacity: .5; }

  /* mega menu prodotti */
  .tp-mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 10000; background: rgba(6,6,6,.9); -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2);
    border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08);
    clip-path: inset(0 0 100% 0); opacity: 0; visibility: hidden; transition: clip-path .55s cubic-bezier(.16,1,.3,1), opacity .35s ease, visibility .55s; }
  .tp-mega.is-open { clip-path: inset(0 0 0 0); opacity: 1; visibility: visible; }
  .tp-mega__in { display: grid; grid-template-columns: minmax(220px, 1fr) 3.2fr; gap: 48px; padding: 38px 5vw 42px; }
  .tp-mega__lab { font: 12px/1 "D-din font", "D-DIN", Sans-serif; letter-spacing: .24em; text-transform: uppercase; color: #FFC64C; margin: 0 0 14px; }
  .tp-mega__name { font: 700 clamp(28px, 2.6vw, 40px)/1.02 "D-din font", "D-DIN", Sans-serif; text-transform: uppercase; color: #fff; margin: 0 0 22px; letter-spacing: .01em; }
  .tp-mega__all { display: inline-flex; gap: 10px; align-items: center; color: #fff; text-decoration: none; font: 12px/1 "D-din font", "D-DIN", Sans-serif; letter-spacing: .2em; text-transform: uppercase;
    padding-bottom: 6px; border-bottom: 1px solid rgba(255,255,255,.4); transition: color .3s, border-color .3s; }
  .tp-mega__all:hover { color: #FFC64C; border-color: #FFC64C; }
  .tp-mega__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
  .tp-mega__card { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 10; background: #111; text-decoration: none;
    opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .7s cubic-bezier(.16,1,.3,1); transition-delay: var(--d, 0s); }
  .tp-mega.is-open .tp-mega__card { opacity: 1; transform: none; }
  .tp-mega__card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.72); transform: scale(1.02);
    transition: transform 1.2s cubic-bezier(.16,1,.3,1), filter .6s ease; }
  .tp-mega__card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.85)); }
  .tp-mega__card span { position: absolute; z-index: 2; left: 16px; right: 16px; bottom: 14px; color: #fff; font: 700 17px/1.1 "D-din font", "D-DIN", Sans-serif;
    letter-spacing: .06em; text-transform: uppercase; padding-bottom: 9px; }
  .tp-mega__card span::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 28px; background: #FFC64C; transition: width .7s cubic-bezier(.16,1,.3,1); }
  .tp-mega__card:hover img { transform: scale(1.07); filter: brightness(.95); }
  .tp-mega__card:hover span::after { width: 100%; }

  /* menu laterale (icona ≡) su desktop: pannello in vetro scuro, voci che entrano a cascata */
  .tp-menu-nuovo .e-off-canvas__main { width: min(560px, 42vw) !important; background: rgba(6,6,6,.88) !important; -webkit-backdrop-filter: blur(20px) saturate(1.2); backdrop-filter: blur(20px) saturate(1.2);
    border-right: 1px solid rgba(255,255,255,.08); }
  .tp-menu-nuovo .e-off-canvas__overlay { background: rgba(0,0,0,.45) !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
  .tp-menu-nuovo .e-off-canvas .elementor-nav-menu--dropdown a.elementor-item { font-size: 26px !important; letter-spacing: .04em; padding-top: 10px !important; padding-bottom: 10px !important; }
  .tp-menu-nuovo .e-off-canvas .elementor-nav-menu--dropdown a.elementor-sub-item { font-size: 17px !important; letter-spacing: .08em; opacity: .8; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li { animation: tp-oc-in .7s cubic-bezier(.16,1,.3,1) both; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(1) { animation-delay: .08s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(2) { animation-delay: .12s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(3) { animation-delay: .16s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(4) { animation-delay: .20s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(5) { animation-delay: .24s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(6) { animation-delay: .28s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(7) { animation-delay: .32s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(n+8) { animation-delay: .36s; }
  @keyframes tp-oc-in { from { opacity: 0; transform: translateX(-24px); } to { opacity: 1; transform: none; } }
}

/* menu dall'icona ≡ su desktop (nav-menu a49170c): pannello a tutto schermo in vetro scuro, due colonne, sottovoci già aperte */
@media (min-width: 1025px) {
  .tp-menu-nuovo .elementor-element-a49170c .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown {
    height: calc(100vh - 112px) !important; max-height: none !important; overflow-y: auto !important; padding: 64px 5vw 60px !important;
    background: #050505 !important; border-top: 1px solid rgba(255,255,255,.08); overscroll-behavior: contain; }
  .tp-menu-nuovo .elementor-element-a49170c nav.elementor-nav-menu--dropdown > ul { display: block !important; columns: 2 380px; column-gap: 90px; max-width: 1010px; }
  .tp-menu-nuovo .elementor-element-a49170c nav.elementor-nav-menu--dropdown > ul > li { break-inside: avoid; display: block; margin-bottom: 8px; }
  .tp-menu-nuovo .elementor-element-a49170c nav.elementor-nav-menu--dropdown li { border: 0 !important; }
  .tp-menu-nuovo .elementor-element-a49170c nav.elementor-nav-menu--dropdown a.elementor-item {
    justify-content: flex-start !important; text-align: left !important; border: 0 !important; background: transparent !important; padding: 10px 0 10px 0 !important;
    font-family: "D-din font", "D-DIN", Sans-serif !important; font-size: clamp(26px, 2.4vw, 36px) !important; font-weight: 700 !important; letter-spacing: .02em; text-transform: uppercase;
    color: rgba(255,255,255,.86) !important; position: relative; transition: color .3s ease, transform .5s cubic-bezier(.16,1,.3,1) !important; }
  .tp-menu-nuovo .elementor-element-a49170c nav.elementor-nav-menu--dropdown a.elementor-item::before { content: ""; position: absolute; left: -26px; top: 50%; width: 14px; height: 2px;
    background: #FFC64C; transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.16,1,.3,1); }
  .tp-menu-nuovo .elementor-element-a49170c nav.elementor-nav-menu--dropdown a.elementor-item:hover { color: #fff !important; transform: translateX(10px); }
  .tp-menu-nuovo .elementor-element-a49170c nav.elementor-nav-menu--dropdown a.elementor-item:hover::before { transform: scaleX(1); }
  .tp-menu-nuovo .elementor-element-a49170c nav.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active { color: #FFC64C !important; }
  .tp-menu-nuovo .elementor-element-a49170c nav.elementor-nav-menu--dropdown .sub-arrow { display: none !important; }
  .tp-menu-nuovo .elementor-element-a49170c nav.elementor-nav-menu--dropdown ul.sub-menu { display: block !important; position: static !important; width: auto !important;
    background: transparent !important; border: 0 !important; box-shadow: none !important; margin: 0 0 14px !important; padding: 0 !important; transform: none !important; opacity: 1 !important; visibility: visible !important; }
  .tp-menu-nuovo .elementor-element-a49170c nav.elementor-nav-menu--dropdown a.elementor-sub-item {
    justify-content: flex-start !important; text-align: left !important; border: 0 !important; background: transparent !important; padding: 5px 0 !important;
    font-family: "D-din font", "D-DIN", Sans-serif !important; font-size: 14px !important; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.55) !important; transition: color .3s; }
  .tp-menu-nuovo .elementor-element-a49170c nav.elementor-nav-menu--dropdown a.elementor-sub-item:hover { color: #FFC64C !important; }
  .tp-menu-nuovo .elementor-element-a49170c .elementor-menu-toggle.elementor-active + nav > ul > li { animation: tp-oc-in .7s cubic-bezier(.16,1,.3,1) both; }
  .tp-menu-nuovo .elementor-element-a49170c .elementor-menu-toggle.elementor-active + nav > ul > li:nth-child(2) { animation-delay: .05s; }
  .tp-menu-nuovo .elementor-element-a49170c .elementor-menu-toggle.elementor-active + nav > ul > li:nth-child(3) { animation-delay: .1s; }
  .tp-menu-nuovo .elementor-element-a49170c .elementor-menu-toggle.elementor-active + nav > ul > li:nth-child(4) { animation-delay: .15s; }
  .tp-menu-nuovo .elementor-element-a49170c .elementor-menu-toggle.elementor-active + nav > ul > li:nth-child(5) { animation-delay: .2s; }
  .tp-menu-nuovo .elementor-element-a49170c .elementor-menu-toggle.elementor-active + nav > ul > li:nth-child(6) { animation-delay: .25s; }
  .tp-menu-nuovo .elementor-element-a49170c .elementor-menu-toggle.elementor-active + nav > ul > li:nth-child(n+7) { animation-delay: .3s; }
}
@media (prefers-reduced-motion: reduce) {
  .tp-mega, .tp-mega__card, .tp-menu-nuovo .elementor-element-b5ffdde { transition: none !important; }
  .tp-menu-nuovo .e-off-canvas .elementor-nav-menu--dropdown > ul > li, .tp-menu-nuovo .elementor-element-a49170c nav > ul > li { animation: none !important; }
}

/* ==== Mobile e tablet (≤1024): stesso interruttore ==== */
@media (max-width: 1024px) {
  /* barra in alto che sparisce scendendo e ricompare risalendo (si muove solo la barra: il menu laterale resta al suo posto) */
  .tp-menu-nuovo .elementor-element-a082cdc { transition: transform .4s cubic-bezier(.16,1,.3,1), background-color .4s ease; will-change: transform; }
  .tp-menu-nuovo .elementor-element-a082cdc.tp-bar-hidden { transform: translateY(-110%); }
  .tp-menu-nuovo .elementor-element-a082cdc.tp-bar-scrolled { background-color: rgba(0,0,0,.82) !important; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
  /* navi con foto sotto «Products», da scorrere col dito */
  .tp-oc-ships { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none;
    padding: 6px 22px 10px 46px !important; margin: 4px 0 18px !important; scroll-padding-left: 46px; }
  .tp-oc-ships::-webkit-scrollbar { display: none; }
  .tp-oc-ships { width: 100%; box-sizing: border-box; flex-shrink: 0; }
  .tp-oc-ship { flex: 0 0 200px; width: 200px; height: 125px; scroll-snap-align: start; position: relative; display: block; overflow: hidden; background: #111; text-decoration: none; }
  .tp-oc-ship img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.75); }
  .tp-oc-ship::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.85)); }
  .tp-oc-ship span { position: absolute; z-index: 2; left: 12px; right: 12px; bottom: 10px; color: #fff; font: 700 14px/1.1 "D-din font", "D-DIN", Sans-serif; letter-spacing: .06em; text-transform: uppercase; padding-bottom: 7px; }
  .tp-oc-ship span::after { content: ""; position: absolute; left: 0; bottom: 0; width: 22px; height: 2px; background: #FFC64C; }
  /* voci che entrano a cascata all'apertura */
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li,
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .tp-oc-ships { animation: tp-oc-in .6s cubic-bezier(.16,1,.3,1) both; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(2) { animation-delay: .04s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(3) { animation-delay: .08s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(4) { animation-delay: .12s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(5) { animation-delay: .16s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(6) { animation-delay: .20s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(7) { animation-delay: .24s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .elementor-nav-menu--dropdown > ul > li:nth-child(n+8) { animation-delay: .28s; }
  .tp-menu-nuovo .e-off-canvas[aria-hidden="false"] .tp-oc-ships { animation-delay: .32s; }
}
@keyframes tp-oc-in { from { opacity: 0; transform: translateX(-24px); } to { opacity: 1; transform: none; } }

/* barra di caricamento al clic su un link */
.tp-leave-bar { position: fixed; top: 0; left: 0; height: 2px; width: 100%; z-index: 100001; pointer-events: none; background: #FFC64C;
  transform-origin: 0 50%; transform: scaleX(0); opacity: 0; }
.tp-leaving .tp-leave-bar { opacity: 1; animation: tp-leave 2.5s cubic-bezier(.1,.7,.2,1) forwards; }
@keyframes tp-leave { 0% { transform: scaleX(0); } 20% { transform: scaleX(.45); } 100% { transform: scaleX(.92); } }
