/*
 * Loja Child — main stylesheet (mobile first).
 *
 * Replaces Storefront's CSS entirely. Colours that the store owner can change
 * (primary, background, accent, buttons, sale) come from CSS custom properties
 * generated by inc/enqueue.php (loja_dynamic_css). Neutral greys and fixed
 * brand colours (WhatsApp, rating stars) are defined ONCE below in :root.
 *
 * Sections:
 *  1. Tokens & fonts          9. Product cards & badges
 *  2. Base / reset           10. Shop: layout, toolbar, filters
 *  3. Typography             11. Single product
 *  4. Buttons & forms        12. Cart & WhatsApp checkout
 *  5. Header / nav / search  13. Notices, pages, blocks
 *  6. Drawer & overlay       14. Footer
 *  7. Home sections          15. Floating button, toast
 *  8. Sections & rails       16. Utilities, motion, print
 */

/* ==========================================================================
   1. Tokens & fonts
   ========================================================================== */

@font-face {
	font-family: "Inter";
	src: url("../fonts/inter-latin.woff2") format("woff2");
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Montserrat";
	src: url("../fonts/montserrat-latin.woff2") format("woff2");
	font-weight: 600 800;
	font-style: normal;
	font-display: swap;
}

:root {
	/* Panel-controlled (overridden inline by loja_dynamic_css). */
	--lc-primary: #111111;
	--lc-on-primary: #ffffff;
	--lc-bg: #ffffff;
	--lc-accent: #00c853;
	--lc-on-accent: #111111;
	--lc-accent-dark: #00822f;
	--lc-btn: #111111;
	--lc-on-btn: #ffffff;
	--lc-btn-hover: #333333;
	--lc-sale: #ff3d00;
	--lc-on-sale: #111111;
	--lc-sale-text: #c22e00;
	--lc-radius-btn: 8px;
	--lc-radius: 12px;
	--lc-radius-lg: 20px;

	/* Neutrals (single source). */
	--lc-text: #16181d;
	--lc-muted: #5b616e;
	--lc-subtle: #8a909c;
	--lc-line: #e7e8eb;
	--lc-line-strong: #c9ccd2;
	--lc-surface: #f5f6f7;
	--lc-surface-2: #eceef0;
	--lc-white: #ffffff;
	--lc-overlay: rgba(10, 12, 16, 0.55);

	/* Fixed brand colours. */
	--lc-wa: #15803d;          /* WhatsApp action (AA contrast with white). */
	--lc-wa-hover: #166534;
	--lc-wa-brand: #25d366;    /* Icon tint only. */
	--lc-star: #f5a623;
	--lc-low: #b45309;         /* "Últimas unidades". */
	--lc-low-bg: #fff4e5;
	--lc-error: #c62828;
	--lc-error-bg: #fdecea;
	--lc-success-bg: #e8f7ee;
	--lc-info-bg: #eef3fb;
	--lc-info: #1d4ed8;

	/* Type. */
	--lc-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--lc-font-head: "Montserrat", "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;

	/* Layout. */
	--lc-container: 1320px;
	--lc-gutter: 16px;
	--lc-header-h: 64px;
	--lc-shadow-sm: 0 1px 2px rgba(16, 18, 24, 0.06), 0 1px 3px rgba(16, 18, 24, 0.08);
	--lc-shadow: 0 8px 24px rgba(16, 18, 24, 0.1);
	--lc-shadow-lg: 0 20px 48px rgba(16, 18, 24, 0.18);
	--lc-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--lc-focus: 0 0 0 3px var(--lc-white), 0 0 0 5px var(--lc-accent-dark);
}

@media (min-width: 768px) {
	:root {
		--lc-gutter: 24px;
		--lc-header-h: 72px;
	}
}

@media (min-width: 1280px) {
	:root {
		--lc-gutter: 32px;
	}
}

/* ==========================================================================
   2. Base / reset
   ========================================================================== */

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

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--lc-header-h) + 16px);
}

body {
	margin: 0;
	min-width: 320px;
	overflow-x: hidden;
	background: var(--lc-bg);
	color: var(--lc-text);
	font-family: var(--lc-font-body);
	font-size: 1rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

body.lc-lock {
	overflow: hidden;
}

img,
svg,
video,
picture {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
	border-style: none;
}

a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

a:hover {
	color: var(--lc-accent-dark);
}

ul,
ol {
	padding-left: 1.25em;
}

hr {
	border: 0;
	border-top: 1px solid var(--lc-line);
	margin: 2rem 0;
}

table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

th,
td {
	padding: 0.75rem;
	border-bottom: 1px solid var(--lc-line);
	text-align: left;
	vertical-align: middle;
}

th {
	font-weight: 600;
}

:focus {
	outline: none;
}

:focus-visible {
	outline: 2px solid var(--lc-accent-dark);
	outline-offset: 2px;
	border-radius: 4px;
}

[hidden] {
	display: none !important;
}

.lc-icon {
	width: 1.25em;
	height: 1.25em;
	flex-shrink: 0;
}

.lc-container,
.col-full {
	width: 100%;
	max-width: calc(var(--lc-container) + var(--lc-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--lc-gutter);
}

.lc-container .lc-container,
.col-full .lc-container {
	padding-inline: 0;
}

.site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.site-content {
	flex: 1 0 auto;
	min-height: 50vh;
}

.site-content:focus {
	outline: none;
}

#primary {
	min-width: 0;
	padding-block: 1.5rem 3rem;
}

@media (min-width: 1024px) {
	#primary {
		padding-block: 2rem 4rem;
	}
}

/* ==========================================================================
   3. Typography
   ========================================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.5em;
	color: var(--lc-text);
	font-family: var(--lc-font-head);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

h1 {
	font-size: clamp(1.75rem, 1.3rem + 2vw, 2.5rem);
	font-weight: 800;
}

h2 {
	font-size: clamp(1.375rem, 1.1rem + 1.2vw, 2rem);
}

h3 {
	font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
}

h4 {
	font-size: 1.125rem;
}

h5,
h6 {
	font-size: 1rem;
}

p {
	margin: 0 0 1em;
}

small {
	font-size: 0.8125rem;
}

strong,
b {
	font-weight: 600;
}

blockquote {
	margin: 1.5rem 0;
	padding: 1rem 1.25rem;
	border-left: 4px solid var(--lc-accent);
	background: var(--lc-surface);
	border-radius: 0 var(--lc-radius) var(--lc-radius) 0;
}

.lc-eyebrow {
	margin: 0 0 0.5rem;
	color: var(--lc-accent-dark);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.price,
.amount {
	font-variant-numeric: tabular-nums;
}

/* ==========================================================================
   4. Buttons & forms
   ========================================================================== */

.lc-btn,
.button,
button.button,
input[type="submit"],
.wp-block-button__link,
.wp-element-button {
	--_bg: var(--lc-btn);
	--_fg: var(--lc-on-btn);
	--_bd: var(--lc-btn);
	--_bg-h: var(--lc-btn-hover);
	--_fg-h: var(--lc-on-btn);

	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 48px;
	padding: 0.75rem 1.25rem;
	border: 1.5px solid var(--_bd);
	border-radius: var(--lc-radius-btn);
	background: var(--_bg);
	color: var(--_fg);
	font-family: var(--lc-font-head);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.18s var(--lc-ease), color 0.18s var(--lc-ease), border-color 0.18s var(--lc-ease), transform 0.18s var(--lc-ease), box-shadow 0.18s var(--lc-ease);
	-webkit-tap-highlight-color: transparent;
}

.lc-btn:hover,
.button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
	border-color: var(--_bg-h);
	background: var(--_bg-h);
	color: var(--_fg-h);
}

.lc-btn:active,
.button:active {
	transform: translateY(1px);
}

.lc-btn:focus-visible,
.button:focus-visible {
	outline: none;
	box-shadow: var(--lc-focus);
}

.lc-btn .lc-icon,
.button .lc-icon {
	width: 1.25em;
	height: 1.25em;
}

.lc-btn--primary {
	--_bg: var(--lc-btn);
	--_fg: var(--lc-on-btn);
	--_bd: var(--lc-btn);
}

.lc-btn--accent {
	--_bg: var(--lc-accent);
	--_fg: var(--lc-on-accent);
	--_bd: var(--lc-accent);
	--_bg-h: var(--lc-accent-dark);
	--_fg-h: var(--lc-white);
}

.lc-btn--whatsapp {
	--_bg: var(--lc-wa);
	--_fg: var(--lc-white);
	--_bd: var(--lc-wa);
	--_bg-h: var(--lc-wa-hover);
	--_fg-h: var(--lc-white);
}

.lc-btn--ghost {
	--_bg: rgba(255, 255, 255, 0.08);
	--_fg: var(--lc-white);
	--_bd: rgba(255, 255, 255, 0.7);
	--_bg-h: var(--lc-white);
	--_fg-h: #111111;

	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.lc-btn--outline {
	--_bg: transparent;
	--_fg: var(--lc-text);
	--_bd: var(--lc-line-strong);
	--_bg-h: var(--lc-surface);
	--_fg-h: var(--lc-text);
}

.lc-btn--outline:hover {
	border-color: var(--lc-text);
}

.lc-btn--disabled,
.lc-btn[disabled],
.button.disabled,
.button:disabled,
.button[disabled] {
	--_bg: var(--lc-surface-2);
	--_fg: var(--lc-muted);
	--_bd: var(--lc-surface-2);
	--_bg-h: var(--lc-surface-2);
	--_fg-h: var(--lc-muted);

	cursor: not-allowed;
	transform: none !important;
}

.lc-btn--block {
	display: flex;
	width: 100%;
}

.lc-btn--lg {
	min-height: 56px;
	padding: 1rem 1.75rem;
	font-size: 0.9375rem;
}

/* Loading (WooCommerce adds .loading on AJAX add to cart). */
.lc-btn.is-loading,
.button.loading {
	color: transparent !important;
	pointer-events: none;
}

.lc-btn.is-loading > *,
.button.loading > * {
	visibility: hidden;
}

.lc-btn.is-loading::after,
.button.loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	border: 2px solid var(--_fg);
	border-right-color: transparent;
	border-radius: 50%;
	animation: lc-spin 0.7s linear infinite;
}

.button.added::before {
	content: "";
	display: inline-block;
	width: 0.45em;
	height: 0.8em;
	margin-right: 0.15em;
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) translateY(-2px);
}

