/* Match the site's existing Enterprise Blue popup shell. */
dialog.stepp-dialog {
    --stepp-dialog-ink: #2d2d2d;
    --stepp-dialog-padding: 28px;
    position: fixed;
    inset: 10vh auto auto 50%;
    inset-block-start: 10dvh;
    transform: translateX(-50%);
    box-sizing: border-box;
    width: 95%;
    max-width: none;
    max-height: 80vh;
    max-height: 80dvh;
    margin: 0;
    padding: var(--stepp-dialog-padding);
    border: 0;
    border-radius: 5px;
    background: #fff;
    color: var(--stepp-dialog-ink);
    box-shadow: 0 10px 25px 4px rgba(2, 2, 2, .5);
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    overflow: auto;
    overscroll-behavior: contain;
    color-scheme: light;
}
dialog.stepp-dialog:not([open]) { display: none !important; }
dialog.stepp-dialog[open] { animation: stepp-dialog-fade .35s ease; }
dialog.stepp-dialog::backdrop { background: rgba(0, 0, 0, .7); }
.stepp-dialog *, .stepp-dialog *::before, .stepp-dialog *::after { box-sizing: border-box; }
.stepp-dialog__content { color: var(--stepp-dialog-ink); font-weight: 400; line-height: normal; }
.stepp-dialog__controls { position: sticky; top: 0; height: 0; z-index: 5; }
.stepp-dialog .stepp-dialog__close {
    position: absolute;
    top: calc(8px - var(--stepp-dialog-padding));
    right: calc(8px - var(--stepp-dialog-padding));
    width: 28px;
    height: 28px;
    min-width: 28px;
    margin: 0;
    padding: 4px;
    border: 0;
    border-radius: 42px;
    background: #7c7c7c;
    color: #fff;
    font: 400 20px/20px "Times New Roman", serif;
    text-align: center;
    box-shadow: none;
    cursor: pointer;
}
.stepp-dialog .stepp-dialog__close:focus-visible { outline: 2px solid #0d243d; outline-offset: 3px; }
.stepp-dialog__title { margin: 0 0 .5em; color: #0d243d; font-size: 26px; line-height: 1.3; font-weight: 700; }
.stepp-dialog__content p.stepp-dialog__intro { margin: 0 0 28px; }
.stepp-dialog__content .wpcf7-form p { margin-bottom: 1.2em; }
.kith-rozmir-wrap a { text-decoration: none; }
@media (min-width: 1024px) { dialog.stepp-dialog { width: 60%; } }
@media (max-width: 767px) { dialog.stepp-dialog { --stepp-dialog-padding: 15px; } }
/* A short contact form uses the same shell and controls with a compact width. */
dialog.stepp-dialog--callback { --stepp-dialog-padding: 24px; width: calc(100% - 32px); max-width: 560px; }
.stepp-dialog--callback .stepp-dialog__title { padding-right: 20px; }
.stepp-dialog--callback .stepp-dialog__intro { color: #475569; font-size: 14px; line-height: 1.5; }
.stepp-dialog--callback .stepp-dialog__content p.stepp-dialog__intro { margin-bottom: 20px; }
.stepp-dialog--callback .wpcf7-form p { margin: 0 0 16px; }
.stepp-dialog--callback .wpcf7-form label { display: block; color: #0d243d; font-size: 14px; font-weight: 500; line-height: 1.5; }
.stepp-dialog--callback .wpcf7-form label > br { display: none; }
.stepp-dialog--callback .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.stepp-dialog--callback input:is([type=text],[type=tel]), .stepp-dialog--callback textarea { width: 100%; padding: 10px 12px; border: 1px solid #c5cdd7; border-radius: 6px; background: #fff; color: #0d243d; font: 400 16px/1.5 Montserrat, sans-serif; }
.stepp-dialog--callback textarea { height: 112px; min-height: 88px; resize: vertical; }
.stepp-dialog--callback input::placeholder, .stepp-dialog--callback textarea::placeholder { color: #64748b; opacity: 1; }
.stepp-dialog--callback :is(input,textarea):focus-visible { outline: 2px solid #0d243d; outline-offset: 2px; }
.stepp-dialog--callback .wpcf7-submit { min-height: 44px; padding: 12px 18px; border: 1px solid #0d243d; border-radius: 8px; background: #0d243d; color: #fff; font: 700 14px/1.2 Montserrat, sans-serif; white-space: normal; }
.stepp-dialog--callback .wpcf7-submit:hover:not(:disabled) { background: #173a5e; border-color: #173a5e; }
.stepp-dialog--callback .wpcf7-submit:disabled { background: #536479; border-color: #536479; color: #fff; cursor: not-allowed; }
@media (max-width: 767px) { dialog.stepp-dialog--callback { --stepp-dialog-padding: 20px; } .stepp-dialog--callback .stepp-dialog__title { font-size: 22px; } }
@keyframes stepp-dialog-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { dialog.stepp-dialog[open] { animation: none; } }
