.sf-shop-tools,.sf-shop-wallet { display:flex; align-items:center; gap:8px; }
.sf-shop-tools { justify-content:flex-end; }
.sf-shop-wallet[hidden] { display:none; }
html body .sf-shop-tools button,html body .sf-shop-header #openLanguage {
 border:0; border-radius:14px; background:#2a2a36; color:#fff; min-height:46px; padding:0 14px;
}
.sf-shop-wallet { background:#383a4c; border-radius:14px; padding:3px 4px 3px 12px; color:#fff; white-space:nowrap; }
.sf-shop-wallet > span { border-radius:50%; background:#4d68e9; padding:2px 5px; }
html body .sf-shop-wallet button { min-height:40px; font-size:22px; background:#464854; }
.sf-promo-dialog { width:min(405px,calc(100% - 24px)); max-height:90dvh; overflow:auto; border:0; padding:0; color:#fff; background:transparent; }
.sf-promo-dialog::backdrop { background:#090911a8; backdrop-filter:blur(6px); }
.sf-promo-ticket { width:69%; margin:15px auto -8px; padding:22px; border:3px dashed #7699ef; transform:rotate(-9deg); text-align:center; font-size:26px; font-weight:900; color:#101b42; background:linear-gradient(145deg,#82b6ff,#465cca); }
.sf-promo-form { position:relative; display:grid; gap:15px; padding:20px; background:#1b1b27; border-radius:14px; }
.sf-promo-title { display:flex; justify-content:space-between; align-items:center; }
.sf-promo-title h2 { margin:0; font-size:20px; color:#fff; text-transform:uppercase; }
.sf-promo-dialog input { width:100%; min-height:47px; border:0; border-radius:12px; padding:0 15px; background:#11111d; color:#fff; }
.sf-promo-form [data-promo-close] { padding:0; min-width:30px; min-height:30px; border:0; border-radius:50%; color:#fff; background:#292936; }
.sf-promo-form [type=submit],.sf-promo-create { display:grid; place-items:center; min-height:50px; border:0; border-radius:12px; background:#4b67e9; color:#fff; font-weight:700; }
.sf-promo-create { margin-top:12px; background:#1b1b27; }
.sf-promo-form [role=status] { margin:0; color:#d4dcff; }
@media(max-width:620px){html body .sf-shop-tools button,html body .sf-shop-header #openLanguage{min-height:36px;padding-inline:8px}.sf-shop-tools{gap:4px}.sf-promo-open span{display:none}.sf-shop-wallet{gap:4px;padding-left:6px}.sf-shop-wallet strong{font-size:12px}}
.sf-promo-dialog { margin:auto; }

.sf-shop-header.sf-wallet-ready .pay_button[data-openmodal="popupPay"] { display:none!important; }
.sf-shop-header #profMenuOpen .user__avatar { border-radius:14px; overflow:hidden; }
.sf-shop-header #profMenuOpen img { border:0; border-radius:inherit; }
html body .sf-shop-tools button,html body .sf-shop-header #openLanguage {
 background:#272118; color:#ffe7b0;
}
.sf-shop-wallet { background:#312616; color:#fff2d4; }
.sf-shop-wallet > span { background:#ffd440; color:#211708; }
html body .sf-shop-wallet button { background:#493719; color:#ffda60; }
html body dialog.sf-promo-dialog {
 position:fixed; inset:0; margin:auto; height:fit-content;
 padding:28px 0 0; max-height:calc(100dvh - 24px);
}
.sf-promo-dialog::backdrop { background:#100c08b8; }
.sf-promo-ticket {
 border-color:#ffe18a; color:#38240a;
 background:linear-gradient(145deg,#ffe69a,#d39328);
}
.sf-promo-form,.sf-promo-dialog .sf-promo-create { background:#201b14; color:#fff2d4; }
.sf-promo-dialog .sf-promo-title h2 { color:#fff2d4; }
.sf-promo-dialog .sf-promo-form input { background:#15110c; color:#fff2d4; }
.sf-promo-dialog .sf-promo-form [data-promo-close] { background:#35291a; color:#ffe7b0; }
html body .sf-promo-dialog .sf-promo-form [type=submit] {
 width:100%; justify-self:stretch; background:#ffd440; color:#211708;
}
.sf-promo-form [role=status] { color:#ffe7b0; }
.sf-shop-wallet > span {
 display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px;
 padding:0; font:700 16px/1 Arial,sans-serif;
}
html body .sf-shop-header #openLanguage {
 display:grid; place-items:center; flex:0 0 46px; width:46px; height:46px; padding:0;
}
html body .sf-shop-header #openLanguage svg {
 display:block; width:21px!important; height:21px!important; max-width:none; max-height:none;
 fill:currentColor;
}
@media(max-width:620px){
 .sf-shop-wallet > span { flex-basis:22px; width:22px; height:22px; font-size:13px; }
 html body .sf-shop-header #openLanguage { flex-basis:36px; width:36px; height:36px; }
 html body .sf-shop-header #openLanguage svg { width:18px!important; height:18px!important; }
}
html body dialog.sf-promo-dialog { width:min(405px,calc(100% - 24px)); padding-top:29px; }
.sf-promo-ticket {
 width:78%; margin:8px auto -14px; padding:27px 8px;
 border:0; outline:1px solid #ffe6a8; outline-offset:-10px;
 border-radius:20% 12% 14% 12% / 12% 16% 12% 14%;
 transform:rotate(-13deg) skewY(-5deg); font-size:38px; letter-spacing:.08em;
 clip-path:polygon(0 8%,3% 0,97% 0,100% 8%,98% 15%,100% 22%,98% 29%,100% 36%,98% 43%,100% 50%,98% 57%,100% 64%,98% 71%,100% 78%,98% 85%,100% 92%,97% 100%,3% 100%,0 92%,2% 85%,0 78%,2% 71%,0 64%,2% 57%,0 50%,2% 43%,0 36%,2% 29%,0 22%,2% 15%);
}
.sf-promo-quiz { padding:10px; background:#15110c; border-radius:12px; }
.sf-quiz-title { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:8px; color:#d7c5a4; font-size:13px; }
html body .sf-quiz-title button { border:0; background:transparent; color:#ffe09b; padding:0 3px; min-width:22px; min-height:22px; }
.sf-quiz-content { display:grid; grid-template-columns:minmax(0,120px) minmax(0,1fr); gap:10px; }
.sf-quiz-content img { width:100%; height:120px; object-fit:contain; background:#312514; border-radius:9px; }
.sf-quiz-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
html body .sf-quiz-options button { min-width:0; padding:4px; color:#fff2d4; background:#231d15; border:1px solid #403322; border-radius:8px; font-size:12px; }
html body .sf-quiz-options button[aria-pressed=true] { border-color:#ffd440; background:#453315; }
html body .sf-promo-dialog .sf-quiz-options {
 grid-template-rows:repeat(2,minmax(0,1fr)); align-items:stretch; justify-items:stretch;
}
html body .sf-promo-dialog .sf-quiz-options button {
 width:100%; height:100%; min-height:0; margin:0; justify-content:center;
}
html body .sf-promo-dialog .sf-promo-title [data-promo-close] {
 display:grid; place-items:center; width:30px; height:30px; min-height:30px;
 min-width:30px; padding:0; line-height:1; font-size:18px;
}
html body .sf-promo-dialog .sf-quiz-title [data-quiz-refresh] {
 width:24px; height:24px; min-height:24px; line-height:1;
}
.sf-promo-dialog .sf-promo-ticket {
 width:74%; padding:22px 8px; font-size:clamp(24px,7vw,32px);
 transform:rotate(-11deg) skewY(-3deg);
}
#popupPay .popup_promo_block .popup_promo_list {
 display:grid; gap:6px; min-width:0; padding:0!important; border:0!important; background:transparent!important;
}
#popupPay .popup_promo_block .popup_current_promo {
 box-sizing:border-box; display:flex!important; align-items:center; justify-content:space-between;
 gap:10px; width:100%; min-height:42px; margin:0!important; padding:8px 12px!important;
 border:1px solid #58482a!important; border-radius:10px!important; background:#302719!important;
 color:#ffe29b!important; font-weight:700; cursor:pointer;
}
#popupPay .popup_promo_block .popup_current_promo:hover { background:#40331e!important; }
#popupPay .popup_current_promo svg { width:16px; height:16px; flex:none; fill:currentColor; }
html body #popupPay .popup_promo_block {
 display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px;
}
html body #popupPay .popup_promo_block > .inputs-inline {
 display:flex!important; flex-direction:column; align-items:stretch!important; gap:8px; width:100%!important; min-width:0;
}
html body #popupPay .popup_promo_block > .inputs-inline > label {
 display:flex; align-items:center; min-height:22px; margin:0!important;
}
html body #popupPay .popup_promo_block .popup_promo_area,
html body #popupPay .popup_promo_block .popup_promo_list { width:100%!important; margin:0!important; }
html body #popupPay .popup_promo_block .popup_current_promo { min-height:50px; }
@media(max-width:430px){
 html body #popupPay .popup_promo_block { grid-template-columns:minmax(0,1fr); }
}

/* SAQ mobile header fit */
html body .navbar_usermenu:has(#profMenuOpen) .pay_button[data-openmodal="popupPay"]{display:none!important}
@media(max-width:620px){
 html body .navbar.row{display:flex!important;flex-wrap:nowrap!important;justify-content:space-between!important;align-items:center!important;gap:6px;padding-inline:8px!important}
 html body .navbar .navbar_menu_left{display:flex!important;align-items:center;flex:1 1 auto;min-width:0;gap:6px}
 html body .navbar .navbar_menu_left .logo-text{display:block;flex:0 1 115px;min-width:0;max-width:115px;margin:0!important}
 html body .navbar .logo-text :is(svg,img){display:block;width:100%;height:auto}
 html body .navbar .navbar_usermenu{display:flex!important;flex:0 0 auto;align-items:center;gap:4px!important;width:auto!important;margin:0!important}
 html body .navbar_usermenu :is(#notifyOpen,#openLanguage,#profMenuOpen,.sf-promo-open){box-sizing:border-box;min-width:32px!important;width:34px!important;min-height:34px!important;height:34px!important;padding:0!important;justify-content:center}
 html body .navbar_usermenu #profMenuOpen :is(.user__avatar,.user__avatar img){width:32px!important;height:32px!important}
 html body .navbar_usermenu #profMenuOpen :is(.sq-account-name,.sq-account-arrow){display:none!important}
 html body .navbar .sf-shop-tools{margin:0!important;gap:0}
}
