/*! BG Offers — brand listings. Everything is scoped to .bgo so it never touches theme, bgtop or bgbl styles. */
.bgo{--bgo-surface:#fff;--bgo-surface-hover:#fafbff;--bgo-ink:#0b0b1a;--bgo-ink-mid:#3a3a4d;--bgo-ink-soft:#6b6b7c;--bgo-ink-dim:#8e8e9c;--bgo-line:#e5e5ec;--bgo-line-strong:#d0d0db;--bgo-indigo:#1a3eb5;--bgo-indigo-bright:#2952d1;--bgo-indigo-soft:#eef1fc;--bgo-gold:#a07a12;--bgo-gold-soft:#fbf3df;--bgo-green:#0f7a4a;--bgo-green-soft:#e8f5ef;--bgo-red:#b3122b;--bgo-red-line:#f3c3ca;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--bgo-ink);max-width:940px;margin:28px auto;line-height:1.6;-webkit-font-smoothing:antialiased}
.bgo *,.bgo *::before,.bgo *::after{box-sizing:border-box}
.bgo a{text-decoration:none}
.bgo img{max-width:none;margin:0}

/* Head */
.bgo-head{margin:0 0 18px}
.bgo-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bgo-indigo);margin:0 0 8px}
.bgo-dot{width:7px;height:7px;border-radius:50%;background:var(--bgo-indigo);display:inline-block}
.bgo .bgo-title{font-family:'Lora',Georgia,serif;font-size:30px;font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--bgo-ink);margin:0 0 8px}
.bgo .bgo-title em{color:var(--bgo-indigo)}
.bgo-intro{font-size:15px;color:var(--bgo-ink-mid);margin:0}
.bgo p.bgo-intro a{color:var(--bgo-indigo);text-decoration:underline}

