/* ==========================================================================
   El Maletero — Estructura
   Cabecera, navegacion, dock movil, capas y pie.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Barra de anuncio
   -------------------------------------------------------------------------- */

.em-announce {
	position: relative;
	background: var(--em-primary);
	color: var(--em-canvas);
	text-align: center;
	overflow: hidden;
}

.em-announce__track {
	position: relative;
	height: 38px;
}

.em-announce__msg {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding-inline: 1rem;
	font-family: var(--em-font-label);
	font-size: var(--em-fs-micro);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	opacity: 0;
	transform: translateY(100%);
	transition: opacity 0.6s var(--em-ease), transform 0.6s var(--em-ease);
}

.em-announce__msg.is-active {
	opacity: 1;
	transform: none;
}

.em-announce__msg.is-out {
	opacity: 0;
	transform: translateY(-100%);
}

.em-announce a { text-decoration: underline; text-underline-offset: 3px; }

/* --------------------------------------------------------------------------
   Cabecera
   -------------------------------------------------------------------------- */

.em-header {
	position: sticky;
	top: 0;
	z-index: var(--em-z-header);
	background: var(--em-canvas);
	transition:
		transform 0.55s var(--em-ease),
		background-color 0.45s var(--em-ease),
		color 0.45s var(--em-ease),
		box-shadow 0.45s var(--em-ease);
}

.em-header[data-sticky="0"] { position: relative; }

.em-header__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1rem;
	min-height: var(--em-header-h);
	max-width: var(--em-container);
	margin-inline: auto;
	padding-inline: var(--em-gutter);
}

.em-header__col { display: flex; align-items: center; min-width: 0; }
.em-header__col--start { justify-content: flex-start; }
.em-header__col--center { justify-content: center; }
.em-header__col--end { justify-content: flex-end; }

.em-header__line {
	display: block;
	height: 1px;
	background: var(--em-line);
	transform: scaleX(1);
	transform-origin: left;
	transition: opacity 0.4s var(--em-ease);
}

/* Cabecera flotando sobre el hero de la portada */
.em-header-overlay .em-header {
	position: fixed;
	inset: auto 0 auto 0;
	top: 0;
	background: transparent;
	color: var(--em-canvas);
}

.em-header-overlay .em-header .em-header__line { opacity: 0; }
.em-header-overlay .em-header .em-count { background: var(--em-canvas); color: var(--em-primary); }

.em-header-overlay .em-main { padding-top: 0; }

/* Al hacer scroll, la cabecera se solidifica */
.em-header.is-solid {
	background: rgba(var(--em-canvas-rgb), 0.86);
	-webkit-backdrop-filter: saturate(160%) blur(18px);
	backdrop-filter: saturate(160%) blur(18px);
	color: var(--em-ink);
	box-shadow: 0 1px 0 var(--em-line);
}

.em-header.is-solid .em-header__line { opacity: 0; }
.em-header.is-solid .em-count { background: var(--em-primary); color: var(--em-canvas); }

.em-header.is-hidden { transform: translateY(-105%); }

/* --------------------------------------------------------------------------
   Marca
   -------------------------------------------------------------------------- */

.em-brand__link {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
}

.em-brand__img {
	width: auto;
	max-height: 40px;
	object-fit: contain;
	transition: max-height 0.45s var(--em-ease), filter 0.45s var(--em-ease);
}

.em-header-overlay .em-header:not(.is-solid) .em-brand__img {
	filter: brightness(0) invert(1);
}

.em-brand__text {
	font-family: var(--em-font-display);
	font-size: clamp(1.25rem, 1rem + 1vw, 1.9rem);
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1;
	white-space: nowrap;
}

.em-brand--footer .em-brand__img { max-height: 52px; }

/* --------------------------------------------------------------------------
   Navegacion de escritorio
   -------------------------------------------------------------------------- */

.em-nav { display: none; }

.em-nav__list {
	display: flex;
	align-items: center;
	gap: clamp(1.25rem, 2.2vw, 2.5rem);
}

.em-nav__item { position: relative; }

.em-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	padding-block: 0.4rem;
	font-family: var(--em-font-ui);
	font-size: var(--em-fs-xs);
	font-weight: 400;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	white-space: nowrap;
}

.em-nav__link .em-icon { transition: transform 0.35s var(--em-ease); opacity: 0.6; }
.em-nav__item--parent:hover > .em-nav__link .em-icon { transform: rotate(180deg); }

.em-nav__item.current-menu-item > .em-nav__link::after,
.em-nav__item.current_page_item > .em-nav__link::after { transform: scaleX(1); }