@keyframes lc-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Form controls. */
label {
	display: inline-block;
	margin-bottom: 0.375rem;
	font-size: 0.875rem;
	font-weight: 600;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="search"],
input[type="password"],
input[type="date"],
select,
textarea,
.input-text {
	width: 100%;
	min-height: 48px;
	padding: 0.75rem 0.875rem;
	border: 1.5px solid var(--lc-line-strong);
	border-radius: var(--lc-radius-btn);
	background: var(--lc-white);
	color: var(--lc-text);
	font: inherit;
	font-size: 1rem; /* ≥16px avoids iOS zoom. */
	line-height: 1.4;
	transition: border-color 0.15s, box-shadow 0.15s;
	-webkit-appearance: none;
	appearance: none;
}

textarea {
	min-height: 96px;
	resize: vertical;
}

select {
	padding-right: 2.5rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b616e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-position: right 0.75rem center;
	background-repeat: no-repeat;
	background-size: 18px;
	cursor: pointer;
}

input:hover,
select:hover,
textarea:hover {
	border-color: var(--lc-subtle);
}

input:focus,
select:focus,
textarea:focus,
.input-text:focus {
	border-color: var(--lc-text);
	outline: none;
	box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.08);
}

input[type="checkbox"],
input[type="radio"] {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--lc-btn);
	cursor: pointer;
	flex-shrink: 0;
}

input[type="number"] {
	-moz-appearance: textfield;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

::placeholder {
	color: var(--lc-subtle);
	opacity: 1;
}

.lc-field {
	margin: 0 0 1rem;
}

.lc-field label {
	display: block;
}

.lc-optional {
	color: var(--lc-muted);
	font-weight: 400;
}

.lc-check {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	min-height: 40px;
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 400;
	cursor: pointer;
}

.lc-check .lc-count {
	margin-left: auto;
}

.lc-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* WooCommerce form rows (reviews / future checkout). */
.form-row {
	margin: 0 0 1rem;
}

.form-row label {
	display: block;
}

.required {
	color: var(--lc-error);
	text-decoration: none;
	border: 0;
}

/* ==========================================================================
   5. Header / nav / search
   ========================================================================== */

.lc-topbar {
	background: var(--lc-primary);
	color: var(--lc-on-primary);
	font-size: 0.8125rem;
	font-weight: 500;
	text-align: center;
}

.lc-topbar p {
	margin: 0;
	padding: 0.5rem 0;
	letter-spacing: 0.01em;
}

.lc-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--lc-white);
	border-bottom: 1px solid var(--lc-line);
	transition: box-shadow 0.2s;
}

.admin-bar .lc-header {
	top: 46px;
}

@media (min-width: 783px) {
	.admin-bar .lc-header {
		top: 32px;
	}
}

@media (max-width: 600px) {
	.admin-bar .lc-header {
		top: 0;
	}
}

.lc-header.is-stuck {
	box-shadow: var(--lc-shadow-sm);
}

.lc-header__main {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-areas:
		"toggle logo actions"
		"search search search";
	align-items: center;
	column-gap: 0.25rem;
	min-height: var(--lc-header-h);
}

.lc-header__toggle {
	grid-area: toggle;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-left: -10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	color: var(--lc-text);
	cursor: pointer;
}

.lc-header__toggle .lc-icon {
	width: 24px;
	height: 24px;
}

.lc-logo {
	grid-area: logo;
	min-width: 0;
	margin: 0;
}

.lc-logo a {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	color: var(--lc-text);
	text-decoration: none;
}

.lc-logo__img {
	width: auto;
	max-width: 100%;
	max-height: 40px;
	object-fit: contain;
}

.lc-logo__text {
	display: -webkit-box;
	overflow: hidden;
	font-family: var(--lc-font-head);
	font-size: clamp(0.9375rem, 0.8rem + 0.8vw, 1.125rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.05;
	text-transform: uppercase;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.lc-header__search {
	grid-area: search;
	padding-bottom: 0.75rem;
}

.lc-js .lc-header__search {
	display: none;
}

.lc-js .lc-header.is-search-open .lc-header__search {
	display: block;
	animation: lc-fade-down 0.18s var(--lc-ease);
}

.lc-header__actions {
	grid-area: actions;
	display: flex;
	align-items: center;
	gap: 0.125rem;
	margin-right: -8px;
}

.lc-header__action {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-width: 44px;
	height: 44px;
	padding: 0 0.5rem;
	border: 0;
	border-radius: var(--lc-radius-btn);
	background: none;
	color: var(--lc-text);
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
}

.lc-header__action:hover {
	background: var(--lc-surface);
	color: var(--lc-text);
}

.lc-header__action .lc-icon {
	width: 24px;
	height: 24px;
}

.lc-header__wa .lc-icon {
	color: var(--lc-wa);
}

.lc-header__action-label {
	display: none;
}

.lc-cart-count {
	position: absolute;
	top: 4px;
	right: 2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border: 2px solid var(--lc-white);
	border-radius: 999px;
	background: var(--lc-accent);
	color: var(--lc-on-accent);
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1;
}

.lc-cart-count[data-count="0"] {
	display: none;
}

.lc-cart-count.is-bump {
	animation: lc-bump 0.4s var(--lc-ease);
}

@keyframes lc-bump {
	50% {
		transform: scale(1.35);
	}
}

@keyframes lc-fade-down {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
}

/* Search form + autocomplete. */
.lc-search {
	position: relative;
	display: flex;
	align-items: center;
}

.lc-search__input[type="search"] {
	min-height: 46px;
	padding-right: 3.25rem;
	border-color: var(--lc-surface-2);
	border-radius: 999px;
	background: var(--lc-surface);
	font-size: 1rem;
}

.lc-search__input[type="search"]:focus {
	border-color: var(--lc-text);
	background: var(--lc-white);
}

.lc-search__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.lc-search__submit {
	position: absolute;
	top: 3px;
	right: 3px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--lc-btn);
	color: var(--lc-on-btn);
	cursor: pointer;
}

.lc-search__submit .lc-icon {
	width: 18px;
	height: 18px;
}

.lc-search__results {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	left: 0;
	z-index: 60;
	max-height: min(70vh, 520px);
	overflow-y: auto;
	padding: 0.5rem;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius);
	background: var(--lc-white);
	box-shadow: var(--lc-shadow-lg);
	overscroll-behavior: contain;
}

