/* Fixed, accessible placements; no popup, overlay or reserved empty space. */
.site-ad-slot { display: grid; gap: 12px; margin: 20px 0; min-width: 0; }
.site-ad { position: relative; min-width: 0; overflow: hidden; border: 1px solid #d9e2dd; border-radius: 10px; background: #fff; }
.site-ad__label { position: absolute; z-index: 1; top: 7px; right: 9px; padding: 2px 6px; border-radius: 4px; background: rgba(255,255,255,.94); color: #55645d; font-size: 11px; line-height: 1.4; border: 1px solid #dfe6e2; pointer-events: none; }
.site-ad__content { display: flex; align-items: center; justify-content: space-between; width: 100%; min-width: 0; min-height: 60px; color: #173c30; text-decoration: none; }
a.site-ad__content:hover { background: #f5f9f6; color: #145c43; }
a.site-ad__content:focus-visible { outline: 3px solid #287459; outline-offset: -4px; }
.site-ad__text { min-width: 0; padding: 22px 54px 18px 20px; overflow-wrap: anywhere; }
.site-ad__text strong { font-size: 16px; line-height: 1.6; }
.site-ad__text p { margin: 5px 0 0; color: #53675d; font-size: 13px; line-height: 1.7; white-space: pre-line; }
.site-ad__arrow { flex: 0 0 auto; margin: 18px 18px 0 0; font-size: 22px; }
.site-ad__image { display: block; width: 100%; height: auto; max-width: 100%; object-fit: contain; }
.admin-ads__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.admin-ads__heading h2 { font-size: 18px; margin-bottom: 8px; }
.admin-ads__heading p, .admin-ads__hint { color: #66746d; line-height: 1.8; }
.admin-ads__hint { margin-bottom: 16px; font-size: 13px; }
.admin-ads__sub { display: block; margin-top: 6px; font-size: 12px; color: #748079; }
.admin-ads__table-wrap { max-width: 100%; overflow-x: auto; }
.admin-ads .data-table { min-width: 780px; }
.admin-ads__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.admin-ads__actions form { margin: 0; }
.admin-ads__actions .btn { min-height: 40px; display: inline-flex; align-items: center; }
.admin-ads__form { max-width: 960px; }
.admin-ads__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
.admin-ads__field { display: flex; flex-direction: column; min-width: 0; gap: 8px; margin-bottom: 22px; }
.admin-ads__field label { color: #273e32; font-weight: 600; }
.admin-ads__field input:not([type=checkbox]), .admin-ads__field textarea, .admin-ads__field select { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid #ccd8d0; border-radius: 6px; background: #fff; color: #26382f; font: inherit; }
.admin-ads__field textarea { resize: vertical; }
.admin-ads__field small { font-size: 12px; color: #6b7971; line-height: 1.7; }
.admin-ads__check { justify-content: center; }
.admin-ads__check label { min-height: 44px; display: flex; align-items: center; gap: 9px; cursor: pointer; }
.admin-ads__check input { width: 18px; height: 18px; }
.admin-ads__preview { max-width: 1080px; margin-bottom: 20px; }
@media (max-width: 640px) {
  .site-ad-slot { margin: 16px 0; gap: 10px; }
  .site-ad__text { padding: 25px 36px 16px 14px; }
  .site-ad__text strong { font-size: 14px; }
  .site-ad__arrow { margin-right: 12px; font-size: 20px; }
  .admin-ads__heading { flex-direction: column; }
  .admin-ads__grid { grid-template-columns: minmax(0, 1fr); }
  .admin-ads__actions .btn { min-height: 44px; }
}
