/* Pagina "Scrivi una recensione" — chrome minimale e dedicato (non il
   sito pubblico completo), stessa scelta di design del mockup: una sola
   colonna, niente header/footer con nav completa, focus sul form. */
body{min-height:100vh;}

.site-header{border-bottom:1px solid var(--line);background:#fff;height:var(--header-h);display:flex;align-items:center;}
.site-footer{background:var(--primary-dark);color:#CFE0D8;padding:1.6rem 0;text-align:center;font-size:.8rem;}

.venue-preview-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1rem;display:flex;align-items:center;gap:1rem;margin-bottom:1.6rem;max-width:600px;margin-left:auto;margin-right:auto;}
.venue-preview-card img, .venue-preview-card__empty{width:56px;height:56px;border-radius:12px;object-fit:cover;flex:0 0 auto;}
.venue-preview-card__empty{background:var(--paper-alt);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;}
.venue-preview-card__name{font-family:'Fraunces',serif;font-weight:600;font-size:1.05rem;}

.step-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:2rem;}
.step-indicator .dot{width:32px;height:32px;border-radius:50%;background:#fff;border:1.5px solid var(--line);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;}
.step-indicator .dot.active{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff;}
.step-indicator .dot.done{background:var(--primary-tint);border-color:var(--primary);color:var(--primary-dark);}
.step-indicator .line{width:36px;height:1.5px;background:var(--line);}
.step-indicator .line.done{background:var(--primary);}

.step-form-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:2rem;max-width:600px;margin:0 auto;}
.step-form-card h2{font-size:1.3rem;margin-bottom:.3rem;}
.step-pane{display:none;}
.step-pane.active{display:block;}

.rating-cat-row{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0;border-bottom:1px dashed var(--line);}
.rating-cat-row:last-child{border-bottom:none;}
.rating-cat-row .cat-label{font-size:.92rem;font-weight:600;}
.rating-input{display:flex;gap:.3rem;font-size:1.5rem;}
.rating-input i{cursor:pointer;color:var(--line);}
.rating-input i.filled{color:var(--accent-dark);}

.form-label-c{font-size:.83rem;font-weight:700;margin-bottom:.35rem;display:block;}
.form-control-c{border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:.65rem .9rem;font-size:16px;width:100%;min-height:46px;}
.form-control-c:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint);outline:none;}
textarea.form-control-c{min-height:130px;resize:vertical;}
.form-help{font-size:.76rem;color:var(--ink-soft);margin-top:.3rem;}
.char-counter{font-size:.78rem;color:var(--ink-soft);text-align:right;margin-top:.35rem;}
.char-counter.ok{color:var(--primary-dark);font-weight:700;}

.reviewer-recap{display:flex;align-items:center;gap:.8rem;background:var(--paper-alt);border-radius:var(--radius-md);padding:.9rem 1.1rem;}
.reviewer-recap__avatar{width:42px;height:42px;border-radius:50%;background:var(--primary-tint);color:var(--primary-dark);display:flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto;}
.reviewer-recap__name{font-weight:700;}
.reviewer-recap__email{font-size:.85rem;}

.step-footer{display:flex;justify-content:space-between;gap:.6rem;margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--line);}

.field-error{display:none;color:#B3452F;font-size:.82rem;margin-top:.8rem;}
.field-error.show{display:block;}

.success-state{text-align:center;padding:1.5rem;}
.success-state i{font-size:3rem;color:var(--primary);}

.review-photo-upload{display:flex;gap:.6rem;flex-wrap:wrap;}
.review-photo-tile{width:80px;height:80px;border-radius:10px;position:relative;overflow:hidden;flex:0 0 auto;}
.review-photo-tile img{width:100%;height:100%;object-fit:cover;display:block;}
.review-photo-tile button{position:absolute;top:.2rem;right:.2rem;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;border:none;font-size:.7rem;display:flex;align-items:center;justify-content:center;}
.review-photo-add{width:80px;height:80px;border-radius:10px;border:1.5px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);cursor:pointer;flex:0 0 auto;}
.review-photo-add:hover{border-color:var(--primary);color:var(--primary);}
.review-photo-add.d-none-force{display:none;}