.lc-sr__group {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lc-sr__group + .lc-sr__group {
	margin-top: 0.25rem;
	padding-top: 0.25rem;
	border-top: 1px solid var(--lc-line);
}

.lc-sr__title {
	padding: 0.5rem 0.625rem 0.25rem;
	color: var(--lc-muted);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.lc-sr__item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.5rem 0.625rem;
	border-radius: calc(var(--lc-radius) - 4px);
	color: var(--lc-text);
	text-decoration: none;
	cursor: pointer;
}

.lc-sr__item:hover,
.lc-sr__item.is-active {
	background: var(--lc-surface);
	color: var(--lc-text);
}

.lc-sr__thumb {
	width: 48px;
	height: 48px;
	border-radius: 8px;
	background: var(--lc-surface);
	object-fit: cover;
	flex-shrink: 0;
}

.lc-sr__info {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.lc-sr__brand {
	color: var(--lc-muted);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.lc-sr__name {
	overflow: hidden;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lc-sr__name mark {
	background: none;
	color: inherit;
	text-decoration: underline;
	text-decoration-color: var(--lc-accent);
	text-decoration-thickness: 2px;
}

.lc-sr__price {
	font-size: 0.8125rem;
	font-weight: 600;
}

.lc-sr__price del {
	color: var(--lc-subtle);
	font-weight: 400;
}

.lc-sr__price ins {
	text-decoration: none;
}

.lc-sr__out {
	color: var(--lc-error);
	font-size: 0.75rem;
	font-weight: 600;
}

.lc-sr__cat-count {
	margin-left: auto;
	color: var(--lc-muted);
	font-size: 0.75rem;
}

.lc-sr__all {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	margin-top: 0.375rem;
	padding: 0.75rem;
	border-radius: calc(var(--lc-radius) - 4px);
	background: var(--lc-surface);
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
}

.lc-sr__all .lc-icon {
	width: 16px;
	height: 16px;
}

.lc-sr__empty {
	margin: 0;
	padding: 1rem;
	color: var(--lc-muted);
	font-size: 0.875rem;
	text-align: center;
}

/* Desktop nav. */
.lc-nav {
	display: none;
}

@media (min-width: 1024px) {
	.lc-header__main {
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-areas: "logo search actions";
		column-gap: 2rem;
	}

	.lc-header__toggle,
	.lc-header__search-toggle {
		display: none;
	}

	.lc-logo__img {
		max-height: 48px;
	}

	.lc-logo__text {
		font-size: 1.375rem;
	}

	.lc-header__search,
	.lc-js .lc-header__search {
		display: block;
		max-width: 640px;
		width: 100%;
		margin-inline: auto;
		padding: 0;
	}

	.lc-header__action-label {
		display: inline;
	}

	.lc-header__action {
		padding: 0 0.75rem;
	}

	.lc-cart-link .lc-cart-count {
		position: static;
		border: 0;
	}

	.lc-nav {
		display: block;
		border-top: 1px solid var(--lc-line);
	}

	.lc-nav__inner {
		position: relative;
		display: flex;
		align-items: center;
		gap: 1.5rem;
		min-height: 52px;
	}

	.lc-nav__cats-btn {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		height: 40px;
		padding: 0 1rem;
		border: 0;
		border-radius: var(--lc-radius-btn);
		background: var(--lc-primary);
		color: var(--lc-on-primary);
		font-family: var(--lc-font-head);
		font-size: 0.8125rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		cursor: pointer;
	}

	.lc-nav__cats-btn .lc-icon {
		width: 18px;
		height: 18px;
	}

	.lc-nav__cats-btn .lc-icon--chevron-down {
		width: 16px;
		height: 16px;
		transition: transform 0.2s;
	}

	.lc-nav__cats-btn[aria-expanded="true"] .lc-icon--chevron-down {
		transform: rotate(180deg);
	}

	.lc-mega {
		position: absolute;
		top: calc(100% + 1px);
		right: 0;
		left: 0;
		z-index: 55;
		padding: 1.5rem;
		border: 1px solid var(--lc-line);
		border-radius: 0 0 var(--lc-radius-lg) var(--lc-radius-lg);
		background: var(--lc-white);
		box-shadow: var(--lc-shadow-lg);
		animation: lc-fade-down 0.18s var(--lc-ease);
	}

	.lc-mega__list {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
		gap: 1rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.lc-mega .lc-cat__media {
		border-radius: var(--lc-radius);
	}

	.lc-mega__all {
		display: inline-flex;
		align-items: center;
		gap: 0.375rem;
		margin-top: 1.25rem;
		font-size: 0.875rem;
		font-weight: 700;
		text-decoration: none;
	}

	.lc-mega__all .lc-icon {
		width: 16px;
		height: 16px;
	}

	.lc-menu {
		display: flex;
		flex-wrap: wrap;
		gap: 0.25rem 1.5rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.lc-menu > li {
		position: relative;
	}

	.lc-menu a {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
		color: var(--lc-text);
		font-size: 0.875rem;
		font-weight: 600;
		text-decoration: none;
		background-image: linear-gradient(var(--lc-accent), var(--lc-accent));
		background-position: 0 85%;
		background-repeat: no-repeat;
		background-size: 0 2px;
		transition: background-size 0.2s var(--lc-ease);
	}

	.lc-menu a:hover,
	.lc-menu .current-menu-item > a,
	.lc-menu .current_page_item > a {
		color: var(--lc-text);
		background-size: 100% 2px;
	}

	.lc-menu .sub-menu {
		position: absolute;
		top: 100%;
		left: -1rem;
		z-index: 56;
		min-width: 220px;
		margin: 0;
		padding: 0.5rem;
		border: 1px solid var(--lc-line);
		border-radius: var(--lc-radius);
		background: var(--lc-white);
		box-shadow: var(--lc-shadow);
		list-style: none;
		opacity: 0;
		visibility: hidden;
		transform: translateY(6px);
		transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
	}

	.lc-menu li:hover > .sub-menu,
	.lc-menu li:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.lc-menu .sub-menu a {
		display: flex;
		padding: 0 0.75rem;
		border-radius: 8px;
		background-image: none;
	}

	.lc-menu .sub-menu a:hover {
		background: var(--lc-surface);
	}

	.lc-nav__hours {
		display: inline-flex;
		align-items: center;
		gap: 0.375rem;
		margin: 0 0 0 auto;
		color: var(--lc-muted);
		font-size: 0.8125rem;
		white-space: nowrap;
	}

	.lc-nav__hours .lc-icon {
		width: 16px;
		height: 16px;
	}
}

/* ==========================================================================
   6. Drawer (mobile menu), off-canvas panels & overlay
   ========================================================================== */

.lc-drawer {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 100;
	display: flex;
	flex-direction: column;
	width: min(88vw, 380px);
	background: var(--lc-white);
	box-shadow: var(--lc-shadow-lg);
	transform: translateX(-100%);
	transition: transform 0.28s var(--lc-ease);
}

.lc-drawer.is-open {
	transform: none;
}

.lc-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: var(--lc-header-h);
	padding: 0 0.5rem 0 var(--lc-gutter);
	border-bottom: 1px solid var(--lc-line);
}

.lc-drawer__close,
.lc-shop-sidebar__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	color: var(--lc-text);
	cursor: pointer;
}

.lc-drawer__close:hover,
.lc-shop-sidebar__close:hover {
	background: var(--lc-surface);
}

.lc-drawer__body {
	flex: 1;
	overflow-y: auto;
	padding: 0.5rem 0 1.5rem;
	overscroll-behavior: contain;
}

.lc-drawer__menu,
.lc-drawer__cats {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lc-drawer__menu a,
.lc-drawer__cats a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 52px;
	padding: 0 var(--lc-gutter);
	color: var(--lc-text);
	font-weight: 600;
	text-decoration: none;
}

.lc-drawer__menu a:hover,
.lc-drawer__cats a:hover {
	background: var(--lc-surface);
}

.lc-drawer__menu .sub-menu {
	margin: 0;
	padding: 0 0 0 1rem;
	list-style: none;
}

.lc-drawer__menu .sub-menu a {
	min-height: 44px;
	color: var(--lc-muted);
	font-weight: 500;
}

.lc-drawer__cats a {
	min-height: 48px;
	font-weight: 500;
}

.lc-drawer__cats .lc-icon {
	width: 18px;
	height: 18px;
	color: var(--lc-subtle);
}

.lc-drawer__title {
	margin: 1rem 0 0.25rem;
	padding: 0.75rem var(--lc-gutter) 0;
	border-top: 1px solid var(--lc-line);
	color: var(--lc-muted);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.lc-drawer__foot {
	padding: 1rem var(--lc-gutter) max(1rem, env(safe-area-inset-bottom));
	border-top: 1px solid var(--lc-line);
	background: var(--lc-surface);
}

.lc-drawer__hours {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	margin: 0.75rem 0 0;
	color: var(--lc-muted);
	font-size: 0.8125rem;
}

.lc-drawer__hours .lc-icon {
	width: 16px;
	height: 16px;
}

.lc-drawer .lc-social {
	margin-top: 0.75rem;
}

.lc-drawer .lc-social a {
	border-color: var(--lc-line-strong);
	color: var(--lc-text);
}

.lc-overlay {
	position: fixed;
	inset: 0;
	z-index: 90;
	background: var(--lc-overlay);
	opacity: 0;
	transition: opacity 0.28s var(--lc-ease);
}

.lc-overlay.is-open {
	opacity: 1;
}

/* ==========================================================================
   7. Home sections
   ========================================================================== */

/* Hero. */
.lc-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(460px, 78vh, 760px);
	overflow: hidden;
	background: var(--lc-primary);
	color: var(--lc-white);
	isolation: isolate;
}

.lc-hero__media,
.lc-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: -2;
}

.lc-hero__img {
	object-fit: cover;
	object-position: 78% 20%;
}

.lc-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(0deg, rgba(8, 9, 12, 0.92) 0%, rgba(8, 9, 12, 0.7) 40%, rgba(8, 9, 12, 0.15) 75%, rgba(8, 9, 12, 0.05) 100%);
}

.lc-hero__inner {
	width: 100%;
	padding-block: 3rem 2.5rem;
}

.lc-hero__content {
	max-width: 640px;
}

.lc-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 1rem;
	color: var(--lc-accent);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.lc-hero__eyebrow::before {
	content: "";
	width: 28px;
	height: 2px;
	background: currentColor;
}

.lc-hero__title {
	margin: 0 0 1rem;
	color: var(--lc-white);
	font-size: clamp(2rem, 1.2rem + 4.2vw, 4.25rem);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.lc-hero__subtitle {
	max-width: 520px;
	margin: 0 0 1.75rem;
	color: rgba(255, 255, 255, 0.85);
	font-size: clamp(1rem, 0.95rem + 0.3vw, 1.1875rem);
	line-height: 1.55;
}

.lc-hero__actions {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

@media (min-width: 480px) {
	.lc-hero__actions {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

@media (min-width: 768px) {
	.lc-hero {
		align-items: center;
	}

	.lc-hero::after {
		background: linear-gradient(90deg, rgba(8, 9, 12, 0.9) 0%, rgba(8, 9, 12, 0.7) 38%, rgba(8, 9, 12, 0.2) 70%, rgba(8, 9, 12, 0) 100%);
	}

	.lc-hero__img {
		object-position: center;
	}

	.lc-hero__inner {
		padding-block: 5rem;
	}
}

/* Trust strip. */
.lc-trust {
	border-bottom: 1px solid var(--lc-line);
	background: var(--lc-white);
}

.lc-trust__list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	margin: 0;
	padding: 1.25rem 0;
	list-style: none;
}

@media (min-width: 480px) {
	.lc-trust__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.lc-trust__item {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	min-width: 0;
}

.lc-trust__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--lc-surface);
	color: var(--lc-text);
	flex-shrink: 0;
}

.lc-trust__icon .lc-icon {
	width: 20px;
	height: 20px;
}

.lc-trust__title {
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.3;
}

.lc-trust__text {
	display: block;
	color: var(--lc-muted);
	font-size: 0.8125rem;
	line-height: 1.4;
}

@media (min-width: 1024px) {
	.lc-trust__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 2rem;
		padding: 1.75rem 0;
	}

	.lc-trust__item {
		align-items: center;
	}

	.lc-trust__icon {
		width: 48px;
		height: 48px;
	}
}

/* Category cards (home, mega menu, categories page). */
.lc-cats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 600px) {
	.lc-cats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1rem;
	}
}

@media (min-width: 1024px) {
	.lc-cats {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 1.5rem;
	}
}

.lc-cat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.125rem;
	color: var(--lc-text);
	text-align: center;
	text-decoration: none;
}

.lc-cat__media {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1;
	margin-bottom: 0.5rem;
	overflow: hidden;
	border-radius: var(--lc-radius-lg);
	background: var(--lc-surface);
}

.lc-cat__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s var(--lc-ease);
}

.lc-cat:hover .lc-cat__img {
	transform: scale(1.06);
}

.lc-cat__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--lc-subtle);
	font-family: var(--lc-font-head);
	font-size: 2rem;
	font-weight: 800;
}

.lc-cat__name {
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.25;
}

.lc-cat__count {
	color: var(--lc-muted);
	font-size: 0.75rem;
}

.lc-cat:hover {
	color: var(--lc-text);
}

.lc-cat:hover .lc-cat__name {
	text-decoration: underline;
	text-decoration-color: var(--lc-accent);
	text-decoration-thickness: 2px;
}

@media (min-width: 768px) {
	.lc-cat__name {
		font-size: 0.9375rem;
	}
}

/* Promotional banners. */
.lc-banners {
	display: grid;
	gap: 1rem;
}

@media (min-width: 768px) {
	.lc-banners {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem;
	}
}

.lc-banner {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 220px;
	overflow: hidden;
	border-radius: var(--lc-radius-lg);
	background: var(--lc-primary);
	color: var(--lc-white);
	text-decoration: none;
	isolation: isolate;
}

.lc-banner--2.lc-banner--plain {
	background: var(--lc-accent);
	color: var(--lc-on-accent);
}

.lc-banner__img {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--lc-ease);
}

.lc-banner:not(.lc-banner--plain)::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(0deg, rgba(8, 9, 12, 0.85) 0%, rgba(8, 9, 12, 0.35) 60%, rgba(8, 9, 12, 0.1) 100%);
}

.lc-banner:hover {
	color: var(--lc-white);
}

