/* Pro/Spero: movimento e transizioni. Tutto si disattiva con prefers-reduced-motion. */
:root{--ease:cubic-bezier(.22,.7,.2,1);--ease-soft:cubic-bezier(.4,0,.2,1);interpolate-size:allow-keywords}
@view-transition{navigation:auto}
::view-transition-old(root){animation:prVtOut .35s var(--ease-soft) both}
::view-transition-new(root){animation:prVtIn .55s var(--ease) both}
@keyframes prVtOut{to{opacity:0;transform:translateY(-8px)}}
@keyframes prVtIn{from{opacity:0;transform:translateY(14px)}}

/* barra di avanzamento lettura */
.pr-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;pointer-events:none;background:linear-gradient(90deg,var(--accent),#E9C27A 60%,#9FC3A6);transform-origin:0 50%;transform:scaleX(var(--p,0))}

/* header */
.pr-header{transition:box-shadow .4s var(--ease-soft),background-color .4s var(--ease-soft)}
.pr-header.is-scrolled{box-shadow:0 12px 32px -22px rgba(90,62,20,.45);background:rgba(251,247,239,.96)}
.pr-header__inner{transition:padding .4s var(--ease-soft)}
.pr-header.is-scrolled .pr-header__inner{padding-block:7px}
.pr-brand img{transition:transform .8s var(--ease)}
.pr-brand:hover img{transform:rotate(-12deg) scale(1.06)}
.pr-nav a.wp-block-navigation-item__content{background:linear-gradient(var(--accent),var(--accent)) 0 100%/0 2px no-repeat;transition:background-size .35s var(--ease),color .25s}
.pr-nav a.wp-block-navigation-item__content:hover{text-decoration:none!important;background-size:100% 2px}
.pr-nav-cta a.wp-block-navigation-item__content{background-image:none!important;background-color:var(--accent)!important;transition:transform .3s var(--ease),box-shadow .3s,background-color .25s}
.pr-nav-cta a.wp-block-navigation-item__content:hover{background-color:var(--accent-hover)!important;transform:translateY(-2px);box-shadow:0 10px 22px -12px rgba(160,105,20,.7)}

/* pulsanti */
.wp-block-button.pr-btn .wp-block-button__link,.pr-submit{transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .25s,color .25s,border-color .25s}
.wp-block-button.pr-btn .wp-block-button__link:hover,.pr-submit:not([disabled]):hover{transform:translateY(-3px);box-shadow:0 14px 28px -14px rgba(150,98,20,.6)}
.wp-block-button.pr-btn--ghost .wp-block-button__link:hover{box-shadow:0 14px 28px -16px rgba(46,94,88,.6)}
.wp-block-button.pr-btn .wp-block-button__link:active,.pr-submit:active{transform:translateY(0) scale(.98)}

/* link nel testo */
.pr-main p a,.pr-main li a{transition:color .25s,text-decoration-color .25s;text-decoration-color:rgba(46,94,88,.35)}
.pr-main p a:hover,.pr-main li a:hover{text-decoration-color:var(--accent)}

/* hero: sfumature che respirano */
.pr-hero::before,.pr-hero::after{content:"";position:absolute;border-radius:50%;filter:blur(10px);pointer-events:none;z-index:0}
.pr-hero::before{width:620px;height:620px;right:-140px;top:-180px;background:radial-gradient(circle,rgba(224,164,58,.28),rgba(224,164,58,0) 65%);animation:prDrift 18s ease-in-out infinite alternate}
.pr-hero::after{width:560px;height:560px;left:-200px;bottom:-260px;background:radial-gradient(circle,rgba(141,186,150,.30),rgba(141,186,150,0) 65%);animation:prDrift 22s ease-in-out -6s infinite alternate-reverse}
.pr-hero>.pr-wrap{position:relative;z-index:1}
@keyframes prDrift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,30px) scale(1.08)}100%{transform:translate(30px,-20px) scale(.96)}}

/* hero: ingresso */
.pr-js .pr-hero .pr-eyebrow{animation:prUp .9s var(--ease) .1s both}
.pr-js .pr-hero .pr-lead{animation:prUp 1s var(--ease) .55s both}
.pr-js .pr-hero .wp-block-buttons{animation:prUp 1s var(--ease) .75s both}
.pr-js .pr-hero .pr-emblem{animation:prPop 1.4s var(--ease) .2s both}
@keyframes prUp{from{opacity:0;transform:translateY(26px)}}
@keyframes prPop{from{opacity:0;transform:scale(.82) rotate(-10deg)}}
.pr-js .pr-hero h1:not(.is-split){opacity:0;animation:prShow 0s 1.5s forwards}
@keyframes prShow{to{opacity:1}}
.pr-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.pr-w>span{display:inline-block;animation:prRise 1s var(--ease) both;animation-delay:var(--d,0ms)}
@keyframes prRise{from{transform:translateY(105%);opacity:0}}

