/* Shared floating labels: Elementor forms and all theme coupon surfaces. */
body .hn-label-field{position:relative;display:block;flex:1 1 0%;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
/* Each Elementor control occupies its column; help/error text wraps below it.
   Keep coupon rows on their existing flexible sizing. */
body .elementor-form .elementor-field-group>.hn-label-field{flex:0 0 100%}
body .hn-label-field .hn-field-label{position:absolute!important;top:7px!important;left:14px!important;right:14px!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;clip:auto!important;clip-path:none!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis;font-size:11px!important;font-weight:400!important;line-height:16px!important;color:#737373;pointer-events:none;z-index:2;transition:top .16s ease,font-size .16s ease}
body .hn-label-field :is(input,textarea,select){box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:56px;margin:0!important;padding:23px 14px 7px!important;line-height:24px!important}
body .hn-label-field select{padding-right:32px!important}
body .hn-label-field .elementor-select-wrapper{width:100%}
body .hn-label-field:has(:placeholder-shown):not(:focus-within) .hn-field-label{top:17px!important;font-size:14px!important}
body .hn-label-field :is(input,textarea)::placeholder{color:transparent!important}
body .hn-label-field :is(input,textarea,select):focus{outline:none!important;box-shadow:none!important;border-color:#868686!important}
body .hn-field-help{display:block;flex-basis:100%;width:100%;margin:6px 0 0;color:#737373;font-size:12px;line-height:1.5}
body .hn-label-field .hn-field-label::after{position:static}
/* Coupon controls form one compact, equal-height row. */
body :is(.coupon,.checkout_coupon,.hn-drawer-coupon) .hn-label-field input{height:50px!important;min-height:50px!important;padding:20px 14px 6px!important;line-height:22px!important}
body :is(.coupon,.checkout_coupon,.hn-drawer-coupon) .hn-label-field .hn-field-label{top:5px!important;line-height:14px!important}
body :is(.coupon,.checkout_coupon,.hn-drawer-coupon) .hn-label-field:has(:placeholder-shown):not(:focus-within) .hn-field-label{top:17px!important}
body :is(.coupon,.checkout_coupon,.hn-drawer-coupon) button[type="submit"],body :is(.coupon,.checkout_coupon) button[name="apply_coupon"]{height:50px!important;min-height:50px!important;box-sizing:border-box!important}
@media(prefers-reduced-motion:reduce){body .hn-label-field .hn-field-label{transition:none}}

/* Elementor's native feedback, styled like Preline soft alerts.
   Presentation only: preserve text, live regions, validation and submit flow. */
body .elementor-form .elementor-message:not(.elementor-help-inline){
 --hn-alert-bg:#dbeafe;--hn-alert-border:#bfdbfe;--hn-alert-text:#1e40af;
 --hn-alert-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6m0-10h.01'/%3E%3C/svg%3E");
 position:relative;display:block;box-sizing:border-box;width:100%;margin:16px 0 0;
 padding:15px 18px 15px 46px;border:1px solid var(--hn-alert-border);border-radius:8px;
 background:var(--hn-alert-bg);color:var(--hn-alert-text);font-family:inherit;
 font-size:14px;font-weight:400;line-height:1.6;text-align:start;overflow-wrap:anywhere;
}
body .elementor-form .elementor-message.elementor-message-success{
 --hn-alert-bg:#ccfbf1;--hn-alert-border:#99f6e4;--hn-alert-text:#115e59;
 --hn-alert-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 2.5 2.5L16 9'/%3E%3C/svg%3E");
}
body .elementor-form .elementor-message.elementor-message-danger{
 --hn-alert-bg:#fee2e2;--hn-alert-border:#fecaca;--hn-alert-text:#991b1b;
 --hn-alert-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m9 9 6 6m0-6-6 6'/%3E%3C/svg%3E");
}
body .elementor-form .elementor-message:not(.elementor-help-inline)::before{
 content:"";display:block;position:absolute;left:17px;top:50%;width:19px;height:19px;
 margin:0;background:currentColor;-webkit-mask:var(--hn-alert-icon) center/contain no-repeat;
 mask:var(--hn-alert-icon) center/contain no-repeat;transform:translateY(-50%);
}
body .elementor-form .elementor-message:not(.elementor-help-inline)>svg{display:none}
body .elementor-form .elementor-message a{color:inherit;text-decoration:underline;text-underline-offset:3px}
/* Field-level errors stay beside their field, not converted into global alerts. */
body .elementor-form .elementor-field-group .elementor-help-inline{
 display:block;box-sizing:border-box;flex:0 0 100%;width:100%;margin:7px 0 0;padding:8px 11px;
 border:1px solid #fde68a;border-radius:6px;background:#fef3c7;color:#92400e;
 font-family:inherit;font-size:12px;line-height:1.5;overflow-wrap:anywhere;
}
body .elementor-form .elementor-help-inline::before{display:none}
@media(max-width:767px){body .elementor-form .elementor-message:not(.elementor-help-inline){font-size:13px;padding-right:14px}}
