.campaign-banner{display:flex;align-items:center;gap:24px;padding:24px 32px;border:1px solid #e2e3e5;border-radius:20px;background:var(--campaign-bg,#fff49a);color:var(--campaign-text,#252a2e);margin:24px auto;max-width:1180px;box-sizing:border-box}.campaign-banner h2{font-size:24px;line-height:1.25;margin:0 0 10px;color:inherit}.campaign-banner p{margin:0 0 16px;white-space:pre-line;line-height:1.5;color:inherit}.campaign-banner img{width:180px;height:140px;object-fit:contain;border-radius:12px;flex:none}.campaign-banner>div{min-width:0;overflow-wrap:anywhere}.campaign-banner .button{white-space:normal}.campaign-admin{max-width:1180px;margin:0 auto}.campaign-admin .campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.campaign-admin .field{display:flex;flex-direction:column;gap:6px;margin:14px 0}.campaign-admin .field input,.campaign-admin .field select,.campaign-admin textarea{max-width:100%;box-sizing:border-box}.campaign-admin fieldset{border:1px solid #ddd;border-radius:12px;padding:16px}.campaign-admin fieldset label{display:block;margin:12px 0}.campaign-admin .campaign-status{color:#56616d;font-size:13px}.campaign-admin .toolbar{flex-wrap:wrap;gap:10px}.campaign-admin code{overflow-wrap:anywhere;white-space:normal}.lab-audit{margin:16px 0}.lab-audit li{margin:8px 0}.lab-audit .pass{color:#18794e}.lab-audit .warning{color:#765100}.lab-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.lab-filters .field{flex:1;min-width:160px}.lab-preview-frame{width:100%;height:75vh;border:1px solid #ddd;border-radius:16px;background:white}.lab-preview-wrap{max-width:100%;overflow:auto}.lab-preview-frame.is-mobile{width:390px}.lab-preview-frame.is-tablet{width:768px}@media(max-width:680px){.campaign-banner{margin:16px 0;padding:20px;gap:16px;flex-direction:column;align-items:stretch}.campaign-banner img{width:100%;height:160px}.campaign-banner h2{font-size:21px}.campaign-admin .campaign-grid{grid-template-columns:1fr}}

.public-top-banner{position:sticky;top:0;z-index:45;background:#fff}.public-top-banner .campaign-banner{margin:0;border-radius:0;max-width:none;padding:12px max(20px,calc((100vw - 1170px)/2));gap:20px;align-items:center}.public-top-banner .campaign-banner>img{width:76px;height:62px;object-fit:cover}.public-top-banner .campaign-banner>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;align-items:center;flex:1}.public-top-banner .campaign-banner h2{font-size:20px;margin:0;line-height:1.3}.public-top-banner .campaign-banner p{font-size:14px;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.public-top-banner .campaign-banner .button{grid-column:2;grid-row:1 / 3;white-space:normal;text-align:center;max-width:280px}.editorial-article .editorial-detail-sidebar{align-self:stretch}.editorial-sidebar-stack{position:sticky;top:calc(var(--public-banner-height,0px) + 20px);max-height:calc(100vh - var(--public-banner-height,0px) - 40px);overflow:auto;scrollbar-width:thin;display:grid;gap:20px}.editorial-sidebar-stack .campaign-banner{display:flex;flex-direction:column;padding:20px;margin:0;gap:12px}.editorial-sidebar-stack .campaign-banner>img{width:100%;height:auto;max-height:180px;object-fit:cover}.editorial-sidebar-stack .campaign-banner h2{font-size:22px;line-height:1.25}.editorial-sidebar-stack .campaign-banner p{font-size:15px;line-height:1.4}.editorial-sidebar-stack .campaign-banner .button{width:100%;white-space:normal;text-align:center}.editorial-detail-mobile-promo>.campaign-banner{margin-top:16px}
@media(max-width:700px){.public-top-banner .campaign-banner{padding:10px 16px;gap:12px}.public-top-banner .campaign-banner>img{display:none}.public-top-banner .campaign-banner>div{gap:5px 10px}.public-top-banner .campaign-banner h2{font-size:16px}.public-top-banner .campaign-banner p{font-size:12px}.public-top-banner .campaign-banner .button{max-width:140px;padding:9px 12px;font-size:13px}}
