/**
 * Kea Skies shared motion system.
 * Fixed geometry, route-aware navigation and quiet Pounamu feedback.
 */

:root {
	--kea-motion-control: 180ms;
	--kea-motion-surface: 240ms;
	--kea-motion-media: 420ms;
	--kea-motion-ease: cubic-bezier(.22, .61, .36, 1);
	--kea-motion-edge: rgba(22, 76, 55, .22);
	--kea-motion-edge-strong: rgba(22, 76, 55, .34);
	--kea-motion-shadow: 0 18px 44px rgba(31, 42, 35, .105);
}

/* Header: a route line, not a moving menu item. */
@media (min-width: 981px) {
	html body #page-container .et-l--header .et_pb_menu__menu > nav > ul > li,
	html body #page-container .et_pb_section_1_tb_header .et_pb_menu__menu > nav > ul > li {
		position: relative !important;
	}

	html body #page-container .et-l--header .et_pb_menu__menu > nav > ul > li::after,
	html body #page-container .et_pb_section_1_tb_header .et_pb_menu__menu > nav > ul > li::after {
		content: "" !important;
		position: absolute !important;
		right: 11px !important;
		bottom: -7px !important;
		left: 11px !important;
		height: 2px !important;
		border-radius: 999px !important;
		background: linear-gradient(90deg, #164c37 0%, #4c9f70 68%, #d88963 100%) !important;
		opacity: .9 !important;
		transform: scaleX(0) !important;
		transform-origin: left center !important;
		transition: transform var(--kea-motion-control) var(--kea-motion-ease) !important;
		pointer-events: none !important;
	}

	html body #page-container .et-l--header .et_pb_menu__menu > nav > ul > li:hover::after,
	html body #page-container .et-l--header .et_pb_menu__menu > nav > ul > li:focus-within::after,
	html body #page-container .et-l--header .et_pb_menu__menu > nav > ul > li.current-menu-item::after,
	html body #page-container .et-l--header .et_pb_menu__menu > nav > ul > li.current_page_item::after,
	html body #page-container .et_pb_section_1_tb_header .et_pb_menu__menu > nav > ul > li:hover::after,
	html body #page-container .et_pb_section_1_tb_header .et_pb_menu__menu > nav > ul > li:focus-within::after,
	html body #page-container .et_pb_section_1_tb_header .et_pb_menu__menu > nav > ul > li.current-menu-item::after,
	html body #page-container .et_pb_section_1_tb_header .et_pb_menu__menu > nav > ul > li.current_page_item::after {
		transform: scaleX(1) !important;
	}
}

/* Controls: colour, edge and light respond; geometry does not. */
html body #page-container .kea-button,
html body #page-container .kea-product-card-button,
html body #page-container .products-grid-wrapper .view-more,
html body #page-container .products-grid-wrapper .product-actions .button,
html body #page-container .kea-newsletter-form button,
html body #page-container .woocommerce button.button,
html body #page-container .woocommerce a.button,
html body #page-container .et_pb_button,
html body #page-container .kea-product-guide-open,
html body #page-container .tab-button,
html body #page-container .play-pause-btn,
html body #page-container .kea-gallery-nav {
	transition:
		background-color var(--kea-motion-control) var(--kea-motion-ease),
		border-color var(--kea-motion-control) var(--kea-motion-ease),
		box-shadow var(--kea-motion-control) var(--kea-motion-ease),
		color var(--kea-motion-control) var(--kea-motion-ease),
		opacity var(--kea-motion-control) var(--kea-motion-ease) !important;
}

html body #page-container .kea-button:hover,
html body #page-container .kea-button:focus-visible,
html body #page-container .kea-product-card-button:hover,
html body #page-container .kea-product-card-button:focus-visible,
html body #page-container .products-grid-wrapper .view-more:hover,
html body #page-container .products-grid-wrapper .view-more:focus-visible,
html body #page-container .products-grid-wrapper .product-actions .button:hover,
html body #page-container .products-grid-wrapper .product-actions .button:focus-visible,
html body #page-container .kea-newsletter-form button:hover,
html body #page-container .kea-newsletter-form button:focus-visible,
html body #page-container .woocommerce button.button:hover,
html body #page-container .woocommerce button.button:focus-visible,
html body #page-container .woocommerce a.button:hover,
html body #page-container .woocommerce a.button:focus-visible,
html body #page-container .et_pb_button:hover,
html body #page-container .et_pb_button:focus-visible {
	transform: none !important;
	box-shadow: 0 12px 28px rgba(22, 76, 55, .14) !important;
}

