/* Native editable homepage compositions; all content rules also load in Gutenberg. */
.vk-home-shell { position: relative; }
.vk-home-shell > *, .vk-home-page, .vk-home-page > .wp-block-post-content,
.vk-home-page > .wp-block-post-content > .vk-home-hero { margin-block-start: 0; }
.vk-home-shell.vk-home-shell > .vk-home-page { margin-block-start: 0; }
.vk-home-shell .vk-header { position: absolute; top: 48px; inset-inline: 0; z-index: 5; background: transparent; color: white; }
.vk-home-shell .vk-navigation .wp-block-navigation__submenu-icon { filter: invert(1); }
.vk-home-shell .vk-navigation .wp-block-navigation__submenu-container,
.vk-home-shell .vk-navigation .is-menu-open { color: black; }
.vk-home-shell .vk-navigation .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon,
.vk-home-shell .vk-navigation .is-menu-open .wp-block-navigation__submenu-icon { filter: none; }
.vk-home-shell .vk-menu-cta { color: black; }
.vk-home-shell .vk-navigation .wp-block-navigation__responsive-container-open { filter: invert(1); }
.vk-home-hero { position: relative; isolation: isolate; box-sizing: border-box; min-height: 810px; padding: 132px var(--wp--custom--layout--gutter) 0; display: flex; align-items: center; justify-content: center; color: white; }
.vk-home-hero > .vk-home-hero-media { position: absolute; inset: 0; margin: 0; z-index: -2; }
.vk-home-hero-media img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.vk-home-hero::after { content: ''; position: absolute; inset: 0; background: #0008; z-index: -1; pointer-events: none; }
.vk-home-hero-copy { width: 100%; max-width: 800px; text-align: center; margin: 0; }
.vk-home-hero-copy h1 { margin: 0 0 32px; font-size: clamp(2.375rem, 2.16666667rem + .92592593vw, 3rem); line-height: 1.333333; }
.vk-home-lead { font-size: var(--wp--preset--font-size--lead); line-height: 1.5; }
.vk-home-hero-copy p { margin: 0 0 32px; }
.vk-home-hero-copy .wp-block-buttons { display: flex; justify-content: center; margin: 0; }
.vk-home-intro { max-width: 800px !important; margin: 80px auto 56px; }
.vk-home-intro h2 { margin: 0 0 24px; }
.vk-home-intro p { margin: 0; }
.vk-home-slider { box-sizing: border-box; position: relative; max-width: 1248px !important; margin: 0 auto 32px; padding: 0 53px; }
.vk-home-slides { margin: 0; touch-action: pan-y pinch-zoom; }
.vk-home-slide { margin: 0; }
.vk-home-slide + .vk-home-slide { margin-top: 56px; }
.vk-home-slider.is-enhanced .vk-home-slide { margin: 0; }
.vk-home-slider.is-enhanced .vk-home-slide[hidden] { display: none !important; }
.vk-home-slide-columns.wp-block-columns { gap: 32px; align-items: center; margin: 0; min-height: 575px; }
.vk-home-slide-columns > .wp-block-column { min-width: 0; }
.vk-home-slide-media figure { margin: 0; }
.vk-home-slide-media img { display: block; width: 100%; height: 575px !important; object-fit: contain; }
.vk-home-slide-copy { box-sizing: border-box; padding: 80px; background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--border--radius); }
.vk-home-slide-copy h2 { margin: 0 0 32px; }
.vk-home-slide-copy p { margin: 0 0 64px; }
.vk-home-slide-copy .wp-block-buttons { margin: 0; }
.vk-home-slider .vk-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 64px; padding: 0; border: 0; border-radius: 4px; cursor: pointer; background-color: transparent; background-position: center; background-repeat: no-repeat; color: black; }
.vk-slider-arrow:hover { background-color: var(--wp--preset--color--surface); }
.vk-home-slider .vk-slider-previous { left: 0; background-image: url('../images/slider-previous.svg'); }
.vk-home-slider .vk-slider-next { right: 0; background-image: url('../images/slider-next.svg'); transform: translateY(-50%) rotate(180deg); }
.vk-slider-status { display: block; margin: 12px 0 0; text-align: center; font-size: 14px; }
.vk-home-directory { max-width: 1142px !important; margin: 32px auto 80px; }
.vk-home-directory h3 { font-size: 28px; line-height: 32px; margin: 0 0 32px; }
.vk-home-category-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.vk-home-category-grid > *, .vk-home-category-column > .wp-block-buttons { margin: 0; }
.vk-home-category-column { display: flex; flex-direction: column; gap: 16px; }
.vk-home-category-column .wp-block-button { width: 100%; }
.vk-home-category-column .wp-block-button__link { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 56px; width: 100%; text-align: left; padding: 16px; background: var(--wp--preset--color--surface); }
.vk-home-category-column a::after { content: ''; flex: 0 0 20px; height: 20px; background: url('../images/category-arrow.svg') center no-repeat; }
.vk-home-promotions { max-width: 1216px !important; margin: 80px auto; }
.vk-home-promo.wp-block-columns { gap: 40px; align-items: stretch; margin: 0; }
.vk-home-promo + .vk-home-promo { margin-top: 80px; }
.vk-home-promo > .wp-block-column { min-width: 0; }
.vk-home-promo-copy { box-sizing: border-box; padding: 56px 80px; background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--border--radius); }
.vk-home-promo-copy h2 { margin: 0 0 32px; }
.vk-home-promo-copy p { margin: 0 0 64px; }
.vk-home-promo-copy .wp-block-buttons { margin: 0; }
.vk-home-promo-media { display: flex; }
.vk-home-promo-media figure { flex: 1; margin: 0; }
.vk-home-promo-media img { display: block; width: 100%; height: 100% !important; object-fit: cover; border-radius: var(--wp--custom--border--radius); }
.vk-home-social { display: grid; grid-template-columns: 378.333px minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 24px; max-width: 1120px !important; margin: 80px auto; padding-right: 56px; box-sizing: border-box; background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--border--radius); }
.vk-home-social > * { margin: 0; }
.vk-home-social-media { height: 215px; overflow: hidden; border-radius: var(--wp--custom--border--radius); }
.vk-home-social-media img { display: block; height: 151.28% !important; width: 109.63%; max-width: none; object-fit: fill; transform: scaleX(-1); }
.vk-home-social-labels p { display: flex; align-items: center; gap: 8px; margin: 0; padding: 16px 24px; background: var(--wp--preset--color--primary); border-radius: var(--wp--custom--border--radius); font-size: 16px; line-height: 24px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.vk-home-social-labels p + p { margin-top: 24px; }
.vk-home-social-labels img { flex: 0 0 auto; vertical-align: middle; }
@media (max-width: 1100px) {
 .vk-home-slide-copy, .vk-home-promo-copy { padding: 32px; }
 .vk-home-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .vk-home-social { grid-template-columns: minmax(0,1fr) minmax(0,1fr); padding: 24px; }
 .vk-home-social-media { grid-row: span 2; height: 100%; min-height: 240px; }
 .vk-home-social-media img { height: 100% !important; width: 100%; object-fit: cover; }
}
@media (max-width: 781px) {
 .vk-home-shell .vk-header { top: 0; }
 .vk-home-hero { min-height: 637px; padding-top: 80px; }
 .vk-home-intro { margin-block: 48px 32px; }
 .vk-home-slider { padding: 0; margin-bottom: 32px; }
 .vk-home-slide-columns.wp-block-columns { gap: 24px; min-height: 0; }
 .vk-home-slide-media img { height: auto !important; max-height: 440px; aspect-ratio: 1; }
 .vk-home-slide-copy { padding: 32px 24px; }
 .vk-home-slide-copy p, .vk-home-promo-copy p { margin-bottom: 32px; }
 .vk-home-slider.is-enhanced { padding-bottom: 76px; }
 .vk-home-slider .vk-slider-arrow { top: auto; bottom: 0; transform: none; }
 .vk-home-slider .vk-slider-next { transform: rotate(180deg); }
 .vk-slider-status { position: absolute; bottom: 20px; left: 55px; right: 55px; margin: 0; }
 .vk-home-directory, .vk-home-promotions, .vk-home-social { margin-block: 48px; }
 .vk-home-category-grid { grid-template-columns: minmax(0,1fr); }
 .vk-home-promo + .vk-home-promo { margin-top: 48px; }
 .vk-home-promo.wp-block-columns { gap: 24px; }
 .vk-home-promo-copy { padding: 32px 24px; }
 .vk-home-promo-media img { height: auto !important; aspect-ratio: 4/3; }
 .vk-home-social { grid-template-columns: minmax(0,1fr); padding: 0 0 24px; }
 .vk-home-social-media { grid-row: auto; height: 215px; min-height: 0; }
 .vk-home-social h2, .vk-home-social-labels { margin-inline: 24px; }
 .vk-home-social-labels p { padding: 16px; font-size: 14px; }
}
