/* Tutte le regole sono limitate al blocco QuickItalian, non agli altri elementi del tema. */
.qie{box-sizing:border-box!important;max-width:100%!important;margin:16px 0 28px!important;padding:0!important;font:inherit!important;color:inherit!important;clear:both!important}
.qie *{box-sizing:border-box!important}
.qie .qie-title{font:inherit!important;font-size:inherit!important;font-weight:700!important;line-height:inherit!important;margin:0 0 7px!important;padding:0!important;text-transform:none!important;letter-spacing:normal!important}
.qie .qie-instruction{font:inherit!important;font-size:inherit!important;font-style:italic!important;font-weight:400!important;line-height:inherit!important;margin:0 0 12px!important;padding:0!important;text-transform:none!important;letter-spacing:normal!important}
.qie .qie-bank-wrap{border:1px solid #ccc!important;border-radius:5px!important;background:#f7f8f9!important;padding:8px 10px!important;margin:0 0 12px!important}
.qie .qie-bank-label{display:block!important;font-size:12px!important;font-weight:700!important;color:#565b61!important;margin-bottom:5px!important;text-transform:none!important}
.qie .qie-bank{display:flex!important;gap:6px!important;flex-wrap:wrap!important;min-height:29px!important;align-items:center!important}
.qie .qie-tile,.qie-tile.qie-flying{display:inline-flex!important;justify-content:center!important;align-items:center!important;min-height:28px!important;height:28px!important;max-height:28px!important;width:auto!important;min-width:0!important;padding:2px 8px!important;background:#fff!important;color:#222!important;border:1px solid #888!important;border-radius:3px!important;cursor:grab!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;font-size:15px!important;font-weight:700!important;line-height:1.2!important;text-align:center!important;box-shadow:0 1px 2px #0001!important;letter-spacing:normal!important;white-space:nowrap!important}
.qie .qie-tile:active{cursor:grabbing!important}
.qie-tile.qie-flying{position:fixed!important;z-index:2147483647!important;pointer-events:none!important;box-shadow:0 8px 20px #0004!important;border:2px solid #286ca3!important;background:#eef7ff!important;opacity:1!important;cursor:grabbing!important;margin:0!important;transform:none!important;transition:none!important}
.qie .qie-placeholder{display:inline-block!important;height:28px!important;border:1px dashed #a8acaf!important;border-radius:3px!important;opacity:.6!important}
.qie .qie-grid{display:block!important;column-count:var(--qie-columns,1)!important;column-gap:20px!important;margin:0 0 14px!important;padding:0!important;width:100%!important}
.qie .qie-row{display:block!important;min-width:0!important;margin:0!important;padding:1px 0!important;min-height:34px!important;line-height:1.85!important;font-size:inherit!important;overflow-wrap:break-word!important;break-inside:avoid!important;white-space:normal!important}
.qie .qie-number{display:inline-block!important;min-width:1.5em!important;font-size:.9em!important;font-weight:700!important;color:#646464!important}
.qie .qie-answer-wrap{display:inline!important;white-space:nowrap!important}
.qie input.qie-input,.qie select.qie-choice{display:inline-block!important;box-sizing:border-box!important;min-width:0!important;max-width:190px!important;height:32px!important;min-height:32px!important;max-height:32px!important;line-height:1.1!important;font:inherit!important;font-size:15px!important;vertical-align:middle!important;color:#262626!important;background-color:#fff!important;border:1px solid #a0a0a0!important;border-radius:3px!important;padding:3px 7px!important;margin:0 2px!important;box-shadow:none!important;text-align:left!important;float:none!important;letter-spacing:normal!important;text-transform:none!important}
.qie select.qie-choice{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23555' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 6px center!important;background-size:12px 8px!important;padding-right:23px!important;cursor:pointer!important}
.qie input.qie-input:focus,.qie select.qie-choice:focus{outline:2px solid #2875ad!important;outline-offset:1px!important}
.qie .qie-slot{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:32px!important;min-height:32px!important;max-height:32px!important;max-width:180px!important;min-width:64px!important;padding:1px!important;margin:0 2px!important;border:1px dashed #b5b5b5!important;border-radius:3px!important;background:#fafafa!important;vertical-align:middle!important;transition:border-color .08s,background-color .08s!important}
.qie .qie-slot .qie-tile{width:100%!important;height:28px!important;max-height:28px!important;box-shadow:none!important;padding:2px 3px!important;font-size:14px!important}
.qie .qie-slot.qie-over{background:#d8edff!important;border-color:#0878ca!important;border-style:solid!important;box-shadow:0 0 0 2px #b9ddf8!important}
.qie .qie-slot.qie-correct{border-color:#198147!important;background:#edf9f1!important;border-style:solid!important}
.qie .qie-slot.qie-wrong{border-color:#be302d!important;background:#fff1f0!important;border-style:solid!important}
.qie .qie-slot.qie-solution{border-color:#2164a9!important;background:#eff6ff!important;border-style:solid!important}
.qie .qie-slot.qie-correct .qie-tile{color:#167334!important;border:0!important;background:transparent!important}
.qie .qie-slot.qie-wrong .qie-tile{color:#b42318!important;border:0!important;background:transparent!important}
.qie .qie-slot.qie-solution .qie-tile{color:#1558b0!important;border:0!important;background:transparent!important}
.qie .qie-result{display:inline-block!important;min-width:32px!important;vertical-align:middle!important;font-weight:700!important;margin:0 2px!important}
.qie .qie-result.qie-correct{color:#167334!important}
.qie .qie-result.qie-wrong{color:#b42318!important}
.qie .qie-result.qie-solution{color:#1558b0!important}
.qie [hidden]{display:none!important}
.qie .qie-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:14px 0 5px!important}
.qie .qie-actions button{display:inline-block!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;font:inherit!important;font-size:15px!important;line-height:1.3!important;font-weight:normal!important;padding:6px 12px!important;margin:0!important;white-space:nowrap!important;cursor:pointer!important;background:#f7f7f7!important;color:#222!important;border:1px solid #999!important;border-radius:4px!important;box-shadow:none!important;text-transform:none!important}
.qie .qie-actions button:hover{background:#eaeaea!important}
.qie .qie-feedback{min-height:1.5em!important;padding:0!important;margin:6px 0 0!important;font-size:.88em!important;color:inherit!important}
.qie .qie-error{color:#b42318!important;font-weight:700!important;border:1px solid #db9797!important;padding:9px!important}
@media(max-width:850px){.qie .qie-grid.qie-cols-3{column-count:2!important}}
@media(max-width:580px){.qie .qie-grid,.qie .qie-grid.qie-cols-3,.qie .qie-grid.qie-cols-2{column-count:1!important}}

/* v1.3: Cloze libero e trascinamento con un solo tratto basso. */
.qie .qie-bank-wrap{
  border:0!important;border-radius:0!important;background:transparent!important;
  padding:0!important;margin:0 0 9px!important;
}
.qie .qie-bank{
  display:flex!important;align-items:baseline!important;flex-wrap:wrap!important;
  gap:2px 20px!important;min-height:0!important;padding:0!important;margin:0!important;
}
.qie .qie-bank .qie-tile{
  display:inline-block!important;position:relative!important;box-sizing:border-box!important;
  width:auto!important;min-width:0!important;max-width:none!important;
  height:28px!important;min-height:28px!important;max-height:28px!important;
  padding:2px 0!important;margin:0!important;border:0!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;
  font:inherit!important;font-size:inherit!important;font-weight:400!important;
  line-height:24px!important;color:inherit!important;cursor:grab!important;
  white-space:nowrap!important;touch-action:none!important;
}
.qie .qie-bank .qie-tile:not(:last-child)::after{
  content:"|"!important;display:block!important;position:absolute!important;
  right:-12px!important;top:50%!important;transform:translateY(-50%)!important;
  color:#777!important;font-weight:400!important;pointer-events:none!important;
}
.qie .qie-bank .qie-tile:hover{text-decoration:underline!important}
.qie .qie-bank .qie-tile:focus-visible{outline:1px dotted #27699c!important;outline-offset:2px!important}
.qie-tile.qie-flying{
  position:fixed!important;z-index:2147483647!important;pointer-events:none!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  background:transparent!important;text-shadow:0 1px 2px #fff,0 0 4px #fff!important;
  color:#1558b0!important;font:inherit!important;font-weight:700!important;
  padding:0!important;margin:0!important;opacity:1!important;
  transform:none!important;transition:none!important;text-decoration:none!important;
}
.qie .qie-placeholder{
  display:inline-block!important;height:28px!important;min-height:28px!important;
  border:0!important;background:transparent!important;opacity:0!important;
}
.qie input.qie-input{
  background:transparent!important;border:0!important;border-bottom:1.5px solid #777!important;
  border-radius:0!important;box-shadow:none!important;outline:0!important;
  padding:1px 3px 0!important;margin:0 2px!important;text-align:center!important;
  height:30px!important;min-height:30px!important;max-height:30px!important;
  line-height:normal!important;
}
.qie input.qie-input:focus{
  outline:0!important;border-bottom:2px solid #286ca3!important;box-shadow:none!important;
}
.qie .qie-slot{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  height:30px!important;min-height:30px!important;max-height:30px!important;
  border:0!important;border-bottom:1.5px solid #777!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  padding:0!important;margin:0 2px!important;transition:none!important;
  vertical-align:baseline!important;
}
.qie .qie-slot .qie-tile{
  display:inline-flex!important;justify-content:center!important;align-items:center!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:28px!important;min-height:28px!important;max-height:28px!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;padding:0!important;margin:0!important;
  font:inherit!important;font-size:inherit!important;font-weight:400!important;
  color:inherit!important;cursor:grab!important;
}
.qie .qie-slot.qie-over{
  border:0!important;border-bottom:2px solid #0878ca!important;
  background:rgba(40,117,173,.08)!important;box-shadow:none!important;
}
.qie .qie-slot.qie-correct,.qie .qie-slot.qie-wrong,.qie .qie-slot.qie-solution{
  border:0!important;border-bottom:1.5px solid #777!important;
  background:transparent!important;box-shadow:none!important;
}
.qie .qie-result{
  display:inline!important;width:auto!important;min-width:0!important;max-width:none!important;
  margin:0!important;padding:0!important;line-height:inherit!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;text-decoration:none!important;
  font:inherit!important;font-weight:700!important;
}
.qie .qie-answer-wrap{display:inline!important;margin:0!important;padding:0!important;white-space:nowrap!important}
/* La specificità dei controlli è superiore a [hidden]: nasconderli esplicitamente. */
.qie input.qie-input[hidden],.qie select.qie-choice[hidden],
.qie .qie-slot[hidden],.qie .qie-result[hidden],.qie .qie-bank-wrap[hidden]{display:none!important}


/* v1.6 – griglia stabile, colonne bilanciate e caratteri ereditati dal tema. */
.qie .qie-grid{
  display:grid!important;
  column-count:initial!important;
  grid-template-columns:repeat(var(--qie-effective-columns,1),minmax(0,1fr))!important;
  grid-template-rows:repeat(var(--qie-rows-per-col,1),auto)!important;
  grid-auto-flow:column!important;
  gap:0 18px!important;
  align-items:start!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
}
.qie .qie-row{
  display:block!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  line-height:1.65!important;
  font:inherit!important;
  font-size:inherit!important;
  min-height:35px!important;
  padding:2px 0!important;
}
.qie .qie-number{font-size:inherit!important;vertical-align:baseline!important;}
.qie input.qie-input,.qie select.qie-choice{
  font-family:inherit!important;
  font-size:1em!important;
  font-weight:400!important;
  line-height:normal!important;
  vertical-align:baseline!important;
  margin:0!important;
}
.qie .qie-slot{
  font-family:inherit!important;
  font-size:1em!important;
  vertical-align:baseline!important;
  margin:0!important;
}
.qie .qie-slot .qie-tile{
  font-family:inherit!important;
  font-size:1em!important;
  font-weight:400!important;
}
.qie .qie-result{
  display:inline!important;
  font-family:inherit!important;
  font-size:1em!important;
  font-weight:700!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  vertical-align:baseline!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
}
.qie .qie-result[hidden]{display:none!important;}
.qie .qie-measure-host{
  position:absolute!important;
  visibility:hidden!important;
  width:max-content!important;
  max-width:none!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  contain:layout style!important;
}
.qie .qie-measure-host .qie-row{width:max-content!important;max-width:none!important;}
/* Altezza costante: il deposito/rimozione di una parola non ridimensiona le righe. */
.qie .qie-row{
  height:max(35px,2.15em)!important;
  min-height:max(35px,2.15em)!important;
}
