/* LUMES Design | Black Friday 2026. All rules belong to this component. */
.lbf-root { --lbf-ink:#f8f3e9; --lbf-muted:#c2b7a7; --lbf-gold:#edc48a; --lbf-bg:#121210; --lbf-panel:#1e1e1a; font-family:var(--font-base-family,Arial,sans-serif); }
.lbf-root *, .lbf-root *::before, .lbf-root *::after { box-sizing:border-box; }
.lbf-root [hidden] { display:none!important; }
.lbf-dialog { position:fixed; inset:0; width:min(930px,calc(100vw - 48px)); max-width:none; max-height:calc(100dvh - 48px); margin:auto; padding:0; border:1px solid #706145; border-radius:20px; background:var(--lbf-bg); color:var(--lbf-ink); overflow:auto; overscroll-behavior:contain; box-shadow:0 35px 140px #0009; }
.lbf-dialog:not([open]) { display:none; }
.lbf-dialog::backdrop { background:rgb(0 0 0 / .72); backdrop-filter:blur(7px); }
.lbf-dialog[open] { animation:lbf-enter .35s ease-out; }
.lbf-shell { display:grid; grid-template-columns:.88fr 1.12fr; min-height:584px; }
.lbf-close { position:absolute; top:14px; right:14px; z-index:3; display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid #786c57; border-radius:50%; background:#191916; color:var(--lbf-ink); cursor:pointer; transition:background .2s,transform .2s; }
.lbf-close:hover { background:#393429; transform:rotate(90deg); }
.lbf-close svg { width:18px; height:18px; }
.lbf-hero { position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:flex-start; overflow:hidden; padding:36px 32px 30px; border-right:1px solid #4a4235; background:radial-gradient(ellipse at 90% 42%,#66432366,transparent 62%),linear-gradient(150deg,#24221a,#121210 72%); }
.lbf-hero::before { content:""; position:absolute; z-index:-1; width:470px; height:470px; left:7%; top:80px; border:1px solid #d9ae6c38; border-radius:50%; box-shadow:0 0 0 46px #d9ae6c0a,0 0 0 47px #d9ae6c22,0 0 0 92px #d9ae6c06,0 0 0 93px #d9ae6c16; pointer-events:none; }
.lbf-brand { margin:0 0 32px; font-size:20px; line-height:1; letter-spacing:.18em; font-weight:600; color:var(--lbf-ink); }
.lbf-brand span { font-size:11px; letter-spacing:.14em; font-weight:400; }
.lbf-eyebrow { margin:0 0 12px; font-size:11px; line-height:1.5; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--lbf-gold); }
.lbf-title { margin:0!important; padding:0!important; font-family:var(--font-header-family,Arial,sans-serif); font-size:clamp(45px,5.3vw,70px)!important; font-weight:700; line-height:.96!important; letter-spacing:-.055em; color:var(--lbf-ink)!important; }
.lbf-title span { display:block; color:var(--lbf-gold); }
.lbf-up-to { margin:28px 0 0; font-size:13px; line-height:1.5; color:var(--lbf-muted); }
.lbf-max { display:flex; align-items:baseline; margin:0; font-size:112px; line-height:1.08; letter-spacing:-.08em; font-weight:600; color:var(--lbf-gold); }
.lbf-max sup { font-size:.44em; line-height:1; letter-spacing:-.04em; top:0; }
.lbf-tagline { max-width:260px; margin:4px 0 24px; font-size:15px; line-height:1.5; color:var(--lbf-ink); }
.lbf-date { display:flex; gap:10px; align-items:center; margin:auto 0 0; padding-top:14px; font-size:11px; letter-spacing:.075em; line-height:1.6; color:var(--lbf-muted); }
.lbf-date::before { content:""; display:block; flex:none; width:21px; height:1px; background:var(--lbf-gold); }
.lbf-offers { padding:66px 28px 20px; }
.lbf-intro { margin:0 0 17px; max-width:320px; font-size:15px; line-height:1.55; color:var(--lbf-ink); }
.lbf-grid { display:grid; gap:10px; }
.lbf-coupon { position:relative; display:grid; grid-template-columns:66px 1fr auto; gap:14px; align-items:center; width:100%; min-height:79px; margin:0; padding:12px 14px; border:1px solid #625847; border-radius:10px; background:var(--lbf-panel); color:var(--lbf-ink); text-align:left; font:inherit; cursor:pointer; transition:transform .18s,border-color .18s,background .18s,box-shadow .18s; }
.lbf-coupon:hover { transform:translateY(-2px); border-color:var(--lbf-gold); background:#30291f; box-shadow:0 5px 18px #0003; }
.lbf-coupon:active { transform:translateY(0); }
.lbf-coupon.is-copied { border-color:var(--lbf-gold); background:#382e20; }
.lbf-discount { font-size:27px; font-weight:600; letter-spacing:-.055em; line-height:1; color:var(--lbf-gold); }
.lbf-discount small { font-size:17px; }
.lbf-detail { display:flex; min-width:0; flex-direction:column; align-items:flex-start; gap:5px; padding-left:14px; border-left:1px dashed #6d604a; }
.lbf-condition { display:block; font-size:11px; line-height:1.35; color:var(--lbf-muted); }
.lbf-code { font-size:17px; line-height:1; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-weight:600; letter-spacing:.09em; color:var(--lbf-ink); }
.lbf-copy-icon { display:grid; place-items:center; width:34px; height:34px; border:1px solid #76654a; border-radius:50%; color:var(--lbf-gold); }
.lbf-copy-icon svg { display:block; width:16px; height:16px; }
.lbf-check { display:none!important; }
.lbf-coupon.is-copied .lbf-check { display:block!important; }
.lbf-coupon.is-copied .lbf-copy { display:none; }
.lbf-status { min-height:34px; margin:11px 0 0; font-size:11px; line-height:1.5; color:var(--lbf-gold); }
.lbf-manual { margin:4px 0 10px; }
.lbf-manual input { width:100%; min-height:44px; padding:10px; color:var(--lbf-ink); background:#25221b; border:1px solid var(--lbf-gold); font:16px ui-monospace,monospace; }
.lbf-footnote { margin:0 0 9px; font-size:10px; line-height:1.6; color:var(--lbf-muted); }
.lbf-dismiss { display:block; width:100%; min-height:40px; margin:0; border:0; padding:7px; background:transparent; color:var(--lbf-ink); text-align:center; font:inherit; font-size:12px; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.lbf-dismiss:hover { color:var(--lbf-gold); }
.lbf-preview { position:fixed; z-index:2147482000; bottom:18px; left:18px; max-width:calc(100vw - 36px); min-height:44px; padding:10px 18px; border:1px solid #edc48a; border-radius:30px; background:#161613; color:#edc48a; font:12px Arial,sans-serif; cursor:pointer; box-shadow:0 4px 20px #0004; }
.lbf-root button:focus-visible,.lbf-root input:focus-visible { outline:3px solid var(--lbf-gold); outline-offset:4px; }
.lbf-coupon.is-copied .lbf-copy-icon { animation:lbf-check .35s ease-out; }
@keyframes lbf-enter { from { opacity:0; transform:translateY(16px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes lbf-check { 50% { transform:scale(1.2); } }
@media (max-width:767px) {
  .lbf-dialog { width:min(440px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); border-radius:15px; }
  .lbf-shell { display:block; min-height:0; }
  .lbf-close { top:10px; right:10px; width:40px; height:40px; }
  .lbf-hero { display:grid; grid-template-columns:1fr auto; column-gap:12px; padding:25px 22px 18px; border-right:0; border-bottom:1px solid #4a4235; }
  .lbf-hero::before { left:26%; top:-44px; width:300px; height:300px; }
  .lbf-brand { grid-column:1/-1; margin:0 0 20px; font-size:16px; }
  .lbf-brand span { font-size:9px; }
  .lbf-eyebrow { grid-column:1/-1; margin-bottom:8px; font-size:9px; }
  .lbf-title { grid-column:1; grid-row:3/5; font-size:44px!important; align-self:center; }
  .lbf-up-to { grid-column:2; margin:0; font-size:11px; align-self:end; }
  .lbf-max { grid-column:2; font-size:69px; line-height:1; }
  .lbf-tagline { grid-column:1/-1; max-width:none; margin:13px 0 0; font-size:12px; }
  .lbf-date { grid-column:1/-1; margin:0; padding-top:10px; font-size:9px; }
  .lbf-offers { padding:17px 18px 12px; }
  .lbf-intro { margin:0 0 12px; font-size:12px; }
  .lbf-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .lbf-coupon { grid-template-columns:1fr auto; gap:9px 4px; min-height:99px; padding:11px 12px; }
  .lbf-discount { grid-column:1; grid-row:1; font-size:26px; }
  .lbf-copy-icon { grid-column:2; grid-row:1; width:29px; height:29px; }
  .lbf-detail { grid-column:1/-1; grid-row:2; gap:5px; padding:0; border:0; }
  .lbf-code { font-size:16px; }
  .lbf-condition { font-size:10px; }
  .lbf-status { margin-top:9px; min-height:31px; font-size:10px; }
  .lbf-footnote { font-size:9px; margin-bottom:2px; }
  .lbf-dismiss { min-height:36px; font-size:11px; }
}
@media (max-width:359px) { .lbf-hero{padding:22px 17px 16px}.lbf-title{font-size:37px!important}.lbf-max{font-size:61px}.lbf-offers{padding:14px 13px 10px}.lbf-coupon{padding:10px}.lbf-intro{font-size:11px} }
@media (prefers-reduced-motion:reduce) { .lbf-root * { animation:none!important; transition:none!important; } }
