/* CashbackOase Retailer Detail Redesign
   Scope: view_retailer.php only. Keeps existing tracking/login/modal functionality intact. */
.cbo-retailer-modern {
  --cbo-blue:#1d82d8;
  --cbo-blue-dark:#145da8;
  --cbo-navy:#19304f;
  --cbo-text:#26364f;
  --cbo-muted:#6b7890;
  --cbo-line:#e3eaf2;
  --cbo-bg:#f6f8fb;
  --cbo-card:#ffffff;
  --cbo-green:#4f8f2c;
  --cbo-green-2:#63ad38;
  --cbo-green-soft:#eef8e9;
  --cbo-gold:#f5a623;
  --cbo-gold-soft:#fff7e6;
  --cbo-red:#ec0040;
  --cbo-shadow:0 12px 34px rgba(31,57,94,.09);
  --cbo-shadow-soft:0 6px 18px rgba(31,57,94,.06);
  color:var(--cbo-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.cbo-retailer-modern * { box-sizing:border-box; }
.cbo-retailer-modern a { text-decoration:none; }
.cbo-retailer-modern a:hover { text-decoration:none; }

/* Hide the classic page heading spacing that comes from old templates by visually replacing the layout. */
.cbo-modern-breadcrumbs {
  display:flex;
  align-items:center;
  gap:8px;
  margin:10px 0 14px;
  padding:10px 0;
  color:var(--cbo-muted);
  font-size:13px;
}
.cbo-modern-breadcrumbs a { color:var(--cbo-blue-dark); }
.cbo-modern-breadcrumbs strong { color:var(--cbo-navy); font-weight:700; }

.cbo-modern-hero {
  display:grid;
  grid-template-columns:230px minmax(0,1fr) 300px;
  gap:22px;
  align-items:stretch;
  background:#fff;
  border:1px solid var(--cbo-line);
  border-radius:18px;
  box-shadow:var(--cbo-shadow-soft);
  padding:22px;
  margin-bottom:14px;
}
.cbo-modern-logo-card,
.cbo-modern-hero-main,
.cbo-modern-cashback-card {
  min-width:0;
}
.cbo-modern-logo-card {
  text-align:center;
}
.cbo-modern-logo-link {
  position:relative;
  height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:#fff;
  border:1px solid var(--cbo-line);
  border-radius:15px;
  box-shadow:0 2px 8px rgba(31,57,94,.03);
}
.cbo-modern-logo-link img {
  max-width:100%;
  max-height:105px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.cbo-featured-ribbon {
  position:absolute;
  left:0;
  top:0;
  width:34px;
  height:34px;
  border-radius:14px 0 14px 0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--cbo-green-2);
  color:#fff;
}
.cbo-modern-category {
  margin-top:12px;
  color:var(--cbo-muted);
  font-size:13px;
  font-weight:700;
}
.cbo-modern-rating-line {
  margin:14px 0 4px;
  min-height:22px;
  color:var(--cbo-gold);
}
.cbo-modern-star-rating {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:var(--cbo-gold);
  line-height:1;
  white-space:nowrap;
}
.cbo-modern-star-rating__stars {
  display:inline-flex;
  align-items:center;
  gap:2px;
}
.cbo-modern-star-rating__star {
  display:inline-block;
  font-size:16px;
  line-height:1;
  color:#d9e2ee;
  text-shadow:none;
}
.cbo-modern-star-rating__star.is-full {
  color:#f3b33f;
}
.cbo-modern-star-rating__star.is-half {
  color:transparent;
  background:linear-gradient(90deg,#f3b33f 0 50%,#d9e2ee 50% 100%);
  -webkit-background-clip:text;
  background-clip:text;
}
.cbo-modern-star-rating__text {
  color:var(--cbo-muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.01em;
}
.cbo-modern-star-rating--summary {
  justify-content:flex-start;
  gap:8px;
}
.cbo-modern-star-rating--summary .cbo-modern-star-rating__star {
  font-size:18px;
}
.cbo-modern-star-rating--icon-only {
  justify-content:flex-start;
}
.cbo-modern-star-rating--icon-only .cbo-modern-star-rating__star {
  font-size:15px;
}
.cbo-modern-rating-line img,
.cbo-modern-stars img {
  display:none;
}
.cbo-modern-small-stats {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
  font-size:12px;
}
.cbo-modern-small-stats a {
  color:var(--cbo-muted);
  font-weight:700;
}
.cbo-modern-small-stats a:hover { color:var(--cbo-blue); }

.cbo-modern-title-row {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.cbo-modern-title-row h1 {
  margin:3px 0 10px !important;
  padding:0 !important;
  border:0 !important;
  color:var(--cbo-navy) !important;
  font-family:inherit !important;
  font-size:36px !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:-.02em;
}
.cbo-modern-subtitle {
  margin:0;
  color:var(--cbo-text);
  font-size:14px;
  line-height:1.55;
  max-width:650px;
}
.cbo-modern-subtitle a { color:var(--cbo-blue-dark); font-weight:700; }
.cbo-modern-partner {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:5px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid #cfe6c3;
  background:var(--cbo-green-soft);
  color:var(--cbo-green);
  font-size:12px;
  font-weight:800;
}
.cbo-modern-trust-row {
  display:flex;
  flex-wrap:wrap;
  gap:12px 24px;
  margin:22px 0 18px;
  color:#55637b;
  font-size:13px;
  font-weight:650;
}
.cbo-modern-trust-row i { color:var(--cbo-green-2); margin-right:6px; }

.cbo-modern-flow-row {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.cbo-modern-flow-pill {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:66px;
  padding:12px 14px;
  border-radius:13px;
  border:1px solid var(--cbo-line);
  background:#fff;
}
.cbo-modern-flow-pill>i {
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
}
.cbo-modern-flow-pill span { display:block; min-width:0; }
.cbo-modern-flow-pill strong { display:block; color:var(--cbo-navy); font-size:13px; line-height:1.2; }
.cbo-modern-flow-pill small { display:block; margin-top:3px; color:var(--cbo-muted); font-size:12px; line-height:1.25; }
.cbo-modern-flow-pill.is-blue { background:#f2f8ff; border-color:#d9eaff; }
.cbo-modern-flow-pill.is-blue>i { color:var(--cbo-blue); background:#e4f1ff; }
.cbo-modern-flow-pill.is-green { background:var(--cbo-green-soft); border-color:#d8efcc; }
.cbo-modern-flow-pill.is-green>i { color:var(--cbo-green); background:#e1f4d8; }
.cbo-modern-flow-pill.is-gold { background:var(--cbo-gold-soft); border-color:#ffe0a4; }
.cbo-modern-flow-pill.is-gold>i { color:#e1960b; background:#fff0ca; }

.cbo-modern-cashback-card {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:20px;
  border-radius:16px;
  border:1px solid #d2e6c7;
  background:linear-gradient(180deg,#f8fff5 0%,#eef9e9 100%);
  text-align:center;
}
.cbo-modern-oldcashback {
  color:#8b98aa;
  text-decoration:line-through;
  font-weight:700;
  margin-bottom:4px;
}
.cbo-modern-cashback-value {
  color:var(--cbo-green);
  font-size:42px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
}
.cbo-modern-cashback-label {
  margin-top:5px;
  color:var(--cbo-green);
  font-size:20px;
  font-weight:800;
}
.cbo-modern-main-cta {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  min-height:52px;
  margin-top:20px;
  border-radius:10px;
  background:linear-gradient(180deg,#1d8ee8,#136ac3);
  color:#fff !important;
  font-size:18px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(22,117,211,.22);
}
.cbo-modern-main-cta:hover { filter:brightness(.98); transform:translateY(-1px); }
.cbo-modern-safe-note {
  margin:13px 0;
  color:#647184;
  font-size:12px;
  font-weight:700;
}
.cbo-modern-safe-note i { margin-right:5px; color:#9aa8b8; }
.cbo-modern-fav-cta {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding-top:14px;
  border-top:1px solid #dbead3;
  color:#48576e !important;
  font-weight:800;
}
.cbo-modern-fav-cta i { color:#ff304e; }

.cbo-modern-action-bar {
  display:grid;
  grid-template-columns:repeat(3,1fr) minmax(240px,auto);
  align-items:center;
  gap:0;
  background:#fff;
  border:1px solid var(--cbo-line);
  border-radius:14px;
  box-shadow:var(--cbo-shadow-soft);
  margin-bottom:16px;
  overflow:hidden;
}
.cbo-modern-action-bar a {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:0 16px;
  color:#536177;
  font-weight:750;
  font-size:13px;
  border-right:1px solid var(--cbo-line);
}
.cbo-modern-action-bar a:hover { background:#f8fbff; color:var(--cbo-blue-dark); }
.cbo-modern-action-bar a i { color:var(--cbo-muted); font-size:16px; }
.cbo-modern-action-bar .cbo-modern-nachbuchung {
  margin:7px 10px;
  min-height:36px;
  border:1px solid #cce7c0;
  border-radius:999px;
  color:var(--cbo-green) !important;
  background:#f7fff3;
  font-weight:900;
}
.cbo-modern-action-bar .cbo-modern-nachbuchung i { color:var(--cbo-green); }

.cbo-modern-content-grid {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.78fr) minmax(280px,.72fr);
  gap:16px;
  align-items:start;
}
.cbo-modern-card {
  background:#fff;
  border:1px solid var(--cbo-line);
  border-radius:16px;
  box-shadow:var(--cbo-shadow-soft);
  padding:20px;
}
.cbo-modern-card h2 {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px !important;
  color:var(--cbo-navy) !important;
  font-family:inherit !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:850 !important;
}
.cbo-modern-card h2 i { color:var(--cbo-green-2); }
.cbo-modern-conditions-text {
  color:#26364f;
  font-size:13px;
  line-height:1.55;
  max-height:none;
}
.cbo-modern-conditions-text br { line-height:1.8; }
.cbo-modern-conditions-text ul { padding-left:20px; }
.cbo-modern-conditions-text li { margin-bottom:6px; }
.cbo-modern-hints p {
  margin:0 0 12px;
  color:#34445d;
  font-size:13px;
  line-height:1.58;
}
.cbo-modern-card-link {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--cbo-blue-dark) !important;
  font-weight:850;
  font-size:13px;
}
.cbo-modern-card-link:hover { color:var(--cbo-blue) !important; }
.cbo-modern-side-stack {
  display:flex;
  flex-direction:column;
  gap:16px;
}
.cbo-modern-calc-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  background:#f8fbff;
  border:1px solid var(--cbo-line);
  border-radius:10px;
  font-size:13px;
  color:#5a677d;
}
.cbo-modern-calc-row strong { color:var(--cbo-navy); }
.cbo-modern-calc-result {
  margin:15px 0 12px;
  text-align:center;
}
.cbo-modern-calc-result span {
  display:block;
  color:var(--cbo-muted);
  font-size:13px;
}
.cbo-modern-calc-result strong {
  display:block;
  margin-top:4px;
  color:var(--cbo-green);
  font-size:32px;
  line-height:1;
  font-weight:900;
}
.cbo-modern-calculator small {
  display:block;
  margin-top:10px;
  padding:10px;
  border-radius:10px;
  background:#f3f8fd;
  color:#5d6c82;
  font-size:12px;
  line-height:1.35;
  text-align:center;
}
.cbo-modern-review-summary p {
  margin:8px 0 10px;
  color:var(--cbo-muted);
  font-size:13px;
}
.cbo-modern-stars { min-height:21px; color:var(--cbo-gold); }

.cbo-modern-share-row {
  display:flex;
  align-items:center;
  gap:10px;
  margin:16px 0 18px;
  padding:16px;
  background:#f9fbfe;
  border:1px solid var(--cbo-line);
  border-radius:14px;
}
.cbo-modern-share-row label {
  margin:0;
  font-weight:800;
  color:var(--cbo-navy);
  white-space:nowrap;
}
.cbo-modern-share-row input {
  flex:1;
  min-width:0;
  height:38px;
  border:1px solid var(--cbo-line);
  border-radius:9px;
  background:#fff;
  color:#536177;
  padding:0 12px;
}

/* Gently modernize classic lower sections that still come from CashbackEngine. */
.cbo-retailer-modern + script + a + h3,
.store_coupons,
.store_exp_coupons,
.store_reviews {
  color:var(--cbo-navy) !important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif !important;
  font-weight:850 !important;
}
.coupons-list .coupon,
#review {
  border:1px solid var(--cbo-line) !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:var(--cbo-shadow-soft);
  padding:16px !important;
  margin-bottom:12px !important;
}
.go2store_large,
.go2store {
  border-radius:10px !important;
}

@media (max-width: 991px) {
  .cbo-modern-hero {
    grid-template-columns:1fr;
  }
  .cbo-modern-logo-card {
    max-width:360px;
    margin:0 auto;
  }
  .cbo-modern-flow-row,
  .cbo-modern-content-grid {
    grid-template-columns:1fr;
  }
  .cbo-modern-action-bar {
    grid-template-columns:1fr 1fr;
  }
  .cbo-modern-action-bar a {
    border-bottom:1px solid var(--cbo-line);
  }
}
@media (max-width: 640px) {
  .cbo-modern-hero {
    padding:16px;
    border-radius:14px;
  }
  .cbo-modern-title-row {
    display:block;
    text-align:left;
  }
  .cbo-modern-title-row h1 {
    font-size:28px !important;
  }
  .cbo-modern-partner {
    margin-top:8px;
  }
  .cbo-modern-action-bar {
    grid-template-columns:1fr;
  }
  .cbo-modern-action-bar a {
    justify-content:flex-start;
  }
  .cbo-modern-nachbuchung {
    justify-content:center !important;
  }
  .cbo-modern-share-row {
    display:block;
  }
  .cbo-modern-share-row input {
    width:100%;
    margin-top:8px;
  }
}

/* 2026-05-01 Feinschliff: more spacious container and modern lower sections */
.cbo-retailer-modern {
  width:min(1240px, calc(100vw - 44px));
  max-width:1240px;
  margin-left:50%;
  transform:translateX(-50%);
}
.cbo-modern-hero {
  grid-template-columns:250px minmax(0,1fr) 320px;
  gap:24px;
  padding:24px;
}
.cbo-modern-subtitle { max-width:720px; }
.cbo-modern-main-cta {
  background:linear-gradient(180deg,#2299ee,#136fc8);
  letter-spacing:.01em;
}
.cbo-modern-flow-pill strong { font-size:13.5px; }
.cbo-modern-flow-pill small { font-size:12.2px; }
.cbo-modern-content-grid {
  grid-template-columns:minmax(0,1.18fr) minmax(0,.8fr) minmax(300px,.74fr);
}

.cbo-modern-lower-section {
  width:min(1240px, calc(100vw - 44px));
  max-width:1240px;
  margin:18px auto 0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:#26364f;
}
.cbo-modern-lower-section .pull-left,
.cbo-modern-lower-section .pull-right { float:none !important; }
.cbo-modern-lower-section .pull-left { display:inline-block; }
.cbo-modern-lower-section .pull-right { float:right !important; }
.cbo-modern-lower-section h3.store_reviews,
.cbo-modern-lower-section h3 {
  margin:0 0 10px !important;
  color:#19304f !important;
  font-family:inherit !important;
  font-size:22px !important;
  line-height:1.2 !important;
  font-weight:850 !important;
}
.cbo-modern-lower-section h3 i { color:#63ad38; }
.cbo-modern-lower-section #add_review_link a {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background:#f3faef;
  border:1px solid #d6edca;
  color:#4f8f2c !important;
  font-weight:800;
  font-size:13px;
}
.cbo-modern-lower-section #no_reviews {
  padding:16px 18px;
  border:1px solid #e3eaf2;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(31,57,94,.06);
  color:#536177;
}
.cbo-modern-lower-section #review {
  border:1px solid #e3eaf2 !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(31,57,94,.06);
  padding:16px !important;
  margin:0 0 12px !important;
}
.cbo-modern-lower-section .review-author { font-weight:850; color:#19304f; }
.cbo-modern-lower-section .review-date { color:#6b7890; }
.cbo-modern-lower-section .review-title { font-weight:800; color:#19304f; }
.cbo-modern-review-rating {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:7px 0 6px;
}
.cbo-modern-review-rating .review-title {
  line-height:1.3;
}

.cbo-modern-related-section {
  padding:20px;
  background:#fff;
  border:1px solid #e3eaf2;
  border-radius:16px;
  box-shadow:0 6px 18px rgba(31,57,94,.06);
  margin-bottom:24px;
}
.cbo-modern-lower-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}
.cbo-modern-lower-head h3 { margin:0 !important; }
.cbo-modern-related-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.cbo-modern-related-card {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:84px;
  padding:14px;
  border:1px solid #e3eaf2;
  border-radius:14px;
  background:#fff;
  color:#26364f !important;
  box-shadow:0 3px 12px rgba(31,57,94,.04);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.cbo-modern-related-card:hover {
  transform:translateY(-2px);
  border-color:#d2e6c7;
  box-shadow:0 8px 22px rgba(31,57,94,.09);
}
.cbo-modern-related-logo {
  flex:0 0 92px;
  width:92px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#fbfcfe;
  border:1px solid #eef2f6;
  padding:8px;
}
.cbo-modern-related-logo img {
  max-width:100%;
  max-height:38px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.cbo-modern-related-meta {
  flex:1;
  min-width:0;
  display:block;
}
.cbo-modern-related-meta strong {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#19304f;
  font-size:14px;
  font-weight:850;
}
.cbo-modern-related-meta em {
  display:block;
  margin-top:5px;
  color:#4f8f2c;
  font-style:normal;
  font-weight:850;
  font-size:13px;
}
.cbo-modern-related-card>i { color:#8b98aa; }

@media (max-width: 1240px) {
  .cbo-retailer-modern,
  .cbo-modern-lower-section {
    width:calc(100vw - 32px);
  }
}
@media (max-width: 991px) {
  .cbo-retailer-modern {
    width:100%;
    max-width:100%;
    margin-left:0;
    transform:none;
  }
  .cbo-modern-lower-section {
    width:100%;
    max-width:100%;
  }
  .cbo-modern-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .cbo-modern-related-grid { grid-template-columns:1fr; }
  .cbo-modern-related-card { min-height:78px; }
  .cbo-modern-lower-section .pull-right { float:none !important; margin:8px 0 12px; }
}

/* 2026-05-01: Long-condition layout for shops with very extensive terms, e.g. telecom tariffs.
   Keeps calculator/hints visible near the top and prevents a narrow, extremely tall conditions column. */
.cbo-modern-content-grid.is-long-conditions {
  grid-template-columns:minmax(0,1fr) minmax(300px,.38fr);
}
.cbo-modern-content-grid.is-long-conditions .cbo-modern-hints {
  grid-column:1;
  grid-row:1;
}
.cbo-modern-content-grid.is-long-conditions .cbo-modern-side-stack {
  grid-column:2;
  grid-row:1;
}
.cbo-modern-content-grid.is-long-conditions .cbo-modern-conditions {
  grid-column:1 / -1;
  grid-row:2;
}
.cbo-modern-content-grid.is-long-conditions .cbo-modern-conditions-text {
  column-count:2;
  column-gap:34px;
  column-rule:1px solid var(--cbo-line);
}
.cbo-modern-content-grid.is-long-conditions .cbo-modern-conditions-text p,
.cbo-modern-content-grid.is-long-conditions .cbo-modern-conditions-text ul,
.cbo-modern-content-grid.is-long-conditions .cbo-modern-conditions-text ol {
  break-inside:avoid;
}

@media (max-width: 991px) {
  .cbo-modern-content-grid.is-long-conditions {
    grid-template-columns:1fr;
  }
  .cbo-modern-content-grid.is-long-conditions .cbo-modern-hints,
  .cbo-modern-content-grid.is-long-conditions .cbo-modern-side-stack,
  .cbo-modern-content-grid.is-long-conditions .cbo-modern-conditions {
    grid-column:auto;
    grid-row:auto;
  }
  .cbo-modern-content-grid.is-long-conditions .cbo-modern-conditions-text {
    column-count:1;
    column-gap:0;
    column-rule:0;
  }
}

/* 2026-05-09 CashbackOase: mobile retailer/detail page layout hardening
   Fixes the late desktop overrides in this stylesheet so shop detail pages do not keep
   a 3-column desktop hero on phones. Scope: view_retailer.php / .cbo-retailer-modern only. */
@media (max-width: 991px) {
  .cbo-retailer-modern,
  .cbo-modern-lower-section {
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }

  .cbo-modern-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden;
  }

  .cbo-modern-logo-card,
  .cbo-modern-hero-main,
  .cbo-modern-cashback-card,
  .cbo-modern-content-grid,
  .cbo-modern-side-stack,
  .cbo-modern-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .cbo-modern-content-grid,
  .cbo-modern-content-grid.is-long-conditions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .cbo-modern-content-grid.is-long-conditions .cbo-modern-hints,
  .cbo-modern-content-grid.is-long-conditions .cbo-modern-side-stack,
  .cbo-modern-content-grid.is-long-conditions .cbo-modern-conditions {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .cbo-modern-content-grid.is-long-conditions .cbo-modern-conditions-text {
    column-count: 1 !important;
    column-gap: 0 !important;
    column-rule: 0 !important;
  }

  .cbo-modern-cashback-card {
    padding: 18px !important;
    text-align: center;
  }

  .cbo-modern-main-cta {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .cbo-retailer-modern,
  .cbo-modern-lower-section {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
  }

  .cbo-modern-hero {
    padding: 14px !important;
    border-radius: 14px !important;
  }

  .cbo-modern-logo-card {
    max-width: 100% !important;
  }

  .cbo-modern-logo-link {
    height: 118px !important;
    padding: 14px !important;
  }

  .cbo-modern-logo-link img {
    max-height: 78px !important;
  }

  .cbo-modern-title-row h1 {
    font-size: 27px !important;
    line-height: 1.12 !important;
  }

  .cbo-modern-subtitle,
  .cbo-modern-conditions-text,
  .cbo-modern-hints p {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .cbo-modern-trust-row {
    gap: 8px;
    margin: 16px 0 14px !important;
  }

  .cbo-modern-flow-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .cbo-modern-cashback-value {
    font-size: clamp(34px, 11vw, 42px) !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere;
  }

  .cbo-modern-cashback-label {
    font-size: 18px !important;
  }

  .cbo-modern-card {
    padding: 16px !important;
  }

  .cbo-modern-share-row {
    padding: 14px !important;
  }
}

/* 2026-05-09 CashbackOase: mobile retailer conversion polish
   Keeps desktop layout unchanged, but moves cashback value + activation CTA higher on phones.
   This improves the mobile purchase path without touching tracking/go2store logic. */
@media (max-width: 640px) {
  .cbo-modern-logo-card {
    order: 1;
  }

  .cbo-modern-cashback-card {
    order: 2;
    margin-top: 0 !important;
    padding: 18px 16px 16px !important;
    border-color: #c6e9b6 !important;
    background: linear-gradient(180deg, #fbfff8 0%, #ecf9e6 100%) !important;
    box-shadow: 0 14px 28px rgba(79, 143, 44, .12) !important;
  }

  .cbo-modern-hero-main {
    order: 3;
  }

  .cbo-modern-cashback-card .cbo-modern-cashback-value {
    font-size: clamp(38px, 12vw, 46px) !important;
    letter-spacing: -.035em;
  }

  .cbo-modern-cashback-card .cbo-modern-cashback-label {
    margin-top: 6px !important;
    font-size: 19px !important;
  }

  .cbo-modern-main-cta {
    min-height: 56px !important;
    margin-top: 16px !important;
    border-radius: 14px !important;
    font-size: 18px !important;
    box-shadow: 0 12px 24px rgba(22, 117, 211, .25) !important;
  }

  .cbo-modern-safe-note {
    margin: 10px 0 8px !important;
  }

  .cbo-modern-fav-cta {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .cbo-modern-title-row {
    margin-top: 2px;
  }

  .cbo-modern-trust-row {
    margin-top: 14px !important;
  }
}


/* 2026-05-13 R7: public rate matrix on shop detail pages */
.cbo-modern-cashback-prefix {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  margin:0 auto 6px;
  padding:4px 10px;
  border-radius:999px;
  background:#e8f6df;
  color:#4f962e;
  font-size:13px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.cbo-modern-rate-overview {
  margin:0 0 16px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fcff 100%);
}
.cbo-modern-rate-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.cbo-modern-rate-header h2 { margin:0 !important; }
.cbo-modern-rate-header span {
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  background:#eef7e9;
  color:#4f962e;
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}
.cbo-modern-rate-intro {
  margin:0 0 12px;
  color:#4a5a72;
  font-size:13px;
  line-height:1.5;
}
.cbo-modern-rate-table-wrap {
  overflow-x:auto;
  border:1px solid var(--cbo-line);
  border-radius:12px;
  background:#fff;
}
.cbo-modern-rate-table {
  width:100%;
  border-collapse:collapse;
  min-width:620px;
}
.cbo-modern-rate-table th,
.cbo-modern-rate-table td {
  padding:12px 14px;
  border-bottom:1px solid var(--cbo-line);
  color:#26364f;
  font-size:13px;
  line-height:1.4;
  text-align:left;
  vertical-align:top;
}
.cbo-modern-rate-table th {
  background:#f1f7ff;
  color:var(--cbo-navy);
  font-weight:900;
}
.cbo-modern-rate-table td:nth-child(2) {
  width:130px;
  white-space:nowrap;
}
.cbo-modern-rate-table td:nth-child(2) strong {
  color:var(--cbo-green);
  font-size:17px;
  font-weight:950;
}
.cbo-modern-rate-table tr:last-child td { border-bottom:0; }
.cbo-modern-rate-muted { color:#7b889b; }
.cbo-modern-rate-note {
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:11px;
  padding:10px 12px;
  border-radius:10px;
  background:#f3f8fd;
  color:#5d6c82;
  font-size:12px;
  line-height:1.45;
}
.cbo-modern-rate-note i { margin-top:2px; color:var(--cbo-blue); }
@media (max-width:640px) {
  .cbo-modern-rate-header { align-items:flex-start; flex-direction:column; }
  .cbo-modern-rate-table { min-width:520px; }
}

/* R17: modernisierte Shop-nicht-gefunden/Fallback-Seite fuer alte oder inaktive Shop-Links. */
.cbo-retailer-not-found-page {
  max-width:1180px;
  margin:34px auto 72px;
  padding:0 18px;
}
.cbo-modern-not-found-card {
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:22px;
  align-items:flex-start;
  background:#fff;
  border:1px solid var(--cbo-line);
  border-radius:20px;
  box-shadow:var(--cbo-shadow-soft);
  padding:30px;
}
.cbo-modern-not-found-icon {
  width:74px;
  height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  background:linear-gradient(180deg,#f1f8ff,#e7f2ff);
  color:var(--cbo-blue-dark);
  font-size:30px;
  box-shadow:0 8px 18px rgba(20,93,168,.10);
}
.cbo-modern-not-found-kicker {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  padding:6px 12px;
  border-radius:999px;
  background:#eff7ff;
  color:var(--cbo-blue-dark);
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.cbo-modern-not-found-copy h1 {
  margin:0 0 12px !important;
  color:var(--cbo-navy) !important;
  font-family:inherit !important;
  font-size:34px !important;
  line-height:1.12 !important;
  font-weight:900 !important;
  border:0 !important;
  padding:0 !important;
}
.cbo-modern-not-found-copy p {
  max-width:760px;
  margin:0 0 22px;
  color:#43536c;
  font-size:16px;
  line-height:1.65;
}
.cbo-modern-not-found-search {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  max-width:760px;
  margin:0 0 18px;
}
.cbo-modern-not-found-search input[type="text"] {
  min-height:52px;
  width:100%;
  border:1px solid #cbd9e8;
  border-radius:14px;
  background:#fff;
  color:var(--cbo-text);
  font-size:16px;
  padding:0 17px;
  outline:none;
  box-shadow:0 4px 14px rgba(31,57,94,.04);
}
.cbo-modern-not-found-search input[type="text"]:focus {
  border-color:#86b8ec;
  box-shadow:0 0 0 4px rgba(29,130,216,.12);
}
.cbo-modern-not-found-search button,
.cbo-modern-not-found-primary,
.cbo-modern-not-found-secondary {
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:14px;
  font-size:15px;
  font-weight:900;
  text-decoration:none !important;
  transition:transform .15s ease, filter .15s ease, background .15s ease;
}
.cbo-modern-not-found-search button,
.cbo-modern-not-found-primary {
  border:0;
  background:linear-gradient(180deg,#1477d4,#075fb7);
  color:#fff !important;
  padding:0 22px;
  box-shadow:0 12px 22px rgba(13,99,184,.18);
}
.cbo-modern-not-found-search button:hover,
.cbo-modern-not-found-primary:hover { filter:brightness(.98); transform:translateY(-1px); }
.cbo-modern-not-found-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.cbo-modern-not-found-secondary {
  border:1px solid #cbd9e8;
  background:#fff;
  color:var(--cbo-blue-dark) !important;
  padding:0 20px;
}
.cbo-modern-not-found-secondary:hover { background:#f7fbff; transform:translateY(-1px); }
.cbo-modern-not-found-tips {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:16px;
}
.cbo-modern-not-found-tips article {
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  column-gap:12px;
  row-gap:3px;
  align-items:start;
  background:#fff;
  border:1px solid var(--cbo-line);
  border-radius:16px;
  padding:18px;
  box-shadow:var(--cbo-shadow-soft);
}
.cbo-modern-not-found-tips i {
  grid-row:1 / span 2;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#eef7ff;
  color:var(--cbo-blue-dark);
}
.cbo-modern-not-found-tips strong {
  color:var(--cbo-navy);
  font-size:14px;
  font-weight:900;
}
.cbo-modern-not-found-tips span {
  color:#5d6c82;
  font-size:13px;
  line-height:1.5;
}
@media (max-width:760px) {
  .cbo-retailer-not-found-page { margin:22px auto 48px; padding:0 14px; }
  .cbo-modern-not-found-card { grid-template-columns:1fr; padding:22px; }
  .cbo-modern-not-found-icon { width:58px; height:58px; font-size:24px; border-radius:18px; }
  .cbo-modern-not-found-copy h1 { font-size:26px !important; }
  .cbo-modern-not-found-search { grid-template-columns:1fr; }
  .cbo-modern-not-found-actions { flex-direction:column; }
  .cbo-modern-not-found-primary,
  .cbo-modern-not-found-secondary { width:100%; }
  .cbo-modern-not-found-tips { grid-template-columns:1fr; }
}

/* R18: Layout-Fix fuer Shop-nicht-gefunden-Seite.
   Verhindert horizontales Ueberlaufen/Anschnitt und zentriert die Fallback-Karte sauber im Viewport. */
.cbo-retailer-not-found-shell {
  width:100%;
  max-width:100%;
  padding:0 18px;
  margin:0 auto;
  clear:both;
  box-sizing:border-box;
  overflow-x:hidden;
}
.cbo-retailer-modern.cbo-retailer-not-found-page {
  width:100%;
  max-width:1040px;
  margin:38px auto 76px !important;
  padding:0 !important;
  box-sizing:border-box !important;
  float:none !important;
  clear:both;
  position:relative;
  left:auto !important;
  right:auto !important;
  transform:none !important;
}
.cbo-retailer-modern.cbo-retailer-not-found-page,
.cbo-retailer-modern.cbo-retailer-not-found-page * {
  box-sizing:border-box;
}
.cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-card {
  width:100%;
  max-width:100%;
  grid-template-columns:78px minmax(0,1fr);
  padding:28px;
  overflow:hidden;
}
.cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-copy,
.cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-search,
.cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-actions,
.cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-tips {
  min-width:0;
  max-width:100%;
}
.cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-copy h1 {
  word-break:normal;
  overflow-wrap:anywhere;
}
.cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-tips {
  width:100%;
}
@media (max-width:900px) {
  .cbo-retailer-not-found-shell { padding:0 14px; }
  .cbo-retailer-modern.cbo-retailer-not-found-page { margin:28px auto 58px !important; }
  .cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-card {
    grid-template-columns:1fr;
    padding:24px;
  }
  .cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-icon {
    width:60px;
    height:60px;
    border-radius:18px;
    font-size:24px;
  }
  .cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-tips {
    grid-template-columns:1fr;
  }
}
@media (max-width:640px) {
  .cbo-retailer-not-found-shell { padding:0 12px; }
  .cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-card { padding:20px; }
  .cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-copy h1 { font-size:25px !important; }
  .cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-search { grid-template-columns:1fr; }
  .cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-actions { flex-direction:column; }
  .cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-primary,
  .cbo-retailer-modern.cbo-retailer-not-found-page .cbo-modern-not-found-secondary { width:100%; }
}

/* CashbackOase R19 Colour Accent Balance - 2026-05-13
   Shopdetailseiten: Blau als CTA, Gruen fuer Cashback/Vorteile, Amber fuer Hinweise/Erfassung, Gold fuer Bewertungen. */
.cbo-retailer-modern {
  --cbo-teal:#3e9f98;
  --cbo-rose:#d85b72;
}
.cbo-modern-hero {
  border-color:#ddebd7;
}
.cbo-modern-cashback-card {
  border-color:#cde9bd !important;
  background:linear-gradient(180deg,#fbfff8 0%,#edf9e7 100%) !important;
}
.cbo-modern-main-cta {
  background:linear-gradient(180deg,#1689e0 0%,#0d67bd 100%) !important;
}
.cbo-modern-safe-note i,
.cbo-modern-rate-note i {
  color:var(--cbo-green) !important;
}
.cbo-modern-flow-pill.is-blue>i {
  color:#1370c4 !important;
}
.cbo-modern-flow-pill.is-green>i,
.cbo-modern-flow-pill.is-green strong {
  color:var(--cbo-green) !important;
}
.cbo-modern-flow-pill.is-gold>i,
.cbo-modern-flow-pill.is-gold strong {
  color:#d9941e !important;
}
.cbo-modern-card h2 i,
.cbo-modern-rate-header h2 i {
  color:var(--cbo-green-2) !important;
}
.cbo-modern-hints.cbo-modern-card h2 i,
.cbo-modern-hints h2 i {
  color:#d9941e !important;
}
.cbo-modern-calculator.cbo-modern-card h2 i,
.cbo-modern-rate-overview h2 i {
  color:var(--cbo-green) !important;
}
.cbo-modern-rate-table th {
  background:#f4fbf2 !important;
  color:var(--cbo-navy) !important;
}
.cbo-modern-rate-header span,
.cbo-modern-cashback-prefix {
  background:#eaf7e3 !important;
  color:#4f8f2c !important;
}
.cbo-modern-rate-note,
.cbo-modern-calculator small {
  background:#f8fbf4 !important;
}
.cbo-modern-action-bar a:hover {
  background:#f7fcf4 !important;
  color:var(--cbo-green) !important;
}
.cbo-modern-rating-line,
.cbo-modern-stars,
.cbo-modern-card .fa-star,
.cbo-modern-card .glyphicon-star {
  color:#f2b23a !important;
}
.cbo-shop-notfound__icon,
.cbo-shop-notfound__pill,
.cbo-shop-notfound__tip-icon {
  background:#eef8e9 !important;
  color:#4f8f2c !important;
}
.cbo-shop-notfound__tip:nth-child(2) .cbo-shop-notfound__tip-icon {
  background:#fff6e5 !important;
  color:#d9941e !important;
}
.cbo-shop-notfound__tip:nth-child(3) .cbo-shop-notfound__tip-icon {
  background:#eef8e9 !important;
  color:#4f8f2c !important;
}

/* R22: interaktiver Cashbackrechner / SEO-Foundation UI */
.cbo-modern-subtitle p {
  margin:0 0 8px;
}
.cbo-modern-subtitle p:last-child {
  margin-bottom:0;
}
.cbo-modern-calc-form {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.cbo-modern-calc-field {
  display:block;
  margin:0;
  font-weight:700;
  color:var(--cbo-navy);
}
.cbo-modern-calc-field span {
  display:block;
  margin-bottom:6px;
  color:#5d6c82;
  font-size:12px;
  font-weight:800;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.cbo-modern-calc-field input,
.cbo-modern-calc-field select {
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid var(--cbo-line);
  border-radius:12px;
  background:#fff;
  color:var(--cbo-navy);
  font-size:14px;
  font-weight:750;
  box-shadow:0 8px 22px rgba(13,55,97,.06);
  outline:none;
}
.cbo-modern-calc-field input:focus,
.cbo-modern-calc-field select:focus {
  border-color:#66c96c;
  box-shadow:0 0 0 3px rgba(102,201,108,.15), 0 8px 22px rgba(13,55,97,.06);
}

.cbo-modern-calc-help {
  display:block;
  margin-top:5px;
  color:#7a8798;
  font-size:11px;
  line-height:1.25;
  font-weight:650;
  letter-spacing:0;
  text-transform:none;
}

.cbo-modern-calc-single-rate {
  display:block;
  min-height:42px;
  padding:11px 12px;
  border:1px solid #d7edcf;
  border-radius:12px;
  background:#f8fcf5;
  color:var(--cbo-navy);
  font-size:13px;
  line-height:1.35;
}
.cbo-modern-calculator .cbo-modern-calc-result {
  margin:4px 0 2px;
  padding:14px 12px;
  border-radius:14px;
  background:linear-gradient(180deg,#f8fff5 0%,#eff9ea 100%);
  border:1px solid #d7edcf;
}
.cbo-modern-calc-empty {
  margin:0;
  color:#5d6c82;
  line-height:1.45;
}

/* R22d: Rechner-Qualitaet, Nettowarenwert-Hilfe, Staffel-Autowahl und kompakter Hinweis */
.cbo-modern-calculator .cbo-modern-calc-note {
  display:block;
  margin-top:9px !important;
  padding:8px 10px !important;
  border-radius:10px !important;
  background:#f7fbf5 !important;
  color:#66738a !important;
  font-size:11.5px !important;
  line-height:1.35 !important;
  text-align:left !important;
  font-weight:600 !important;
}
.cbo-modern-calculator .cbo-modern-calc-result {
  margin:4px 0 0;
}
.cbo-modern-more-link {
  color:var(--cbo-green) !important;
  font-weight:850;
  text-decoration:none !important;
  white-space:nowrap;
}
.cbo-modern-more-link:hover {
  color:var(--cbo-blue-dark) !important;
  text-decoration:underline !important;
}
.cbo-modern-extra-text[hidden] {
  display:none !important;
}

/* CashbackOase Phase D - mobile shopdetail polish 2026-05-23
   Scope: view_retailer.php layout only. No cashback, go2store or coupon tracking logic changes. */
@media (max-width: 767px) {
  .cbo-retailer-modern,
  .cbo-retailer-modern *,
  .cbo-modern-lower-section,
  .cbo-modern-lower-section * {
    box-sizing: border-box;
  }

  .cbo-retailer-modern,
  .cbo-modern-lower-section {
    overflow-x: hidden;
  }

  .cbo-modern-breadcrumbs {
    flex-wrap: wrap;
    gap: 6px;
    margin: 6px 0 10px;
  }

  .cbo-modern-hero,
  .cbo-modern-card,
  .cbo-modern-related-section,
  .cbo-modern-lower-section #no_reviews,
  .cbo-modern-lower-section #review {
    box-shadow: 0 10px 24px rgba(31, 57, 94, .055) !important;
  }

  .cbo-modern-logo-link {
    min-height: 108px;
  }

  .cbo-modern-flow-pill {
    min-height: 58px;
  }

  .cbo-modern-flow-pill > i {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
  }

  .cbo-modern-action-bar a,
  .cbo-modern-main-cta,
  .cbo-modern-fav-cta,
  .cbo-modern-card-link,
  .cbo-modern-lower-section #add_review_link a {
    min-height: 44px;
    touch-action: manipulation;
  }

  .cbo-modern-share-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px;
    align-items: stretch;
  }

  .cbo-modern-share-row label {
    margin: 0;
  }

  .cbo-modern-share-row input {
    min-height: 46px;
    margin: 0 !important;
  }

  .cbo-modern-lower-section {
    margin-top: 16px;
  }

  .cbo-modern-lower-head,
  .cbo-modern-lower-section .pull-left,
  .cbo-modern-lower-section .pull-right {
    display: flex !important;
    width: 100%;
    float: none !important;
    align-items: stretch;
  }

  .cbo-modern-lower-head {
    flex-direction: column;
    gap: 10px;
  }

  .cbo-modern-lower-section #add_review_link a {
    justify-content: center;
    width: 100%;
  }

  .cbo-modern-lower-section h3.store_reviews,
  .cbo-modern-lower-section h3 {
    font-size: 20px !important;
    line-height: 1.22 !important;
  }
}

@media (max-width: 420px) {
  .cbo-modern-title-row h1 {
    font-size: 25px !important;
  }

  .cbo-modern-card,
  .cbo-modern-related-section,
  .cbo-modern-lower-section #no_reviews,
  .cbo-modern-lower-section #review {
    border-radius: 14px !important;
  }
}

/* CashbackOase Phase D2 - mobile shop detail readability 2026-05-23
   Small-screen polish only: tighter sections, better reading flow and no logic changes. */
@media (max-width: 767px) {
  .cbo-retailer-modern {
    padding-left: 8px;
    padding-right: 8px;
  }

  .cbo-modern-subtitle,
  .cbo-modern-card p,
  .cbo-modern-lower-section,
  .cbo-modern-lower-section p,
  .cbo-store-coupon-description {
    line-height: 1.58 !important;
  }

  .cbo-modern-related-section,
  .cbo-modern-card,
  .cbo-modern-lower-section #no_reviews,
  .cbo-modern-lower-section #review {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .cbo-modern-lower-section h3.store_reviews,
  .cbo-modern-lower-section h3 {
    margin-bottom: 12px !important;
  }
}

/* 2026-05-23 Phase E2: Shopdetailseite Competition Upgrade
   Ziel: staerkerer kaufnaher Einstieg, klarere Aktivierung, bessere mobile Fuehrung.
   Keine Tracking-/Weiterleitungslogik wird veraendert. */
.cbo-modern-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 0%, rgba(99,173,56,.08) 0, rgba(99,173,56,0) 31%),
    radial-gradient(circle at 96% 10%, rgba(29,130,216,.08) 0, rgba(29,130,216,0) 28%),
    #fff;
}
.cbo-modern-hero:before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,#63ad38,#1d82d8);
}
.cbo-modern-shop-kicker {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0 0 8px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef8e9;
  color:#4f8f2c;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.cbo-modern-shop-kicker i { color:#63ad38; }
.cbo-modern-shop-intent {
  margin:-2px 0 11px;
  color:#31445e;
  font-size:16px;
  line-height:1.48;
  font-weight:750;
}
.cbo-modern-activation-steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:13px 0 0;
}
.cbo-modern-activation-steps span {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:49px;
  padding:7px 5px;
  border:1px solid #d9eacc;
  border-radius:11px;
  background:#fff;
  color:#526176;
  font-size:11px;
  line-height:1.15;
  font-weight:800;
}
.cbo-modern-activation-steps b {
  display:flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  margin-bottom:4px;
  border-radius:999px;
  background:#e8f6df;
  color:#4f8f2c;
  font-size:12px;
}
.cbo-modern-guest-note {
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:11px;
  padding:10px 11px;
  border-radius:11px;
  background:#f6fbff;
  border:1px solid #dbeafd;
  color:#536177;
  font-size:12px;
  line-height:1.35;
  text-align:left;
  font-weight:700;
}
.cbo-modern-guest-note i { margin-top:2px; color:#1d82d8; }
.cbo-modern-coupon-teaser {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
  padding:11px;
  border-radius:12px;
  border:1px solid #dce9f8;
  background:#fff;
  color:#26364f !important;
  text-align:left;
  box-shadow:0 4px 12px rgba(31,57,94,.04);
}
.cbo-modern-coupon-teaser:hover {
  border-color:#bdd9f5;
  box-shadow:0 8px 18px rgba(31,57,94,.07);
}
.cbo-modern-coupon-teaser>i {
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#eef7ff;
  color:#145da8;
}
.cbo-modern-coupon-teaser span { min-width:0; display:block; }
.cbo-modern-coupon-teaser strong {
  display:block;
  color:#19304f;
  font-size:13px;
  line-height:1.2;
  font-weight:900;
}
.cbo-modern-coupon-teaser small {
  display:block;
  margin-top:3px;
  color:#6b7890;
  font-size:11.5px;
  line-height:1.25;
}
.cbo-modern-shop-jumpnav {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin:0 0 14px;
  padding:10px;
  border:1px solid var(--cbo-line);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--cbo-shadow-soft);
}
.cbo-modern-shop-jumpnav a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:36px;
  padding:0 13px;
  border-radius:999px;
  background:#f6f9fd;
  border:1px solid #e1eaf4;
  color:#42536c !important;
  font-size:13px;
  font-weight:850;
}
.cbo-modern-shop-jumpnav a:hover {
  background:#eef7ff;
  border-color:#cfe4fb;
  color:#145da8 !important;
}
.cbo-modern-shop-jumpnav i { color:#63ad38; }
.cbo-modern-shop-jumpnav strong {
  min-width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 6px;
  border-radius:999px;
  background:#e8f6df;
  color:#4f8f2c;
  font-size:11px;
}
.cbo-modern-before-shop {
  display:grid;
  grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);
  gap:16px;
  align-items:center;
  margin:0 0 16px;
  padding:16px 18px;
  border:1px solid #d6eaca;
  border-radius:16px;
  background:linear-gradient(135deg,#fbfff7 0%,#f4fbff 100%);
  box-shadow:var(--cbo-shadow-soft);
}
.cbo-modern-before-shop__head span {
  display:inline-flex;
  margin-bottom:5px;
  padding:4px 9px;
  border-radius:999px;
  background:#eaf7e3;
  color:#4f8f2c;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.cbo-modern-before-shop__head strong {
  display:block;
  color:#19304f;
  font-size:17px;
  line-height:1.25;
  font-weight:900;
}
.cbo-modern-before-shop__items {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.cbo-modern-before-shop__items span {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 10px;
  border-radius:11px;
  background:#fff;
  border:1px solid #e4edf6;
  color:#42536c;
  font-size:12.5px;
  font-weight:800;
}
.cbo-modern-before-shop__items i {
  color:#63ad38;
}
.cbo-modern-coupons-section {
  padding:20px;
  border:1px solid #e3eaf2;
  border-radius:18px;
  background:
    radial-gradient(circle at 0 0, rgba(99,173,56,.07), rgba(99,173,56,0) 34%),
    #fff;
  box-shadow:0 8px 24px rgba(31,57,94,.07);
}
.cbo-modern-section-kicker {
  display:inline-flex;
  margin-bottom:6px;
  color:#4f8f2c;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.cbo-modern-section-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  background:#0f6fca;
  color:#fff !important;
  font-size:13px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(15,111,202,.16);
}
.cbo-modern-section-cta:hover { filter:brightness(.98); transform:translateY(-1px); }
.cbo-modern-store-coupons-list {
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.cbo-modern-store-coupons-list .coupon.cbo-store-coupon-card {
  margin-bottom:14px !important;
}
.cbo-modern-store-coupons-list .coupon.cbo-store-coupon-card:last-child {
  margin-bottom:0 !important;
}
.cbo-modern-mobile-activate { display:none; }

@media (min-width: 992px) {
  .cbo-modern-cashback-card {
    position:sticky;
    top:14px;
    align-self:start;
  }
}

@media (max-width: 991px) {
  .cbo-modern-before-shop {
    grid-template-columns:1fr;
    gap:12px;
  }
  .cbo-modern-before-shop__items {
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 640px) {
  .cbo-retailer-modern {
    padding-bottom:78px;
  }
  .cbo-modern-shop-kicker {
    margin-bottom:7px;
    font-size:11px;
  }
  .cbo-modern-shop-intent {
    font-size:14.5px;
    line-height:1.45;
  }
  .cbo-modern-activation-steps {
    gap:6px;
  }
  .cbo-modern-activation-steps span {
    min-height:46px;
    font-size:10.5px;
  }
  .cbo-modern-coupon-teaser {
    margin-top:10px;
  }
  .cbo-modern-shop-jumpnav {
    overflow-x:auto;
    flex-wrap:nowrap;
    justify-content:flex-start;
    padding:8px;
    -webkit-overflow-scrolling:touch;
  }
  .cbo-modern-shop-jumpnav a {
    flex:0 0 auto;
    min-height:34px;
    padding:0 11px;
    font-size:12px;
  }
  .cbo-modern-before-shop {
    padding:14px;
    border-radius:14px;
  }
  .cbo-modern-before-shop__head strong {
    font-size:15px;
  }
  .cbo-modern-before-shop__items {
    grid-template-columns:1fr;
    gap:7px;
  }
  .cbo-modern-before-shop__items span {
    min-height:35px;
    font-size:12px;
  }
  .cbo-modern-coupons-section {
    padding:16px;
    border-radius:15px;
  }
  .cbo-modern-coupons-head {
    display:block !important;
  }
  .cbo-modern-section-cta {
    width:100%;
    margin-top:10px;
  }
  .cbo-modern-mobile-activate {
    display:block;
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:999;
    pointer-events:none;
  }
  .cbo-modern-mobile-activate a {
    pointer-events:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:58px;
    padding:10px 14px;
    border-radius:17px;
    background:linear-gradient(90deg,#0f6fca,#1c8bdc);
    color:#fff !important;
    box-shadow:0 16px 34px rgba(11,78,150,.30);
    border:1px solid rgba(255,255,255,.22);
  }
  .cbo-modern-mobile-activate span {
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
    line-height:1.2;
    font-weight:850;
  }
  .cbo-modern-mobile-activate strong {
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 11px;
    border-radius:999px;
    background:#fff;
    color:#0f6fca;
    font-size:14px;
    font-weight:950;
  }
}


/* 2026-05-23 Phase E3: Shopdetail Polish
   Ziel: alte Teilen-Zeile hochwertiger machen, ohne Cashback-/Trackinglogik zu veraendern. */
.cbo-modern-share-row {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(260px, 560px);
  gap:14px;
  align-items:center;
  margin:18px 0 20px;
  padding:18px;
  background:linear-gradient(135deg,#f8fbff 0%,#ffffff 56%,#f5fbf0 100%);
  border:1px solid #dce8f5;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(8,43,95,.045);
}
.cbo-modern-share-copy strong {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 4px;
  color:var(--cbo-navy);
  font-size:14px;
  font-weight:900;
}
.cbo-modern-share-copy strong i { color:var(--cbo-green-2); }
.cbo-modern-share-copy span {
  display:block;
  color:var(--cbo-muted);
  font-size:12.5px;
  line-height:1.45;
}
.cbo-modern-share-control {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  align-items:center;
}
.cbo-modern-share-row input {
  width:100%;
  min-width:0;
  height:42px;
  border:1px solid #d8e4f0;
  border-radius:12px;
  background:#fff;
  color:#536177;
  padding:0 13px;
  font-size:13px;
  box-shadow:inset 0 1px 2px rgba(8,43,95,.03);
}
.cbo-modern-share-button {
  min-height:42px;
  padding:0 15px;
  border:0;
  border-radius:12px;
  background:#0f6fca;
  color:#fff;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(15,111,202,.16);
}
.cbo-modern-share-button:hover,
.cbo-modern-share-button:focus {
  background:#0757b8;
  color:#fff;
  outline:none;
}
.cbo-modern-share-status {
  grid-column:2;
  min-height:14px;
  color:var(--cbo-green);
  font-size:12px;
  font-weight:800;
}
@media (max-width: 767px) {
  .cbo-modern-share-row {
    grid-template-columns:1fr;
    gap:10px;
    padding:15px;
    border-radius:15px;
  }
  .cbo-modern-share-control {
    grid-template-columns:1fr;
  }
  .cbo-modern-share-button {
    width:100%;
  }
  .cbo-modern-share-status {
    grid-column:1;
  }
}


/* E3.1: modernisierte Bewertungssterne und bereinigte Logo-Metazeile */
@media (max-width: 767px) {
  .cbo-modern-rating-line {
    margin-top:12px;
  }
  .cbo-modern-star-rating__star {
    font-size:15px;
  }
  .cbo-modern-star-rating--summary .cbo-modern-star-rating__star {
    font-size:17px;
  }
  .cbo-modern-review-rating {
    align-items:flex-start;
  }
}
