.ly-form-shell,
.ly-form-dialog,
.kt-modal-container:has(.ly-form-shell--callback),
.ly-form-toast {
    --ly-font: Arial, "Helvetica Neue", sans-serif;
    --ly-text: var(--global-palette3, #1a202c);
    --ly-surface: var(--global-palette8, #f7fafc);
    --ly-field: var(--global-palette9, #fff);
    --ly-muted: color-mix(in srgb, var(--ly-text) 76%, var(--ly-field));
    --ly-border: color-mix(in srgb, var(--global-palette6, #718096) 75%, var(--ly-field));
    --ly-error: color-mix(in srgb, #d44c43 58%, var(--ly-text));
    color: var(--ly-text);
    font-family: var(--ly-font);
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: normal;
}
.ly-form-shell { position: relative; width: 100%; }
.ly-form-shell *, .ly-form-toast * { box-sizing: border-box; }
.ly-form-shell [hidden], .ly-form-toast[hidden] { display: none !important; }
.ly-form { margin: 0; }
.ly-form__grid { display: grid; gap: 20px; }
.ly-form__grid--wide { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; }
.ly-form__contacts { display: grid; gap: 18px; }
.ly-form label { display: block; margin: 0 0 8px; color: var(--ly-text); font-size: 14px; font-weight: 600; line-height: 1.5; }
.ly-form input:not([type=hidden]), .ly-form textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 50px;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--ly-border);
    border-radius: 8px;
    background: var(--ly-field);
    color: var(--ly-text);
    font: 400 16px/1.5 var(--ly-font);
    letter-spacing: normal;
    box-shadow: none;
    transition: border-color .15s;
}
.ly-form input::placeholder, .ly-form textarea::placeholder {
    color: color-mix(in srgb, var(--ly-text) 70%, var(--ly-field));
    opacity: 1;
    font-size: 14px;
    font-weight: 400;
}
.ly-form textarea { resize: vertical; min-height: 160px; height: calc(100% - 29px); }
.ly-form input:focus, .ly-form textarea:focus {
    outline: 2px solid var(--global-palette1, #b4966c);
    outline-offset: 3px;
    border-color: var(--global-palette1, #b4966c);
    box-shadow: none;
}
.ly-form [aria-invalid=true] { border-color: var(--ly-error); }
.ly-form__error { display: block; margin-top: 6px; color: var(--ly-error); font-size: 13px; line-height: 1.5; }
.ly-form__error:empty, .ly-form__status:empty { display: none; }
.ly-form .ly-form__privacy { margin: 22px 0 18px; color: var(--ly-muted); font: 400 13px/1.65 var(--ly-font); }
.ly-form__privacy a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.ly-form__privacy a:hover { color: var(--ly-text); }
.ly-form__status { margin: 0 0 16px; color: var(--ly-error); font-size: 14px; line-height: 1.5; }
.ly-form .ly-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 50px;
    margin: 0;
    padding: 12px 26px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: var(--global-palette1, #b4966c);
    color: #1a202c;
    font: 600 16px/1.5 var(--ly-font);
    letter-spacing: normal;
    text-decoration: none;
    box-shadow: none;
    cursor: pointer;
}
.ly-form .ly-form__submit:hover { background: color-mix(in srgb, var(--global-palette1, #b4966c) 88%, #fff); color: #1a202c; }
.ly-form__submit:focus-visible, .lightyour-oneclick:focus-visible { outline: 2px solid var(--global-palette1, #b4966c); outline-offset: 3px; }
.ly-form .ly-form__submit:disabled { cursor: wait; opacity: .8; }
.ly-form__spinner { display: none; width: 18px; height: 18px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: ly-form-spin .8s linear infinite; }
.ly-form[aria-busy=true] .ly-form__spinner { display: inline-block; }
.ly-form__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* Shared form typography inside the existing Kadence callback window. */
.kadence-block-pro-modal:has(.ly-form-shell--callback) { position: relative; z-index: 100010; }
.kt-modal-container:has(.ly-form-shell--callback) { max-height: calc(100dvh - 32px); overflow: auto; overscroll-behavior: contain; }
.kt-modal-container:has(.ly-form-shell--callback) .kt-modal-content { width: 100%; }
.kt-modal-container:has(.ly-form-shell--callback) .kt-modal-content > h3,
.ly-form-dialog__inner > h3 {
    margin: 0 44px 12px 0;
    padding: 0;
    color: var(--ly-text);
    font: 600 28px/1.25 var(--ly-font);
    letter-spacing: -.025em;
    text-align: left;
}
.kt-modal-container:has(.ly-form-shell--callback) .kt-modal-content > p,
.ly-form-dialog__inner > p { margin: 0 0 26px; color: var(--ly-muted); font: 400 15px/1.6 var(--ly-font); text-align: left; }
.kt-modal-container:has(.ly-form-shell--callback) .kt-modal-content > p:empty { display: none; }
.kt-modal-container:has(.ly-form-shell--callback) .ly-form__submit,
.ly-form-dialog .ly-form__submit { width: 100%; }
.kt-modal-container:has(.ly-form-shell--callback) .kt-modal-close,
.ly-form-dialog .ly-form-dialog__close {
    display: grid;
    place-items: center;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--ly-text);
    font: 400 28px/1 var(--ly-font);
    box-shadow: none;
    cursor: pointer;
}
.kt-modal-container:has(.ly-form-shell--callback) .kt-modal-close:hover,
.ly-form-dialog .ly-form-dialog__close:hover { background: var(--ly-field); }
.kt-modal-container:has(.ly-form-shell--callback) .kt-modal-close:focus-visible,
.ly-form-dialog__close:focus-visible { outline: 2px solid var(--global-palette1, #b4966c); outline-offset: 2px; }
.ly-form-dialog { box-sizing: border-box; width: calc(100% - 32px); max-width: 520px; max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 1px solid var(--ly-border); border-radius: 12px; background: var(--ly-surface); overflow: auto; overscroll-behavior: contain; }
.ly-form-dialog::backdrop { background: rgba(8, 12, 18, .6); }
.ly-form-dialog__inner { padding: 36px; }
.lightyour-oneclick { margin-left: 8px; }
.ly-form-shell--cart { margin: 24px 0; padding: 28px; border: 1px solid var(--ly-border); border-radius: 12px; background: var(--ly-surface); }
.ly-form-shell--cart h3 { margin-top: 0; font-family: var(--ly-font); }

.ly-form-toast { position: fixed; z-index: 100001; top: 24px; right: 24px; display: grid; grid-template-columns: 32px minmax(0, 1fr) 44px; align-items: start; gap: 12px; box-sizing: border-box; width: 420px; max-width: calc(100vw - 32px); padding: 20px 12px 20px 20px; border: 1px solid var(--ly-border); border-radius: 12px; background: var(--ly-field); }
.ly-form-toast__icon { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid currentColor; border-radius: 50%; color: var(--ly-text); }
.ly-form-toast__content strong { display: block; margin: 0 0 6px; font-size: 18px; font-weight: 600; line-height: 1.35; }
.ly-form-toast__content p { margin: 0; font-size: 15px; line-height: 1.5; }
.ly-form-toast .ly-form-toast__close { display: grid; place-items: center; min-width: 44px; min-height: 44px; margin: -6px 0 0; padding: 0; border: 0; border-radius: 8px; background: transparent; color: inherit; cursor: pointer; }
.ly-form-toast .ly-form-toast__close:hover { background: var(--ly-surface); }
.ly-form-toast__close:focus-visible { outline: 2px solid var(--global-palette1, #b4966c); outline-offset: 2px; }
@keyframes ly-form-spin { to { transform: rotate(360deg); } }
@media (max-width: 600px) {
    .ly-form__grid--wide { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .ly-form__contacts { gap: 14px; }
    .ly-form label { margin-bottom: 6px; }
    .ly-form .ly-form__privacy { margin: 18px 0 14px; }
    .ly-form textarea { height: auto; min-height: 136px; }
    .ly-form .ly-form__submit { width: 100%; }
    .ly-form-dialog__inner, .ly-form-shell--cart { padding: 24px; }
    .ly-form-dialog__inner > h3,
    .kt-modal-container:has(.ly-form-shell--callback) .kt-modal-content > h3 { font-size: 26px; }
    .kt-modal-container:has(.ly-form-shell--callback) .kt-modal-content > p,
    .ly-form-dialog__inner > p { margin-bottom: 20px; font-size: 14px; line-height: 1.5; }
    .lightyour-oneclick { margin: 8px 0 0; }
    .ly-form-toast { top: max(16px, env(safe-area-inset-top)); right: 16px; left: 16px; width: auto; padding: 16px 8px 16px 16px; gap: 10px; grid-template-columns: 28px minmax(0, 1fr) 44px; }
    .ly-form-toast__icon { width: 28px; height: 28px; }
    .ly-form-toast__content strong { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
    .ly-form input, .ly-form textarea { transition: none; }
    .ly-form__spinner { animation: none; }
}
