.mfv-consent[hidden], .mfv-consent [hidden] { display: none !important; }
.mfv-consent {
    position: fixed;
    inset-inline-start: max(20px, env(safe-area-inset-left));
    bottom: max(20px, env(safe-area-inset-bottom));
    z-index: 700;
    width: min(400px, calc(100% - 40px));
    max-height: min(620px, calc(100vh - 40px));
    max-height: min(620px, calc(100svh - 40px));
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--line, #deddd6);
    border-radius: 16px;
    background: var(--paper, #fbfaf6);
    color: var(--ink, #202523);
    box-shadow: 0 10px 42px rgb(28 45 40 / 18%);
    text-align: start;
}
.mfv-consent form { margin: 0; padding: 22px; }
.mfv-consent-heading { display: flex; align-items: flex-start; gap: 8px; }
.mfv-consent h2 {
    display: flex; align-items: flex-start; gap: 9px;
    flex: 1; margin: 0 0 12px;
    font: 650 17px/1.4 "DM Sans", Arial, sans-serif;
    letter-spacing: -.2px;
}
.mfv-consent h2 > svg { flex: 0 0 21px; width: 21px; height: 21px; margin-top: 1px; color: var(--teal-dark, #0d5f58); }
.mfv-consent-close {
    display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px;
    margin: -6px -6px 0 0; border: 0; padding: 6px; border-radius: 6px;
    background: transparent; color: var(--muted, #68706d); cursor: pointer;
}
.mfv-consent-close svg { width: 19px; height: 19px; }
.mfv-consent-close:hover { background: var(--paper-strong, #f3f0e8); }
.mfv-consent #mfv-consent-description { margin: 0; color: #545e59; font-size: 13px; line-height: 1.7; }
.mfv-consent-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 18px; }
.mfv-consent-action {
    width: 100%; min-height: 46px; padding: 10px 8px;
    border: 1px solid var(--teal-dark, #0d5f58); border-radius: 8px;
    background: var(--teal-dark, #0d5f58); color: #fff;
    font: 600 12px/1.45 "DM Sans", Arial, sans-serif;
    cursor: pointer;
}
.mfv-consent-action:hover { background: #094b45; }
.mfv-consent-reject { background: transparent; color: var(--teal-dark, #0d5f58); }
.mfv-consent-reject:hover { background: var(--teal-soft, #dff2ee); }
.mfv-consent-action:disabled { opacity: .6; cursor: wait; }
.mfv-consent-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.mfv-consent-footer a, .mfv-consent-footer button { color: #545e59; font-size: 11px; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; }
.mfv-consent-footer button { border: 0; background: transparent; padding: 4px 0; cursor: pointer; }
.mfv-consent-status { margin: 10px 0 0; color: #545e59; font-size: 11px; line-height: 1.5; }
.mfv-consent-status:empty { display: none; }
.mfv-consent-preferences { display: grid; gap: 10px; margin-top: 14px; }
.mfv-consent-purpose { display: block; margin: 0; padding: 12px; border: 1px solid var(--line, #deddd6); border-radius: 8px; font-size: 12px; line-height: 1.6; }
.mfv-consent-purpose strong, .mfv-consent-purpose > span:first-child { display: flex; align-items: flex-start; gap: 8px; font-weight: 600; }
.mfv-consent-purpose p, .mfv-consent-purpose-description { display: block; margin: 5px 0 0; color: #545e59; font-size: 12px; }
.mfv-consent-purpose input { flex: 0 0 18px; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--teal-dark, #0d5f58); }
.mfv-consent :focus-visible { outline: 2px solid var(--teal, #168e82); outline-offset: 3px; }
.mfv-consent h2:focus { outline: none; }
.mfv-consent-settings { display: inline-block; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.mfv-consent[dir="rtl"] .mfv-consent-close { margin: -6px 0 0 -6px; }
@media (max-width: 767px) {
    .mfv-consent { inset-inline-start: 12px; bottom: max(12px, env(safe-area-inset-bottom)); width: calc(100% - 24px); max-width: 400px; max-height: 65vh; max-height: 65svh; }
    .mfv-consent form { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) { .mfv-consent * { scroll-behavior: auto; transition: none; } }
