/* Omega · Preventivo e sopralluogo (si appoggia ai colori e ai caratteri del tema) */
.oms-body .om-pagina-titolo{display:none}
.oms-body .om-pagina-corpo>*{max-width:none}
.oms-pagina{--ok:#E6EDE5;--err:#9B2C1F;padding-bottom:8px}
.oms-testa{display:flex;flex-direction:column;gap:12px;padding:8px 0 24px;max-width:720px}
.oms-testa h1{font-size:clamp(36px,8vw,64px)}
.oms-testa>p:last-child{color:var(--grigio);font-size:17px}
.oms{display:grid;gap:24px;align-items:start}
.oms [hidden]{display:none!important}
.oms-modulo{min-width:0;display:flex;flex-direction:column;gap:16px}

/* avanzamento */
.oms-avanz{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.oms-avanz button{width:100%;background:none;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:8px;text-align:left;color:var(--grigio);font:600 12px var(--sans)}
.oms-avanz button::before{content:"";display:block;height:3px;border-radius:3px;background:var(--linea);transition:background .3s}
.oms-avanz b{display:none}
.oms-avanz span{display:none}
.oms-avanz .fatto button::before{background:var(--salvia)}
.oms-avanz .ora button::before{background:var(--bosco)}
.oms-avanz .ora button{color:var(--inchiostro)}

/* passi */
.oms-passo{border:0;margin:0;padding:24px 18px 20px;background:#fff;border:1px solid var(--linea);border-radius:8px;min-width:0;animation:oms-entra .4s cubic-bezier(.2,.7,.2,1)}
.js-oms .oms-passo:not(.ora){display:none}
@keyframes oms-entra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.oms-passo legend{float:left;width:100%;padding:0;margin:0 0 20px;font:400 28px/1.1 var(--serif);letter-spacing:-.01em;display:flex;flex-direction:column;gap:6px}
.oms-passo legend span{font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--bosco)}
.oms-passo legend~*{clear:both}
.oms-lab{font-weight:700;font-size:16px;margin:0 0 4px}
.oms-lab i,.oms-f i{color:var(--bosco);font-style:normal}
.oms-aiuto{color:var(--grigio);font-size:14px;margin:0 0 12px}
.oms-gruppo+.oms-gruppo{margin-top:26px}
.oms-gruppo>.oms-lab:only-child{margin-bottom:12px}
.oms-gruppo .oms-lab+.oms-carte{margin-top:12px}

/* carte con foto */
.oms-griglia-foto{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.oms-fc{position:relative;cursor:pointer;display:flex;flex-direction:column;gap:8px;border-radius:6px}
.oms-fc input{position:absolute;opacity:0;pointer-events:none}
.oms-fc-img{display:block;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:var(--carta2);outline:2px solid transparent;outline-offset:2px;transition:outline-color .2s}
.oms-fc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .3s}
.oms-fc:hover img{transform:scale(1.04)}
.oms-fc-nome{font:600 15px var(--sans);display:flex;align-items:center;gap:8px}
.oms-fc-nome::before{content:"";flex:none;width:18px;height:18px;border:1.5px solid var(--linea);border-radius:50%;transition:all .2s;background:#fff center/11px no-repeat}
.oms-fc:has(input:checked) .oms-fc-img{outline-color:var(--bosco)}
.oms-fc:has(input:checked) .oms-fc-nome::before{background-color:var(--bosco);border-color:var(--bosco);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.2 3L11 1' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E")}
.oms-fc:has(input:focus-visible) .oms-fc-img{outline-color:var(--inchiostro)}

/* carte di testo */
.oms-carte{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.oms-carta{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px 14px 14px 42px;border:1px solid var(--linea);border-radius:6px;cursor:pointer;background:#fff;transition:border-color .2s,background .2s}
.oms-carta input{position:absolute;left:14px;top:16px;width:18px;height:18px;margin:0;accent-color:var(--bosco)}
.oms-carta strong{font-size:15px}
.oms-carta small{font-size:13px;color:var(--grigio);line-height:1.35}
.oms-carta:hover{border-color:#B9B1A4}
.oms-carta:has(input:checked){border-color:var(--bosco);background:var(--ok)}

/* campi */
.oms-griglia{display:grid;grid-template-columns:1fr;gap:16px}
.oms-f{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.oms input[type=text],.oms input[type=email],.oms input[type=tel],.oms input[type=date],.oms select,.oms textarea{font:16px var(--sans);min-height:52px;padding:12px 14px;background:var(--carta);color:var(--inchiostro);border:1px solid var(--linea);border-radius:6px;width:100%;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.oms select{background:var(--carta) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231C201D' stroke-width='1.5'/%3E%3C/svg%3E") right 16px center/12px no-repeat;padding-right:40px}
.oms textarea{min-height:120px;resize:vertical}
.oms input:focus,.oms select:focus,.oms textarea:focus{outline:0;border-color:var(--bosco);box-shadow:0 0 0 3px rgba(30,74,50,.15);background-color:#fff}
.oms .oms-f.ko input,.oms .oms-f.ko select{border-color:var(--err)}
.oms-err{color:var(--err);font-style:normal;font-size:13px;font-weight:500}
.oms ::placeholder{color:#9A9890}
.oms-gruppo.ko .oms-lab{color:var(--err)}

/* foto */
.oms-zona{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:32px 18px;border:1.5px dashed #B9B1A4;border-radius:8px;cursor:pointer;background:var(--carta);transition:border-color .2s,background .2s;color:var(--grigio);font-size:14px}
.oms-zona input{position:absolute;width:1px;height:1px;opacity:0}
.oms-zona strong{font:400 24px var(--serif);color:var(--inchiostro)}
.oms-zona small{font-size:12.5px;margin-top:4px}
.oms-zona-icona{width:52px;height:52px;border-radius:50%;background:var(--bosco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6F3EE' stroke-width='1.6'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E") center/26px no-repeat;margin-bottom:8px}
.oms-zona:hover,.oms-zona.sopra{border-color:var(--bosco);background:var(--ok)}
.oms-zona:focus-within{outline:2px solid var(--inchiostro);outline-offset:2px}
.oms-file{list-style:none;margin:12px 0 22px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.oms-file:empty{margin:0 0 22px}
.oms-file li{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--carta2);display:flex;align-items:flex-end;animation:oms-entra .3s}
.oms-file img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.oms-file span{position:relative;width:100%;padding:18px 8px 6px;font-size:11px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oms-file li.doc{flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px 8px}
.oms-file li.doc span{background:none;color:var(--inchiostro);text-align:center;padding:0;white-space:normal;overflow-wrap:anywhere;line-height:1.3;max-height:4em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.oms-file button{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(28,32,29,.75);color:#fff;font-size:18px;line-height:1;cursor:pointer}
.oms-file li.ko{outline:2px solid var(--err)}
.oms-file li.doc b{position:static;font:700 11px var(--sans);text-transform:uppercase;background:var(--inchiostro);color:#fff;padding:3px 7px;border-radius:4px}
.oms-zona-opera{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6F3EE' stroke-width='1.6'%3E%3Cpath d='M6 3h8l4 4v14H6z'/%3E%3Cpath d='M14 3v4h4M9 12h6M9 16h6'/%3E%3C/svg%3E")}

/* enti e imprese */
.oms-carte-grandi{grid-template-columns:1fr}
.oms-carte-grandi .oms-carta{padding:20px 18px 20px 48px}
.oms-carte-grandi .oms-carta strong{font:400 22px/1.2 var(--serif)}
.oms-carte-grandi .oms-carta input{top:24px}
.oms-carta-urgente strong{color:var(--err)}
.oms-carta-urgente:has(input:checked){border-color:var(--err);background:#F7E4E0}
.oms-urgenza{margin:12px 0 0;padding:14px 16px;border-radius:6px;background:var(--err);color:#fff;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;font-size:14px}
.oms-urgenza a{color:#fff;font:400 24px var(--serif);text-decoration:none}
.oms-urgenza span{flex-basis:100%;opacity:.9}
.oms-spunte{display:grid;grid-template-columns:1fr;gap:6px}
.oms-spunta{position:relative;cursor:pointer}
.oms-spunta input{position:absolute;opacity:0;pointer-events:none}
.oms-spunta span{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--linea);border-radius:6px;background:#fff;font-size:14px;font-weight:600;transition:border-color .2s,background .2s}
.oms-spunta span::before{content:"";flex:none;width:18px;height:18px;border:1.5px solid var(--linea);border-radius:4px;background:#fff center/11px no-repeat}
.oms-spunta input:checked+span{border-color:var(--bosco);background:var(--ok)}
.oms-spunta input:checked+span::before{background-color:var(--bosco);border-color:var(--bosco);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.2 3L11 1' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E")}
.oms-spunta input:focus-visible+span{outline:2px solid var(--inchiostro);outline-offset:2px}
.oms-ticket.urgente .oms-ticket-testa{background:var(--err)}
.oms-ticket.urgente .oms-ticket-testa span,.oms-ticket.urgente .oms-ticket-testa b{color:#fff}
.oms-kitbox{background:#fff;border:1px solid var(--linea);border-radius:8px;padding:16px 20px}
.oms-kitbox .oms-scheda-tit{font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--bosco);margin-bottom:6px}
.oms-kitbox ul{list-style:none;margin:0;padding:0}
.oms-kitbox li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--linea);font-size:14px}
.oms-kitbox li:last-child{border-bottom:0}
.oms-kitbox a{display:flex;justify-content:space-between;width:100%;color:var(--inchiostro);text-decoration:none}
.oms-kitbox b{color:var(--bosco);font-size:12px}
.oms-kitbox em{font-style:normal;font-size:12px;color:var(--grigio)}
.oms-fatto-doc{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea)}
.oms-fatto-doc li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--linea);font-size:15px}
.oms-fatto-doc a{font-weight:700}
.oms-fatto-doc em{font-style:normal;color:var(--grigio);font-size:14px}

.oms-privacy{display:flex;align-items:flex-start;gap:10px;margin:22px 0 0;font-size:14px;color:var(--grigio)}
.oms-privacy input{margin-top:2px;width:18px;height:18px;accent-color:var(--bosco);flex:none}
.oms-trappola{position:absolute;left:-9999px}
.oms-avviso,.oms-errore{background:#F7E4E0;color:var(--err);padding:12px 16px;border-radius:6px;margin:18px 0 0;font-weight:600;font-size:14px}
.oms-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--linea)}
.oms-nav .om-bottone{margin-left:auto;min-width:140px}
.oms-indietro{background:none;border:0;color:var(--grigio);font:600 15px var(--sans);padding:12px 4px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}

/* invio */
.oms-carico{position:fixed;inset:0;background:rgba(246,243,238,.94);display:grid;place-items:center;z-index:80;padding:16px}
.oms-carico-box{width:min(460px,100%);background:#fff;border:1px solid var(--linea);border-radius:8px;padding:28px}
.oms-carico-tit{font:400 28px var(--serif);margin-bottom:16px}
.oms-barra{height:6px;background:var(--carta2);border-radius:6px;overflow:hidden}
.oms-barra i{display:block;height:100%;width:0;background:var(--bosco);transition:width .2s}
.oms-carico-txt{margin-top:12px;font-weight:600}
.oms-carico-nota{margin-top:4px;color:var(--grigio);font-size:14px}

/* lato */
.oms-lato{display:flex;flex-direction:column;gap:12px}
.oms-ticket{background:#fff;border:1px solid var(--linea);border-radius:8px;overflow:hidden}
.oms-ticket-testa{padding:16px 20px;border-bottom:1px solid var(--linea);display:flex;flex-direction:column;gap:2px}
.oms-ticket-testa span{font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--bosco)}
.oms-ticket-testa b{font:400 26px var(--serif)}
.oms-ticket-righe{margin:0;padding:14px 20px 4px;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px}
.oms-ticket-righe dt{color:var(--grigio)}
.oms-ticket-righe dd{margin:0;font-weight:600;word-break:break-word}
.oms-ticket-all{padding:10px 20px 16px;font-size:13px;color:var(--grigio)}
.oms-scheda{padding:18px 20px;border-radius:8px;background:var(--bosco);color:var(--carta);display:flex;flex-direction:column;gap:4px}
.oms-scheda-tit{font-size:14px;color:#D9E2D8}
.oms-scheda-tel{font:400 26px var(--serif);color:var(--carta)!important;text-decoration:none}
.oms-scheda-wa{color:#D9E2D8!important;font-size:14px}

/* esito */
.oms-fatto{max-width:720px;margin:24px 0 0;padding:32px 24px;background:#fff;border:1px solid var(--linea);border-radius:8px;display:flex;flex-direction:column;gap:16px;animation:oms-entra .5s}
.oms-fatto-num{font:400 clamp(48px,10vw,80px)/1 var(--serif);color:var(--bosco);letter-spacing:-.02em}
.oms-fatto-testo{font-size:18px;color:var(--grigio)}
.oms-fatto-testo strong{color:var(--inchiostro)}

@media (min-width:640px){
 .oms-passo{padding:36px 36px 28px}
 .oms-griglia-foto{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
 .oms-griglia{grid-template-columns:1fr 1fr;gap:18px 20px}
 .oms-largo{grid-column:1/-1}
 .oms-file{grid-template-columns:repeat(6,minmax(0,1fr))}
 .oms-avanz span{display:block}
 .oms-carte-grandi{grid-template-columns:1fr 1fr}
 .oms-spunte{grid-template-columns:1fr 1fr}
 .oms-fatto{padding:48px}
}
@media (min-width:1024px){
 .oms{grid-template-columns:minmax(0,1fr) 320px;gap:40px}
 .oms-lato{position:sticky;top:calc(var(--testata) + 24px)}
 .oms-testa{padding:24px 0 36px}
}
@media (max-width:1023px){.oms-ticket,.oms-kitbox{display:none}}

/* scelte: bottoni grandi al posto delle tendine */
.oms-griglia>.oms-gruppo{grid-column:1/-1;margin-top:0}
.oms-bottoni{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.oms-bottone{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:54px;padding:10px 12px;border:1px solid var(--linea);border-radius:6px;background:var(--carta);font:600 15px/1.25 var(--sans);color:var(--inchiostro);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.oms-bottone input{position:absolute;opacity:0;pointer-events:none}
.oms-bottone:hover{border-color:#B9B1A4;background:#fff}
.oms-bottone:has(input:checked){background:var(--bosco);border-color:var(--bosco);color:#fff}
.oms-bottone:has(input:focus-visible){outline:2px solid var(--inchiostro);outline-offset:2px}
.oms-bottoni:not(.oms-bottoni-due) .oms-bottone:last-child:nth-child(odd){grid-column:1/-1}
@media (min-width:640px){
 .oms-bottoni:not(.oms-bottoni-due){grid-template-columns:repeat(3,minmax(0,1fr))}
 .oms-bottoni:not(.oms-bottoni-due) .oms-bottone:last-child:nth-child(odd){grid-column:auto}
}

.oms-ticket-righe .oms-ticket-vuoto{grid-column:1/-1;font-weight:400;color:var(--grigio);font-style:italic}
@media (max-width:639px){
 .oms-carta{padding:14px 12px 14px 38px}
 .oms-carta input{left:12px}
 .oms-carta strong{font-size:15px;line-height:1.25}
}
