.brs-promo{
    --brs-dark:#2c1b11; --brs-panel:#3a271b; --brs-gold:#c9a36a;
    --brs-btn:#c8a87c; --brs-cream:#f6ede3; --brs-muted:#d9c7b4;
    max-width:900px; margin:30px auto; display:flex; border-radius:22px;
    overflow:hidden; background:var(--brs-dark); position:relative;
    font-family:'Jost',sans-serif; color:var(--brs-cream); box-sizing:border-box;
  }
  .brs-promo *{box-sizing:border-box;}
  .brs-promo::before{ /* soft circle glow, top-left */
    content:""; position:absolute; width:300px; height:300px; border-radius:50%;
    background:rgba(255,255,255,.04); top:-120px; left:-80px; pointer-events:none;
  }
  .brs-promo .brs-main{flex:1; padding:42px 40px; position:relative;}
  .brs-promo .brs-eyebrow{
    display:flex; align-items:center; gap:10px; color:var(--brs-gold);
    font-size:11px; letter-spacing:2.5px; font-weight:500; text-transform:uppercase; margin:0 0 18px;
  }
  .brs-promo .brs-eyebrow::before{content:""; width:20px; height:1px; background:var(--brs-gold);}
  .brs-promo .brs-title{
    font-family:'Cormorant Garamond',serif; font-weight:400; font-size:36px;
    line-height:1.2; margin:0 0 22px; color:var(--brs-cream);
  }
  .brs-promo .brs-title em{color:var(--brs-gold); font-style:italic;}
  .brs-promo .brs-text{font-size:14px; font-weight:300; line-height:1.75; color:var(--brs-muted); max-width:480px; margin:0 0 22px;}
  .brs-promo .brs-text strong{color:#fff; font-weight:500;}
  .brs-promo .brs-tags{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 26px;}
  .brs-promo .brs-tag{
    border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:6px 14px;
    font-size:12px; color:var(--brs-cream); background:rgba(255,255,255,.04);
  }
  .brs-promo .brs-btn{
    display:inline-block; background:var(--brs-btn); color:var(--brs-dark) !important;
    padding:13px 28px; border-radius:999px; font-size:13px; letter-spacing:1.5px;
    text-transform:uppercase; text-decoration:underline; font-weight:500; transition:opacity .2s;
  }
  .brs-promo .brs-btn:hover{opacity:.85;}
  .brs-promo .brs-side{
    width:200px; background:var(--brs-panel); border-left:1px solid rgba(255,255,255,.08);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; padding:30px 18px;
  }
  .brs-promo .brs-side-label{color:var(--brs-gold); font-size:11px; letter-spacing:2.5px; font-weight:500; margin-bottom:8px;}
  .brs-promo .brs-price{font-family:'Cormorant Garamond',serif; font-size:56px; line-height:1; color:var(--brs-cream);}
  .brs-promo .brs-price-sub{color:var(--brs-gold); font-size:12px; letter-spacing:1px; margin-top:6px;}
  .brs-promo .brs-divider{width:30px; height:1px; background:var(--brs-gold); opacity:.6; margin:16px auto;}
  .brs-promo .brs-fine{font-size:11.5px; color:var(--brs-muted); line-height:1.6;}

  @media (max-width:700px){
    .brs-promo{flex-direction:column; margin:20px 16px;}
    .brs-promo .brs-main{padding:32px 24px;}
    .brs-promo .brs-title{font-size:29px;}
    .brs-promo .brs-side{width:100%; border-left:none; border-top:1px solid rgba(255,255,255,.08);}
  }
.brs-promo { padding:0; width:calc(100% - 32px); margin:48px auto; scroll-margin-top:100px; }
.brs-promo .brs-main { min-width:0; }
.brs-promo .brs-side { flex-shrink:0; }
.brs-promo .brs-btn { text-align:center; }
.brs-promo .brs-btn:focus-visible { outline:3px solid #f6ede3; outline-offset:4px; }
@media (max-width:700px) { .brs-promo { margin:28px auto; } }

/* Keep the close control fixed while the offer scrolls on smaller screens. */
.brs-promo-dialog {
  width:calc(100% - 40px); max-width:900px; max-height:calc(100vh - 40px);
  max-height:calc(100dvh - 40px); margin:auto; padding:0; border:0;
  border-radius:22px; overflow:hidden; background:#2c1b11; color:#f6ede3;
  box-shadow:0 24px 90px rgba(0,0,0,.35);
}
.brs-promo-dialog:not([open]) { display:none; }
.brs-promo-dialog::backdrop { background:rgba(25,20,16,.65); backdrop-filter:blur(4px); }
.brs-promo-dialog .brs-promo-scroll {
  max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px);
  overflow-y:auto; overscroll-behavior:contain;
}
.brs-promo-dialog .brs-promo { width:100%; max-width:none; margin:0; border-radius:0; }
.brs-promo-dialog .brs-promo-close {
  position:absolute; top:8px; right:8px; z-index:2; display:grid; place-items:center;
  width:44px; height:44px; min-width:44px; padding:0; border:1px solid rgba(246,237,227,.22);
  border-radius:50%; background:#3a271b; color:#f6ede3;
  font-family:Arial,sans-serif; font-size:26px; font-weight:400; line-height:1;
  cursor:pointer; box-shadow:none;
}
.brs-promo-dialog .brs-promo-close:hover { background:#5b402e; color:#fff; }
.brs-promo-dialog .brs-promo-close:focus-visible { outline:2px solid #c9a36a; outline-offset:2px; }
.brs-offer-link-row { padding:20px 24px; text-align:center; background:#faf6f2; }
.brs-offer-link-row a { color:#61432d; font:500 13px/1.7 'DM Sans',sans-serif; text-underline-offset:4px; }
@media (max-width:700px) {
  .brs-promo-dialog { width:calc(100% - 28px); }
  .brs-promo-dialog .brs-main { padding-top:58px; }
}
