/* Раздел «Автовокзалы» (mos77.ru) — поверх city-landings.css */
.av-hero{background:linear-gradient(135deg,var(--cl-accent,#0284c7) 0%,#0369a1 50%,#0f172a 100%)}
.av-hero:before{content:"🚌";position:absolute;right:24px;bottom:-18px;font-size:140px;line-height:1;opacity:.1;pointer-events:none}

.av-live{padding:16px 20px;border-radius:18px;border:1.5px solid #bae6fd;background:linear-gradient(90deg,#f0f9ff,#fff 65%);margin-bottom:18px;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.av-live__chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.av-metro-status{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.av-status-open{color:#15803d}
.av-rush{background:#fffbeb;border-color:#fde68a;color:#92400e}

/* Карточки автовокзалов в хабе */
.av-list__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.av-card{position:relative;display:flex;flex-direction:column;padding:20px;border-radius:18px;background:#fff;border:1.5px solid #e2e8f0;transition:transform .15s,border-color .15s,box-shadow .15s}
.av-card:hover{transform:translateY(-2px);border-color:var(--av-c,#0284c7);box-shadow:0 12px 28px rgba(2,132,199,.1)}
.av-card__top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.av-card__badge{padding:3px 10px;border-radius:999px;background:#f0f9ff;color:#0284c7;font-size:12px;font-weight:800}
.av-card__metro{font-size:13px;font-weight:700;color:#475569}
.av-card__name{margin:0 0 8px!important;font-size:18px!important;font-weight:900;line-height:1.3}
.av-card__name a{color:var(--cl-ink,#0f172a);text-decoration:none}
.av-card__name a:hover{color:var(--av-c,#0284c7)}
.av-card__desc{font-size:14px;color:#475569;line-height:1.5;margin:0 0 14px!important}
.av-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0 0 16px;padding:12px;border-radius:12px;background:#f8fafc}
.av-card__meta dt{font-size:11.5px;color:#64748b;font-weight:600}
.av-card__meta dd{margin:0;font-size:13.5px;font-weight:800;color:#1e293b}
.av-meta-wide{grid-column:1 / -1}
.av-card__actions{margin-top:auto}
.av-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border-radius:12px;font-size:13.5px;font-weight:800;text-decoration:none;transition:background-color .15s,transform .15s}
.av-btn--primary{background:#0284c7;color:#fff;width:100%}
.av-btn--primary:hover{background:#0369a1;color:#fff}

/* Сравнительная таблица */
.av-table-wrap{overflow-x:auto;border-radius:14px;border:1px solid #e2e8f0;background:#fff;margin-top:12px}
.av-table{width:100%;border-collapse:collapse;font-size:14px}
.av-table th{background:#f8fafc;padding:12px 14px;text-align:left;font-weight:800;color:#334155;border-bottom:1.5px solid #e2e8f0;white-space:nowrap}
.av-table td{padding:12px 14px;border-bottom:1px solid #f1f5f9;color:#1e293b;vertical-align:middle}
.av-table tr:last-child td{border-bottom:none}
.av-table tr:hover td{background:#f8fafc}

/* Баннер онлайн-билетов */
.av-ticket-banner{padding:24px 28px;border-radius:20px;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);color:#fff;margin:24px 0;box-shadow:0 12px 28px rgba(2,132,199,.2)}
.av-ticket-banner__tag{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.2);font-size:12px;font-weight:800;margin-bottom:8px}
.av-ticket-banner h3{margin:0 0 8px!important;color:#fff!important;font-size:22px!important;font-weight:900}
.av-ticket-banner p{font-size:15px;line-height:1.55;color:#e0f2fe;margin:0 0 16px!important;max-width:760px}
.av-ticket-banner__features{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;font-weight:700}
.av-ticket-banner__actions{display:flex;flex-wrap:wrap;gap:12px}
.av-ticket-banner__actions .cl-btn--primary{background:#fff;color:#0284c7}
.av-ticket-banner__actions .cl-btn--primary:hover{background:#f0f9ff;color:#0369a1}
.av-ticket-banner__actions .cl-btn--secondary{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff}
.av-ticket-banner__actions .cl-btn--secondary:hover{background:rgba(255,255,255,.25)}

/* Маршруты и направления на странице автовокзала */
.av-dest__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:12px}
.av-dest-card{padding:14px 16px;border-radius:14px;background:#fff;border:1.5px solid #e2e8f0;transition:border-color .15s,box-shadow .15s}
.av-dest-card:hover{border-color:#0284c7;box-shadow:0 8px 18px rgba(2,132,199,.08)}
.av-dest-card__head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.av-dest-card__city{font-size:16px;font-weight:900;color:#0f172a}
.av-dest-card__price{font-size:13px;font-weight:800;color:#0284c7;background:#f0f9ff;padding:2px 8px;border-radius:6px}
.av-dest-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;margin:0;font-size:12.5px}
.av-dest-card__meta dt{color:#64748b}
.av-dest-card__meta dd{margin:0;font-weight:700;color:#1e293b}
.av-dest-card__note{font-size:12px;color:#64748b;margin:8px 0 0!important;padding-top:6px;border-top:1px dashed #e2e8f0}

/* Маршруты как добраться */
.av-routes__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.av-route{position:relative;padding:16px 18px;border-radius:16px;background:#fff;border:1.5px solid var(--cl-line,#e2e8f0);transition:transform .15s,border-color .15s,box-shadow .15s}
.av-route:hover{transform:translateY(-2px);border-color:#0284c7;box-shadow:0 10px 24px rgba(15,23,42,.07)}
.av-route__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.av-route__icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;background:#f0f9ff;flex-shrink:0}
.av-route--metro .av-route__icon{background:#fef3c7}
.av-route--bus .av-route__icon{background:#dcfce7}
.av-route--taxi .av-route__icon{background:#fef9c3}
.av-route--car .av-route__icon{background:#e0e7ff}
.av-route__title{margin:0!important;font-size:16.5px!important;font-weight:900;color:#0f172a;line-height:1.25}
.av-route__best{margin-left:auto;padding:3px 9px;border-radius:999px;background:#0284c7;color:#fff;font-size:11px;font-weight:800;white-space:nowrap}
.av-route__meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0 0 10px}
.av-route__meta dt{font-size:11.5px;color:#64748b}
.av-route__meta dd{margin:0;font-size:14px;font-weight:800;color:#1e293b;line-height:1.3}
.av-route__text{margin:0!important;font-size:14px!important;line-height:1.55!important;color:#334155}

/* Инфраструктура */
.av-infra__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.av-infra-card{padding:18px 20px;border-radius:16px;background:#fff;border:1.5px solid #e2e8f0}
.av-infra-card__head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.av-infra-card__icon{font-size:24px}
.av-infra-card__head h3{margin:0!important;font-size:17px!important;font-weight:900}
.av-infra-card p{font-size:14px;color:#475569;line-height:1.5;margin:0 0 10px!important}
.av-infra-card__prices{padding:8px 12px;border-radius:10px;background:#f8fafc;font-size:13px;display:flex;flex-direction:column;gap:3px}
.av-infra-card__prices strong{color:#0f172a}
.av-infra-card__note{display:block;margin-top:6px;font-size:12px;color:#64748b}

/* Правила */
.av-rules__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.av-rule-card{padding:18px;border-radius:16px;background:#fff;border:1.5px solid #e2e8f0}
.av-rule-card__icon{font-size:28px;display:block;margin-bottom:8px}
.av-rule-card h3{margin:0 0 8px!important;font-size:16px!important;font-weight:800}
.av-rule-card p{font-size:13.5px;color:#475569;line-height:1.55;margin:0!important}