.lc-banner--plain:hover {
	color: inherit;
}

.lc-banner:hover .lc-banner__img {
	transform: scale(1.04);
}

.lc-banner__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	padding: 1.5rem;
}

.lc-banner__eyebrow {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.9;
}

.lc-banner__title {
	max-width: 420px;
	font-family: var(--lc-font-head);
	font-size: clamp(1.375rem, 1.1rem + 1.2vw, 2rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.lc-banner__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin-top: 0.5rem;
	padding-bottom: 2px;
	border-bottom: 2px solid currentColor;
	font-size: 0.875rem;
	font-weight: 700;
}

.lc-banner__cta .lc-icon {
	width: 16px;
	height: 16px;
	transition: transform 0.2s;
}

.lc-banner:hover .lc-banner__cta .lc-icon {
	transform: translateX(4px);
}

@media (min-width: 1024px) {
	.lc-banner {
		min-height: 300px;
	}

	.lc-banner__content {
		padding: 2.25rem;
	}
}

/* Brands strip. */
.lc-brands {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 600px) {
	.lc-brands {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.lc-brands {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 1rem;
	}
}

.lc-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 88px;
	padding: 1rem;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius);
	background: var(--lc-white);
	color: var(--lc-text);
	text-align: center;
	text-decoration: none;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.lc-brand:hover {
	border-color: var(--lc-text);
	color: var(--lc-text);
	box-shadow: var(--lc-shadow-sm);
}

.lc-brand__img {
	max-height: 48px;
	width: auto;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.8;
	transition: filter 0.2s, opacity 0.2s;
}

.lc-brand:hover .lc-brand__img {
	filter: none;
	opacity: 1;
}

.lc-brand__name {
	font-family: var(--lc-font-head);
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

/* Final CTA. */
.lc-cta {
	margin-top: 1rem;
	background: var(--lc-primary);
	color: var(--lc-on-primary);
}

.lc-cta__inner {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding-block: 3rem;
}

.lc-cta__title {
	margin: 0 0 0.5rem;
	color: inherit;
	font-size: clamp(1.5rem, 1.1rem + 1.8vw, 2.5rem);
	font-weight: 800;
	text-wrap: balance;
}

.lc-cta__text {
	max-width: 560px;
	margin: 0;
	opacity: 0.82;
}

.lc-cta__hours {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
	opacity: 0.75;
}

.lc-cta__hours .lc-icon {
	width: 16px;
	height: 16px;
}

@media (min-width: 768px) {
	.lc-cta__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding-block: 4rem;
	}

	.lc-cta .lc-btn {
		flex-shrink: 0;
	}
}

/* ==========================================================================
   8. Sections & product rails
   ========================================================================== */

.lc-section {
	padding-block: 2.5rem;
}

.lc-section--muted {
	background: var(--lc-surface);
}

@media (min-width: 1024px) {
	.lc-section {
		padding-block: 4rem;
	}
}

.lc-section__header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 0.25rem 1rem;
	margin-bottom: 1.25rem;
}

/* Very small phones: title on its own line, link below. */
@media (max-width: 399px) {
	.lc-section__header {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (min-width: 1024px) {
	.lc-section__header {
		margin-bottom: 2rem;
	}
}

.lc-section__title {
	margin: 0;
}

.lc-section__link {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	min-height: 44px;
	color: var(--lc-text);
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.lc-section__link .lc-icon {
	width: 16px;
	height: 16px;
	transition: transform 0.2s;
}

.lc-section__link:hover .lc-icon {
	transform: translateX(3px);
}

/* Product grids. */
ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.products::before,
ul.products::after {
	display: none;
}

ul.products > li {
	display: flex;
	min-width: 0;
	margin: 0;
	padding: 0;
	float: none;
	width: auto;
}

@media (min-width: 768px) {
	ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1.25rem;
	}
}

@media (min-width: 1024px) {
	ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1.5rem;
	}

	.loja-has-filters ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1280px) {
	.loja-has-filters ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* Horizontal rail on phones/tablets (home sections). */
@media (max-width: 1023px) {
	ul.products.lc-rail {
		grid-auto-columns: 44%;
		grid-auto-flow: column;
		grid-template-columns: none;
		margin-inline: calc(var(--lc-gutter) * -1);
		padding: 0 var(--lc-gutter) 0.75rem;
		overflow-x: auto;
		scroll-padding-inline: var(--lc-gutter);
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	ul.products.lc-rail::-webkit-scrollbar {
		display: none;
	}

	ul.products.lc-rail > li {
		scroll-snap-align: start;
	}
}

@media (min-width: 600px) and (max-width: 1023px) {
	ul.products.lc-rail {
		grid-auto-columns: 30%;
	}
}

/* ==========================================================================
   9. Product cards & badges
   ========================================================================== */

.lc-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	overflow: hidden;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius);
	background: var(--lc-white);
	transition: box-shadow 0.25s var(--lc-ease), transform 0.25s var(--lc-ease), border-color 0.25s;
}

@media (hover: hover) {
	.lc-card:hover {
		border-color: transparent;
		box-shadow: var(--lc-shadow);
		transform: translateY(-3px);
	}

	.lc-card:hover .lc-card__img {
		transform: scale(1.04);
	}
}

.lc-card__media {
	position: relative;
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--lc-surface);
}

.lc-card__img-link {
	display: block;
	width: 100%;
	height: 100%;
}

.lc-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s var(--lc-ease);
}

.lc-card--out .lc-card__img {
	opacity: 0.55;
	filter: grayscale(0.6);
}

.lc-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.25rem;
	padding: 0.75rem 0.75rem 0.5rem;
}

.lc-card__brand {
	overflow: hidden;
	color: var(--lc-muted);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.lc-card__title {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	font-family: var(--lc-font-body);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	min-height: 2.7em;
}

.lc-card__link {
	color: var(--lc-text);
	text-decoration: none;
}

/* Whole card clickable via the title link (keeps one link in the a11y tree). */
.lc-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.lc-card__link:hover {
	color: var(--lc-text);
}

.lc-card__link:focus-visible {
	outline: none;
}

.lc-card:has(.lc-card__link:focus-visible) {
	box-shadow: var(--lc-focus);
}

.lc-card__rating {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.lc-card__rating .star-rating {
	font-size: 0.75rem;
}

.lc-card__rating-count {
	color: var(--lc-muted);
	font-size: 0.75rem;
}

.lc-card__price {
	margin-top: auto;
	padding-top: 0.25rem;
	color: var(--lc-text);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
}

.lc-card__price del {
	display: block;
	color: var(--lc-subtle);
	font-size: 0.8125rem;
	font-weight: 400;
}

.lc-card__price ins {
	text-decoration: none;
}

.lc-card__actions {
	position: relative;
	z-index: 2;
	padding: 0.5rem 0.75rem 0.75rem;
}

.lc-card__actions .lc-btn,
.lc-card__actions .button {
	min-height: 42px;
	padding: 0.625rem 0.5rem;
	font-size: 0.6875rem;
	letter-spacing: 0.03em;
}

.lc-card__actions .added_to_cart {
	display: none;
}

@media (min-width: 768px) {
	.lc-card__body {
		padding: 1rem 1rem 0.5rem;
	}

	.lc-card__title {
		font-size: 0.9375rem;
	}

	.lc-card__price {
		font-size: 1.125rem;
	}

	.lc-card__actions {
		padding: 0.5rem 1rem 1rem;
	}

	.lc-card__actions .lc-btn,
	.lc-card__actions .button {
		min-height: 46px;
		font-size: 0.75rem;
	}
}

/* Stock label. */
.lc-stock,
.stock {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
}

.lc-stock::before,
.stock::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
	flex-shrink: 0;
}

.stock.in-stock {
	color: var(--lc-accent-dark);
}

.lc-stock--low,
.stock.low-stock {
	color: var(--lc-low);
}

.lc-stock--out,
.stock.out-of-stock {
	color: var(--lc-error);
}

/* Badges. */
.lc-badges {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
	pointer-events: none;
}

.lc-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.25rem 0.5rem;
	border-radius: 6px;
	background: var(--lc-primary);
	color: var(--lc-on-primary);
	font-family: var(--lc-font-head);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
}

.lc-badge--sale {
	background: var(--lc-sale);
	color: var(--lc-on-sale);
}

.lc-badge--new {
	background: var(--lc-accent);
	color: var(--lc-on-accent);
}

.lc-badge--best {
	background: var(--lc-primary);
	color: var(--lc-on-primary);
}

.lc-badge--featured {
	background: var(--lc-white);
	color: var(--lc-text);
	box-shadow: inset 0 0 0 1px var(--lc-line-strong);
}

.lc-badge--low {
	background: var(--lc-low-bg);
	color: var(--lc-low);
}

.lc-badge--out {
	background: var(--lc-surface-2);
	color: var(--lc-text);
}

@media (min-width: 768px) {
	.lc-badges {
		top: 0.75rem;
		left: 0.75rem;
	}

	.lc-badge {
		padding: 0.3125rem 0.625rem;
		font-size: 0.6875rem;
	}
}

/* Rating stars (CSS only — WooCommerce's icon font is not loaded). */
.star-rating {
	position: relative;
	display: inline-block;
	width: 5.6em;
	height: 1.1em;
	overflow: hidden;
	font-family: Arial, sans-serif;
	font-size: 0.875rem;
	line-height: 1.1;
	letter-spacing: 0.12em;
	vertical-align: middle;
}

.star-rating::before {
	content: "\2605\2605\2605\2605\2605";
	position: absolute;
	top: 0;
	left: 0;
	color: var(--lc-line-strong);
}

.star-rating span {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	overflow: hidden;
	padding-top: 1.5em;
}

.star-rating span::before {
	content: "\2605\2605\2605\2605\2605";
	position: absolute;
	top: 0;
	left: 0;
	color: var(--lc-star);
}

p.stars {
	margin: 0.25rem 0 1rem;
}

p.stars span {
	display: inline-flex;
	gap: 0.125rem;
}

p.stars a {
	position: relative;
	display: inline-block;
	width: 32px;
	height: 32px;
	overflow: hidden;
	text-decoration: none;
	text-indent: -999em;
}

p.stars a::before {
	content: "\2605";
	position: absolute;
	inset: 0;
	color: var(--lc-line-strong);
	font-family: Arial, sans-serif;
	font-size: 28px;
	line-height: 32px;
	text-align: center;
	text-indent: 0;
}

