.site-header {
	position: relative;
	background-color: var(--listiko-header-bg);
	color: var(--listiko-header-text);
}

.site-header a {
	color: var(--listiko-header-text);
}

.site-header__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--listiko-space-3);
	padding-block: var(--listiko-space-3);
}

.site-branding {
	display: flex;
	align-items: center;
	gap: var(--listiko-space-2);
}

.site-branding .custom-logo {
	display: block;
	width: auto;
	height: auto;
	max-height: 40px;
}

.site-title {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0;
}

.site-title a {
	color: var(--listiko-color-accent);
}

.site-description {
	margin: 0;
	font-size: 0.75rem;
	color: var(--listiko-header-text-muted);
}

/* Primary navigation: desktop only. */
.primary-navigation {
	display: none;
}

.primary-navigation .primary-menu {
	display: flex;
	gap: var(--listiko-space-4);
}

.primary-navigation .primary-menu a {
	display: inline-block;
	font-weight: 500;
	padding-block: var(--listiko-space-1);
	border-bottom: 2px solid transparent;
}

.primary-navigation .primary-menu a:hover,
.primary-navigation .current-menu-item > a,
.primary-navigation .current_page_item > a {
	color: var(--listiko-color-accent);
	border-color: var(--listiko-color-accent);
	text-decoration: none;
}

/* Search form. */
.search-form {
	display: flex;
	align-items: center;
	background-color: var(--listiko-header-surface);
	border-radius: var(--listiko-radius-pill);
	padding-inline-start: var(--listiko-space-3);
}

.search-form .search-field {
	flex: 1;
	min-width: 10rem;
	background: none;
	border: 0;
	padding-block: var(--listiko-space-2);
	color: inherit;
}

.search-form .search-field::placeholder {
	color: var(--listiko-header-text-muted);
}

.search-form .search-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	color: inherit;
}

.header-search {
	display: none;
}

/* Mobile search toggle (no JS required: native <details>/<summary>). */
.header-search-mobile {
	position: static;
}

.header-search-mobile__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	list-style: none;
	border-radius: var(--listiko-radius-pill);
}

.header-search-mobile__toggle::-webkit-details-marker {
	display: none;
}

.header-search-mobile__toggle:hover {
	background-color: var(--listiko-header-surface);
}

.header-search-mobile__panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 10;
	padding: var(--listiko-space-3);
	background-color: var(--listiko-header-bg);
	border-top: 1px solid var(--listiko-header-border);
	border-bottom: 1px solid var(--listiko-header-border);
}

.header-search-mobile__panel .search-form {
	background-color: var(--listiko-header-surface);
}

/* Cart link + dark mode toggle. */
.header-actions {
	display: flex;
	align-items: center;
	gap: var(--listiko-space-1);
}

.header-cart,
.theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-width: 2.5rem;
	min-height: 2.5rem;
	border-radius: var(--listiko-radius-pill);
}

.header-cart:hover,
.header-cart:focus-visible,
.theme-toggle:hover,
.theme-toggle:focus-visible {
	background-color: var(--listiko-header-surface);
	outline: 2px solid var(--listiko-color-accent);
	outline-offset: 1px;
}

.icon {
	width: 1.25rem;
	height: 1.25rem;
}

.cart-contents-count {
	position: absolute;
	top: 0.05rem;
	right: 0.05rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.1rem;
	height: 1.1rem;
	padding-inline: 0.2rem;
	border-radius: var(--listiko-radius-pill);
	background-color: var(--listiko-color-accent);
	color: var(--listiko-color-accent-contrast);
	font-size: 0.65rem;
	font-weight: 700;
	line-height: 1.1rem;
}

/* Dark mode toggle: show the icon for the action, not the current state. */
.theme-toggle__icon--sun {
	display: none;
}

:root[data-theme="dark"] .theme-toggle__icon--sun {
	display: block;
}

:root[data-theme="dark"] .theme-toggle__icon--moon {
	display: none;
}

/* "Ir a la Tienda" CTA: desktop only. */
.header-cta {
	display: none;
}

@media (min-width: 768px) {
	.primary-navigation {
		display: block;
	}

	.header-search {
		display: block;
	}

	.header-search-mobile {
		display: none;
	}

	.header-cta {
		display: inline-flex;
		align-items: center;
		gap: var(--listiko-space-1);
		padding: var(--listiko-space-2) var(--listiko-space-4);
		border-radius: var(--listiko-radius-pill);
		background-color: var(--listiko-color-accent);
		color: var(--listiko-color-accent-contrast);
		font-weight: 600;
		white-space: nowrap;
	}

	.header-cta:hover {
		text-decoration: none;
		opacity: 0.9;
	}
}

/* Fixed bottom navigation: mobile only (Inicio / Tienda / Contacto). */
.nav-mobile {
	display: flex;
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 30;
	background-color: var(--listiko-header-bg);
	border-top: 1px solid var(--listiko-header-border);
}

.nav-mobile__list {
	display: flex;
	width: 100%;
}

.nav-mobile__list li {
	flex: 1;
}

.nav-mobile__list a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--listiko-space-1);
	padding-block: var(--listiko-space-3);
	color: var(--listiko-header-text);
	font-size: 0.875rem;
	font-weight: 500;
	text-align: center;
}

.nav-mobile .current-menu-item > a,
.nav-mobile .current_page_item > a {
	color: var(--listiko-color-accent);
}

/* "Tienda" rendered as the accent pill button, same height as the other tabs. */
.nav-mobile__item--shop a {
	margin-block: var(--listiko-space-2);
	margin-inline: var(--listiko-space-2);
	padding-block: var(--listiko-space-2);
	padding-inline: var(--listiko-space-3);
	border-radius: var(--listiko-radius-pill);
	background-color: var(--listiko-color-accent);
	color: var(--listiko-color-accent-contrast);
	font-weight: 600;
	white-space: nowrap;
}

.nav-mobile__item--shop.current-menu-item > a,
.nav-mobile__item--shop.current_page_item > a {
	color: var(--listiko-color-accent-contrast);
}

.nav-mobile__item--shop a:hover {
	text-decoration: none;
	opacity: 0.9;
}

.nav-mobile__item--shop .icon {
	width: 1.1rem;
	height: 1.1rem;
}

@media (min-width: 768px) {
	.nav-mobile {
		display: none;
	}
}

@media (max-width: 767.98px) {
	body {
		padding-bottom: 3.5rem;
	}
}
