/* Страница подборки. Цвета и шрифты — только через --q-* (задаются в
   static/brand/<бренд>.css). Собственных брендовых значений здесь нет. */
html { font-size: 16px; }
body { background: var(--q-bg); color: var(--q-ink); font-family: var(--q-font-body); }
.q-wrap { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.q-muted { color: var(--q-muted); }
.q-small { font-size: 0.85rem; }
.q-label { font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--q-muted); margin-bottom: 4px; }
.q-kicker { font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--q-accent-on-dark); margin-bottom: 10px; }
.q-h1 { font-family: var(--q-font-display); font-weight: 400; line-height: 1.15; font-size: clamp(1.7rem, 4vw, 2.6rem); color: var(--q-on-dark); }
.q-h2 { font-family: var(--q-font-display); font-weight: 400; line-height: 1.25; font-size: clamp(1.2rem, 2.4vw, 1.5rem); }
.brand-mgpdv .q-h1, .brand-mgpdv .q-h2 { font-weight: 700; }

/* Шапка и подвал — тёмные, бренд на них */
.q-top { background: var(--q-dark); color: var(--q-on-dark); }
.q-top__row { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; }
.q-logo img { height: 34px; width: auto; }
.q-logo__light { display: none; }
.q-top__contacts { display: flex; gap: 18px; flex-wrap: wrap; font-size: 0.9rem; color: var(--q-on-dark-muted); }
.q-top__contacts a:hover { color: var(--q-on-dark); }

