/**
 * CartNexa Premium Store Widgets - Core Design Tokens & Container System
 *
 * @package CartNexa_Premium_Store_Widgets
 */

:root {
	--cnxpsw-primary-dark: #0B1F33;
	--cnxpsw-primary-blue: #1677D2;
	--cnxpsw-blue-hover: #0f5ba6;
	--cnxpsw-light-blue: #EAF5FC;
	--cnxpsw-white: #FFFFFF;
	--cnxpsw-light-bg: #F7F8F9;
	--cnxpsw-text-primary: #111827;
	--cnxpsw-text-muted: #6B7280;
	--cnxpsw-border: #D9DEE3;
	--cnxpsw-border-light: #E5E7EB;
	--cnxpsw-success: #39A85A;
	--cnxpsw-radius-sm: 4px;
	--cnxpsw-radius-md: 6px;
	--cnxpsw-radius-lg: 8px;
	--cnxpsw-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	--cnxpsw-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

/* Container philosophy: handles full-width & boxed parent containers gracefully without double-padding or overflow */
.cnxpsw-container {
	width: 100%;
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

/* Micro-resets scoped cleanly to CartNexa elements */
.cnxpsw-trust-bar,
.cnxpsw-header,
.cnxpsw-drawer {
	box-sizing: border-box;
	font-family: inherit;
}

.cnxpsw-trust-bar *,
.cnxpsw-header *,
.cnxpsw-drawer * {
	box-sizing: border-box;
}

/* Targeted button resets avoiding global leakage */
.cnxpsw-header-toggle,
.cnxpsw-drawer__close,
.cnxpsw-header-search__button,
.cnxpsw-submenu-toggle {
	font-family: inherit;
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	cursor: pointer;
	outline: none;
	-webkit-tap-highlight-color: transparent;
}

/* Targeted anchor resets avoiding global leakage */
.cnxpsw-header-logo__link,
.cnxpsw-header-action,
.cnxpsw-trust-bar__item,
.cnxpsw-drawer__nav-list a,
.cnxpsw-header-inline-nav__list a {
	text-decoration: none;
	color: inherit;
}

/* Visible focus indicators for keyboard navigation */
.cnxpsw-header-toggle:focus-visible,
.cnxpsw-drawer__close:focus-visible,
.cnxpsw-header-action:focus-visible,
.cnxpsw-header-search__button:focus-visible,
.cnxpsw-header-search__input:focus-visible,
.cnxpsw-trust-bar__item:focus-visible,
.cnxpsw-drawer__nav-list a:focus-visible,
.cnxpsw-submenu-toggle:focus-visible,
.cnxpsw-header-inline-nav__list a:focus-visible {
	outline: 2px solid var(--cnxpsw-primary-blue, #1677D2);
	outline-offset: 2px;
}

/* Body scroll lock utility */
body.cnxpsw-body-scroll-locked {
	overflow: hidden !important;
}

/* Visually hidden screen reader utility */
.cnxpsw-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
