.hct-legal-guarantee-trigger { margin: 1rem 0; }
.hct-legal-guarantee-trigger a { text-decoration: underline; font-weight: 600; }
#hct-legal-guarantee-dialog { box-sizing: border-box; width: min(960px, calc(100vw - 2rem)); max-width: calc(100vw - 2rem); max-height: 90vh; max-height: 90dvh; padding: 1rem; border: 1px solid #555; border-radius: .4rem; background: #fff; color: #111; overflow: auto; }
#hct-legal-guarantee-dialog:not([open]) { display: none; }
#hct-legal-guarantee-dialog[open] { display: flex; flex-direction: column; }
#hct-legal-guarantee-dialog::backdrop { background: rgb(0 0 0 / 65%); }
.hct-legal-guarantee-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem .75rem; flex: 0 0 auto; overflow-wrap: anywhere; }
.hct-legal-guarantee-controls h2 { color: inherit; margin-top: 0; }
.hct-legal-guarantee-controls p { grid-column: 1 / -1; margin: 0 0 .5rem; }
.hct-legal-guarantee-controls button { align-self: start; min-height: 44px; min-width: 44px; padding: .5rem .75rem; cursor: pointer; }
.hct-legal-guarantee-image { flex: 1 1 auto; min-height: 0; overflow: auto; max-height: 65vh; max-height: 65dvh; }
.hct-legal-guarantee-image img { display: block; width: max(100%, 800px); max-width: none; height: auto; }
.hct-legal-guarantee-checkout { box-sizing: border-box; margin: 1rem 0; padding: 1rem; max-width: 100%; border: 1px solid #b9cbdc; border-radius: .4rem; background: #f3f7fb; color: #172d43; overflow-wrap: anywhere; }
.hct-legal-guarantee-checkout h3 { margin: 0 0 .5rem; font-size: 1.1em; color: inherit; }
.hct-legal-guarantee-checkout p { margin: .5rem 0 0; }
.hct-legal-guarantee-checkout a { display: inline-block; padding: .5rem 0; min-height: 44px; box-sizing: border-box; color: #064b83; }
@media (max-width: 640px) {
    #hct-legal-guarantee-dialog { width: calc(100vw - .5rem); max-width: calc(100vw - .5rem); height: calc(100vh - .5rem); height: calc(100dvh - .5rem); max-height: calc(100vh - .5rem); max-height: calc(100dvh - .5rem); margin: auto; padding: .5rem; overflow: hidden; }
    .hct-legal-guarantee-controls h2 { font-size: 1.125rem; margin-bottom: .25rem; }
    .hct-legal-guarantee-controls p { font-size: .875rem; }
    .hct-legal-guarantee-image { max-height: none; }
    .hct-legal-guarantee-image img { width: max(100%, 600px); }
}
.hct-legal-guarantee-open { overflow: hidden; }
.hct-legal-guarantee-trigger a:focus-visible,
#hct-legal-guarantee-dialog :focus-visible { outline: 3px solid #0056b3; outline-offset: 3px; }
