.ec-modal {
    --ec-modal-width: 48rem;
    width: min(var(--ec-modal-width), calc(100% - 2rem));
    max-width: none;
    max-height: calc(100dvh - 2rem);
    box-sizing: border-box;
    margin: auto;
    padding: 1.5rem;
    border: 0;
    border-radius: .25rem;
    background: #fff;
    color: #222;
    box-shadow: 0 1rem 4rem rgb(0 0 0 / 25%);
    overflow: auto;
    text-align: start;
}
.ec-modal:not([open]) { display: none; }
.ec-modal::backdrop { background: rgb(0 0 0 / 65%); }
.ec-modal--garan { --ec-modal-width: 42rem; }
.ec-modal__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.ec-modal__title { margin: 0; font-size: 1.4rem; }
.ec-modal__close {
    appearance: none;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0;
    padding: 0;
    border: 1px solid currentColor;
    border-radius: 25px;
    background: transparent;
    color: inherit;
    line-height: 1;
    cursor: pointer;
}
.ec-modal__close-icon {
    display: block;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    pointer-events: none;
}
.ec-modal-trigger { display: inline-flex; align-items: center; cursor: pointer; }
.ec-modal-trigger--garan { max-width: 100%; }
.ec-modal__compact { display: block; width: 100%; max-width: 100%; height: auto; }
.ec-modal__label { display: block; width: 100%; height: auto; }
.ec-modal__product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; align-items: center; margin-bottom: 1.5rem; }
.ec-modal__product img { max-width: 100%; height: auto; }
.ec-modal__body input:not([type=checkbox]):not([type=radio]), .ec-modal__body textarea, .ec-modal__body select { box-sizing: border-box; max-width: 100%; }
.ec-modal-is-open { overflow: hidden; }
.ec-modal-trigger:focus-visible, .ec-modal :focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 480px) {
    .ec-modal { padding: 1rem; }
    .ec-modal__product { grid-template-columns: 1fr; }
}
