/* Victor Product Action Mode — Site Shell coordination around the existing VPE Buy Bar. */
@property --victor-product-cta-orbit-angle {
	syntax: '<angle>';
	inherits: false;
	initial-value: 0deg;
}

.victor-shell-product-action,
.victor-shell-product-menu {
	display: none;
}

.victor-shell-product-action[hidden],
.victor-shell-product-menu[hidden] {
	display: none !important;
}

@media ( max-width: 768px ) {
	body.victor-shell-mobile-navigation-active {
		--victor-shell-z-product-buybar: 110;
		--victor-shell-z-product-menu-trigger: 130;
		--victor-shell-z-product-sheet: 2147483001;
		--victor-shell-z-product-menu: 2147483100;
		--victor-shell-z-search: 2147483200;
		--victor-product-mobile-action-height: 64px;
		--victor-product-menu-trigger-width: 60px;
		--victor-product-mobile-action-gap: 10px;
		--victor-product-mobile-action-bottom: max( 10px, env( safe-area-inset-bottom, 0px ) );
		--victor-product-mobile-action-left: max( 12px, env( safe-area-inset-left, 0px ) );
		--victor-product-mobile-action-right: max( 12px, env( safe-area-inset-right, 0px ) );
	}

	body.victor-shell-mobile-navigation-active.victor-product-experience-page.victor-product-action-mode {
		padding-bottom: calc( var( --victor-product-mobile-action-height ) + var( --victor-product-mobile-action-bottom ) + 14px );
	}

	body.victor-product-action-mode:not(.victor-product-menu-open) .victor-shell-mobile-navigation {
		display: none;
	}

	body.victor-product-menu-open .victor-shell-mobile-navigation {
		z-index: calc( var( --victor-shell-z-product-menu, 2147483100 ) + 1 );
		display: block;
	}

	body.victor-shell-mobile-navigation-active.victor-product-experience-page.victor-product-action-mode .vpe-mobile-buybar {
		z-index: var( --victor-shell-z-product-buybar );
		right: calc( var( --victor-product-mobile-action-right ) + var( --victor-product-menu-trigger-width ) + var( --victor-product-mobile-action-gap ) );
		bottom: var( --victor-product-mobile-action-bottom );
		left: var( --victor-product-mobile-action-left );
		box-sizing: border-box;
		width: auto;
		min-height: var( --victor-product-mobile-action-height );
		padding: 6px 8px;
		border: 1px solid var( --victor-shell-glass-border );
		border-radius: 22px;
		background: rgba( 255, 255, 255, .72 );
		box-shadow: var( --victor-shell-glass-shadow );
		-webkit-backdrop-filter: var( --victor-shell-glass-blur );
		backdrop-filter: var( --victor-shell-glass-blur );
		transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
	}

	body.victor-product-action-candidate.victor-product-experience-page .vpe-mobile-buybar .vpe-mobile-buybar__button {
		position: relative;
		isolation: isolate;
		overflow: hidden;
		min-height: 50px;
		border: 1px solid rgba( 255, 255, 255, .78 );
		border-radius: 17px;
		background: rgba( 244, 245, 247, .82 );
		box-shadow: inset 0 1px 0 rgba( 255, 255, 255, .9 ), 0 2px 8px rgba( 20, 27, 42, .045 );
		color: #111318;
		-webkit-backdrop-filter: blur( 18px ) saturate( 155% );
		backdrop-filter: blur( 18px ) saturate( 155% );
		transition: background-color .18s ease, box-shadow .18s ease, transform .16s cubic-bezier( .2, .8, .2, 1 );
	}

	body.victor-product-action-mode.victor-product-experience-page:not(.victor-product-cta-attention-dismissed) .vpe-mobile-buybar .vpe-mobile-buybar__button[data-vpe-mobile-buy]::before {
		position: absolute;
		z-index: 1;
		inset: 0;
		padding: 1px;
		border-radius: inherit;
		background: conic-gradient( from var( --victor-product-cta-orbit-angle ), rgba( 21, 94, 239, .18 ) 0deg, rgba( 21, 94, 239, .18 ) 255deg, var( --victor-action, #155eef ) 320deg, rgba( 21, 94, 239, .18 ) 360deg );
		content: '';
		opacity: 1;
		pointer-events: none;
		-webkit-mask: linear-gradient( #000 0 0 ) content-box, linear-gradient( #000 0 0 );
		-webkit-mask-composite: xor;
		mask: linear-gradient( #000 0 0 ) content-box, linear-gradient( #000 0 0 );
		mask-composite: exclude;
		animation: victor-product-cta-border-orbit 2.4s linear infinite;
	}

	body.victor-product-cta-attention-dismissed.victor-product-experience-page .vpe-mobile-buybar .vpe-mobile-buybar__button[data-vpe-mobile-buy]::before {
		animation: none;
		opacity: 0;
	}

	body.victor-product-action-mode.victor-product-experience-page:not(.victor-product-cta-attention-dismissed).victor-product-menu-open .vpe-mobile-buybar .vpe-mobile-buybar__button[data-vpe-mobile-buy]::before,
	body.victor-product-action-mode.victor-product-experience-page:not(.victor-product-cta-attention-dismissed).victor-shell-search-open .vpe-mobile-buybar .vpe-mobile-buybar__button[data-vpe-mobile-buy]::before,
	body.victor-product-action-mode.victor-product-experience-page:not(.victor-product-cta-attention-dismissed).vpe-size-finder-open .vpe-mobile-buybar .vpe-mobile-buybar__button[data-vpe-mobile-buy]::before,
	body.victor-product-action-mode.victor-product-experience-page:not(.victor-product-cta-attention-dismissed).vpe-variant-sheet-open .vpe-mobile-buybar .vpe-mobile-buybar__button[data-vpe-mobile-buy]::before,
	body.victor-product-action-mode.victor-product-experience-page:not(.victor-product-cta-attention-dismissed).vpe-cart-sheet-open .vpe-mobile-buybar .vpe-mobile-buybar__button[data-vpe-mobile-buy]::before {
		animation-play-state: paused;
	}

	body.victor-product-action-candidate.victor-product-experience-page .vpe-mobile-buybar .vpe-mobile-buybar__button:hover {
		background: rgba( 255, 255, 255, .94 );
		box-shadow: inset 0 1px 0 #fff, 0 3px 10px rgba( 20, 27, 42, .065 );
	}

	body.victor-product-action-candidate.victor-product-experience-page .vpe-mobile-buybar .vpe-mobile-buybar__button:active {
		transform: scale( .985 );
	}

	body.victor-product-action-candidate.victor-product-experience-page .vpe-mobile-buybar .vpe-mobile-buybar__button:focus-visible {
		outline: 2px solid rgba( 31, 35, 41, .58 );
		outline-offset: 2px;
	}

	body.victor-product-action-candidate.victor-product-experience-page .vpe-mobile-buybar__price .price {
		gap: 4px;
		font-size: 14px !important;
		line-height: 1.4;
	}

	.victor-shell-product-action {
		position: fixed;
		z-index: var( --victor-shell-z-product-menu-trigger, 130 );
		right: var( --victor-product-mobile-action-right, 12px );
		bottom: var( --victor-product-mobile-action-bottom, 10px );
		display: block;
		width: var( --victor-product-menu-trigger-width, 60px );
		height: var( --victor-product-mobile-action-height, 64px );
		font-family: var( --victor-font-family, Peyda, Arial, sans-serif );
		transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
	}

	.victor-shell-product-action .victor-shell-product-action__menu {
		display: grid;
		place-items: center;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		min-width: 44px;
		min-height: 44px;
		margin: 0;
		padding: 0;
		border: 1px solid var( --victor-shell-glass-border );
		border-radius: 22px;
		background: var( --victor-shell-glass-bg );
		box-shadow: var( --victor-shell-glass-shadow );
		color: var( --victor-ink, #22262c );
		font: inherit;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
		-webkit-backdrop-filter: var( --victor-shell-glass-blur );
		backdrop-filter: var( --victor-shell-glass-blur );
		-webkit-tap-highlight-color: transparent;
		touch-action: manipulation;
		transition: color .18s ease, background-color .18s ease, transform .16s cubic-bezier( .2, .8, .2, 1 );
	}

	.victor-shell-product-action .victor-shell-product-action__menu:hover {
		border-color: rgba( 255, 255, 255, .86 );
		background: rgba( 255, 255, 255, .9 );
		color: var( --victor-ink, #22262c );
	}

	.victor-shell-product-action .victor-shell-product-action__menu:active {
		transform: scale( .97 );
	}

	.victor-shell-product-action .victor-shell-product-action__menu:focus-visible {
		outline: 2px solid rgba( 31, 35, 41, .58 );
		outline-offset: 2px;
	}

	.victor-shell-product-action__icon,
	.victor-shell-product-action__icon svg {
		display: block;
		width: 24px;
		height: 24px;
	}

	.victor-shell-product-action__icon svg {
		fill: none;
		stroke: currentColor;
		stroke-linecap: round;
		stroke-width: 1.7;
	}

	body.vpe-size-finder-open .victor-shell-product-action,
	body.vpe-variant-sheet-open .victor-shell-product-action,
	body.vpe-cart-sheet-open .victor-shell-product-action,
	body.victor-shell-search-open .victor-shell-product-action,
	body.victor-product-menu-open .victor-shell-product-action,
	body.victor-product-menu-open .vpe-mobile-buybar {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY( 10px );
	}

	body.victor-product-action-mode .vpe-size-finder,
	body.victor-product-action-mode .vpe-variant-sheet,
	body.victor-product-action-mode .vpe-cart-sheet {
		z-index: var( --victor-shell-z-product-sheet );
	}

	.victor-shell-product-menu {
		position: fixed;
		z-index: var( --victor-shell-z-product-menu, 2147483100 );
		inset: 0;
		display: block;
		box-sizing: border-box;
		overflow: hidden;
		background: rgba( 248, 249, 251, .88 );
		opacity: 0;
		font-family: var( --victor-font-family, Peyda, Arial, sans-serif );
		pointer-events: none;
		-webkit-backdrop-filter: blur( 30px ) saturate( 150% );
		backdrop-filter: blur( 30px ) saturate( 150% );
		transition: opacity .3s cubic-bezier( .2, .8, .2, 1 );
	}

	.victor-shell-product-menu.is-open,
	.victor-shell-product-menu.is-closing {
		pointer-events: auto;
	}

	.victor-shell-product-menu.is-open {
		opacity: 1;
	}

	.victor-shell-product-menu__surface {
		display: flex;
		box-sizing: border-box;
		width: 100%;
		min-height: 100vh;
		max-height: 100vh;
		padding: max( 10px, env( safe-area-inset-top, 0px ) ) max( 18px, env( safe-area-inset-right, 0px ) ) calc( var( --victor-mobile-nav-height, 66px ) + var( --victor-mobile-nav-offset, 12px ) + env( safe-area-inset-bottom, 0px ) + 18px ) max( 18px, env( safe-area-inset-left, 0px ) );
		overflow: hidden;
		background: var( --victor-product-menu-background, rgba( 255, 255, 255, .76 ) );
		transform: translateY( 12px );
		transition: transform .32s cubic-bezier( .2, .8, .2, 1 );
		flex-direction: column;
	}

	.victor-shell-product-menu.is-open .victor-shell-product-menu__surface {
		transform: translateY( 0 );
	}

	.victor-shell-product-menu__header {
		display: flex;
		min-height: 56px;
		align-items: center;
		justify-content: center;
		gap: 20px;
		border-block-end: 1px solid rgba( 31, 35, 41, .08 );
	}

	.victor-shell-product-menu__logo {
		display: flex;
		align-items: center;
		justify-content: center;
		width: min( 128px, 42vw );
		height: 44px;
		margin-inline: auto;
		overflow: hidden;
	}

	.victor-shell-product-menu__logo-image {
		display: block;
		width: auto;
		max-width: 100%;
		height: 32px;
		object-fit: contain;
		object-position: center;
	}

	.victor-shell-product-menu__logo-empty {
		display: block;
		width: 72px;
		height: 32px;
	}

	.victor-shell-product-menu__logo:focus {
		outline: none;
	}

	.victor-shell-product-menu__logo:focus-visible {
		border-radius: 8px;
		outline: 2px solid rgba( 31, 35, 41, .58 );
		outline-offset: 3px;
		box-shadow: 0 0 0 4px rgba( 255, 255, 255, .66 );
	}

	.victor-shell-product-menu__navigation {
		min-height: 0;
		padding: clamp( 28px, 7vh, 58px ) 4px 24px;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		direction: rtl;
		-webkit-overflow-scrolling: touch;
		flex: 1 1 auto;
	}

	.victor-shell-product-menu__list,
	.victor-shell-product-menu__list .sub-menu {
		display: grid;
		gap: 2px;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.victor-shell-product-menu__list > li > a {
		display: block;
		padding: var( --victor-product-menu-spacing, 11px ) 0;
		color: var( --victor-ink, #1f2329 );
		font-size: var( --victor-product-menu-font-size, clamp( 22px, 6vw, 30px ) );
		font-weight: var( --victor-product-menu-font-weight, 650 );
		line-height: 1.5;
		text-decoration: none;
	}

	.victor-shell-product-menu__list .sub-menu {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: 2px 14px;
		margin: 4px 0 12px;
		padding: 10px 14px;
		border-inline-start: 1px solid rgba( 31, 35, 41, .1 );
	}

	.victor-shell-product-menu__list .sub-menu a {
		display: block;
		padding: 7px 0;
		color: var( --victor-text-muted, #6f7580 );
		font-size: 14px;
		font-weight: 500;
		line-height: 1.6;
		text-decoration: none;
	}

	.victor-shell-product-menu__list a:hover,
	.victor-shell-product-menu__list .current-menu-item > a {
		color: var( --victor-action, #155eef );
	}

	.victor-shell-product-menu--animation-fade .victor-shell-product-menu__surface {
		transform: none;
		transition-property: opacity;
	}

	.victor-shell-product-menu--animation-none .victor-shell-product-menu__surface {
		transform: none;
		transition: none;
	}

	.victor-shell-product-menu__surface:focus,
	.victor-shell-product-menu__list a:focus {
		outline: none;
	}

	.victor-shell-product-menu__list a:focus-visible {
		border-radius: 10px;
		outline: 2px solid rgba( 31, 35, 41, .58 );
		outline-offset: 3px;
		box-shadow: 0 0 0 4px rgba( 255, 255, 255, .66 );
	}

	.victor-shell-product-menu__empty {
		margin: 0;
		color: var( --victor-text-muted, #6f7580 );
		font-size: 14px;
		line-height: 1.8;
		text-align: right;
	}

}

@keyframes victor-product-cta-border-orbit {
	to {
		--victor-product-cta-orbit-angle: 360deg;
	}
}

@supports ( height: 100dvh ) {
	@media ( max-width: 768px ) {
		.victor-shell-product-menu__surface {
			min-height: 100dvh;
			max-height: 100dvh;
		}
	}
}

@media ( max-width: 390px ) {
	.victor-shell-product-menu__surface {
		padding-right: max( 12px, env( safe-area-inset-right, 0px ) );
		padding-left: max( 12px, env( safe-area-inset-left, 0px ) );
	}

	body.victor-product-action-mode.victor-product-experience-page .vpe-mobile-buybar {
		grid-template-columns: minmax( 82px, .85fr ) minmax( 148px, 1.15fr );
		gap: 6px;
	}

	body.victor-product-action-mode.victor-product-experience-page .vpe-mobile-buybar__price {
		display: block;
		min-width: 0;
		overflow: hidden;
		font-size: 12px;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	body.victor-product-action-mode.victor-product-experience-page .vpe-mobile-buybar__price .price {
		font-size: 12px !important;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	body.victor-product-action-mode.victor-product-experience-page:not(.victor-product-cta-attention-dismissed) .vpe-mobile-buybar .vpe-mobile-buybar__button[data-vpe-mobile-buy]::before {
		animation: none;
	}

	.victor-shell-product-action,
	.victor-shell-product-action__menu,
	.victor-shell-product-menu,
	.victor-shell-product-menu__surface,
	body.victor-shell-mobile-navigation-active.victor-product-experience-page.victor-product-action-mode .vpe-mobile-buybar {
		transition: none;
	}
}
