/*
 * Header Atlanticus — cores conforme o fundo (homepage vs restantes páginas)
 */

/* -------------------------------------------------------------------------
   Homepage — sobre banner navy (texto claro)
   ------------------------------------------------------------------------- */

body.atl-has-banner #header [data-row*="middle"] {
	--theme-link-initial-color: var(--atl-cream);
	--theme-link-hover-color: var(--atl-sand);
	--theme-text-color: var(--atl-cream);
	--theme-icon-color: var(--atl-cream);
	color: var(--atl-cream);
}

body.atl-has-banner #header .ct-menu-link {
	color: var(--atl-cream);
}

body.atl-has-banner #header .ct-menu-link:hover,
body.atl-has-banner #header .ct-menu-link:focus-visible {
	color: var(--atl-sand);
}

body.atl-has-banner #header .ct-header-trigger,
body.atl-has-banner #header .ct-header-trigger svg {
	color: var(--atl-cream);
}

body.atl-has-banner #header .ct-header-cta .ct-button-ghost {
	--theme-button-text-initial-color: var(--atl-cream);
	--theme-button-text-hover-color: var(--atl-navy);
	--theme-button-background-initial-color: transparent;
	--theme-button-background-hover-color: var(--atl-cream);
	--theme-border-color: var(--atl-cream);
	color: var(--atl-cream);
	border: 1px solid var(--atl-cream);
	background: transparent;
}

body.atl-has-banner #header .ct-header-cta .ct-button-ghost:hover,
body.atl-has-banner #header .ct-header-cta .ct-button-ghost:focus-visible {
	color: var(--atl-navy);
	background: var(--atl-cream);
	border-color: var(--atl-cream);
}

/* Homepage — header sticky (já passou o banner): cores como páginas internas */
body.atl-has-banner #header[data-sticky*="yes-end"] [data-row],
body.atl-has-banner #header[data-sticky*="yes-end"] [data-row] > div {
	background: var(--atl-cream) !important;
}

body.atl-has-banner #header[data-sticky*="yes-end"] [data-row*="middle"] {
	--theme-link-initial-color: var(--atl-navy);
	--theme-link-hover-color: var(--atl-accent);
	--theme-text-color: var(--atl-navy);
	--theme-icon-color: var(--atl-navy);
	color: var(--atl-navy);
}

body.atl-has-banner #header[data-sticky*="yes-end"] .ct-menu-link {
	color: var(--atl-navy);
}

body.atl-has-banner #header[data-sticky*="yes-end"] .ct-menu-link:hover,
body.atl-has-banner #header[data-sticky*="yes-end"] .ct-menu-link:focus-visible {
	color: var(--atl-accent);
}

body.atl-has-banner #header[data-sticky*="yes-end"] .ct-header-trigger,
body.atl-has-banner #header[data-sticky*="yes-end"] .ct-header-trigger svg {
	color: var(--atl-navy);
}

body.atl-has-banner #header[data-sticky*="yes-end"] .ct-header-cta .ct-button-ghost {
	--theme-button-text-initial-color: var(--atl-navy);
	--theme-button-text-hover-color: var(--atl-cream);
	--theme-button-background-initial-color: transparent;
	--theme-button-background-hover-color: var(--atl-navy);
	color: var(--atl-navy);
	border: 1px solid var(--atl-navy);
	background: transparent;
}

body.atl-has-banner #header[data-sticky*="yes-end"] .ct-header-cta .ct-button-ghost:hover,
body.atl-has-banner #header[data-sticky*="yes-end"] .ct-header-cta .ct-button-ghost:focus-visible {
	color: var(--atl-cream);
	background: var(--atl-navy);
	border-color: var(--atl-navy);
}

/* Logo claro (Customizer) — tamanho */
body.atl-has-banner .site-logo-container img.default-logo {
	max-height: 3.25rem;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* -------------------------------------------------------------------------
   Páginas internas — fundo cream (texto navy)
   ------------------------------------------------------------------------- */

body:not(.atl-has-banner) #header [data-row],
body:not(.atl-has-banner) #header [data-row] > div {
	background: var(--atl-cream) !important;
}

body:not(.atl-has-banner) #header [data-row*="middle"] {
	--theme-link-initial-color: var(--atl-navy);
	--theme-link-hover-color: var(--atl-accent);
	--theme-text-color: var(--atl-navy);
	--theme-icon-color: var(--atl-navy);
	color: var(--atl-navy);
}

body:not(.atl-has-banner) #header .ct-menu-link {
	color: var(--atl-navy);
}

body:not(.atl-has-banner) #header .ct-menu-link:hover,
body:not(.atl-has-banner) #header .ct-menu-link:focus-visible {
	color: var(--atl-accent);
}

body:not(.atl-has-banner) #header .ct-header-trigger,
body:not(.atl-has-banner) #header .ct-header-trigger svg {
	color: var(--atl-navy);
}

