/* Scoped isolation: keep the theme from deforming the widget and vice-versa. */
#wafl-root, #wafl-root * { box-sizing: border-box; }
#wafl-root { all: revert; position: fixed; right: 20px; bottom: 20px; z-index: 99999; font-family: inherit; line-height: normal; }
#wafl-root button { font: inherit; }

.wafl-root { position: fixed; right: 20px; bottom: 20px; z-index: 99999; font-family: inherit; }
.wafl-toggle {
    width: 56px; height: 56px; border-radius: 50%; border: none; cursor: pointer;
    background: var(--wafl-color, #25D366); display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,.25); transition: transform .15s ease;
}
.wafl-toggle:hover { transform: scale(1.06); }
.wafl-popup {
    position: absolute; right: 0; bottom: 68px; width: 300px; max-width: 80vw;
    max-height: calc(100vh - 96px); overflow-y: auto;
    background: #fff; border-radius: 12px; box-shadow: 0 8px 30px rgba(0,0,0,.25);
    padding: 16px; box-sizing: border-box;
}
.wafl-popup[hidden] { display: none; }
.wafl-field { margin: 0 0 10px; display: flex; flex-direction: column; }
.wafl-field label { font-size: 13px; color: #333; display: flex; flex-direction: column; gap: 4px; }
.wafl-field input, .wafl-field textarea {
    width: 100%; box-sizing: border-box; padding: 8px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px;
}
.wafl-err { color: #c0392b; font-size: 12px; min-height: 14px; }
.wafl-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.wafl-submit {
    width: 100%; padding: 10px; border: none; border-radius: 6px; cursor: pointer;
    background: var(--wafl-color, #25D366); color: #fff; font-size: 15px; font-weight: 600;
}
.wafl-submit[disabled] { opacity: .6; cursor: default; }
.wafl-status { display: block; font-size: 12px; color: #555; margin-top: 8px; min-height: 14px; }
