/* One small dismissible ticket; no full-screen overlay or pointer-catching layer. */
.doplock-bf-v40{position:fixed;left:22px;bottom:26px;z-index:80;width:230px;max-width:calc(100vw - 32px);border:1px solid #f0d4bc;border-radius:22px;background:#fffaf4;color:#111;box-shadow:0 12px 38px #0002;font:500 14px/1.45 Arial,sans-serif;text-align:left;box-sizing:border-box;}
.doplock-bf-v40[hidden]{display:none!important;}
.doplock-bf-v40 *{box-sizing:border-box;}
.doplock-bf-v40.is-floating{animation:doplock-bf-float 5s ease-in-out infinite;}
.doplock-bf-v40:hover,.doplock-bf-v40:focus-within{animation-play-state:paused;}
.doplock-bf-v40 .doplock-bf-close{position:absolute;right:4px;top:3px;width:36px;height:36px;min-height:0;padding:0;border:0;background:transparent;color:#111;-webkit-text-fill-color:#111;font:500 24px/1 Arial;cursor:pointer;z-index:1;}
.doplock-bf-v40 .doplock-bf-ticket{display:flex;flex-direction:column;gap:7px;width:100%;min-height:0;padding:22px 18px 16px;border:0;background:transparent;color:#111;-webkit-text-fill-color:#111;text-align:left;cursor:pointer;font:600 13px/1.4 Arial;white-space:normal;border-radius:22px;}
.doplock-bf-v40 .doplock-bf-ticket strong{font-size:28px;letter-spacing:-1px;color:#111;}
.doplock-bf-v40 .doplock-bf-eyebrow{font-size:10px;letter-spacing:1.7px;color:#bd4a00;-webkit-text-fill-color:#bd4a00;}
.doplock-bf-v40.is-open{width:330px;max-height:calc(100dvh - 160px);overflow:auto;padding:22px;animation:none;}
.doplock-bf-v40 h2{font:800 23px/1.2 Arial;color:#111;margin:8px 0 12px;padding-right:15px;}
.doplock-bf-v40 p{font:400 13px/1.5 Arial;color:#555;margin:12px 0 0;}
.doplock-bf-v40 label{display:block;color:#111;margin:12px 0 6px;font-size:12px;}
.doplock-bf-v40 input{width:100%;font:600 13px/1.5 monospace;border:1px solid #ddd;border-radius:8px;padding:10px;background:#fff;color:#111;min-height:44px;}
.doplock-bf-v40 .doplock-bf-action{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 14px;margin-top:12px;background:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:0;border-radius:99px;text-decoration:none;font:700 13px/1.4 Arial;cursor:pointer;}
.doplock-bf-v40 button:focus-visible,.doplock-bf-v40 a:focus-visible{outline:2px solid #ed6d18;outline-offset:3px;}
.doplock-bf-v40 .doplock-bf-status:empty{display:none;}
.doplock-bf-v40 .doplock-bf-status{padding:0 12px 12px;color:#a23a00;}
@keyframes doplock-bf-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}
@media(max-width:782px){.doplock-bf-v40{left:12px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:184px;}.doplock-bf-v40 .doplock-bf-ticket{padding:22px 14px 14px;font-size:12px;gap:4px;}.doplock-bf-v40 .doplock-bf-ticket strong{font-size:24px;}.doplock-bf-v40.is-open{bottom:calc(82px + env(safe-area-inset-bottom,0px));width:min(330px,calc(100vw - 24px));}.doplock-bf-v40 .doplock-bf-close{width:40px;height:40px;}}
@media(prefers-reduced-motion:reduce){.doplock-bf-v40.is-floating{animation:none!important;}}

/* V43: seasonal accents stay clear of navigation, forms and the Dopi button. */
.doplock-bf-v40.is-halloween{background:#21160f;border-color:#ff8b35;box-shadow:0 14px 42px #0003,0 0 22px #f9731620;}
.doplock-bf-v40.is-halloween .doplock-bf-ticket,
.doplock-bf-v40.is-halloween .doplock-bf-ticket strong,
.doplock-bf-v40.is-halloween .doplock-bf-close,
.doplock-bf-v40.is-halloween h2,
.doplock-bf-v40.is-halloween label{color:#fff4e7;-webkit-text-fill-color:#fff4e7;}
.doplock-bf-v40.is-halloween .doplock-bf-eyebrow{color:#ffad65;-webkit-text-fill-color:#ffad65;}
.doplock-bf-v40.is-halloween p{color:#f0d6bf;}
.doplock-bf-v40.is-halloween .doplock-bf-action{background:#ff923d!important;color:#21160f!important;-webkit-text-fill-color:#21160f!important;}
.doplock-halloween-decor{position:fixed;inset:0;pointer-events:none;z-index:2;overflow:hidden;}
.doplock-halloween-decor span:first-child{position:absolute;right:18px;bottom:160px;font-size:36px;opacity:.55;transform:rotate(12deg);}
.doplock-halloween-decor span:last-child{position:absolute;right:60px;bottom:210px;font-size:22px;color:#b95214;opacity:.6;}
@media(max-width:782px){.doplock-halloween-decor{display:none;}}
@media print{.doplock-bf-v40,.doplock-halloween-decor{display:none!important;}}
/* V44: in-flow seasonal banners never cover the sticky header or WP admin bar. */
.doplock-season-banner{--season-bg:#21160f;--season-fg:#fff4e7;--season-accent:#ff963f;position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;width:min(1160px,calc(100% - 40px));margin:24px auto 32px;padding:42px 160px;border-radius:28px;background:var(--season-bg);color:var(--season-fg);text-align:center;box-shadow:0 16px 45px #0001;}
.doplock-season-banner.season-black-friday{--season-bg:#111;--season-fg:#fff;--season-accent:#ff8d3c;}
.doplock-season-banner.season-christmas{--season-bg:#173b31;--season-fg:#fff8e8;--season-accent:#f2cd82;}
.doplock-season-banner.season-easter{--season-bg:#eee9da;--season-fg:#25372d;--season-accent:#d5e69c;}
.doplock-season-copy{position:relative;z-index:1;max-width:660px;margin:auto;}
.doplock-season-banner .doplock-season-kicker{font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--season-accent);margin:0 0 12px;}
.doplock-season-banner.season-easter .doplock-season-kicker{color:#52682e;}
.doplock-season-banner h2{font-size:clamp(25px,3vw,40px)!important;line-height:1.12!important;letter-spacing:-.035em!important;color:var(--season-fg)!important;-webkit-text-fill-color:var(--season-fg)!important;margin:0 0 14px!important;}
.doplock-season-banner p,.doplock-season-banner small{color:var(--season-fg)!important;-webkit-text-fill-color:var(--season-fg)!important;line-height:1.5;}
.doplock-season-banner p{font-size:16px;margin:0 0 18px;}
.doplock-season-banner small{display:block;font-size:12px;margin-top:12px;}
.doplock-season-banner .doplock-season-action{display:inline-flex;justify-content:center;align-items:center;min-height:46px;max-width:100%;padding:12px 22px;border:0;border-radius:99px;background:var(--season-accent)!important;color:#171717!important;-webkit-text-fill-color:#171717!important;font:750 14px/1.4 Arial,sans-serif;white-space:normal;text-decoration:none;cursor:pointer;}
.doplock-season-action:focus-visible{outline:3px solid var(--season-fg);outline-offset:4px;}
.doplock-season-art{position:absolute;inset:0;pointer-events:none;z-index:0;}
.doplock-season-art span{position:absolute;bottom:20px;font-size:120px;line-height:1;filter:drop-shadow(0 12px 15px #0003);}
.doplock-season-art span:first-child{left:12px;transform:rotate(-12deg);}
.doplock-season-art span:last-child{right:12px;transform:rotate(13deg);}
.season-black-friday .doplock-season-art span{font:bold 145px/1 Arial;color:#ff963f;opacity:.22;}
.doplock-season-footer{display:flex;justify-content:space-between;max-width:1100px;width:calc(100% - 48px);margin:0 auto 20px;pointer-events:none;line-height:1;}
.doplock-season-footer span{font-size:100px;filter:drop-shadow(0 10px 12px #0002);}
.doplock-season-footer.season-black-friday span{font:bold 100px/1 Arial;color:#d65b15;opacity:.4;}
.doplock-season-banner.is-compact{padding:18px 24px;margin:16px auto;border-radius:18px;}
.doplock-season-banner.is-compact h2{font-size:22px!important;}
.doplock-season-banner.is-compact .doplock-season-art,.doplock-season-banner.is-compact .doplock-season-copy>p:not(.doplock-season-kicker){display:none;}
.doplock-bf-v40.season-christmas{background:#173b31;border-color:#f2cd82;}
.doplock-bf-v40.season-christmas .doplock-bf-ticket,.doplock-bf-v40.season-christmas .doplock-bf-ticket strong,.doplock-bf-v40.season-christmas .doplock-bf-close,.doplock-bf-v40.season-christmas h2,.doplock-bf-v40.season-christmas p,.doplock-bf-v40.season-christmas label{color:#fff8e8;-webkit-text-fill-color:#fff8e8;}
.doplock-bf-v40.season-christmas .doplock-bf-eyebrow{color:#f2cd82;-webkit-text-fill-color:#f2cd82;}
.doplock-bf-v40.season-easter{background:#f4f2e8;border-color:#bdcc9a;}
@media(max-width:782px){.doplock-season-banner{width:calc(100% - 24px);padding:28px 20px 90px;margin:18px auto 24px;border-radius:22px;}.doplock-season-art span{font-size:76px;bottom:6px;}.season-black-friday .doplock-season-art span{font-size:82px;}.doplock-season-banner h2{font-size:27px!important;}.doplock-season-footer span{font-size:70px;}.doplock-season-footer.season-black-friday span{font-size:70px;}.doplock-season-banner.is-compact{padding:16px;}}
@media print{.doplock-season-banner,.doplock-season-footer{display:none!important;}}

/* V85: the opened coupon gently floats too; controls stay still during interaction. */
.doplock-bf-v40.is-open{animation:doplock-coupon-float-v85 5.5s ease-in-out infinite}
@keyframes doplock-coupon-float-v85{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.doplock-bf-v40.is-open:hover,.doplock-bf-v40.is-open:focus-within,.doplock-bf-v40.is-open:active{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.doplock-bf-v40.is-open{animation:none!important}}
