/*
Theme Name: ERABUS
Description: Локальна тема ERABUS на основі погоджуваного дизайну сайту.
Version: 0.10.0
Requires at least: 6.3
Requires PHP: 8.0
Text Domain: erabus
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

.main-nav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.brand a { display: inline-block; }
.brand img { height: auto; }
main [id] { scroll-margin-top: 100px; }
.admin-bar .site-header { top: 32px; }
.page-content { min-height: 60vh; }
.page-content .entry-content { max-width: 840px; }
.entry-content a:not(.btn) { color: var(--blue-strong); text-decoration: underline; }
.entry-content ul, .entry-content ol { padding-inline-start: 1.5em; }
.entry-content img { height: auto; }
.entry-content > * + * { margin-top: 1.5rem; }
.page-content .post-navigation { margin-top: 32px; }
.posts-list { display: grid; gap: 32px; }
.post-summary { padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.post-summary h2 { font-size: clamp(28px, 4vw, 42px); }
.post-meta { color: var(--muted); font-size: 14px; }
.toast { visibility: hidden; opacity: 0; pointer-events: none; }
.toast.is-visible { visibility: visible; opacity: 1; }

.main-nav .current-menu-item > a { color: var(--blue-strong); background: #eaf2ff; }
.ticket-hero { padding: 34px 0 30px; background: linear-gradient(135deg, #f0f6ff, #fff 70%); border-bottom: 1px solid var(--line); }
.ticket-container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.ticket-hero__intro { margin-bottom: 24px; }
.ticket-hero__intro .eyebrow { margin-bottom: 10px; }
.ticket-hero h1 { max-width: 900px; margin-bottom: 12px; font-size: clamp(34px, 4vw, 48px); line-height: 1.08; }
.ticket-hero__lead { max-width: 800px; margin-bottom: 0; color: var(--muted); font-size: 18px; }
.ticket-card { overflow: hidden; border: 1px solid var(--line); border-top: 4px solid var(--yellow); border-radius: 12px; background: #fff; box-shadow: 0 16px 48px rgba(18, 39, 74, .1); }
.ticket-card__header { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 22px 26px 10px; }
.ticket-card__header h2 { margin: 0; font-size: 25px; line-height: 1.2; }
.ticket-provider { color: var(--muted); font-size: 13px; white-space: nowrap; }
.ticket-widget { padding: 0 16px; }
.ticket-widget__frame { display: block; width: 100%; height: 300px; border: 0; background: #fff; }
.ticket-card__support { padding: 14px 26px; border-top: 1px solid var(--line); background: var(--soft); color: var(--muted); font-size: 14px; }
.ticket-card__support a { margin-left: 8px; color: var(--blue-strong); font-weight: 800; white-space: nowrap; }
.ticket-steps { display: flex; gap: 32px; margin-top: 22px; color: #45516a; font-size: 14px; }
.ticket-steps b { margin-right: 8px; color: var(--blue); }
.service-links { padding-top: 48px; padding-bottom: 48px; }
.service-links__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.service-link { display: grid; gap: 10px; padding: 26px; border: 1px solid var(--line); border-radius: 10px; transition: border-color .2s, transform .2s; }
.service-link:hover { border-color: var(--blue); transform: translateY(-2px); }
.service-link__number { color: var(--blue); font-size: 13px; font-weight: 800; }
.service-link h2 { margin: 0; font-size: 25px; }
.service-link p { margin: 0; color: var(--muted); font-size: 15px; }
.service-link__arrow { color: var(--blue-strong); font-weight: 800; }
.page-intro { padding-top: 42px; padding-bottom: 32px; }
.page-intro h1 { margin-bottom: 14px; font-size: clamp(36px, 4.5vw, 54px); }
.page-intro > p:last-child { max-width: 760px; margin-bottom: 0; color: var(--muted); font-size: 18px; }
.erabus-page-content .routes-section { padding-top: 44px; }
.erabus-page-content .section__head h1 { font-size: clamp(36px, 4.5vw, 54px); }
.erabus-page-content .contacts-section { padding-top: 12px; }
.erabus-page-content .feature-band { padding-top: 36px; padding-bottom: 44px; }

@media (max-width: 782px) {
  .ticket-card__header { align-items: flex-start; flex-direction: column; gap: 6px; padding: 18px 18px 8px; }
  .ticket-widget { padding: 0 8px; }
  .ticket-card__support { padding: 14px 18px; }
  .ticket-steps { flex-wrap: wrap; gap: 10px 22px; }
  .service-links__grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .ticket-container { width: calc(100% - 24px); }
  .ticket-hero { padding-top: 24px; }
  .ticket-hero h1 { font-size: 34px; }
  .ticket-hero__lead { font-size: 16px; }
  .ticket-card__header h2 { font-size: 22px; }
  .ticket-card__support a { display: inline-block; margin-left: 0; }
  .ticket-card__support span { display: block; }
  .service-links { padding-top: 32px; padding-bottom: 32px; }
  .service-link { padding: 22px; }
}

@media (max-width: 980px) {
  .main-nav.is-open .main-nav__list { display: grid; justify-content: stretch; }
  .main-nav.is-open .main-nav__list a { width: 100%; }
}

@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}

@media (max-width: 640px) {
  .cookie-banner { display: none; }
  .cookie-banner.is-visible { display: grid; }
}

@media (max-width: 600px) {
  .admin-bar .site-header { top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; }
}
