/* Shell global, tipografía funcional, contenedores y accesibilidad. */

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	overflow-x: hidden;
	background: var(--ldb-cream);
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

#header {
	position: sticky;
	top: 0;
	z-index: var(--ldb-z-header);
	border-bottom: var(--ldb-border-bold) solid var(--ldb-black);
	background: var(--ldb-cream);
}

.ldb-header__inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: var(--ldb-space-xl);
	width: min(100% - 2rem, var(--ldb-container));
	min-height: 108px;
	margin-inline: auto;
}

.ldb-logo {
	display: block;
	width: 184px;
	color: var(--ldb-black);
	text-decoration: none;
}

.ldb-logo:hover {
	color: var(--ldb-black);
}

.ldb-brand-mark {
	position: relative;
	display: inline-grid;
	width: 100%;
	font-family: var(--ldb-font-display);
	font-weight: 400;
	line-height: 0.82;
	letter-spacing: 0.015em;
	text-transform: uppercase;
}

.ldb-brand-mark__top {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: end;
	margin: 0 9% -2% 4%;
}

.ldb-brand-mark__la,
.ldb-brand-mark__del,
.ldb-brand-mark__barrio {
	display: block;
	border: 3px solid var(--ldb-black);
	color: var(--ldb-black);
	box-shadow: 3px 3px 0 var(--ldb-black);
}

.ldb-brand-mark__la,
.ldb-brand-mark__del {
	padding: 0.12em 0.16em 0.08em;
	font-size: 2rem;
}

.ldb-brand-mark__la {
	z-index: 2;
	background: var(--ldb-yellow);
	transform: rotate(-3deg);
}

.ldb-brand-mark__del {
	margin-left: -0.05em;
	background: var(--ldb-pink);
	transform: rotate(-1.5deg);
}

.ldb-brand-mark__barrio {
	z-index: 1;
	padding: 0.08em 0.12em 0.05em;
	background: var(--ldb-cream);
	font-size: 2.42rem;
	text-align: center;
	transform: rotate(-1deg);
}

.ldb-brand-mark__claim {
	z-index: 3;
	justify-self: center;
	margin-top: -0.05em;
	padding: 0.26em 0.6em;
	border: 2px solid var(--ldb-black);
	background: var(--ldb-yellow);
	box-shadow: 3px 3px 0 var(--ldb-black);
	font-family: var(--ldb-font-functional);
	font-size: 0.42rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.02em;
	transform: rotate(-3deg);
}

.ldb-brand-mark__spark {
	position: absolute;
	top: -0.45rem;
	right: -0.65rem;
	display: grid;
	place-items: center;
	width: 2.05rem;
	aspect-ratio: 1;
	border: 2px solid var(--ldb-cream);
	clip-path: polygon(50% 0%,62% 18%,82% 11%,84% 33%,100% 45%,82% 60%,88% 82%,65% 82%,50% 100%,36% 82%,12% 88%,17% 64%,0 50%,18% 36%,12% 14%,37% 18%);
	background: var(--ldb-pink);
	color: var(--ldb-black);
	font: 900 0.46rem/1 var(--ldb-font-functional);
	transform: rotate(8deg);
}

.ldb-brand-mark__spark::before,
.ldb-brand-mark__spark::after {
	content: "";
	position: absolute;
	width: 0.2rem;
	height: 0.7rem;
	background: var(--ldb-black);
}

.ldb-brand-mark__spark::before {
	top: -0.65rem;
	right: 0.15rem;
	transform: rotate(17deg);
}

.ldb-brand-mark__spark::after {
	top: -0.35rem;
	right: -0.45rem;
	transform: rotate(54deg);
}

.ldb-nav__list,
.ldb-mobile-menu__list,
.ldb-footer__menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ldb-nav__list {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 2vw, 2rem);
}

.ldb-nav a,
.ldb-tool-link {
	color: var(--ldb-black);
	font-size: var(--ldb-text-sm);
	font-weight: 700;
	text-decoration: none;
}

.ldb-nav a:hover,
.ldb-tool-link:hover {
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 5px;
}

.ldb-header__tools {
	display: flex;
	align-items: center;
	gap: var(--ldb-space-sm);
}

.ldb-search {
	display: flex;
	align-items: stretch;
	height: 44px;
	border: var(--ldb-border-thin) solid var(--ldb-black);
	border-radius: var(--ldb-radius-pill);
	overflow: hidden;
	background: var(--ldb-surface);
}

.ldb-search input[type="search"] {
	width: 150px;
	min-width: 0;
	padding-inline: var(--ldb-space-md);
	border: 0;
	background: transparent;
	font: inherit;
}

.ldb-search button {
	min-width: 64px;
	padding-inline: var(--ldb-space-md);
	border: 0;
	border-left: var(--ldb-border-thin) solid var(--ldb-black);
	color: var(--ldb-black);
	background: var(--ldb-yellow);
	font: 700 var(--ldb-text-xs) / 1 var(--ldb-font-functional);
	text-transform: uppercase;
	cursor: pointer;
}

.ldb-tool-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 var(--ldb-space-sm);
}

.ldb-cart-count {
	display: inline-grid;
	place-items: center;
	min-width: 1.6rem;
	height: 1.6rem;
	margin-left: var(--ldb-space-2xs);
	border-radius: 50%;
	background: var(--ldb-pink);
	color: var(--ldb-black);
	font-weight: 900;
}

.ldb-mobile-menu {
	display: none;
}

#main {
	min-height: 60vh;
}

body.home #main {
	display: block;
	width: 100%;
	max-width: none;
	padding: 0;
}

