/* ==========================================================
   Nuvola – pagina Resi e rimborsi
   Caricato solo su module/nuvola/resi, dal front controller.
   ========================================================== */

.nv-resi{max-width:860px;margin:0 auto;padding:8px 0 56px}
.nv-resi__intro{color:var(--nv-muted);line-height:1.65;margin:0 0 26px;font-size:1.02rem}

/* --- le regole --- */
.nv-resi__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.nv-resi__card{background:var(--nv-surface);border:1px solid var(--nv-line);border-radius:var(--nv-radius);padding:20px 22px}
.nv-resi__card-title{margin:0 0 10px;font-size:1.02rem;font-weight:700;color:var(--nv-ink)}
.nv-resi__card p{margin:0;color:var(--nv-muted);line-height:1.62;font-size:.95rem}
.nv-resi__card strong{color:var(--nv-ink)}

.nv-resi__points{margin:18px 0 0;padding:20px 22px;border-radius:var(--nv-radius);background:var(--nv-cobalt-soft)}
.nv-resi__points p{margin:0;color:var(--nv-muted);line-height:1.62;font-size:.95rem}
.nv-resi__points strong{color:var(--nv-ink)}
.nv-resi__points a{color:var(--nv-cobalt);font-weight:600}

.nv-resi__excl{margin:18px 0 0;padding:20px 22px;border-radius:var(--nv-radius);background:var(--nv-kraft-soft)}
.nv-resi__excl ul{margin:0;padding-left:20px;color:var(--nv-muted);line-height:1.62;font-size:.95rem}
.nv-resi__excl li{margin:0 0 8px}
.nv-resi__small{margin:14px 0 0;color:var(--nv-muted);font-size:.87rem;line-height:1.55}
.nv-resi__small a{color:var(--nv-cobalt);font-weight:600}

/* --- la richiesta --- */
.nv-resi__form-wrap{margin:44px 0 0;padding:28px 0 0;border-top:2px solid var(--nv-line)}
.nv-resi__title{margin:0 0 20px;font-size:1.35rem;font-weight:700;color:var(--nv-ink)}
.nv-resi__note{color:var(--nv-muted);line-height:1.65;margin:0 0 18px}
.nv-resi__note a{color:var(--nv-cobalt);font-weight:600}
.nv-resi__hint{margin:0 0 14px;color:var(--nv-muted);font-size:.9rem;line-height:1.55}

.nv-resi__ok{padding:22px 24px;border-radius:var(--nv-radius);background:#E9F5ED;color:#1E5C38;line-height:1.62}
.nv-resi__ok p{margin:0 0 10px}
.nv-resi__ok p:last-child{margin:0}
.nv-resi__ok a{color:#1E5C38;font-weight:700}

.nv-resi__errors{margin:0 0 20px;padding:14px 18px;border-radius:10px;background:#FBE9E8;color:#C8302A;line-height:1.55}
.nv-resi__errors p{margin:0 0 6px}
.nv-resi__errors p:last-child{margin:0}

.nv-resi__step{border:0;margin:0 0 26px;padding:0}
.nv-resi__step-title{margin:0 0 14px;padding:0;font-size:1.02rem;font-weight:700;color:var(--nv-ink)}

/* ordini */
.nv-resi__order{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin:0 0 10px;border:2px solid var(--nv-line);border-radius:12px;background:var(--nv-surface);cursor:pointer}
.nv-resi__order:has(input:checked){border-color:var(--nv-cobalt);background:var(--nv-cobalt-soft)}
.nv-resi__order input{margin-top:4px;flex:0 0 auto}
.nv-resi__order-text{display:flex;flex-direction:column;gap:4px}
.nv-resi__order-text strong{letter-spacing:.04em}
.nv-resi__order-meta{color:var(--nv-muted);font-size:.88rem}
.nv-resi__badge{align-self:flex-start;margin-top:4px;padding:3px 10px;border-radius:20px;background:#E9F5ED;color:#1E5C38;font-size:.8rem;font-weight:600}
.nv-resi__badge--off{background:var(--nv-bg);color:var(--nv-muted)}

/* prodotti */
.nv-resi__products{border:1px solid var(--nv-line);border-radius:12px;background:var(--nv-surface);overflow:hidden}
.nv-resi__product{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--nv-line)}
.nv-resi__product:last-child{border-bottom:0}
.nv-resi__product-name{font-size:.95rem;line-height:1.45}
.nv-resi__product-qty{display:flex;gap:8px;align-items:center;flex:0 0 auto;color:var(--nv-muted);font-size:.87rem}
.nv-resi__product-qty input{width:68px;min-height:40px;padding:0 10px;border:2px solid var(--nv-line);border-radius:10px;background:var(--nv-bg);font-family:inherit;font-size:1rem;text-align:center}
.nv-resi__product-qty input:focus{border-color:var(--nv-cobalt);background:#fff;outline:none}

/* motivi */
.nv-resi__reason{display:flex;gap:10px;align-items:center;padding:12px 16px;margin:0 0 8px;border:2px solid var(--nv-line);border-radius:12px;background:var(--nv-surface);cursor:pointer;font-size:.95rem}
.nv-resi__reason:has(input:checked){border-color:var(--nv-cobalt);background:var(--nv-cobalt-soft)}
.nv-resi__reason.is-off{opacity:.5;cursor:not-allowed}

.nv-resi__reserve{margin:14px 0 0;padding:14px 16px;border-radius:12px;background:var(--nv-bg)}
.nv-resi__reserve label{display:flex;gap:10px;align-items:center;cursor:pointer;font-size:.95rem}
.nv-resi__reserve .nv-resi__small{margin-top:10px}

/* foto e nota */
.nv-resi__photo{margin:0 0 20px;padding:16px;border:2px dashed var(--nv-line);border-radius:12px}
.nv-resi__photo label{display:block;margin:0 0 10px;color:var(--nv-muted);font-size:.9rem;line-height:1.55}
.nv-resi__photo strong{color:var(--nv-ink)}
.nv-resi__form textarea{width:100%;margin:8px 0 0;padding:12px 14px;border:2px solid var(--nv-line);border-radius:12px;background:var(--nv-bg);font-family:inherit;font-size:.95rem;line-height:1.55;resize:vertical}
.nv-resi__form textarea:focus{border-color:var(--nv-cobalt);background:#fff;outline:none}
.nv-resi__form .nv-btn{margin-top:18px;min-height:50px;padding:0 32px}

@media (max-width:560px){
  .nv-resi__product{flex-direction:column;align-items:flex-start;gap:8px}
  .nv-resi__form .nv-btn{width:100%}
}
