/* FEDOR V4: atmosfera, sezioni alternate, personaggio integrato, demo protagonista. */

/* ---------- Atmosfera continua ---------- */
html,body{overflow-x:clip}
html body #stars{display:block;position:fixed;inset:0;height:100vh;height:100lvh;z-index:-1;opacity:.5}
main>section{position:relative}
main>section::before{content:'';position:absolute;inset:-80px -10%;z-index:-1;pointer-events:none}
#come-funziona::before{background:radial-gradient(48% 58% at 18% 45%,rgba(72,92,210,.10),transparent 72%)}
#demo::before{background:radial-gradient(42% 52% at 68% 50%,rgba(150,58,200,.17),transparent 72%),radial-gradient(30% 40% at 20% 70%,rgba(255,45,170,.05),transparent 70%)}
#archivio::before{background:radial-gradient(44% 58% at 74% 50%,rgba(60,110,225,.11),transparent 72%)}
#vantaggi::before{background:radial-gradient(62% 70% at 50% 50%,rgba(4,5,12,.42),transparent 76%)}
#inviti::before{background:radial-gradient(44% 56% at 30% 50%,rgba(183,155,255,.07),transparent 72%)}
#faq::before{background:radial-gradient(56% 66% at 35% 45%,rgba(4,5,12,.48),transparent 76%)}

