/* BV Mobile Sticky */

.bv-mobile-sticky {
	display: none;
}

@media (max-width: 781px) {
	body.bv-mobile-sticky-enabled {
		padding-bottom: calc(66px + env(safe-area-inset-bottom));
	}

	.bv-mobile-sticky {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 999;
		display: block;
		padding: 10px 32px calc(10px + env(safe-area-inset-bottom));
		background: color-mix(in srgb, var(--wp--preset--color--base) 94%, transparent);
		border-top: 1px solid var(--wp--preset--color--accent-10);
		box-shadow: 0 -8px 24px rgba(6, 27, 51, 0.08);
		transform: translateY(110%);
		opacity: 0;
		pointer-events: none;
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
		transition: transform .22s ease, opacity .22s ease;
	}

	body.bv-mobile-sticky-visible .bv-mobile-sticky {
		transform: translateY(0);
		opacity: 1;
		pointer-events: auto;
	}

	body.bv-mobile-sticky-hidden .bv-mobile-sticky {
		transform: translateY(110%);
		opacity: 0;
		pointer-events: none;
	}

	.bv-mobile-sticky__inner {
		display: grid;
		grid-template-columns: 1.15fr .9fr 48px;
		gap: 9px;
		align-items: center;
		max-width: 720px;
		margin: 0 auto;
	}

	.bv-mobile-sticky__button,
	.bv-mobile-sticky__share {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 46px;
		border-radius: 999px;
		font-size: 15px;
		font-weight: 600;
		line-height: 1.1;
		text-decoration: none !important;
		transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
	}

	.bv-mobile-sticky__button:hover,
	.bv-mobile-sticky__button:focus-visible,
	.bv-mobile-sticky__share:hover,
	.bv-mobile-sticky__share:focus-visible {
		text-decoration: none !important;
	}

	.bv-mobile-sticky__button:active,
	.bv-mobile-sticky__share:active {
		transform: translateY(1px);
	}

	.bv-mobile-sticky__button--primary {
		background: var(--wp--preset--color--contrast);
		color: var(--wp--preset--color--base) !important;
		box-shadow: 0 8px 20px rgba(6, 27, 51, 0.14);
	}

	.bv-mobile-sticky__button--primary:hover,
	.bv-mobile-sticky__button--primary:focus-visible {
		background: var(--wp--preset--color--accent-3);
		color: var(--wp--preset--color--base) !important;
	}

	.bv-mobile-sticky__button--secondary {
		background: var(--wp--preset--color--base);
		color: var(--wp--preset--color--contrast) !important;
		border: 1px solid var(--wp--preset--color--accent-10);
	}

	.bv-mobile-sticky__button--secondary:hover,
	.bv-mobile-sticky__button--secondary:focus-visible {
		border-color: var(--wp--preset--color--accent-1);
		background: color-mix(in srgb, var(--wp--preset--color--accent-1) 8%, var(--wp--preset--color--base));
		color: var(--wp--preset--color--contrast) !important;
	}

	.bv-mobile-sticky__share {
		width: 44px;
		min-width: 44px;
		padding: 0;
		border: 1px solid var(--wp--preset--color--accent-10);
		background: var(--wp--preset--color--base);
		color: var(--wp--preset--color--contrast);
		cursor: pointer;
		font-size: 20px;
	}

	.bv-mobile-sticky__share:hover,
	.bv-mobile-sticky__share:focus-visible {
		border-color: var(--wp--preset--color--accent-1);
		background: color-mix(in srgb, var(--wp--preset--color--accent-1) 8%, var(--wp--preset--color--base));
		color: var(--wp--preset--color--contrast);
	}

	.bv-mobile-share-panel {
		position: absolute;
		left: 12px;
		right: 12px;
		bottom: calc(72px + env(safe-area-inset-bottom));
		max-width: 420px;
		margin: 0 auto;
		padding: 14px;
		background: var(--wp--preset--color--base);
		border: 1px solid var(--wp--preset--color--accent-10);
		border-radius: 22px;
		box-shadow: 0 16px 44px rgba(6, 27, 51, 0.14);
		transform: translateY(12px);
		opacity: 0;
		pointer-events: none;
		transition: transform .2s ease, opacity .2s ease;
	}

	.bv-mobile-sticky--share-open .bv-mobile-share-panel {
		transform: translateY(0);
		opacity: 1;
		pointer-events: auto;
	}
	
	.bv-mobile-sticky.bv-mobile-sticky--share-open {
		z-index: 10001;
	}
	
	.bv-mobile-share-panel__copy {
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
		min-height: 50px;
		padding: 10px 14px;
		border: 0;
		border-radius: 16px;
		background: var(--wp--preset--color--accent-7);
		color: var(--wp--preset--color--contrast);
		font-size: 16px;
		font-weight: 700;
		cursor: pointer;
		text-align: left;
		transition: background-color .2s ease, color .2s ease;
	}

	.bv-mobile-share-panel__copy:hover,
	.bv-mobile-share-panel__copy:focus-visible {
		background: color-mix(in srgb, var(--wp--preset--color--accent-1) 10%, var(--wp--preset--color--base));
		color: var(--wp--preset--color--contrast);
	}

	.bv-mobile-share-panel__copy-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 34px;
		border-radius: 12px;
		background: var(--wp--preset--color--contrast);
		color: var(--wp--preset--color--base);
		font-size: 17px;
	}

	.bv-mobile-share-panel__links {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 10px;
		margin-top: 12px;
		padding-top: 12px;
		border-top: 1px solid var(--wp--preset--color--accent-10);
	}

	.bv-mobile-share-panel__links a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 46px;
		height: 46px;
		margin: 0 auto;
		border-radius: 999px;
		background: var(--wp--preset--color--accent-9);
		color: var(--wp--preset--color--entry) !important;
		font-size: 17px;
		font-weight: 700;
		text-decoration: none !important;
		transition: background-color .2s ease, color .2s ease, transform .2s ease;
	}

	.bv-mobile-share-panel__links a:hover,
	.bv-mobile-share-panel__links a:focus-visible {
		background: var(--wp--preset--color--contrast);
		color: var(--wp--preset--color--base) !important;
		text-decoration: none !important;
	}

	.bv-mobile-share-panel__links a:active {
		transform: translateY(1px);
	}
}

@media (max-width: 640px) {
	.bv-mobile-sticky {
		padding-right: 24px;
		padding-left: 24px;
	}

	.bv-mobile-sticky__inner {
		grid-template-columns: 1fr 0.82fr 46px;
		max-width: 100%;
	}

	.bv-mobile-share-panel {
		left: 10px;
		right: 10px;
		max-width: 400px;
		padding: 12px;
	}
}

@media (max-width: 420px) {
	.bv-mobile-sticky {
		padding-right: 18px;
		padding-left: 18px;
	}

	.bv-mobile-sticky__inner {
		grid-template-columns: 1.12fr .88fr 44px;
		gap: 8px;
	}

	.bv-mobile-sticky__button,
	.bv-mobile-sticky__share {
		min-height: 44px;
		font-size: 14.5px;
	}

	.bv-mobile-sticky__share {
		width: 44px;
		min-width: 44px;
		font-size: 20px;
	}
}
