/* START27 promotion (see promo.js) */
.promo-banner{position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:center;gap:6px 16px;padding:8px 3.5vw;background:var(--yellow,#efc34d);color:var(--ink,#171714);font:700 .78rem/1.3 inherit;letter-spacing:.06em;text-transform:uppercase;text-align:center}
.promo-banner strong{font-weight:900}
.pb-mob{display:none}
.promo-sep{margin:0 8px;opacity:.5}
.promo-code{font-weight:900;letter-spacing:.14em}
.promo-copy{all:unset;cursor:pointer;box-sizing:border-box;padding:6px 12px;background:var(--ink,#171714);color:var(--paper,#f4efe5);font:800 .66rem/1 inherit;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.promo-copy:hover{background:var(--red,#e94d36)}
.promo-copy.is-done{background:var(--green,#255846)}
.promo-copy:focus-visible,.promo-sticker:focus-visible{outline:3px solid var(--red,#e94d36);outline-offset:2px}
.promo-on .site-header{top:var(--promo-h,36px)}
/* round sticker */
.persona-hero,.hero{position:relative}
.promo-sticker{all:unset;cursor:pointer;box-sizing:border-box;position:absolute;z-index:5;right:clamp(16px,4vw,64px);top:clamp(20px,4vw,56px);width:clamp(104px,12vw,158px);aspect-ratio:1;border-radius:50%;background:var(--yellow,#efc34d);color:var(--ink,#171714);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(12deg);box-shadow:0 12px 30px #0005;transition:transform .25s}
.promo-sticker.is-left{right:auto;left:clamp(12px,2vw,28px);top:clamp(16px,3vw,40px);width:clamp(96px,10vw,132px);transform:rotate(-12deg)}
.promo-sticker:hover{transform:rotate(0) scale(1.05)}
.promo-sticker:before{content:"";position:absolute;inset:7px;border:2px dashed var(--ink,#171714);border-radius:50%}
.ps-big{font-size:clamp(2rem,3.6vw,3rem);font-weight:900;letter-spacing:-.05em;line-height:.9}
.promo-sticker.is-left .ps-big{font-size:clamp(1.8rem,3vw,2.5rem)}
.ps-off{font-weight:900;letter-spacing:.3em;font-size:.7rem;margin:2px 0 6px .3em}
.ps-code{font-weight:900;letter-spacing:.12em;font-size:clamp(.62rem,1.1vw,.8rem);padding:3px 8px;background:var(--ink,#171714);color:var(--yellow,#efc34d)}
.promo-sticker.is-done .ps-code{visibility:hidden}
.promo-sticker.is-done:after{content:attr(data-done);position:absolute;bottom:26%;font-weight:900;font-size:.8rem}
/* coupon (enquiry section) */
.promo-coupon{position:relative;display:flex;align-items:stretch;max-width:520px;margin-top:34px;background:var(--paper,#f4efe5);color:var(--ink,#171714);transform:rotate(-1.6deg);box-shadow:0 14px 34px #0003;
 -webkit-mask:radial-gradient(circle 11px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 11px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
.pc-big{display:flex;flex-direction:column;justify-content:center;padding:18px 22px 18px 30px;background:var(--red,#e94d36);color:#fff;border-right:2px dashed var(--ink,#171714)}
.pc-big b{font-size:clamp(3.4rem,7vw,4.8rem);line-height:.85;letter-spacing:-.05em;font-weight:900}
.pc-big i{font-style:normal;font-weight:900;letter-spacing:.3em;font-size:.9rem;margin-top:6px}
.pc-info{padding:16px 28px 16px 20px;flex:1}
.pc-info p{margin:0}.pc-title{font-weight:900;font-size:1rem;margin-bottom:10px!important}
.pc-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pc-code{font-weight:900;letter-spacing:.16em;font-size:1.1rem;padding:6px 12px;border:2px solid var(--ink,#171714)}
.pc-how{margin:8px 0 0!important;font-size:.82rem;opacity:.75}
@media (max-width:650px){
 .promo-banner{padding:9px 14px;justify-content:space-between;text-align:left;font-size:1rem}
 .pb-desk{display:none}.pb-mob{display:block;flex:1;line-height:1.15}
 .promo-copy{padding:9px 12px}
 .promo-sticker{width:104px;right:14px;top:14px}.promo-sticker.is-left{right:auto;left:14px;width:104px}
 .promo-sticker .ps-big,.promo-sticker.is-left .ps-big{font-size:1.7rem}
 .ps-off{font-size:.55rem;margin:1px 0 4px .3em}.ps-code{font-size:.56rem;padding:2px 6px}
 .promo-coupon{max-width:none;flex-direction:column}.pc-big{flex-direction:row;align-items:baseline;gap:10px;border-right:0;border-bottom:2px dashed var(--ink,#171714);padding:14px 20px}
 .pc-big i{margin:0}.pc-info{padding:14px 20px 18px}
}