/* ---------- Sezioni aperte: senza riquadro, con più respiro ---------- */
.section-card.open{background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding-block:64px}
.section-card.open::after{display:none}
.section-card.strip.open{padding-block:30px;border-block:1px solid transparent;border-image:linear-gradient(90deg,transparent,#ffffff26 20%,#ffffff26 80%,transparent) 1}

/* ---------- Apertura: il telefono esce dal riquadro ---------- */
.hero .hero-visual{z-index:3}
.bubble-row{display:flex;align-items:flex-end;gap:5px}
.bubble-row .bubble{max-width:84%}
.bubble-avatar{width:18px;height:18px;border-radius:50%;object-fit:cover;flex-shrink:0;margin-bottom:8px;box-shadow:0 0 0 1px var(--lime)}
.fedor-face{width:60px;height:60px}
.fedor-tag::after{content:'';position:absolute;right:-6px;top:50%;width:11px;height:11px;background:#171b29;border-top:1px solid #ffffff20;border-right:1px solid #ffffff20;transform:translateY(-50%) rotate(45deg)}
@media(min-width:761px){
  main>section:first-child{margin-bottom:44px}
  .hero .hero-visual{transform:translateY(110px)}
  .hero .fedor-tag{top:-22px}
}
@media(min-width:761px) and (max-width:1050px){.hero .hero-visual{transform:translateY(118px) scale(.9)}}

/* ---------- Come funziona: tre passi collegati ---------- */
#come-funziona .steps{background:none;border:0;border-radius:0;overflow:visible;-webkit-backdrop-filter:none;backdrop-filter:none;gap:44px}
#come-funziona .steps article{position:relative;border:0;padding:36px 0 0}
#come-funziona .steps article::before{content:'';position:absolute;top:0;left:0;right:-44px;height:2px;background:linear-gradient(90deg,var(--magenta),#b79bff)}
#come-funziona .steps article:nth-child(2)::before{background:linear-gradient(90deg,#b79bff,var(--lime))}
#come-funziona .steps article:last-child::before{right:0;background:linear-gradient(90deg,var(--lime),transparent)}
#come-funziona .steps article::after{content:'';position:absolute;top:-6px;left:0;width:14px;height:14px;border-radius:50%;background:#0b0d1a;border:2px solid var(--magenta);box-shadow:0 0 14px #ff2daa66}
#come-funziona .steps article:nth-child(2)::after{border-color:#b79bff;box-shadow:0 0 14px #b79bff66}
#come-funziona .steps article:nth-child(3)::after{border-color:var(--lime);box-shadow:0 0 14px #c8ff3166}
.step-icon.step-face{padding:0;overflow:hidden;border:2px solid var(--lime);border-radius:50%;background:none}
.step-face img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- Demo protagonista ---------- */
.demo-feature{padding:64px 56px;box-shadow:0 30px 90px -30px #8a2fb480,0 24px 50px -18px #000000b3,inset 0 1px 0 #ffffff14}
.demo-feature .chat-demo{border-color:#ffffff2a;box-shadow:0 30px 80px -20px #000c,0 0 0 1px #c8ff3112}
.demo-feature .chat-demo-head{padding:16px 22px}
.demo-feature .chat-demo-head .bot-photo{width:46px;height:46px}
.demo-feature .chat-demo-head strong{font-size:16px}
.demo-feature .chat-demo-head small{font-size:12px}
.demo-feature .chat-demo-log{height:600px;padding:24px 24px 12px;gap:12px}
.demo-feature .msg{font-size:15.5px;max-width:76%;padding:11px 15px 7px}
.demo-feature .demo-receipt{width:240px;font-size:12px}
.demo-feature .chat-demo-choices{padding:14px 18px;gap:10px}
.demo-feature .choice{font-size:15px;padding:12px 20px}
.demo-feature .inline-confirm{font-size:15px;padding:12px}
.demo-feature .demo-intro h2{font-size:46px}
.demo-feature .demo-intro h2 .serif{font-size:56px}
.demo-feature .demo-intro>p{font-size:15px;max-width:340px}

.fedor-stage{position:relative;margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:12px}
.fedor-stage img{width:200px;height:auto;filter:drop-shadow(0 8px 14px #0005);transition:opacity .18s ease,transform .18s ease}
.fedor-stage img.is-swapping{opacity:0;transform:translateY(6px) scale(.97)}
.fedor-stage::after{content:'';position:absolute;left:100%;top:42%;width:56px;border-top:1px dashed #c8ff3155}
.fedor-mood-label{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid #c8ff3140;border-radius:999px;background:#c8ff310d;color:var(--lime);font-size:12px;font-weight:600}

@media(min-width:901px){.demo-feature.demo-section{grid-template-columns:35fr 65fr;gap:56px;align-items:center}}
@media(max-width:900px){
  .demo-feature.demo-section{grid-template-columns:1fr;gap:26px}
  .fedor-stage{flex-direction:row;align-items:center;justify-content:center;margin-top:22px}
  .fedor-stage img{width:110px}
  .fedor-stage::after{display:none}
}

/* ---------- Dalla demo all'archivio: un'orbita sottile ---------- */
.flow-link{position:absolute;top:-46px;right:21%;width:160px;height:150px;pointer-events:none}
.flow-link svg{display:block;overflow:visible}
.flow-link path{fill:none;stroke:#c8ff3166;stroke-width:1.2;stroke-dasharray:3 6}
.flow-dot{position:absolute;top:0;left:0;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime);offset-path:path('M120 0C120 62 40 74 40 150');offset-rotate:0deg;animation:flow 3.4s ease-in-out infinite}
@keyframes flow{0%{offset-distance:0%;opacity:0}15%{opacity:1}85%{opacity:1}100%{offset-distance:100%;opacity:0}}
@media(max-width:900px){.flow-link{display:none}}

/* ---------- Archivio su Drive più concreto ---------- */
@media(min-width:901px){.archive-section.open{grid-template-columns:1fr 1.25fr}}
.drive{box-shadow:0 30px 80px -24px #000c,0 0 60px -20px #3c6ee155}
.drive-bar{padding:15px 20px;font-size:13px}
.drive-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:2px 0}
.file-svg{width:20px;height:20px;display:block}
.drive-logo{width:18px;height:18px;display:inline-block;margin-right:8px}
.drive-tree{padding:14px 12px}
.drive-row{padding:11px 12px;font-size:14.5px;transition:background .2s,box-shadow .2s,transform .2s}
.drive-row:hover{transform:translateX(3px)}
.drive-icon{width:32px;height:32px;border-radius:9px;background:#ffffff0a}
.drive-icon.folder{background:#9aa6c41a}
.drive-icon.photo{background:#ea43351a}
.drive-icon.pdf{background:#e5252a1a}
.drive-icon.sheet{background:#0f9d581f}
.drive-tree ul>li{position:relative}
.drive-tree ul>li::before{content:'';position:absolute;left:-8px;top:27px;width:8px;border-top:1px dashed #ffffff26}
.drive-meta{font-size:11px}

/* ---------- Vantaggi più leggeri ---------- */
#vantaggi .benefits-six{gap:44px 60px}
#vantaggi .benefits-six article{border-top:0;padding:0}
#vantaggi .benefit-num{justify-content:flex-start;gap:14px}
#vantaggi .benefit-num span{order:-1;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#ffffff08;font-size:19px}
#vantaggi .benefits-six h3{font-size:19px;margin-top:16px}

/* ---------- FAQ senza contenitore pesante ---------- */
#faq .faqs .faq-item{border-bottom-color:#ffffff12}

/* ---------- Chiusura: la grande forma magenta ---------- */
.section-card.closing{overflow:hidden;padding-block:120px 96px}

/* Il pianeta magenta: base, riflesso e ombra sul bordo. Le nuvole sono un canvas disegnato da app.js. */
/* Il box è il 6% più grande del pianeta: lo spazio in più ospita l'atmosfera che sfuma. */
.section-card.closing:before{inset:auto;left:1.24%;right:1.24%;top:9.3%;height:201.4%;border-radius:0;box-shadow:none;
  background:
    radial-gradient(ellipse 20% 10.5% at 36.5% 16%,rgba(255,255,255,.4),rgba(255,255,255,.08) 55%,transparent 75%),
    radial-gradient(ellipse 44% 28% at 50% 24%,rgba(255,160,232,.3),transparent 70%),
    radial-gradient(closest-side,transparent 0 74%,rgba(70,8,66,.32) 89%,rgba(255,196,240,.55) 93.4%,rgba(255,150,220,.5) 94.4%,rgba(255,95,205,.22) 96.6%,rgba(190,60,220,.08) 98.6%,transparent 100%),
    radial-gradient(closest-side,#b03a9a 0 94%,rgba(176,58,154,0) 94.5%)}
.planet-rays{position:absolute;left:4%;right:4%;top:15%;height:190%;width:92%;z-index:-1;pointer-events:none;display:block}
@media(min-width:761px){
  /* proporzioni fisse: il pianeta resta quasi rotondo anche se la sezione cambia altezza */
  .section-card.closing:before{height:auto;aspect-ratio:1/.97}
  .planet-rays{height:auto;aspect-ratio:1/.97}
}

.closing .eyebrow{color:#fff3fb}
.closing .serif{color:#ffe3f4}
.closing .closing-note{color:#fde9f6}
.contact-email{display:block;width:max-content;max-width:100%;margin:18px auto 0;font-size:14px;color:#fff;text-decoration:underline;text-decoration-color:#ffffff70;text-underline-offset:3px;overflow-wrap:anywhere}
.contact-email:hover{text-decoration-color:var(--lime)}

/* ---------- Crediti ---------- */
footer{flex-wrap:wrap;row-gap:10px}
footer .credit{flex-basis:100%;margin:0;font-size:10px;color:#77738a}
footer .credit a{color:#a19db4;text-decoration:underline;text-decoration-color:#ffffff30;text-underline-offset:2px}
footer .credit a:last-child{color:#a19db4}

/* ---------- Telefono ---------- */
@media(max-width:760px){
  .section-card.open{padding-block:44px}
  .section-card.open:not(.strip){padding-inline:4px}
  .demo-feature{padding:32px 16px}
  .demo-feature .demo-intro h2{font-size:36px}
  .demo-feature .demo-intro h2 .serif{font-size:45px}
  .demo-feature .chat-demo-log{height:470px;padding:16px 12px 8px}
  .demo-feature .msg{font-size:14.5px;max-width:88%}
  .demo-feature .demo-receipt{width:210px;font-size:11px}
  .demo-feature .chat-demo-head{padding:12px 14px}
  .demo-feature .choice{padding:12px 14px}
  #come-funziona .steps{gap:0}
  #come-funziona .steps article{padding:0 0 30px 34px;border-bottom:0}
  #come-funziona .steps article::before,#come-funziona .steps article:last-child::before{top:8px;bottom:0;left:6px;right:auto;width:2px;height:auto;background:linear-gradient(180deg,var(--magenta),#b79bff)}
  #come-funziona .steps article:nth-child(2)::before{background:linear-gradient(180deg,#b79bff,var(--lime))}
  #come-funziona .steps article:last-child::before{background:linear-gradient(180deg,var(--lime),transparent)}
  #come-funziona .steps article::after{top:0;left:0}
  #vantaggi .benefits-six{gap:28px}
  .section-card.closing{padding-block:84px 64px}
  .section-card.closing:before{left:-22.1%;right:-22.1%;top:6.3%}
  .planet-rays{left:-18%;right:-18%;width:136%;top:12%}
  .fedor-tag::after{display:none}
}
