/* VideoMedico — pagina Area professionisti */
.pp-how-grid>*,.pp-why>*,.pp-agenda-grid>*,.pp-cta .panel>*{min-width:0}

/* ---------- hero ---------- */
.pp-hero .panel{align-items:center}
.pp-ctas{display:flex;flex-wrap:wrap;gap:12px}
.pp-stage{position:relative;width:100%;max-width:470px;justify-self:center;aspect-ratio:1/1;perspective:1300px}
.pp-scene{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.pp-disc{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(188,210,234,.5),rgba(80,144,192,.18) 50%,transparent 70%);transform:translateZ(-40px)}
.pp-laptop{position:absolute;left:6%;top:6%;width:88%;height:auto;transform:translateZ(0) rotate(-8deg);filter:drop-shadow(0 40px 50px rgba(5,20,38,.45));animation:pp-lap 9s ease-in-out infinite alternate}
@keyframes pp-lap{from{transform:rotate(-8deg) translateY(0)}to{transform:rotate(-5deg) translateY(-12px)}}
.pp-stage .fcard{position:absolute}
.pp-f1{left:-6%;top:10%}
.pp-f2{right:-4%;top:40%;padding:14px 16px;font-size:13.5px}
.pp-f2>b{display:block;font-size:13px;color:var(--muted);font-weight:600;margin-bottom:8px}
.pp-f2-row{display:flex;gap:10px;align-items:center;line-height:1.3;font-weight:700}
.pp-f2-row em{font-style:normal;font-weight:600;color:var(--b600)}
.pp-f2 .ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none}
.pp-f2 .ic svg{width:20px;height:20px}
.pp-f3{left:6%;bottom:6%}
@media (max-width:860px){
  .pp-stage{max-width:400px;margin-top:6px}
}
@media (max-width:520px){
  .pp-stage{max-width:340px}
  .pp-f1{left:-2%;top:2%}
  .pp-f2{right:-2%;top:44%;padding:11px 12px}
  .pp-f3{left:0;bottom:2%}
  .pp-stage .fc-mini{padding:10px 12px 10px 10px;font-size:12.5px}
  .pp-stage .fc-mini b{font-size:13px}
  .pp-stage .fc-mini .ic,.pp-f2 .ic{width:32px;height:32px;border-radius:10px}
  .pp-ctas .btn{flex:1 1 100%}
}

