.trial-campaign[hidden] { display: none; }
.trial-campaign { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line-soft); text-align: center; }
.trial-badge { display: inline-block; border-radius: 999px; background: #f4e5cf; color: #805324; padding: 4px 12px; font-size: 12px; font-weight: 700; }
.trial-campaign h2 { margin: 10px 0; font-size: 20px; }
.trial-campaign p { margin: 10px 0; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.trial-campaign strong { color: #805324; }
.trial-qr-open { padding: 8px; border: 1px solid var(--line-soft); border-radius: 10px; background: white; cursor: zoom-in; }
.trial-qr-open img { display: block; width: 144px; height: 144px; object-fit: contain; -webkit-touch-callout: default; }
.trial-campaign .trial-qr-hint, .trial-campaign .trial-rule { color: #726453; font-size: 12px; }
.trial-campaign .trial-rule { text-align: left; padding: 10px 12px; border-radius: 8px; background: #f7efe4; }
.trial-campaign .trial-existing { margin-bottom: 0; }
.trial-qr-dialog { width: min(360px, calc(100% - 24px)); max-height: 90dvh; overflow-y: auto; border: 1px solid #dfcdb8; border-radius: 16px; background: #fffdfa; padding: 22px; color: #2f2418; text-align: center; }
.trial-qr-dialog::backdrop { background: rgba(35, 29, 22, .55); }
.trial-qr-dialog h2 { margin: 0 0 16px; font-size: 20px; }
.trial-qr-dialog img { display: block; width: 100%; max-width: 280px; height: auto; margin: auto; -webkit-touch-callout: default; }
.trial-qr-dialog p { font-size: 13px; line-height: 1.7; }
.trial-qr-dialog a { display: block; color: #805324; margin: 12px; text-decoration: underline; }
.trial-qr-dialog button { padding: 9px 28px; border: 1px solid #dfcdb8; border-radius: 999px; background: #f4e5cf; cursor: pointer; }
