/*--------------------------------------------------------------
# Home page — mobile adaptive (Figma 390 wide)
# Targets all home sections at <= 767px.
--------------------------------------------------------------*/

/* Hide "Усі новини" link by default — only show on mobile (below) */
.hvv-blog-preview__all { display: none; }


@media screen and (max-width: 767px) {

	/* ===== Generic helpers ===== */
	.site-main { overflow-x: hidden; }

	/* ===== Hero slider ===== */
	.hvv-hero-slider-block { padding: 20px 20px 24px; margin-bottom: 0 !important; }
	.hvv-hero-swiper { padding-bottom: 36px !important; }
	.hvv-hero-slide-inner {
		flex-direction: column-reverse !important;
		padding: 0 !important;
		gap: 16px !important;
		text-align: left !important;
		align-items: stretch !important;
	}
	.hvv-hero-btn { display: none !important; }
	/* Hide hero swiper nav arrows on mobile */
	.hvv-hero-swiper .swiper-button-prev,
	.hvv-hero-swiper .swiper-button-next { display: none !important; }
	.hvv-hero-image {
		width: 100%;
		max-width: 350px;
		aspect-ratio: 350 / 186;
		border-radius: 6px;
		overflow: hidden;
		margin: 0 auto;
		flex: none;
	}
	.hvv-hero-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
	.hvv-hero-content {
		max-width: 350px;
		width: 100%;
		margin: 0 auto;
		padding: 0;
		gap: 8px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.hvv-hero-title {
		font-size: 13px !important;
		letter-spacing: 0.52px;
		color: #393737;
		text-align: left;
		text-transform: uppercase;
		font-weight: 700;
		line-height: 1.25;
	}
	.hvv-hero-subtitle {
		font-size: 13px !important;
		letter-spacing: 0.52px;
		color: #393737;
		text-align: left;
		font-weight: 500;
		line-height: 1.35;
	}
	.hvv-hero-btn {
		font-size: 12px !important;
		padding: 7px 14px !important;
		border-radius: 26px;
		background: #E03639;
		letter-spacing: 0.48px;
		align-self: flex-start;
		text-transform: lowercase;
	}
	.hvv-hero-swiper .swiper-pagination-bullet {
		width: 42px !important;
		height: 5px !important;
		border-radius: 26px !important;
		background: #A8A8A8 !important;
		opacity: 1 !important;
	}
	.hvv-hero-swiper .swiper-pagination-bullet-active {
		background: #E03639 !important;
	}

	/* ===== Marquee (TB PEOPLE watermark) ===== */
	.hvv-marquee-block { padding: 8px 0 14px; }
	.hvv-marquee__track,
	.hvv-marquee__text {
		font-size: 40px !important;
		letter-spacing: 1.6px;
	}

	/* ===== Common section header (red title + teal short bar) ===== */
	.hvv-about-section-title,
	.hvv-blog-preview__title,
	.hvv-events-preview__title,
	.hvv-media-preview__title,
	.hvv-partners__title,
	.hvv-teachme__title {
		font-size: 14px !important;
		letter-spacing: 0.56px !important;
		color: #393737 !important;
		font-weight: 700 !important;
		text-transform: uppercase !important;
		line-height: normal !important;
	}

	/* Small teal bar before/aside the section heading (Figma 34×3) */
	.hvv-blog-preview__bar,
	.hvv-events-preview__bar,
	.hvv-partners__bar,
	.hvv-teachme__bar,
	.hvv-about-block .hvv-bar,
	.hvv-media-preview__bar {
		width: 34px !important;
		height: 3px !important;
		background: #1A8DA1 !important;
		border-radius: 26px !important;
	}

	/* Each home section: consistent 20px side padding, no double padding inside */
	.hvv-blog-preview,
	.hvv-events-preview,
	.hvv-media-preview,
	.hvv-partners,
	.hvv-teachme,
	.hvv-about-block {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	/* Section header common spacing & row layout (parent already paddings, so no side padding here) */
	.hvv-blog-preview__header,
	.hvv-events-preview__header,
	.hvv-media-preview__header,
	.hvv-partners__header,
	.hvv-teachme__header {
		padding: 0 !important;
		margin-bottom: 16px !important;
		gap: 10px !important;
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
	}

	/* Blog header: title left, "Усі новини" right (no bar in DOM-flow on mobile) */
	.hvv-blog-preview__header > .hvv-blog-preview__title {
		flex: 0 1 auto !important;
		margin-right: auto !important;
	}

	/* Events: dissolve __heading wrapper so title & controls become direct flex children */
	.hvv-events-preview__heading {
		display: contents !important;
	}
	.hvv-events-preview__title {
		flex: 0 1 auto !important;
		margin-right: auto !important;
	}
	.hvv-events-preview__controls {
		display: inline-flex !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 6px !important;
		margin-left: auto !important;
		width: auto !important;
		justify-content: flex-end !important;
	}

	/* Media: grid layout — row1 title left + all right; row2 tabs full width */
	.hvv-media-preview__header {
		display: grid !important;
		grid-template-columns: 1fr auto !important;
		grid-template-rows: auto auto !important;
		gap: 12px 10px !important;
		align-items: center !important;
	}
	.hvv-media-preview__heading,
	.hvv-media-preview__controls {
		display: contents !important;
	}
	.hvv-media-preview__title {
		grid-column: 1 !important;
		grid-row: 1 !important;
		justify-self: start !important;
	}
	.hvv-media-preview__all {
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: end !important;
	}
	.hvv-media-preview__tabs {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
	}
	.hvv-media-preview__nav { display: none !important; }

	/* ===== About ===== */
	.hvv-about-block {
		padding: 12px 20px 24px !important;
		position: relative;
	}
	/* small teal bar to the very left of the section (Figma 34×3 at x=0) -
	   only for sections that have a "all news" / right-side link; About has no bar */
	.hvv-blog-preview,
	.hvv-events-preview,
	.hvv-media-preview,
	.hvv-partners,
	.hvv-teachme {
		position: relative;
	}
	.hvv-blog-preview::before,
	.hvv-events-preview::before,
	.hvv-media-preview::before,
	.hvv-partners::before,
	.hvv-teachme::before {
		content: "";
		position: absolute;
		left: 0;
		top: 28px;
		width: 34px;
		height: 3px;
		background: #1A8DA1;
		border-radius: 26px;
		z-index: 1;
	}
	/* hide existing larger bars (where component renders its own) on mobile */
	.hvv-blog-preview__bar,
	.hvv-events-preview__bar,
	.hvv-teachme__bar { display: none !important; }
	.hvv-about-section-title {
		color: #BD0707 !important;
		margin-bottom: 14px !important;
	}
	.hvv-about-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
	.hvv-about-image {
		width: 100%;
		max-width: none;
		aspect-ratio: 336 / 189;
		border-radius: 6px;
		overflow: hidden;
		margin: 0;
	}
	.hvv-about-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.hvv-about-title {
		font-size: 13px !important;
		letter-spacing: 0.52px;
		margin-bottom: 8px !important;
		text-transform: uppercase;
	}
	.hvv-about-title__top,
	.hvv-about-title__bottom { display: inline; }
	.hvv-about-description {
		font-size: 12px !important;
		line-height: 1.45 !important;
	}
	.hvv-about-contacts { gap: 10px !important; margin-top: 10px; }
	.hvv-about-contact {
		font-size: 13px !important;
		gap: 6px !important;
	}
	.hvv-about-contact__icon {
		width: 17px !important;
		height: 17px !important;
	}
	/* About "Дізнатися більше" — keep visible per Figma, compact size, aligned to LEFT */
	.hvv-about-btn,
	.hvv-about-block .hvv-about-btn {
		display: inline-flex !important;
		align-self: flex-start !important;
		font-size: 12px !important;
		padding: 7px 14px !important;
		background: #E03639 !important;
		color: #FFF !important;
		border-radius: 26px !important;
		letter-spacing: 0.48px !important;
		text-transform: lowercase !important;
		margin-top: 14px !important;
		width: auto !important;
		max-width: max-content !important;
	}

	/* ===== "Усі ..." link + red arrow in section header ===== */
	.hvv-blog-preview__all,
	.hvv-events-preview__all,
	.hvv-media-preview__all {
		display: inline-flex !important;
		align-items: center !important;
		gap: 4px !important;
		font-family: Montserrat, sans-serif !important;
		font-size: 12px !important;
		font-weight: 700 !important;
		letter-spacing: 0.48px !important;
		color: #393737 !important;
		text-decoration: none !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		margin-left: auto;
	}
	.hvv-blog-preview__all:hover,
	.hvv-events-preview__all:hover,
	.hvv-media-preview__all:hover {
		color: #1A8DA1 !important;
	}
	.hvv-blog-preview__all svg,
	.hvv-events-preview__all svg,
	.hvv-media-preview__all svg {
		width: 22px;
		height: 22px;
		color: #E03639;
		flex-shrink: 0;
	}
	/* media has "Усі фото" in teal */
	.hvv-media-preview__all { color: #1A8DA1 !important; }

	/* ===== Blog preview ===== */
	.hvv-blog-preview { padding: 20px 0 24px; }
	/* Hide the bottom "Дивитися більше" orange button — Figma uses only top "Усі новини →" */
	.hvv-blog-preview__actions,
	.hvv-blog-preview__btn { display: none !important; }
	.hvv-blog-preview__grid {
		display: flex !important;
		flex-direction: column;
		gap: 14px;
		padding: 0 !important;
		grid-template-columns: 1fr !important;
	}

	/* First (featured) post card — large image + date + title + excerpt */
	.hvv-blog-preview__grid > :first-child {
		background: #FFFFFF;
		border-radius: 6px;
		padding: 22px 22px 24px;
		box-shadow: 0 4px 2px rgba(0,0,0,0.18);
	}
	.hvv-blog-preview__grid > :first-child .hvv-post-card__image,
	.hvv-blog-preview__grid > :first-child img {
		width: 100%;
		aspect-ratio: 306 / 162;
		border-radius: 6px;
		object-fit: cover;
		max-height: none;
	}

	/* Remaining cards — compact horizontal */
	.hvv-blog-preview__grid > *:not(:first-child) {
		background: #FFFFFF;
		border-radius: 6px;
		padding: 6px 8px;
		box-shadow: 0 4px 2px rgba(0,0,0,0.18);
		display: grid !important;
		grid-template-columns: 92px 1fr;
		gap: 7px;
		align-items: center;
	}
	.hvv-blog-preview__grid > *:not(:first-child) .hvv-post-card__image,
	.hvv-blog-preview__grid > *:not(:first-child) img {
		width: 92px;
		height: 85px;
		border-radius: 6px;
		object-fit: cover;
	}
	.hvv-blog-preview__grid .hvv-post-card__title,
	.hvv-blog-preview__grid .hvv-post-card__heading,
	.hvv-blog-preview__grid h2,
	.hvv-blog-preview__grid h3 {
		color: #1A8DA1 !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		text-transform: none !important;
		line-height: 1.25 !important;
		margin: 0 0 4px !important;
	}
	.hvv-blog-preview__grid > :first-child .hvv-post-card__title,
	.hvv-blog-preview__grid > :first-child h2,
	.hvv-blog-preview__grid > :first-child h3 {
		font-size: 15px !important;
	}
	.hvv-blog-preview__grid .hvv-post-card__date,
	.hvv-blog-preview__grid time {
		color: #2F2E2E !important;
		font-size: 11px !important;
		font-weight: 500 !important;
		margin: 0 0 4px !important;
		display: block;
	}
	.hvv-blog-preview__grid > :first-child .hvv-post-card__date,
	.hvv-blog-preview__grid > :first-child time {
		font-size: 14px !important;
	}
	.hvv-blog-preview__grid .hvv-post-card__excerpt,
	.hvv-blog-preview__grid p {
		color: #2F2E2E !important;
		font-size: 10px !important;
		line-height: 1.3 !important;
		text-transform: lowercase;
		margin: 0 !important;
	}
	.hvv-blog-preview__grid > :first-child .hvv-post-card__excerpt,
	.hvv-blog-preview__grid > :first-child p {
		font-size: 12px !important;
	}

	/* ===== Events preview ===== */
	.hvv-events-preview { padding: 20px 0 24px; }
	.hvv-events-preview__heading {
		flex-wrap: wrap;
		padding: 0 20px;
	}
	.hvv-events-preview__controls {
		margin-left: auto;
		gap: 8px;
	}
	.hvv-events-preview__nav,
	.hvv-events-preview__nav-btn { display: none !important; }

	.hvv-events-preview__swiper {
		padding: 12px 0 8px !important;
	}
	.hvv-events-preview__card {
		background: #FFFFFF;
		border-radius: 6px;
		padding: 22px 22px 18px !important;
		box-shadow: 0 4px 2px rgba(0,0,0,0.18);
		box-sizing: border-box;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}
	.hvv-events-preview__swiper .swiper-slide {
		width: 100% !important;
		max-width: none !important;
	}
	.hvv-events-preview__image {
		width: 100%;
		aspect-ratio: 313 / 166;
		border-radius: 6px;
		overflow: hidden;
		margin-bottom: 12px;
	}
	.hvv-events-preview__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.hvv-events-preview__card-title {
		font-size: 11px !important;
		font-weight: 700 !important;
		letter-spacing: 0.44px !important;
		color: #000 !important;
		text-transform: uppercase !important;
		margin: 0 0 9px !important;
		line-height: 1.3 !important;
	}
	.hvv-events-preview__meta { gap: 4px !important; }
	.hvv-events-preview__meta-item {
		font-size: 12px !important;
		letter-spacing: 0.48px !important;
		gap: 5px !important;
		color: #000 !important;
	}
	.hvv-events-preview__icon {
		width: 18px !important;
		height: 18px !important;
	}

	/* ===== Media preview ===== */
	.hvv-media-preview { padding: 20px 0 24px; position: relative; }
	.hvv-media-preview__header { flex-wrap: wrap; }
	.hvv-media-preview__heading {
		flex: 1 1 auto;
		min-width: 0;
		gap: 14px;
		align-items: center;
	}
	.hvv-media-preview__controls {
		margin-left: auto;
	}
	.hvv-media-preview__all {
		color: #1A8DA1 !important;
		font-weight: 700 !important;
	}
	.hvv-media-preview__nav { display: none !important; }
	.hvv-media-preview__tabs {
		display: flex !important;
		flex-direction: column !important;
		gap: 6px !important;
		width: 100% !important;
		padding: 0 !important;
		margin-top: 4px !important;
	}
	.hvv-media-preview__tab {
		background: rgba(173, 170, 170, 0.58) !important;
		color: #393737 !important;
		border-radius: 26px !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		letter-spacing: 0.56px !important;
		padding: 5px 10px !important;
		text-align: center;
		justify-content: center !important;
		min-height: 29px;
		display: flex;
		align-items: center;
	}
	.hvv-media-preview__tab.is-active,
	.hvv-media-preview__tab[aria-selected="true"] {
		background: rgba(26, 141, 161, 0.43) !important;
		color: #393737 !important;
	}
	.hvv-media-preview__swiper { padding: 12px 0 8px !important; }
	.hvv-media-preview__pane .swiper-slide,
	.hvv-media-preview__pane .hvv-photo-card,
	.hvv-media-preview__pane .hvv-video-card {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}
	.hvv-media-preview__pane .hvv-photo-card,
	.hvv-media-preview__pane .hvv-video-card {
		background: #FFFFFF !important;
		border-radius: 6px;
		padding: 17px 22px 17px !important;
		box-shadow: 0 4px 2px rgba(0,0,0,0.18);
		box-sizing: border-box;
	}
	.hvv-media-preview__pane .hvv-photo-card__image,
	.hvv-media-preview__pane .hvv-video-card__thumb {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 257 / 131 !important;
		border-radius: 6px !important;
		overflow: hidden !important;
		margin-bottom: 12px !important;
		display: block !important;
	}
	.hvv-media-preview__pane .hvv-photo-card__image img,
	.hvv-media-preview__pane .hvv-video-card__thumb img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		display: block !important;
	}
	.hvv-media-preview__pane time,
	.hvv-media-preview__pane .hvv-photo-card__date {
		color: #1A8DA1 !important;
		font-size: 10px !important;
		font-weight: 600 !important;
		display: block;
		margin-bottom: 8px !important;
	}
	.hvv-media-preview__pane p,
	.hvv-media-preview__pane .hvv-photo-card__title,
	.hvv-media-preview__pane .hvv-video-card__title {
		font-size: 10px !important;
		font-weight: 500 !important;
		color: #2F2E2E !important;
		text-transform: lowercase !important;
		line-height: 1.3 !important;
	}

	/* ===== Partners ===== */
	.hvv-partners { padding: 20px 0 24px; position: relative; }
	.hvv-partners__row {
		padding: 12px 0 8px;
	}
	.hvv-partners__nav { display: none !important; }
	.hvv-partners__slide,
	.hvv-partners__card {
		max-width: 160px;
	}
	.hvv-partners__logo {
		width: 160px !important;
		height: 149px !important;
		border: 1px solid #1A8DA1;
		border-radius: 6px;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.hvv-partners__logo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.hvv-partners__name {
		color: #1A8DA1 !important;
		font-size: 14px !important;
		letter-spacing: 0.56px !important;
		font-weight: 700 !important;
		text-transform: uppercase !important;
		text-align: center;
		margin-top: 10px !important;
	}

	/* ===== Teach me TB ===== */
	.hvv-teachme { padding: 20px 0 36px; }
	.hvv-teachme__grid {
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: 1fr !important;
		gap: 14px !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	/* Image + description card — white shadow box, full available width */
	.hvv-teachme__image,
	.hvv-teachme__content {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		box-sizing: border-box;
	}
	.hvv-teachme__image {
		aspect-ratio: 350 / 188;
		border-radius: 6px;
		overflow: hidden;
		background: #f0f0f0;
		box-shadow: 0 4px 2px rgba(0,0,0,0.18);
	}
	.hvv-teachme__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
	.hvv-teachme__content {
		display: flex !important;
		flex-direction: column !important;
		gap: 14px;
		padding: 0 !important;
		text-align: left !important;
		align-items: flex-start !important;
	}
	.hvv-teachme__description {
		font-size: 11px !important;
		line-height: 1.4 !important;
		color: #000 !important;
		margin: 0 !important;
		width: 100% !important;
	}
	.hvv-teachme__btn,
	.hvv-teachme a.hvv-teachme__btn,
	.hvv-teachme__btn:link,
	.hvv-teachme__btn:visited {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		font-size: 12px !important;
		padding: 7px 14px !important;
		background: #E03639 !important;
		color: #FFFFFF !important;
		border-radius: 26px !important;
		letter-spacing: 0.48px !important;
		text-transform: uppercase !important;
		text-decoration: none !important;
		font-weight: 700 !important;
		align-self: flex-start;
		margin-top: 8px;
		width: auto !important;
		height: auto !important;
		max-width: max-content;
	}

	/* Footer mobile rules live in components/footer/footer.css — keep one source of truth */
}

/* Very small phones <= 380px — extra tightening */
@media screen and (max-width: 380px) {
	.hvv-hero-image,
	.hvv-about-image,
	.hvv-teachme__image { max-width: 100%; }
	.hvv-blog-preview__grid,
	.hvv-events-preview__swiper,
	.hvv-media-preview__swiper,
	.hvv-teachme__grid { padding-left: 14px; padding-right: 14px; }
	.hvv-blog-preview__header,
	.hvv-events-preview__header,
	.hvv-media-preview__header,
	.hvv-partners__header,
	.hvv-teachme__header { padding-left: 14px !important; padding-right: 14px !important; }
}