/* Shared list */
.bgo .bgo-list{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:12px}
.bgo .bgo-list>li{margin:0}
.bgo .bgo-list>li::before,.bgo .bgo-list>li::marker{content:none}
.bgo .bgo-name{font-family:'Lora',Georgia,serif;font-size:22px;font-weight:600;line-height:1.2;letter-spacing:-.005em;color:var(--bgo-ink);margin:0;padding:0}
.bgo .bgo-name a{color:inherit;border-bottom:1px solid transparent;transition:.2s}
.bgo .bgo-name a:hover{color:var(--bgo-indigo);border-bottom-color:var(--bgo-indigo)}
.bgo-desc{font-size:14.5px;color:var(--bgo-ink-mid);line-height:1.6;margin:0 0 12px}
.bgo p.bgo-desc a{color:var(--bgo-ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.bgo p.bgo-desc a:hover{color:var(--bgo-indigo)}
.bgo-offer-text{font-size:14.5px;font-weight:700;color:var(--bgo-ink)}
.bgo-promo{display:inline-flex;align-items:center;gap:8px}
.bgo-promo-label{font-size:12px;font-weight:600;color:var(--bgo-ink-soft)}
.bgo-code{font-family:'SFMono-Regular',Menlo,Consolas,monospace;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border:1px dashed var(--bgo-indigo);color:var(--bgo-indigo);border-radius:3px;-webkit-user-select:all;user-select:all}
.bgo-nocode{font-size:13px;font-weight:500;color:var(--bgo-ink-dim)}
.bgo-terms{font-size:11.5px;color:var(--bgo-ink-soft);line-height:1.55;margin:0;padding-top:10px;border-top:1px dashed var(--bgo-line)}
.bgo-terms strong,.bgo-terms b{color:var(--bgo-ink-mid);font-weight:700}
.bgo p.bgo-terms a{color:var(--bgo-ink-mid);font-weight:700;text-decoration:none}
.bgo a.bgo-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--bgo-indigo);color:#fff;font-family:'Inter',sans-serif;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.2;padding:14px 24px;border-radius:4px;border:0;white-space:nowrap;min-width:140px;text-align:center;transition:background .2s,transform .2s;box-shadow:none}
.bgo a.bgo-cta:hover,.bgo a.bgo-cta:focus{background:var(--bgo-indigo-bright);color:#fff;transform:translateY(-1px)}
.bgo-foot{font-size:12px;color:var(--bgo-ink-soft);line-height:1.6;margin:0;padding:14px 16px;background:var(--bgo-indigo-soft);border-left:3px solid var(--bgo-indigo);border-radius:3px}
.bgo-foot strong{color:var(--bgo-ink)}
.bgo p.bgo-foot a{color:var(--bgo-ink);font-weight:700}

/* ===== Ranked style (logo / rank · body · button) ===== */
.bgo-ranked .bgo-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;grid-template-areas:"lead body cta" "lead terms cta";column-gap:20px;row-gap:10px;align-items:start;background:var(--bgo-surface);border:1px solid var(--bgo-line);border-radius:6px;padding:22px 24px;transition:border-color .2s,background .2s}
.bgo-ranked .bgo-item:hover{border-color:var(--bgo-line-strong);background:var(--bgo-surface-hover)}
.bgo-ranked .bgo-item.bgo-best{border-color:var(--bgo-indigo);box-shadow:0 0 0 1px var(--bgo-indigo) inset;background:linear-gradient(180deg,var(--bgo-indigo-soft) 0%,var(--bgo-surface) 100%)}
.bgo-ranked .bgo-num{grid-area:lead;font-family:'Lora',Georgia,serif;font-size:52px;font-weight:500;font-style:italic;line-height:1;color:var(--bgo-indigo);letter-spacing:-.03em;padding-top:2px}
.bgo-ranked .bgo-logo{grid-area:lead;display:block;width:72px;height:72px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--bgo-line);box-shadow:0 1px 2px rgba(11,11,26,.06)}
.bgo-ranked .bgo-best .bgo-logo{border-color:var(--bgo-indigo)}
.bgo-ranked .bgo-logo img{width:100%;height:100%;object-fit:cover;display:block}
.bgo-ranked .bgo-body{grid-area:body;min-width:0}
.bgo-ranked .bgo-row{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin:0 0 4px}
.bgo-flag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.4;padding:3px 9px;border-radius:3px;white-space:nowrap;background:var(--bgo-gold-soft);color:var(--bgo-gold);border:1px solid rgba(176,133,21,.25)}
.bgo-flag-blue{background:var(--bgo-indigo-soft);color:var(--bgo-indigo);border-color:rgba(26,62,181,.2)}
.bgo-flag-green{background:var(--bgo-green-soft);color:var(--bgo-green);border-color:rgba(15,122,74,.25)}
.bgo-ranked .bgo-cat{display:block;font-size:11.5px;font-weight:600;color:var(--bgo-ink-dim);letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px}
.bgo-ranked .bgo-offer{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap}
.bgo-ranked .bgo-terms{grid-area:terms}
.bgo-ranked a.bgo-cta{grid-area:cta;align-self:center}