html body #page-container :is(
	a,
	button,
	input,
	select,
	textarea,
	[role="button"]
):focus-visible {
	outline: 2px solid rgba(22, 76, 55, .44) !important;
	outline-offset: 3px !important;
}

/* Site cards and scenic surfaces never lift or resize. */
html body #page-container .products-grid-wrapper .product-card,
html body #page-container .products-grid-wrapper .product-card:hover,
html body #page-container .products-grid-wrapper .product-card:focus-within,
html body #page-container .kea-section--routes .kea-route-card,
html body #page-container .kea-section--routes .kea-route-card:hover,
html body #page-container .kea-section--routes .kea-route-card:focus-within,
html body #page-container .kea-card,
html body #page-container .kea-card:hover,
html body #page-container .kea-card:focus-within,
html body #page-container .kea-flow__step,
html body #page-container .kea-flow__step:hover,
html body #page-container .kea-flow__step:focus-within,
html body #page-container .kea-news-card,
html body #page-container .kea-news-card:hover,
html body #page-container .kea-news-card:focus-within,
html body #page-container .kea-landing__visual,
html body #page-container .kea-landing__visual:hover,
html body #page-container .kea-landing__visual:focus-within,
html body #page-container .kea-landing__visual-link,
html body #page-container .kea-landing__visual-link:hover,
html body #page-container .kea-landing__visual-link:focus-visible {
	transform: none !important;
}

html body #page-container .products-grid-wrapper .product-image img,
html body #page-container .products-grid-wrapper .product-card:hover .product-image img,
html body #page-container .products-grid-wrapper .product-card:focus-within .product-image img,
html body #page-container .kea-section--routes .kea-route-card__media img,
html body #page-container .kea-section--routes .kea-route-card:hover .kea-route-card__media img,
html body #page-container .kea-section--routes .kea-route-card:focus-within .kea-route-card__media img,
html body #page-container .kea-landing__visual img,
html body #page-container .kea-landing__visual:hover img,
html body #page-container .kea-landing__visual:focus-within img,
html body #page-container .kea-news-card__media img,
html body #page-container .kea-news-card:hover .kea-news-card__media img,
html body #page-container .kea-news-card:focus-within .kea-news-card__media img {
	transform: none !important;
	filter: none !important;
}

html body #page-container .kea-section--routes .kea-route-card__media,
html body #page-container .kea-landing__visual-link,
html body #page-container .kea-news-card,
html body #page-container .products-grid-wrapper .product-card {
	transition:
		border-color var(--kea-motion-surface) var(--kea-motion-ease),
		box-shadow var(--kea-motion-surface) var(--kea-motion-ease),
		background-color var(--kea-motion-surface) var(--kea-motion-ease) !important;
}

/* Do not leave a sticky hover state after a tap. */
html body #page-container .kea-section--routes .kea-route-card:hover .kea-route-card__media,
html body #page-container .kea-section--routes .kea-route-card:focus-within .kea-route-card__media {
	box-shadow: 0 16px 38px rgba(29, 47, 39, .09) !important;
}

html body #page-container .kea-landing__visual-link:hover,
html body #page-container .kea-landing__visual-link:focus-visible {
	border-color: rgba(22, 76, 55, .10) !important;
	box-shadow: 0 22px 54px rgba(48, 55, 45, .10) !important;
}

