.promo-page{padding:14px 12px 100px;background:#f5f8fc}.promo-hero{padding:28px 20px;background:linear-gradient(130deg,#fff0e5,#e6f6ff);border-radius:16px;color:#28485a}.promo-card{background:white;border:1px solid #e2eaf0;border-radius:16px;overflow:hidden;margin:14px 0}.promo-page img{width:100%;display:block;height:auto}.promo-pad{padding:18px}.promo-page h1{font-size:24px;line-height:1.5}.promo-page h2{font-size:20px}.promo-price{color:#e56044;font-size:26px}.promo-tier{padding:12px;border-radius:9px;background:#fff5e9;color:#92572c}.promo-notice{background:#eff6fb;padding:14px;font-size:13px;line-height:1.8;border-radius:10px;color:#607786}.promo-description{white-space:pre-wrap;font-size:14px;line-height:1.8}.promo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.promo-page input:not([type=checkbox]),.promo-page textarea{display:block;width:100%;margin:8px 0 16px;padding:12px;border:1px solid #dbe5ed;border-radius:9px;box-sizing:border-box}.promo-page input[type=checkbox]{width:auto}.promo-page button{border-radius:12px;padding:11px 18px;cursor:pointer}.promo-page label{display:block;font-size:14px;line-height:1.7}

.promo-contact-qr{width:180px;margin:16px auto}

.promo-tier-options{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.promo-tier-choice{display:flex;flex:1 1 130px;flex-direction:column;gap:7px;background:#fff;border:1px solid #dce8ed;color:#486473;text-align:center}.promo-tier-choice.is-selected{border:2px solid #13879b;background:#eaf8fa;color:#09788c}.promo-tier-choice small{font-size:12px}.promo-section-title{font-weight:600;margin-top:20px}.promo-actions .shop-primary{flex:1}.promo-page button:disabled{opacity:.6;cursor:wait}

.promo-detail-banner{padding:24px 20px;border-radius:18px;background:linear-gradient(125deg,#09699a,#19a7bc);color:#fff}.promo-detail-banner h1{color:#fff;margin:12px 0 0}.theme-sunset .promo-detail-banner{background:linear-gradient(125deg,#db503d,#f5a72e)}.theme-violet .promo-detail-banner{background:linear-gradient(125deg,#6145ae,#b15ba6)}

.promo-progress,.promo-refund-state{display:flex;flex-direction:column;gap:5px;margin:12px 0;padding:13px 15px;border-radius:11px;background:#eaf7f6;color:#166b76;font-size:13px;line-height:1.6}.promo-refund-state{background:#fff5e9;color:#89592f}.promo-actions .promo-secondary{border:1px solid #c8dfe5;background:#fff;color:#225b6e}.promo-actions #promo-refund{background:#fff3e8;border-color:#f1d7bd;color:#995c32}

@media(max-width:768px){.promo-page>.promo-card[data-event]{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:10px;padding:10px}.promo-page>.promo-card[data-event]>img{width:112px;height:112px;object-fit:cover;border-radius:10px}.promo-page>.promo-card[data-event]>.promo-pad{padding:0;min-width:0}.promo-page>.promo-card[data-event] h2{font-size:16px;line-height:1.4;margin:0 0 6px}.promo-page>.promo-card[data-event] .promo-price{font-size:20px}.promo-page>.promo-card[data-event] .promo-tier{font-size:11px;margin:5px 0;padding:6px}.promo-page>.promo-card[data-event] button{width:100%;margin-top:6px}.promo-page .promo-actions{position:sticky;bottom:60px;z-index:5;background:#ffffffee;backdrop-filter:blur(8px);border:1px solid #dce8ee;border-radius:14px;padding:10px;box-shadow:0 8px 24px #234d5b20}.promo-page .promo-actions button{flex:1 1 42%;font-size:13px}.promo-page .promo-actions .shop-primary{flex-basis:100%}}

.promo-progress{display:flex;flex-direction:column;gap:7px;padding:13px;margin:12px 0;border-radius:11px;background:#eaf8f5;color:#16726d;font-size:13px}.promo-progress strong{font-size:16px}.promo-progress progress{width:100%;height:9px;accent-color:#18a39c}.promo-actions .promo-nav-mine,.promo-actions .promo-nav-solo{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:42px;padding:9px 12px;text-align:center;text-decoration:none;border-radius:10px;background:#edf7f8;color:#236577;font-size:13px}.promo-actions .promo-nav-solo{background:#fff4e8;color:#a6663d}@media(max-width:768px){.promo-page .promo-actions{display:grid;grid-template-columns:64px minmax(80px,1fr) minmax(120px,1.5fr)}.promo-page .promo-actions .shop-primary{grid-column:auto;min-width:0;white-space:normal;font-size:12px}.promo-page .promo-actions>a:not(.promo-nav-mine):not(.promo-nav-solo),.promo-page .promo-actions>#promo-poster,.promo-page .promo-actions>#promo-refresh{grid-column:span 1}}
