/* ==========================================================================
   Floating Bottom Nav — Shared component for mobile navigation
   Used across: portal (front-page), interviews, media, companies
   ========================================================================== */

.qp-bottom-nav {
	display: none;
}

@media (max-width: 768px) {

	/* ------------------------------------------------------------------
	   Bottom Nav Bar
	   ------------------------------------------------------------------ */
	.qp-bottom-nav {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 1000;
		display: flex;
		align-items: flex-end;
		justify-content: space-around;
		padding: 0.5rem 0.5rem calc(0.5rem + env(safe-area-inset-bottom, 0px));
		background: rgba(255, 255, 255, 0.92);
		backdrop-filter: blur(20px);
		-webkit-backdrop-filter: blur(20px);
		border-top: 1px solid #e5e7eb;
		transform: translateY(100%);
		transition: transform 0.35s cubic-bezier(0.33, 1, 0.68, 1);
	}

	.qp-bottom-nav.is-visible {
		transform: translateY(0);
	}

	.qp-bottom-nav__item {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 2px;
		padding: 6px 0;
		min-width: 56px;
		font-size: 0.625rem;
		font-weight: 500;
		color: #6b7280;
		text-decoration: none;
		transition: color 0.2s ease;
		-webkit-tap-highlight-color: transparent;
	}

	.qp-bottom-nav__item svg {
		transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
	}

	.qp-bottom-nav__item:active svg {
		transform: scale(0.85);
	}

	.qp-bottom-nav__item--active {
		color: #D55C25;
	}

	/* ------------------------------------------------------------------
	   CTA Button (Centre) — 転職相談 direct link
	   ------------------------------------------------------------------ */
	.qp-bottom-nav__cta {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 4px;
		text-decoration: none;
		-webkit-tap-highlight-color: transparent;
		margin-top: -18px;
		padding: 0;
		font-family: inherit;
	}

	.qp-bottom-nav__cta-icon {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		border-radius: 50%;
		background: linear-gradient(135deg, #D55C25, #FFAB55);
		color: #fff;
		box-shadow: 0 4px 16px rgba(213, 92, 37, 0.35);
		transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
		            box-shadow 0.3s ease;
	}

	.qp-bottom-nav__cta:active .qp-bottom-nav__cta-icon {
		transform: scale(0.9);
	}

	.qp-bottom-nav__cta span:last-child {
		font-size: 0.6rem;
		font-weight: 600;
		color: #D55C25;
	}

	/* ------------------------------------------------------------------
	   Dark mode support
	   ------------------------------------------------------------------ */
	.dark-mode .qp-bottom-nav {
		background: rgba(17, 24, 39, 0.92);
		border-top-color: rgba(255, 255, 255, 0.1);
	}

	.dark-mode .qp-bottom-nav__item {
		color: #9ca3af;
	}

	.dark-mode .qp-bottom-nav__item--active {
		color: #FDBA74;
	}

	.dark-mode .qp-bottom-nav__cta span:last-child {
		color: #FDBA74;
	}
}