/* ===== Cards style (bonus cards) ===== */
.bgo-cards .bgo-card{display:grid;grid-template-columns:minmax(0,1fr) 180px;grid-template-areas:"main cta" "terms terms";gap:0 28px;align-items:center;background:var(--bgo-surface);border:1px solid var(--bgo-line);border-radius:6px;padding:24px 26px 18px}
.bgo-cards .bgo-card.bgo-best{background:#f3f4fc;border:2px solid var(--bgo-indigo)}
.bgo-cards .bgo-main{grid-area:main;min-width:0}
.bgo-cards .bgo-head-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:0 0 8px}
.bgo-cards .bgo-clogo{display:block;width:48px;height:48px;border-radius:12px;overflow:hidden;border:1px solid var(--bgo-line);background:#fff;flex:none}
.bgo-cards .bgo-clogo img{width:100%;height:100%;object-fit:cover;display:block}
.bgo-badges{display:flex;flex-wrap:wrap;gap:5px}
.bgo-badge{display:inline-block;font-size:9.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;line-height:1.4;padding:2px 7px;border-radius:3px;border:1px solid var(--bgo-line);color:var(--bgo-ink-soft);white-space:nowrap}
.bgo-badge-gold{border-color:#e8d9a8;color:#8a6d1f}
.bgo-badge-blue{border-color:#c9cdf2;color:var(--bgo-indigo)}
.bgo-badge-green{border-color:rgba(15,122,74,.3);color:var(--bgo-green)}
.bgo-badge-red{border-color:var(--bgo-red-line);color:var(--bgo-red)}
.bgo-cards .bgo-desc{font-size:15px}
.bgo-type{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--bgo-ink-soft);margin:0 0 10px}
.bgo-cards .bgo-code-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin:0 0 4px}
.bgo-cards .bgo-cta-wrap{grid-area:cta;text-align:center}
.bgo-cards a.bgo-cta{display:flex;width:100%;min-width:0;white-space:normal;padding:13px 14px;letter-spacing:.05em}
.bgo-cards .bgo-terms{grid-area:terms;margin-top:16px;padding-top:12px}

/* ===== Responsive ===== */
@media (max-width:820px){
  .bgo-ranked .bgo-item{grid-template-columns:60px minmax(0,1fr) auto;column-gap:16px;padding:20px}
  .bgo-ranked .bgo-logo{width:60px;height:60px;border-radius:12px}
  .bgo-ranked .bgo-num{font-size:44px}
  .bgo a.bgo-cta{padding:11px 18px;font-size:11.5px;min-width:110px}
}
@media (max-width:640px){
  .bgo .bgo-title{font-size:24px}
  /* Logo beside name/badge/category; description, offer, button and T&Cs full width underneath. */
  .bgo-ranked .bgo-item{grid-template-columns:48px minmax(0,1fr);grid-template-areas:"lead name" "lead cat" "desc desc" "offer offer" "cta cta" "terms terms";column-gap:12px;row-gap:0;align-items:center;padding:18px}
  .bgo-ranked .bgo-body{display:contents}
  .bgo-ranked .bgo-logo{width:48px;height:48px;border-radius:11px}
  .bgo-ranked .bgo-num{font-size:36px;padding-top:0;text-align:center}
  .bgo-ranked .bgo-row{grid-area:name;align-self:end;margin:0;gap:6px 8px}
  .bgo .bgo-name{font-size:19px}
  .bgo-ranked .bgo-cat{grid-area:cat;align-self:start;margin:3px 0 0}
  .bgo-ranked .bgo-desc{grid-area:desc;margin:14px 0 12px}
  .bgo-ranked .bgo-offer{grid-area:offer}
  .bgo-ranked a.bgo-cta{grid-area:cta;width:100%;margin-top:14px}
  .bgo-ranked .bgo-terms{grid-area:terms;margin-top:12px}
  .bgo-cards .bgo-card{grid-template-columns:1fr;grid-template-areas:"main" "cta" "terms";padding:18px}
  .bgo-cards .bgo-cta-wrap{margin-top:14px}
}

/* Dark scheme (theme toggles data-scheme) */
[data-scheme="dark"] .bgo,[data-site-scheme="dark"] .bgo{--bgo-surface:#161a2c;--bgo-surface-hover:#1b2036;--bgo-ink:#f2f3fa;--bgo-ink-mid:#cdd0e0;--bgo-ink-soft:#a7adc4;--bgo-ink-dim:#7e84a0;--bgo-line:#2a2f47;--bgo-line-strong:#3a4060;--bgo-indigo:#9aa6ff;--bgo-indigo-soft:#222746}
[data-scheme="dark"] .bgo a.bgo-cta,[data-site-scheme="dark"] .bgo a.bgo-cta{background:#2952d1}
.bgo p.bgo-desc a.bgtop-review,.bgo p.bgo-desc a.bgbl-review,.bgo p.bgo-desc a.bgo-review{white-space:nowrap}

/* Block editor: keep theme editor styles from resizing headings inside the preview */
.editor-styles-wrapper .bgo .bgo-name{font-size:22px;line-height:1.2;margin:0}
.editor-styles-wrapper .bgo .bgo-title{font-size:30px;line-height:1.2}

/* No rank numbers: brands without a logo simply use the full width. */
.bgo-ranked .bgo-item:not(.bgo-has-logo){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"body cta" "terms cta"}
@media (max-width:640px){
  .bgo-ranked .bgo-item:not(.bgo-has-logo){grid-template-columns:minmax(0,1fr);grid-template-areas:"name" "cat" "desc" "offer" "cta" "terms"}
}