html body #page-container .kea-landing__visual-badge,
html body #page-container .kea-landing__visual-link:hover .kea-landing__visual-badge,
html body #page-container .kea-landing__visual-link:focus-visible .kea-landing__visual-badge {
	transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
	html body #page-container .kea-section--routes .kea-route-card:hover .kea-route-card__media {
		box-shadow: var(--kea-motion-shadow), inset 0 0 0 1px var(--kea-motion-edge) !important;
	}

	html body #page-container .kea-landing__visual-link:hover,
	html body #page-container .kea-landing__visual-link:focus-visible {
		border-color: var(--kea-motion-edge) !important;
		box-shadow: 0 26px 62px rgba(31, 42, 35, .135) !important;
	}

	html body #page-container .kea-news-card:hover,
	html body #page-container .products-grid-wrapper .product-card:hover {
		border-color: var(--kea-motion-edge) !important;
		box-shadow: var(--kea-motion-shadow) !important;
	}
}

/* Home keeps its chosen Pounamu-Manuka edge; only freeze its content geometry. */
html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card,
html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card:hover,
html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card:focus-within,
html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card,
html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card:hover,
html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card:focus-within {
	transform: none !important;
}

html body.home #page-container .kea-home-linked-card .et_pb_module,
html body.home #main-content .kea-home-linked-card .et_pb_module {
	transform: none !important;
}

/* Text stays anchored. Only the directional mark moves. */
html body #page-container .kea-product-guide-open,
html body #page-container .kea-news-card__read,
html body #page-container .related-post-card__link {
	transform: none !important;
}

html body #page-container .kea-product-guide-open__arrow,
html body #page-container .kea-news-card__read span,
html body #page-container .related-post-card__link span {
	display: inline-block;
	transition: transform var(--kea-motion-control) var(--kea-motion-ease) !important;
}

html body #page-container .kea-product-guide-open:hover .kea-product-guide-open__arrow,
html body #page-container .kea-product-guide-open:focus-visible .kea-product-guide-open__arrow,
html body #page-container .kea-news-card__read:hover span,
html body #page-container .kea-news-card__read:focus-visible span,
html body #page-container .related-post-card__link:hover span,
html body #page-container .related-post-card__link:focus-visible span {
	transform: translateX(2px) !important;
}

/* Product controls: stable frosted islands with explicit states. */
body.kea-single-product-route #page-container .kea-gallery-nav,
body.kea-single-product-route #page-container .kea-gallery-nav:hover,
body.kea-single-product-route #page-container .kea-gallery-nav:focus-visible {
	background: rgba(255, 255, 255, .92) !important;
	border-color: rgba(22, 76, 55, .16) !important;
	box-shadow: 0 8px 24px rgba(15, 28, 22, .16) !important;
	transform: translateY(-50%) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	backdrop-filter: blur(12px) !important;
}

body.kea-single-product-route #page-container .kea-gallery-nav:hover,
body.kea-single-product-route #page-container .kea-gallery-nav:focus-visible {
	border-color: var(--kea-motion-edge-strong) !important;
	box-shadow: 0 11px 28px rgba(15, 28, 22, .19) !important;
}

body.kea-single-product-route #page-container .play-pause-btn,
body.kea-single-product-route #page-container .play-pause-btn:hover,
body.kea-single-product-route #page-container .play-pause-btn:focus-visible {
	transform: none !important;
}

body.kea-single-product-route #page-container .tab-button {
	transform: none !important;
	animation: none !important;
}

body.kea-single-product-route #page-container .tab-button::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 2px;
	border-radius: 999px;
	background: #155e44;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--kea-motion-control) var(--kea-motion-ease);
}

body.kea-single-product-route #page-container .tab-button.active::after {
	transform: scaleX(1);
}

/* FAQs: state is visible without moving the question. */
body.page-id-248 #main-content .et_pb_toggle {
	transform: none !important;
	transition:
		background-color var(--kea-motion-surface) var(--kea-motion-ease),
		border-color var(--kea-motion-surface) var(--kea-motion-ease),
		box-shadow var(--kea-motion-surface) var(--kea-motion-ease) !important;
}

body.page-id-248 #main-content .et_pb_toggle_open {
	background: rgba(76, 159, 112, .045) !important;
	box-shadow: inset 3px 0 0 rgba(76, 159, 112, .52) !important;
}

body.page-id-248 #main-content .et_pb_toggle_title {
	position: relative !important;
	padding-right: 42px !important;
	transform: none !important;
	transition: color var(--kea-motion-control) var(--kea-motion-ease) !important;
}

