/* ECWS Garanzia Legale — le immagini ufficiali non vanno mai deformate né ricolorate:
   solo scalatura proporzionale (width 100% + height auto), niente filtri. */

.ecwsgl-garan { margin: 1rem 0; max-width: 420px; }
.ecwsgl-garan img { display: block; width: 100%; height: auto; }
.ecwsgl-garan__summary { list-style: none; cursor: pointer; }
.ecwsgl-garan__summary::-webkit-details-marker { display: none; }
.ecwsgl-garan__summary:focus-visible { outline: 2px solid #0e4c9e; outline-offset: 3px; }
.ecwsgl-garan__details[open] .ecwsgl-garan__full { margin-top: .5rem; }
.ecwsgl-garan__note { margin: .4rem 0 0; font-size: .8rem; color: #555; }

.ecwsgl-notice { margin: 1rem 0; }
.ecwsgl-notice__link { display: flex; align-items: center; gap: .75rem; padding: .6rem .75rem; border: 1px solid #d5ddec; border-radius: 4px; background: #f6f8fc; color: inherit; text-decoration: none; }
.ecwsgl-notice__link:hover, .ecwsgl-notice__link:focus { border-color: #0e4c9e; color: inherit; text-decoration: none; }
.ecwsgl-notice__badge { flex: 0 0 56px; }
.ecwsgl-notice__badge img, .ecwsgl-notice__thumb { display: block; width: 100%; height: auto; border: 1px solid #d5ddec; }
.ecwsgl-notice__text { display: flex; flex-direction: column; gap: .15rem; font-size: .85rem; line-height: 1.35; }
.ecwsgl-notice__text strong { color: #0e4c9e; }

.ecwsgl-notice--footer { max-width: 320px; }
.ecwsgl-notice--footer .ecwsgl-notice__link { background: transparent; }
.ecwsgl-notice--footer .ecwsgl-notice__thumb { flex: 0 0 70px; width: 70px; }

.ecwsgl-dialog { width: min(760px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-radius: 6px; box-shadow: 0 10px 40px rgba(0, 0, 0, .35); }
.ecwsgl-dialog::backdrop { background: rgba(0, 0, 0, .6); }
.ecwsgl-dialog__bar { position: sticky; top: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; padding: .5rem; background: #fff; border-bottom: 1px solid #e5e5e5; }
.ecwsgl-dialog__bar a, .ecwsgl-dialog__bar button { padding: .35rem .75rem; border: 1px solid #0e4c9e; border-radius: 3px; background: #fff; color: #0e4c9e; font-size: .85rem; cursor: pointer; text-decoration: none; }
.ecwsgl-dialog__bar button { background: #0e4c9e; color: #fff; }
.ecwsgl-dialog img { display: block; width: 100%; height: auto; }

.ecwsgl-page { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
@media (min-width: 992px) { .ecwsgl-page { grid-template-columns: minmax(0, 5fr) minmax(0, 4fr); align-items: start; } }
.ecwsgl-page__figure { margin: 0; }
.ecwsgl-page__notice { display: block; width: 100%; height: auto; border: 1px solid #e5e5e5; }
.ecwsgl-page__figure figcaption { margin-top: .75rem; }
.ecwsgl-page__body section + section { margin-top: 1.5rem; }
.ecwsgl-page__body h2 { font-size: 1.15rem; }
.ecwsgl-page__body h3 { font-size: 1rem; }
.ecwsgl-page__transcript ul { list-style: disc; padding-left: 1.25rem; }
.ecwsgl-page__transcript ol { list-style: decimal; padding-left: 1.25rem; }
