/* Moduli, lista offerta e avviso. Valori di ripiego sulle variabili del tema: funzionano anche con un altro tema. */
.filc-form,.filc-job{scroll-margin-top:calc(var(--hh,72px) + 20px)}
.filc-form{display:block}
.filc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.filc-full{grid-column:1/-1}
.filc-field label{display:block;font-weight:550;font-size:13.5px;color:var(--ink-2,#334155);margin-bottom:6px}
.filc-req{color:var(--warn,#B45309)}
.filc-field input:not([type=checkbox]),.filc-field select,.filc-field textarea{width:100%;height:46px;border:1px solid var(--line,#E2E8F0);border-radius:10px;padding:0 13px;font:inherit;font-size:15px;font-weight:500;color:var(--ink,#0A1A2F);background:#fff;transition:border-color .15s,box-shadow .15s}
.filc-field textarea{height:120px;padding:11px 13px;resize:vertical}
.filc-field input[type=file]{height:auto;padding:10px 13px}
.filc-field :is(input,select,textarea):focus{outline:0;border-color:var(--brand,#1268D6);box-shadow:0 0 0 3px rgba(18,104,214,.15)}
.filc-field [aria-invalid=true]{border-color:#C2410C}
.filc-err{min-height:0;margin:6px 0 0;font-size:13px;color:#C2410C}
.filc-err:empty{display:none}
.filc-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-2,#334155);font-weight:400}
.filc-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--brand,#1268D6);flex:none}
.filc-check a{color:var(--brand,#1268D6);text-decoration:underline}
.filc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.filc-alert{margin:0 0 16px;padding:12px 14px;border-radius:10px;background:#FDF1E4;color:#9A3412;font-size:14.5px}
.filc-done{padding:22px;border-radius:14px;background:#E7F6EF;color:#0F5132;font-weight:550}
.filc-done:focus{outline:2px solid #0F8A5F;outline-offset:2px}
.filc-note{margin:14px 0 0;font-size:14px;color:var(--mute,#64748B)}
.filc-actions{margin:18px 0 0}
.filc-btn{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 24px;border:0;border-radius:10px;background:var(--brand,#1268D6);color:#fff;font:inherit;font-size:16px;font-weight:550;cursor:pointer;transition:background .15s}
.filc-btn:hover{background:#0D57B5}
.filc-btn[disabled]{opacity:.6;cursor:progress}
.filc-btn:focus-visible{outline:2px solid var(--blue,#2A98FC);outline-offset:2px}

/* Pagina offerta */
.filc-offer{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.filc-offer h2{font-size:24px;letter-spacing:-.02em;margin:0 0 16px}
.filc-offer__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.filc-offer__item{display:grid;grid-template-columns:1fr 90px;gap:10px 14px;align-items:end;padding:16px;border:1px solid var(--line,#E2E8F0);border-radius:14px;background:#fff}
.filc-offer__main{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.filc-offer__kind{font-size:12px;font-weight:600;color:var(--brand,#1268D6);background:var(--tint,#EAF3FF);padding:3px 8px;border-radius:6px}
.filc-offer__title{font-size:16px}
.filc-offer__qty,.filc-offer__note{display:grid;gap:4px;font-size:12.5px;color:var(--mute,#64748B)}
.filc-offer__note{grid-column:1/2;grid-row:2}
.filc-offer__qty{grid-column:2/3;grid-row:2}
.filc-offer__qty input,.filc-offer__note input{width:100%;min-width:0;height:38px;border:1px solid var(--line,#E2E8F0);border-radius:8px;padding:0 10px;font:inherit;font-size:14.5px}
.filc-offer__del{grid-column:1/-1;justify-self:start;background:none;border:0;padding:0;color:#B91C1C;font:inherit;font-size:13.5px;cursor:pointer;text-decoration:underline}
.filc-offer__empty{padding:22px;border:1px dashed var(--line,#E2E8F0);border-radius:14px;color:var(--ink-2,#334155)}
.filc-offer__links{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}
.filc-offer__links a{color:var(--brand,#1268D6);font-weight:600}
.filc-offer .filc-contact{background:#fff;border:1px solid var(--line,#E2E8F0);border-radius:20px;padding:28px}
.filc-badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:600}
.filc-badge.is-ok{background:#E7F6EF;color:#0B7550}.filc-badge.is-no{background:#FDF1E4;color:#B45309}

/* Avviso di aggiunta all'offerta */
.filc-toast{position:fixed;left:50%;bottom:20px;z-index:100000;transform:translate(-50%,140%);display:flex;gap:16px;align-items:center;background:#0A1A2F;color:#fff;padding:12px 16px 12px 18px;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.35);font-weight:500;transition:transform .3s cubic-bezier(.2,.9,.3,1.2)}
.filc-toast.is-on{transform:translate(-50%,0)}
.filc-toast a{color:#8CC6FF;font-weight:600;white-space:nowrap}
[data-filc-count].is-bump{animation:filc-bump .25s cubic-bezier(.3,1.6,.5,1)}
@keyframes filc-bump{50%{transform:scale(1.35)}}
@media (prefers-reduced-motion:reduce){.filc-toast{transition:none}[data-filc-count].is-bump{animation:none}}
@media (max-width:900px){.filc-offer{grid-template-columns:1fr}}
@media (max-width:620px){.filc-grid{grid-template-columns:1fr}.filc-offer .filc-contact{padding:20px}}

/* Lavora con noi */
.filc-jobs{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.filc-jobs h2{font-size:24px;letter-spacing:-.02em;margin:0 0 16px}
.filc-jobs__list{display:grid;gap:10px}
.filc-jobs__list>h2,.filc-jobs__list>p{margin-bottom:6px}
.filc-job{border:1px solid var(--line,#E2E8F0);border-radius:14px;background:#fff}
.filc-job summary{display:grid;gap:4px;padding:16px 48px 16px 18px;cursor:pointer;list-style:none;position:relative}
.filc-job summary::-webkit-details-marker{display:none}
.filc-job summary::after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .2s;color:var(--mute,#64748B)}
.filc-job[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.filc-job summary:focus-visible{outline:2px solid var(--brand,#1268D6);outline-offset:2px;border-radius:14px}
.filc-job__title{font-weight:600;font-size:16.5px;color:var(--ink,#0A1A2F)}
.filc-job__meta{font-size:13.5px;color:var(--mute,#64748B)}
.filc-job__body{padding:0 18px 18px;color:var(--ink-2,#334155);font-size:15px}
.filc-job__body h3{font-size:14px;letter-spacing:.04em;text-transform:uppercase;margin:16px 0 6px;color:var(--ink,#0A1A2F)}
.filc-job__body ul{margin:0;padding-left:20px;display:grid;gap:4px}
.filc-job__body p{margin:10px 0 0}
.filc-btn--ghost{height:42px;padding:0 16px;font-size:14.5px;background:var(--tint,#EAF3FF);color:var(--brand,#1268D6);text-decoration:none}
.filc-btn--ghost:hover{background:#D7E8FF}
.filc-jobs__form{background:#fff;border:1px solid var(--line,#E2E8F0);border-radius:20px;padding:28px}
@media (max-width:900px){.filc-jobs{grid-template-columns:1fr}}
@media (max-width:620px){.filc-jobs__form{padding:20px}}

/* Segnalazione OdV */
.filc-report textarea{height:220px}
.filc-report__card{max-width:760px;background:#fff;border:1px solid var(--line,#E2E8F0);border-radius:20px;padding:28px}
.filc-note--top{margin:0 0 18px}
@media (max-width:620px){.filc-report__card{padding:20px}}
