/* WYX Phase 2 global UI and accessibility layer. Public selectors only. */
:root {
	--wyx-brand-orange: #f58220;
	--wyx-action-orange: #b84a00;
	--wyx-action-orange-hover: #963c00;
	--wyx-text-primary: #1f2429;
	--wyx-bg-primary: #ffffff;
	--wyx-bg-soft: #f6f7f8;
	--wyx-border: #d9dde1;
	--wyx-focus: #1f2429;
	--wyx-focus-ring: 0 0 0 3px #ffffff, 0 0 0 6px var(--wyx-focus);
	--wyx-radius-control: 6px;
	--wyx-control-height: 44px;
}

/* Keyboard users receive a consistent, high-contrast focus indicator. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wyx-focus) !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 3px #ffffff !important;
}

.wyx-skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 100000;
	padding: 12px 16px;
	border-radius: var(--wyx-radius-control);
	background: var(--wyx-action-orange);
	color: #fff;
	font: 700 14px/1.2 Manrope, Inter, Arial, sans-serif;
	text-decoration: none;
	transform: translateY(-180%);
}

.wyx-skip-link:focus-visible {
	transform: translateY(0);
	color: #fff;
}

#masthead,
#masthead :is(.main-header-menu, .menu-link, .menu-toggle, .ast-menu-toggle) {
	font-family: Manrope, Inter, Roboto, Arial, sans-serif;
}

#masthead .main-header-menu > .menu-item > .menu-link {
	font-weight: 600;
}

#masthead .main-header-menu > .menu-item:last-child > .menu-link,
.wyx-button--primary,
.wyx-shop__button--primary,
.wyx-contact__button,
.wyx-inquiry__actions a,
.wyx-contact__form button[type="submit"] {
	border-color: var(--wyx-action-orange) !important;
	background: var(--wyx-action-orange) !important;
	color: #fff !important;
}

#masthead .main-header-menu > .menu-item:last-child > .menu-link:hover,
#masthead .main-header-menu > .menu-item:last-child > .menu-link:focus-visible,
.wyx-button--primary:hover,
.wyx-button--primary:focus-visible,
.wyx-shop__button--primary:hover,
.wyx-shop__button--primary:focus-visible,
.wyx-contact__button:hover,
.wyx-contact__button:focus-visible,
.wyx-inquiry__actions a:hover,
.wyx-inquiry__actions a:focus-visible,
.wyx-contact__form button[type="submit"]:hover,
.wyx-contact__form button[type="submit"]:focus-visible {
	border-color: var(--wyx-action-orange-hover) !important;
	background: var(--wyx-action-orange-hover) !important;
	color: #fff !important;
}

.wyx-menu-disclosure {
	display: inline-grid;
	width: 34px;
	min-width: 34px;
	height: 34px;
	margin-left: -10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--wyx-text-primary);
	font: inherit;
	place-items: center;
	cursor: pointer;
}

.wyx-menu-disclosure::before { content: "⌄"; font-size: 18px; line-height: 1; }
.wyx-menu-disclosure[aria-expanded="true"]::before { transform: rotate(180deg); }
#masthead .main-header-menu .menu-item-has-children.wyx-submenu-open > .sub-menu { display: block; opacity: 1; visibility: visible; }

#masthead .menu-toggle,
#masthead .wyx-mobile-toggle {
	min-width: 44px;
	min-height: 44px;
	border: 1px solid var(--wyx-border);
	border-radius: var(--wyx-radius-control);
	background: #fff;
	color: var(--wyx-text-primary);
}

.wyx-footer-legal {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin-top: 16px;
}

.wyx-footer-legal__brand {
	flex: 1 0 100%;
	font-weight: 600;
}

.wyx-footer-legal :is(a, button) {
	min-height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: 600;
	text-align: left;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.wyx-footer-legal a:hover,
.wyx-footer-legal button:hover { color: var(--wyx-brand-orange); }

.wyx-floating-whatsapp {
	min-width: 44px;
	min-height: 44px;
	padding-bottom: env(safe-area-inset-bottom);
}

.wyx-floating-whatsapp[hidden] { display: none !important; }

.wyx-hero__pause {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 4;
	min-width: 44px;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid rgba(255,255,255,.88);
	border-radius: var(--wyx-radius-control);
	background: rgba(31,36,41,.86);
	color: #fff;
	font: 700 13px/1 Manrope, Inter, Arial, sans-serif;
	cursor: pointer;
}

.wyx-hero__status {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.wyx-hero__dots button {
	min-width: 28px;
	min-height: 28px;
}

@media (max-width: 921px) {
	#masthead .main-header-menu > .menu-item.menu-item-has-children { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
	#masthead .main-header-menu > .menu-item.menu-item-has-children > .sub-menu { grid-column: 1 / -1; }
	#masthead .main-header-menu > .menu-item > .menu-link { min-height: 44px; }
	.wyx-footer-legal { gap: 8px 14px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
	.wyx-hero__preview, .wyx-hero__preview-slide, .wyx-hero__slide { transform: none !important; }
}
