/* PHAENOMENA V2 — HEADER + MEGA-MENU + FULLSCREEN + MOBILE */

/* ── Altezza header proporzionale al dispositivo ─────────────── */
:root{ --ph-h:80px; }
@media(min-width:1440px){ :root{ --ph-h:88px; } }
@media(min-width:1920px){ :root{ --ph-h:98px; } }
@media(min-width:2560px){ :root{ --ph-h:116px; } }
@media(min-width:3840px){ :root{ --ph-h:140px; } }

/* ── HEADER ──────────────────────────────────────────────────── */
.ph-header{position:fixed;top:0;left:0;right:0;z-index:900;height:var(--ph-h,80px);background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(26,24,23,.08);transition:box-shadow .3s}
.ph-header.is-scrolled{box-shadow:0 2px 20px -6px rgba(26,24,23,.13)}
.ph-header-wrap{max-width:var(--v2-container-max,2100px);margin:0 auto;height:100%;padding:0 var(--v2-pad-x,clamp(1.25rem,3vw,3rem));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0}

/* ── LOGO ────────────────────────────────────────────────────── */
.ph-logo{display:inline-flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;flex-shrink:0;grid-column:1;justify-self:start;width:fit-content}
.ph-logo-img{height:clamp(34px,2.6vw,52px);width:auto;display:block}
.ph-logo-ph{font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(1rem,1.1vw,1.2rem);font-weight:800;color:#FBC302;letter-spacing:-.02em}
.ph-logo-name{font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(1rem,1.1vw,1.2rem);font-weight:800;color:#1A1817;letter-spacing:-.02em}
.ph-logo-sub{font-family:var(--v2-mono,'JetBrains Mono',monospace);font-size:clamp(.5rem,.56vw,.625rem);letter-spacing:.08em;color:rgba(26,24,23,.45);font-weight:600;text-align:center}
.ph-logo-sub--light{color:rgba(248,246,241,.5)}
.ph-logo-sub--light .ph-logo-pha{color:rgba(248,246,241,.85)}
.ph-logo-pha{color:#434242;font-weight:700}
.ph-logo-grp{color:#02A0E1;font-weight:700}
.ph-logo-sub em{color:#02A0E1;font-style:normal}

/* ── NAV ORIZZONTALE DESKTOP ────────────────────────────────── */
.ph-nav{display:flex;align-items:center;gap:0;height:100%;grid-column:2;justify-self:center;min-width:0}
.ph-ni{position:static;height:100%;display:flex;align-items:center}
.ph-nl{display:inline-flex;align-items:center;gap:.3rem;padding:0 .875rem;height:100%;font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(.75rem,.82vw,.875rem);font-weight:500;color:rgba(26,24,23,.68);text-decoration:none;white-space:nowrap;position:relative;transition:color .2s,background .2s,padding .2s;cursor:pointer;background:none;border:none}
.ph-nl:hover{color:#1A1817;background:rgba(26,24,23,.055);border-radius:8px}
.ph-nl.is-on{color:#1A1817;font-weight:600;background:rgba(251,195,2,.12);border-radius:8px}
.ph-nl::after{display:none}

/* ── FIX progressivo per evitare che "Contatti" venga tagliato ──
   Riduce SOLO padding e gap (mai i font) in base al viewport.
   La nav si stringe in modo proporzionato fino a 1024px,
   sotto i 1024 entra in modalità hamburger.                       */
@media (min-width: 1280px) and (max-width: 1439px) {
    .ph-nl { padding: 0 .65rem; }
    .ph-header-wrap { padding: 0 1.5rem; }
}
@media (min-width: 1100px) and (max-width: 1279px) {
    .ph-nl { padding: 0 .5rem; }
    .ph-header-wrap { padding: 0 1.25rem; }
    .ph-hright { gap: .35rem !important; }
}
@media (min-width: 1024px) and (max-width: 1099px) {
    .ph-nl { padding: 0 .35rem; }
    .ph-header-wrap { padding: 0 1rem; }
    .ph-hright { gap: .25rem !important; }
}
.ph-chev{color:rgba(26,24,23,.4);flex-shrink:0;transition:transform .25s}
.ph-ni:hover .ph-chev{transform:rotate(180deg)}

/* ── DROPDOWN AZIENDA ────────────────────────────────────────── */
.ph-drop{position:absolute;top:100%;left:0;min-width:200px;background:#fff;border:1px solid rgba(26,24,23,.08);border-top:2px solid #FBC302;border-radius:0 0 10px 10px;box-shadow:0 12px 36px -12px rgba(26,24,23,.17);padding:.5rem 0;opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .25s cubic-bezier(.16,1,.3,1);z-index:100}
.ph-ni:hover .ph-drop{opacity:1;visibility:visible;transform:translateY(0)}
.ph-drop ul{list-style:none;margin:0;padding:0}
.ph-drop ul li a{display:block;padding:.625rem 1.125rem;font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(.75rem,.82vw,.875rem);font-weight:500;color:rgba(26,24,23,.72);text-decoration:none;transition:all .18s}
.ph-drop ul li a:hover{color:#1A1817;background:rgba(251,195,2,.06);padding-left:1.375rem}

/* ── MEGA-MENU PRODOTTI ─────────────────────────────────────── */
.ph-mega{position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid rgba(26,24,23,.08);border-bottom:1px solid rgba(26,24,23,.07);box-shadow:0 14px 40px -14px rgba(26,24,23,.15);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .3s cubic-bezier(.16,1,.3,1);z-index:99;pointer-events:none}
.ph-ni:hover .ph-mega,.ph-mega:hover{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.ph-mega-in{max-width:var(--v2-container-max,2100px);margin:0 auto;padding:1.75rem var(--v2-pad-x,clamp(1.25rem,3vw,3rem));display:flex;align-items:flex-start;gap:0}
.ph-mega-head{font-family:var(--v2-mono,'JetBrains Mono',monospace);font-size:.625rem;letter-spacing:.22em;text-transform:uppercase;color:#B8753A;font-weight:700;margin-bottom:.75rem}
.ph-mega-list-col{flex:1 1 auto;padding-right:1.5rem;min-width:0}
.ph-mega-list-col ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);column-gap:10px;row-gap:0}
.ph-mega-list-col ul li{position:relative}
.ph-mega-list-col ul li::after{content:"";position:absolute;left:.625rem;right:.625rem;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(26,24,23,.08) 18%,rgba(26,24,23,.08) 82%,transparent 100%);pointer-events:none}
.ph-mega-list-col ul li:nth-last-child(-n+2)::after{display:none}
.ph-mega-list-col ul li a{display:flex;flex-direction:column;padding:.55rem .625rem;border-radius:6px;text-decoration:none;transition:background .18s}
.ph-mega-list-col ul li a:hover{background:rgba(251,195,2,.07)}
.ph-mega-list-col ul li a b{font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:.8125rem;font-weight:700;color:#1A1817;letter-spacing:-.005em;transition:color .18s;font-style:normal;line-height:1.2}
.ph-mega-list-col ul li a:hover b{color:#B8753A}
.ph-mega-list-col ul li a span{font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:.6875rem;color:rgba(26,24,23,.5);margin-top:.15rem;line-height:1.3;display:block}
.ph-mega-all:hover{background:rgba(251,195,2,.1);color:#B8753A}
.ph-mega-divider{width:1px;background:rgba(26,24,23,.08);align-self:stretch;margin:0;flex-shrink:0}
.ph-mega-card-col{flex:0 0 170px;padding:0 1.25rem}
.ph-mega-card-col:last-child{padding-right:0}

/* ── CARD DOCUMENTI (condivisa header + fullscreen) ─────────── */
.ph-doc-card{text-decoration:none;display:flex;flex-direction:column;gap:0;border:1px solid rgba(26,24,23,.1);border-radius:8px;overflow:hidden;transition:all .3s cubic-bezier(.16,1,.3,1);background:#F8F6F1;width:100%;height:248px}
.ph-doc-card:hover{border-color:rgba(251,195,2,.55);box-shadow:0 6px 20px -6px rgba(26,24,23,.15);transform:translateY(-2px)}
.ph-doc-cover{position:relative;height:150px;flex-shrink:0;background:linear-gradient(135deg,#1A1817,#2d2b28);overflow:hidden}
.ph-doc-cover img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform .5s}
.ph-doc-card:hover .ph-doc-cover img{transform:scale(1.04)}
.ph-no-img::after{content:"PDF";display:flex;align-items:center;justify-content:center;height:100%;font-family:var(--v2-mono,'JetBrains Mono',monospace);font-size:1.25rem;font-weight:700;color:rgba(248,246,241,.3);letter-spacing:.1em}
.ph-doc-badge{position:absolute;bottom:.4rem;right:.4rem;font-family:var(--v2-mono,'JetBrains Mono',monospace);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(248,246,241,.75);background:rgba(14,13,11,.6);backdrop-filter:blur(4px);padding:.2rem .4rem;border-radius:4px;font-weight:700}
.ph-doc-body{padding:.5rem .75rem .75rem;display:flex;flex-direction:column;gap:.2rem;flex:1;justify-content:center}
.ph-doc-title{font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(.75rem,.82vw,.875rem);font-weight:700;color:#1A1817;letter-spacing:-.01em}
.ph-doc-sub{font-family:var(--v2-mono,'JetBrains Mono',monospace);font-size:.5625rem;color:rgba(26,24,23,.45);letter-spacing:.1em;font-weight:600;text-transform:uppercase}
.ph-doc-dl{display:inline-flex;align-items:center;gap:.3rem;margin-top:.375rem;font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(.6875rem,.72vw,.75rem);font-weight:700;color:#B8753A;transition:color .2s}
.ph-doc-card:hover .ph-doc-dl{color:#FBC302}
/* Variante dark per fullscreen chiaro */
.ph-doc-card--dark .ph-doc-title{color:#1A1817}

.ph-cover-cert{height:150px !important;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.28) 0%,transparent 50%),linear-gradient(145deg,#FDCB1A 0%,#FBC302 45%,#e0a800 100%) !important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;position:relative;overflow:hidden}
.ph-cover-cert::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(26,24,23,.035) 0 10px,transparent 10px 20px);pointer-events:none}
.ph-cover-cert::after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;border:1px dashed rgba(26,24,23,.18);top:50%;left:50%;transform:translate(-50%,-58%);pointer-events:none}
.ph-cover-cert-seal{width:50px;height:50px;border-radius:50%;background:#1A1817;display:flex;align-items:center;justify-content:center;color:#FBC302;position:relative;z-index:2;box-shadow:0 6px 16px -4px rgba(26,24,23,.55)}
.ph-cover-cert-seal svg{width:28px;height:28px}
.ph-cover-cert-tags{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center;position:relative;z-index:2;padding:0 .625rem;max-width:100%}
.ph-cover-cert-tags span{font-family:var(--v2-mono,'JetBrains Mono',monospace);font-size:.5rem;letter-spacing:.05em;font-weight:700;text-transform:uppercase;color:#1A1817;background:rgba(255,255,255,.7);padding:.18rem .45rem;border-radius:4px;box-shadow:0 1px 3px rgba(26,24,23,.1)}
.ph-cover-cert .ph-doc-badge{background:rgba(26,24,23,.82);color:#FBC302}


/* ── HEADER DESTRA ────────────────────────────────────────────── */
.ph-hright{display:flex;align-items:center;gap:.5rem;flex-shrink:0;grid-column:3;justify-self:end}
.ph-btn-cta{font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(.75rem,.82vw,.875rem);font-weight:700;color:#1A1817;background:#FBC302;padding:.45rem 1.125rem;border-radius:999px;text-decoration:none;white-space:nowrap;transition:all .25s;border:1.5px solid #FBC302}
.ph-btn-cta:hover,.ph-btn-cta.is-on{background:#1A1817;color:#FBC302;border-color:#1A1817}
.ph-btn-usr{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(26,24,23,.15);color:rgba(26,24,23,.55);text-decoration:none;transition:all .22s}
.ph-btn-usr:hover{border-color:rgba(26,24,23,.4);color:#1A1817;background:rgba(26,24,23,.04)}

/* Lingua */
.ph-lang{position:relative}
.ph-lang-btn{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--v2-mono,'JetBrains Mono',monospace);font-size:clamp(.5625rem,.62vw,.6875rem);letter-spacing:.16em;font-weight:700;color:rgba(26,24,23,.6);background:none;border:1px solid rgba(26,24,23,.12);border-radius:6px;padding:.4rem .625rem;cursor:pointer;transition:all .2s}
.ph-lang-btn:hover{color:#1A1817;border-color:rgba(26,24,23,.3);background:rgba(26,24,23,.04)}
.ph-lang-arr{transition:transform .25s}
.ph-lang.is-open .ph-lang-arr{transform:rotate(180deg)}
.ph-lang-drop{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid rgba(26,24,23,.1);border-radius:8px;box-shadow:0 8px 24px -8px rgba(26,24,23,.18);opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .22s cubic-bezier(.16,1,.3,1);z-index:10;min-width:72px}
.ph-lang.is-open .ph-lang-drop{opacity:1;visibility:visible;transform:translateY(0)}
.ph-lo{display:block;padding:.5rem 1rem;font-family:var(--v2-mono,'JetBrains Mono',monospace);font-size:clamp(.5625rem,.62vw,.6875rem);letter-spacing:.16em;font-weight:700;color:rgba(26,24,23,.6);text-decoration:none;transition:all .15s}
.ph-lo:hover{background:rgba(251,195,2,.08);color:#1A1817}
.ph-lo.is-a{color:#FBC302}

/* Hamburger */
.ph-hbg{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;padding:6px;background:none;border:1px solid rgba(26,24,23,.15);border-radius:8px;cursor:pointer;flex-shrink:0;transition:all .22s}
.ph-hbg:hover{background:rgba(26,24,23,.05);border-color:rgba(26,24,23,.3)}
.ph-hbg span{display:block;width:18px;height:1.5px;background:#1A1817;border-radius:1px;transform-origin:center;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .25s}
.ph-hbg.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.ph-hbg.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}
.ph-hbg.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ── MENU FULLSCREEN CHIARO ──────────────────────────────────── */
.ph-menu{position:fixed;inset:0;z-index:850;background:#F8F6F1;display:flex;flex-direction:column;transform:translateY(-100%);transition:transform .6s cubic-bezier(.16,1,.3,1)}
.ph-menu.is-open{transform:translateY(0)}
.ph-mbar{height:var(--ph-h,80px);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--v2-pad-x,clamp(1.25rem,3vw,3rem));border-bottom:1px solid rgba(26,24,23,.08);background:#fff}
/* X chiusura: nera ad alto contrasto */
.ph-mclose{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#1A1817;border:none;border-radius:50%;color:#FBC302;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 20px -8px rgba(26,24,23,.4)}
.ph-mclose:hover{background:#FBC302;color:#1A1817;transform:rotate(90deg) scale(1.05);box-shadow:0 12px 28px -8px rgba(251,195,2,.55)}
.ph-mclose svg{width:18px;height:18px;stroke-width:2.5}

.ph-mcols{flex:1 1 auto;min-height:0;overflow-y:auto;max-width:var(--v2-container-max,2100px);margin:0 auto;width:100%;padding:clamp(1rem,2.5vh,2rem) var(--v2-pad-x,clamp(1.25rem,3vw,3rem)) 1rem;display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(2rem,6vw,7rem);align-items:start}

/* Voci principali — padding compatto per evitare taglio Contatti */
.ph-mprimary ul{list-style:none;margin:0;padding:0}
.ph-mprimary li{overflow:hidden;border-bottom:1px solid rgba(26,24,23,.07)}
.ph-mprimary li:first-child{border-top:1px solid rgba(26,24,23,.07)}
.ph-mi{display:flex;align-items:center;justify-content:space-between;font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(1.5rem,3vw,3rem);font-weight:700;letter-spacing:-.025em;line-height:1.1;color:#1A1817;text-decoration:none;padding:.22em .15em .22em 0;transition:color .3s}
.ph-menu.is-open .ph-mi{transform:none}
.ph-mi:hover{color:#FBC302}
.ph-mi.is-cur{color:#FBC302}
/* freccia su voci con sottomenu */
.ph-mprimary li[data-fsub]:not([data-fsub=""]) .ph-mi::after{content:"→";font-size:.45em;color:rgba(26,24,23,.2);transition:transform .25s,color .25s;flex-shrink:0;margin-right:.15em}
.ph-mprimary li[data-fsub]:not([data-fsub=""]) .ph-mi:hover::after{transform:translateX(3px);color:#FBC302}

/* Su viewport con altezza limitata: voci ancora più compatte (no font change) */
@media (max-height: 820px) and (min-width: 1024px) {
    .ph-mi { padding: .15em .15em .15em 0; }
    .ph-mcols { padding-top: 1rem; padding-bottom: .75rem; }
    .ph-mfoot { padding-top: .75rem !important; padding-bottom: .75rem !important; }
}
@media (max-height: 720px) and (min-width: 1024px) {
    .ph-mi { padding: .1em .15em .1em 0; line-height: 1.05; }
    .ph-mcols { padding-top: .75rem; padding-bottom: .5rem; }
}

/* Sottomenu fullscreen */
.ph-msubs{}
.ph-fsub{display:none}
.ph-fsub.is-vis{display:grid;grid-template-columns:1fr 160px;gap:2rem;align-items:start}
.ph-fsub-head{font-family:var(--v2-mono,'JetBrains Mono',monospace);font-size:clamp(.5625rem,.62vw,.6875rem);letter-spacing:.24em;text-transform:uppercase;color:#B8753A;font-weight:700;margin-bottom:.875rem}
.ph-fsub-links ul{list-style:none;margin:0;padding:0}
.ph-fsub-links ul li a{display:block;font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(1rem,1.3vw,1.4rem);font-weight:500;color:rgba(26,24,23,.45);text-decoration:none;padding:.35rem 0;border-bottom:1px solid rgba(26,24,23,.06);transition:color .2s,padding-left .25s}
.ph-fsub-links ul li a:hover{color:#1A1817;padding-left:.5rem}
.ph-fsub-card-head{font-family:var(--v2-mono,'JetBrains Mono',monospace);font-size:clamp(.5625rem,.62vw,.6875rem);letter-spacing:.24em;text-transform:uppercase;color:#B8753A;font-weight:700;margin-bottom:.75rem}

/* Footer menu */
.ph-mfoot{flex-shrink:0;padding:1.25rem var(--v2-pad-x,clamp(1.25rem,3vw,3rem));border-top:1px solid rgba(26,24,23,.08);background:#fff;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.ph-mcta{display:inline-flex;align-items:center;gap:.625rem;background:#1A1817;color:#FBC302 !important;font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(.8125rem,.94vw,1rem);font-weight:700;padding:.875rem 1.75rem;border-radius:999px;text-decoration:none;transition:all .35s cubic-bezier(.16,1,.3,1)}
.ph-mcta:hover{background:#FBC302;color:#1A1817 !important;transform:translateY(-2px)}
.ph-mcta svg{transition:transform .3s}
.ph-mcta:hover svg{transform:translateX(3px)}
.ph-minfo{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.ph-minfo>a{font-family:var(--v2-mono,'JetBrains Mono',monospace);font-size:clamp(.5625rem,.62vw,.6875rem);letter-spacing:.12em;color:rgba(26,24,23,.45);text-decoration:none;font-weight:600;transition:color .2s}
.ph-minfo>a:hover{color:#1A1817}
.ph-minfo-div{width:1px;height:16px;background:rgba(26,24,23,.12)}
.ph-mlangs,.ph-mob-langs{display:flex;gap:.375rem}
.ph-ml{font-family:var(--v2-mono,'JetBrains Mono',monospace);font-size:clamp(.5625rem,.6vw,.6875rem);letter-spacing:.16em;font-weight:700;color:rgba(26,24,23,.35);text-decoration:none;padding:.3rem .5rem;border:1px solid rgba(26,24,23,.1);border-radius:5px;transition:all .2s}
.ph-ml:hover{color:#1A1817;border-color:rgba(26,24,23,.3)}
.ph-ml.is-a{color:#FBC302;border-color:rgba(251,195,2,.4);background:rgba(251,195,2,.07)}

/* ── MOBILE ─────────────────────────────────────────────────── */
.ph-mobnav{display:none}
@media(max-width:767px){
    /* Header mobile: solo logo + lang + user + hamburger */
    .ph-nav{display:none}
    .ph-hright .ph-btn-cta{display:none}
    /* drawer laterale da destra — parte SOTTO l'header */
    .ph-menu{
        top:var(--ph-h,80px); left:auto; right:0; bottom:0;
        width:78vw; height:calc(100% - var(--ph-h,80px)); max-width:340px;
        border-radius:0;
        border-left:1px solid rgba(26,24,23,.1);
        background:#fff;
        transform:translateX(100%) !important;
        box-shadow:-8px 0 32px -8px rgba(26,24,23,.18);
    }
    .ph-menu.is-open{transform:translateX(0) !important}
    /* Backdrop copre la parte sinistra (sotto header) */
    .ph-menu::before{
        content:"";position:fixed;
        top:var(--ph-h,80px);left:0;right:78vw;bottom:0;
        background:rgba(26,24,23,.35);
        backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
        opacity:0;pointer-events:none;transition:opacity .35s;
    }
    .ph-menu.is-open::before{opacity:1;pointer-events:all}
    /* Mbar mobile: nascosta del tutto (X è già nell'header) */
    .ph-mbar{display:none}
    .ph-mcols,.ph-mfoot{display:none}
    .ph-mobnav{display:flex;flex-direction:column;flex:1;overflow:hidden}
    .ph-mob-handle{display:none}
    .ph-mob-list{list-style:none;margin:0;padding:1rem 0 calc(1.5rem + env(safe-area-inset-bottom,0px));overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}
    .ph-mob-list>li{position:relative}
    .ph-mob-list>li::after{content:"";position:absolute;left:1.375rem;right:1.375rem;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(26,24,23,.09) 12%,rgba(26,24,23,.09) 88%,transparent 100%);pointer-events:none}
    .ph-mob-list>li:last-child::after{display:none}
    .ph-mob-list>li:last-child{border-bottom:none}
    .ph-mob-list>li>a,.ph-mob-tog{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 1.375rem;font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(.9375rem,4vw,1.0625rem);font-weight:600;color:#1A1817;text-decoration:none;border:none;background:none;cursor:pointer;transition:all .2s;text-align:left;box-sizing:border-box}
    .ph-mob-list>li>a:hover,.ph-mob-tog:hover{background:rgba(251,195,2,.06);padding-left:1.625rem}
    .ph-mob-tog svg{color:rgba(26,24,23,.35);flex-shrink:0;transition:transform .3s}
    .ph-mob-tog.is-open svg{transform:rotate(180deg)}
    .ph-mob-sub{background:rgba(26,24,23,.02);border-top:1px solid rgba(26,24,23,.07)}
    .ph-mob-sub-links{list-style:none;margin:0;padding:0}
    .ph-mob-sub-links li{position:relative}
    .ph-mob-sub-links li::after{content:"";position:absolute;left:2rem;right:1.375rem;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(26,24,23,.07) 15%,rgba(26,24,23,.07) 85%,transparent 100%);pointer-events:none}
    .ph-mob-sub-links li:last-child::after{display:none}
    .ph-mob-sub-links li a{display:block;padding:.625rem 1.375rem .625rem 2rem;font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(.8125rem,3.5vw,.9375rem);font-weight:500;color:rgba(26,24,23,.65);text-decoration:none;transition:all .18s}
    .ph-mob-sub-links li a:hover{color:#B8753A;padding-left:2.25rem}
    /* Card PDF nel mobile */
    .ph-mob-doc{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.375rem .75rem 2rem;text-decoration:none;background:rgba(251,195,2,.05);border-top:1px solid rgba(26,24,23,.05);transition:background .2s}
    .ph-mob-doc:hover{background:rgba(251,195,2,.1)}
    .ph-mob-doc img{width:36px;height:48px;object-fit:cover;border-radius:3px;flex-shrink:0;background:#1A1817}
    .ph-mob-doc.ph-no-img img{display:none}
    .ph-mob-doc span{font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(.8125rem,3.5vw,.875rem);font-weight:600;color:#1A1817;flex:1}
    .ph-mob-doc svg{color:#B8753A;flex-shrink:0}
    .ph-mob-foot{padding:1rem 1.25rem 1.25rem;border-top:1px solid rgba(26,24,23,.08);display:flex;flex-direction:column;gap:.875rem;flex-shrink:0}
    .ph-mob-cta{display:block;background:#FBC302;color:#1A1817;font-family:var(--v2-sans,'Plus Jakarta Sans',sans-serif);font-size:clamp(.875rem,4vw,1rem);font-weight:700;padding:.875rem 1.5rem;border-radius:999px;text-decoration:none;text-align:center;transition:all .3s}
    .ph-mob-cta:hover{background:#1A1817;color:#FBC302}
}
@media(max-width:1023px) and (min-width:768px){
    .ph-nav{display:none}
    .ph-menu{top:0}
    .ph-mcols{grid-template-columns:1fr}
    .ph-msubs{display:none}
}
body.ph-nav-open{overflow:hidden}
.ph-menu.is-open~* .ph-nav, .ph-header.menu-open .ph-nav{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease}
.ph-header .ph-nav{transition:opacity .2s ease}
.ph-header-spacer{height:var(--ph-h,80px);display:block}

/* ═══════════════════════════════════════════════════════════════
   MEGA MENU PRODOTTI — Grid 4 colonne con categorie + prodotti
   ═══════════════════════════════════════════════════════════════ */
.ph-mega-products .ph-mega-in {
    padding: 24px 32px 18px;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}
.ph-mega-prod-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px 32px;
    margin-bottom: 18px;
}
.ph-mega-prod-col { display: flex; flex-direction: column; gap: 8px; }

.ph-mega-prod-cat {
    display: flex;
    flex-direction: column;
    gap: 1px;
    text-decoration: none;
    color: #1A1817;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(26,24,23,0.08);
    transition: border-color 0.2s;
}
.ph-mega-prod-cat:hover { border-bottom-color: #FBC302; }
.ph-mega-prod-cat-pre {
    font-style: italic;
    font-weight: 300;
    font-size: 0.625rem;
    color: rgba(26,24,23,0.55);
    line-height: 1;
}
.ph-mega-prod-cat-main {
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.1;
    color: #1A1817;
    transition: color 0.2s;
}
.ph-mega-prod-cat:hover .ph-mega-prod-cat-main { color: #FBC302; }

.ph-mega-prod-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ph-mega-prod-list li a {
    display: block;
    padding: 5px 0;
    font-size: 0.75rem;
    color: rgba(26,24,23,0.7);
    text-decoration: none;
    transition: color 0.2s, padding 0.2s;
    line-height: 1.3;
}
.ph-mega-prod-list li a:hover {
    color: #1A1817;
    padding-left: 4px;
}
.ph-mega-prod-more a {
    color: #FBC302 !important;
    font-weight: 700;
    font-size: 0.6875rem !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding-top: 6px !important;
    border-top: 1px solid rgba(26,24,23,0.06);
    margin-top: 4px;
}

.ph-mega-prod-foot {
    display: flex;
    gap: 14px;
    padding-top: 16px;
    border-top: 1px solid rgba(26,24,23,0.08);
}
.ph-mega-all {
    display: inline-flex;
    align-items: center;
    padding: 9px 18px;
    background: #FBC302;
    color: #1A1817;
    text-decoration: none;
    font-family: var(--v2-mono, 'JetBrains Mono', monospace);
    font-size: 0.625rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 700;
    border-radius: 999px;
    border: 1px solid #FBC302;
    transition: all 0.3s;
}
.ph-mega-all:hover {
    background: transparent;
    color: #1A1817;
}
.ph-mega-all-secondary {
    background: transparent;
    color: #1A1817;
    border-color: rgba(26,24,23,0.2);
}
.ph-mega-all-secondary:hover {
    background: #1A1817;
    color: #fff;
    border-color: #1A1817;
}

@media (max-width: 1200px) {
    .ph-mega-prod-grid { grid-template-columns: repeat(2, 1fr); gap: 22px 28px; }
}

/* ═══════════════════════════════════════════════════════════════
   DRAWER MOBILE — Sistema multi-panel con slide
   - Panel root: lista voci principali
   - Panel sub: slide da destra con freccia indietro
   - Backdrop: chiude al click esterno
   ═══════════════════════════════════════════════════════════════ */

/* Backdrop overlay — chiude al click */
.ph-mob-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(26, 24, 23, 0.5);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 9998;
    pointer-events: none;
}
body.ph-mob-open .ph-mob-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Drawer: opaco, sopra il backdrop */
.ph-mobnav {
    z-index: 9999 !important;
}

/* Panel wrapper: contiene i 3 panel affiancati */
.ph-mob-panels {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

/* Singolo panel: posizionato assoluto, slide da destra */
.ph-mob-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.25s ease,
                visibility 0.35s;
    display: flex;
    flex-direction: column;
}
.ph-mob-panel.is-active {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
}
/* Panel root parte da sinistra (default) e scivola fuori a sinistra quando un sub si apre */
.ph-mob-panel--root {
    transform: translateX(-30%);
    opacity: 0;
}
.ph-mob-panel--root.is-active {
    transform: translateX(0);
    opacity: 1;
}

/* Header del panel sub (freccia indietro + titolo) */
.ph-mob-panel-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    border-bottom: 1px solid rgba(26, 24, 23, 0.08);
    background: var(--v2-cream, #F8F6F1);
    position: sticky;
    top: 0;
    z-index: 2;
}
.ph-mob-back {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(26, 24, 23, 0.12);
    border-radius: 999px;
    color: var(--v2-graphite, #1A1817);
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.2s ease;
}
.ph-mob-back:hover {
    background: var(--v2-graphite, #1A1817);
    color: var(--v2-gold, #FBC302);
    border-color: var(--v2-graphite, #1A1817);
}
.ph-mob-back svg { display: block; }
.ph-mob-panel-title {
    font-family: var(--v2-sans, 'Plus Jakarta Sans', sans-serif);
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--v2-graphite, #1A1817);
    letter-spacing: -0.01em;
}

/* Bottone toggle nel panel root → freccia verso destra (entra nel sub) */
.ph-mob-tog {
    width: 100%;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    background: transparent;
    border: none;
    font-family: inherit;
    font-size: clamp(0.9375rem, 3.5vw, 1.0625rem);
    font-weight: 500;
    color: var(--v2-graphite, #1A1817);
    cursor: pointer;
    text-align: left;
}
.ph-mob-tog > span {
    flex: 1;
}
.ph-mob-tog svg {
    opacity: 0.5;
    flex-shrink: 0;
    margin-left: 8px;
}
.ph-mob-tog:active {
    background: rgba(26, 24, 23, 0.04);
}

/* ═══════════════════════════════════════════════════════════════
   DRAWER MOBILE — COLORI PULITI + STILE VOCI SUB COME DESKTOP
   ═══════════════════════════════════════════════════════════════ */

/* Drawer + tutti i panel: sfondo CREAM uniforme (no più grigio) */
.ph-mobnav,
.ph-mob-panel,
.ph-mob-panel--root,
.ph-mob-panel[data-panel="prodotti"],
.ph-mob-panel[data-panel="azienda"] {
    background: #F8F6F1 !important;
    color: #1A1817 !important;
}

/* Header dei sub panel: anche lui cream, non bianco */
.ph-mob-panel-head {
    background: #F8F6F1 !important;
    border-bottom: 1px solid rgba(26, 24, 23, 0.08) !important;
}
.ph-mob-panel-title {
    color: #1A1817 !important;
    font-weight: 700 !important;
}

/* Sub-links: voci più visibili (nero pieno, non grigio) */
.ph-mob-sub-links {
    list-style: none;
    margin: 0;
    padding: 8px 0 calc(2rem + env(safe-area-inset-bottom, 0px));
    background: #F8F6F1 !important;
}
.ph-mob-sub-links li {
    position: relative;
    border-bottom: 1px solid rgba(26, 24, 23, 0.06);
}
.ph-mob-sub-links li::after { display: none !important; }
.ph-mob-sub-links li:last-child {
    border-bottom: none;
}

/* ── CATEGORIE PRODOTTI: una sola riga "Illuminazione STRADALE" ── */
.ph-mob-sub-links.ph-mob-cats li a {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    padding: 14px 22px !important;
    font-family: var(--v2-sans, 'Plus Jakarta Sans', sans-serif);
    text-decoration: none;
    transition: all 0.2s ease;
    color: #1A1817 !important;
    background: transparent;
    white-space: nowrap;
}
.ph-mob-sub-links.ph-mob-cats li a em {
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: clamp(13px, 3.5vw, 15px) !important;
    color: rgba(26, 24, 23, 0.55) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    line-height: 1 !important;
    flex-shrink: 0;
}
.ph-mob-sub-links.ph-mob-cats li a strong {
    font-weight: 800 !important;
    font-size: clamp(15px, 4vw, 18px) !important;
    color: #1A1817 !important;
    letter-spacing: -0.01em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
}
.ph-mob-sub-links.ph-mob-cats li a:hover,
.ph-mob-sub-links.ph-mob-cats li a:active {
    background: rgba(251, 195, 2, 0.08) !important;
    padding-left: 26px !important;
}
.ph-mob-sub-links.ph-mob-cats li a:hover strong {
    color: #1A1817 !important;
}

/* Azienda e altre sub-list: stile semplice ma in colore nero pieno */
.ph-mob-sub-links:not(.ph-mob-cats) li a {
    display: block !important;
    padding: 14px 22px !important;
    font-family: var(--v2-sans, 'Plus Jakarta Sans', sans-serif);
    font-size: clamp(15px, 4vw, 17px) !important;
    font-weight: 600 !important;
    color: #1A1817 !important;
    text-decoration: none;
    transition: all 0.2s ease;
    background: transparent;
}
.ph-mob-sub-links:not(.ph-mob-cats) li a:hover,
.ph-mob-sub-links:not(.ph-mob-cats) li a:active {
    background: rgba(251, 195, 2, 0.08) !important;
    padding-left: 26px !important;
}

/* Toggle del panel root: nero pieno con freccia gold */
.ph-mob-panel--root .ph-mob-tog {
    color: #1A1817 !important;
    background: transparent !important;
}
.ph-mob-panel--root .ph-mob-tog svg {
    color: #FBC302 !important;
    opacity: 1 !important;
}
.ph-mob-panel--root .ph-mob-tog:hover,
.ph-mob-panel--root .ph-mob-tog:active {
    background: rgba(251, 195, 2, 0.08) !important;
}

/* Back button: bordo grafite, hover gold */
.ph-mob-back {
    color: #1A1817 !important;
    border-color: rgba(26, 24, 23, 0.18) !important;
}
.ph-mob-back:hover,
.ph-mob-back:active {
    background: #1A1817 !important;
    color: #FBC302 !important;
}

/* ═══════════════════════════════════════════════════════════════
   FIX DEFINITIVO VOCI MENU FULLSCREEN (PC) — alta specificità
   Forza le voci a essere nere e visibili al primo render
   ═══════════════════════════════════════════════════════════════ */
html body .ph-menu .ph-mi,
html body .ph-menu .ph-mprimary li .ph-mi,
html body .ph-menu.is-open .ph-mi,
html body .ph-menu.is-open .ph-mprimary li .ph-mi {
    color: #1A1817 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: color .3s !important;
    transition-delay: 0s !important;
}
html body .ph-menu .ph-mi:hover,
html body .ph-menu.is-open .ph-mi:hover {
    color: #FBC302 !important;
}
html body .ph-mprimary li:nth-child(1) .ph-mi,
html body .ph-mprimary li:nth-child(2) .ph-mi,
html body .ph-mprimary li:nth-child(3) .ph-mi,
html body .ph-mprimary li:nth-child(4) .ph-mi,
html body .ph-mprimary li:nth-child(5) .ph-mi,
html body .ph-mprimary li:nth-child(6) .ph-mi,
html body .ph-mprimary li:nth-child(7) .ph-mi {
    transition-delay: 0s !important;
    transform: none !important;
    opacity: 1 !important;
}

/* ═══════════════════════════════════════════════════════════════
   FIX FONT MENU MOBILE — uniforme tra link e bottoni con sub
   ═══════════════════════════════════════════════════════════════ */
html body .ph-mob-list > li > a,
html body .ph-mob-list > li > .ph-mob-tog,
html body .ph-mob-panel--root .ph-mob-tog,
html body .ph-mob-panel--root .ph-mob-list > li > a {
    font-family: var(--v2-sans, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: clamp(.9375rem, 4vw, 1.0625rem) !important;
    font-weight: 600 !important;
    color: #1A1817 !important;
    padding: .875rem 1.375rem !important;
    background: transparent !important;
    border: none !important;
    text-align: left !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    cursor: pointer !important;
}
html body .ph-mob-list > li > a:hover,
html body .ph-mob-list > li > .ph-mob-tog:hover,
html body .ph-mob-panel--root .ph-mob-tog:hover {
    background: rgba(251, 195, 2, 0.06) !important;
    padding-left: 1.625rem !important;
}
html body .ph-mob-tog svg {
    color: rgba(26, 24, 23, 0.35) !important;
    opacity: 1 !important;
    flex-shrink: 0 !important;
    margin-left: 8px !important;
}
