/* Раздел «Аэропорты» (mos77.ru) — поверх city-landings.css */
.ap-hero{background:linear-gradient(135deg,var(--cl-accent) 0%,#1e3a8a 55%,#0f172a 100%)}
.ap-hero:before{content:"✈";position:absolute;right:24px;bottom:-18px;font-size:150px;line-height:1;opacity:.08;transform:rotate(-18deg);pointer-events:none}
.ap-hero__stats{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ap-hero__stats span{padding:7px 12px;border-radius:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);font-size:13.5px;font-weight:700}

.ap-live{padding:16px 20px;border-radius:18px;border:1.5px solid #bfdbfe;background:linear-gradient(90deg,#eff6ff,#fff 65%);margin-bottom:18px;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.ap-live__chips{display:flex;flex-wrap:wrap;gap:8px}
.ap-rush{background:#fffbeb;border-color:#fde68a;color:#92400e}
.ap-now{margin-top:14px;padding-top:14px;border-top:1px dashed #bfdbfe}
.ap-now__title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#1d4ed8;margin-bottom:8px}
.ap-now__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 14px}
.ap-now__item{display:flex;align-items:center;gap:8px;font-size:14px;color:#1e293b;padding:4px 0}
.ap-now__dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:#94a3b8}
.ap-now__item.is-open .ap-now__dot{background:#16a34a;animation:cl-pulse 1.8s infinite}
.ap-now__name{font-weight:700}
.ap-now__state{margin-left:auto;font-size:12.5px;color:#64748b;white-space:nowrap}
.ap-now__item.is-open .ap-now__state{color:#15803d;font-weight:700}
.ap-now__note{margin:8px 0 0;font-size:12px;color:#64748b}

.ap-routes__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.ap-route{position:relative;padding:16px 18px;border-radius:16px;background:#fff;border:1.5px solid var(--cl-line);transition:transform .15s,border-color .15s,box-shadow .15s}
.ap-route:hover{transform:translateY(-2px);border-color:var(--cl-accent);box-shadow:0 10px 24px rgba(15,23,42,.07)}
.ap-route__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ap-route__icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;background:#f1f5f9;flex-shrink:0}
.ap-route--train .ap-route__icon{background:#fee2e2}
.ap-route--metro .ap-route__icon{background:#fef3c7}
.ap-route--bus .ap-route__icon{background:#dcfce7}
.ap-route--taxi .ap-route__icon{background:#fef9c3}
.ap-route--car .ap-route__icon{background:#e0e7ff}
.ap-route__title{margin:0!important;font-size:16.5px!important;font-weight:900;color:var(--cl-ink);line-height:1.25}
.ap-route__best{margin-left:auto;padding:3px 9px;border-radius:999px;background:var(--cl-accent);color:#fff;font-size:11px;font-weight:800;white-space:nowrap}
.ap-route__meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0 0 10px}
.ap-route__meta dt{font-size:11.5px;color:var(--cl-muted)}
.ap-route__meta dd{margin:0;font-size:14px;font-weight:800;color:var(--cl-ink);line-height:1.3}
.ap-route__text{margin:0!important;font-size:14.5px!important;line-height:1.55!important;color:#334155}

.ap-terms__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.ap-term{padding:14px 16px;border-radius:14px;background:#f8fafc;border:1px solid var(--cl-line)}
.ap-term strong{display:block;font-size:15.5px;color:var(--cl-ink);margin-bottom:4px}
.ap-term p{margin:0!important;font-size:14px!important;line-height:1.5!important;color:#475569}
.ap-park__list{display:flex;flex-direction:column;gap:8px}
.ap-park__item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 16px;border-radius:14px;background:#fff;border:1px solid var(--cl-line)}
.ap-park__item strong{font-size:15px;color:var(--cl-ink)}
.ap-park__item p{margin:2px 0 0!important;font-size:13.5px!important;color:#64748b;line-height:1.45!important}
.ap-park__price{flex-shrink:0;padding:6px 11px;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-weight:800;font-size:13.5px;white-space:nowrap}

.ap-list__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.ap-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:20px;background:#fff;border:1.5px solid var(--cl-line);text-decoration:none!important;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
.ap-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--ap-c)}
.ap-card:hover{transform:translateY(-4px);border-color:var(--ap-c);box-shadow:0 16px 32px rgba(15,23,42,.1)}
.ap-card__code{align-self:flex-start;padding:4px 10px;border-radius:8px;background:var(--ap-c);color:#fff;font-weight:900;font-size:13px;letter-spacing:.08em}
.ap-card__name{font-size:20px;font-weight:900;color:var(--cl-ink)}
.ap-card__desc{font-size:14px;line-height:1.5;color:#475569}
.ap-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 0}
.ap-card__meta div{padding:8px 10px;border-radius:10px;background:#f8fafc}
.ap-card__meta dt{font-size:11.5px;color:var(--cl-muted)}
.ap-card__meta dd{margin:0;font-size:13.5px;font-weight:800;color:var(--cl-ink);line-height:1.3}
.ap-card__more{font-style:normal;font-size:13.5px;font-weight:800;color:var(--ap-c);margin-top:auto}

.ap-table-wrap{overflow-x:auto;border-radius:16px;border:1.5px solid var(--cl-line)}
.ap-table{width:100%;border-collapse:collapse;font-size:14px;min-width:620px;margin:0}
.ap-table th{background:#f8fafc;text-align:left;padding:11px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--cl-muted);border:0}
.ap-table td{padding:12px 14px;border-top:1px solid var(--cl-line);border-left:0;border-right:0;color:#1e293b;vertical-align:top}
.ap-table td a{font-weight:800;color:var(--cl-accent);text-decoration:none}
.ap-table small{color:var(--cl-muted)}

@media (max-width:600px){
    .ap-hero:before{font-size:100px}
    .ap-routes__grid,.ap-list__grid{grid-template-columns:1fr}
    .ap-now__list{grid-template-columns:1fr}
    .ap-park__item{flex-direction:column;align-items:flex-start}
}