p.stars:hover a::before,
p.stars.selected a::before {
	color: var(--lc-star);
}

p.stars:hover a:hover ~ a::before,
p.stars.selected a.active ~ a::before {
	color: var(--lc-line-strong);
}

p.stars.selected:hover a::before {
	color: var(--lc-star);
}

p.stars.selected:hover a:hover ~ a::before {
	color: var(--lc-line-strong);
}

/* Prices (generic). */
.price del {
	color: var(--lc-subtle);
	font-weight: 400;
	text-decoration-thickness: 1px;
}

.price ins {
	text-decoration: none;
}

.woocommerce-price-suffix {
	color: var(--lc-muted);
	font-size: 0.75em;
	font-weight: 400;
}

/* ==========================================================================
   10. Shop: breadcrumb, layout, toolbar, filters
   ========================================================================== */

.lc-breadcrumb-wrap {
	border-bottom: 1px solid var(--lc-line);
	background: var(--lc-white);
}

.lc-breadcrumb {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 0;
	overflow-x: auto;
	color: var(--lc-muted);
	font-size: 0.8125rem;
	white-space: nowrap;
	scrollbar-width: none;
}

.lc-breadcrumb::-webkit-scrollbar {
	display: none;
}

.lc-breadcrumb a {
	color: var(--lc-muted);
	text-decoration: none;
}

.lc-breadcrumb a:hover {
	color: var(--lc-text);
	text-decoration: underline;
}

.lc-bc-sep {
	color: var(--lc-line-strong);
}

/* Archive header. */
.woocommerce-products-header {
	margin-bottom: 1rem;
}

.woocommerce-products-header__title {
	margin-bottom: 0.25rem;
}

.term-description,
.page-description {
	max-width: 760px;
	color: var(--lc-muted);
	font-size: 0.9375rem;
}

.term-description p:last-child {
	margin-bottom: 0;
}

.lc-subcats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.lc-subcats a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 0.875rem;
	border: 1px solid var(--lc-line-strong);
	border-radius: 999px;
	color: var(--lc-text);
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
}

.lc-subcats a:hover {
	border-color: var(--lc-text);
	background: var(--lc-surface);
	color: var(--lc-text);
}

/* Layout with filters. */
.loja-has-filters .site-content > .col-full {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	column-gap: 2.5rem;
}

.loja-has-filters .site-content > .col-full > * {
	flex: 0 0 100%;
	min-width: 0;
}

.loja-has-filters .site-content > .col-full > #primary {
	flex: 1 1 0;
	order: 2;
}

.loja-has-filters .site-content > .col-full > .lc-shop-sidebar {
	order: 1;
}

/* Sidebar: static (desktop / no JS) and off-canvas (mobile with JS). */
.lc-shop-sidebar {
	background: var(--lc-white);
}

.lc-shop-sidebar__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.5rem;
}

.lc-shop-sidebar__title {
	margin: 0;
	font-size: 1.125rem;
}

@media (max-width: 1023px) {
	html:not(.lc-js) .lc-shop-sidebar {
		padding: 1rem 0;
	}

	html:not(.lc-js) .lc-toolbar__filters,
	html:not(.lc-js) .lc-shop-sidebar__close {
		display: none;
	}

	.lc-js .lc-shop-sidebar {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 100;
		display: flex;
		flex-direction: column;
		width: min(92vw, 400px);
		box-shadow: var(--lc-shadow-lg);
		transform: translateX(-100%);
		visibility: hidden;
		transition: transform 0.28s var(--lc-ease), visibility 0s linear 0.28s;
	}

	.lc-js .lc-shop-sidebar.is-open {
		transform: none;
		visibility: visible;
		transition: transform 0.28s var(--lc-ease), visibility 0s;
	}

	.lc-js .lc-shop-sidebar__head {
		min-height: var(--lc-header-h);
		margin: 0;
		padding: 0 0.5rem 0 var(--lc-gutter);
		border-bottom: 1px solid var(--lc-line);
	}

	.lc-js .lc-shop-sidebar__body {
		flex: 1;
		overflow-y: auto;
		padding: 0 var(--lc-gutter);
		overscroll-behavior: contain;
	}

	.lc-js .lc-filters__actions {
		position: sticky;
		bottom: 0;
		margin-inline: calc(var(--lc-gutter) * -1);
		padding: 1rem var(--lc-gutter) max(1rem, env(safe-area-inset-bottom));
		border-top: 1px solid var(--lc-line);
		background: var(--lc-white);
	}
}

@media (min-width: 1024px) {
	.loja-has-filters .site-content > .col-full > .lc-shop-sidebar {
		position: sticky;
		top: calc(var(--lc-header-h) + 52px + 1rem);
		flex: 0 0 260px;
		max-height: calc(100vh - var(--lc-header-h) - 52px - 2rem);
		overflow-y: auto;
		padding-block: 2rem;
		scrollbar-width: thin;
	}

	.lc-shop-sidebar__close,
	.lc-toolbar__filters {
		display: none !important;
	}
}

/* Filters. */
.lc-filters {
	margin: 0;
}

.lc-filter {
	margin: 0;
	padding: 1.125rem 0;
	border: 0;
	border-bottom: 1px solid var(--lc-line);
	min-width: 0;
}

.lc-filter__title {
	margin-bottom: 0.625rem;
	padding: 0;
	font-family: var(--lc-font-head);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.lc-filter__cats,
.lc-filter__list,
.lc-filter__cats ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lc-filter__cats ul {
	padding-left: 0.875rem;
	border-left: 1px solid var(--lc-line);
	margin-left: 0.25rem;
}

.lc-filter__cats a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	min-height: 38px;
	color: var(--lc-text);
	font-size: 0.9375rem;
	text-decoration: none;
}

.lc-filter__cats a:hover {
	color: var(--lc-accent-dark);
}

.lc-filter__cats a.is-active {
	font-weight: 700;
}

.lc-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--lc-surface);
	color: var(--lc-muted);
	font-size: 0.6875rem;
	font-weight: 600;
}

.lc-filter__price {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.lc-filter__price label {
	position: relative;
	flex: 1;
	margin: 0;
}

.lc-filter__prefix {
	position: absolute;
	top: 50%;
	left: 0.75rem;
	color: var(--lc-muted);
	font-size: 0.875rem;
	font-weight: 500;
	transform: translateY(-50%);
	pointer-events: none;
}

.lc-filter__price input {
	padding-left: 2.25rem;
}

.lc-filters__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.5rem;
	padding-top: 1.25rem;
}

.lc-filters__clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	color: var(--lc-muted);
	font-size: 0.875rem;
	font-weight: 600;
}

/* Toolbar. */
.lc-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.lc-toolbar__filters {
	min-height: 44px;
	padding: 0.5rem 1rem;
	text-transform: none;
	font-family: var(--lc-font-body);
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0;
}

.lc-toolbar .woocommerce-result-count {
	order: 3;
	flex-basis: 100%;
	margin: 0;
	color: var(--lc-muted);
	font-size: 0.8125rem;
}

.lc-toolbar .woocommerce-ordering {
	flex: 1;
	margin: 0 0 0 auto;
}

.lc-toolbar .woocommerce-ordering select {
	min-height: 44px;
	font-size: 0.9375rem;
}

@media (min-width: 600px) {
	.lc-toolbar .woocommerce-result-count {
		order: 0;
		flex-basis: auto;
	}

	.lc-toolbar .woocommerce-ordering {
		flex: 0 0 auto;
		width: 240px;
	}
}

.lc-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1.25rem;
	padding: 0;
	list-style: none;
}

.lc-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	min-height: 36px;
	padding: 0 0.625rem 0 0.875rem;
	border-radius: 999px;
	background: var(--lc-primary);
	color: var(--lc-on-primary);
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
}

.lc-chip:hover {
	background: var(--lc-btn-hover);
	color: var(--lc-on-primary);
}

.lc-chip .lc-icon {
	width: 16px;
	height: 16px;
}

/* Pagination. */
.woocommerce-pagination {
	margin-top: 2.5rem;
}

.woocommerce-pagination ul.page-numbers,
.navigation .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.375rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 0.75rem;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius-btn);
	color: var(--lc-text);
	font-weight: 600;
	text-decoration: none;
}

a.page-numbers:hover {
	border-color: var(--lc-text);
	color: var(--lc-text);
}

.page-numbers.current {
	border-color: var(--lc-btn);
	background: var(--lc-btn);
	color: var(--lc-on-btn);
}

.woocommerce-no-products-found .woocommerce-info,
.woocommerce-info.woocommerce-no-products-found {
	margin-top: 1rem;
}

/* ==========================================================================
   11. Single product
   ========================================================================== */

.single-product div.product {
	position: relative;
}

/* Foto + resumo (wrapper .lc-product-top, ver inc/woocommerce.php). */
.lc-product-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.5rem;
	position: relative;
}

.lc-product-top > * {
	grid-column: 1 / -1;
	min-width: 0;
}

@media (min-width: 900px) {
	.lc-product-top {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
		column-gap: 3rem;
	}

	.lc-product-top > .woocommerce-product-gallery {
		grid-column: 1;
		grid-row: 1;
		position: sticky;
		top: calc(var(--lc-header-h) + 52px + 1rem);
		align-self: start;
		z-index: 1;
	}

	.lc-product-top > .summary {
		grid-column: 2;
	}
}

@media (min-width: 1280px) {
	.lc-product-top {
		column-gap: 4.5rem;
	}
}

/* Abas e relacionados sempre abaixo e acima da foto na pilha. */
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related,
.single-product div.product > .upsells {
	position: relative;
	z-index: 2;
	clear: both;
}

/* Gallery (WooCommerce flexslider + photoswipe). */
.woocommerce-product-gallery {
	position: relative;
	margin: 0;
	opacity: 1 !important;
}

.woocommerce-product-gallery .lc-badges {
	top: 1rem;
	left: 1rem;
}

.woocommerce-product-gallery__wrapper {
	margin: 0;
}

.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
	overflow: hidden;
	border-radius: var(--lc-radius-lg);
	background: var(--lc-surface);
}

.woocommerce-product-gallery__image a {
	display: block;
}

.woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
}

/* Without flexslider (one image), hide extra images except the first. */
.woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__image:not(:first-child) {
	display: none;
}

.woocommerce-product-gallery__trigger {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--lc-white);
	box-shadow: var(--lc-shadow-sm);
	text-indent: -999em;
}