body:not(.atl-has-banner) #header .ct-header-cta .ct-button-ghost {
	--theme-button-text-initial-color: var(--atl-navy);
	--theme-button-text-hover-color: var(--atl-cream);
	--theme-button-background-initial-color: transparent;
	--theme-button-background-hover-color: var(--atl-navy);
	--theme-border-color: var(--atl-navy);
	color: var(--atl-navy);
	border: 1px solid var(--atl-navy);
	background: transparent;
}

body:not(.atl-has-banner) #header .ct-header-cta .ct-button-ghost:hover,
body:not(.atl-has-banner) #header .ct-header-cta .ct-button-ghost:focus-visible {
	color: var(--atl-cream);
	background: var(--atl-navy);
	border-color: var(--atl-navy);
}

body:not(.atl-has-banner) .site-logo-container img.default-logo {
	max-height: 3.25rem;
	width: auto;
	height: auto;
	object-fit: contain;
}

@media (max-width: 999px) {
	body.atl-has-banner .site-logo-container img.default-logo,
	body:not(.atl-has-banner) .site-logo-container img.default-logo {
		max-height: 2.75rem;
	}
}

/* Offcanvas (mobile) — sempre legível sobre cream */
body:not(.atl-has-banner) #offcanvas .ct-menu-link {
	color: var(--atl-navy);
}

body.atl-has-banner #offcanvas .ct-menu-link {
	color: var(--atl-navy);
}

/* ------------------------------------------------------------ Menu mobile (offcanvas) */
#offcanvas.ct-panel {
	--theme-panel-width: min(86vw, 24rem);
}

#offcanvas .ct-panel-inner {
	background: var(--atl-navy);
	color: var(--atl-cream);
	box-shadow: -30px 0 60px -30px rgba(0, 0, 0, 0.5);
}

#offcanvas .ct-panel-actions {
	padding: calc(env(safe-area-inset-top, 0px) + 0.75rem) 1rem 0.75rem;
	border-bottom: 1px solid rgba(232, 231, 209, 0.15);
}

#offcanvas .ct-toggle-close {
	--theme-icon-color: var(--atl-cream);
	color: var(--atl-cream);
	width: 2.75rem;
	height: 2.75rem;
	border: 0;
	background: transparent;
	opacity: 0.9;
}

#offcanvas .ct-toggle-close .ct-icon {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

#offcanvas .ct-panel-content-inner {
	padding: 1.5rem 1.75rem calc(env(safe-area-inset-bottom, 0px) + 2rem);
}

#offcanvas .mobile-menu > ul {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

#offcanvas .mobile-menu li {
	border-bottom: 1px solid rgba(232, 231, 209, 0.14);
	opacity: 0;
	transform: translateX(14px);
	transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}

#offcanvas.active .mobile-menu li {
	opacity: 1;
	transform: none;
}

#offcanvas.active .mobile-menu li:nth-child(1) { transition-delay: 0.12s; }
#offcanvas.active .mobile-menu li:nth-child(2) { transition-delay: 0.18s; }
#offcanvas.active .mobile-menu li:nth-child(3) { transition-delay: 0.24s; }
#offcanvas.active .mobile-menu li:nth-child(4) { transition-delay: 0.30s; }
#offcanvas.active .mobile-menu li:nth-child(5) { transition-delay: 0.36s; }
#offcanvas.active .mobile-menu li:nth-child(6) { transition-delay: 0.42s; }

#offcanvas .mobile-menu .ct-menu-link,
body #offcanvas .mobile-menu .ct-menu-link {
	display: block;
	padding: 1.05rem 0;
	color: var(--atl-cream);
	font-family: var(--atl-font-heading, "Playfair Display", serif);
	font-size: 1.55rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: left;
	transition: color 0.2s ease, padding-left 0.25s ease;
}

#offcanvas .mobile-menu .ct-menu-link:hover,
#offcanvas .mobile-menu .ct-menu-link:focus-visible,
#offcanvas .mobile-menu .current-menu-item > .ct-menu-link,
#offcanvas .mobile-menu .current_page_item > .ct-menu-link {
	color: var(--atl-accent);
	padding-left: 0.4rem;
}

/* Último item como botão */
#offcanvas .mobile-menu li:last-child {
	margin-top: 2rem;
	border-bottom: 0;
}

#offcanvas .mobile-menu li:last-child .ct-menu-link {
	padding: 0.95rem 1rem;
	border: 1px solid var(--atl-cream);
	font-family: var(--atl-font-body, "Lato", sans-serif);
	font-size: 0.8rem;
	letter-spacing: 0.16em;
	text-align: center;
	text-transform: uppercase;
}

#offcanvas .mobile-menu li:last-child .ct-menu-link:hover,
#offcanvas .mobile-menu li:last-child .ct-menu-link:focus-visible {
	padding-left: 1rem;
	background: var(--atl-cream);
	color: var(--atl-navy);
}

@media (prefers-reduced-motion: reduce) {
	#offcanvas .mobile-menu li {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