/* Panel desplegable (mega menu) */
.em-nav__panel {
	position: absolute;
	top: calc(100% + 10px);
	left: -1.25rem;
	min-width: 240px;
	padding: 1.5rem 1.75rem;
	background: var(--em-canvas);
	color: var(--em-ink);
	border: 1px solid var(--em-line);
	border-radius: var(--em-radius);
	box-shadow: var(--em-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition:
		opacity 0.38s var(--em-ease),
		transform 0.38s var(--em-ease),
		visibility 0.38s;
}

.em-nav__item--parent:hover > .em-nav__panel,
.em-nav__item--parent:focus-within > .em-nav__panel,
.em-nav__item--parent.is-open > .em-nav__panel {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.em-nav__sublink {
	display: block;
	padding-block: 0.42rem;
	font-size: var(--em-fs-sm);
	white-space: nowrap;
	opacity: 0.78;
	transition: opacity 0.3s var(--em-ease), transform 0.3s var(--em-ease);
}

.em-nav__sublink:hover {
	opacity: 1;
	transform: translateX(4px);
}

.em-nav__sublist { margin-top: 0.5rem; padding-left: 0.9rem; border-left: 1px solid var(--em-line); }

/* --------------------------------------------------------------------------
   Botones de icono y utilidades
   -------------------------------------------------------------------------- */

.em-utility {
	display: flex;
	align-items: center;
	gap: clamp(0.15rem, 1vw, 0.6rem);
}

.em-utility__links { display: none; }

.em-utility__list {
	display: flex;
	gap: 1.25rem;
	font-family: var(--em-font-label);
	font-size: var(--em-fs-micro);
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.em-utility__list a { opacity: 0.7; }
.em-utility__list a:hover { opacity: 1; }

.em-iconbtn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 999px;
	transition: background-color 0.3s var(--em-ease), transform 0.3s var(--em-ease);
}

.em-iconbtn:hover { background: rgba(var(--em-ink-rgb), 0.06); }
.em-iconbtn:active { transform: scale(0.94); }

.em-header-overlay .em-header:not(.is-solid) .em-iconbtn:hover {
	background: rgba(var(--em-canvas-rgb), 0.16);
}

.em-iconbtn--desk { display: none; }
.em-iconbtn--menu { display: inline-flex; }

.em-count {
	position: absolute;
	top: 4px;
	right: 2px;
	min-width: 17px;
	height: 17px;
	padding-inline: 4px;
	display: grid;
	place-items: center;
	background: var(--em-primary);
	color: var(--em-canvas);
	border-radius: 999px;
	font-family: var(--em-font-label);
	font-size: 10px;
	font-weight: 600;
	line-height: 1;
	transition: transform 0.35s var(--em-ease), background-color 0.35s var(--em-ease);
}

.em-count.is-bump { animation: em-bump 0.5s var(--em-ease); }

@keyframes em-bump {
	0% { transform: scale(1); }
	35% { transform: scale(1.45); }
	100% { transform: scale(1); }
}

/* --------------------------------------------------------------------------
   DOCK INFERIOR (movil) — el menu vive en el pie
   -------------------------------------------------------------------------- */

.em-dock {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: var(--em-z-dock);
	padding: 0 12px calc(10px + var(--em-safe-b));
	pointer-events: none;
	transform: translateY(0);
	transition: transform 0.5s var(--em-ease), opacity 0.4s var(--em-ease);
}

.em-dock.is-hidden {
	transform: translateY(calc(100% + 16px));
	opacity: 0;
}

.em-dock__inner {
	position: relative;
	display: flex;
	align-items: stretch;
	justify-content: space-around;
	gap: 2px;
	max-width: 520px;
	margin-inline: auto;
	padding: 6px;
	pointer-events: auto;
	background: rgba(var(--em-canvas-rgb), 0.78);
	-webkit-backdrop-filter: saturate(180%) blur(22px);
	backdrop-filter: saturate(180%) blur(22px);
	border: 1px solid rgba(var(--em-ink-rgb), 0.08);
	border-radius: 22px;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.55) inset,
		0 20px 50px -22px rgba(var(--em-primary-rgb), 0.45);
}

.em-dock--edge { padding: 0; }

.em-dock--edge .em-dock__inner {
	max-width: none;
	border-radius: 0;
	border-inline: 0;
	border-bottom: 0;
	padding: 4px 4px calc(4px + var(--em-safe-b));
	box-shadow: 0 -1px 0 var(--em-line);
}

.em-dock__btn {
	position: relative;
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-height: 52px;
	padding: 6px 2px;
	border-radius: 16px;
	color: var(--em-ink);
	transition: color 0.3s var(--em-ease), background-color 0.3s var(--em-ease), transform 0.25s var(--em-ease);
}

.em-dock__btn:active { transform: scale(0.93); }

.em-dock__btn.is-current,
.em-dock__btn.is-active {
	color: var(--em-primary);
	background: rgba(var(--em-primary-rgb), 0.07);
}

.em-dock__ico {
	position: relative;
	display: grid;
	place-items: center;
	height: 22px;
}

.em-dock__ico .em-count { top: -5px; right: -9px; }

.em-dock__label {
	font-family: var(--em-font-label);
	font-size: 9.5px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
	opacity: 0.85;
	white-space: nowrap;
}

.em-dock--nolabels .em-dock__label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.em-dock--nolabels .em-dock__btn { min-height: 46px; }

/* Icono hamburguesa animado del boton central */
.em-burger {
	position: relative;
	display: block;
	width: 20px;
	height: 12px;
}

.em-burger i {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1.4px;
	background: currentColor;
	border-radius: 2px;
	transition: transform 0.45s var(--em-ease), width 0.45s var(--em-ease);
}

.em-burger i:nth-child(1) { top: 2px; }
.em-burger i:nth-child(2) { bottom: 2px; width: 70%; }

.em-dock__btn--menu:hover .em-burger i:nth-child(2),
.em-dock__btn--menu.is-active .em-burger i:nth-child(2) { width: 100%; }

.em-dock__btn--menu.is-active .em-burger i:nth-child(1) { transform: translateY(4px) rotate(45deg); }
.em-dock__btn--menu.is-active .em-burger i:nth-child(2) { transform: translateY(-4px) rotate(-45deg); }

/* Deja aire al final del documento para que el dock no tape contenido */
.em-has-dock .em-footer { padding-bottom: calc(var(--em-dock-h) + var(--em-safe-b) + 28px); }

/* --------------------------------------------------------------------------
   Panel movil a pantalla completa
   -------------------------------------------------------------------------- */

.em-sheet {
	position: fixed;
	inset: 0;
	z-index: var(--em-z-layer);
	display: flex;
	align-items: flex-end;
	visibility: hidden;
	pointer-events: none;
}

.em-sheet[aria-hidden="false"] {
	visibility: visible;
	pointer-events: auto;
}

.em-sheet__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-height: 92svh;
	background: var(--em-canvas);
	border-radius: 24px 24px 0 0;
	box-shadow: 0 -30px 80px -30px rgba(var(--em-primary-rgb), 0.5);
	transform: translateY(100%);
	transition: transform 0.62s var(--em-ease-out);
	overscroll-behavior: contain;
}

