.awl { margin: 15px 0; width: 100%; }
.awl-hide { display: none; }
.awl-form-box { display: flex; flex-direction: column; gap: 12px; }
.awl-heading { font-weight: 600; font-size: 1.05em; }
.awl-subheading { opacity: .8; }
.awl-form { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.awl-field { position: relative; display: flex; align-items: stretch; }
.awl-icon { display: flex; align-items: center; justify-content: center; min-width: 40px; background: #eee; color: #555; border: 1px solid #ccc; border-right: 0; }
.awl-field input[type="email"], .awl-field input[type="number"] { flex: 1; min-width: 0; height: 50px; padding: 0 12px; border: 1px solid #ccc; background: #fff; color: #000; font-size: 15px; border-radius: 0; box-shadow: none; }
.awl-field-qty { flex-direction: column; gap: 4px; }
.awl-field-qty input { flex: none; max-width: 120px; }
.awl-btn { display: block; width: 100%; height: auto; border: 0; cursor: pointer; text-align: center; font-weight: 600; line-height: 1.4; border-radius: 0; white-space: normal; overflow-wrap: anywhere; }
.awl-btn[disabled] { opacity: .6; cursor: progress; }
.awl-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.awl-notice { padding: 10px 12px; border-left: 3px solid #2e7d32; background: #f1f8f1; }
.awl-notice.awl-error { border-color: #c62828; background: #fdf1f1; }
.awl-typo { padding: 10px 12px; border-left: 3px solid #b26a00; background: #fff8e6; }
.awl-typo p { margin: 0 0 8px; }
body .awl-typo button { margin: 0 8px 4px 0; padding: 6px 12px; cursor: pointer; background: #fff; color: #000; border: 1px solid #000; border-radius: 0; }
.awl-done .awl-form, .awl-done .awl-heading, .awl-done .awl-subheading { display: none; }
.awl-login p { margin: 0 0 8px; }
.awl-login .awl-btn { display: inline-block; width: auto; margin-right: 8px; padding-left: 20px; padding-right: 20px; }
.awl-modal { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; padding: 16px; }
.awl-modal[hidden] { display: none; }
.awl-modal-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.awl-modal-box { position: relative; width: 100%; max-height: 90vh; overflow: auto; background: #fff; padding: 36px 28px 28px; box-sizing: border-box; }
body .awl-modal .awl-modal-close { position: absolute; top: 6px; right: 10px; background: none; border: 0; box-shadow: none; font-size: 28px; line-height: 1; cursor: pointer; color: #000; padding: 4px 8px; min-height: 0; }
html.awl-modal-open { overflow: hidden; }
