/* Zone container: fixed box so layout does not jump while the playlist loads. */
.av-ad { display: block; width: 100%; max-width: var(--av-ad-w, 728px); aspect-ratio: var(--av-ad-w, 728) / var(--av-ad-h, 90); margin: 8px auto; overflow: hidden; border-radius: 6px; background: transparent; }
.av-ad[hidden] { display: none; }
.av-ad-link { display: block; width: 100%; height: 100%; }
.av-ad-link img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Order form */
.av-ads-order { max-width: 640px; margin: 0 auto; padding: 20px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; font-size: 14px; }
.av-ads-order h3 { margin-top: 0; }
.av-ads-order label { display: block; margin: 12px 0 4px; font-weight: 600; }
.av-ads-order input[type="text"], .av-ads-order input[type="url"], .av-ads-order input[type="number"], .av-ads-order select { width: 100%; padding: 8px 10px; border: 1px solid #cfd3d8; border-radius: 6px; font-weight: normal; }
.av-ads-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.av-ads-preview img { max-width: 100%; border: 1px solid #e5e7eb; border-radius: 6px; margin-top: 8px; }
.av-ads-price { font-size: 18px; margin: 14px 0; }
.av-ads-pay { border: 1px solid #e5e7eb; border-radius: 8px; padding: 10px 14px; }
.av-ads-pay legend { font-weight: 600; padding: 0 6px; }
.av-ads-pay label { font-weight: normal; margin: 6px 0; }
.av-ads-crypto-options { margin: 6px 0 10px 24px; }
.av-ads-submit { margin-top: 14px; }
.av-ads-status { min-height: 1.4em; margin-top: 10px; }
.av-ads-status.is-error { color: #b32d2e; }
.av-ads-status.is-ok { color: #00a32a; }
.av-ads-banner { padding: 10px 12px; border-radius: 8px; margin-bottom: 12px; }
.av-ads-banner.is-ok { background: #edf7ed; color: #1e4620; }
.av-ads-banner.is-fail { background: #fdecea; color: #611a15; }

/* My ads */
.av-ads-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.av-ads-table th, .av-ads-table td { padding: 8px; border-bottom: 1px solid #eee; text-align: left; vertical-align: middle; }
.av-ads-thumb { max-width: 120px; max-height: 60px; border-radius: 4px; }
.av-ads-status-active { color: #00a32a; font-weight: 600; }
.av-ads-status-pending_payment { color: #996800; }
.av-ads-status-paused { color: #646970; }
.av-ads-status-expired, .av-ads-status-rejected, .av-ads-status-cancelled { color: #b32d2e; }