.em-sheet[aria-hidden="false"] .em-sheet__panel { transform: translateY(0); }

.em-sheet__grabber {
	display: grid;
	place-items: center;
	padding: 10px 0 4px;
	cursor: grab;
	touch-action: none;
}

.em-sheet__grabber span {
	width: 42px;
	height: 4px;
	background: rgba(var(--em-ink-rgb), 0.18);
	border-radius: 99px;
}

.em-sheet__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 4px var(--em-gutter) 12px;
}

.em-sheet__scroll {
	flex: 1;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	padding: 0 var(--em-gutter) calc(var(--em-dock-h) + var(--em-safe-b) + 32px);
}

.em-sheet__list { border-top: 1px solid var(--em-line); }

.em-sheet__item { border-bottom: 1px solid var(--em-line); }

.em-sheet__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}

.em-sheet__link {
	flex: 1;
	display: block;
	padding: 1.05rem 0;
	font-family: var(--em-font-display);
	font-size: clamp(1.5rem, 6.5vw, 2.25rem);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.015em;
	opacity: 0;
	transform: translateY(14px);
}

.em-sheet[aria-hidden="false"] .em-sheet__link {
	animation: em-sheet-in 0.65s var(--em-ease-out) forwards;
	animation-delay: calc(var(--i, 0) * 45ms + 120ms);
}

@keyframes em-sheet-in {
	to { opacity: 1; transform: none; }
}

.em-sheet__item--d1 .em-sheet__link,
.em-sheet__item--d2 .em-sheet__link {
	font-family: var(--em-font-body);
	font-size: var(--em-fs-base);
	padding: 0.6rem 0;
	opacity: 0.75;
	transform: none;
	animation: none;
}

.em-sheet__toggle {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	transition: background-color 0.3s var(--em-ease);
}

