/* Pagine di accesso (login, conferma, attivazione, scelta azienda): foto + modulo scuro. Si appoggia a app.css per .btn, .msg, .pw */
body.accesso{--nero:#0E0D0B;--oro:#C9A227;--oro2:#E6C55A;margin:0;padding:0;min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:var(--nero);color:#fff}
.acc-foto{position:relative;overflow:hidden;min-height:100vh}
.acc-foto>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.85);animation:acc-kb 28s ease-in-out infinite alternate}
@keyframes acc-kb{from{transform:scale(1)}to{transform:scale(1.08)}}
.acc-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,13,11,.25),rgba(14,13,11,.55) 70%,var(--nero)),linear-gradient(0deg,rgba(14,13,11,.9),transparent 45%)}
.acc-testo{position:absolute;left:clamp(28px,6vw,80px);right:40px;bottom:clamp(40px,8vh,90px);z-index:2}
.acc-logo{width:92px;display:block;margin-bottom:22px;filter:drop-shadow(0 6px 20px rgba(0,0,0,.6))}
.acc-testo h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(2.4rem,4.6vw,4.4rem);line-height:1.02;margin:0 0 14px;letter-spacing:-.01em;color:#fff}
.acc-testo h1 em{color:var(--oro2);font-style:italic}
.acc-testo p{font-size:1rem;color:#D8D0BC;max-width:440px;line-height:1.6;margin:0}
.acc-riga{width:64px;height:2px;background:linear-gradient(90deg,var(--oro),transparent);margin:22px 0}
.acc-pannello{display:flex;align-items:center;justify-content:center;padding:40px 28px;background:radial-gradient(ellipse 80% 60% at 70% 10%,rgba(201,162,39,.14),transparent 60%)}
.acc-card{width:100%;max-width:400px;position:relative}
.acc-card.larga{max-width:520px}
.acc-card::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--oro2),transparent);animation:acc-luce 4s ease-in-out infinite}
@keyframes acc-luce{0%,100%{opacity:.35}50%{opacity:1}}
.acc-card h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:2.6rem;margin:26px 0 4px;line-height:1;color:#fff}
.acc-sotto{color:#8F897B;font-size:.9rem;margin:0 0 26px;line-height:1.5}
.acc-sotto b,.acc-sotto a{color:#D8D0BC}
.acc-card label{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#B8B0A0;margin:18px 0 6px;font-weight:500}
.acc-card input:not([type=checkbox]){width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.22);border-radius:0;color:#fff;font:inherit;font-size:1.05rem;padding:10px 0;outline:0;box-shadow:none;transition:border-color .25s}
.acc-card input:not([type=checkbox]):focus{border-bottom-color:var(--oro2);box-shadow:0 1px 0 var(--oro2)}
.acc-card input:-webkit-autofill{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 1000px var(--nero) inset;transition:background-color 9999s}
.acc-card .pw input{padding-right:40px}.acc-card .pw-btn{color:#B8B0A0}.acc-card .pw-btn:hover{color:var(--oro2)}
.acc-card .chk{display:flex;gap:10px;align-items:center;font-size:.82rem;color:#B8B0A0;margin:22px 0 24px;cursor:pointer;text-transform:none;letter-spacing:0}
.acc-card .chk input{width:16px;height:16px;accent-color:var(--oro)}
.acc-card .btn.pri{width:100%;border:0;border-radius:6px;padding:15px;background:linear-gradient(135deg,var(--oro2),var(--oro));color:var(--nero);font-weight:700;font-size:1rem;letter-spacing:.04em;box-shadow:0 14px 30px rgba(201,162,39,.25);transition:transform .2s,box-shadow .2s;text-align:center}
.acc-card .btn.pri:hover{background:linear-gradient(135deg,var(--oro2),var(--oro));transform:translateY(-1px);box-shadow:0 18px 36px rgba(201,162,39,.35)}
.acc-card .btn.ghost{width:100%;text-align:center;color:#D8D0BC;border:1px solid rgba(255,255,255,.25);background:transparent;padding:14px}
.acc-card .btn.ghost:hover{border-color:var(--oro2);color:var(--oro2);background:transparent}
.acc-card .sub{text-align:center;font-size:.85rem;color:#B8B0A0;margin-top:18px;line-height:1.6}
.acc-card .sub a,.acc-card a.link{color:var(--oro2);text-decoration:none}
.acc-card .msg{margin:0 0 14px}
.acc-card .msg.err{background:rgba(185,58,44,.18);color:#F0A59B;border-color:rgba(185,58,44,.5)}
.acc-card .msg.ok{background:rgba(62,123,62,.2);color:#9BC59B;border-color:rgba(62,123,62,.5)}
.acc-card .lista-az{gap:10px}
.acc-card .lista-az .az{border-color:rgba(255,255,255,.18);color:#fff;background:rgba(255,255,255,.03)}
.acc-card .lista-az .az:hover{border-color:var(--oro2);background:rgba(201,162,39,.1)}
.acc-card .lista-az .az small{color:#B8B0A0}
.acc-sicuro{display:flex;gap:8px;align-items:center;justify-content:center;font-size:.72rem;color:#6E685C;margin:16px 0 0;text-align:center}
.acc-foot{margin:44px 0 0;font-size:.72rem;color:#6E685C;text-align:center}.acc-foot a{color:#9C8A4A;text-decoration:none}
@media (max-width:860px){
  body.accesso{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .acc-foto{min-height:44vh}.acc-foto::after{background:linear-gradient(0deg,var(--nero),rgba(14,13,11,.35) 60%,rgba(14,13,11,.2))}
  .acc-testo{left:24px;right:24px;bottom:22px}.acc-logo{width:64px;margin-bottom:12px}.acc-testo h1{font-size:2.1rem}.acc-testo p,.acc-riga{display:none}
  .acc-pannello{padding:6px 24px 34px;align-items:flex-start}.acc-card h2{font-size:2.1rem;margin-top:10px}.acc-sotto{margin-bottom:14px}.acc-foot{margin-top:30px}
}
@media (prefers-reduced-motion:reduce){.acc-foto>img,.acc-card::before{animation:none}}