.woocommerce-product-gallery__trigger::before {
	content: "";
	position: absolute;
	top: 12px;
	left: 12px;
	width: 14px;
	height: 14px;
	border: 2px solid var(--lc-text);
	border-radius: 50%;
}

.woocommerce-product-gallery__trigger::after {
	content: "";
	position: absolute;
	top: 27px;
	left: 26px;
	width: 7px;
	height: 2px;
	background: var(--lc-text);
	transform: rotate(45deg);
}

.woocommerce-product-gallery__trigger img {
	display: none !important;
}

.flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.5rem;
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
}

.flex-control-thumbs li {
	overflow: hidden;
	border-radius: var(--lc-radius);
	background: var(--lc-surface);
	cursor: pointer;
}

.flex-control-thumbs img {
	width: 100%;
	opacity: 0.55;
	transition: opacity 0.2s;
	border: 2px solid transparent;
	border-radius: var(--lc-radius);
}

.flex-control-thumbs img:hover,
.flex-control-thumbs img.flex-active {
	opacity: 1;
}

.flex-control-thumbs img.flex-active {
	border-color: var(--lc-text);
}

.flex-direction-nav {
	display: none;
}

/* Summary. */
.summary.entry-summary {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
	margin: 0;
}

.summary > * {
	margin: 0;
}

.lc-single__brand {
	align-self: flex-start;
	color: var(--lc-muted);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

.lc-single__brand:hover {
	color: var(--lc-text);
}

.product_title {
	margin: 0;
	font-size: clamp(1.5rem, 1.15rem + 1.6vw, 2.25rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.woocommerce-product-rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
}

.woocommerce-review-link {
	color: var(--lc-muted);
}

.product_meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1rem;
	color: var(--lc-muted);
	font-size: 0.8125rem;
}

.product_meta > span {
	display: inline-block;
}

.product_meta a {
	color: var(--lc-muted);
}

.product_meta .tagged_as {
	display: none;
}

.lc-single__price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	padding: 0.25rem 0;
}

.lc-single__price .price,
.summary .price {
	margin: 0;
	color: var(--lc-text);
	font-size: clamp(1.625rem, 1.4rem + 1vw, 2.125rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.lc-single__price .price del {
	display: block;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0;
}

.lc-single__price .lc-badge {
	padding: 0.375rem 0.625rem;
	font-size: 0.75rem;
}

.woocommerce-product-details__short-description {
	color: var(--lc-muted);
	font-size: 0.9375rem;
}

.woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

.woocommerce-product-details__short-description ul {
	margin: 0;
	padding-left: 1.1em;
}

/* Add to cart form. */
form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	padding-top: 0.5rem;
	border-top: 1px solid var(--lc-line);
}

form.cart.variations_form {
	display: block;
}

form.cart table.variations {
	margin: 0 0 0.5rem;
	border: 0;
}

form.cart table.variations tr {
	display: block;
	margin-bottom: 1rem;
}

form.cart table.variations th,
form.cart table.variations td {
	display: block;
	padding: 0;
	border: 0;
}

form.cart table.variations th.label {
	margin-bottom: 0.5rem;
}

form.cart table.variations label {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.lc-variation-current {
	margin-left: 0.25rem;
	color: var(--lc-muted);
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

.reset_variations {
	display: inline-block;
	margin-top: 0.5rem;
	color: var(--lc-muted);
	font-size: 0.8125rem;
}

.single_variation_wrap {
	margin-top: 0.25rem;
}

.woocommerce-variation {
	margin-bottom: 0.75rem;
}

.woocommerce-variation-price .price {
	font-size: 1.5rem;
}

.woocommerce-variation-description p {
	margin: 0.25rem 0;
	color: var(--lc-muted);
	font-size: 0.875rem;
}

.woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button {
	opacity: 0.5;
}

/* Swatches (built by main.js from the native selects). */
.lc-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.lc-swatch {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 44px;
	padding: 0.5rem 1rem;
	border: 1.5px solid var(--lc-line-strong);
	border-radius: var(--lc-radius-btn);
	background: var(--lc-white);
	color: var(--lc-text);
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.15s, background-color 0.15s, color 0.15s;
}

.lc-swatch:hover {
	border-color: var(--lc-text);
}

.lc-swatch[aria-pressed="true"] {
	border-color: var(--lc-btn);
	background: var(--lc-btn);
	color: var(--lc-on-btn);
}

.lc-swatch:disabled,
.lc-swatch.is-disabled {
	border-style: dashed;
	color: var(--lc-subtle);
	text-decoration: line-through;
	cursor: not-allowed;
}

.lc-swatches + select,
.lc-has-swatches select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Quantity stepper. */
.quantity {
	display: inline-flex;
	align-items: stretch;
	height: 52px;
	border: 1.5px solid var(--lc-line-strong);
	border-radius: var(--lc-radius-btn);
	background: var(--lc-white);
	overflow: hidden;
}

.quantity .qty {
	width: 3.25rem;
	min-height: 0;
	height: 100%;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-weight: 700;
	text-align: center;
	box-shadow: none !important;
}

.quantity.hidden,
.quantity input[type="hidden"] {
	display: none;
}

.lc-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--lc-text);
	cursor: pointer;
}

.lc-qty-btn:hover {
	background: var(--lc-surface);
}

.lc-qty-btn:disabled {
	color: var(--lc-line-strong);
	cursor: not-allowed;
}

.lc-qty-btn .lc-icon,
.lc-qty-btn svg {
	width: 18px;
	height: 18px;
}

.single_add_to_cart_button.button {
	flex: 1 1 200px;
	min-height: 52px;
	font-size: 0.9375rem;
}

.lc-wa-product {
	min-height: 52px;
	font-size: 0.9375rem;
}

.lc-single__hours {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	color: var(--lc-muted);
	font-size: 0.8125rem;
}

.lc-single__hours .lc-icon {
	width: 16px;
	height: 16px;
}

.lc-single__trust {
	display: grid;
	gap: 0.625rem;
	margin: 0.25rem 0 0;
	padding: 1rem;
	border-radius: var(--lc-radius);
	background: var(--lc-surface);
	list-style: none;
}

.lc-single__trust li {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	font-size: 0.875rem;
	font-weight: 500;
}

.lc-single__trust .lc-icon {
	width: 20px;
	height: 20px;
	color: var(--lc-accent-dark);
}

.summary .stock {
	font-size: 0.875rem;
}

.summary .out-of-stock + .lc-wa-product,
.summary p.stock.out-of-stock {
	margin-top: 0.25rem;
}

/* Tabs. */
.woocommerce-tabs {
	margin-top: 1.5rem;
}

.woocommerce-tabs ul.tabs {
	display: flex;
	gap: 0.25rem;
	margin: 0 calc(var(--lc-gutter) * -1);
	padding: 0 var(--lc-gutter);
	overflow-x: auto;
	border-bottom: 1px solid var(--lc-line);
	list-style: none;
	scrollbar-width: none;
}

.woocommerce-tabs ul.tabs::-webkit-scrollbar {
	display: none;
}

.woocommerce-tabs ul.tabs li {
	flex-shrink: 0;
	margin: 0;
}

.woocommerce-tabs ul.tabs li a {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 0 1rem;
	border-bottom: 3px solid transparent;
	color: var(--lc-muted);
	font-family: var(--lc-font-head);
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.woocommerce-tabs ul.tabs li a:hover {
	color: var(--lc-text);
}

.woocommerce-tabs ul.tabs li.active a {
	border-bottom-color: var(--lc-accent);
	color: var(--lc-text);
}

.woocommerce-Tabs-panel {
	max-width: 860px;
	padding: 1.5rem 0 0;
}

.woocommerce-Tabs-panel > h2:first-child {
	font-size: 1.25rem;
}

.woocommerce-Tabs-panel table {
	margin-bottom: 1rem;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius);
	font-size: 0.9375rem;
}

.woocommerce-Tabs-panel table th,
.woocommerce-Tabs-panel table td {
	padding: 0.625rem 0.875rem;
}

.woocommerce-Tabs-panel table tr:nth-child(even) {
	background: var(--lc-surface);
}

.woocommerce-product-attributes-item__label {
	width: 40%;
}

.woocommerce-product-attributes-item__value p {
	margin: 0;
}

@media (min-width: 768px) {
	.woocommerce-tabs ul.tabs {
		margin: 0;
		padding: 0;
	}
}

/* Reviews. */
#reviews .woocommerce-Reviews-title {
	font-size: 1.25rem;
}

#reviews .commentlist {
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}

#reviews .commentlist li {
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--lc-line);
}

#reviews .comment_container {
	display: flex;
	gap: 1rem;
}

#reviews .avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	flex-shrink: 0;
}

#reviews .comment-text {
	flex: 1;
	min-width: 0;
}

#reviews .comment-text .meta {
	margin: 0.25rem 0 0.5rem;
	color: var(--lc-muted);
	font-size: 0.8125rem;
}

#reviews .woocommerce-review__author {
	color: var(--lc-text);
	font-weight: 700;
}

#reviews .woocommerce-review__verified {
	color: var(--lc-accent-dark);
	font-style: normal;
}

#review_form_wrapper {
	padding: 1.5rem;
	border-radius: var(--lc-radius-lg);
	background: var(--lc-surface);
}

#review_form .comment-reply-title {
	display: block;
	margin-bottom: 0.75rem;
	font-family: var(--lc-font-head);
	font-size: 1.125rem;
	font-weight: 700;
}

#review_form .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.8125rem;
}

#review_form .comment-form-cookies-consent label {
	font-weight: 400;
}

.woocommerce-noreviews {
	color: var(--lc-muted);
}

/* Related / upsells / cross-sells. */
.related.products,
.upsells.products,
.cross-sells {
	margin-top: 2.5rem;
	padding-top: 2.5rem;
	border-top: 1px solid var(--lc-line);
}

.related.products > h2,
.upsells.products > h2,
.cross-sells > h2 {
	margin-bottom: 1.25rem;
}

/* ==========================================================================
   12. Cart & WhatsApp checkout
   ========================================================================== */

.woocommerce-cart .entry-header {
	margin-bottom: 1.25rem;
}