body.home .hero-section {
	display: none;
}

#footer {
	padding: var(--ldb-space-2xl) max(1rem, calc((100vw - var(--ldb-container)) / 2)) var(--ldb-space-lg);
	border-top: var(--ldb-border-bold) solid var(--ldb-black);
	background: var(--ldb-black);
	color: var(--ldb-cream);
}

.ldb-footer__inner {
	display: grid;
	grid-template-columns: 1.2fr 0.7fr 0.8fr 1.3fr;
	gap: var(--ldb-space-xl);
}

.ldb-footer__brand {
	display: block;
	width: min(100%, 210px);
	margin: 0 0 var(--ldb-space-lg);
	color: var(--ldb-black);
	text-decoration: none;
}

.ldb-footer__title {
	margin-top: 0;
	font-weight: 800;
	text-transform: uppercase;
}

.ldb-footer__menu {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--ldb-space-xs);
}

#footer a {
	color: var(--ldb-cream);
}

.ldb-footer__legal {
	max-width: 28ch;
	color: var(--ldb-on-dark-muted);
	font-size: var(--ldb-text-sm);
}

.ldb-newsletter__mock {
	display: grid;
	grid-template-columns: 1fr auto;
	border: var(--ldb-border-thin) solid var(--ldb-cream);
	border-radius: var(--ldb-radius-pill);
	overflow: hidden;
}

.ldb-newsletter__mock input {
	min-width: 0;
	padding: var(--ldb-space-sm) var(--ldb-space-md);
	border: 0;
	color: var(--ldb-black);
	background: var(--ldb-cream);
	font: inherit;
}

.ldb-newsletter__mock span {
	display: grid;
	place-items: center;
	padding: var(--ldb-space-sm) var(--ldb-space-md);
	color: var(--ldb-black);
	background: var(--ldb-yellow);
	font-size: var(--ldb-text-xs);
	font-weight: 900;
}

.ldb-footer__bottom {
	margin: var(--ldb-space-xl) 0 0;
	padding-top: var(--ldb-space-lg);
	border-top: 1px solid color-mix(in srgb, var(--ldb-cream) 28%, transparent);
	color: var(--ldb-on-dark-muted);
	font-size: var(--ldb-text-sm);
}

@media (max-width: 1100px) {
	.ldb-nav--desktop,
	.ldb-account,
	.ldb-search input[type="search"] {
		display: none;
	}

	.ldb-mobile-menu {
		position: relative;
		display: block;
		grid-column: 3;
		grid-row: 1;
	}

	.ldb-mobile-menu summary {
		display: grid;
		place-items: center;
		min-width: 64px;
		min-height: 44px;
		border: var(--ldb-border-thin) solid var(--ldb-black);
		border-radius: var(--ldb-radius-pill);
		font-size: var(--ldb-text-sm);
		font-weight: 800;
		list-style: none;
		cursor: pointer;
	}

	.ldb-mobile-menu nav {
		position: absolute;
		top: calc(100% + 0.8rem);
		right: 0;
		width: min(82vw, 320px);
		border: var(--ldb-border-thin) solid var(--ldb-black);
		background: var(--ldb-cream);
		box-shadow: var(--ldb-shadow-hard);
	}

	.ldb-mobile-menu__list a {
		display: block;
		min-height: 48px;
		padding: var(--ldb-space-md);
		border-bottom: 1px solid var(--ldb-black);
		font-weight: 700;
		text-decoration: none;
	}

	.ldb-header__tools {
		justify-self: end;
		margin-right: 74px;
	}

	.ldb-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.ldb-header__inner {
		display: flex;
		width: min(100% - 1rem, var(--ldb-container));
		min-height: 82px;
		gap: var(--ldb-space-xs);
	}

	.ldb-logo {
		flex: 0 0 108px;
		width: 108px;
	}

	.ldb-brand-mark__la,
	.ldb-brand-mark__del { font-size: 1.25rem; border-width: 2px; box-shadow: 2px 2px 0 var(--ldb-black); }
	.ldb-brand-mark__barrio { font-size: 1.48rem; border-width: 2px; box-shadow: 2px 2px 0 var(--ldb-black); }
	.ldb-brand-mark__claim { display: none; }
	.ldb-brand-mark__spark { width: 1.3rem; top: -0.25rem; right: -0.4rem; font-size: 0.3rem; }
	.ldb-brand-mark__spark::before,
	.ldb-brand-mark__spark::after { display: none; }

	.ldb-header__tools {
		margin-left: auto;
		margin-right: 62px;
	}

	.ldb-search {
		display: none;
	}

	.ldb-search button {
		min-width: 44px;
		padding: 0;
		font-size: 0;
	}

	.ldb-search button::after {
		content: "BUS";
		font-size: 0.65rem;
	}

	.ldb-tool-link {
		padding-inline: var(--ldb-space-xs);
		font-size: 0;
	}

	.ldb-cart::before {
		content: "CARRITO";
		font-size: 0.68rem;
	}

	.ldb-cart-count {
		font-size: var(--ldb-text-xs);
	}

	.ldb-mobile-menu summary {
		min-width: 56px;
		font-size: 0.72rem;
	}

	.ldb-header__tools {
		margin-right: 0;
	}

	.ldb-mobile-menu {
		flex: 0 0 56px;
	}

	.ldb-footer__inner {
		grid-template-columns: 1fr;
	}

	.ldb-newsletter__mock {
		grid-template-columns: 1fr;
		border-radius: var(--ldb-radius-md);
	}
}
