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

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

.ptg-bottom-nav-overlay {
	display: none;
}

.ptg-consultation-menu {
	display: none;
}

.ptg-career-submenu {
	display: none;
}

.ptg-interviews-submenu {
	display: none;
}

@media (max-width: 768px) {

	/* ------------------------------------------------------------------
	   Bottom Nav Bar
	   ------------------------------------------------------------------ */
	.ptg-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);
	}

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

	.ptg-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;
	}

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

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

	.ptg-bottom-nav__item--active {
		color: #6366f1;
	}

	/* ------------------------------------------------------------------
	   CTA Button (Centre)
	   ------------------------------------------------------------------ */
	.ptg-bottom-nav__cta {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 4px;
		text-decoration: none;
		-webkit-tap-highlight-color: transparent;
		margin-top: -18px;
		border: none;
		background: none;
		cursor: pointer;
		padding: 0;
		font-family: inherit;
	}

	.ptg-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, #6366f1, #8b5cf6);
		color: #fff;
		box-shadow: 0 4px 16px rgba(99, 102, 241, 0.35);
		transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
		            box-shadow 0.3s ease,
		            background 0.3s ease;
	}

	.ptg-bottom-nav__cta-icon-default,
	.ptg-bottom-nav__cta-icon-close {
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: opacity 0.25s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
	}

	.ptg-bottom-nav__cta-icon-default {
		opacity: 1;
		transform: rotate(0deg) scale(1);
	}

	.ptg-bottom-nav__cta-icon-close {
		opacity: 0;
		transform: rotate(-90deg) scale(0.5);
	}

	/* CTA open state — icon transitions to close (×) */
	.ptg-bottom-nav__cta.is-open .ptg-bottom-nav__cta-icon {
		background: linear-gradient(135deg, #6b7280, #4b5563);
		box-shadow: 0 4px 16px rgba(107, 114, 128, 0.3);
		transform: rotate(0deg);
	}

	.ptg-bottom-nav__cta.is-open .ptg-bottom-nav__cta-icon-default {
		opacity: 0;
		transform: rotate(90deg) scale(0.5);
	}

	.ptg-bottom-nav__cta.is-open .ptg-bottom-nav__cta-icon-close {
		opacity: 1;
		transform: rotate(0deg) scale(1);
	}

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

	.ptg-bottom-nav__cta span:last-child {
		font-size: 0.6rem;
		font-weight: 600;
		color: #6366f1;
		transition: color 0.25s ease;
	}

	.ptg-bottom-nav__cta.is-open span:last-child {
		color: #6b7280;
	}

	/* ------------------------------------------------------------------
	   Overlay
	   ------------------------------------------------------------------ */
	.ptg-bottom-nav-overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 999;
		background: rgba(0, 0, 0, 0);
		pointer-events: none;
		transition: background 0.3s ease;
		-webkit-tap-highlight-color: transparent;
	}

	.ptg-bottom-nav-overlay.is-active {
		background: rgba(0, 0, 0, 0.4);
		pointer-events: auto;
	}

	/* ------------------------------------------------------------------
	   Floating Consultation Menu
	   ------------------------------------------------------------------ */
	.ptg-consultation-menu {
		display: flex;
		flex-direction: column;
		position: fixed;
		bottom: calc(72px + env(safe-area-inset-bottom, 0px));
		left: 50%;
		transform: translateX(-50%);
		z-index: 1001;
		width: calc(100% - 2rem);
		max-width: 340px;
		padding: 6px;
		background: rgba(255, 255, 255, 0.97);
		backdrop-filter: blur(20px);
		-webkit-backdrop-filter: blur(20px);
		border-radius: 16px;
		box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12),
		            0 2px 8px rgba(0, 0, 0, 0.06);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.25s ease,
		            visibility 0.25s ease,
		            transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
		transform: translateX(-50%) translateY(12px) scale(0.95);
	}

	.ptg-consultation-menu.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateX(-50%) translateY(0) scale(1);
	}

	/* Menu item */
	.ptg-consultation-menu__item {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 14px 12px;
		text-decoration: none;
		border-radius: 12px;
		transition: background 0.15s ease,
		            transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1),
		            opacity 0.25s ease;
		-webkit-tap-highlight-color: transparent;
		/* Stagger animation via custom property */
		opacity: 0;
		transform: translateY(8px);
	}

	.ptg-consultation-menu.is-open .ptg-consultation-menu__item {
		opacity: 1;
		transform: translateY(0);
		transition-delay: calc(0.06s * var(--item-index));
	}

	.ptg-consultation-menu__item:active {
		background: rgba(99, 102, 241, 0.06);
		transform: scale(0.98);
	}

	.ptg-consultation-menu__item + .ptg-consultation-menu__item {
		border-top: 1px solid #f3f4f6;
	}

	/* Icon circle */
	.ptg-consultation-menu__icon {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 40px;
		height: 40px;
		border-radius: 10px;
		background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(139, 92, 246, 0.1));
		color: #6366f1;
	}

	/* Text block */
	.ptg-consultation-menu__text {
		display: flex;
		flex-direction: column;
		flex: 1;
		min-width: 0;
	}

	.ptg-consultation-menu__label {
		font-size: 0.875rem;
		font-weight: 600;
		color: #1f2937;
		line-height: 1.3;
	}

	.ptg-consultation-menu__desc {
		font-size: 0.6875rem;
		color: #6b7280;
		line-height: 1.3;
		margin-top: 1px;
	}

	/* Arrow */
	.ptg-consultation-menu__arrow {
		flex-shrink: 0;
		color: #d1d5db;
		transition: transform 0.2s ease, color 0.2s ease;
	}

	.ptg-consultation-menu__item:active .ptg-consultation-menu__arrow {
		transform: translateX(2px);
		color: #6366f1;
	}

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

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

	.dark-mode .ptg-bottom-nav__item--active {
		color: #818cf8;
	}

	.dark-mode .ptg-bottom-nav__cta span:last-child {
		color: #818cf8;
	}

	.dark-mode .ptg-bottom-nav__cta.is-open span:last-child {
		color: #9ca3af;
	}

	.dark-mode .ptg-consultation-menu {
		background: rgba(31, 41, 55, 0.97);
		box-shadow: 0 8px 40px rgba(0, 0, 0, 0.3),
		            0 2px 8px rgba(0, 0, 0, 0.15);
	}

	.dark-mode .ptg-consultation-menu__item + .ptg-consultation-menu__item {
		border-top-color: rgba(255, 255, 255, 0.08);
	}

	.dark-mode .ptg-consultation-menu__item:active {
		background: rgba(129, 140, 248, 0.1);
	}

	.dark-mode .ptg-consultation-menu__icon {
		background: linear-gradient(135deg, rgba(129, 140, 248, 0.15), rgba(167, 139, 250, 0.15));
		color: #818cf8;
	}

	.dark-mode .ptg-consultation-menu__label {
		color: #f3f4f6;
	}

	.dark-mode .ptg-consultation-menu__desc {
		color: #9ca3af;
	}

	.dark-mode .ptg-consultation-menu__arrow {
		color: #4b5563;
	}

	.dark-mode .ptg-consultation-menu__item:active .ptg-consultation-menu__arrow {
		color: #818cf8;
	}

	.dark-mode .ptg-bottom-nav-overlay.is-active {
		background: rgba(0, 0, 0, 0.6);
	}

	/* ------------------------------------------------------------------
	   Career sub-menu (popup above career nav item)
	   ------------------------------------------------------------------ */
	.ptg-career-submenu {
		display: flex;
		flex-direction: column;
		position: fixed;
		bottom: calc(72px + env(safe-area-inset-bottom, 0px));
		left: 12px;
		z-index: 1001;
		width: auto;
		min-width: 160px;
		padding: 4px;
		background: rgba(255, 255, 255, 0.97);
		backdrop-filter: blur(20px);
		-webkit-backdrop-filter: blur(20px);
		border-radius: 12px;
		box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12),
		            0 2px 8px rgba(0, 0, 0, 0.06);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.2s ease,
		            visibility 0.2s ease,
		            transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
		transform: translateY(8px) scale(0.95);
	}

	.ptg-career-submenu.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0) scale(1);
	}

	.ptg-career-submenu__item {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 10px 12px;
		text-decoration: none;
		border-radius: 8px;
		transition: background 0.15s ease,
		            opacity 0.2s ease,
		            transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
		-webkit-tap-highlight-color: transparent;
		opacity: 0;
		transform: translateY(6px);
	}

	.ptg-career-submenu.is-open .ptg-career-submenu__item {
		opacity: 1;
		transform: translateY(0);
		transition-delay: calc(0.05s * var(--item-index));
	}

	.ptg-career-submenu__item:active {
		background: rgba(99, 102, 241, 0.06);
	}

	.ptg-career-submenu__item + .ptg-career-submenu__item {
		border-top: 1px solid #f3f4f6;
	}

	.ptg-career-submenu__icon {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 32px;
		height: 32px;
		border-radius: 8px;
		background: linear-gradient(135deg, rgba(99, 102, 241, 0.08), rgba(139, 92, 246, 0.08));
		color: #6366f1;
	}

	.ptg-career-submenu__label {
		font-size: 0.8125rem;
		font-weight: 600;
		color: #1f2937;
		white-space: nowrap;
	}

	.ptg-career-submenu__arrow {
		flex-shrink: 0;
		color: #d1d5db;
		margin-left: auto;
	}

	/* Career / Interviews button style resets */
	.ptg-bottom-nav__career,
	.ptg-bottom-nav__interviews {
		border: none;
		background: none;
		cursor: pointer;
		font-family: inherit;
		padding: 6px 0;
	}

	/* ------------------------------------------------------------------
	   Interviews sub-menu (popup above interviews nav item)
	   ------------------------------------------------------------------ */
	.ptg-interviews-submenu {
		display: flex;
		flex-direction: column;
		position: fixed;
		bottom: calc(72px + env(safe-area-inset-bottom, 0px));
		right: 12px;
		z-index: 1001;
		width: auto;
		min-width: 170px;
		padding: 4px;
		background: rgba(255, 255, 255, 0.97);
		backdrop-filter: blur(20px);
		-webkit-backdrop-filter: blur(20px);
		border-radius: 12px;
		box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12),
		            0 2px 8px rgba(0, 0, 0, 0.06);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.2s ease,
		            visibility 0.2s ease,
		            transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
		transform: translateY(8px) scale(0.95);
	}

	.ptg-interviews-submenu.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0) scale(1);
	}

	.ptg-interviews-submenu__item {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 10px 12px;
		text-decoration: none;
		border-radius: 8px;
		transition: background 0.15s ease,
		            opacity 0.2s ease,
		            transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
		-webkit-tap-highlight-color: transparent;
		opacity: 0;
		transform: translateY(6px);
	}

	.ptg-interviews-submenu.is-open .ptg-interviews-submenu__item {
		opacity: 1;
		transform: translateY(0);
		transition-delay: calc(0.05s * var(--item-index));
	}

	.ptg-interviews-submenu__item:active {
		background: rgba(99, 102, 241, 0.06);
	}

	.ptg-interviews-submenu__item + .ptg-interviews-submenu__item {
		border-top: 1px solid #f3f4f6;
	}

	.ptg-interviews-submenu__icon {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 32px;
		height: 32px;
		border-radius: 8px;
		background: linear-gradient(135deg, rgba(99, 102, 241, 0.08), rgba(139, 92, 246, 0.08));
		color: #6366f1;
	}

	.ptg-interviews-submenu__label {
		font-size: 0.8125rem;
		font-weight: 600;
		color: #1f2937;
		white-space: nowrap;
	}

	.ptg-interviews-submenu__arrow {
		flex-shrink: 0;
		color: #d1d5db;
		margin-left: auto;
	}

	/* Dark mode: career sub-menu */
	.dark-mode .ptg-career-submenu {
		background: rgba(31, 41, 55, 0.97);
		box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3),
		            0 2px 8px rgba(0, 0, 0, 0.15);
	}

	.dark-mode .ptg-career-submenu__item + .ptg-career-submenu__item {
		border-top-color: rgba(255, 255, 255, 0.08);
	}

	.dark-mode .ptg-career-submenu__item:active {
		background: rgba(129, 140, 248, 0.1);
	}

	.dark-mode .ptg-career-submenu__icon {
		background: linear-gradient(135deg, rgba(129, 140, 248, 0.15), rgba(167, 139, 250, 0.15));
		color: #818cf8;
	}

	.dark-mode .ptg-career-submenu__label {
		color: #f3f4f6;
	}

	.dark-mode .ptg-career-submenu__arrow {
		color: #4b5563;
	}

	/* Dark mode: interviews sub-menu */
	.dark-mode .ptg-interviews-submenu {
		background: rgba(31, 41, 55, 0.97);
		box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3),
		            0 2px 8px rgba(0, 0, 0, 0.15);
	}

	.dark-mode .ptg-interviews-submenu__item + .ptg-interviews-submenu__item {
		border-top-color: rgba(255, 255, 255, 0.08);
	}

	.dark-mode .ptg-interviews-submenu__item:active {
		background: rgba(129, 140, 248, 0.1);
	}

	.dark-mode .ptg-interviews-submenu__icon {
		background: linear-gradient(135deg, rgba(129, 140, 248, 0.15), rgba(167, 139, 250, 0.15));
		color: #818cf8;
	}

	.dark-mode .ptg-interviews-submenu__label {
		color: #f3f4f6;
	}

	.dark-mode .ptg-interviews-submenu__arrow {
		color: #4b5563;
	}
}
