/*
 * The welcome offer's sheet and the code link's banner (offer.js; docs/specs/welcome-offer.md §5). A file: our pages run
 * a CSP without 'unsafe-inline'. The privacy bar's neutral colours (prefs.css), so it reads on the dark book pages. A
 * phone gets a non-modal bottom sheet, folded to its heading, one line and a button until tapped (offer.js puts it above
 * the sticky Order bar); a wide screen a card at the bottom right. Its small print stays at 12 px or more.
 */
.bh-offer { position:fixed; left:0; right:0; bottom:0; z-index:40; box-sizing:border-box; max-height:80vh; overflow:auto;
  background:#1d1a17; color:#f3ede3; border-top:1px solid #4a4038; padding:12px 16px 14px; font:15px/1.4 Georgia, "EB Garamond", serif;
  box-shadow:0 -6px 18px rgba(0,0,0,.3); }
.bh-offer[hidden] { display:none; }
.bh-offer.bh-offer-away { visibility:hidden; pointer-events:none; }
.bh-offer-title { margin:0 40px 4px 0; font-weight:600; font-size:17px; line-height:1.3; }
.bh-offer-lead { margin:0 0 10px; font-size:14px; line-height:1.4; }
.bh-offer-close { position:absolute; top:4px; right:4px; width:44px; height:44px; padding:0; border:0; background:transparent; color:#f3ede3;
  font:24px/1 Georgia, serif; cursor:pointer; }
.bh-offer-open, .bh-offer-submit { min-height:44px; padding:8px 16px; font:600 15px/1.2 Georgia, serif; color:#1d1a17; background:#f3ede3;
  border:1px solid #f3ede3; border-radius:4px; cursor:pointer; }
.bh-offer-label { display:block; margin:0 0 4px; font-size:14px; }
.bh-offer-row { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 8px; }
.bh-offer-email, .bh-offer-country { flex:1 1 200px; min-height:44px; box-sizing:border-box; padding:6px 10px; font:16px Georgia, serif;
  color:#1d1a17; background:#fffdf8; border:1px solid #b9ab96; border-radius:4px; }
.bh-offer-country { display:block; width:100%; margin:0 0 8px; }
.bh-offer-row .bh-offer-email { margin:0; }
.bh-offer-form > .bh-offer-email { display:block; width:100%; margin:0 0 8px; }
.bh-offer-fine { margin:6px 0 0; font-size:12px; line-height:1.45; color:#e0d6c6; }
.bh-offer-fine a, .bh-offer-banner a { color:#e2c27d; text-decoration:underline; }
.bh-offer-msg { margin:8px 0 0; font-size:14px; }
.bh-offer-msg:empty { display:none; }
.bh-offer-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.bh-offer-banner { display:flex; align-items:center; gap:8px; padding:6px 8px 6px 16px; background:#1d1a17; color:#f3ede3;
  border-bottom:1px solid #4a4038; font:15px/1.4 Georgia, "EB Garamond", serif; }
.bh-offer-banner[hidden] { display:none; }
.bh-offer-banner.bh-offer-on { background:#23321f; border-bottom-color:#4f6b45; }
.bh-offer-banner-text { flex:1 1 auto; margin:0; }
.bh-offer-banner-close { flex:none; width:44px; height:44px; padding:0; border:0; background:transparent; color:#f3ede3; font:22px/1 Georgia, serif; cursor:pointer; }
@media (min-width:761px) {
  .bh-offer { left:auto; right:16px; bottom:16px; width:360px; max-height:calc(100vh - 32px); border:1px solid #4a4038; border-radius:6px;
    box-shadow:0 10px 30px rgba(0,0,0,.4); }
}
@media (prefers-reduced-motion:no-preference) {
  .bh-offer { animation:bh-offer-in .25s ease-out; }
  @keyframes bh-offer-in { from { transform:translateY(12px); opacity:0; } to { transform:none; opacity:1; } }
}
