/* Музей истории путешествий — отдельный сайт museum. (mu-plugins/muzej-site.php). Цвета — переменные metod-theme (кастомайзер «Цвета сайта»).
   Основа — mu-plugins/muzej/muzej.css основного сайта (раздел /muzej/), без меню раздела и вставки контактов. */


/* Цитаты-эпиграфы */
.mz-quote { margin: 0 0 1.25rem; padding: .75rem 1rem .75rem 1.25rem; border-left: 4px solid var(--color-ochre);
  background: var(--color-paper-alt); font-style: italic; }
.mz-quote p { margin: 0 0 .35rem; }
.mz-quote cite { display: block; text-align: right; font-size: .9rem; color: var(--color-ink-soft); }
.mz-quote cite::before { content: "— "; }

/* Фотогалереи */
.mz-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .75rem; margin: 1rem 0 1.5rem; }
.mz-photo { margin: 0; }
.mz-photo a { display: block; border-radius: 8px; overflow: hidden; background: var(--color-paper-alt); }
.mz-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; margin: 0 !important;
  max-width: none; border-radius: 0; transition: transform .2s; }
.mz-photo a:hover img { transform: scale(1.03); }
.mz-photo a:focus-visible { outline: 3px solid var(--color-ochre); outline-offset: 2px; }
.mz-photo figcaption { margin-top: .35rem; font-size: .85rem; line-height: 1.35; text-align: center; color: var(--color-ink-soft); }
.mz-gallery--people { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.mz-gallery--people .mz-photo img { aspect-ratio: 3 / 4; object-position: center top; }
.mz-gallery--people figcaption { color: var(--color-ink); }

/* Видео и карта */
.mz-video { margin: 1rem 0 1.5rem; max-width: 800px; }
.mz-video video { display: block; width: 100%; height: auto; border-radius: 8px; background: #000; }
.mz-video figcaption { margin-top: .35rem; font-size: .9rem; color: var(--color-ink-soft); }
.mz-embed { position: relative; max-width: 800px; aspect-ratio: 16 / 9; margin: 1rem 0 1.5rem; border-radius: 8px; overflow: hidden; background: #000; }
.mz-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mz-map { margin: 1rem 0; border-radius: 8px; overflow: hidden; border: 1px solid var(--color-border); }
.mz-map iframe { display: block; width: 100%; height: 400px; border: 0; }
.mz-linkcard { display: inline-flex; flex-direction: column; max-width: 420px; gap: .4rem; margin: .5rem 0 1rem; text-decoration: none; }
.mz-linkcard img { display: block; width: 100%; height: auto; border-radius: 8px; margin: 0 !important; }
.mz-linkcard span { font-weight: 600; }

/* Новости */
.mz-archive-img { display: block; width: 160px; height: auto; margin: 0 auto !important; }
.mz-news { padding: 1.25rem 0; border-top: 1px solid var(--color-border); }
.mz-news:first-of-type { border-top: 0; }
.mz-news h3 { margin-top: 0; }
.mz-news .mz-gallery { margin-bottom: 0; }

/* Списки, контакты */
.mz-names { columns: 2 260px; }
.mz-contacts-body h2 { margin-top: 0; font-size: 1.25rem; }
.mz-contacts-body p { margin: 0 0 .4rem; }
.mz-contacts-body .btn { margin-top: .5rem; }
.page-content > p:empty { display: none; }   /* wpautop вокруг <!--mz-contacts--> */
.page-content > .mz-contacts-body { margin-top: 2rem; padding: 1rem 1.25rem; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-paper-alt); }

/* Формы записи (Contact Form 7) */
.mz-form { max-width: 720px; margin: 1rem 0 2.5rem; padding: 1.25rem; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-card); }
.mz-form-note { font-size: .9rem; color: var(--color-ink-soft); }
.mz-field { margin: 0 0 1rem; }
.mz-field label { display: block; font-weight: 600; line-height: 1.35; }
.mz-field .wpcf7-form-control-wrap { display: block; margin-top: .35rem; font-weight: 400; }
.mz-form input[type="text"], .mz-form input[type="tel"], .mz-form input[type="email"], .mz-form select {
  width: 100%; max-width: 100%; box-sizing: border-box; padding: .6rem .75rem; font: inherit; font-size: 1rem;
  border: 1px solid #8a9aa8; border-radius: 6px; background: var(--color-card); color: var(--color-ink); }
.mz-form select { text-overflow: ellipsis; }
.mz-req { color: var(--color-error); }
.mz-consent { margin: 1.25rem 0 1rem; font-size: .9rem; line-height: 1.45; }
.mz-consent .wpcf7-list-item { margin: 0; }
.mz-consent label { display: flex; gap: .6rem; align-items: flex-start; cursor: pointer; }
.mz-consent input[type="checkbox"] { flex-shrink: 0; width: 1.15rem; height: 1.15rem; margin-top: .15rem; }
.mz-actions input[type="submit"] { padding: .7rem 1.5rem; border: 0; border-radius: 8px; background: var(--color-teal);
  color: var(--color-on-accent); font: inherit; font-weight: 600; cursor: pointer; }
.mz-actions input[type="submit"]:hover { background: var(--color-teal-dark); }
.mz-actions input[type="submit"]:disabled { opacity: .6; cursor: not-allowed; }
.mz-form .wpcf7-not-valid-tip { color: var(--color-error); font-size: .85rem; margin-top: .25rem; }
.wpcf7 form .wpcf7-response-output { max-width: 720px; margin: 1rem 0; border-radius: 8px; }
.page-content h2[id] { scroll-margin-top: 120px; }

/* Просмотр фото */
.mz-lightbox { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; }
.mz-lightbox::backdrop { background: rgba(0, 0, 0, .88); }
.mz-lightbox__inner { position: relative; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3.5rem 4rem 1rem; box-sizing: border-box; }
.mz-lightbox img { max-width: 100%; max-height: calc(100% - 3rem); object-fit: contain; border-radius: 4px; }
.mz-lightbox__cap { color: #fff; margin-top: .6rem; text-align: center; font-size: .95rem; min-height: 1.4em; }
.mz-lightbox button { position: absolute; border: 0; border-radius: 50%; width: 2.75rem; height: 2.75rem; background: rgba(255, 255, 255, .15);
  color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.mz-lightbox button:hover, .mz-lightbox button:focus-visible { background: rgba(255, 255, 255, .3); outline: 2px solid #fff; outline-offset: 2px; }
.mz-lightbox__close { top: .75rem; right: .75rem; }
.mz-lightbox__prev { left: .75rem; top: 50%; transform: translateY(-50%); }
.mz-lightbox__next { right: .75rem; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) {
  .mz-gallery { grid-template-columns: repeat(2, 1fr); gap: .5rem; }
  .mz-lightbox__inner { padding: 3.5rem .5rem 4rem; }
  .mz-lightbox__prev, .mz-lightbox__next { top: auto; bottom: .75rem; transform: none; }
  .mz-map iframe { height: 300px; }
}

/* --- Главная museum: вступление и «Текст под блоками» (front-page.php metod-theme) --- */
.home .section--intro .container, .home .section--after .container { max-width: 860px; }
.home .section--intro .mz-quote p { font-family: inherit; font-size: inherit; color: inherit; }   /* правило темы для 1-го абзаца вступления — не для цитат */
.home .section--intro .mz-quote:first-child { margin-top: 0; }
.home .section--intro ul { list-style: disc; padding-left: 1.4em; margin: 0 0 1em; }
.home .section--intro li { margin-bottom: .4em; }
.home .section--intro a, .home .section--after a:not(.btn) { color: var(--color-teal); text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--color-teal) 35%, transparent); text-underline-offset: 2px; overflow-wrap: anywhere; }
.home .section--intro a:hover, .home .section--after a:not(.btn):hover { text-decoration-color: currentColor; }
.home .section--intro h2, .home .section--after h2 { font-size: clamp(1.3rem, 2vw, 1.6rem); margin: 1.6em 0 .6em; }
.mz-contacts-body { margin-bottom: 1.5rem; padding: 1rem 1.25rem; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-card); }
.mz-contacts-body h2 { margin-top: 0 !important; }
.mz-contacts-body .btn, .page-content a.btn { display: inline-block; margin-top: .5rem; padding: .6rem 1.2rem; border-radius: 8px;
  background: var(--color-teal); color: var(--color-on-accent) !important; text-decoration: none !important; font-weight: 600; }
.mz-contacts-body .btn:hover, .page-content a.btn:hover { background: var(--color-teal-dark); }
