@charset "UTF-8";
/* Autovalutazione del lipedema: questionario dello studio su 100 pazienti */
#av-app { max-width: 760px; margin: 20px auto 40px auto; }
.av-progress { position: sticky; top: 0; z-index: 5; height: 10px; background: #ECE7F5; border-radius: 5px; overflow: hidden; }
.av-progress-bar { height: 100%; width: 0; background: #593A8C; transition: width 0.4s ease; }
.av-progress-txt { text-align: center; color: #3F2766; font-weight: 700; font-size: 0.95em; margin: 8px 0 20px 0; }
.av-sez { color: #593A8C; font-weight: 700; font-size: 1.25em; text-align: center; margin: 36px 0 14px 0; }
.av-q { background: #F4F1FA; border-radius: 14px; border-top: 6px solid #593A8C; padding: 20px 22px; margin: 0 0 22px 0; }
.av-q[hidden] { display: none; }
.av-q-n { color: #593A8C; font-weight: 700; font-size: 0.85em; text-transform: uppercase; letter-spacing: 0.05em; }
.av-q-t { color: #3F2766; font-weight: 700; font-size: 1.12em; line-height: 1.4; margin: 4px 0 14px 0; }
.av-opts { display: flex; flex-wrap: wrap; gap: 10px; }
.av-opt { border: 2px solid #593A8C; background: #FFFFFF; color: #3F2766; font-weight: 700; font-size: 1em; line-height: 1.3; border-radius: 40px; padding: 10px 18px; cursor: pointer; text-align: left; font-family: inherit; }
.av-opt:hover, .av-opt:focus-visible { background: #ECE7F5; outline: none; }
.av-opt[aria-pressed="true"] { background: #593A8C; color: #FFFFFF; }
.av-num { display: flex; flex-wrap: wrap; gap: 14px; }
.av-num label { color: #3F2766; font-weight: 700; display: flex; flex-direction: column; gap: 6px; font-size: 0.95em; }
.av-num input { width: 120px; border: 2px solid #593A8C; border-radius: 10px; padding: 8px 10px; font-size: 1.05em; color: #3F2766; font-family: inherit; }
.av-res { margin-top: 18px; }
.av-res-msg { color: #7B5FB0; font-weight: 700; margin: 0 0 12px 0; line-height: 1.45; }
.av-row { display: grid; grid-template-columns: minmax(0, 1fr) 64px; align-items: center; gap: 4px 10px; margin-bottom: 8px; font-size: 0.92em; color: #3F2766; }
.av-row-lab { grid-column: 1 / 3; font-weight: 700; }
.av-row-track { height: 16px; background: #FFFFFF; border-radius: 6px; overflow: hidden; }
.av-row-fill { height: 100%; width: 0; background: #C9BFE0; border-radius: 6px; transition: width 0.9s cubic-bezier(0.2, 0.7, 0.2, 1); }
.av-row.av-mia .av-row-fill { background: #593A8C; }
.av-row.av-mia .av-row-lab::after { content: "  ← la tua risposta"; color: #593A8C; }
.av-row-pct { font-weight: 700; text-align: right; }
.av-res-nota { color: #3F2766; font-size: 0.85em; margin: 8px 0 0 0; }
.av-mancanti { text-align: center; color: #3F2766; font-weight: 700; }
.av-riepilogo { background: #FFFFFF; border: 3px solid #593A8C; border-radius: 14px; padding: 22px; margin-top: 30px; }
.av-riepilogo-title { color: #593A8C; font-weight: 700; font-size: 1.3em; text-align: center; }
.av-riepilogo-sub, .av-riepilogo-nota { color: #3F2766; font-size: 0.88em; text-align: center; }
.av-riepilogo ol { color: #3F2766; padding-left: 22px; }
.av-riepilogo li { margin-bottom: 10px; line-height: 1.4; }
.av-riepilogo li strong { color: #7B5FB0; }
.av-azioni { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 16px; }
.av-btn { background: #593A8C; color: #FFFFFF; border: 0; border-radius: 40px; padding: 12px 24px; font-weight: 700; font-size: 1em; cursor: pointer; font-family: inherit; }
.av-btn-light { background: #ECE7F5; color: #3F2766; }
@media screen and (max-width: 699px) { .av-q { padding: 16px 14px; } .av-opt { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .av-row-fill, .av-progress-bar { transition: none; } }
.av-form { max-width: 760px; margin: 24px auto 40px auto; background: #F4F1FA; border-radius: 14px; border-top: 6px solid #A494C4; padding: 22px; }
.av-form-title { color: #A494C4; font-weight: 700; font-size: 1.3em; text-align: center; margin-bottom: 16px; }
.av-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.av-form-grid label { color: #3F2766; font-weight: 700; font-size: 0.95em; display: flex; flex-direction: column; gap: 6px; }
.av-form-grid label:last-child { grid-column: 1 / 3; }
.av-form-grid input, .av-form-grid textarea, .av-form-grid select { border: 2px solid #593A8C; border-radius: 10px; padding: 10px 12px; font-size: 1em; color: #3F2766; font-family: inherit; background: #FFFFFF; width: 100%; box-sizing: border-box; }
.av-form-check { position: relative; color: #3F2766; font-size: 0.92em; line-height: 1.5; margin-bottom: 12px; }
.av-form-check .check-grey + label { display: block; font-weight: normal; line-height: 24px; min-height: 24px; padding-left: 36px; }
.av-form-check .check-grey + label:before { top: 0; left: 0; width: 24px; height: 24px; margin-top: 0; box-sizing: border-box; }
.av-form-check .check-grey + label:after { top: 0; left: 0; width: 24px; height: 24px; line-height: 24px; text-align: center; font-size: 17px; }
.av-form-check a { color: #3F2766; font-weight: 700; }
.av-form-err { color: #D12F32; font-weight: 700; text-align: center; }
.av-form-nota { color: #3F2766; font-size: 0.85em; text-align: center; margin-top: 12px; }
.av-form-nota a { color: #3F2766; font-weight: 700; text-decoration: none; }
.av-btn-big { background-color: #593A8C; border: 2px solid #FFFFFF; color: #FFFFFF; font-size: 1em; line-height: 30px; padding: 22px 30px; border-radius: 45px; box-shadow: 0 6px 16px rgba(0,0,0,0.18); max-width: 400px; margin: 10px 0 15px 0; text-transform: uppercase; -webkit-transition: background-color 0.5s ease-out; transition: background-color 0.5s ease-out; }
.av-btn-big:hover, .av-btn-big:focus-visible { background-color: #A494C4; outline: none; }
.av-form-grid select { -webkit-appearance: none; appearance: none; line-height: 1.2; background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23593A8C' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center; padding-right: 36px; }
.av-btn[disabled] { opacity: 0.6; cursor: default; }
@media screen and (max-width: 699px) { .av-form { padding: 16px 14px; } .av-form-grid { grid-template-columns: 1fr; } .av-form-grid label:last-child { grid-column: auto; } .av-btn-big { width: 100%; max-width: 97%; } }
#av-app [hidden] { display: none !important; }
#av-mancanti { margin: 10px 0 0 0; }
.av-mancanti-txt { color: #3F2766; font-weight: 700; }
.av-mancanti-lista { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 12px 0 4px 0; }
.av-mancante { border: 2px solid #593A8C; background: #FFFFFF; color: #3F2766; border-radius: 30px; padding: 6px 14px; font-weight: 700; font-size: 0.8em; cursor: pointer; font-family: inherit; text-transform: uppercase; letter-spacing: 0.03em; }
.av-mancante:hover, .av-mancante:focus-visible { background: #ECE7F5; outline: none; }
.av-mancante-saltata { border-color: #E8912B; color: #B35F00; }
.av-q.av-saltata { border-top-color: #E8912B; box-shadow: 0 0 0 2px #E8912B; }
.av-q.av-saltata .av-q-n { color: #B35F00; }
.av-q.av-saltata .av-q-n::after { content: " – non hai ancora risposto"; text-transform: none; letter-spacing: 0; }
@keyframes av-flash { 0% { box-shadow: 0 0 0 0 rgba(54,203,212,0.6); } 100% { box-shadow: 0 0 0 16px rgba(54,203,212,0); } }
.av-q.av-flash { animation: av-flash 0.9s ease-out 2; }
@media (prefers-reduced-motion: reduce) { .av-q.av-flash { animation: none; } }
#av-print { display: none; }
@media print {
  html.av-print-mode body > *:not(#av-print) { display: none !important; }
  html.av-print-mode body { margin: 0 !important; padding: 0 !important; background: #FFFFFF !important; }
  html.av-print-mode #av-print { display: block !important; }
  #av-print .av-riepilogo { border: 0; margin: 0; padding: 0; }
  #av-print .av-azioni { display: none !important; }
}
/* adattamento al template di minichirurgiaplastica.it */
#av-app, .av-form { box-sizing: border-box; text-align: left; }
#av-app [hidden] { display: none !important; }
#av-mancanti { margin: 10px 0 0 0; }
.av-mancanti-txt { color: #3F2766; font-weight: 700; }
.av-mancanti-lista { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 12px 0 4px 0; }
.av-mancante { border: 2px solid #A494C4; background: #FFFFFF; color: #3F2766; border-radius: 30px; padding: 6px 14px; font-weight: 700; font-size: 0.8em; cursor: pointer; font-family: inherit; text-transform: uppercase; letter-spacing: 0.03em; }
.av-mancante:hover, .av-mancante:focus-visible { background: #ECE7F5; outline: none; }
.av-mancante-saltata { border-color: #E8912B; color: #B35F00; }
.av-q.av-saltata { border-top-color: #E8912B; box-shadow: 0 0 0 2px #E8912B; }
.av-q.av-saltata .av-q-n { color: #B35F00; }
.av-q.av-saltata .av-q-n::after { content: " – non hai ancora risposto"; text-transform: none; letter-spacing: 0; }
@keyframes av-flash { 0% { box-shadow: 0 0 0 0 rgba(89,58,140,0.6); } 100% { box-shadow: 0 0 0 16px rgba(89,58,140,0); } }
.av-q.av-flash { animation: av-flash 0.9s ease-out 2; }
@media (prefers-reduced-motion: reduce) { .av-q.av-flash { animation: none; } }
#av-app { padding: 0 20px; }
#av-app p, .av-form p { padding-left: 0; padding-right: 0; }
#av-app p::first-letter, .av-form p::first-letter { font-size: inherit; line-height: inherit; font-family: inherit; display: inline; text-transform: none; }
.av-q-t, .av-res-msg { text-align: left; }
.av-riepilogo-sub, .av-riepilogo-nota, .av-mancanti, .av-progress-txt, .av-form-nota, .av-form-err { text-align: center !important; }
.txt-right .av-form-check a, .txt-right .av-form-nota a { color: #3F2766; font-weight: 700; }
.av-form-check .check-grey + label { color: #3F2766; }
@media screen and (max-width: 699px) { #av-app { padding: 0 12px; } .av-form { margin-left: 12px; margin-right: 12px; } }

/* colore unico per il testo di tutti i campi del modulo finale */
.av-form input, .av-form select, .av-form textarea { color: #A494C4; -webkit-text-fill-color: #A494C4; font-style: normal; }
.av-form input::placeholder, .av-form textarea::placeholder { color: #A494C4; -webkit-text-fill-color: #A494C4; opacity: 1; font-style: normal; }
.av-form select option { color: #A494C4; }
.av-form-check .check-grey + label:before, .av-form-check .check-grey:checked + label:before, .av-form-check .check-grey:focus + label:before { border: 2px solid #593A8C; }