@media (min-width: 1024px) {
	.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 400px;
		align-items: start;
		gap: 0 3rem;
	}

	.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}

	.woocommerce-cart .woocommerce-cart-form {
		grid-column: 1;
	}

	.woocommerce-cart .cart-collaterals {
		display: contents;
	}

	.woocommerce-cart .cart_totals {
		grid-column: 2;
		grid-row: 2 / span 2;
		position: sticky;
		top: calc(var(--lc-header-h) + 52px + 1rem);
	}

	.woocommerce-cart .cross-sells {
		grid-column: 1;
	}
}

/* Cart table — card rows on mobile, table on desktop. */
table.shop_table.cart {
	border: 0;
}

table.cart thead {
	display: none;
}

table.cart tr.cart_item {
	position: relative;
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	grid-template-areas:
		"thumb name"
		"thumb price"
		"thumb qty"
		"thumb subtotal";
	column-gap: 0.875rem;
	padding: 1rem 2.5rem 1rem 0;
	border-bottom: 1px solid var(--lc-line);
}

table.cart tr.cart_item td {
	display: block;
	padding: 0;
	border: 0;
}

table.cart td.product-remove {
	position: absolute;
	top: 0.75rem;
	right: 0;
}

table.cart td.product-thumbnail {
	grid-area: thumb;
}

table.cart td.product-name {
	grid-area: name;
	font-weight: 600;
	line-height: 1.35;
}

table.cart td.product-price {
	grid-area: price;
	margin-top: 0.25rem;
	color: var(--lc-muted);
	font-size: 0.875rem;
}

table.cart td.product-quantity {
	grid-area: qty;
	margin-top: 0.625rem;
}

table.cart td.product-subtotal {
	grid-area: subtotal;
	margin-top: 0.625rem;
	font-weight: 700;
}

table.cart td.product-price::before,
table.cart td.product-subtotal::before {
	content: attr(data-title) ": ";
	color: var(--lc-muted);
	font-weight: 400;
}

table.cart .product-thumbnail img {
	width: 84px;
	height: 84px;
	border-radius: var(--lc-radius);
	background: var(--lc-surface);
	object-fit: cover;
}

table.cart .product-name a {
	color: var(--lc-text);
	text-decoration: none;
}

table.cart .product-name a:hover {
	text-decoration: underline;
}

table.cart .product-name .variation,
.lc-summary .variation {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0 0.375rem;
	margin: 0.25rem 0 0;
	color: var(--lc-muted);
	font-size: 0.8125rem;
	font-weight: 400;
}

table.cart .variation dt,
table.cart .variation dd {
	margin: 0;
}

table.cart .variation dd p {
	margin: 0;
}

table.cart .backorder_notification {
	font-size: 0.8125rem;
}

table.cart .quantity {
	height: 44px;
}

table.cart .quantity .qty {
	width: 2.75rem;
}

table.cart .lc-qty-btn {
	width: 40px;
}

a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	color: var(--lc-subtle) !important;
	font-size: 1.5rem;
	line-height: 1;
	text-decoration: none;
}

a.remove:hover {
	background: var(--lc-error-bg);
	color: var(--lc-error) !important;
}

table.cart td.actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.75rem;
	padding: 1rem 0;
	border: 0;
}

table.cart td.actions .coupon {
	display: flex;
	flex: 1 1 280px;
	gap: 0.5rem;
}

table.cart td.actions .coupon label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

table.cart td.actions .button[name="update_cart"] {
	--_bg: transparent;
	--_fg: var(--lc-text);
	--_bd: var(--lc-line-strong);
	--_bg-h: var(--lc-surface);
	--_fg-h: var(--lc-text);
}

.lc-js table.cart td.actions .button[name="update_cart"] {
	display: none;
}

.lc-js table.cart td.actions:not(:has(.coupon)) {
	display: none;
}

@media (min-width: 768px) {
	table.cart thead {
		display: table-header-group;
	}

	table.cart thead th {
		padding: 0 0.75rem 0.75rem;
		border-bottom: 1px solid var(--lc-line);
		color: var(--lc-muted);
		font-size: 0.75rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	table.cart tr.cart_item {
		display: table-row;
		padding: 0;
	}

	table.cart tr.cart_item td {
		display: table-cell;
		margin: 0;
		padding: 1.25rem 0.75rem;
		border-bottom: 1px solid var(--lc-line);
	}

	table.cart td.product-remove {
		position: static;
		width: 48px;
		padding-left: 0 !important;
	}

	table.cart td.product-thumbnail {
		width: 108px;
	}

	table.cart td.product-price,
	table.cart td.product-subtotal {
		color: var(--lc-text);
		font-size: 1rem;
		white-space: nowrap;
	}

	table.cart td.product-price::before,
	table.cart td.product-subtotal::before {
		content: none;
	}

	table.cart td.product-subtotal {
		text-align: right;
	}

	table.cart thead th.product-subtotal {
		text-align: right;
	}

	table.cart td.actions {
		display: table-cell;
		text-align: right;
	}

	table.cart td.actions .coupon {
		float: left;
	}

	.lc-js table.cart td.actions:not(:has(.coupon)) {
		display: none;
	}
}

/* Order summary. */
.lc-summary {
	margin-top: 1.5rem;
	padding: 1.5rem;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius-lg);
	background: var(--lc-white);
	box-shadow: var(--lc-shadow-sm);
}

@media (min-width: 1024px) {
	.lc-summary {
		margin-top: 0;
		padding: 1.75rem;
	}
}

.lc-summary__title {
	margin-bottom: 1rem;
	font-size: 1.25rem;
}

.lc-summary__table {
	margin-bottom: 1.25rem;
	border: 0;
}

.lc-summary__table th,
.lc-summary__table td {
	padding: 0.625rem 0;
	border-bottom: 1px solid var(--lc-line);
	font-size: 0.9375rem;
}

.lc-summary__table th {
	color: var(--lc-muted);
	font-weight: 500;
}

.lc-summary__table td {
	text-align: right;
}

.lc-summary__table .order-total th,
.lc-summary__table .order-total td {
	padding-top: 1rem;
	border-bottom: 0;
	color: var(--lc-text);
	font-size: 1.25rem;
	font-weight: 800;
}

.lc-summary__table .order-total th {
	font-family: var(--lc-font-head);
}

.lc-summary__table small.includes_tax {
	display: block;
	color: var(--lc-muted);
	font-size: 0.75rem;
	font-weight: 400;
}

.lc-summary__actions {
	padding: 0;
}

.lc-summary__actions .checkout-button {
	width: 100%;
	min-height: 56px;
}

.lc-summary__continue {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	min-height: 44px;
	margin-top: 0.75rem;
	color: var(--lc-muted);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
}

.lc-summary__continue .lc-icon {
	width: 16px;
	height: 16px;
}

.lc-summary__continue:hover {
	color: var(--lc-text);
}

/* WhatsApp checkout form. */
.lc-wa-checkout__fields {
	margin-bottom: 0.25rem;
}

.lc-wa-checkout__fields .lc-field label {
	font-size: 0.8125rem;
}

.lc-wa-checkout__fields textarea {
	min-height: 72px;
}

.lc-wa-checkout__submit {
	min-height: 58px;
	font-size: 0.9375rem;
	box-shadow: 0 8px 20px rgba(21, 128, 61, 0.28);
}

.lc-wa-checkout__help {
	margin: 0.75rem 0 0;
	color: var(--lc-muted);
	font-size: 0.8125rem;
	line-height: 1.5;
	text-align: center;
}

.lc-wa-checkout__help:empty {
	display: none;
}

.lc-wa-checkout__status:not(:empty) {
	margin-top: 0.75rem;
	padding: 0.75rem 1rem;
	border-radius: var(--lc-radius-btn);
	background: var(--lc-info-bg);
	font-size: 0.875rem;
}

.lc-wa-checkout__status.is-error {
	background: var(--lc-error-bg);
	color: var(--lc-error);
}

.lc-wa-success {
	padding: 2rem 1.5rem;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius-lg);
	background: var(--lc-white);
	text-align: center;
	box-shadow: var(--lc-shadow);
}

.lc-wa-success:focus {
	outline: none;
}

.lc-wa-success__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin-bottom: 1rem;
	border-radius: 50%;
	background: var(--lc-success-bg);
	color: var(--lc-wa);
	font-size: 2rem;
	font-weight: 800;
}

.lc-wa-success__title {
	font-size: 1.375rem;
}

.lc-wa-success__order {
	color: var(--lc-muted);
	font-weight: 600;
}

.lc-wa-success p {
	color: var(--lc-muted);
}

.lc-wa-success__continue {
	display: inline-block;
	margin-top: 1rem;
	font-weight: 600;
}

/* Empty cart. */
.lc-empty {
	max-width: 520px;
	margin: 1rem auto 1.5rem;
	text-align: center;
}

.lc-empty > .lc-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto 1rem;
	color: var(--lc-line-strong);
}

.lc-empty p {
	color: var(--lc-muted);
}

.return-to-shop {
	text-align: center;
}

.return-to-shop .button {
	min-width: 220px;
}

/* ==========================================================================
   13. Notices, pages, blocks
   ========================================================================== */

.woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0 0 1.25rem;
	padding: 1rem 1.25rem;
	border-left: 4px solid var(--lc-accent);
	border-radius: var(--lc-radius-btn);
	background: var(--lc-success-bg);
	color: var(--lc-text);
	font-size: 0.9375rem;
	list-style: none;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
	border-left-color: var(--lc-info);
	background: var(--lc-info-bg);
}

.woocommerce-error {
	flex-direction: column;
	align-items: flex-start;
	border-left-color: var(--lc-error);
	background: var(--lc-error-bg);
}

.woocommerce-error li {
	margin: 0;
}

.woocommerce-message .button,
.woocommerce-info .button {
	order: 2;
	min-height: 40px;
	padding: 0.5rem 1rem;
	font-size: 0.75rem;
}

.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus {
	outline: none;
}

/* Generic pages (Sobre, Contato, FAQ, Políticas…). */
.entry-header,
.lc-page-header {
	margin-bottom: 1.5rem;
}

.entry-header .entry-title,
.lc-page-header .entry-title {
	margin: 0;
}

.entry-header img {
	margin-bottom: 1.5rem;
	border-radius: var(--lc-radius-lg);
}

.loja-theme.page:not(.woocommerce-page):not(.home) .hentry,
.loja-theme.single-post .hentry,
.lc-page-intro {
	max-width: 820px;
	margin-inline: auto;
}

.hentry {
	margin: 0;
}

