/* Раздел «Зимний отдых» (mos77.ru) */
.zm-page{--zm-c:#0ea5e9}
.zm-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.zm-tab{display:inline-flex;align-items:center;padding:10px 18px;border-radius:14px;background:#f1f5f9;color:#334155;font-size:14px;font-weight:700;text-decoration:none;transition:background-color .15s,color .15s,transform .15s}
.zm-tab:hover{background:#e2e8f0;transform:translateY(-1px)}
.zm-tab.is-active{background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;box-shadow:0 4px 12px rgba(2,132,199,.25)}

.zm-hub-title{font-size:32px!important;font-weight:900!important;line-height:1.2!important;margin:8px 0 14px!important;color:#0f172a}

.zm-categories-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:16px}
.zm-cat-card{padding:20px;border-radius:18px;background:#fff;border:1.5px solid #e2e8f0;transition:border-color .15s,box-shadow .15s,transform .15s}
.zm-cat-card:hover{border-color:var(--zm-c);transform:translateY(-2px);box-shadow:0 10px 24px rgba(2,132,199,.1)}
.zm-cat-card__icon{font-size:36px;margin-bottom:12px}
.zm-cat-card__title{margin:0 0 8px!important;font-size:19px!important;font-weight:900}
.zm-cat-card__title a{color:#0f172a;text-decoration:none}
.zm-cat-card__title a:hover{color:var(--zm-c)}
.zm-cat-card__desc{font-size:14px;color:#64748b;line-height:1.5;margin:0 0 14px!important}
.zm-cat-card__count{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:var(--zm-c)}
.zm-cat-card__link{color:var(--zm-c);text-decoration:none}
.zm-cat-card__link:hover{text-decoration:underline}

/* Карточки объектов */
.zm-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:16px}
.zm-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}
.zm-card:hover{transform:translateY(-2px);border-color:var(--zm-c,#0ea5e9);box-shadow:0 12px 28px rgba(14,165,233,.12)}
.zm-card__top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.zm-card__badge{padding:4px 10px;border-radius:999px;background:#f0f9ff;color:#0284c7;font-size:12px;font-weight:800}
.zm-card__metro{font-size:13px;font-weight:700;color:#64748b}
.zm-card__title{margin:0 0 8px!important;font-size:18px!important;font-weight:900}
.zm-card__title a{color:#0f172a;text-decoration:none}
.zm-card__title a:hover{color:var(--zm-c,#0ea5e9)}
.zm-card__desc{font-size:14px;color:#475569;line-height:1.5;margin:0 0 14px!important}
.zm-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0 0 16px;padding:12px;border-radius:12px;background:#f8fafc}
.zm-card__meta dt{font-size:11.5px;color:#64748b;font-weight:600}
.zm-card__meta dd{margin:0;font-size:13.5px;font-weight:800;color:#1e293b}
.zm-meta-wide{grid-column:1 / -1}
.zm-card__btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:12px;background:#0ea5e9;color:#fff;font-size:13.5px;font-weight:800;text-decoration:none;transition:background-color .15s}
.zm-card__btn:hover{background:#0284c7;color:#fff}

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

/* Цены */
.zm-prices__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:12px}
.zm-price-card{padding:16px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}
.zm-price-card__title{display:block;font-size:13px;font-weight:700;color:#64748b;margin-bottom:4px}
.zm-price-card__val{display:block;font-size:22px;font-weight:900;color:#0284c7;margin-bottom:4px}
.zm-price-card__note{font-size:12px;color:#64748b;margin:0!important}

/* Сеансы */
.zm-schedule-box{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;padding:16px 20px;display:flex;flex-direction:column;gap:12px;margin-top:12px}
.zm-schedule-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}
.zm-schedule-row:last-child{border-bottom:none;padding-bottom:0}
.zm-schedule-day{font-weight:800;color:#0f172a;min-width:140px}
.zm-schedule-time{font-size:15px;color:#0284c7}
.zm-schedule-break{color:#f59e0b;font-weight:700;background:#fffbeb;padding:2px 8px;border-radius:6px}

/* Сервисы */
.zm-services__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:12px}
.zm-service-card{padding:16px;border-radius:14px;background:#fff;border:1.5px solid #e2e8f0}
.zm-service-card__icon{font-size:24px;display:block;margin-bottom:8px}
.zm-service-card h3{margin:0 0 6px!important;font-size:16px!important;font-weight:800}
.zm-service-card p{margin:0!important;font-size:13.5px;color:#475569;line-height:1.5}

/* Маршруты */
.zm-routes__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:12px}
.zm-route{padding:16px;border-radius:14px;background:#fff;border:1.5px solid #e2e8f0}
.zm-route__head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.zm-route__icon{font-size:20px}
.zm-route h3{margin:0!important;font-size:16px!important;font-weight:800}
.zm-route p{margin:0!important;font-size:13.5px;color:#475569;line-height:1.5}