/* ---------- tre passi con finestra sticky ---------- */
.pp-how{padding-bottom:clamp(40px,6vw,80px)}
.pp-how-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,6vw,90px)}
.pp-win-wrap{position:sticky;top:0;height:100vh;display:grid;place-items:center;perspective:1600px}
.pp-win{width:100%;max-width:560px;background:#fff;border-radius:22px;border:1px solid var(--line);box-shadow:0 50px 100px rgba(14,40,67,.22);overflow:hidden;will-change:transform}
.pp-win-top{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;background:var(--surface)}
.pp-win-top .dots{display:flex;gap:5px;margin-right:4px}
.pp-win-top .dots i{width:9px;height:9px;border-radius:50%;background:var(--line-strong)}
.pp-win-top img{width:20px}
.pp-win-step{margin-left:auto;font-size:12px;font-weight:700;color:var(--b700);background:var(--mist-2);padding:5px 10px;border-radius:999px;white-space:nowrap}
.pp-win-body{position:relative;height:380px;background:var(--surface)}
.pv{position:absolute;inset:0;padding:22px;display:flex;flex-direction:column;gap:12px;opacity:0;visibility:hidden;transform:translateY(22px) scale(.98);transition:opacity .45s ease,transform .6s var(--ease-out),visibility 0s .45s}
.pv.on{opacity:1;visibility:visible;transform:none;transition:opacity .45s ease,transform .6s var(--ease-out)}
.pv-prof{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:#fff;box-shadow:var(--sh-s)}
.pv-prof .av{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--grad);color:#fff;flex:none}
.pv-prof .av svg{width:24px;height:24px}
.pv-prof b{display:block;font-size:15px}
.pv-prof small{color:var(--muted);font-size:12.5px}
.pv-prof .ver{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--ok);background:var(--ok-bg);padding:6px 10px;border-radius:999px;transform:scale(.6);opacity:0;transition:transform .5s var(--ease-out) .7s,opacity .3s ease .7s}
.pv-prof .ver svg{width:13px;height:13px}
.pv.on .pv-prof .ver{transform:none;opacity:1}
.pv-field{display:grid;gap:6px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:14px}
.pv-field span{font-size:12px;color:var(--muted);font-weight:600}
.pv-field b.ok{display:inline-flex;align-items:center;gap:6px;color:var(--ok)}
.pv-field b.ok svg{width:15px;height:15px}
.pv .ln{display:block;height:7px;border-radius:4px;background:var(--line);width:92%}
.pv .ln.m{width:74%}.pv .ln.s{width:48%}
.pv-meter{display:grid;gap:6px;font-size:12.5px;font-weight:600;color:var(--muted);margin-top:auto}
.pv-meter i{display:block;height:8px;border-radius:8px;background:var(--line);overflow:hidden}
.pv-meter b{display:block;height:100%;background:var(--grad);transform:scaleX(.1);transform-origin:left;transition:transform 1.4s var(--ease-out) .3s}
.pv.on .pv-meter b{transform:scaleX(1)}
.pv-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pv-head b{font-size:17px}
.pv-head span{font-size:12.5px;color:var(--muted)}
.pv-week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;flex:1}
.pv-week>div{display:flex;flex-direction:column;gap:7px;padding:8px 6px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.pv-week em{font-style:normal;text-align:center;font-size:11.5px;font-weight:700;color:var(--muted)}
.pv-week .a{display:block;padding:8px 6px;border-radius:9px;font-size:12px;font-weight:700;text-align:center;background:var(--mist-2);color:var(--b700);border-left:3px solid var(--b500);opacity:0;transform:translateY(10px) scale(.95);font-variant-numeric:tabular-nums}
.pv-week .a.f{background:#fff;border:1.5px dashed var(--b300);color:var(--b600)}
.pv.on .pv-week .a{opacity:1;transform:none;transition:opacity .35s ease,transform .5s var(--ease-out);transition-delay:calc(var(--i)*80ms + .25s)}
.pv-note{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--b700);padding:10px 12px;border-radius:12px;background:var(--mist)}
.pv-note svg{width:18px;height:18px;flex:none}
.pv-call{display:grid;grid-template-columns:1.25fr 1fr;align-items:stretch}
.pv-vid{position:relative;border-radius:16px;overflow:hidden;background:#0b1f35}
.pv-vid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;transform:scale(1.6);transform-origin:62% 52%}
.pv-vid .live{position:absolute;left:10px;top:10px;display:flex;gap:6px;align-items:center;padding:5px 9px;border-radius:999px;background:rgba(14,40,67,.6);color:#fff;font-size:11.5px;font-weight:700;backdrop-filter:blur(6px)}
.pv-vid .live i{width:7px;height:7px;border-radius:50%;background:#FF5A4E;animation:blink 1.4s ease-in-out infinite}
.pv-doc{background:#fff;border-radius:16px;padding:14px;box-shadow:var(--sh-s);display:flex;flex-direction:column;gap:8px}
.pv-doc .h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}
.pv-doc .h svg{width:18px;height:18px;color:var(--b700)}
.pv-doc .sig{width:100%;height:42px;margin-top:auto}
.pv-doc .sig path{stroke-dasharray:260;stroke-dashoffset:260}
.pv.on .pv-doc .sig path{animation:sig 1.8s var(--ease-out) .5s forwards}
.pv-doc .signed{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;background:var(--ok-bg);color:var(--ok);font-size:12px;font-weight:700;opacity:0;transform:translateY(8px);transition:opacity .4s ease 1.9s,transform .5s var(--ease-out) 1.9s}
.pv-doc .signed svg{width:14px;height:14px;flex:none}
.pv.on .pv-doc .signed{opacity:1;transform:none}

.pp-steps-wrap{position:relative;padding-left:44px}
.pp-rail{position:absolute;left:9px;top:8vh;bottom:8vh;width:3px;border-radius:3px;background:var(--line)}
.pp-rail i{display:block;height:100%;border-radius:3px;background:var(--grad);transform:scaleY(0);transform-origin:top}
.pp-steps{list-style:none;margin:0;padding:0}
.pp-step{position:relative;min-height:78vh;display:grid;align-content:center;gap:14px;opacity:.3;transition:opacity .5s ease}
.pp-step.on{opacity:1}
.pp-step::before{content:"";position:absolute;left:-44px;top:50%;width:21px;height:21px;margin-top:-10px;border-radius:50%;background:#fff;border:3px solid var(--line-strong);transition:border-color .4s ease,transform .4s var(--ease-out),box-shadow .4s ease}
.pp-step.on::before{border-color:var(--b600);transform:scale(1.15);box-shadow:0 0 0 7px rgba(64,112,176,.15)}
.pp-step .k{font-size:14px;font-weight:700;color:var(--b500);letter-spacing:.08em;text-transform:uppercase}
.pp-step h3{font-size:clamp(26px,3vw,40px)}
.pp-step p{color:var(--ink-soft);font-size:18px;max-width:46ch}
@media (max-width:860px){
  .pp-how-grid{grid-template-columns:1fr;gap:0}
  .pp-win-wrap{top:70px;height:auto;z-index:2;padding:6px 0 18px;background:linear-gradient(var(--paper) 86%,rgba(255,255,255,0))}
  .pp-win{max-width:440px;border-radius:18px}
  .pp-win-body{height:250px}
  .pv{padding:12px;gap:8px}
  .pv-prof{padding:10px}.pv-prof .av{width:38px;height:38px;border-radius:12px}
  .pv-field{padding:8px 10px;font-size:13px}
  .pv-field:nth-of-type(3){display:none}
  .pv-week{gap:5px}.pv-week>div{padding:6px 3px}.pv-week .a{font-size:10.5px;padding:6px 2px}
  .pv-note{display:none}
  .pv-call{grid-template-columns:1fr 1fr}
  .pv-doc{padding:10px;gap:6px}
  .pp-rail{top:20px;bottom:20px}
  .pp-step{min-height:52vh;align-content:start;padding-top:18px}
  .pp-step::before{top:22px;margin-top:0}
  .pp-step p{font-size:16.5px}
}
@media (max-width:420px){
  .pp-win-top{font-size:11.5px;padding:10px 12px}
  .pp-win-top .dots{display:none}
  .pv-prof .ver{display:none}
  .pv-call{grid-template-columns:1fr}
  .pv-vid{display:none}
  .pp-steps-wrap{padding-left:36px}
  .pp-step::before{left:-36px}
  .pp-rail{left:8px}
}

/* ---------- perché: card 3D ---------- */
.pp-why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pp-wc-wrap{perspective:1200px}
.pp-wc{position:relative;min-height:320px;height:100%;padding:clamp(26px,3vw,40px);border-radius:var(--r-2xl);background:linear-gradient(160deg,#fff 0%,var(--surface) 100%);border:1px solid var(--line);display:flex;flex-direction:column;gap:12px;transform-style:preserve-3d;will-change:transform;box-shadow:var(--sh-s);transition:box-shadow .4s ease}
.pp-wc::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s ease;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(80,144,192,.18),transparent 60%)}
.pp-wc .bg-n{position:absolute;right:clamp(20px,3vw,36px);top:clamp(10px,2vw,20px);font-size:clamp(72px,8vw,120px);font-weight:700;letter-spacing:-.06em;line-height:1;color:var(--mist-2);transform:translateZ(8px);user-select:none}
.pp-ic{position:relative;width:84px;height:84px;transform-style:preserve-3d;flex:none;margin-bottom:auto}
.pp-ic i{position:absolute;inset:0;border-radius:24px;display:grid;place-items:center}
.pp-ic .b{background:var(--mist-2);transform:rotate(-10deg) translate(-6px,6px)}
.pp-ic .f{background:var(--grad);color:#fff;transform:translateZ(40px);box-shadow:0 18px 30px rgba(32,80,128,.35)}
.pp-ic svg{width:40px;height:40px}
.pp-wc h3{font-size:clamp(22px,2.2vw,28px);transform:translateZ(26px);max-width:20ch;margin-top:28px}
.pp-wc p{color:var(--ink-soft);font-size:16px;max-width:46ch;transform:translateZ(14px)}
.pp-wc.dark{background:var(--panel);color:#fff;border:0}
.pp-wc.dark p{color:#D8E6F4}
.pp-wc.dark .bg-n{color:rgba(255,255,255,.08)}
.pp-wc.dark .pp-ic .b{background:rgba(255,255,255,.14)}
.pp-wc.dark .pp-ic .f{background:#fff;color:var(--b700)}
@media (hover:hover) and (pointer:fine){.pp-wc:hover{box-shadow:var(--sh-l)}.pp-wc:hover::after{opacity:1}}
@keyframes pp-sway{0%,100%{transform:rotateX(5deg) rotateY(-7deg)}50%{transform:rotateX(-4deg) rotateY(7deg)}}
.touch .pp-wc{animation:pp-sway 6.5s ease-in-out infinite}
.touch .pp-wc-wrap:nth-child(2) .pp-wc{animation-delay:-1.6s}.touch .pp-wc-wrap:nth-child(3) .pp-wc{animation-delay:-3.2s}.touch .pp-wc-wrap:nth-child(4) .pp-wc{animation-delay:-4.8s}
@media (max-width:760px){.pp-why{grid-template-columns:1fr}.pp-wc{min-height:0}.pp-wc h3{margin-top:22px}.pp-ic{width:68px;height:68px}.pp-ic i{border-radius:20px}.pp-ic svg{width:32px;height:32px}}

/* ---------- agenda interattiva ---------- */
.pp-agenda-sec{background:var(--surface)}
.pp-agenda-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,80px);align-items:center}
.pp-agenda-grid .txt{display:grid;gap:20px}
.pp-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 20px;font-size:15px;color:var(--ink-soft);font-weight:600}
.pp-legend li{display:flex;align-items:center;gap:8px}
.pp-legend i{width:20px;height:20px;border-radius:6px;flex:none}
.lg-open{background:var(--b700)}
.lg-off{background:#fff;border:1.5px dashed var(--line-strong)}
.lg-book{background:var(--mist-2)}
.pp-count{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:18px;background:#fff;border:1px solid var(--line);max-width:420px}
.pp-count b{font-size:clamp(40px,4vw,54px);letter-spacing:-.04em;line-height:1;color:var(--b700);min-width:1.4em;display:inline-block}
.pp-count b.bump{animation:pp-bump .45s var(--ease-out)}
@keyframes pp-bump{40%{transform:scale(1.18)}}
.pp-count span{font-size:15px;color:var(--ink-soft);line-height:1.4}
.pp-agenda-acts{display:flex;flex-wrap:wrap;gap:10px}
.pp-agenda-acts .btn{min-height:48px}
.pp-cal-wrap{perspective:1600px}
.pp-cal{background:#fff;border-radius:26px;border:1px solid var(--line);box-shadow:var(--sh-l);padding:clamp(14px,2.2vw,24px);will-change:transform}
.pp-cal-top{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.pp-cal-top img{width:28px}
.pp-cal-top b{display:block;font-size:16px}
.pp-cal-top small{font-size:13px;color:var(--muted)}
.pp-auto{margin-left:auto;display:none;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--b700);background:var(--mist);padding:6px 10px;border-radius:999px;white-space:nowrap}
.pp-auto::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--b500);animation:blink 1.2s ease-in-out infinite}
.pp-cal.auto .pp-auto{display:inline-flex}
.pp-cal-grid{display:grid;grid-template-columns:58px repeat(5,minmax(0,1fr));gap:8px}
.pp-cal-grid .dh{text-align:center;font-size:13px;font-weight:700;color:var(--muted);padding-bottom:2px}
.pp-cal-grid .th{display:flex;align-items:center;font-size:13.5px;font-weight:700;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.slotb{position:relative;min-height:54px;border-radius:13px;border:1.5px dashed var(--line-strong);background:var(--surface);color:var(--muted);display:grid;place-items:center;padding:0;transition:background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .3s ease,transform .16s var(--ease-out)}
.slotb:active{transform:scale(.94)}
.slotb svg{width:18px;height:18px}
.slotb .ck{display:none}
.slotb[aria-pressed="true"]{background:var(--b700);border:1.5px solid var(--b700);color:#fff;box-shadow:0 8px 18px rgba(32,80,128,.28)}
.slotb[aria-pressed="true"] .ck{display:block}
.slotb[aria-pressed="true"] .pl{display:none}
.slotb.booked{background:var(--mist-2);border:1.5px solid var(--mist-2);color:var(--b700);cursor:not-allowed;font-size:12px;font-weight:700;gap:2px;align-content:center}
.slotb.booked svg{width:15px;height:15px}
.slotb.pop{animation:pp-pop .45s var(--ease-out)}
@keyframes pp-pop{40%{transform:scale(1.1)}}
.slotb::after{content:"";position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:rgba(82,155,205,.5);opacity:0;transform:scale(.3);pointer-events:none}
.slotb.tap::after{animation:tap .55s var(--ease-out)}
.slotb.hint{border-color:var(--b500);color:var(--b600);animation:pp-hint 1.8s ease-in-out infinite}
@keyframes pp-hint{0%,100%{box-shadow:0 0 0 0 rgba(64,112,176,.35)}50%{box-shadow:0 0 0 8px rgba(64,112,176,0)}}
@media (hover:hover) and (pointer:fine){.slotb:not(.booked):not([aria-pressed="true"]):hover{border-color:var(--b500);color:var(--b600);background:#fff}}
@media (max-width:960px){.pp-agenda-grid{grid-template-columns:1fr}}
@media (max-width:600px){
  .pp-cal-grid{grid-template-columns:42px repeat(5,minmax(0,1fr));gap:5px}
  .pp-cal-grid .th{font-size:12px}
  .slotb{min-height:48px;border-radius:10px}
  .slotb.booked .t{display:none}
  .pp-cal{border-radius:20px}
  .pp-cal-top b{font-size:15px}
  .pp-agenda-acts .btn{flex:1 1 100%}
}

/* ---------- CTA finale ---------- */
.pp-cta .panel{max-width:1440px;margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center;padding:clamp(40px,6vw,90px) clamp(24px,5vw,80px)}
.pp-cta .txt{display:grid;gap:22px}
.pp-fan{position:relative;height:440px;perspective:1400px;animation:pp-bob 7s ease-in-out infinite alternate}
@keyframes pp-bob{from{transform:translateY(-8px)}to{transform:translateY(10px)}}
.pp-fc{--w:290px;position:absolute;left:50%;top:50%;width:var(--w);margin:-95px 0 0 calc(var(--w)/-2);display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center;padding:20px;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 40px 80px rgba(0,0,0,.3);will-change:transform}
.pp-fc .ic{grid-row:span 2;width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--mist-2);color:var(--b700)}
.pp-fc .ic.ok{background:var(--ok-bg);color:var(--ok)}
.pp-fc .ic svg{width:24px;height:24px}
.pp-fc b{font-size:17px}
.pp-fc small{font-size:13.5px;color:var(--muted)}
.pp-fc .bar{grid-column:1/-1;height:8px;border-radius:5px;background:var(--line);margin-top:10px}
.pp-fc .bar.s{width:60%;margin-top:2px}
@media (max-width:960px){.pp-cta .panel{grid-template-columns:1fr}.pp-fan{height:360px}}
@media (max-width:520px){.pp-fc{--w:240px;padding:16px}.pp-fan{height:320px}.pp-cta .pp-ctas .btn{flex:1 1 100%}}
.pp-why-sec{padding-top:clamp(48px,6vw,90px)}
