/* Destinations mega menu (inc/destinations-menu.php, js/destinations-nav.js).
   Compact panel: Start here and Our work on the left with En français at the
   bottom, services in the middle (four with small photos, the rest as text),
   Learn on the right. Plain folding groups in the mobile overlay, with
   En français last and 44px rows. */

.tt-main-nav .wp-block-navigation-item.tt-mega > .wp-block-navigation-item__content, .tt-main-nav .wp-block-navigation-item.tt-mega.current-menu-item > .wp-block-navigation-item__content { font-weight: 700; color: #C2185B !important; }
body.tt-dest .tt-main-nav .tt-mega > .wp-block-navigation-item__content { background: #FFF0F5; }
.tt-main-nav .tt-mega__panel { list-style: none; }
.tt-main-nav .tt-mega__col { list-style: none; min-width: 0; }
.tt-main-nav .tt-mega__links a { text-decoration: none; }
.tt-main-nav .tt-mega__links a span, .tt-main-nav .tt-mega__fr span { display: block; }

@media (min-width: 1151px) {
	.tt-main-nav .wp-block-navigation-item.tt-mega { position: static; }
	.tt-main-nav.wp-block-navigation { position: relative; }
	.tt-main-nav .tt-mega > .wp-block-navigation__submenu-container.tt-mega__panel {
		left: 50% !important;
		width: min(1040px, calc(100vw - 48px)) !important;
		min-width: 0 !important;
		display: grid !important;
		grid-template-columns: 1fr 2.1fr 1fr;
		grid-template-rows: 1fr auto;
		gap: 0 26px;
		padding: 16px 22px 18px !important;
		border: 0 !important;
		border-top: 3px solid #FF4F8B !important;
		border-radius: 18px !important;
		box-shadow: 0 18px 40px rgba(11, 22, 56, 0.14) !important;
	}
	.tt-main-nav .tt-mega__col { display: flex; flex-direction: column; }
	.tt-main-nav .tt-mega__col--1 { grid-area: 1 / 1; }
	.tt-main-nav .tt-mega__col--2 { grid-area: 1 / 2 / 3 / 3; }
	.tt-main-nav .tt-mega__col--3 { grid-area: 1 / 3 / 3 / 4; }
	.tt-main-nav .tt-mega__col--fr { grid-area: 2 / 1; }
	.tt-main-nav .tt-mega__grp + .tt-mega__grp { margin-top: 12px; }
	.tt-main-nav .tt-mega__head { all: unset; display: block; font: 600 11px/1.2 'DM Sans', system-ui, sans-serif; letter-spacing: 0.1em; text-transform: uppercase; color: #8a91a3; margin: 0 0 4px; padding: 0 8px; cursor: default; }
	.tt-main-nav .tt-mega__links a { display: block; padding: 5px 8px; border-radius: 7px; font: 500 14px/20px 'DM Sans', system-ui, sans-serif; color: #0B1638; }
	.tt-main-nav .tt-mega__links a:hover, .tt-main-nav .tt-mega__links a.cur, .tt-main-nav .tt-mega__links a:focus-visible { background: #FFF0F5; color: #C2185B; }
	.tt-main-nav .tt-mega__links a:focus-visible, .tt-main-nav .tt-mega__fr:focus-visible { outline: 2px solid #FF4F8B; outline-offset: 0; }
	.tt-main-nav .tt-mega__svc { display: grid; grid-template-columns: 1.25fr 1fr; gap: 0 18px; align-items: start; }
	.tt-main-nav .tt-mega__links a.tt-mega__row { display: flex; align-items: center; gap: 10px; padding: 3px 6px; }
	.tt-main-nav .tt-mega__row img { width: 36px; height: 24px; border-radius: 6px; object-fit: cover; flex: 0 0 36px; }
	.tt-main-nav .tt-mega__also { border-left: 1px solid #F3D9E4; padding-left: 16px; }
	.tt-main-nav .tt-mega__links .tt-mega__also a { color: #56607a; font-size: 13.5px; }
	.tt-main-nav .tt-mega__fr { align-self: flex-start; padding: 8px 8px 0; font: 500 12.5px 'DM Sans', system-ui, sans-serif; color: #8a91a3; text-decoration: none; }
	.tt-main-nav .tt-mega__fr:hover, .tt-main-nav .tt-mega__fr.cur { color: #C2185B; }
}

/* Mobile overlay: the groups fold. Without the script every link stays visible. */
@media (max-width: 1150px) {
	.tt-main-nav .is-menu-open .tt-mega__panel { display: block !important; padding: 0 0 0.5rem !important; }
	.tt-main-nav .is-menu-open .tt-mega__col { display: block; width: 100%; }
	.tt-main-nav .is-menu-open .tt-mega__head { all: unset; box-sizing: border-box; display: flex; width: 100%; min-height: 44px; justify-content: space-between; align-items: center; padding: 0 8px; font: 600 12px/1.2 'DM Sans', system-ui, sans-serif; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; border-bottom: 1px solid rgba(255, 255, 255, 0.15); cursor: pointer; }
	.tt-main-nav .is-menu-open .tt-mega__head:focus-visible { outline: 2px solid rgba(255, 255, 255, 0.6); }
	.tt-main-nav .is-menu-open .tt-mega__head::after { content: "+"; font: 400 20px/1 'DM Sans', system-ui, sans-serif; color: #FF4F8B; }
	.tt-main-nav .is-menu-open .tt-mega__grp.is-open > .tt-mega__head::after { content: "\2212"; }
	.tt-mega-js .tt-main-nav .is-menu-open .tt-mega__links { display: none; }
	.tt-main-nav .is-menu-open .tt-mega__grp.is-open > .tt-mega__links { display: block; padding: 0 0 4px; }
	.tt-main-nav .is-menu-open .tt-mega__links a, .tt-main-nav .is-menu-open .tt-mega__fr { box-sizing: border-box; display: flex; align-items: center; min-height: 44px; padding: 0 10px; line-height: 1.25; color: #fff; font-size: 15px; text-decoration: none; opacity: 0.85; }
	.tt-main-nav .is-menu-open .tt-mega__links a:hover, .tt-main-nav .is-menu-open .tt-mega__fr:hover { opacity: 1; background: rgba(255, 255, 255, 0.1); }
	.tt-main-nav .is-menu-open .tt-mega__row img { display: none; }
	.tt-main-nav .is-menu-open .tt-mega__svc { display: block; }
	.tt-main-nav .is-menu-open .tt-mega__fr { padding-left: 8px; font-size: 13px; }
}
