/* BSA Contenuti prodotto AI (piano 1c) — stile BSA, mobile-first. Niente gap nei flex (Safari vecchi), grid sì. */
.bsapai { font-family: Poppins, "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #2C2C2A; font-size: 14px; line-height: 1.55; margin: 32px 0 16px; }
.bsapai-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.bsapai-svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; display: block; }
.bsapai-svg-piccola { width: 16px; height: 16px; margin-right: 8px; flex: none; }
.bsapai-titolo { font-size: 22px; font-weight: 700; color: #14151A; margin: 0 0 20px; text-transform: none; letter-spacing: 0; }
.bsapai-sezione { margin: 0 0 28px; }
.bsapai-etichetta { display: flex; align-items: center; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #6B6B66; margin: 0 0 12px; }
.bsapai-griglia { display: grid; grid-template-columns: 1fr; gap: 12px; }
.bsapai-card { background: #F7F6F2; border-radius: 12px; padding: 16px; min-width: 0; }
.bsapai-card-testa { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.bsapai-card-testa .bsapai-ico { margin: 0 0 0 12px; }
.bsapai-ico { width: 38px; height: 38px; border-radius: 10px; background: #fff; color: #14151A; display: flex; align-items: center; justify-content: center; margin-bottom: 10px; flex: none; }
.bsapai-card-titolo { color: #14151A; font-weight: 600; font-size: 15px; margin: 0 0 4px; overflow-wrap: anywhere; }
.bsapai-card-testo { margin: 0; overflow-wrap: anywhere; }
.bsapai-tag { margin: 8px 0 0; font-size: 12px; color: #6B6B66; overflow-wrap: anywhere; }
.bsapai-livello { display: flex; align-items: center; margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #2F6F63; }
.bsapai-pallini { display: inline-flex; margin-right: 8px; }
.bsapai-pallini i { width: 8px; height: 8px; border-radius: 50%; background: #D6D4D4; margin-right: 3px; display: inline-block; }
.bsapai-pallini i.on { background: #2F6F63; }
.bsapai-profilo { display: flex; align-items: flex-start; background: #E9F2F0; color: #2C2C2A; border-radius: 12px; padding: 16px 18px; margin-bottom: 12px; }
.bsapai-profilo .bsapai-card-titolo { color: #14151A; }
.bsapai-ico-verde { background: #2F6F63; color: #fff; margin: 0 14px 0 0; }
.bsapai-profilo-testo { min-width: 0; }
.bsapai-profilo dl { margin: 8px 0 0; }
.bsapai-profilo dt { color: #2F6F63; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; margin-top: 6px; }
.bsapai-profilo dd { margin: 2px 0 0; overflow-wrap: anywhere; }
.bsapai-faq { border-bottom: 1px solid #EDEBE4; padding: 12px 0; }
.bsapai-faq summary, .bsapai-mostra { cursor: pointer; list-style: none; font-weight: 600; color: #14151A; display: flex; justify-content: space-between; align-items: flex-start; }
.bsapai-faq summary::-webkit-details-marker, .bsapai-mostra::-webkit-details-marker { display: none; }
.bsapai-faq summary::after { content: "+"; font-weight: 400; color: #6B6B66; margin-left: 12px; }
.bsapai-faq[open] > summary::after { content: "\2013"; }
.bsapai-faq p { margin: 8px 0 0; overflow-wrap: anywhere; }
.bsapai-mostra { margin-top: 12px; text-decoration: underline; font-size: 13px; }
.bsapai-altre[open] > .bsapai-mostra { display: none; }
.bsapai-nota { font-size: 12px; color: #6B6B66; border-top: 1px solid #EDEBE4; padding-top: 12px; margin: 8px 0 0; }
.bsapai-desc-corta { max-height: 200px; overflow: hidden; position: relative; }
.bsapai-desc-corta::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 60px; background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)); }
.bsapai-leggi { display: inline-block; border: 1px solid #14151A; border-radius: 999px; background: #fff; color: #14151A; font-family: Poppins, "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; font-weight: 600; font-size: 13px; padding: 8px 18px; margin-top: 10px; cursor: pointer; }
@media (min-width: 768px) {
  .bsapai-griglia-2 { grid-template-columns: repeat(2, 1fr); }
  .bsapai-griglia-3 { grid-template-columns: repeat(3, 1fr); }
  .bsapai-titolo { font-size: 24px; }
}
