/* Header cart icon (all pages). The header bar itself stays as the parent theme draws it. */
.lb-hd-cart {
	display: flex;
	align-items: center;
	margin-inline-start: 8px;
}
#masthead .lb-cart-link,
#masthead-mobile .lb-cart-link,
.lb-cart-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	color: #FFFFFF;
	text-decoration: none;
}
#masthead .lb-cart-link:hover,
#masthead-mobile .lb-cart-link:hover,
#masthead .lb-cart-link:focus,
#masthead-mobile .lb-cart-link:focus { color: #E8B081; }
.lb-cart-link:focus-visible {
	outline: 2px solid #FFFFFF;
	outline-offset: 2px;
}
.lb-cart-link .lb-ico {
	width: 24px;
	height: 24px;
}
.lb-cart-count {
	position: absolute;
	top: 3px;
	right: 0;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 9px;
	background: #C01E3E;
	color: #FFFFFF;
	font: 600 11px/18px "Raleway", Arial, sans-serif;
	text-align: center;
	box-sizing: border-box;
}
/* Empty cart: no badge. The fragment re-renders the link without .is-empty when items are added. */
.lb-cart-count.is-empty { display: none; }
/* Mobile header: cart next to the menu toggle. */
.site-mobile-header-section-right {
	display: flex;
	align-items: center;
	gap: 4px;
}
.site-header-mobile .lb-hd-cart { margin-inline-start: 0; }

/* Nine items (with "Tienda") must fit in one row of the 1140 px header. */
.site-header .main-navigation #header-menu > li > a {
	padding-left: 12px;
	padding-right: 12px;
}
@media (max-width: 1180px) {
	.site-header .main-navigation #header-menu > li > a {
		padding-left: 8px;
		padding-right: 8px;
		font-size: 15px;
	}
}

/* Mobile menu: the current item was black text on black (Customizer value). Keep it readable. */
.off-canvas-widget-area #off-canvas-menu li.current-menu-item > a,
.off-canvas-widget-area #off-canvas-menu li.current_page_item > a {
	color: #FFFFFF;
	background-color: #000000;
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Mobile header row: the parent gives it margin 0 -15px inside a container with 12px
   side padding, so it is 6px wider than the screen (3px horizontal scroll).
   Match the container padding. */
.site-header-mobile .container > .site-primary-mobile-header-inner-wrap { margin-left: -12px; margin-right: -12px; }

/* WordPress galleries in Elementor pages: margin-right -15px offsets the 15px right padding of
   the items, and overflows the column by a few px. Clip only the empty overflow (no scroll box). */
.elementor-image-gallery { overflow-x: clip; }

/* ---------- legal links row (bottom of the theme footer, all pages) ---------- */
.lb-legal { padding: 4px 16px 14px; }
.lb-legal ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 4px; list-style: none; margin: 0 auto; padding: 0; max-width: 1140px; }
.lb-legal li + li::before { content: "·"; color: #9a9a9a; margin-right: 4px; }
.lb-legal a { display: inline-block; padding: 4px 2px; font-size: 12px; line-height: 1.4; color: #b3b3b3; text-decoration: none; }
.lb-legal a:hover, .lb-legal a:focus-visible { color: #ffffff; text-decoration: underline; }

/* ---------- legal pages: one readable column, no sidebar ---------- */
.lb-legal-page .site-content #primary.content-area { width: 100% !important; max-width: 760px; float: none; margin-inline: auto; }
.lb-legal-page #secondary { display: none; }
