.campaign-page{
  --campaign-accent:#2563eb;
  --campaign-accent-2:#0f172a;
  --campaign-hero-bg:#0f172a;
  --campaign-hero-text:#f8fafc;
  --campaign-hero-muted:#dbeafe;
  --campaign-border:rgba(148,163,184,.22);
  --campaign-soft:rgba(37,99,235,.08);
  padding:2.5rem 0 3.25rem;
}
.campaign-shell{width:min(80rem,100%);margin:0 auto;padding:0 1.5rem}
.campaign-hero{
  position:relative;
  overflow:hidden;
  min-height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:3rem 2rem;
  border-radius:1.75rem;
  color:var(--campaign-hero-text);
  background:var(--campaign-hero-bg);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 24px 64px -38px rgba(15,23,42,.72);
  isolation:isolate;
}
.campaign-hero::before,.campaign-hero::after{content:"";position:absolute;pointer-events:none;z-index:-1}
.campaign-hero__visual{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
.campaign-hero__inner{position:relative;z-index:1;width:min(800px,100%);margin:0 auto;text-align:center}
.campaign-kicker{
  display:inline-flex;align-items:center;gap:.55rem;
  min-height:2rem;padding:.35rem .75rem;border-radius:999px;
  font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.9);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(8px)
}
.campaign-kicker i{font-size:.78rem;color:var(--campaign-accent)}
.campaign-title{margin:1rem 0 0;font-size:clamp(2rem,5vw,3.55rem);line-height:1.02;font-weight:900;letter-spacing:-.035em;text-wrap:balance}
.campaign-lead{max-width:690px;margin:.9rem auto 0;font-size:clamp(.98rem,2vw,1.15rem);line-height:1.65;color:var(--campaign-hero-muted);text-wrap:pretty}
.campaign-timer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;max-width:510px;margin:1.5rem auto 0}
.campaign-timer__item{padding:.8rem .5rem;border-radius:1rem;background:rgba(15,23,42,.24);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px)}
.campaign-timer__num{display:block;font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,4vw,2.2rem);line-height:1;font-weight:900;letter-spacing:-.02em}
.campaign-timer__label{display:block;margin-top:.35rem;font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.campaign-status{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;padding:.48rem .8rem;border-radius:999px;font-size:.78rem;font-weight:700;color:rgba(255,255,255,.86);background:rgba(0,0,0,.14);border:1px solid rgba(255,255,255,.12)}
.campaign-status i{font-size:.7rem;color:var(--campaign-accent)}
.campaign-section{margin-top:2.25rem}
.campaign-section__eyebrow{display:flex;align-items:center;gap:.55rem;margin:0 0 .9rem;color:#64748b;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.dark .campaign-section__eyebrow{color:#94a3b8}
.campaign-section__eyebrow::before{content:"";width:1.4rem;height:2px;border-radius:999px;background:var(--campaign-accent)}
.campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.campaign-card{
  position:relative;overflow:hidden;display:flex;flex-direction:column;
  background:#fff;border:1px solid #e5e7eb;border-radius:1rem;
  box-shadow:0 12px 34px -28px rgba(15,23,42,.68);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  content-visibility:auto;contain-intrinsic-size:360px 520px
}
.dark .campaign-card{background:#111827;border-color:#374151}
@media (hover:hover){.campaign-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px -28px rgba(15,23,42,.8);border-color:color-mix(in srgb,var(--campaign-accent) 38%,#e5e7eb)}}
.campaign-card.is-busy{transform:none}
.campaign-card__badges{position:absolute;top:.6rem;left:.6rem;right:.6rem;z-index:3;display:flex;justify-content:space-between;gap:.4rem;pointer-events:none}
.campaign-badge{display:inline-flex;align-items:center;min-height:1.6rem;padding:.25rem .48rem;border-radius:.5rem;background:#dc2626;color:#fff;font-size:.68rem;font-weight:900;line-height:1;box-shadow:0 7px 18px -12px rgba(15,23,42,.8)}
.campaign-badge--special{margin-left:auto;background:var(--campaign-accent-2);color:#fff;border:1px solid rgba(255,255,255,.14)}
.campaign-card__media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#f3f4f6}
.dark .campaign-card__media{background:#1f2937}
.campaign-card__media img{display:block;width:112%;height:112%;margin:-6%;object-fit:cover;transform:translateZ(0)}
.campaign-card__media::after{content:"";position:absolute;inset:auto 0 0;height:3.5rem;background:linear-gradient(to top,rgba(15,23,42,.22),transparent);pointer-events:none}
.campaign-card__body{display:flex;flex:1;flex-direction:column;padding:.9rem;text-align:center}
.campaign-card__name{min-height:2.6em;margin:0;color:#1f2937;font-size:.9rem;line-height:1.3;font-weight:800;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dark .campaign-card__name{color:#f3f4f6}
.campaign-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem .45rem;margin-top:.55rem;color:#6b7280;font-size:.68rem;line-height:1.35}
.dark .campaign-meta{color:#9ca3af}
.campaign-meta span+span::before{content:"·";margin-right:.45rem;color:#cbd5e1}.dark .campaign-meta span+span::before{color:#4b5563}
.campaign-pricing{margin-top:auto;padding-top:.75rem}
.campaign-old-price{color:#9ca3af;font-size:.78rem;text-decoration:line-through}
.campaign-price-note{margin-top:.18rem;color:#64748b;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.dark .campaign-price-note{color:#94a3b8}
.campaign-price{margin-top:.12rem;color:var(--campaign-accent);font-size:1.5rem;line-height:1.15;font-weight:900;letter-spacing:-.02em}
.campaign-unit-price{margin-top:.22rem;color:#6b7280;font-size:.67rem}.dark .campaign-unit-price{color:#9ca3af}
.campaign-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.72rem}
.campaign-btn{min-height:2.35rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem .65rem;border-radius:.65rem;font-size:.78rem;font-weight:800;transition:transform .15s ease,background-color .15s ease,border-color .15s ease}
.campaign-btn:active{transform:translateY(1px)}
.campaign-btn--secondary{border:1px solid #d1d5db;color:#374151;background:#fff}.campaign-btn--secondary:hover{background:#f9fafb}.dark .campaign-btn--secondary{border-color:#4b5563;color:#e5e7eb;background:#111827}.dark .campaign-btn--secondary:hover{background:#1f2937}
.campaign-btn--primary{border:1px solid transparent;background:var(--campaign-accent);color:#fff}.campaign-btn--primary:hover{filter:brightness(.94)}
.card-loader{z-index:8}.card-loading{cursor:wait}.dots::after{display:inline-block;min-width:1.2em;content:"";animation:campaignDots 1.1s steps(4,end) infinite}
@keyframes campaignDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}100%{content:""}}
.campaign-empty{margin-top:1.5rem;padding:2rem 1.25rem;text-align:center;border-radius:1.1rem;background:#fff;border:1px solid #e5e7eb;box-shadow:0 16px 38px -34px rgba(15,23,42,.75)}.dark .campaign-empty{background:#111827;border-color:#374151}
.campaign-empty__icon{width:2.6rem;height:2.6rem;margin:0 auto .8rem;display:grid;place-items:center;border-radius:.8rem;background:var(--campaign-soft);color:var(--campaign-accent)}
.campaign-empty h2{margin:0;color:#111827;font-size:1.25rem;font-weight:900}.dark .campaign-empty h2{color:#f9fafb}
.campaign-empty p{max-width:580px;margin:.45rem auto 0;color:#6b7280;font-size:.9rem;line-height:1.55}.dark .campaign-empty p{color:#9ca3af}
.campaign-empty a{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;padding:.65rem .95rem;border-radius:.65rem;background:#0d47a1;color:#fff;font-size:.82rem;font-weight:800}
.campaign-support{margin-top:2.6rem;padding:1.4rem 1rem;text-align:center;border-top:1px solid #e5e7eb}.dark .campaign-support{border-color:#374151}
.campaign-support__label{color:#64748b;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.dark .campaign-support__label{color:#94a3b8}
.campaign-support h2{margin:.35rem 0 .25rem;color:#111827;font-size:1.2rem;font-weight:900}.dark .campaign-support h2{color:#f9fafb}
.campaign-support p{margin:0 auto;max-width:620px;color:#6b7280;font-size:.86rem}.dark .campaign-support p{color:#9ca3af}
.campaign-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;margin-top:1rem;padding:.72rem 1rem;border-radius:.72rem;background:#25d366;color:#fff;font-size:.86rem;font-weight:900;box-shadow:0 12px 28px -20px rgba(37,211,102,.8)}
.campaign-whatsapp:hover{background:#1fbd5a;color:#fff}
.gift-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.65rem}
.gift-option{min-width:0;display:flex;align-items:center;gap:.4rem;padding:.42rem;border:1px solid #e5e7eb;border-radius:.6rem;background:#f9fafb;color:#374151;text-align:left;font-size:.64rem;line-height:1.2;transition:border-color .15s ease,background-color .15s ease}.dark .gift-option{border-color:#374151;background:#1f2937;color:#d1d5db}.gift-option:hover{border-color:color-mix(in srgb,var(--campaign-accent) 55%,#d1d5db)}.gift-option.selected{border-color:var(--campaign-accent);background:var(--campaign-soft);box-shadow:0 0 0 1px var(--campaign-accent)}
.gift-img{width:2rem;height:2rem;flex:0 0 2rem;border-radius:.4rem;object-fit:cover}.gift-option__copy{min-width:0}.gift-name{display:block;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gift-info{display:block;margin-top:.12rem;color:#6b7280;font-size:.58rem}.dark .gift-info{color:#9ca3af}.gift-help{margin:.45rem 0 0;color:#6b7280;font-size:.67rem}.dark .gift-help{color:#9ca3af}
.campaign-gift-modal{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:1rem}.campaign-gift-modal[hidden]{display:none}.campaign-gift-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68);backdrop-filter:blur(3px)}.campaign-gift-modal__panel{position:relative;width:min(100%,28rem);padding:1.4rem;border-radius:1rem;background:#fff;border:1px solid #e5e7eb;box-shadow:0 24px 70px -28px rgba(15,23,42,.85);text-align:center}.dark .campaign-gift-modal__panel{background:#111827;border-color:#374151}.campaign-gift-modal__panel h3{margin:0;color:#111827;font-size:1.05rem;font-weight:900}.dark .campaign-gift-modal__panel h3{color:#f9fafb}.campaign-gift-modal__panel p{margin:.45rem 0 1rem;color:#6b7280;font-size:.82rem;line-height:1.5}.dark .campaign-gift-modal__panel p{color:#9ca3af}.campaign-gift-modal__actions{display:grid;gap:.5rem}.campaign-gift-modal__actions button{min-height:2.5rem;border-radius:.65rem;font-size:.8rem;font-weight:800}.campaign-gift-modal__back{border:1px solid #d1d5db;background:#fff;color:#374151}.dark .campaign-gift-modal__back{border-color:#4b5563;background:#1f2937;color:#e5e7eb}.campaign-gift-modal__continue{background:#0d47a1;color:#fff}
@media (min-width:640px){.campaign-grid{gap:1rem}.campaign-card__body{padding:1rem}.campaign-card__name{font-size:.96rem}}
@media (min-width:1024px){.campaign-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.campaign-hero{min-height:350px;padding:3.4rem 2.5rem}}
@media (max-width:520px){.campaign-page{padding-top:1.35rem}.campaign-shell{padding:0 .85rem}.campaign-hero{min-height:285px;padding:2rem .9rem;border-radius:1.2rem}.campaign-timer{gap:.4rem}.campaign-timer__item{padding:.65rem .2rem;border-radius:.7rem}.campaign-card__body{padding:.68rem}.campaign-card__name{font-size:.82rem}.campaign-actions{grid-template-columns:1fr;gap:.4rem}.campaign-btn{min-height:2.25rem}.campaign-price{font-size:1.28rem}.gift-options{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.campaign-card,.campaign-btn,.campaign-hero__visual::before,.campaign-hero__visual::after{transition:none!important;animation:none!important}.dots::after{animation:none;content:"..."}}
.campaign-preview-notice{display:flex;align-items:flex-start;gap:.65rem;margin:0 0 1rem;padding:.8rem 1rem;border:1px solid #bfdbfe;border-radius:.85rem;background:#eff6ff;color:#1e3a8a;font-size:.8rem;line-height:1.45;box-shadow:0 8px 20px -18px rgba(30,64,175,.5)}
.dark .campaign-preview-notice{border-color:rgba(96,165,250,.25);background:rgba(30,58,138,.2);color:#bfdbfe}
.campaign-preview-notice i{margin-top:.12rem;flex:0 0 auto}
.campaign-btn--primary:disabled{cursor:not-allowed;filter:none;opacity:.55;transform:none!important}

                                                                                                
.campaign-preview-lab{margin-top:1.35rem;padding:1rem;border:1px solid #dbeafe;border-radius:1rem;background:linear-gradient(135deg,#eff6ff,#fff 72%);box-shadow:0 14px 34px -30px rgba(30,64,175,.55)}
.dark .campaign-preview-lab{border-color:rgba(96,165,250,.22);background:linear-gradient(135deg,rgba(30,58,138,.2),rgba(17,24,39,.96) 72%)}
.campaign-preview-lab__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.campaign-preview-lab__eyebrow{color:#2563eb;font-size:.67rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.dark .campaign-preview-lab__eyebrow{color:#93c5fd}.campaign-preview-lab h2{margin:.16rem 0 0;color:#0f172a;font-size:1rem;font-weight:900}.dark .campaign-preview-lab h2{color:#f8fafc}.campaign-preview-lab p{max-width:680px;margin:.28rem 0 0;color:#64748b;font-size:.76rem;line-height:1.45}.dark .campaign-preview-lab p{color:#94a3b8}
.campaign-preview-reroll{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:2.35rem;padding:.55rem .72rem;border:1px solid #bfdbfe;border-radius:.65rem;background:#fff;color:#1d4ed8;font-size:.72rem;font-weight:850;transition:background-color .15s ease,transform .15s ease}.campaign-preview-reroll:hover{background:#eff6ff}.campaign-preview-reroll:active{transform:translateY(1px)}.dark .campaign-preview-reroll{border-color:rgba(96,165,250,.28);background:#111827;color:#bfdbfe}.dark .campaign-preview-reroll:hover{background:#172554}
.campaign-preview-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.campaign-preview-product{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:.65rem;align-items:center;min-width:0;padding:.7rem;border:1px solid #e2e8f0;border-radius:.8rem;background:#fff}.dark .campaign-preview-product{border-color:#374151;background:#111827}.campaign-preview-product>img{width:3.5rem;height:3.5rem;border-radius:.65rem;object-fit:cover;background:#f1f5f9}.campaign-preview-product__copy{min-width:0;display:grid;gap:.08rem}.campaign-preview-product__copy strong{overflow:hidden;color:#0f172a;font-size:.74rem;font-weight:850;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.dark .campaign-preview-product__copy strong{color:#f8fafc}.campaign-preview-product__copy span{overflow:hidden;color:#64748b;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.dark .campaign-preview-product__copy span{color:#94a3b8}.campaign-preview-product__copy b{color:var(--campaign-accent);font-size:.76rem}.campaign-preview-add{grid-column:1/-1;min-height:2.2rem;border:0;border-radius:.62rem;background:#0f172a;color:#fff;font-size:.7rem;font-weight:850}.campaign-preview-add:hover{background:#1e293b}.dark .campaign-preview-add{background:#f8fafc;color:#0f172a}.dark .campaign-preview-add:hover{background:#e2e8f0}.campaign-preview-lab__empty{padding:.75rem;border-radius:.7rem;background:#fff}.dark .campaign-preview-lab__empty{background:#111827}
body.campaign-preview-cart-open{overflow:hidden}.campaign-preview-cart{position:fixed;inset:0;z-index:140;display:block}.campaign-preview-cart[hidden]{display:none!important}.campaign-preview-cart__backdrop{position:absolute;inset:0;width:100%;border:0;background:rgba(15,23,42,.52);opacity:0;transition:opacity .18s ease;cursor:default}.campaign-preview-cart__panel{position:absolute;top:0;right:0;width:min(430px,95vw);height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:-22px 0 54px -30px rgba(15,23,42,.72);transform:translate3d(28px,0,0);opacity:.98;transition:transform .2s cubic-bezier(.22,.8,.25,1),opacity .18s ease}.dark .campaign-preview-cart__panel{background:#111827}.campaign-preview-cart.is-open .campaign-preview-cart__backdrop{opacity:1}.campaign-preview-cart.is-open .campaign-preview-cart__panel{transform:translate3d(0,0,0);opacity:1}.campaign-preview-cart__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.05rem;border-bottom:1px solid #e2e8f0}.dark .campaign-preview-cart__head{border-color:#374151}.campaign-preview-cart__head>div{display:grid;gap:.06rem}.campaign-preview-cart__head span{color:#64748b;font-size:.65rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.dark .campaign-preview-cart__head span{color:#94a3b8}.campaign-preview-cart__head strong{color:#0f172a;font-size:1.06rem}.dark .campaign-preview-cart__head strong{color:#f8fafc}.campaign-preview-cart__head button{display:grid;place-items:center;width:2.3rem;height:2.3rem;border:1px solid #dbe4f0;border-radius:.7rem;background:#fff;color:#475569}.dark .campaign-preview-cart__head button{border-color:#374151;background:#1f2937;color:#e5e7eb}.campaign-preview-cart__body{flex:1;overflow:auto;padding:.9rem}.campaign-preview-cart__empty{padding:1.3rem .8rem;text-align:center;color:#64748b;font-size:.76rem;line-height:1.5}.dark .campaign-preview-cart__empty{color:#94a3b8}.campaign-preview-cart__items{display:grid;gap:.65rem}.campaign-preview-cart__item.cart-product-entry{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;gap:.72rem;width:100%;min-height:82px;padding:.75rem .72rem;border:1px solid #e2e8f0;border-radius:.8rem;background-color:#fff}.dark .campaign-preview-cart__item.cart-product-entry{border-color:#374151;background-color:#111827}.campaign-preview-cart__thumb{flex:0 0 3.4rem;width:3.4rem;height:3.4rem;border-radius:.6rem;overflow:hidden;background:#f1f5f9}.campaign-preview-cart__thumb img{display:block;width:100%;height:100%;object-fit:cover}.campaign-preview-cart__copy{min-width:0;display:grid;gap:.08rem;flex:1}.campaign-preview-cart__copy strong{overflow:hidden;color:#0f172a;font-size:.76rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.dark .campaign-preview-cart__copy strong{color:#f8fafc}.campaign-preview-cart__copy small{overflow:hidden;color:#64748b;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.dark .campaign-preview-cart__copy small{color:#94a3b8}.campaign-preview-cart__copy b{color:var(--campaign-accent);font-size:.74rem}.campaign-preview-cart__remove{flex:0 0 2rem;display:grid;place-items:center;width:2rem;height:2rem;border:0;border-radius:.55rem;background:rgba(148,163,184,.12);color:#64748b}.campaign-preview-cart__remove:hover{background:rgba(239,68,68,.1);color:#dc2626}.campaign-preview-cart__foot{padding:.9rem 1rem 1rem;border-top:1px solid #e2e8f0;background:#f8fafc}.dark .campaign-preview-cart__foot{border-color:#374151;background:#0f172a}.campaign-preview-cart__foot>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.38rem;color:#64748b;font-size:.72rem}.dark .campaign-preview-cart__foot>div{color:#94a3b8}.campaign-preview-cart__foot>div strong{color:#0f172a;font-size:.82rem}.dark .campaign-preview-cart__foot>div strong{color:#f8fafc}.campaign-preview-cart__clear{width:100%;min-height:2.45rem;margin-top:.55rem;border:1px solid #cbd5e1;border-radius:.65rem;background:#fff;color:#334155;font-size:.72rem;font-weight:850}.campaign-preview-cart__clear:hover{background:#f1f5f9}.dark .campaign-preview-cart__clear{border-color:#475569;background:#1f2937;color:#e5e7eb}.campaign-preview-cart__foot small{display:block;margin-top:.55rem;text-align:center;color:#94a3b8;font-size:.62rem;line-height:1.4}
@media(max-width:760px){.campaign-preview-lab__head{display:grid}.campaign-preview-reroll{width:100%}.campaign-preview-products{grid-template-columns:1fr}.campaign-preview-product{grid-template-columns:3.35rem minmax(0,1fr)}.campaign-preview-product>img{width:3.35rem;height:3.35rem}}
@media(prefers-reduced-motion:reduce){.campaign-preview-reroll,.campaign-preview-cart__backdrop,.campaign-preview-cart__panel{transition:none!important}.campaign-preview-cart__panel{transform:none!important}}