.em-sheet__toggle .em-icon { transition: transform 0.4s var(--em-ease); }
.em-sheet__toggle[aria-expanded="true"] .em-icon { transform: rotate(135deg); }
.em-sheet__toggle:hover { background: rgba(var(--em-ink-rgb), 0.06); }

.em-sheet__sublist {
	display: grid;
	grid-template-rows: 0fr;
	overflow: hidden;
	transition: grid-template-rows 0.5s var(--em-ease), padding 0.5s var(--em-ease);
}

.em-sheet__sublist > * { min-height: 0; }
.em-sheet__item.is-open > .em-sheet__sublist {
	grid-template-rows: 1fr;
	padding-bottom: 0.9rem;
}

.em-sheet__quick {
	display: grid;
	gap: 1px;
	margin-top: 1.75rem;
	background: var(--em-line);
	border: 1px solid var(--em-line);
	border-radius: var(--em-radius);
	overflow: hidden;
}

.em-sheet__quicklink {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 1rem 1.15rem;
	background: var(--em-canvas);
	font-size: var(--em-fs-sm);
}

.em-sheet__quicklink span { flex: 1; }
.em-sheet__quicklink .em-icon:last-child { opacity: 0.45; }

.em-sheet__legal { margin-top: 1.75rem; }

.em-sheet__legallist {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	font-family: var(--em-font-label);
	font-size: var(--em-fs-micro);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--em-muted);
}

.em-sheet__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--em-line);
}

.em-sheet__tagline {
	margin: 0;
	font-size: 1.4rem;
	font-style: italic;
	opacity: 0.4;
}

/* --------------------------------------------------------------------------
   Paneles laterales (bolsa, filtros)
   -------------------------------------------------------------------------- */

.em-drawer {
	position: fixed;
	inset: 0;
	z-index: var(--em-z-layer);
	display: flex;
	justify-content: flex-end;
	visibility: hidden;
	pointer-events: none;
}

.em-drawer[aria-hidden="false"] { visibility: visible; pointer-events: auto; }

.em-drawer--filters { justify-content: flex-start; }

.em-drawer__panel {
	display: flex;
	flex-direction: column;
	width: min(440px, 100%);
	height: 100%;
	background: var(--em-canvas);
	box-shadow: var(--em-shadow-lift);
	transform: translateX(100%);
	transition: transform 0.6s var(--em-ease-out);
}

.em-drawer--filters .em-drawer__panel { transform: translateX(-100%); }
.em-drawer[aria-hidden="false"] .em-drawer__panel { transform: none; }

.em-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.15rem 1.35rem;
	border-bottom: 1px solid var(--em-line);
	flex: 0 0 auto;
}

.em-drawer__title { margin: 0; }

.em-drawer__body {
	flex: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	padding: 1.35rem;
	padding-bottom: calc(1.35rem + var(--em-safe-b));
}

.em-drawer__foot {
	flex: 0 0 auto;
	display: grid;
	gap: 0.6rem;
	padding: 1.15rem 1.35rem calc(1.15rem + var(--em-safe-b));
	border-top: 1px solid var(--em-line);
}

/* --------------------------------------------------------------------------
   Busqueda inmersiva
   -------------------------------------------------------------------------- */

.em-search {
	position: fixed;
	inset: 0;
	z-index: var(--em-z-layer);
	visibility: hidden;
	pointer-events: none;
}

.em-search[aria-hidden="false"] { visibility: visible; pointer-events: auto; }

.em-search__panel {
	position: absolute;
	inset: 0 0 auto 0;
	max-height: 100svh;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--em-canvas);
	box-shadow: var(--em-shadow);
	transform: translateY(-100%);
	transition: transform 0.6s var(--em-ease-out);
}

.em-search[aria-hidden="false"] .em-search__panel { transform: none; }

.em-search__form {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	max-width: var(--em-container);
	margin-inline: auto;
	padding: 1.15rem var(--em-gutter);
	border-bottom: 1px solid var(--em-line);
}

.em-search__form > .em-icon { opacity: 0.45; flex: 0 0 auto; }

.em-search__input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: none;
	font-family: var(--em-font-display);
	font-size: clamp(1.35rem, 4vw, 2.25rem);
	font-weight: 300;
	letter-spacing: -0.01em;
}

.em-search__input::placeholder { color: rgba(var(--em-ink-rgb), 0.3); }
.em-search__input:focus { outline: none; }
.em-search__input::-webkit-search-cancel-button { display: none; }