body.page-id-248 #main-content .et_pb_toggle_title::before,
body.page-id-248 #main-content .et_pb_toggle_title::after {
	content: "" !important;
	position: absolute !important;
	top: 50% !important;
	right: 7px !important;
	width: 14px !important;
	height: 2px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #164c37 !important;
	font: inherit !important;
	opacity: 1 !important;
	transform: translateY(-50%) !important;
	transform-origin: center !important;
	transition: opacity var(--kea-motion-control) var(--kea-motion-ease), transform var(--kea-motion-control) var(--kea-motion-ease) !important;
}

body.page-id-248 #main-content .et_pb_toggle_title::after {
	transform: translateY(-50%) rotate(90deg) !important;
}

body.page-id-248 #main-content .et_pb_toggle_open .et_pb_toggle_title::after {
	opacity: 0 !important;
	transform: translateY(-50%) rotate(0deg) !important;
}

body.page-id-248 #main-content .et_pb_toggle_open .et_pb_toggle_content {
	animation: kea-faq-answer-in var(--kea-motion-surface) var(--kea-motion-ease) both;
}

@keyframes kea-faq-answer-in {
	from { opacity: .55; }
	to { opacity: 1; }
}

@media (hover: none), (pointer: coarse) {
	html body #page-container .kea-product-guide-open__arrow,
	html body #page-container .kea-news-card__read span,
	html body #page-container .related-post-card__link span {
		transform: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body #page-container *,
	html body #page-container *::before,
	html body #page-container *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}

	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card:hover,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card:focus-within,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card::before,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card::after,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card:hover::before,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card:hover::after,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card:focus-within::before,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card:focus-within::after,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card *,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card *::before,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card *::after,
	html body.home #page-container .kea-home-card-main-media > img,
	html body.home #page-container .kea-home-card-media-strip,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card .kea-home-card-media-strip,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card:hover .kea-home-card-media-strip,
	html body.home #page-container .et_pb_row_8 > .et_pb_column.kea-home-linked-card:focus-within .kea-home-card-media-strip,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card:hover,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card:focus-within,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card::before,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card::after,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card:hover::before,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card:hover::after,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card:focus-within::before,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card:focus-within::after,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card *,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card *::before,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card *::after,
	html body.home #main-content .kea-home-card-main-media > img,
	html body.home #main-content .kea-home-card-media-strip,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card .kea-home-card-media-strip,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card:hover .kea-home-card-media-strip,
	html body.home #main-content .et_pb_row_8 > .et_pb_column.kea-home-linked-card:focus-within .kea-home-card-media-strip,
	html body #page-container .kea-section--routes .kea-route-card,
	html body #page-container .kea-section--routes .kea-route-card__media,
	html body #page-container .kea-section--routes .kea-route-card__media img,
	html body #page-container .kea-landing__visual,
	html body #page-container .kea-landing__visual-link,
	html body #page-container .kea-landing__visual-link::after,
	html body #page-container .kea-landing__visual-badge,
	html body #page-container .kea-news-card,
	html body #page-container .kea-news-card__read span,
	html body #page-container .related-post-card__link span,
	html body #page-container .kea-product-guide-open,
	html body #page-container .kea-product-guide-open__arrow,
	body.kea-single-product-route #page-container .kea-gallery-nav,
	body.kea-single-product-route #page-container .play-pause-btn,
	body.kea-single-product-route #page-container .tab-button,
	body.kea-single-product-route #page-container .tab-button::after,
	body.page-id-248 #main-content .et_pb_toggle,
	body.page-id-248 #main-content .et_pb_toggle_title,
	body.page-id-248 #main-content .et_pb_toggle_title::before,
	body.page-id-248 #main-content .et_pb_toggle_title::after,
	body.page-id-248 #main-content .et_pb_toggle_content,
	html body #page-container .et-l--header .et_pb_menu__menu > nav > ul > li::after,
	html body #page-container .et_pb_section_1_tb_header .et_pb_menu__menu > nav > ul > li::after {
		animation: none !important;
		transition: none !important;
	}
}
