.bc-welcome-lock{overflow:hidden}
.bc-welcome{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;font-family:Helvetica,Arial,sans-serif;color:#1d1620}
.bc-welcome[hidden]{display:none}
.bc-welcome__backdrop{position:absolute;inset:0;background:rgba(29,10,24,.55);opacity:0;transition:opacity .25s}
.bc-welcome__card{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);width:min(760px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fbf6f4;border-radius:20px;box-shadow:0 30px 70px rgba(29,10,24,.35);transform:translateY(16px) scale(.98);opacity:0;transition:transform .25s,opacity .25s}
.bc-welcome.is-open .bc-welcome__backdrop{opacity:1}
.bc-welcome.is-open .bc-welcome__card{transform:none;opacity:1}
.bc-welcome__img{background:#e7d5d3 center 20%/cover no-repeat;min-height:440px}
.bc-welcome__body{padding:40px 36px 28px;display:flex;flex-direction:column;justify-content:center;text-align:center}
.bc-welcome__x{position:absolute;top:10px;right:12px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#370028;font-size:24px;line-height:1;cursor:pointer}
.bc-welcome__kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8b3d7e}
.bc-welcome h2{margin:10px 0 0;font-family:'Cormorant',Georgia,serif;font-style:italic;font-weight:600;font-size:44px;line-height:1;color:#1d1620}
.bc-welcome h2 em{color:#370028;font-style:inherit}
.bc-welcome__sub{margin:14px 0 0;font-size:15px;line-height:1.45;color:#5a5260}
.bc-welcome__form{margin-top:22px;display:grid;gap:10px}
.bc-welcome__form input{width:100%;height:50px;padding:0 16px;border:1.5px solid #d9c3cc;border-radius:12px;background:#fff;font-size:16px;color:#1d1620;box-sizing:border-box}
.bc-welcome__form input:focus{outline:none;border-color:#370028;box-shadow:0 0 0 3px rgba(55,0,40,.12)}
.bc-welcome__form button,.bc-welcome__cta{display:block;height:52px;border:0;border-radius:12px;background:#370028;color:#fff;font-size:16px;font-weight:700;letter-spacing:.02em;cursor:pointer;line-height:52px;text-decoration:none}
.bc-welcome__form button:hover,.bc-welcome__cta:hover{background:#4d0a3a;color:#fff}
.bc-welcome__form button:disabled{opacity:.7;cursor:wait}
.bc-welcome__err{margin:0;min-height:1em;font-size:13px;color:#b42318}
.bc-welcome__no{margin-top:6px;border:0;background:none;font-size:13px;color:#5a5260;text-decoration:underline;cursor:pointer}
.bc-welcome__legal{margin:14px 0 0;font-size:11px;line-height:1.4;color:#8a7682}
.bc-welcome__code{margin:22px auto 0;display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:16px;border:2px dashed #370028;border-radius:14px;background:#fff;cursor:pointer}
.bc-welcome__code span{font-family:'Poppins',sans-serif;font-size:30px;font-weight:800;letter-spacing:.1em;color:#370028}
.bc-welcome__code small{font-size:12px;color:#8a7682}
.bc-welcome__cta{margin-top:20px}
@media(max-width:699px){
  .bc-welcome{align-items:flex-end;padding:0}
  .bc-welcome__card{grid-template-columns:1fr;border-radius:20px 20px 0 0;max-height:92vh}
  .bc-welcome__img{min-height:0;height:170px;background-position:center 18%}
  .bc-welcome__body{padding:24px 20px 22px}
  .bc-welcome h2{font-size:36px}
}
/* Minimised offer: vertical tab on the left edge, in the lower part of the screen */
.bc-teaser{position:fixed;left:0;bottom:120px;z-index:900;display:flex;flex-direction:column;align-items:center;background:#370028;color:#fff;border-radius:0 12px 12px 0;box-shadow:0 8px 22px rgba(29,10,24,.28);font-family:Helvetica,Arial,sans-serif;opacity:0;transform:translateX(-100%);transition:opacity .25s,transform .25s}
.bc-teaser[hidden]{display:none}
.bc-teaser.is-on{opacity:1;transform:none}
.bc-teaser__x{order:-1;border:0;background:none;color:rgba(255,255,255,.7);width:34px;height:28px;font-size:17px;line-height:1;cursor:pointer;padding:6px 0 0}
.bc-teaser__x:hover{color:#fff}
.bc-teaser__open{border:0;background:none;color:#fff;writing-mode:vertical-rl;transform:rotate(180deg);padding:12px 9px 14px;font-size:13px;letter-spacing:.06em;white-space:nowrap;cursor:pointer}
.bc-teaser__open b{font-weight:800}
@media(max-width:699px){.bc-teaser{bottom:96px}.bc-teaser__open{font-size:12px;padding:10px 8px 12px}.bc-teaser__x{width:30px}}
