/* Visual refinements: 2026-09-13 */
.brand{font-size:0!important}
.brand::before{content:"Disegnatore AutoCAD e Revit";display:block;color:#0b2a46;font-weight:850;font-size:20px;line-height:1}
.brand span{font-size:10px!important}
.visual-showcase{background:linear-gradient(180deg,#eef6fc 0%,#f8fbfe 100%)}
.visual-heading{max-width:900px}
.visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.visual-card{margin:0;background:#fff;border:1px solid #d7e2ec;border-radius:18px;overflow:hidden;box-shadow:0 14px 36px rgba(11,58,91,.09);display:flex;flex-direction:column;height:100%}
.visual-card img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:contain!important;object-position:center center!important;background:#fff!important;padding:14px!important;box-sizing:border-box!important;flex:0 0 auto}
.visual-card figcaption{display:grid;gap:5px;padding:18px 20px;flex:1;align-content:start;border-top:1px solid #edf2f6}
.visual-card figcaption strong{font-size:20px;color:#0b2a46}
.visual-card figcaption span{color:#5e7185}
.form-step{position:relative;margin:0;border:1px solid #d7e2ec;border-radius:18px;background:#fff;padding:28px;box-shadow:0 8px 26px rgba(11,58,91,.055)}
.step-title{display:flex;align-items:baseline;gap:8px;margin:-28px -28px 22px;padding:18px 26px 16px;border-bottom:1px solid #d7e2ec;border-radius:18px 18px 0 0;background:linear-gradient(90deg,#edf7ff,#f8fbfe);color:#0b2a46;font-size:23px;line-height:1.2}
.step-title span{font-size:15px;font-weight:600;color:#75889a}
.form-visual{display:grid;grid-template-columns:1fr minmax(250px,40%);align-items:center;gap:24px;overflow:hidden;border-radius:18px;background:linear-gradient(135deg,#082f50,#0a67aa);color:#fff;box-shadow:0 16px 38px rgba(11,58,91,.14)}
.form-visual-copy{padding:28px}
.form-visual-copy strong{display:block;margin:7px 0 8px;font-size:25px;line-height:1.18}
.form-visual-copy p{margin:0;color:#d8edf9}
.visual-kicker{font-size:11px;font-weight:900;letter-spacing:.16em;color:#7fd8ff}
.form-visual img{width:100%;height:auto;max-height:none;object-fit:contain;background:#fff}
.hero-card img{aspect-ratio:3/1;object-fit:cover}
.hero-card{border:1px solid rgba(11,58,91,.08)}
.price-includes{margin-top:18px;padding:14px 16px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.09);color:#fff!important;font-size:16px!important}
.price-includes strong{color:#fff}
.upload-label{display:grid!important}
.photo-upload-label{margin-bottom:30px!important}
.photo-upload-label input[type="file"],.docs-upload-label input[type="file"]{margin-bottom:0!important}
.photo-upload-label small,.docs-upload-label small{display:block!important;margin-top:6px!important;line-height:1.45!important}
.photo-upload-label small{margin-bottom:0!important}
.docs-upload-label small{margin-bottom:0!important}
.selected-files{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 4px}
.selected-file{display:grid;grid-template-columns:46px minmax(0,1fr) 34px;align-items:center;gap:10px;min-width:260px;max-width:100%;padding:8px;border:1px solid #cad9e6;border-radius:11px;background:#f8fbfd;box-shadow:0 3px 12px rgba(11,58,91,.05)}
.file-preview{width:46px;height:46px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#eaf3fa;color:#0b3a5b;font-size:10px;font-weight:900}
.file-preview img{width:100%;height:100%;object-fit:cover;display:block}
.file-meta{min-width:0;display:grid;line-height:1.2}
.file-meta strong{font-size:13px;color:#17344e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-meta span{margin-top:4px;font-size:12px;color:#718294}
.file-remove{width:30px;height:30px;border:1px solid #cbd8e3;border-radius:50%;background:#fff;color:#6a7c8c;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.file-remove:hover{border-color:#d85858;color:#b52e2e;background:#fff5f5}
.cloud-upload-box{margin:18px 0;padding:18px;border:1px solid #91c8eb;border-radius:14px;background:linear-gradient(180deg,#f0f9ff,#f8fcff);box-shadow:0 8px 24px rgba(11,58,91,.06)}
.cloud-upload-box[hidden]{display:none!important}
.cloud-upload-head{display:grid;gap:5px;margin-bottom:14px}
.cloud-upload-head strong{font-size:18px;color:#0b3a5b}
.cloud-upload-head span{color:#526f86;line-height:1.45}
.cloud-services{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.cloud-services a{display:inline-flex;align-items:center;text-decoration:none;font-weight:800;font-size:13px;color:#0b3a5b;background:#fff;border:1px solid #bdd6e8;border-radius:999px;padding:8px 12px}
.cloud-services a:hover{background:#eaf6ff}
.cloud-upload-box label{display:grid;gap:7px;font-weight:800;color:#17344e}
.cloud-upload-box input[type="url"]{width:100%;box-sizing:border-box}
.cloud-upload-box small{display:block;margin-top:8px;color:#647b8e;line-height:1.45}
.notice-info{border-color:#8fc4ea!important;background:#eef8ff!important;color:#174d73!important}
.notice-error{border-color:#efaaaa!important;background:#fff3f3!important;color:#7b2525!important}
.submit-fallback{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.submit-fallback a{display:inline-flex;text-decoration:none;font-weight:800;padding:9px 13px;border-radius:9px;background:#fff;border:1px solid currentColor;color:#0b3a5b}
.submit:disabled{opacity:.7;cursor:wait}
@media(max-width:850px){.visual-grid{grid-template-columns:1fr}.visual-card img{aspect-ratio:4/3!important;padding:10px!important}.form-visual{grid-template-columns:1fr}.hero-card img{aspect-ratio:auto;object-fit:contain}}
@media(max-width:576px){.brand::before{font-size:17px}.form-step{padding:20px 16px}.step-title{margin:-20px -16px 18px;padding:15px 16px 14px;font-size:20px;flex-wrap:wrap}.step-title span{font-size:13px}.form-visual-copy{padding:20px}.form-visual-copy strong{font-size:21px}.hero-card{border-radius:14px}.visual-card{border-radius:14px}.visual-card img{padding:8px!important}.selected-file{min-width:100%;grid-template-columns:42px minmax(0,1fr) 34px}.file-preview{width:42px;height:42px}.photo-upload-label{margin-bottom:26px!important}.cloud-upload-box{padding:15px}.cloud-services a{width:100%;justify-content:center}}

/* Recensioni clienti */
.reviews-section{background:linear-gradient(180deg,#f8fbfe 0%,#eef6fc 100%);border-top:1px solid #dce8f1}
.reviews-section .section-heading{max-width:860px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}
.review-card{position:relative;min-height:180px;padding:24px;border:1px solid #d7e2ec;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(11,58,91,.07);display:flex;flex-direction:column;justify-content:space-between}
.review-card p{margin:16px 0;color:#334f67;font-size:16px;line-height:1.65}
.review-card span{font-size:13px;font-weight:800;color:#6d8193;text-transform:uppercase;letter-spacing:.06em}
.review-mark{position:absolute;top:8px;right:18px;font-size:56px;line-height:1;color:#d8e9f5;font-family:Georgia,serif}
.review-empty{grid-column:1/-1;min-height:120px;background:linear-gradient(135deg,#fff,#f7fbfe)}
@media(max-width:850px){.reviews-grid{grid-template-columns:1fr 1fr}}
@media(max-width:576px){.reviews-grid{grid-template-columns:1fr}.review-card{padding:20px;border-radius:14px}}

/* Carousel recensioni: navigazione manuale ciclica */
.reviews-carousel{position:relative;overflow:hidden;padding:4px 0 10px;touch-action:pan-y;overscroll-behavior-x:none;scroll-behavior:smooth}
.reviews-carousel .reviews-grid{display:flex;gap:18px;width:max-content;margin-top:26px;transform:none!important;animation:none!important;will-change:auto}
.reviews-loop-group{display:contents}
.reviews-carousel .review-card{flex:0 0 min(360px,82vw);width:min(360px,82vw);min-height:190px}
.review-nav{position:absolute;top:50%;z-index:5;width:46px;height:46px;border:1px solid #c5d9e7;border-radius:50%;background:rgba(255,255,255,.96);color:#0b4a6f;box-shadow:0 7px 22px rgba(11,58,91,.18);display:flex;align-items:center;justify-content:center;font-size:27px;line-height:1;cursor:pointer;transform:translateY(-50%);transition:transform .16s ease,background .16s ease,box-shadow .16s ease}
.review-nav:hover{background:#f0f8fd;box-shadow:0 9px 26px rgba(11,58,91,.23);transform:translateY(-50%) scale(1.05)}
.review-nav:focus-visible{outline:3px solid #63b7e6;outline-offset:2px}
.review-nav-prev{left:8px}.review-nav-next{right:8px}
.review-nav[hidden]{display:none!important}
@media(max-width:576px){.review-nav{width:40px;height:40px;font-size:23px}.review-nav-prev{left:5px}.review-nav-next{right:5px}}
.review-submit-section{padding:0 0 70px;background:linear-gradient(180deg,#eef6fc 0%,#fff 100%)}
.review-submit-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:34px;padding:28px;border:1px solid #d7e2ec;border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(11,58,91,.07)}
.review-submit-card h3{margin:5px 0 8px;font-size:27px;color:#0b2a46}
.review-submit-card p{color:#587086;line-height:1.55}
.review-form{display:grid;gap:15px}.review-form label{display:grid;gap:7px;font-weight:800;color:#17344e}.review-form input[type="text"],.review-form textarea{width:100%;box-sizing:border-box}
.review-consent{grid-template-columns:auto 1fr!important;align-items:start;gap:10px!important;font-weight:500!important;font-size:14px;line-height:1.45}.review-consent input{margin-top:3px}
.review-status{min-height:1.3em;margin:0!important;font-size:14px;font-weight:700}.review-status.is-success{color:#17653b}.review-status.is-error{color:#a52929}
@media(max-width:850px){.review-submit-card{grid-template-columns:1fr}.reviews-carousel .review-card{flex-basis:min(340px,86vw);width:min(340px,86vw)}}
@media(max-width:576px){.review-submit-card{padding:20px 16px;border-radius:14px}.review-submit-card h3{font-size:23px}.review-submit-section{padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){.reviews-carousel .reviews-marquee-track{animation:none!important;transform:none!important}}