.entry-content {
	font-size: 1rem;
	line-height: 1.75;
}

.entry-content > * + h2 {
	margin-top: 2rem;
}

.entry-content > * + h3 {
	margin-top: 1.5rem;
}

.entry-content a:not(.button):not(.lc-btn):not(.wp-block-button__link) {
	color: var(--lc-text);
	text-decoration: underline;
	text-decoration-color: var(--lc-accent);
	text-decoration-thickness: 2px;
}

.entry-content img {
	border-radius: var(--lc-radius);
}

.entry-content li + li {
	margin-top: 0.375rem;
}

.lc-page-cats .lc-cats--page {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem 1rem;
}

@media (min-width: 600px) {
	.lc-page-cats .lc-cats--page {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.lc-page-cats .lc-cats--page {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 2.5rem 1.5rem;
	}
}

.lc-cats__group {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.lc-cats__group .lc-cat {
	width: 100%;
}

.lc-cats__desc {
	margin: 0.5rem 0 0;
	color: var(--lc-muted);
	font-size: 0.8125rem;
	line-height: 1.5;
}

.lc-cats__group .lc-subcats {
	justify-content: center;
	margin-top: 0.75rem;
}

.lc-empty-text {
	color: var(--lc-muted);
}

/* FAQ — core/details as accordion. */
.wp-block-details,
.entry-content details {
	margin: 0 0 0.75rem;
	padding: 0;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius);
	background: var(--lc-white);
	transition: border-color 0.2s, box-shadow 0.2s;
}

.wp-block-details[open],
.entry-content details[open] {
	border-color: var(--lc-line-strong);
	box-shadow: var(--lc-shadow-sm);
}

.wp-block-details summary,
.entry-content details summary {
	position: relative;
	display: block;
	padding: 1rem 3rem 1rem 1.25rem;
	font-family: var(--lc-font-head);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
}

.wp-block-details summary::-webkit-details-marker,
.entry-content details summary::-webkit-details-marker {
	display: none;
}

.wp-block-details summary::after,
.entry-content details summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.25rem;
	width: 10px;
	height: 10px;
	border: solid var(--lc-text);
	border-width: 0 2px 2px 0;
	transform: translateY(-70%) rotate(45deg);
	transition: transform 0.2s;
}

.wp-block-details[open] summary::after,
.entry-content details[open] summary::after {
	transform: translateY(-30%) rotate(-135deg);
}

.wp-block-details > :not(summary),
.entry-content details > :not(summary) {
	margin: 0;
	padding: 0 1.25rem 1.25rem;
	color: var(--lc-muted);
}

/* Contact form shortcode. */
.lc-contact {
	max-width: 560px;
	padding: 1.5rem;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius-lg);
	background: var(--lc-surface);
}

.lc-contact__error {
	padding: 0.75rem 1rem;
	border-radius: var(--lc-radius-btn);
	background: var(--lc-error-bg);
	color: var(--lc-error);
	font-size: 0.875rem;
}

.lc-contact__note {
	margin: 0.75rem 0 0;
	color: var(--lc-muted);
	font-size: 0.8125rem;
}

/* Core blocks minimal polish. */
.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.wp-block-columns {
	gap: 1.5rem;
}

.wp-block-group.has-background {
	padding: 1.5rem;
	border-radius: var(--lc-radius-lg);
}

.wp-block-separator {
	border-top: 1px solid var(--lc-line);
}

.alignwide,
.alignfull {
	max-width: 100%;
}

/* Blog/search fallbacks (Storefront markup). */
.site-main > article.post,
.site-main > article.page + article {
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--lc-line);
}

.entry-meta,
.posted-on,
.byline {
	color: var(--lc-muted);
	font-size: 0.8125rem;
}

.screen-reader-text:focus.skip-link,
.skip-link:focus {
	position: fixed !important;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 1000;
	width: auto;
	height: auto;
	clip: auto;
	clip-path: none;
	padding: 0.75rem 1rem;
	border-radius: var(--lc-radius-btn);
	background: var(--lc-btn);
	color: var(--lc-on-btn);
	font-weight: 700;
	text-decoration: none;
}

/* ==========================================================================
   14. Footer
   ========================================================================== */

.lc-footer {
	margin-top: 0;
	background: var(--lc-primary);
	color: var(--lc-on-primary);
	font-size: 0.9375rem;
}

.lc-home + .lc-footer,
.site-content + .lc-footer {
	margin-top: 0;
}

.lc-footer a {
	color: inherit;
	text-decoration: none;
	opacity: 0.78;
	transition: opacity 0.15s;
}

.lc-footer a:hover {
	color: inherit;
	opacity: 1;
}

.lc-footer__grid {
	display: grid;
	gap: 2rem;
	padding-block: 3rem 2rem;
}

@media (min-width: 600px) {
	.lc-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lc-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (min-width: 1024px) {
	.lc-footer__grid {
		grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr));
		gap: 3rem;
		padding-block: 4rem 3rem;
	}

	.lc-footer__brand {
		grid-column: auto;
	}
}

.lc-footer .lc-logo a {
	color: inherit;
	opacity: 1;
}

.lc-footer .lc-logo__img {
	max-height: 48px;
}

.lc-footer__about {
	max-width: 360px;
	margin: 1rem 0 0;
	font-size: 0.875rem;
	line-height: 1.6;
	opacity: 0.72;
}

.lc-footer__title {
	margin: 0 0 1rem;
	color: inherit;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.lc-footer__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lc-footer__links li + li {
	margin-top: 0.125rem;
}

.lc-footer__links a,
.lc-footer__hours {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 36px;
	font-size: 0.875rem;
}

.lc-footer__hours {
	opacity: 0.78;
}

.lc-footer__links .lc-icon {
	width: 18px;
	height: 18px;
}

.lc-footer__contact {
	margin-bottom: 0.5rem;
}

.lc-social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}

.lc-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid currentColor;
	border-radius: 50%;
	opacity: 0.78;
}

.lc-social a:hover {
	opacity: 1;
}

.lc-social .lc-icon {
	width: 20px;
	height: 20px;
}

.lc-footer__disclaimer p {
	margin: 0;
	padding: 1.25rem 0;
	border-top: 1px solid rgba(127, 127, 127, 0.3);
	font-size: 0.75rem;
	line-height: 1.6;
	opacity: 0.6;
}

.lc-footer__bottom {
	border-top: 1px solid rgba(127, 127, 127, 0.3);
	font-size: 0.8125rem;
}

.lc-footer__bottom .lc-container {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding-block: 1.25rem calc(1.25rem + 64px); /* room for floating button on phones */
}

.lc-footer__bottom p {
	margin: 0;
	opacity: 0.6;
}

@media (min-width: 768px) {
	.lc-footer__bottom .lc-container {
		flex-direction: row;
		justify-content: space-between;
		padding-bottom: 1.25rem;
	}
}

/* ==========================================================================
   15. Floating WhatsApp button & toast
   ========================================================================== */

.lc-wa-float {
	position: fixed;
	right: max(16px, env(safe-area-inset-right));
	bottom: max(16px, env(safe-area-inset-bottom));
	z-index: 80;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 58px;
	height: 58px;
	border-radius: 999px;
	background: var(--lc-wa);
	color: var(--lc-white);
	box-shadow: 0 10px 24px rgba(21, 128, 61, 0.38);
	text-decoration: none;
	transition: transform 0.2s var(--lc-ease), box-shadow 0.2s, background-color 0.2s;
}

.lc-wa-float:hover {
	background: var(--lc-wa-hover);
	color: var(--lc-white);
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(21, 128, 61, 0.45);
}

.lc-wa-float .lc-icon {
	width: 30px;
	height: 30px;
}

.lc-wa-float__label {
	display: none;
	font-size: 0.875rem;
	font-weight: 700;
}

@media (min-width: 768px) {
	.lc-wa-float {
		width: auto;
		padding: 0 1.25rem 0 1rem;
		right: 24px;
		bottom: 24px;
	}

	.lc-wa-float__label {
		display: inline;
	}

	.lc-wa-float .lc-icon {
		width: 26px;
		height: 26px;
	}
}

/* Hide float button when an off-canvas panel is open. */
.lc-lock .lc-wa-float {
	opacity: 0;
	pointer-events: none;
}

.lc-toast {
	position: fixed;
	right: 16px;
	bottom: calc(max(16px, env(safe-area-inset-bottom)) + 70px);
	left: 16px;
	z-index: 110;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	max-width: 440px;
	margin-inline: auto;
	padding: 0.875rem 0.875rem 0.875rem 1.125rem;
	border-radius: var(--lc-radius);
	background: var(--lc-text);
	color: var(--lc-white);
	box-shadow: var(--lc-shadow-lg);
	font-size: 0.9375rem;
	font-weight: 500;
	animation: lc-toast-in 0.25s var(--lc-ease);
}

.lc-toast__text {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.lc-toast__text .lc-icon {
	width: 20px;
	height: 20px;
	color: var(--lc-accent);
}

.lc-toast a {
	flex-shrink: 0;
	padding: 0.5rem 0.875rem;
	border-radius: var(--lc-radius-btn);
	background: var(--lc-white);
	color: var(--lc-text);
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
}

.lc-toast a:hover {
	background: var(--lc-surface-2);
	color: var(--lc-text);
}

@media (min-width: 768px) {
	.lc-toast {
		right: 24px;
		bottom: 100px;
		left: auto;
	}
}

@keyframes lc-toast-in {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
}

/* ==========================================================================
   16. Utilities, motion, print
   ========================================================================== */

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
	word-wrap: normal !important;
}

.clear::after,
.clearfix::after {
	content: "";
	display: table;
	clear: both;
}

.alignleft {
	float: left;
	margin: 0 1.5rem 1rem 0;
}

.alignright {
	float: right;
	margin: 0 0 1rem 1.5rem;
}

.aligncenter {
	display: block;
	margin-inline: auto;
}

/* Storefront leftovers that could leak markup. */
.storefront-handheld-footer-bar,
.storefront-sticky-add-to-cart,
.site-header-cart,
.storefront-breadcrumb {
	display: none !important;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

@media print {
	.lc-header,
	.lc-topbar,
	.lc-footer,
	.lc-wa-float,
	.lc-toast,
	.lc-shop-sidebar,
	.lc-breadcrumb-wrap,
	.lc-card__actions {
		display: none !important;
	}

	body {
		color: #000;
		background: #fff;
	}
}
