/* Токены плагина: всё, что есть в палитре темы Astra, берём из её переменных; остальное объявляем здесь (макет trip-page: moss-2, line, ink-3, teal-ink, fire). */
:root {
	--phdl-ink: var(--ast-global-color-2, #14261c);
	--phdl-ink-2: var(--ast-global-color-3, #4f5655);
	--phdl-ink-3: #7b8480;
	--phdl-paper: var(--ast-global-color-5, #fff);
	--phdl-moss: var(--ast-global-color-4, #f3f6f3);
	--phdl-moss-2: #dce6e1;
	--phdl-line: #c9d6d0;
	--phdl-teal: var(--ast-global-color-1, #00ac97);
	--phdl-teal-2: var(--ast-global-color-0, #30c7b5);
	--phdl-teal-ink: #0a6f63;
	--phdl-fire: #c8641f;
	/* Сообщения формы записи: заявка отправлена — зеленоватый, ошибка — красноватый (Зарик, 23.09). */
	--phdl-ok-bg: #e3f4ea;
	--phdl-ok-line: #a7d8bd;
	--phdl-err-bg: #fbe7e4;
	--phdl-err-line: #eab0a8;
	--phdl-err-ink: #9a2f22;
	--phdl-serif: 'Merriweather', Georgia, serif;
	--phdl-brand-tg: #27a7e7;
	--phdl-brand-vk: #0077ff;
	--phdl-brand-max: #7657ff;
	/* Отступы: s — между строками фактов, m — между частями карточки и элементами, l — между блоками страницы. */
	--phdl-space-s: .7rem;
	--phdl-space-m: 1.25rem;
	--phdl-space-l: 1.6rem;
	--phdl-space-xl: clamp(2.6rem, 6vw, 4.5rem); /* между секциями страницы похода, как в макете */
}

.phdl-card-grid {
	display: grid;
	grid-template-columns: repeat(var(--phdl-columns, 2), minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40, 1.5rem);
	margin-bottom: var(--wp--preset--spacing--60, 2.5rem);
}

.phdl-card-list { display: grid; grid-template-columns: 1fr; gap: var(--wp--preset--spacing--40, 1.5rem); margin-bottom: var(--wp--preset--spacing--60, 2.5rem); }

.phdl-card {
	display: grid;
	grid-template-columns: 35% auto;
	overflow: hidden;
}

.phdl-card--no-image,
.phdl-calendar--upcoming .phdl-card { grid-template-columns: 1fr; }
.phdl-card .phdl-button { margin-top: .5em; }
.phdl-card .wp-block-button__link { white-space: normal; }
.phdl-card .wp-block-button__link.is-disabled,
.phdl-status-actions .wp-block-button__link.is-disabled { background: var(--phdl-ink-3); border-color: var(--phdl-ink-3); color: var(--phdl-paper); cursor: default; }
.phdl-card__image img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.phdl-card__body { padding: var(--wp--preset--spacing--40, 1rem); padding-left: calc(2 * var(--wp--preset--spacing--40, 1rem)); } /* от фото — вдвое больше */
.phdl-card--no-image .phdl-card__body { padding-left: var(--wp--preset--spacing--40, 1rem); }
.phdl-card__body h3 { margin-top: 0; }
.phdl-card .phdl-dates-line { font-weight: 700; }

@media (max-width: 600px) {
	.phdl-card-grid { grid-template-columns: 1fr; }
	.phdl-card { grid-template-columns: 1fr; }
	.phdl-card__body { padding-left: var(--wp--preset--spacing--40, 1rem); padding-top: calc(2 * var(--wp--preset--spacing--40, 1rem)); }
}

/* Размеры кнопок статуса (относительно кнопки темы). */
.phdl-button--small .wp-block-button__link { font-size: .85em; padding: .55em 1.2em; }
.phdl-button--large .wp-block-button__link { font-size: 1.15em; padding: 1em 2em; }
.phdl-calendar .phdl-year { margin-top: var(--wp--preset--spacing--60, 2.25rem); }
.phdl-calendar .phdl-month { margin-top: var(--wp--preset--spacing--40, 1rem); }

/* FAQ страницы похода: тонкие разделители и знак состояния справа. */
.phdl-narrow details.wp-block-details {
	border-top: 1px solid var(--phdl-line);
	width: 100%;
	max-width: none;
}
.phdl-narrow details.wp-block-details:last-of-type { border-bottom: 1px solid var(--phdl-line); }
.phdl-narrow details.wp-block-details > summary {
	list-style: none;
	cursor: pointer;
	font-family: var(--phdl-serif);
	font-weight: 700;
	color: var(--phdl-ink);
	padding: .9rem 2rem .9rem 0;
	position: relative;
}
.phdl-narrow details.wp-block-details > summary::-webkit-details-marker { display: none; }
.phdl-narrow details.wp-block-details > summary::after {
	content: '+';
	position: absolute;
	right: .2rem;
	top: .75rem;
	font: 400 1.4rem/1 Arial, sans-serif;
	color: var(--phdl-teal-ink);
}
.phdl-narrow details.wp-block-details[open] > summary::after { content: '−'; }
.phdl-narrow details.wp-block-details > :not(summary) { padding-bottom: 1rem; color: var(--phdl-ink-2); }

/* Сложность: звёзды цветом акцента, подпись чуть мельче. */
.phdl-difficulty { font-size: .9em; }
.phdl-difficulty .phdl-stars { color: var(--ast-global-color-0, #f0ad4e); letter-spacing: .1em; }

/* «Остались вопросы?» — по центру, со значком, как прежний инфобокс. */
.phdl-contacts { text-align: center; margin-top: var(--wp--preset--spacing--60, 2.25rem); background: var(--phdl-moss); border-radius: 4px; }
.wp-block-phdl-faq-contacts .phdl-contacts { margin-top: 0; }
.phdl-contacts::before { content: '?'; display: inline-block; width: 2em; height: 2em; line-height: 2em; border-radius: 50%; background: var(--ast-global-color-0, var(--phdl-teal-2)); color: var(--phdl-paper); font-weight: 700; margin-bottom: .5em; }

/* Группы плагина сами задают геометрию: убираем добавленные Astra поля. */
.wp-block-group[class*="phdl-"] { padding: 0 !important; }
/* Исключение из обнуления выше: «Остались вопросы?» — подложка с полями, как у записи. */
.entry-content .wp-block-group.phdl-contacts, .wp-block-group.phdl-contacts { padding: clamp(1.2rem, 3vw, 2.2rem) !important; }

.phdl-narrow { width: 100%; max-width: 100%; }
.phdl-narrow > .wp-block-table,
.phdl-narrow > .wp-block-columns,
.phdl-narrow .phdl-trip-card__columns,
.phdl-narrow details.wp-block-details { width: 100%; max-width: none; }
@media (min-width: 1024px) {
	.phdl-narrow { max-width: 75%; }
}

.wp-block-group.phdl-not-agency {
	position: relative;
	margin-top: 1.4rem;
	padding: 1rem 1.2rem 1rem 3.4rem !important;
	background: var(--phdl-moss);
	border-left: 4px solid var(--ast-global-color-0, var(--phdl-teal-2));
	border-radius: 4px;
}
.phdl-not-agency::before {
	content: '⚑';
	position: absolute;
	left: 1rem;
	top: .85rem;
	font-size: 1.6rem;
	line-height: 1;
	color: var(--ast-global-color-0, #177b70);
}
.phdl-not-agency p { margin: 0; }

.phdl-status-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.phdl-status-actions .phdl-button { margin: 0; }
.phdl-tickets-note,
.phdl-if-tickets-note { background: var(--phdl-moss-2); color: var(--phdl-ink-2); padding: .75rem 1rem; }

.phdl-channels { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.phdl-ch { display: inline-flex; align-items: center; gap: .55em; padding: .7em 1.15em; border-radius: .35em; color: var(--phdl-paper); font-weight: 700; text-decoration: none; }
.phdl-ch:hover,
.phdl-ch:focus { color: var(--phdl-paper); filter: brightness(.94); }
.phdl-ch svg { width: 1.35em; height: 1.35em; flex: 0 0 auto; }
.phdl-ch--tg { background: var(--phdl-brand-tg); }
.phdl-ch--vk { background: var(--phdl-brand-vk); }
.phdl-ch--max { background: var(--phdl-brand-max); }
.wp-block-button.phdl-ch { padding: 0; background: transparent; }
.wp-block-button.phdl-ch .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: .55em;
	border-radius: .35em;
	color: var(--phdl-paper);
	font-weight: 700;
}
.wp-block-button.phdl-ch .wp-block-button__link::before {
	content: '';
	display: block;
	width: 1.35em;
	height: 1.35em;
	background: currentColor;
	-webkit-mask: var(--phdl-channel-icon) center / contain no-repeat;
	mask: var(--phdl-channel-icon) center / contain no-repeat;
}
.wp-block-button.phdl-ch--tg .wp-block-button__link { background: var(--phdl-brand-tg); }
.wp-block-button.phdl-ch--tg { --phdl-channel-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.5 3.6 2.9 10.8c-1 .4-1 1 .1 1.3l4.7 1.5 1.8 5.6c.2.6.4.8.9.8.4 0 .6-.2.9-.5l2.3-2.2 4.8 3.5c.9.5 1.5.2 1.7-.8l3.2-15c.3-1.3-.5-1.9-1.8-1.4zM8.6 13.3l9.9-6.2c.5-.3.9-.1.6.2l-8.2 7.4-.3 3.4-2-4.8z'/%3E%3C/svg%3E"); }
.wp-block-button.phdl-ch--vk .wp-block-button__link { background: var(--phdl-brand-vk); }
.wp-block-button.phdl-ch--vk { --phdl-channel-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.8 18.6C6 18.6 2.1 13.9 2 6.2h3.4c.1 5.7 2.6 8.1 4.6 8.6V6.2h3.2v4.9c2-.2 4.1-2.4 4.8-4.9h3.2c-.5 3-2.8 5.3-4.4 6.2 1.6.8 4.2 2.8 5.2 6.2h-3.5c-.8-2.6-2.8-4.6-5.3-4.9v4.9h-.4z'/%3E%3C/svg%3E"); }
.wp-block-button.phdl-ch--max .wp-block-button__link { background: var(--phdl-brand-max); }
.wp-block-button.phdl-ch--max { --phdl-channel-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm5 14h-2.2v-5.6l-2.8 3.9-2.8-3.9V16H7V8h2.1l2.9 4.1L14.9 8H17v8z'/%3E%3C/svg%3E"); }
.phdl-same-route { margin-top: 2rem; }

/* факты «Кто ведёт и с кем едем»: подпись мелко, значение крупнее */
.wp-block-phdl-trip-card .wp-block-column h4,
.wp-block-phdl-trip-card .phdl-if-leader h4 { margin: 0 0 .15em; font-family: inherit; font-size: .85rem; font-weight: 400; color: var(--phdl-ink-2); }
.wp-block-phdl-trip-card .wp-block-column p,
.wp-block-phdl-trip-card .phdl-if-leader p { margin: 0; font-size: 1.05rem; }
.wp-block-phdl-trip-card .phdl-trip-card__columns + .phdl-trip-card__columns { margin-top: 1rem; }

/* цитаты «Как это было» в колонках: без отступов Astra, полоса слева как в макете */
.wp-block-columns .wp-block-quote { margin: 0; padding: 0 0 0 1rem; border-left: 3px solid var(--ast-global-color-0, var(--phdl-teal-2)); font-size: 1rem; }
.wp-block-columns .wp-block-quote p { font-style: italic; margin-bottom: .5rem; }
.wp-block-columns .wp-block-quote cite { font-size: .85rem; font-style: normal; color: var(--phdl-ink-2); }

/* Вертикальный ритм на странице похода: Astra не ставит зазор между блоками, поэтому наши обёртки и группы получают нижний отступ сами. */
.single-phdl_trip .entry-content > .wp-block-phdl-dates-status,
.single-phdl_trip .entry-content > .phdl-route,
.single-phdl_trip .entry-content > .wp-block-columns,
.single-phdl_trip .entry-content > .wp-block-group,
.single-phdl_trip .entry-content > .wp-block-phdl-trip-card,
.single-phdl_trip .entry-content > .wp-block-phdl-reviews,
.single-phdl_trip .entry-content > .wp-block-phdl-pricing,
.single-phdl_trip .entry-content > .wp-block-phdl-signup,
.single-phdl_trip .entry-content > .phdl-calendar,
.single-phdl_trip .entry-content > .wp-block-gallery { margin-bottom: var(--phdl-space-xl); }
.single-phdl_trip .entry-content > h2 { margin-top: 0; margin-bottom: 1rem; }
/* Вставленное видео и другие врезки не шире колонки, на телефоне тоже. */
.single-phdl_trip .entry-content iframe,
.single-phdl_trip .entry-content video { max-width: 100%; }
/* Своя группа блоков в тексте (например «Тема слёта»): внутри заголовок, врезка и пояснение не слипаются. */
.single-phdl_trip .entry-content > .wp-block-group > .wp-block-group__inner-container > * + *,
.single-phdl_trip .entry-content > .wp-block-group > * + * { margin-top: var(--phdl-space-m); }
.wp-block-phdl-pricing > * + .wp-block-columns,
.wp-block-phdl-pricing > * + .wp-block-group { margin-top: var(--phdl-space-l); }

/* Страница похода без сайдбара (макет): убираем пустую шапку записи темы и её верхний отступ; заголовок рисует блок шапки. */
.single-phdl_trip .entry-header { display: none; }
.single-phdl_trip.ast-separate-container .ast-article-single { padding: 2.2em 3rem 3rem; } /* контент 1104 px в коробке 1200, как в макете (74rem минус поля 40 px) */
@media (max-width: 782px) {
	.single-phdl_trip.ast-separate-container .ast-article-single { padding: 1.5em 1rem 2rem; }
	.single-phdl_trip #primary { padding-top: 1.2em !important; }
}

/* Фото с подписью поверх снимка (шапка похода и галерея «Как это было»): один класс-обёртка phdl-photo для всех. */
.phdl-hero .wp-block-image, .phdl-photo { margin: var(--phdl-space-m) 0 0; position: relative; min-height: 22rem; border-radius: 4px; overflow: hidden; background: var(--phdl-moss); }
.phdl-hero .wp-block-image img, .phdl-photo img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.phdl-hero .wp-block-image > a, .phdl-photo > a { display: block; position: absolute; inset: 0; }
.phdl-hero .wp-block-image figcaption, .phdl-photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 1rem 1.2rem; background: linear-gradient(transparent, rgba(10, 20, 16, .72)); color: var(--phdl-paper); font-size: .85rem; text-align: left; }
/* Подписи в обычной галерее WP — слева, как в шапке (ядро ставит по центру). */
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption,
.wp-block-gallery .blocks-gallery-caption,
.wp-block-gallery + figcaption { text-align: left; }
@media (max-width: 782px) {
	/* На телефоне ширина от колонки, высота от пропорции; min-height вместе с aspect-ratio растягивал картинку шире колонки. */
	.phdl-hero .wp-block-image, .phdl-photo { min-height: 0; width: 100%; max-width: 100%; aspect-ratio: 3 / 2; }
}

/* «Как проходит день» — таймлайн (макет trip-page 2.6): список с классом phdl-day, время в <strong> в начале пункта. */
.entry-content ul.phdl-day { list-style: none; margin: var(--phdl-space-m) 0 0; padding: 0; border-left: 3px solid var(--phdl-moss-2); }
.entry-content ul.phdl-day li { display: grid; grid-template-columns: 4.5rem 1fr; gap: .6rem 1rem; padding: .55rem 0 .55rem 1.2rem; margin: 0; position: relative; color: var(--phdl-ink-2); }
.entry-content ul.phdl-day li::before { content: ""; position: absolute; left: -8px; top: .85rem; width: 13px; height: 13px; border-radius: 50%; background: var(--phdl-paper); border: 3px solid var(--phdl-teal-2); box-sizing: border-box; }
.entry-content ul.phdl-day li strong { font-family: var(--phdl-serif); font-weight: 700; color: var(--phdl-ink); font-variant-numeric: tabular-nums; }

/* Ненумерованные списки в тексте страницы похода — как в макете: без маркера темы, бирюзовая точка .55em. Таймлайн дня — своё оформление. */
.single-phdl_trip .entry-content ul.wp-block-list:not(.phdl-day) { list-style: none; padding: 0; margin: var(--phdl-space-m) 0 0; display: grid; gap: .5rem; }
.single-phdl_trip .entry-content ul.wp-block-list:not(.phdl-day) > li { padding-left: 1.3rem; position: relative; margin: 0; }
.single-phdl_trip .entry-content ul.wp-block-list:not(.phdl-day) > li::before { content: ""; position: absolute; left: 0; top: .62em; width: .55em; height: .55em; border-radius: 50%; background: var(--phdl-teal-2); }

/* Изюминки под «Зачем ехать»: на той же подложке, что карточка в шапке и запись — «главное коротко» (Зарик, 18.09). */
.single-phdl_trip .entry-content ul.wp-block-list.phdl-why { background: var(--phdl-moss); border-radius: 4px; padding: 1.1rem clamp(1.1rem, 2.5vw, 1.4rem); margin: var(--phdl-space-s) 0 var(--phdl-space-m); gap: .55rem; }
.single-phdl_trip .entry-content ul.wp-block-list.phdl-why > li { padding-left: 1.3rem; }
.single-phdl_trip .entry-content ul.wp-block-list.phdl-why + p { margin-top: 0; }

/* Вводный текст под заголовком секции (нитка маршрута) и строка ссылок под FAQ — как в макете. */
.single-phdl_trip .entry-content > h2 + .phdl-lead, .phdl-lead { color: var(--phdl-ink-2); margin: 0 0 var(--phdl-space-m); }
.phdl-more { margin-top: var(--phdl-space-m); font-size: .95rem; }
.phdl-more a { margin-right: 1.2rem; white-space: nowrap; text-decoration: underline; text-decoration-color: var(--phdl-teal-2); text-underline-offset: .2em; }
@media (max-width: 600px) {
	.phdl-more a { white-space: normal; }
}

/* Архив года: переходы к соседним годам. */
.phdl-year-nav { display: flex; justify-content: space-between; gap: var(--phdl-space-s, 1rem); margin: var(--phdl-space-s, 1rem) 0; }
.phdl-year-nav a { font-weight: 600; text-decoration: none; }
.phdl-year-nav a:hover { text-decoration: underline; }