.q-hero { background: var(--q-dark); color: var(--q-on-dark); padding: 28px 0 40px; border-top: 1px solid rgba(255,255,255,0.08); }
.q-hero__row { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; }
.q-hero__meta { margin-top: 10px; color: var(--q-on-dark-muted); font-size: 0.95rem; }
.q-hero__meta a, .q-hero__meta button { color: var(--q-on-dark); }
.q-hero__qr { text-align: center; flex: 0 0 auto; }
.q-qr { width: 96px; height: 96px; background: #fff; color: #000; padding: 6px; border-radius: 8px; margin: 0 auto; }
.q-qr svg { width: 100%; height: 100%; display: block; }
.q-qr__text { font-size: 0.7rem; color: var(--q-on-dark-muted); margin-top: 6px; }

.q-main { padding: 28px 0 48px; }
.q-main > * + * { margin-top: 20px; }

/* Менеджер */
.q-manager { display: flex; gap: 20px; align-items: flex-start; background: var(--q-surface); border: 1px solid var(--q-line); border-radius: var(--q-radius); padding: 20px; box-shadow: var(--q-shadow); }
.q-manager__photo { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.q-manager__name { font-family: var(--q-font-display); font-size: 1.3rem; }
.q-manager__contacts { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 4px; }
.q-manager__contacts a { color: var(--q-accent-ink); }
.q-manager__caption { margin-top: 8px; color: var(--q-muted); }
.q-manager__msg { margin-top: 12px; display: flex; gap: 10px; flex-wrap: wrap; }

/* Карточки */
.q-card { background: var(--q-surface); border: 1px solid var(--q-line); border-radius: var(--q-radius); box-shadow: var(--q-shadow); overflow: hidden; }
.q-hotel { display: grid; grid-template-columns: 300px 1fr; }
.q-hotel__media { background: var(--q-line); min-height: 220px; align-self: stretch; }
.q-hotel__media img { width: 100%; height: 100%; max-height: 460px; object-fit: cover; position: sticky; top: 0; }
.q-hotel__body { padding: 20px 22px 22px; min-width: 0; }
.q-hotel__meta { display: flex; gap: 14px; flex-wrap: wrap; color: var(--q-muted); font-size: 0.9rem; margin-top: 4px; }
.q-stars { color: var(--q-accent); font-size: 0.85em; letter-spacing: 1px; white-space: nowrap; }
.q-ta { display: inline-flex; align-items: center; gap: 6px; color: var(--q-ink); }
.q-ta__dot { width: 10px; height: 10px; border-radius: 50%; background: #00aa6c; display: inline-block; }
.q-desc { margin-top: 12px; color: var(--q-ink); font-size: 0.95rem; }
details.q-desc summary { cursor: pointer; list-style: none; }
details.q-desc summary::-webkit-details-marker { display: none; }
details.q-desc[open] summary { display: none; }
.q-desc__more { color: var(--q-accent-ink); white-space: nowrap; }

.q-variant { border-top: 1px solid var(--q-line); margin-top: 16px; padding-top: 16px; }
.q-variant__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 14px 18px; align-items: start; }
.q-cell__main { font-weight: 600; }
.q-cell__sub { color: var(--q-muted); font-size: 0.88rem; margin-top: 2px; }
.q-seg__dir { color: var(--q-accent-ink); }
.q-variant__flight { margin-top: 10px; font-size: 0.9rem; display: grid; gap: 4px; }
.q-variant__flight b { font-weight: 600; }
.q-price { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; min-width: 150px; }
.q-price__amount { font-family: var(--q-font-display); font-size: 1.45rem; white-space: nowrap; }
.q-price__promo { font-size: 0.8rem; color: var(--q-accent-ink); background: var(--q-accent-tint); padding: 2px 8px; border-radius: 999px; }

.q-comment { display: flex; gap: 14px; margin-top: 14px; background: var(--q-bg); border-radius: calc(var(--q-radius) - 4px); padding: 14px 16px; }
.q-comment__photo { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.q-comment__text { font-size: 0.95rem; overflow-wrap: anywhere; }
.q-comment__text a { color: var(--q-accent-ink); text-decoration: underline; }

/* Перелёты */
.q-flight { padding: 20px 22px 22px; }
.q-sector { border-top: 1px solid var(--q-line); margin-top: 14px; padding-top: 12px; }
.q-sector__title { font-weight: 600; margin-bottom: 8px; }
.q-leg { display: grid; grid-template-columns: 110px 1fr auto 1fr; gap: 6px 14px; align-items: center; padding: 6px 0; }
.q-leg__date { display: flex; align-items: center; gap: 8px; color: var(--q-muted); font-size: 0.9rem; }
.q-leg__date img { width: 22px; height: 22px; object-fit: contain; }
.q-leg__arrow { color: var(--q-accent-ink); }
.q-leg__info { grid-column: 2 / -1; color: var(--q-muted); font-size: 0.85rem; }
.q-transfer { margin: 4px 0 4px 124px; padding: 4px 10px; display: inline-block; border-radius: 999px; background: var(--q-accent-tint); color: var(--q-accent-ink); font-size: 0.82rem; }
.q-flight__foot { border-top: 1px solid var(--q-line); margin-top: 14px; padding-top: 14px; }
.q-flight__foot .q-price { align-items: flex-end; }

.q-note { color: var(--q-muted); font-size: 0.85rem; }
.q-staff { font-size: 0.85rem; color: var(--q-muted); }
.q-staff a { text-decoration: underline; }

/* Кнопки */
.q-btn { display: inline-block; padding: 10px 20px; border-radius: 999px; font: 600 0.9rem var(--q-font-body); border: 1px solid transparent; cursor: pointer; transition: all .2s; text-align: center; }
.q-btn--primary { background: var(--q-btn-primary-bg); color: var(--q-btn-primary-ink); }
.q-btn--primary:hover { background: var(--q-btn-primary-hover); }
.q-btn--ghost { border-color: var(--q-accent-ink); color: var(--q-accent-ink); background: transparent; }
.q-btn--ghost:hover { background: var(--q-accent); border-color: var(--q-accent); color: var(--q-btn-primary-ink); }
.q-foot .q-btn--ghost { border-color: var(--q-accent-on-dark); color: var(--q-accent-on-dark); }
.q-foot .q-btn--ghost:hover { background: var(--q-accent-on-dark); border-color: var(--q-accent-on-dark); }
.q-foot .q-btn--ghost:hover { color: var(--q-dark); }

/* Подвал */
.q-foot { background: var(--q-dark); color: var(--q-on-dark-muted); padding: 32px 0; font-size: 0.92rem; }
.q-foot__grid { display: grid; grid-template-columns: 1fr 1fr auto; gap: 24px; align-items: start; }
.q-foot__name { color: var(--q-on-dark); font-family: var(--q-font-display); font-size: 1.1rem; margin-bottom: 6px; }
.q-foot a:hover { color: var(--q-on-dark); }
.q-foot__msg { display: flex; gap: 10px; flex-wrap: wrap; }

/* Кабинет сотрудника */
.q-panel { background: var(--q-surface); border: 1px solid var(--q-line); border-radius: var(--q-radius); padding: 22px; box-shadow: var(--q-shadow); }
.q-panel > * + * { margin-top: 14px; }
.q-field input { width: 100%; padding: 11px 14px; border: 1px solid var(--q-line); border-radius: 10px; font: inherit; background: var(--q-surface); }
.q-radios { display: flex; gap: 18px; flex-wrap: wrap; }
.q-radio { display: flex; gap: 8px; align-items: center; cursor: pointer; }
.q-alert { border-radius: 12px; padding: 14px 16px; }
.q-alert--ok { background: #e7f5ec; color: #14532d; }
.q-alert--err { background: var(--q-accent-tint); color: var(--q-accent-ink); }
.q-alert > * + * { margin-top: 6px; }
.q-table { width: 100%; border-collapse: collapse; background: var(--q-surface); border: 1px solid var(--q-line); border-radius: var(--q-radius); overflow: hidden; font-size: 0.92rem; }
.q-table th, .q-table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--q-line); vertical-align: top; }
.q-table th { font-weight: 600; color: var(--q-muted); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; }
.q-table a { color: var(--q-accent-ink); }
.q-inline { display: inline; }
.q-inline select { font: inherit; padding: 4px 6px; border: 1px solid var(--q-line); border-radius: 6px; }
.q-inline button { font: inherit; background: none; border: 0; color: var(--q-accent-ink); cursor: pointer; text-decoration: underline; padding: 0; }

@media (max-width: 820px) {
  .q-top__row { min-height: 64px; }
  .q-logo img { height: 28px; }
  .q-top__contacts { display: none; }
  .q-hero__row { flex-direction: column; align-items: flex-start; }
  .q-hero__qr { display: none; }
  .q-hotel { grid-template-columns: 1fr; }
  .q-hotel__media { min-height: 200px; max-height: 240px; }
  .q-variant__grid { grid-template-columns: 1fr 1fr; }
  .q-cell--wide { grid-column: 1 / -1; }
  .q-price { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
  .q-leg { grid-template-columns: 1fr auto 1fr; }
  .q-leg__date { grid-column: 1 / -1; }
  .q-transfer { margin-left: 0; }
  .q-foot__grid { grid-template-columns: 1fr; }
  .q-manager { flex-direction: column; }
  .q-table { display: block; overflow-x: auto; }
}

@media print {
  html { font-size: 12px; }
  body { background: #fff; }
  .q-top, .q-hero, .q-foot { background: #fff !important; color: #000 !important; -webkit-print-color-adjust: exact; }
  .q-h1, .q-foot__name { color: #000; }
  .q-hero__meta, .q-qr__text, .q-foot { color: #444; }
  .q-logo__dark { display: none; } .q-logo__light { display: block; }
  .q-hero__qr { display: block; }
  .q-noprint { display: none !important; }
  .q-card, .q-manager, .q-panel { box-shadow: none; break-inside: avoid; }
  .q-hotel { grid-template-columns: 200px 1fr; }
  details.q-desc summary { display: none; } details.q-desc p { display: block; }
  a[href]::after { content: none; }
}