/* emblema: galleggia e respira */
.pr-emblem{transition:translate .9s var(--ease);translate:var(--mx,0px) var(--my,0px)}
.pr-emblem img{animation:prFloat 7s ease-in-out infinite}
.pr-emblem::after{border:1.5px dashed rgba(224,164,58,.55);animation:prSpin 60s linear infinite}
.pr-emblem::before{content:"";position:absolute;inset:-34px;border-radius:50%;border:1px solid rgba(141,186,150,.45);animation:prPulse 5s ease-in-out infinite}
@keyframes prFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(2deg)}}
@keyframes prSpin{to{transform:rotate(360deg)}}
@keyframes prPulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.04);opacity:.35}}

/* comparsa allo scorrimento */
.pr-js [data-r]{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0ms);will-change:opacity,transform}
.pr-js [data-r=left]{transform:translateX(-36px)}
.pr-js [data-r=right]{transform:translateX(36px)}
.pr-js [data-r=scale]{transform:scale(.94)}
.pr-js [data-r=fade]{transform:none}
.pr-js [data-r].is-in{opacity:1;transform:none}

/* citazione: il filetto cresce */
.pr-pull{border-left:0!important;position:relative}
.pr-pull::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px;background:linear-gradient(var(--accent),#9FC3A6);transform-origin:50% 0;transform:scaleY(1);transition:transform 1.2s var(--ease) .2s}
.pr-js .pr-pull[data-r]:not(.is-in)::before{transform:scaleY(0)}

/* passi */
.pr-steps li{transition:background-color .4s var(--ease-soft),padding .4s var(--ease)}
.pr-steps li::before{transition:transform .5s var(--ease),color .4s}
.pr-steps li:hover::before{transform:scale(1.15) rotate(-6deg);color:var(--deep)}

/* pillole */
.pr-pills li{transition:transform .35s var(--ease),background-color .3s,box-shadow .35s;cursor:default}
.pr-pills li:hover{transform:translateY(-4px);background:#F1D9AE;box-shadow:0 10px 20px -14px rgba(140,90,20,.6)}
.pr-pills--sage li:hover{background:#CFE3CB;box-shadow:0 10px 20px -14px rgba(46,94,88,.55)}

/* schede requisiti: linea che si riempie */
.pr-req{position:relative;border-top-color:transparent!important}
.pr-req::before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:var(--line)}
.pr-req::after{content:"";position:absolute;top:-1px;left:0;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--ease)}
.pr-req:hover::after{transform:scaleX(1)}
.pr-req h3{transition:color .3s}.pr-req:hover h3{color:var(--deep)}

/* dati in evidenza */
.pr-fact strong,.pr-bignum b{font-variant-numeric:tabular-nums}
.pr-bignum{transition:padding-left .4s var(--ease)}
.pr-bignum:hover{padding-left:10px}

/* banda finale: luce che scorre */
.pr-cta-band{background:linear-gradient(120deg,#F5E8D3,#F8EEDC 30%,#E7EFDF 60%,#F5E8D3);background-size:300% 300%;animation:prShift 18s ease-in-out infinite}
@keyframes prShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* domande frequenti: apertura morbida */
.pr-faq details::details-content{block-size:0;overflow:clip;transition:block-size .45s var(--ease),content-visibility .45s allow-discrete}
.pr-faq details[open]::details-content{block-size:auto}
.pr-faq summary{transition:color .25s}
.pr-faq summary:hover{color:var(--deep)}
.pr-faq summary::after{transition:transform .4s var(--ease)}
.pr-faq details[open] summary::after{content:"+"!important;transform:translateY(-52%) rotate(45deg)!important}

/* moduli */
.pr-form :where(input,select,textarea){transition:border-color .25s,box-shadow .25s,background-color .25s}
.pr-form :where(input[type=text],input[type=email],input[type=tel],input[type=date],select):focus{box-shadow:0 0 0 5px rgba(224,164,58,.18)}
.pr-choice span{transition:background-color .25s,color .25s,border-color .25s,transform .25s var(--ease)}
.pr-choice:hover span{border-color:var(--deep);transform:translateY(-2px)}
.pr-panel{transition:box-shadow .5s var(--ease-soft)}
.pr-panel:focus-within{box-shadow:0 34px 80px -40px rgba(120,84,30,.45)}
.pr-alert{animation:prUp .6s var(--ease) both}

/* indice laterale */
.pr-toc a{transition:color .25s,padding-left .3s var(--ease),border-color .3s;border-left:2px solid transparent;margin-left:-1px}
.pr-toc a:hover,.pr-toc a.is-active{padding-left:22px;border-left-color:var(--accent);color:var(--deep)}

/* footer */
.pr-footer a{transition:color .25s}.pr-footer a:hover{color:#F3C979}

@media (max-width:900px){.pr-hero::before{width:380px;height:380px}.pr-hero::after{width:340px;height:340px}}
@media (max-width:560px){.pr-hero .pr-emblem{max-width:190px}.pr-emblem::before{inset:-22px}.pr-hero__grid{gap:32px!important}}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important}
 .pr-js [data-r]{opacity:1!important;transform:none!important}
 .pr-w>span{transform:none!important;opacity:1!important}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}
@media print{.pr-progress{display:none}.pr-js [data-r]{opacity:1!important;transform:none!important}}
