@font-face { font-family: 'WSL Futura Book'; src: url('/wp-content/themes/artemis-swp/fonts/FuturaLT.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'WSL Futura Condensed'; src: url('/wp-content/themes/artemis-swp/fonts/FuturaLT-CondExtraBoldObl.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
html.ws-loyalty-open, body.ws-loyalty-open { overflow: hidden !important; }
/* The home theme fixes body to 100% height; locking overflow must not clamp scrollY. */
body.ws-loyalty-open { height: auto !important; min-height: 100%; }
#ws-loyalty-dialog {
    border: 0; padding: 0; margin: auto; width: min(500px, calc(100% - 24px));
    max-width: none; max-height: calc(100dvh - 24px); background: #103b2e;
    color: #fff; border-radius: 5px; box-shadow: 0 20px 70px #0006;
    overflow: auto; overscroll-behavior: contain; scrollbar-width: thin;
    font-family: 'FuturaLT-Book', Arial, sans-serif; letter-spacing: 0;
}
#ws-loyalty-dialog:not([open]) { display: none !important; }
#ws-loyalty-dialog::backdrop { background: rgb(0 0 0 / 64%); }
#ws-loyalty-dialog *, #ws-loyalty-dialog *::before, #ws-loyalty-dialog *::after { box-sizing: border-box; letter-spacing: 0; }
#ws-loyalty-dialog .ws-loyalty-panel { position: relative; padding: 26px 38px 25px; text-align: center; }
#ws-loyalty-dialog .ws-loyalty-logo { display: block; width: 235px; height: auto; max-width: 67%; margin: 0 auto 22px; filter: brightness(0) invert(1); }
#ws-loyalty-dialog h2 { font: 400 34px/1.08 'WSL Futura Condensed', Impact, sans-serif; color: #fff; margin: 0 0 22px; text-transform: none; }
#ws-loyalty-dialog .ws-loyalty-offer { margin: 0 0 20px; font: 400 36px/1.08 'WSL Futura Condensed', Impact, sans-serif; color: #fff; }
#ws-loyalty-dialog .ws-loyalty-offer strong { display: block; margin-top: 4px; color: #dfca76; font: 400 44px/1.08 'WSL Futura Condensed', Impact, sans-serif; }
#ws-loyalty-dialog .ws-loyalty-intro { color: #fff; margin: 0 0 18px; font: 400 26px/1.12 'Helvetica Ultra Compressed', Impact, sans-serif; }
#ws-loyalty-dialog .ws-loyalty-close {
    position: sticky; top: 8px; margin: 8px 8px -52px auto; z-index: 2; display: grid; place-items: center;
    width: 44px; height: 44px; padding: 0; border: 0; border-radius: 4px;
    color: #fff; background: #103b2e; cursor: pointer; font-size: 21px;
}
#ws-loyalty-dialog .ws-loyalty-close:hover { background: #ffffff1a; }
#ws-loyalty-dialog :focus-visible, #ws-loyalty-reopen:focus-visible { outline: 3px solid #dfca76; outline-offset: 3px; }
#ws-loyalty-dialog .gform_wrapper { margin: 0; text-align: left; }
#ws-loyalty-dialog .gform_fields { display: grid; gap: 14px; padding: 0; margin: 0; }
#ws-loyalty-dialog .gfield { padding: 0; margin: 0; min-width: 0; list-style: none; }
#ws-loyalty-dialog .ginput_container { margin: 0; position: relative; }
#ws-loyalty-dialog .ginput_container_email::before, #ws-loyalty-dialog .ws-loyalty-name .ginput_container::before {
    font-family: FontAwesome; position: absolute; left: 15px; top: 15px;
    color: #777; font-size: 19px; pointer-events: none; line-height: 22px;
}
#ws-loyalty-dialog .ginput_container_email::before { content: '\f003'; }
#ws-loyalty-dialog .ws-loyalty-name .ginput_container::before { content: '\f007'; }
#ws-loyalty-dialog .ws-loyalty-name .ginput_counter { display: none; }
#ws-loyalty-dialog input[type=email], #ws-loyalty-dialog input[type=text] {
    display: block; background: #fff !important; color: #1b3029 !important; border: 1px solid #b6c2bd;
    border-radius: 3px; width: 100% !important; max-width: 100% !important; height: 52px;
    padding: 10px 12px 10px 45px !important; font: 400 16px/1.4 'FuturaLT-Book', Arial, sans-serif;
    box-shadow: none; margin: 0;
}
#ws-loyalty-dialog input::placeholder { color: #606963 !important; opacity: 1 !important; text-align: left !important; text-transform: none !important; font: 400 16px/1.4 'WSL Futura Book', Arial, sans-serif !important; letter-spacing: 0 !important; }
#ws-loyalty-dialog .gfield_label, #ws-loyalty-dialog .gfield_description.instruction { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#ws-loyalty-dialog .ws-loyalty-birthday .gfield_label, #ws-loyalty-dialog .ws-loyalty-gender .gfield_label {
    display: block !important; position: static; width: auto; height: auto; margin: 0 0 6px; padding: 0;
    overflow: visible; clip-path: none; white-space: normal; color: #fff;
    font: 400 15px/1.4 'WSL Futura Book', Arial, sans-serif;
}
#ws-loyalty-dialog .ws-loyalty-birthday .ginput_complex { display: grid; grid-template-columns: .75fr 1.45fr 1fr; gap: 6px; margin: 0; }
#ws-loyalty-dialog .ws-loyalty-birthday .ginput_container_date { display: block; width: auto; min-width: 0; max-width: none; margin: 0; padding: 0; }
#ws-loyalty-dialog .ws-loyalty-birthday select, #ws-loyalty-dialog .ws-loyalty-gender select {
    display: block; appearance: auto; width: 100% !important; min-width: 0; max-width: 100%; height: 52px;
    margin: 0; padding: 8px 6px !important; border: 1px solid #b6c2bd; border-radius: 3px;
    background: #fff !important; color: #1b3029 !important; box-shadow: none;
    font: 400 16px/1.4 'WSL Futura Book', Arial, sans-serif !important; text-transform: none;
}
#ws-loyalty-dialog .gfield_checkbox { margin: 0; padding: 0; }
#ws-loyalty-dialog .gchoice { display: flex; align-items: flex-start; gap: 9px; }
#ws-loyalty-dialog .gchoice input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #19753f; cursor: pointer; }
#ws-loyalty-dialog .gchoice label { color: #fff; font: 400 13px/1.4 'WSL Futura Book', Arial, sans-serif !important; margin: 0; max-width: none; cursor: pointer; }
#ws-loyalty-dialog a { color: #fff; text-decoration: underline; }
#ws-loyalty-dialog .gform_footer { margin: 18px 0 0; padding: 0; }
#ws-loyalty-dialog .gform_button {
    background: #20804c; color: #fff !important; padding: 13px 12px; width: 100%; min-height: 56px;
    margin: 0; border: 0; border-radius: 3px; box-shadow: none; height: auto !important;
    font: 400 26px/1.15 'WSL Futura Condensed', Impact, sans-serif;
    white-space: normal; text-transform: none; cursor: pointer;
}
#ws-loyalty-dialog .gform_button:hover { background: #279459; }
#ws-loyalty-dialog .gform_button:disabled { opacity: .6; cursor: wait; }
#ws-loyalty-dialog .ws-loyalty-legal { font: 400 12px/1.4 'FuturaLT-Book', Arial, sans-serif; color: #fff; margin: 15px 0 0; }
#ws-loyalty-dialog .ws-loyalty-rule { color: #fff; font: 400 13px/1.4 'WSL Futura Book', Arial, sans-serif; margin: 0 0 18px; }
#ws-loyalty-dialog .ws-loyalty-rule[hidden] { display: none; }
#ws-loyalty-dialog.ws-loyalty-complete .ws-loyalty-offer,
#ws-loyalty-dialog.ws-loyalty-complete .ws-loyalty-intro,
#ws-loyalty-dialog.ws-loyalty-complete .ws-loyalty-rule { display: none; }
#ws-loyalty-dialog .ws-loyalty-result { border-top: 1px solid #ffffff50; padding-top: 20px; }
#ws-loyalty-dialog .ws-loyalty-result p { color: #fff; font: 400 17px/1.5 'WSL Futura Book', Arial, sans-serif; margin: 18px 0 0; }
#ws-loyalty-dialog [data-ws-draw="won"] .ws-loyalty-result strong { color: #dfca76 !important; font-size: 34px; }
#ws-loyalty-dialog .gform_validation_errors { padding: 12px; margin: 0 0 14px; border: 1px solid #f1bcb6; border-radius: 3px; box-shadow: none; background: #fff3f0; }
#ws-loyalty-dialog .gform_validation_errors h2 { color: #8c201e; font: 400 15px/1.4 'FuturaLT-Book', Arial, sans-serif; margin: 0; }
#ws-loyalty-dialog .gform_validation_errors .gform-icon { display: none; }
#ws-loyalty-dialog .gform_validation_errors ul { padding-left: 18px; margin: 8px 0 0; }
#ws-loyalty-dialog .gform_validation_errors li { margin: 4px 0; }
#ws-loyalty-dialog .gform_validation_errors a { color: #8c201e !important; font: 400 14px/1.4 'WSL Futura Book', Arial, sans-serif !important; }
#ws-loyalty-dialog .gfield_validation_message { color: #fff; background: transparent; border: 0; margin: 6px 0 0; padding: 0; font: 400 13px/1.4 'FuturaLT-Book', Arial, sans-serif; }
#ws-loyalty-dialog .gfield_error .validation_message { color: #fff !important; text-transform: none !important; }
#ws-loyalty-dialog .gfield_error input, #ws-loyalty-dialog .gfield_error select { border: 2px solid #e9968a; }
#ws-loyalty-dialog .gform_confirmation_message { color: #fff; padding: 20px 0; font: 400 19px/1.5 'FuturaLT-Book', Arial, sans-serif; text-align: center; }
#ws-loyalty-dialog .gform_confirmation_message strong { color: #fff !important; font-family: 'WSL Futura Condensed', Impact, sans-serif; font-size: 25px; font-weight: 400; }
#ws-loyalty-dialog .gform_ajax_spinner { width: 20px; height: 20px; margin: 8px auto; }
#ws-loyalty-reopen { position: fixed; bottom: 16px; right: 16px; z-index: 100; border: 1px solid #fff; border-radius: 4px; background: #103b2e; color: #fff; padding: 10px 20px; min-height: 44px; font: 400 21px/1.2 'Helvetica Ultra Compressed', Impact, sans-serif; box-shadow: 0 2px 8px #0003; cursor: pointer; }
#ws-loyalty-reopen[hidden] { display: none !important; }
@media (max-width: 540px) {
    #ws-loyalty-dialog .ws-loyalty-panel { padding: 24px 20px 22px; }
    #ws-loyalty-dialog .ws-loyalty-logo { width: 205px; margin-bottom: 20px; }
    #ws-loyalty-dialog h2 { font-size: 24px; margin-bottom: 18px; }
    #ws-loyalty-dialog .ws-loyalty-offer { font-size: 33px; margin-bottom: 18px; }
    #ws-loyalty-dialog .ws-loyalty-offer strong { font-size: 35px; }
    #ws-loyalty-dialog .ws-loyalty-intro { font-size: 24px; }
    #ws-loyalty-dialog input[type=text] { padding-left: 40px !important; }
    #ws-loyalty-dialog .gform_button { font-size: 20px; }
}
@media (max-width: 360px) {
    #ws-loyalty-dialog .ws-loyalty-panel { padding: 24px 16px 20px; }
    #ws-loyalty-dialog h2 { font-size: 21px; }
    #ws-loyalty-dialog .ws-loyalty-offer { font-size: 26px; }
    #ws-loyalty-dialog .ws-loyalty-offer strong { font-size: 31px; }
    #ws-loyalty-dialog .ws-loyalty-intro { font-size: 21px; }
    #ws-loyalty-dialog .gform_button { font-size: 17px; }
    #ws-loyalty-dialog input::placeholder { font-size: 14px !important; }
}
@media (prefers-reduced-motion: no-preference) {
    #ws-loyalty-dialog .ws-loyalty-result { animation: ws-loyalty-result .8s ease-out; }
    @keyframes ws-loyalty-result { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
    #ws-loyalty-dialog[open] { animation: ws-loyalty-enter .18s ease-out; }
    @keyframes ws-loyalty-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}
