/* === ScandiFishing fixes overlay (2025-09) === */
:root{
  --sf-header-h: 64px;         /* Единая высота шапки */
  --sf-maxw: 1120px;
  --sf-gap: 1.25rem;
  --sf-line: #e5e7eb;
  --sf-text: #0f172a;
  --sf-muted: #475569;
}
html{scroll-behavior:smooth}
body{color:var(--sf-text)}

/* Header — фиксированная высота и единые отступы */
.modern-header, header.site-header, .premium-header {
  min-height: var(--sf-header-h) !important;
  display: flex; align-items: center; /* вертикальная центровка */
  background: #0b5394 !important;     /* как на главной, можно заменить на градиент */
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.modern-header .header-container, .header-container, .nav, .main-header { 
  width: min(var(--sf-maxw), 100% - 3rem); margin-inline:auto; 
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding: .4rem 0;
}
.main-nav, nav.menu { display:flex; flex-wrap:wrap; gap:.9rem 1.1rem; align-items:center }

/* Активный пункт меню */
.main-nav a[aria-current="page"], .main-nav a.active {
  text-decoration: underline; text-underline-offset: .22em;
}

/* Карточки и гриды — починка «враперов» */
.cards-grid, .card-grid, .regions-grid, .features-grid, .package-grid, .program-grid,
.grid, .tour-grid, .gallery-grid {
  display:grid !important;
  gap: var(--sf-gap) !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  align-items: stretch;
}
.card, .package-card, .modern-card, .feature-card, .tour-card {
  height: 100%;
  border-radius: 12px; 
  border: 1px solid var(--sf-line);
  overflow: hidden;
}
.card .card-body, .card__body, .package-card .content, .feature-card .content { padding: 1.1rem 1.1rem }

/* Таблицы цен */
table{ border-collapse: collapse; width:100% }
th, td{ border-bottom: 1px solid var(--sf-line); padding: .7rem .8rem; text-align:left }
th{ background: #f3f7fb; color: var(--sf-muted) }

/* Footer — одинаковые отступы и контейнер */
.modern-footer, footer.site-footer, .footer { border-top: 1px solid var(--sf-line); background:#0f172a0a }
.footer-container, .container.footer__grid { width:min(var(--sf-maxw), 100% - 3rem); margin-inline:auto; padding: 2rem 0 }

/* Изображения и карточки — чтобы не «прыгали» высотой */
img, video{ max-width:100%; display:block }
.card img{ aspect-ratio: 4/3; object-fit: cover }

/* Системные утилиты */
.container{ width:min(var(--sf-maxw), 100% - 3rem); margin-inline:auto }
.section{ padding: clamp(2rem, 4vw, 4rem) 0 }
.lead{ color: var(--sf-muted); max-width: 72ch }