.em-search__body {
	max-width: var(--em-container);
	margin-inline: auto;
	padding: 1.5rem var(--em-gutter) 2.5rem;
}

.em-search__results { display: grid; gap: 2px; }

.em-search__result a {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.7rem;
	border-radius: var(--em-radius);
	transition: background-color 0.3s var(--em-ease);
}

.em-search__result a:hover { background: rgba(var(--em-ink-rgb), 0.045); }

.em-search__thumb {
	flex: 0 0 auto;
	width: 58px;
	aspect-ratio: 1;
	overflow: hidden;
	background: rgba(var(--em-ink-rgb), 0.05);
}

.em-search__thumb img { width: 100%; height: 100%; object-fit: cover; }

.em-search__meta { flex: 1; display: grid; gap: 2px; min-width: 0; }

.em-search__title {
	font-size: var(--em-fs-sm);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.em-search__price { font-family: var(--em-font-label); font-size: var(--em-fs-micro); color: var(--em-muted); }
.em-search__result .em-icon { opacity: 0; transform: translateX(-6px); transition: all 0.35s var(--em-ease); }
.em-search__result a:hover .em-icon { opacity: 0.5; transform: none; }

.em-search__all { margin-top: 1.25rem; }
.em-search__empty { color: var(--em-muted); }

.em-search__suggest { margin-top: 1.5rem; }
.em-search__chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.85rem; }
.em-search__suggest.is-hidden { display: none; }

/* --------------------------------------------------------------------------
   Velo compartido
   -------------------------------------------------------------------------- */

.em-scrim {
	position: fixed;
	inset: 0;
	z-index: var(--em-z-scrim);
	background: rgba(var(--em-primary-rgb), 0.42);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s var(--em-ease), visibility 0.5s;
}

.em-scrim.is-on { opacity: 1; visibility: visible; }

/* --------------------------------------------------------------------------
   Pie
   -------------------------------------------------------------------------- */

.em-footer {
	flex: 0 0 auto;
	margin-top: var(--em-space-xl);
	padding-top: var(--em-space-lg);
	border-top: 1px solid var(--em-line);
	background: var(--em-canvas);
}

.em-footer__top {
	display: grid;
	gap: var(--em-space-lg);
	padding-bottom: var(--em-space-lg);
}

.em-footer__tagline {
	margin: 1.25rem 0 1.5rem;
	font-size: clamp(2rem, 7vw, 3.25rem);
	font-style: italic;
	line-height: 1;
	color: var(--em-primary);
}

.em-footer__contact {
	display: grid;
	gap: 0.35rem;
	font-size: var(--em-fs-sm);
	color: var(--em-muted);
}

.em-footer__contact a:hover { color: var(--em-ink); }
.em-footer__hours { font-size: var(--em-fs-xs); }

.em-footer__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: var(--em-space-md);
}

.em-footer__coltitle { margin: 0 0 1rem; }

.em-footer__menu {
	display: grid;
	gap: 0.5rem;
	font-size: var(--em-fs-sm);
}

.em-footer__menu a { opacity: 0.72; }
.em-footer__menu a:hover { opacity: 1; }

.em-social { display: flex; gap: 0.35rem; margin-top: 1.5rem; }

.em-social__link {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--em-line);
	border-radius: 999px;
	transition: background-color 0.35s var(--em-ease), color 0.35s var(--em-ease), border-color 0.35s var(--em-ease);
}

.em-social__link:hover {
	background: var(--em-primary);
	border-color: var(--em-primary);
	color: var(--em-canvas);
}

.em-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 1.25rem;
	border-top: 1px solid var(--em-line);
	font-family: var(--em-font-label);
	font-size: var(--em-fs-micro);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--em-muted);
}

.em-footer__copy { margin: 0; }

.em-totop {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	transition: gap 0.35s var(--em-ease);
}

.em-totop:hover { gap: 1rem; color: var(--em-ink); }

/* --------------------------------------------------------------------------
   Puntos de ruptura
   -------------------------------------------------------------------------- */

@media (min-width: 600px) {
	.em-footer__top { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 900px) {
	:root { --em-header-h: 88px; }

	.em-footer__top { grid-template-columns: minmax(280px, 1fr) minmax(0, 1.6fr); }
	.em-iconbtn--desk { display: inline-flex; }
	.em-utility__links { display: block; margin-right: 0.75rem; }
}

@media (min-width: 1024px) {
	.em-nav { display: block; }
	.em-iconbtn--menu { display: none; }
	.em-dock { display: none; }
	.em-has-dock .em-footer { padding-bottom: 0; }
	.em-sheet { display: none; }
}
