/* PATCH 13H25G: Campaign claim shell is same-origin and CSP-safe. */
.campaign-claim-hero{background:linear-gradient(135deg,var(--cbz-dark) 0%,var(--cbz-dark2) 100%);padding:80px 0 140px;position:relative;overflow:hidden}
.campaign-claim-hero-orb{position:absolute;border-radius:50%;pointer-events:none}
.campaign-claim-hero-orb--right{top:-80px;right:-80px;width:400px;height:400px;background:rgba(21,101,192,.15)}
.campaign-claim-hero-orb--left{bottom:-100px;left:-60px;width:300px;height:300px;background:rgba(245,124,0,.1)}
.campaign-claim-hero-content{position:relative;z-index:1;text-align:center}
.campaign-claim-hero-label{color:var(--cbz-yellow);justify-content:center}
.campaign-claim-title{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,5rem);color:#fff;letter-spacing:.04em;line-height:1;margin-bottom:.85rem}
.campaign-claim-lead{color:rgba(255,255,255,.7);font-size:1rem;font-weight:500;max-width:480px;margin:0 auto}
.campaign-claim-stage{margin-top:-80px;padding-bottom:80px;position:relative;z-index:10}
.campaign-claim-container{max-width:520px;margin:0 auto}
.campaign-claim-legacy-entry{padding:3rem 0}
.campaign-legacy-shell{min-height:100vh}
/* PATCH 13H25G: CSP-safe Campaign Claim presentation. */
.cc-status-icon{width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.cc-status-icon--quota{background:#FEF2F2}
.cc-status-icon--neutral{background:#EDF0F5}
#cbz-qr-box svg{width:200px;height:200px;display:block}
[data-hide-on-error].is-media-error{display:none!important}
.cc-u-02fe735{font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:var(--cbz-gray);font-weight:800;margin-bottom:.2rem}
.cc-u-03c4bb6{justify-content:center}
.cc-u-053ce43{font-size:.84rem;color:var(--cbz-gray);line-height:1.6;margin-bottom:.8rem}
.cc-u-0558bd4{width:220px;min-height:220px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(21,101,192,.12);border-radius:1rem;padding:.75rem}
.cc-u-064e565{padding:1rem 1rem 1.05rem}
.cc-u-06d519b{text-align:center;background:var(--cbz-blue-pale);border-radius:.75rem;padding:.65rem 1rem}
.cc-u-08edcb8{display:inline-flex;align-items:center;gap:.35rem;background:var(--cbz-yellow);color:var(--cbz-dark);font-size:.65rem;font-weight:800;border-radius:50px;padding:.2rem .85rem;margin-bottom:.5rem}
.cc-u-0fb8252{font-size:.82rem;color:var(--cbz-gray);margin-bottom:.85rem;line-height:1.6}
.cc-u-10b17fb{font-family:var(--font-display);font-size:1.6rem;color:#fff;letter-spacing:.04em;line-height:1.1}
.cc-u-10bcfc2{width:2.5rem;height:2.5rem;background:var(--cbz-orange);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cc-u-1356eee{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(21,101,192,.1)}
.cc-u-15da51b{background:#FEF2F2;border:1.5px solid #FCA5A5;border-radius:var(--radius-sm);padding:.7rem 1rem;color:#B91C1C;font-size:.82rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.4rem}
.cc-u-16b2b1a{width:1.75rem;height:1.75rem;border-radius:50%;background:var(--cbz-blue);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cc-u-1916b19{list-style:none;margin-bottom:1rem}
.cc-u-1b083c9{font-weight:800;font-size:.95rem;color:var(--cbz-dark);margin-bottom:.5rem}
.cc-u-1b8e89c{font-size:.8rem;color:var(--cbz-dark);font-weight:900;line-height:1.25}
.cc-u-1faa23b{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.cc-u-24b5aac{background:var(--cbz-yellow-bg);color:var(--cbz-orange);font-size:.68rem;font-weight:800;border-radius:50px;padding:.15rem .7rem}
.cc-u-26749e3{background:var(--cbz-blue-pale);color:var(--cbz-blue);font-size:.68rem;font-weight:800;border-radius:50px;padding:.15rem .7rem}
.cc-u-297c29a{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;margin-bottom:.75rem}
.cc-u-317bfc8{background:linear-gradient(135deg,var(--cbz-yellow-bg),#FFF3E0);padding:1.25rem 1.5rem}
.cc-u-3b09b2d{font-size:.72rem;color:var(--cbz-gray-lt);margin-top:.35rem;text-align:center}
.cc-u-3c3f1a8{font-size:.72rem;color:var(--cbz-gray-lt);margin-top:.35rem}
.cc-u-3cf44ff{padding:0;overflow:hidden;margin-bottom:1.25rem}
.cc-u-3ffdc92{margin-bottom:1.25rem}
.cc-u-4a27002{width:100%;justify-content:center}
.cc-u-4a7de93{font-weight:900;color:var(--cbz-dark);margin-bottom:.35rem}
.cc-u-4ac33cd{width:100%;justify-content:center;margin-bottom:.65rem}
.cc-u-4cf62a4{font-size:.7rem;color:var(--cbz-gray-lt);margin-top:.75rem;line-height:1.5}
.cc-u-5849a24{font-family:var(--font-display);font-size:1.5rem;color:var(--cbz-blue);letter-spacing:.12em;margin-bottom:.4rem}
.cc-u-5857729{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.85rem}
.cc-u-58870f4{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.cc-u-5b5839b{margin:.45rem 0 0 1rem;padding:0}
.cc-u-5d84c96{font-size:.82rem;color:var(--cbz-blue);font-weight:600;margin:0}
.cc-u-5e7ab5c{padding:1.75rem;text-align:center;background:#fff}
.cc-u-5ecb800{font-family:var(--font-display);font-size:1.3rem;color:var(--cbz-dark);letter-spacing:.04em;line-height:1.1}
.cc-u-661971e{padding:2rem 2rem 2.25rem}
.cc-u-677ed33{background:var(--cbz-yellow-bg);border:1.5px solid var(--cbz-yellow);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.82rem;font-weight:700;color:var(--cbz-dark);text-align:center;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}
.cc-u-69897ec{color:var(--cbz-gray);font-size:.9rem;margin-bottom:1.25rem}
.cc-u-6ee0661{flex-shrink:0}
.cc-u-70734f1{font-size:.8rem;font-weight:600;color:var(--cbz-dark2);padding:.25rem 0;display:flex;align-items:center;gap:.5rem}
.cc-u-7414808{background:var(--cbz-blue-xp);border:1px solid rgba(21,101,192,.12);border-radius:1rem;padding:1rem;text-align:left;margin-bottom:1.25rem}
.cc-u-75abd2e{font-size:.7rem;color:var(--cbz-gray-lt);margin-bottom:.65rem}
.cc-u-77af0ef{padding:0;overflow:hidden;border:2px solid var(--cbz-yellow)}
.cc-u-79e6655{margin-top:.85rem;background:#F8FAFC;border-radius:.85rem;padding:.75rem}
.cc-u-7df0f54{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}
.cc-u-8070f13{text-decoration:none;justify-content:center}
.cc-u-812960e{font-size:.78rem;color:var(--cbz-gray);line-height:1.55}
.cc-u-8c67bda{background:var(--cbz-blue-pale);border-radius:var(--radius);padding:.85rem 1.1rem;display:flex;align-items:center;gap:.5rem}
.cc-u-8f58d07{font-size:.78rem;color:var(--cbz-gray);font-weight:700;line-height:1.5}
.cc-u-8ff7a6a{font-size:.8rem;color:var(--cbz-orange);font-weight:900;line-height:1.25}
.cc-u-907068e{width:1.75rem;height:1.75rem;border-radius:50%;background:rgba(21,101,192,.12);color:var(--cbz-gray);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;flex-shrink:0}
.cc-u-947c7f7{background:linear-gradient(135deg,var(--cbz-dark) 0%,var(--cbz-dark2) 100%);padding:1.25rem 1.5rem;text-align:center}
.cc-u-9823969{font-weight:800;font-size:1.05rem;color:var(--cbz-dark);margin-bottom:.3rem}
.cc-u-991bacd{font-size:.78rem;font-weight:900;color:var(--cbz-blue);cursor:pointer}
.cc-u-9c50fe9{margin-bottom:1.4rem;border:1px solid rgba(21,101,192,.12);border-radius:1.1rem;overflow:hidden;background:#fff}
.cc-u-9f9dbb0{margin-top:.55rem}
.cc-u-9fbdba0{font-family:var(--font-display);font-size:1.8rem;color:var(--cbz-dark);letter-spacing:.04em;margin-bottom:.5rem}
.cc-u-a41d5e3{width:200px;height:200px;display:flex;align-items:center;justify-content:center}
.cc-u-ac3e24f{background:#F8FAFC;border-radius:.9rem;padding:.75rem;margin-bottom:1rem;text-align:left;font-size:.76rem;color:var(--cbz-gray);line-height:1.55}
.cc-u-b1a10c5{background:var(--cbz-blue-xp);border-radius:.85rem;padding:.7rem}
.cc-u-b44bae3{padding:2.5rem;text-align:center}
.cc-u-b5e5762{background:var(--cbz-yellow-bg);border-radius:.85rem;padding:.7rem}
.cc-u-b66629a{color:var(--cbz-gray);font-size:.85rem;margin-bottom:1.25rem;line-height:1.6}
.cc-u-b73e869{font-size:1.75rem;font-weight:800;font-family:'Bebas Neue',monospace;letter-spacing:.3em;text-align:center}
.cc-u-b78fb8a{margin-bottom:.25rem}
.cc-u-bc124fc{display:flex;align-items:center;gap:.65rem;margin-bottom:.75rem}
.cc-u-bd5499a{background:var(--cbz-blue-xp);padding:.85rem 1.5rem;display:flex;align-items:center;gap:.5rem}
.cc-u-bdbf44e{background:#F8FAFC;border-radius:.85rem;padding:.7rem}
.cc-u-c40402e{display:block;font-size:.72rem;font-weight:700;color:var(--cbz-gray);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}
.cc-u-c85ad51{font-size:.78rem;color:var(--cbz-blue);font-weight:600;margin:0}
.cc-u-ccf8246{height:2px;flex:1;background:rgba(21,101,192,.15);border-radius:2px}
.cc-u-d2b8885{font-family:var(--font-display);font-size:1.5rem;color:var(--cbz-dark);letter-spacing:.04em;line-height:1.1}
.cc-u-d86d350{color:var(--cbz-blue)}
.cc-u-d8a22a8{font-size:.78rem;color:var(--cbz-gray);font-weight:600}
.cc-u-da4d885{font-weight:900;color:var(--cbz-blue);cursor:pointer}
.cc-u-e3f5efc{color:var(--cbz-dark)}
.cc-u-ea9108c{width:100%;justify-content:center;text-decoration:none}
.cc-u-ec4e91c{font-family:var(--font-display);font-size:1.6rem;color:var(--cbz-blue);line-height:1}
.cc-u-ecf0584{font-size:.78rem;color:var(--cbz-gray);line-height:1.5}
.cc-u-f568c27{height:2px;flex:1;background:var(--cbz-blue);border-radius:2px}
.cc-u-f6ed2a5{width:1.75rem;height:1.75rem;border-radius:50%;background:var(--cbz-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;flex-shrink:0}
.cc-u-f7d5e6d{font-size:.65rem;color:var(--cbz-gray);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.cc-u-f9b9881{margin:.65rem 0 0 1rem;padding:0;color:var(--cbz-gray);font-size:.76rem;line-height:1.55}

/* 13H41N6C7 — responsive public campaign claim workspace. */
.campaign-claim-container{max-width:860px}
.campaign-claim-card{min-width:0}
.campaign-claim-card--compact{max-width:620px;margin-left:auto;margin-right:auto}
.campaign-claim-card--success{max-width:680px;margin-left:auto;margin-right:auto}
.campaign-claim-card--member{max-width:680px;margin-left:auto;margin-right:auto}
.campaign-claim-stepper{max-width:360px;margin-left:auto;margin-right:auto}
.campaign-claim-promo-card{min-width:0}
.campaign-claim-promo-image{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.campaign-claim-promo-body{min-width:0}
.campaign-claim-form-panel{margin-top:.2rem;padding:1.15rem;border:1px solid rgba(21,101,192,.11);border-radius:1rem;background:#f8fbff}
.campaign-claim-outlet-note{padding:.72rem .8rem;border:1px solid rgba(21,101,192,.09);border-radius:.8rem;background:#f8fafc}
.campaign-claim-terms{border:1px solid rgba(21,101,192,.1)}
.campaign-claim-terms-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;list-style:none;cursor:pointer}
.campaign-claim-terms-summary::-webkit-details-marker{display:none}
.campaign-claim-terms-heading{display:grid;gap:.16rem;min-width:0;text-align:left}
.campaign-claim-terms-title{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--cbz-orange)}
.campaign-claim-terms-meta{font-size:.7rem;font-weight:600;color:var(--cbz-gray)}
.campaign-claim-terms-toggle{width:2rem;height:2rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--cbz-yellow-bg);color:var(--cbz-orange)}
.campaign-claim-terms-toggle svg{width:1rem;height:1rem;transition:transform .18s ease}
.campaign-claim-terms[open]>.campaign-claim-terms-summary .campaign-claim-terms-toggle svg{transform:rotate(180deg)}
.campaign-claim-terms-list{margin:.75rem 0 0;padding-left:1.15rem;color:var(--cbz-gray);font-size:.76rem;font-weight:600;line-height:1.6;list-style:decimal}
.campaign-claim-terms-list li{padding-left:.12rem}
.campaign-claim-terms-list li+li{margin-top:.45rem}
.campaign-claim-terms--result{margin-top:.7rem;padding:.68rem;border:1px solid rgba(21,101,192,.09);border-radius:.8rem;background:#fff}
.campaign-claim-result-actions>.cbz-btn{min-width:10rem}

/* 13H41N6C8 — campaign banner parity with /promo and simpler Reward-family terms. */
.campaign-claim-promo-card.has-image{display:block}
.campaign-claim-promo-card.has-image .campaign-claim-promo-image{width:100%;aspect-ratio:16/10;height:auto;min-height:0;max-height:none;object-fit:cover}
.campaign-claim-promo-card.has-image .campaign-claim-promo-body{display:block;padding:1rem 1rem 1.05rem}

/* Public campaign claim dark-mode parity. Keep the QR canvas white for scanner contrast. */
html.cbz-dark .campaign-claim-stage{color:#E7EEF7}
html.cbz-dark .campaign-claim-card{background:#0D2034!important;border-color:rgba(148,163,184,.16)!important;box-shadow:0 18px 42px rgba(0,0,0,.28)}
html.cbz-dark .campaign-claim-form-panel,
html.cbz-dark .campaign-claim-outlet-note,
html.cbz-dark .campaign-claim-terms--result,
html.cbz-dark .cc-u-79e6655,
html.cbz-dark .cc-u-ac3e24f,
html.cbz-dark .cc-u-bdbf44e{background:#0B1C2E;border-color:rgba(148,163,184,.16);color:#C2CEDA}
html.cbz-dark .cc-u-5e7ab5c{background:#0D2034}
html.cbz-dark .cc-u-317bfc8{background:linear-gradient(135deg,#30250A,#3B240D)}
html.cbz-dark .cc-status-icon--quota{background:rgba(220,38,38,.16);color:#FCA5A5}
html.cbz-dark .cc-status-icon--neutral{background:#102B47;color:#A9BACB}
html.cbz-dark .cc-u-15da51b{background:rgba(127,29,29,.28);border-color:rgba(248,113,113,.5);color:#FCA5A5}
html.cbz-dark .cc-u-677ed33{background:rgba(255,193,7,.12);border-color:rgba(255,213,79,.45);color:#FFE082}
html.cbz-dark .cc-u-06d519b,
html.cbz-dark .cc-u-8c67bda,
html.cbz-dark .cc-u-b1a10c5,
html.cbz-dark .cc-u-7414808,
html.cbz-dark .cc-u-bd5499a{background:#102B47}
html.cbz-dark .cc-u-b5e5762{background:rgba(255,193,7,.12)}
html.cbz-dark .cc-u-24b5aac{background:rgba(245,124,0,.18);color:#FFB45E}
html.cbz-dark .cc-u-26749e3{background:rgba(21,101,192,.28);color:#93C5FD}
html.cbz-dark .campaign-claim-terms-toggle{background:rgba(245,124,0,.18);color:#FFB45E}
html.cbz-dark .campaign-claim-terms,
html.cbz-dark .cc-u-1356eee{border-color:rgba(148,163,184,.16)}
html.cbz-dark .cc-u-ccf8246{background:rgba(148,163,184,.2)}
html.cbz-dark .cc-u-f568c27{background:#4C9BE8}
html.cbz-dark .cc-u-1b083c9,
html.cbz-dark .cc-u-1b8e89c,
html.cbz-dark .cc-u-4a7de93,
html.cbz-dark .cc-u-5ecb800,
html.cbz-dark .cc-u-70734f1,
html.cbz-dark .cc-u-9823969,
html.cbz-dark .cc-u-9fbdba0,
html.cbz-dark .cc-u-d2b8885,
html.cbz-dark .cc-u-e3f5efc{color:#F7FAFC}
html.cbz-dark .cc-u-02fe735,
html.cbz-dark .cc-u-053ce43,
html.cbz-dark .cc-u-0fb8252,
html.cbz-dark .cc-u-69897ec,
html.cbz-dark .cc-u-812960e,
html.cbz-dark .cc-u-8f58d07,
html.cbz-dark .cc-u-b66629a,
html.cbz-dark .cc-u-c40402e,
html.cbz-dark .cc-u-d8a22a8,
html.cbz-dark .cc-u-ecf0584,
html.cbz-dark .cc-u-f9b9881,
html.cbz-dark .campaign-claim-terms-meta,
html.cbz-dark .campaign-claim-terms-list{color:#A9BACB}
html.cbz-dark .cc-u-3b09b2d,
html.cbz-dark .cc-u-3c3f1a8,
html.cbz-dark .cc-u-4cf62a4,
html.cbz-dark .cc-u-75abd2e,
html.cbz-dark .cc-u-f7d5e6d{color:#8EA2B5}
html.cbz-dark .cc-u-5d84c96,
html.cbz-dark .cc-u-5849a24,
html.cbz-dark .cc-u-991bacd,
html.cbz-dark .cc-u-c85ad51,
html.cbz-dark .cc-u-d86d350,
html.cbz-dark .cc-u-da4d885,
html.cbz-dark .cc-u-ec4e91c{color:#72B7FA}
html.cbz-dark .cc-u-8ff7a6a,
html.cbz-dark .campaign-claim-terms-title{color:#FFB45E}
html.cbz-dark .cc-u-907068e{background:rgba(76,155,232,.18);color:#A9BACB}
html.cbz-dark .cc-u-9c50fe9{background:#0D2034;border-color:rgba(148,163,184,.16)}
html.cbz-dark .cc-u-0558bd4{background:#fff;border-color:rgba(147,197,253,.28);box-shadow:0 10px 26px rgba(0,0,0,.22)}
html.cbz-dark .cc-u-0558bd4 .cc-u-8f58d07,
html.cbz-dark .cc-u-0558bd4 .cc-u-d8a22a8{color:#546E7A}
html.cbz-dark .campaign-claim-card .cbz-btn-ghost{background:#102B47;color:#93C5FD}
html.cbz-dark .campaign-claim-card .cbz-btn-ghost:hover{background:#163553}
html.cbz-dark .campaign-claim-card .cbz-btn-outline{border-color:#4C9BE8;color:#93C5FD}
html.cbz-dark .campaign-claim-card .cbz-btn-outline:hover{background:#1565C0;border-color:#1565C0;color:#fff}

@media(max-width:720px){
  .campaign-claim-hero{padding:58px 0 118px}
  .campaign-claim-title{font-size:clamp(2.35rem,13vw,3.75rem)}
  .campaign-claim-lead{max-width:34rem;padding:0 .35rem;font-size:.92rem}
  .campaign-claim-stage{margin-top:-70px;padding-bottom:56px}
  .campaign-claim-container{max-width:100%}
  .cc-u-661971e{padding:1.25rem 1rem 1.4rem}
  .cc-u-b44bae3{padding:1.75rem 1rem}
  .cc-u-5e7ab5c{padding:1.25rem 1rem}
  .cc-u-947c7f7{padding:1.05rem 1rem}
  .cc-u-317bfc8{padding:1rem}
  .campaign-claim-form-panel{padding:1rem .85rem}
  .campaign-claim-result-actions{display:grid;grid-template-columns:1fr;gap:.55rem}
  .campaign-claim-result-actions>.cbz-btn{width:100%;min-width:0}
  .cc-u-0558bd4{width:min(220px,100%);min-height:auto;aspect-ratio:1/1}
  #cbz-qr-box svg,.cc-u-a41d5e3{width:min(200px,100%);height:auto;aspect-ratio:1/1}
}

@media(max-width:430px){
  .campaign-claim-hero{padding-top:46px}
  .campaign-claim-title{font-size:clamp(2.15rem,14vw,3rem)}
  .cc-u-1356eee{align-items:flex-start}
  .cc-u-06d519b{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:.6rem .8rem}
  .cc-u-ec4e91c{font-size:1.35rem}
  .cc-u-5857729{gap:.45rem}
  .cc-u-b1a10c5,.cc-u-b5e5762,.cc-u-bdbf44e{padding:.62rem}
  .campaign-claim-terms-list{padding-left:1.05rem;font-size:.74rem}
}

@media(max-width:340px){
  .cc-u-5857729{grid-template-columns:1fr}
}
