/*
Theme Name: LeatherCraft Store
Theme URI: https://example.com/
Author: Your Brand
Description: A premium WooCommerce theme for leather jackets and bags. Edit your brand name, email, phone, WhatsApp, address and social links in Appearance > Customize > Store Details.
Version: 3.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
WC requires at least: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: leathercraft
*/

:root {
	--lc-bg: #ffffff;
	--lc-surface: #f7f3ee;
	--lc-ink: #1b1714;
	--lc-muted: #6d635b;
	--lc-line: #e6ded5;
	--lc-accent: #8a5a2b;
	--lc-accent-dark: #6b431d;
	--lc-sale: #b3261e;
	--lc-dark: #15110e;
	--lc-radius: 6px;
	--lc-max: 1280px;
	--lc-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--lc-serif: "Playfair Display", Georgia, "Times New Roman", serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--lc-font);
	font-size: 16px;
	line-height: 1.6;
	color: var(--lc-ink);
	background: var(--lc-bg);
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--lc-accent); }
h1, h2, h3, h4 { font-family: var(--lc-serif); font-weight: 600; line-height: 1.2; margin: 0 0 .5em; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 1000; width: auto; height: auto; clip: auto; background: #fff; padding: 8px 12px; }

.lc-container { max-width: var(--lc-max); margin: 0 auto; padding: 0 20px; }

/* Buttons */
.lc-btn, .button, button.button, input[type="submit"], .wc-block-components-button {
	display: inline-block;
	padding: 13px 28px;
	border: 1px solid var(--lc-ink);
	background: var(--lc-ink);
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	border-radius: var(--lc-radius);
	cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
}
.lc-btn:hover, .button:hover, input[type="submit"]:hover { background: var(--lc-accent); border-color: var(--lc-accent); color: #fff !important; }
.lc-btn--light { background: #fff; color: var(--lc-ink) !important; border-color: #fff; }
.lc-btn--light:hover { background: var(--lc-accent); border-color: var(--lc-accent); }
.lc-btn--ghost { background: transparent; color: #fff !important; border-color: #fff; }

/* Announcement bar */
.lc-announce { background: var(--lc-dark); color: #f3e9dd; font-size: 13px; text-align: center; padding: 8px 16px; letter-spacing: .03em; }
.lc-announce a { color: #f3e9dd; text-decoration: underline; }

/* Top contact strip */
.lc-topbar { border-bottom: 1px solid var(--lc-line); font-size: 13px; color: var(--lc-muted); }
.lc-topbar .lc-container { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 6px; padding-bottom: 6px; flex-wrap: wrap; }
.lc-topbar__contact { display: flex; gap: 18px; flex-wrap: wrap; }
.lc-topbar__contact a, .lc-topbar__contact span { display: inline-flex; align-items: center; gap: 6px; }
.lc-topbar svg { width: 14px; height: 14px; }

/* Header */
.lc-header { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--lc-line); }
.lc-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; min-height: 76px; }
.lc-brand { justify-self: center; text-align: center; }
.lc-brand__name { font-family: var(--lc-serif); font-size: 28px; font-weight: 700; letter-spacing: .04em; }
.lc-brand img { max-height: 56px; width: auto; }
.lc-header__left { display: flex; align-items: center; gap: 8px; }
.lc-header__icons { justify-self: end; display: flex; align-items: center; gap: 6px; }
.lc-icon-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: none; border: 0; cursor: pointer; color: var(--lc-ink); }
.lc-icon-btn:hover { background: var(--lc-surface); color: var(--lc-ink); }
.lc-icon-btn svg { width: 22px; height: 22px; }
.lc-cart-count { position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--lc-accent); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.lc-menu-toggle { display: none; }

.lc-nav { border-top: 1px solid var(--lc-line); }
.lc-nav ul { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; gap: 4px; flex-wrap: wrap; }
.lc-nav li { position: relative; }
.lc-nav a { display: block; padding: 14px 16px; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.lc-nav .sub-menu { display: none; position: absolute; left: 0; top: 100%; min-width: 220px; background: #fff; border: 1px solid var(--lc-line); box-shadow: 0 12px 30px rgba(0,0,0,.08); flex-direction: column; gap: 0; padding: 8px 0; z-index: 60; }
.lc-nav .sub-menu a { text-transform: none; letter-spacing: 0; font-weight: 500; padding: 9px 18px; }
.lc-nav li:hover > .sub-menu, .lc-nav li:focus-within > .sub-menu { display: flex; }
.lc-nav .current-menu-item > a { color: var(--lc-accent); }

.lc-search { display: none; border-top: 1px solid var(--lc-line); padding: 14px 0; }
.lc-search.is-open { display: block; }
.lc-search form { display: flex; gap: 8px; max-width: 640px; margin: 0 auto; }
.lc-search input[type="search"] { flex: 1; }

input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="number"], input[type="password"], select, textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-radius);
	font: inherit;
	background: #fff;
}
input:focus, select:focus, textarea:focus { outline: 2px solid var(--lc-accent); outline-offset: 1px; }

/* Hero */
.lc-hero { position: relative; min-height: 72vh; display: flex; align-items: center; color: #fff; background: var(--lc-dark) center/cover no-repeat; }
.lc-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,7,5,.78) 0%, rgba(10,7,5,.35) 60%, rgba(10,7,5,.1) 100%); }
.lc-hero .lc-container { position: relative; width: 100%; }
.lc-hero__content { max-width: 600px; padding: 60px 0; }
.lc-hero__eyebrow { text-transform: uppercase; letter-spacing: .25em; font-size: 12px; color: #e3c7a5; margin-bottom: 14px; }
.lc-hero h1 { font-size: clamp(36px, 6vw, 64px); color: #fff; }
.lc-hero p { font-size: 18px; color: #eadfd3; margin: 0 0 28px; }
.lc-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.lc-hero--placeholder { background-image: radial-gradient(circle at 75% 40%, #5a3a1f 0%, #2a1a0e 45%, #120c08 100%); }

/* Features strip */
.lc-features { background: var(--lc-surface); border-bottom: 1px solid var(--lc-line); }
.lc-features__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.lc-feature { display: flex; gap: 14px; align-items: center; padding: 22px 18px; }
.lc-feature svg { flex: none; width: 32px; height: 32px; color: var(--lc-accent); }
.lc-feature strong { display: block; font-size: 14px; }
.lc-feature span { font-size: 13px; color: var(--lc-muted); }

/* Sections */
.lc-section { padding: 72px 0; }
.lc-section--alt { background: var(--lc-surface); }
.lc-section__head { text-align: center; max-width: 640px; margin: 0 auto 40px; }
.lc-section__head h2 { font-size: clamp(28px, 4vw, 40px); }
.lc-section__head p { color: var(--lc-muted); margin: 0; }
.lc-eyebrow { text-transform: uppercase; letter-spacing: .22em; font-size: 12px; color: var(--lc-accent); font-weight: 600; margin-bottom: 8px; }
.lc-section__more { text-align: center; margin-top: 36px; }

/* Category tiles */
.lc-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.lc-cat { position: relative; display: block; aspect-ratio: 3/4; overflow: hidden; border-radius: var(--lc-radius); background: #2a1c12; color: #fff; }
.lc-cat img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.lc-cat:hover img { transform: scale(1.05); }
.lc-cat__ph { position: absolute; inset: 0; background: linear-gradient(160deg, #6b4423, #1e130b); }
.lc-cat__label { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 18px; background: linear-gradient(0deg, rgba(0,0,0,.7), transparent); }
.lc-cat__label h3 { color: #fff; font-size: 22px; margin: 0; }
.lc-cat__label span { font-size: 12px; text-transform: uppercase; letter-spacing: .15em; color: #e3c7a5; }
.lc-cat:hover { color: #fff; }

/* Promo split banners */
.lc-promos { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.lc-promo { position: relative; min-height: 340px; border-radius: var(--lc-radius); overflow: hidden; display: flex; align-items: flex-end; padding: 32px; color: #fff; background: #2a1c12 center/cover no-repeat; }
.lc-promo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.65), rgba(0,0,0,.05)); }
.lc-promo > * { position: relative; }
.lc-promo h3 { color: #fff; font-size: 30px; }
.lc-promo p { margin: 0 0 16px; color: #eadfd3; }

/* Stats */
.lc-stats { background: var(--lc-dark); color: #fff; padding: 44px 0; }
.lc-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); text-align: center; gap: 16px; }
.lc-stat strong { display: block; font-family: var(--lc-serif); font-size: 38px; color: #e3c7a5; }
.lc-stat span { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: #cbbcae; }

/* Testimonials */
.lc-testimonials { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lc-testimonial { background: #fff; border: 1px solid var(--lc-line); border-radius: var(--lc-radius); padding: 28px; }
.lc-stars { color: #c08a2e; letter-spacing: 3px; margin-bottom: 10px; }
.lc-testimonial p { margin: 0 0 16px; }
.lc-testimonial cite { font-style: normal; font-weight: 600; font-size: 14px; }
.lc-testimonial small { display: block; color: var(--lc-muted); }

/* Custom order CTA */
.lc-custom { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.lc-custom ul { padding: 0; margin: 0 0 24px; list-style: none; }
.lc-custom li { padding: 8px 0 8px 28px; position: relative; }
.lc-custom li::before { content: "✓"; position: absolute; left: 0; color: var(--lc-accent); font-weight: 700; }
.lc-custom__card { background: #fff; border: 1px solid var(--lc-line); border-radius: var(--lc-radius); padding: 32px; }
.lc-custom__card h3 { font-size: 24px; }
.lc-contact-list { list-style: none; margin: 0; padding: 0; }
.lc-contact-list li { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--lc-line); }
.lc-contact-list li:last-child { border-bottom: 0; }
.lc-contact-list svg { flex: none; width: 20px; height: 20px; color: var(--lc-accent); margin-top: 3px; }
.lc-contact-list small { display: block; color: var(--lc-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.lc-btn--whatsapp { background: #1f8f4e; border-color: #1f8f4e; }
.lc-btn--whatsapp:hover { background: #17723e; border-color: #17723e; }

/* Footer */
.lc-footer { background: var(--lc-dark); color: #cbbcae; font-size: 14px; }
.lc-footer a { color: #cbbcae; }
.lc-footer a:hover { color: #fff; }
.lc-footer__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 40px; padding: 64px 0 40px; }
.lc-footer h4 { font-family: var(--lc-font); color: #fff; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 18px; }
.lc-footer ul { list-style: none; margin: 0; padding: 0; }
.lc-footer li { padding: 5px 0; }
.lc-footer__brand { font-family: var(--lc-serif); font-size: 26px; color: #fff; margin-bottom: 12px; }
.lc-footer .lc-contact-list li { border-color: rgba(255,255,255,.1); }
.lc-footer .lc-contact-list svg { color: #e3c7a5; }
.lc-footer .lc-contact-list small { color: #8f8174; }
.lc-social { display: flex; gap: 10px; margin-top: 18px; }
.lc-social a { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.lc-social a:hover { background: var(--lc-accent); border-color: var(--lc-accent); }
.lc-social svg { width: 17px; height: 17px; }
.lc-footer__bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 20px 0; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 13px; }
.lc-payments { display: flex; gap: 8px; flex-wrap: wrap; }
.lc-payments span { border: 1px solid rgba(255,255,255,.2); border-radius: 4px; padding: 2px 8px; font-size: 12px; }

/* Floating WhatsApp */
.lc-wa-float { position: fixed; right: 20px; bottom: 20px; z-index: 90; width: 56px; height: 56px; border-radius: 50%; background: #25d366; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.lc-wa-float:hover { color: #fff; transform: scale(1.05); }
.lc-wa-float svg { width: 30px; height: 30px; }

/* Generic content */
.lc-main { min-height: 50vh; }
.lc-page { padding: 48px 0 72px; }
.lc-page__title { font-size: clamp(30px, 4vw, 44px); margin-bottom: 24px; }
.lc-entry { max-width: 820px; }
.lc-entry-content > * { margin-top: 0; }
.lc-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.lc-post-card h2 { font-size: 22px; margin-top: 12px; }
.lc-pagination { margin-top: 40px; text-align: center; }

/* ===== WooCommerce ===== */
.woocommerce .woocommerce-breadcrumb { font-size: 13px; color: var(--lc-muted); margin-bottom: 18px; }
.woocommerce-products-header__title { font-size: clamp(30px, 4vw, 44px); }
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px 20px;
	margin: 0 0 2em;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	position: relative;
	text-align: left;
}
.woocommerce ul.products li.product a img {
	aspect-ratio: 3/4;
	object-fit: cover;
	width: 100%;
	margin: 0 0 14px;
	border-radius: var(--lc-radius);
	background: var(--lc-surface);
	transition: opacity .3s;
}
.woocommerce ul.products li.product a:hover img { opacity: .88; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--lc-font); font-size: 15px; font-weight: 500; padding: 0; margin: 0 0 6px; }
.woocommerce ul.products li.product .price { color: var(--lc-ink); font-weight: 700; font-size: 15px; display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.woocommerce ul.products li.product .price del { color: var(--lc-muted); font-weight: 400; opacity: 1; font-size: 14px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--lc-sale); }
.woocommerce ul.products li.product .button { margin-top: 10px; padding: 10px 18px; font-size: 12px; width: 100%; text-align: center; }
.woocommerce ul.products li.product .added_to_cart { display: block; margin-top: 6px; font-size: 13px; text-align: center; }
.woocommerce span.onsale, .lc-badge {
	position: absolute;
	top: 12px; left: 12px; right: auto;
	min-height: 0; min-width: 0;
	margin: 0;
	padding: 5px 10px;
	border-radius: 4px;
	background: var(--lc-sale);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	z-index: 2;
}
.woocommerce div.product span.onsale { top: 16px; left: 16px; }

.woocommerce div.product { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; position: relative; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .product_title { font-size: clamp(26px, 3vw, 36px); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--lc-ink); font-size: 24px; font-weight: 700; }
.woocommerce div.product p.price del { color: var(--lc-muted); font-weight: 400; font-size: 18px; }
.woocommerce div.product p.price ins { text-decoration: none; color: var(--lc-sale); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 24px 0; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart .variations { margin-bottom: 12px; }
.woocommerce div.product form.cart .variations select { min-width: 220px; }
.woocommerce .quantity .qty { width: 80px; padding: 12px 8px; text-align: center; }
.woocommerce div.product form.cart .button { flex: 1; min-width: 200px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 20px; border-bottom: 1px solid var(--lc-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; margin: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--lc-ink); }
.lc-product-trust { list-style: none; padding: 18px 0 0; margin: 18px 0 0; border-top: 1px solid var(--lc-line); font-size: 14px; color: var(--lc-muted); }
.lc-product-trust li { padding: 4px 0; }
.lc-product-trust li::before { content: "✓ "; color: var(--lc-accent); font-weight: 700; }
.lc-product-wa { margin-top: 10px; display: inline-block; }

.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--lc-accent); background: var(--lc-surface); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--lc-accent); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #respond input#submit.alt { background: var(--lc-ink); color: #fff; }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--lc-accent); }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0 3px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { padding: 10px 14px; border: 1px solid var(--lc-line); border-radius: var(--lc-radius); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--lc-ink); color: #fff; }
.lc-shop-wrap { padding: 36px 0 72px; }

/* ===== Responsive ===== */
@media (max-width: 1024px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr); }
	.lc-cats { grid-template-columns: repeat(2, 1fr); }
	.lc-features__grid { grid-template-columns: repeat(2, 1fr); }
	.lc-footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 782px) {
	.lc-menu-toggle { display: inline-flex; }
	.lc-nav { display: none; }
	.lc-nav.is-open { display: block; }
	.lc-nav ul { flex-direction: column; gap: 0; }
	.lc-nav a { padding: 12px 20px; border-bottom: 1px solid var(--lc-line); }
	.lc-nav .sub-menu { display: flex; position: static; box-shadow: none; border: 0; padding: 0 0 0 16px; }
	.lc-brand__name { font-size: 22px; }
	.lc-header__inner { min-height: 64px; }
	.lc-topbar__contact .lc-hide-sm { display: none; }
	.lc-hero { min-height: 60vh; }
	.lc-section { padding: 52px 0; }
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); gap: 22px 14px; }
	.woocommerce div.product { grid-template-columns: 1fr; gap: 24px; }
	.lc-promos, .lc-custom, .lc-testimonials, .lc-posts { grid-template-columns: 1fr; }
	.lc-stats__grid { grid-template-columns: repeat(2, 1fr); }
	.lc-features__grid { grid-template-columns: 1fr 1fr; }
	.lc-feature { padding: 16px 10px; }
}
@media (max-width: 520px) {
	.lc-container { padding: 0 16px; }
	.lc-footer__top { grid-template-columns: 1fr; gap: 28px; }
	.lc-features__grid { grid-template-columns: 1fr; }
	.lc-topbar { display: none; }
}

/* ===== Hero slider ===== */
.lc-slider { position: relative; overflow: hidden; background: var(--lc-dark); min-height: 72vh; }
.lc-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility .8s; }
.lc-slide.is-active { position: relative; opacity: 1; visibility: visible; }
.lc-slider .lc-hero { min-height: 72vh; }
.lc-slide__bg, .lc-slide__bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lc-slide::before { z-index: 1; }
.lc-slide .lc-container { z-index: 2; }
.lc-hero__title { font-size: clamp(36px, 6vw, 64px); color: #fff; }
.lc-hero--ph2 { background-image: radial-gradient(circle at 70% 50%, #7a5432 0%, #3a2414 45%, #140d08 100%); }
.lc-hero--ph3 { background-image: radial-gradient(circle at 70% 40%, #4a2a22 0%, #2a1712 45%, #110a08 100%); }
.lc-slider__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.5); background: rgba(0,0,0,.25); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
.lc-slider__arrow:hover { background: var(--lc-accent); border-color: var(--lc-accent); }
.lc-slider__prev { left: 18px; } .lc-slider__next { right: 18px; }
.lc-slider__dots { position: absolute; left: 0; right: 0; bottom: 22px; z-index: 3; display: flex; justify-content: center; gap: 10px; }
.lc-slider__dots button { width: 10px; height: 10px; padding: 0; border-radius: 50%; border: 1px solid #fff; background: transparent; cursor: pointer; }
.lc-slider__dots button.is-active { background: #fff; width: 28px; border-radius: 5px; }

/* ===== Mega menu ===== */
.lc-nav li.lc-mega { position: static; }
.lc-nav > .lc-container { position: relative; }
.lc-nav li.lc-mega > .sub-menu { left: 20px; right: 20px; min-width: 0; padding: 28px 32px; display: none; grid-template-columns: repeat(4, minmax(160px, 1fr)); gap: 24px; }
.lc-nav li.lc-mega:hover > .sub-menu, .lc-nav li.lc-mega:focus-within > .sub-menu { display: grid; }
.lc-nav li.lc-mega > .sub-menu > li > a { font-weight: 600; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; color: var(--lc-muted); padding: 0 0 14px; }
.lc-nav li.lc-mega > .sub-menu > li > a:hover { color: var(--lc-accent); }
.lc-nav li.lc-mega .sub-menu .sub-menu { display: flex; position: static; border: 0; box-shadow: none; padding: 0; min-width: 0; }
.lc-nav li.lc-mega .sub-menu .sub-menu a { padding: 6px 0; }
.lc-nav .lc-menu-sale > a { color: var(--lc-sale); }

/* ===== Promos (3) ===== */
.lc-section--tight { padding: 40px 0; }
.lc-promos { grid-template-columns: repeat(3, 1fr); }
.lc-promo { min-height: 380px; }
.lc-promo h3 { font-size: 26px; }

/* ===== Tabs ===== */
.lc-tabs { display: flex; justify-content: center; gap: 8px; margin-bottom: 36px; flex-wrap: wrap; }
.lc-tab { background: transparent; border: 1px solid var(--lc-line); padding: 12px 26px; border-radius: 999px; font: inherit; font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; color: var(--lc-ink); }
.lc-tab.is-active, .lc-tab:hover { background: var(--lc-ink); border-color: var(--lc-ink); color: #fff; }
.lc-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.lc-panel[hidden] { display: none; }
.lc-panel__media { aspect-ratio: 4/3; border-radius: var(--lc-radius); background: #2a1c12 center/cover no-repeat; }
.lc-panel__media--1:not([style]) { background-image: linear-gradient(135deg, #6b4423, #1e130b); }
.lc-panel__media--2:not([style]) { background-image: linear-gradient(135deg, #8a5a2b, #2a1a0e); }
.lc-panel__media--3:not([style]) { background-image: linear-gradient(135deg, #3b2a1e, #120c08); }
.lc-panel__body h2 { font-size: clamp(28px, 3.5vw, 40px); }
.lc-panel__body p { color: var(--lc-muted); margin: 0 0 24px; font-size: 17px; }

/* ===== Product carousel ===== */
.lc-carousel { position: relative; }
.lc-carousel ul.products { grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: calc((100% - 60px) / 4); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; margin-bottom: 0 !important; }
.lc-carousel ul.products::-webkit-scrollbar { display: none; }
.lc-carousel ul.products li.product { scroll-snap-align: start; }
.lc-carousel__arrow { position: absolute; top: 34%; z-index: 5; width: 44px; height: 44px; border-radius: 50%; background: #fff; border: 1px solid var(--lc-line); box-shadow: 0 6px 18px rgba(0,0,0,.12); font-size: 26px; line-height: 1; cursor: pointer; color: var(--lc-ink); }
.lc-carousel__arrow:hover { background: var(--lc-ink); color: #fff; }
.lc-carousel__prev { left: -18px; } .lc-carousel__next { right: -18px; }

/* ===== Custom order form ===== */
#custom-order, #made-for-you { scroll-margin-top: 140px; }
.lc-custom { align-items: start; }
.lc-custom__contact { margin-top: 8px; }
.lc-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.lc-form-grid label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; }
.lc-form-grid .lc-span2 { grid-column: 1 / -1; }
.lc-btn--block { width: 100%; text-align: center; }
.lc-btn--accent { background: var(--lc-accent); border-color: var(--lc-accent); }
.lc-form-note { font-size: 13px; color: var(--lc-muted); margin: 10px 0 0; text-align: center; }
.lc-notice { padding: 10px 14px; border-radius: var(--lc-radius); font-size: 14px; }
.lc-notice--ok { background: #e7f4ec; color: #1d5e37; }
.lc-notice--err { background: #fbe9e7; color: #8c1d18; }
.lc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* ===== Newsletter ===== */
.lc-newsletter { background: var(--lc-accent-dark); color: #f3e9dd; }
.lc-newsletter__inner { display: grid; grid-template-columns: 1fr 1.1fr; gap: 32px; align-items: center; padding-top: 40px; padding-bottom: 40px; }
.lc-newsletter h3 { color: #fff; font-size: 28px; margin-bottom: 4px; }
.lc-newsletter p { margin: 0; }
.lc-newsletter form { display: flex; gap: 10px; }
.lc-newsletter input[type="email"] { flex: 1; border-color: transparent; }
.lc-newsletter .lc-btn--accent { background: var(--lc-dark); border-color: var(--lc-dark); }
.lc-newsletter__msg { grid-column: 1 / -1; font-weight: 600; }

/* ===== Size guide ===== */
.lc-size-guide table { width: 100%; border-collapse: collapse; margin: 0 0 28px; font-size: 15px; }
.lc-size-guide th, .lc-size-guide td { border: 1px solid var(--lc-line); padding: 10px 12px; text-align: center; }
.lc-size-guide th { background: var(--lc-surface); }

@media (max-width: 1024px) {
	.lc-carousel ul.products { grid-auto-columns: calc((100% - 40px) / 3); }
	.lc-nav li.lc-mega > .sub-menu { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 782px) {
	.lc-slider, .lc-slider .lc-hero { min-height: 64vh; }
	.lc-slider__arrow { display: none; }
	.lc-promos { grid-template-columns: 1fr; }
	.lc-promo { min-height: 280px; }
	.lc-panel { grid-template-columns: 1fr; gap: 24px; }
	.lc-tab { padding: 10px 16px; font-size: 12px; }
	.lc-carousel ul.products { grid-auto-columns: 46%; }
	.lc-carousel__arrow { display: none; }
	.lc-newsletter__inner { grid-template-columns: 1fr; gap: 16px; }
	.lc-nav li.lc-mega > .sub-menu, .lc-nav li.lc-mega:hover > .sub-menu { display: flex; position: static; padding: 0 0 0 16px; }
	.lc-nav li.lc-mega > .sub-menu > li > a { padding: 12px 20px; }
	.lc-nav li.lc-mega .sub-menu .sub-menu a { padding: 10px 20px; }
}
@media (max-width: 520px) {
	.lc-form-grid { grid-template-columns: 1fr; }
	.lc-newsletter form { flex-direction: column; }
	.lc-carousel ul.products { grid-auto-columns: 68%; }
}

/* Mobile accordion menu */
.lc-sub-toggle { display: none; }
@media (max-width: 782px) {
	.lc-nav li.menu-item-has-children { position: relative; }
	.lc-sub-toggle { display: flex; align-items: center; justify-content: center; position: absolute; right: 8px; top: 4px; width: 38px; height: 38px; border: 0; background: none; font-size: 22px; cursor: pointer; color: var(--lc-ink); transition: transform .2s; }
	.lc-nav li.is-open > .lc-sub-toggle { transform: rotate(45deg); }
	.lc-nav .sub-menu, .lc-nav li.lc-mega > .sub-menu, .lc-nav li.lc-mega:hover > .sub-menu, .lc-nav li.lc-mega .sub-menu .sub-menu { display: none; }
	.lc-nav li.is-open > .sub-menu, .lc-nav li.lc-mega.is-open > .sub-menu, .lc-nav li.lc-mega .sub-menu li.is-open > .sub-menu { display: flex; }
	.lc-nav li.lc-mega > .sub-menu > li > a { color: var(--lc-ink); }
}

/* =====================================================================
   v2 – Reference-style layouts
   ===================================================================== */
.lc-btn--outline { background: #fff; color: var(--lc-ink) !important; border-color: var(--lc-ink); }
.lc-btn--outline:hover { background: var(--lc-ink); color: #fff !important; }
.lc-big-title { font-family: var(--lc-font); font-weight: 800; text-transform: uppercase; font-size: clamp(32px, 4.5vw, 54px); line-height: 1.05; letter-spacing: -.01em; }
.lc-currency { font-size: 13px; margin-right: 6px; }
.lc-hero__content { padding: 80px 0 90px; }
.lc-slider .lc-hero { align-items: flex-end; }
.lc-hero h1, .lc-hero__title { font-family: var(--lc-font); font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; }

/* Mosaic */
.lc-mosaic { display: grid; gap: 6px; }
.lc-mosaic__big { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.lc-mosaic__small { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.lc-tile { position: relative; display: block; overflow: hidden; background: #2a1c12; color: #fff; }
.lc-tile--big { aspect-ratio: 4/3; }
.lc-tile--small { aspect-ratio: 3/4; }
.lc-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.lc-tile:hover img { transform: scale(1.04); }
.lc-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.55), transparent 55%); }
.lc-tile__label { position: absolute; z-index: 1; left: 22px; bottom: 20px; font-weight: 700; font-size: 18px; color: #fff; }
.lc-tile--big .lc-tile__label { left: 50%; bottom: auto; top: 50%; transform: translate(-50%, -50%); font-size: clamp(22px, 2.6vw, 34px); text-shadow: 0 2px 12px rgba(0,0,0,.4); white-space: nowrap; }
.lc-tile:hover { color: #fff; }

/* Clearance split */
.lc-clearance { display: grid; grid-template-columns: 1fr 1fr; }
.lc-clearance__promo { position: relative; min-height: 640px; background: #6b5644 center/cover no-repeat; display: flex; align-items: flex-end; padding: 40px; color: #fff; }
.lc-clearance__promo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.6), transparent 55%); }
.lc-clearance__promo > div { position: relative; max-width: 420px; }
.lc-clearance__promo h2 { color: #fff; font-family: var(--lc-font); font-weight: 800; text-transform: uppercase; font-size: clamp(26px, 3vw, 38px); }
.lc-clearance__products { padding: 24px; background: #fff; }
.lc-clearance__products ul.products { grid-template-columns: 1fr 1fr !important; gap: 22px 18px !important; margin: 0 !important; }

/* Dark tabs */
.lc-dark-tabs { background: #1d1a17; color: #e9e1d6; position: relative; }
.lc-dark-tabs .lc-tabs { position: absolute; z-index: 2; top: 28px; left: 40px; justify-content: flex-start; margin: 0; }
.lc-dark-tabs .lc-tab { border-color: rgba(255,255,255,.25); color: #e9e1d6; padding: 8px 16px; font-size: 11px; border-radius: 3px; }
.lc-dark-tabs .lc-tab.is-active, .lc-dark-tabs .lc-tab:hover { background: #fff; color: var(--lc-ink); border-color: #fff; }
.lc-dark-tabs .lc-panel { grid-template-columns: 1fr 1fr; gap: 0; align-items: stretch; }
.lc-dark-tabs .lc-panel__body { padding: 120px 48px 64px 40px; display: flex; flex-direction: column; justify-content: center; }
.lc-dark-tabs .lc-panel__body h2 { color: #fff; font-family: var(--lc-font); font-weight: 700; }
.lc-dark-tabs .lc-panel__body p { color: #cfc5b8; font-size: 18px; }
.lc-dark-tabs .lc-btn--ghost { align-self: flex-start; }
.lc-dark-tabs .lc-panel__media { aspect-ratio: auto; min-height: 520px; border-radius: 0; }

/* Testimonial with image */
.lc-quote { display: grid; grid-template-columns: 1fr 1fr; min-height: 520px; background: var(--lc-surface); }
.lc-quote__body { padding: 64px 56px; display: flex; flex-direction: column; justify-content: center; }
.lc-quote__slide { display: none; margin: 0; }
.lc-quote__slide.is-active { display: block; }
.lc-quote__slide p { font-size: clamp(20px, 2.2vw, 28px); line-height: 1.45; margin: 0 0 18px; font-family: var(--lc-serif); }
.lc-quote__slide cite { font-style: normal; color: var(--lc-muted); }
.lc-quote__nav { display: flex; gap: 8px; margin-top: 24px; }
.lc-quote__nav button { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--lc-line); background: #fff; font-size: 22px; cursor: pointer; }
.lc-quote__media { background: #2a1c12 center/cover no-repeat; min-height: 360px; }
.lc-quote__media:not([style]) { background-image: linear-gradient(135deg, #6b4423, #1e130b); }

/* Bags banner */
.lc-banner { position: relative; min-height: 480px; display: flex; align-items: center; background: #8c7a66 center/cover no-repeat; }
.lc-banner::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.75), rgba(255,255,255,0) 60%); }
.lc-banner .lc-container { position: relative; width: 100%; }
.lc-banner__content { max-width: 460px; }
.lc-banner h2 { font-family: var(--lc-font); font-weight: 800; text-transform: uppercase; font-size: clamp(28px, 3.6vw, 46px); }

/* Community */
.lc-community__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(200px, 1fr); gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; }
.lc-community__item { position: relative; scroll-snap-align: start; border-radius: var(--lc-radius); overflow: hidden; background: #eee; aspect-ratio: 3/4; display: block; }
.lc-community__item img { width: 100%; height: 100%; object-fit: cover; }
.lc-community__item span { position: absolute; left: 8px; right: 8px; bottom: 8px; background: rgba(255,255,255,.95); padding: 8px 10px; font-size: 12px; border-radius: 4px; color: var(--lc-ink); }

/* Footer v2 */
.lc-features { border-top: 1px solid var(--lc-line); }
.lc-footer__top { grid-template-columns: 1.5fr 1fr 1fr 1fr 1.4fr; gap: 32px; }
.lc-footer__news form { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.lc-footer__news input[type="email"] { background: transparent; border-color: rgba(255,255,255,.25); color: #fff; }
.lc-footer__news .lc-btn { align-self: flex-start; }
.lc-footer__about .lc-contact-list { margin-top: 14px; }

/* ===== Shop / category ===== */
.lc-shop-hero { position: relative; background: #1d1a17 center/cover no-repeat; color: #fff; text-align: center; padding: 90px 0 80px; }
.lc-shop-hero::before { content: ""; position: absolute; inset: 0; background: rgba(15,10,6,.6); }
.lc-shop-hero .lc-container { position: relative; }
.lc-shop-hero h1 { color: #fff; font-family: var(--lc-font); font-weight: 800; text-transform: uppercase; font-size: clamp(30px, 4.5vw, 52px); margin-bottom: 14px; }
.lc-shop-hero__desc { max-width: 760px; margin: 0 auto; color: #e3d9cc; font-size: 15px; }
.lc-shop-hero__desc p { margin: 0; }
.lc-shop-layout { display: grid; grid-template-columns: 230px 1fr; gap: 36px; padding-top: 28px; padding-bottom: 60px; }
.lc-filters { position: sticky; top: 150px; align-self: start; max-height: calc(100vh - 170px); overflow: auto; font-size: 14px; }
.lc-filters__head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 10px; border-bottom: 1px solid var(--lc-line); }
.lc-filters__close { display: none; background: none; border: 0; font-size: 28px; cursor: pointer; }
.lc-filter { border-bottom: 1px solid var(--lc-line); }
.lc-filter summary { cursor: pointer; padding: 14px 0; font-weight: 600; list-style: none; display: flex; justify-content: space-between; }
.lc-filter summary::-webkit-details-marker { display: none; }
.lc-filter summary::after { content: "+"; font-weight: 400; }
.lc-filter[open] summary::after { content: "–"; }
.lc-filter__list { list-style: none; padding: 0 0 12px; margin: 0; }
.lc-filter__list a { display: flex; align-items: center; gap: 10px; padding: 5px 0; }
.lc-filter__list a.is-active { font-weight: 700; color: var(--lc-accent); }
.lc-dot { width: 16px; height: 16px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); }
.lc-check { width: 15px; height: 15px; border: 1px solid #aaa; border-radius: 3px; }
.lc-filter__list a.is-active .lc-check { background: var(--lc-accent); border-color: var(--lc-accent); }
.lc-filter__list a.is-active .lc-dot { box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--lc-ink); }
.lc-collection h4 { font-family: var(--lc-font); font-size: 12px; text-transform: uppercase; letter-spacing: .12em; margin: 22px 0 8px; }
.lc-collection ul { list-style: none; margin: 0; padding: 0; }
.lc-collection a { display: block; padding: 3px 0; color: var(--lc-muted); font-size: 13px; }
.lc-collection a.is-active, .lc-collection a:hover { color: var(--lc-ink); font-weight: 600; }
.lc-filters__clear { margin-top: 18px; }
.lc-shop-toolbar { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; }
.lc-filters-toggle { display: none; align-items: center; gap: 6px; background: none; border: 1px solid var(--lc-line); padding: 8px 14px; border-radius: var(--lc-radius); font: inherit; cursor: pointer; }
.lc-filters-toggle svg { width: 18px; height: 18px; }
.lc-breadcrumb { font-size: 13px; color: var(--lc-muted); margin: 0 !important; }
.lc-bc-sep { margin: 0 6px; opacity: .5; }
.lc-shop-main .woocommerce-result-count { font-size: 13px; color: var(--lc-muted); margin: 8px 0 18px; }
.lc-shop-main .woocommerce-ordering { margin: 0 0 18px; }
.lc-shop-main .woocommerce-ordering select { width: auto; padding: 8px 12px; }
.lc-shop-main ul.products { grid-template-columns: repeat(4, 1fr); }

/* Product cards v2 */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: block; position: relative; }
.woocommerce ul.products li.product .lc-hover-img { position: absolute; top: 0; left: 0; opacity: 0; transition: opacity .35s; }
.woocommerce ul.products li.product a:hover .lc-hover-img { opacity: 1; }
.woocommerce ul.products li.product a:hover img { opacity: 1; }
.lc-card-badge { position: absolute; z-index: 2; top: 10px; left: 10px; background: #2b2724; color: #fff; font-size: 11px; font-weight: 600; padding: 4px 8px; border-radius: 3px; letter-spacing: .02em; }
.woocommerce ul.products li.product .onsale { left: auto !important; right: 10px; top: 10px; background: #fff; color: var(--lc-sale); border: 1px solid #f0d4d2; }
.lc-card-rating { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--lc-muted); margin: 2px 0 6px; }
.lc-card-rating .star-rating { margin: 0 !important; font-size: 12px; color: #c08a2e; }
.lc-sale-word { color: var(--lc-sale); font-weight: 600; font-size: 13px; }
.woocommerce ul.products li.product .price .amount { white-space: nowrap; }

/* ===== Single product v2 ===== */
.lc-shop-wrap .lc-breadcrumb { margin-bottom: 18px !important; }
.woocommerce div.product .woocommerce-product-gallery { display: grid; grid-template-columns: 84px 1fr; gap: 12px; position: relative; }
.woocommerce div.product .woocommerce-product-gallery .flex-viewport, .woocommerce div.product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { grid-column: 2; grid-row: 1; border-radius: var(--lc-radius); background: var(--lc-surface); }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 4px; border: 1px solid var(--lc-line); opacity: .7; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--lc-ink); }
.woocommerce div.product .woocommerce-product-gallery__trigger { left: auto; right: 14px; top: 14px; z-index: 5; }
.woocommerce div.product .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) { grid-template-columns: 1fr; }
.woocommerce div.product .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) > * { grid-column: 1 !important; }
.woocommerce div.product .summary .woocommerce-product-rating { margin-bottom: 8px; }
.lc-single-short { color: var(--lc-muted); margin: 6px 0 16px; }
.woocommerce div.product form.cart .variations { width: 100%; border: 0; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; text-align: left; }
.woocommerce div.product form.cart .variations th label { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.woocommerce div.product form.cart .variations tr { display: block; margin-bottom: 16px; }
.lc-swatches { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.lc-swatch { min-width: 56px; padding: 10px 14px; border: 1px solid var(--lc-line); background: #fff; border-radius: 4px; font: inherit; font-size: 14px; cursor: pointer; color: var(--lc-ink); }
.lc-swatch:hover { border-color: var(--lc-ink); }
.lc-swatch.is-selected { border-color: var(--lc-ink); background: var(--lc-ink); color: #fff; }
.lc-swatch:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.lc-swatch--color { min-width: 0; width: 38px; height: 38px; padding: 0; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--lc-line); }
.lc-swatch--color.is-selected { box-shadow: 0 0 0 2px var(--lc-ink); background: inherit; }
.lc-has-swatches select { position: absolute !important; opacity: 0; pointer-events: none; width: 1px !important; height: 1px; }
.woocommerce div.product form.cart .reset_variations { font-size: 13px; margin-left: 4px; }
.lc-mtm { margin: 6px 0 14px; padding: 14px; border: 1px dashed var(--lc-line); border-radius: var(--lc-radius); width: 100%; }
.lc-mtm__toggle { display: flex; align-items: center; gap: 10px; cursor: pointer; font-weight: 600; }
.lc-mtm__toggle span { display: inline-flex; align-items: center; gap: 8px; }
.lc-mtm__toggle svg { width: 18px; height: 18px; color: var(--lc-accent); }
.lc-mtm__fields { display: none; margin-top: 12px; }
.lc-mtm.is-open .lc-mtm__fields { display: block; }
.lc-mtm__fields p { font-size: 13px; color: var(--lc-muted); margin: 0 0 10px; }
.woocommerce div.product form.cart .single_variation_wrap { width: 100%; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; }
.woocommerce div.product form.cart .button { background: var(--lc-ink) !important; }
.woocommerce div.product .lc-btn--outline.lc-btn--block { margin: -8px 0 10px; }
.lc-product-wa { width: 100%; text-align: center; }
.lc-accordions { margin-top: 22px; border-top: 1px solid var(--lc-line); }
.lc-acc { border-bottom: 1px solid var(--lc-line); }
.lc-acc summary { cursor: pointer; padding: 15px 0; font-weight: 600; list-style: none; display: flex; justify-content: space-between; text-transform: uppercase; font-size: 13px; letter-spacing: .08em; }
.lc-acc summary::-webkit-details-marker { display: none; }
.lc-acc summary::after { content: "+"; font-size: 18px; font-weight: 400; }
.lc-acc[open] summary::after { content: "–"; }
.lc-acc__body { padding: 0 0 16px; font-size: 15px; color: #3d3632; }
.lc-acc__body table { width: 100%; border-collapse: collapse; }
.lc-acc__body th, .lc-acc__body td { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--lc-line); font-size: 14px; }
.lc-acc__body .woocommerce-product-attributes-item__value p { margin: 0; }
.lc-full { grid-column: 1 / -1; }
.lc-unbox { text-align: center; padding: 60px 0 20px; }
.lc-unbox img { max-width: 900px; width: 100%; margin: 0 auto; border-radius: var(--lc-radius); }
.lc-diff { padding: 60px 0 20px; }
.lc-diff__row { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin-bottom: 36px; }
.lc-diff__row.is-rev .lc-diff__media { order: 2; }
.lc-diff__media { aspect-ratio: 3/2; border-radius: var(--lc-radius); background: #6b4423 center/cover no-repeat; }
.lc-diff__media:not([style]) { background-image: linear-gradient(135deg, #8a5a2b, #24150b); }
.lc-diff__body h3 { font-family: var(--lc-font); font-weight: 800; text-transform: uppercase; font-size: clamp(22px, 2.6vw, 30px); }
.lc-diff__body p { color: var(--lc-muted); font-size: 16px; max-width: 460px; }
.woocommerce div.product .related > h2 { text-align: center; font-size: clamp(24px, 3vw, 34px); margin: 50px 0 28px; }
.lc-reviews { padding: 50px 0; }
.lc-reviews #reviews #comments ol.commentlist li .comment-text { border-color: var(--lc-line); border-radius: var(--lc-radius); }
.lc-reviews #review_form_wrapper { background: var(--lc-surface); padding: 24px; border-radius: var(--lc-radius); margin-top: 24px; }

/* ===== Design Your Own ===== */
.lc-dyo { padding-top: 20px; padding-bottom: 40px; }
.lc-dyo__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; margin-top: 16px; }
.lc-dyo__preview { position: sticky; top: 140px; align-self: start; }
.lc-dyo__stage { position: relative; aspect-ratio: 3/4; background: radial-gradient(circle at 50% 40%, #fff, #ebe7e1); border-radius: var(--lc-radius); overflow: hidden; }
.lc-dyo__art { position: absolute; inset: 6% 8%; opacity: 0; transition: opacity .35s; }
.lc-dyo__art.is-active { opacity: 1; }
.lc-dyo__art svg { width: 100%; height: 100%; }
.lc-dyo__summary { list-style: none; padding: 14px 0 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.lc-dyo__summary li { background: var(--lc-surface); border-radius: 999px; padding: 4px 12px; font-size: 13px; }
.lc-dyo__note { font-size: 12px; color: var(--lc-muted); }
.lc-dyo__form .product_title { font-size: clamp(26px, 3vw, 36px); }
.lc-dyo__price { font-size: 26px; font-weight: 700; margin: 6px 0 4px; }
.lc-dyo__price small { font-size: 12px; font-weight: 400; color: var(--lc-muted); }
.lc-dyo__group { border: 0; border-top: 1px solid var(--lc-line); padding: 18px 0 6px; margin: 0; }
.lc-dyo__group legend { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: 0; float: left; width: 100%; margin-bottom: 10px; }
.lc-dyo__chosen { font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--lc-muted); }
.lc-dyo__choices { display: flex; flex-wrap: wrap; gap: 8px; clear: both; }
.lc-choice { position: relative; cursor: pointer; }
.lc-choice input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.lc-choice__label { display: inline-block; padding: 10px 14px; border: 1px solid var(--lc-line); border-radius: 4px; font-size: 14px; background: #fff; }
.lc-choice__label em { font-style: normal; color: var(--lc-accent); font-size: 12px; }
.lc-choice input:checked + .lc-choice__label { border-color: var(--lc-ink); box-shadow: inset 0 0 0 1px var(--lc-ink); }
.lc-choice input:focus-visible + span { outline: 2px solid var(--lc-accent); outline-offset: 2px; }
.lc-dyo__group--cards .lc-dyo__choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); }
.lc-dyo__group--cards .lc-choice__label { display: block; text-align: center; }
.lc-choice__swatch { display: block; width: 40px; height: 40px; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 1px var(--lc-line); }
.lc-choice input:checked + .lc-choice__swatch { box-shadow: 0 0 0 2px var(--lc-ink); }
.lc-dyo__measure { display: none; margin-top: 12px; }
.lc-dyo__measure.is-open { display: block; }
.lc-dyo__measure p { font-size: 13px; color: var(--lc-muted); margin: 0 0 10px; }
.lc-dyo__buy { display: flex; gap: 10px; margin: 20px 0 12px; }
.lc-dyo__buy .quantity .qty { width: 80px; height: 100%; }
.lc-dyo__buy .button { flex: 1; }
.lc-dyo__wa { margin-bottom: 6px; }
.lc-steps__list { list-style: none; padding: 0; margin: 0 auto; max-width: 900px; position: relative; }
.lc-steps__list::before { content: ""; position: absolute; left: 50%; top: 20px; bottom: 20px; width: 2px; background: var(--lc-line); }
.lc-step { display: grid; grid-template-columns: 1fr 90px 1fr; align-items: center; gap: 24px; margin-bottom: 28px; position: relative; }
.lc-step__icon { grid-column: 2; position: relative; width: 74px; height: 74px; margin: 0 auto; border-radius: 50%; background: var(--lc-ink); color: #e3c7a5; display: flex; align-items: center; justify-content: center; }
.lc-step__icon svg { width: 30px; height: 30px; }
.lc-step__icon span { position: absolute; top: -4px; right: -4px; width: 26px; height: 26px; border-radius: 50%; background: var(--lc-accent); color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.lc-step__body { grid-column: 3; background: #fff; border: 1px solid var(--lc-line); border-radius: var(--lc-radius); padding: 18px 22px; }
.lc-step.is-rev .lc-step__body { grid-column: 1; grid-row: 1; text-align: right; }
.lc-step__body h3 { font-family: var(--lc-font); font-size: 18px; margin-bottom: 6px; }
.lc-step__body p { margin: 0; color: var(--lc-muted); font-size: 14px; }

/* ===== v2 responsive ===== */
@media (max-width: 1024px) {
	.lc-mosaic__small { grid-template-columns: repeat(3, 1fr); }
	.lc-shop-main ul.products { grid-template-columns: repeat(3, 1fr); }
	.lc-footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 782px) {
	.lc-mosaic__big, .lc-clearance, .lc-quote, .lc-dark-tabs .lc-panel, .lc-diff__row, .lc-dyo__grid { grid-template-columns: 1fr; }
	.lc-mosaic__small { grid-template-columns: repeat(2, 1fr); }
	.lc-clearance__promo { min-height: 420px; }
	.lc-dark-tabs .lc-tabs { position: static; padding: 20px 16px 0; }
	.lc-dark-tabs .lc-panel__body { padding: 28px 16px 36px; }
	.lc-dark-tabs .lc-panel__media { min-height: 300px; order: -1; }
	.lc-quote__body { padding: 40px 16px; }
	.lc-diff__row.is-rev .lc-diff__media { order: 0; }
	.lc-banner::before { background: rgba(255,255,255,.6); }
	.lc-shop-layout { grid-template-columns: 1fr; }
	.lc-filters { position: fixed; top: 0; left: 0; bottom: 0; width: min(320px, 86vw); max-height: none; background: #fff; z-index: 200; padding: 18px; transform: translateX(-105%); transition: transform .3s; box-shadow: 0 0 40px rgba(0,0,0,.2); }
	.lc-filters.is-open { transform: none; }
	.lc-filters__close, .lc-filters-toggle { display: inline-flex; }
	.lc-shop-main ul.products { grid-template-columns: repeat(2, 1fr); }
	.woocommerce div.product .woocommerce-product-gallery { grid-template-columns: 1fr; }
	.woocommerce div.product .woocommerce-product-gallery > * { grid-column: 1 !important; }
	.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs { grid-row: 2; flex-direction: row; overflow-x: auto; }
	.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li { width: 64px !important; flex: none; }
	.lc-dyo__preview { position: static; }
	.lc-steps__list::before { left: 37px; }
	.lc-step { grid-template-columns: 74px 1fr; }
	.lc-step__icon { grid-column: 1; }
	.lc-step__body, .lc-step.is-rev .lc-step__body { grid-column: 2; grid-row: 1; text-align: left; }
	.lc-footer__top { grid-template-columns: 1fr; }
}

.lc-collection__group { display: block; font-weight: 600; font-size: 13px; margin: 10px 0 2px; }
.lc-collection ul { padding-left: 10px; border-left: 1px solid var(--lc-line); }
.lc-shop-main { display: block; }
.lc-shop-main .woocommerce-result-count { float: left; }
.lc-shop-main .woocommerce-ordering { float: right; }
.lc-shop-main ul.products { clear: both; }
.lc-dyo__group .lc-form-grid, .lc-dyo__measure { clear: both; }
.lc-dyo__group--cards .lc-choice__label em { display: block; }
.woocommerce div.product > span.onsale { left: 112px; }
@media (max-width: 782px) {
	.woocommerce div.product > span.onsale { left: 16px; }
	.lc-dyo__group--cards .lc-dyo__choices { grid-template-columns: repeat(2, 1fr); }
	.lc-dyo__buy .button { min-width: 0; }
}

/* ===== Elementor pages ===== */
body .elementor-widget-text-editor, body .elementor-widget-icon-box .elementor-icon-box-description, body .elementor-widget-accordion .elementor-tab-content { font-family: var(--lc-font); }
body .elementor-widget-text-editor ul { padding-left: 20px; }
body .elementor-widget-text-editor li { padding: 3px 0; }
.elementor-widget-shortcode .woocommerce ul.products { margin-bottom: 20px; }
.elementor-widget-shortcode .lc-custom__card { margin: 0; }
.elementor-widget-heading .elementor-heading-title a { color: inherit; }

/* =====================================================================
   v3 – Reference layout (header, mega menu, footer, cart, pages)
   ===================================================================== */
:root { --lc-serif: var(--lc-font); --lc-ink: #222; --lc-muted: #6b6b6b; --lc-line: #e5e5e5; }
body { color: #222; }
h1, h2, h3, h4 { font-weight: 700; }
.lc-container--wide { max-width: 1600px; }
.lc-btn { border-radius: 3px; letter-spacing: .04em; text-transform: none; font-weight: 500; background: #333; border-color: #333; }
.lc-btn--sm { padding: 9px 22px; font-size: 13px; }

/* Announcement */
.lc-announce { background: #000; color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; padding: 9px 16px; }

/* Header */
.lc-header { border-bottom: 1px solid var(--lc-line); }
.lc-header__inner { min-height: 68px; grid-template-columns: 1fr auto 1fr; }
.lc-header-search { display: flex; align-items: center; gap: 10px; max-width: 260px; }
.lc-header-search svg { width: 20px; height: 20px; flex: none; color: #333; }
.lc-header-search input[type="search"] { border: 0; padding: 6px 0; font-size: 13px; background: transparent; }
.lc-header-search input[type="search"]:focus { outline: none; border-bottom: 1px solid #333; }
.lc-brand__name { font-family: Georgia, serif; font-size: 24px; letter-spacing: .02em; text-transform: uppercase; }
.lc-header__icons { gap: 18px; }
.lc-head-link { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: #333; }
.lc-head-link svg { width: 22px; height: 22px; }
.lc-cart-icon { position: relative; display: inline-flex; }
.lc-cart-icon .lc-cart-count { top: -6px; right: -8px; }
.lc-currency { font-size: 12px; }
.lc-icon-btn.lc-menu-toggle { display: none; }

/* Navigation */
.lc-nav { position: relative; border-top: 1px solid var(--lc-line); }
.lc-nav > .lc-container { position: static; }
.lc-nav__head { display: none; }
.lc-nav > .lc-container > ul { gap: 0; }
.lc-nav > .lc-container > ul > li > a { font-size: 12.5px; font-weight: 400; letter-spacing: .04em; padding: 16px 20px; color: #333; position: relative; }
.lc-nav > .lc-container > ul > li > a::after { content: ""; position: absolute; left: 20px; right: 20px; bottom: 0; height: 2px; background: #333; transform: scaleX(0); transition: transform .2s; }
.lc-nav > .lc-container > ul > li:hover > a::after, .lc-nav > .lc-container > ul > li.current-menu-item > a::after, .lc-nav > .lc-container > ul > li.current-menu-ancestor > a::after { transform: scaleX(1); }
.lc-nav > .lc-container > ul > li > a:hover { color: #000; }
.lc-nav .lc-menu-sale > a { color: #333; }
/* simple dropdowns (e.g. BRAND, CUSTOMIZE) */
.lc-nav > .lc-container > ul > li:not(.lc-mega) > .sub-menu { top: 100%; left: 0; min-width: 240px; padding: 14px 0; border: 1px solid var(--lc-line); border-top: 0; box-shadow: 0 10px 24px rgba(0,0,0,.06); }
.lc-nav > .lc-container > ul > li:not(.lc-mega) > .sub-menu a { font-size: 14px; padding: 7px 24px; color: #333; }
.lc-nav > .lc-container > ul > li:not(.lc-mega) > .sub-menu a:hover { color: #000; text-decoration: underline; }
/* mega */
.lc-nav li.lc-mega > .sub-menu { left: 0 !important; right: 0 !important; top: 100%; border: 0; border-top: 1px solid var(--lc-line); border-bottom: 1px solid var(--lc-line); box-shadow: 0 16px 30px rgba(0,0,0,.06); padding: 40px 48px 36px; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 30px 24px; max-height: 75vh; overflow-y: auto; }
.lc-nav li.lc-mega > .sub-menu > li > a { font-size: 11.5px; font-weight: 400; letter-spacing: .14em; color: #8a8a8a; text-transform: uppercase; padding: 0 0 18px; }
.lc-nav li.lc-mega .sub-menu .sub-menu a { font-size: 14px; color: #333; padding: 6px 0; letter-spacing: 0; text-transform: none; }
.lc-nav li.lc-mega .sub-menu .sub-menu a:hover { text-decoration: underline; color: #000; }
.lc-nav-search { display: none; }

/* Footer (light, reference style) */
.lc-features { background: #fff; border-top: 1px solid var(--lc-line); }
.lc-features .lc-feature svg { color: #333; }
.lc-footer--light { background: #f5f5f5; color: #555; border-top: 1px solid var(--lc-line); }
.lc-footer--light a { color: #555; }
.lc-footer--light a:hover { color: #000; }
.lc-footer--light .lc-footer__top { grid-template-columns: 1fr 1fr 1fr 1fr 1.4fr; padding: 56px 0 40px; }
.lc-footer--light h4 { color: #111; font-size: 14px; letter-spacing: .02em; text-transform: uppercase; font-weight: 700; margin-bottom: 16px; }
.lc-footer--light li { padding: 4px 0; font-size: 13.5px; }
.lc-footer--light .lc-footer__news p { font-size: 14px; color: #444; margin: 0 0 12px; }
.lc-footer--light .lc-footer__news input[type="email"] { background: #fff; border-color: #ddd; color: #222; }
.lc-footer--light .lc-footer__news form { flex-direction: column; align-items: flex-start; }
.lc-footer--light .lc-social a { border-color: transparent; color: #333; width: 30px; height: 30px; }
.lc-footer--light .lc-social a:hover { background: none; color: #000; }
.lc-footer--light .lc-footer__contact { margin-top: 18px; font-size: 13px; }
.lc-footer--light .lc-contact-list li { border-color: #e2e2e2; padding: 6px 0; }
.lc-footer--light .lc-contact-list svg { color: #555; }
.lc-footer--light .lc-contact-list small { color: #999; }
.lc-footer--light .lc-footer__bottom { border-top: 1px solid #e2e2e2; color: #666; }
.lc-footer--light .lc-payments span { border-color: #ddd; }

/* Side cart */
.lc-drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 300; }
.lc-cart-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(420px, 92vw); background: #fff; z-index: 310; transform: translateX(105%); transition: transform .3s ease; display: flex; flex-direction: column; box-shadow: -10px 0 40px rgba(0,0,0,.15); }
.lc-cart-drawer.is-open { transform: none; }
.lc-cart-drawer__head { display: flex; justify-content: space-between; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--lc-line); text-transform: uppercase; letter-spacing: .06em; font-size: 14px; }
.lc-cart-drawer__close { background: none; border: 0; font-size: 30px; line-height: 1; cursor: pointer; }
.lc-cart-drawer .widget_shopping_cart_content { flex: 1; overflow-y: auto; padding: 16px 22px; display: flex; flex-direction: column; }
.lc-cart-drawer .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; flex: 1; }
.lc-cart-drawer .woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 76px 1fr; gap: 0 14px; padding: 14px 24px 14px 0; border-bottom: 1px solid var(--lc-line); font-size: 14px; }
.lc-cart-drawer .woocommerce-mini-cart-item a:not(.remove) { display: contents; font-weight: 500; }
.lc-cart-drawer .woocommerce-mini-cart-item img { grid-row: 1 / span 3; width: 76px; height: 96px; object-fit: cover; border-radius: 4px; margin: 0; }
.lc-cart-drawer .woocommerce-mini-cart-item .remove { position: absolute; right: 0; top: 12px; color: #999 !important; font-size: 20px; text-decoration: none; }
.lc-cart-drawer .woocommerce-mini-cart-item .quantity { color: var(--lc-muted); font-size: 13px; grid-column: 2; }
.lc-cart-drawer .woocommerce-mini-cart-item dl.variation { grid-column: 2; font-size: 12px; color: var(--lc-muted); margin: 4px 0; }
.lc-cart-drawer .woocommerce-mini-cart-item dl.variation dt, .lc-cart-drawer .woocommerce-mini-cart-item dl.variation dd { display: inline; margin: 0; }
.lc-cart-drawer .woocommerce-mini-cart-item dl.variation dd p { display: inline; margin: 0; }
.lc-cart-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding: 16px 0; margin: 0; font-size: 15px; border-top: 1px solid var(--lc-line); }
.lc-cart-drawer .woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; }
.lc-cart-drawer .woocommerce-mini-cart__buttons .button { width: 100%; text-align: center; margin: 0; }
.lc-cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff; color: #222 !important; border-color: #222; }
.lc-cart-drawer .woocommerce-mini-cart__empty-message { text-align: center; color: var(--lc-muted); margin-top: 40px; }
.lc-cart-drawer__ship { padding: 0 22px; }
.lc-freeship { padding: 12px 0; font-size: 13px; }
.lc-freeship p { margin: 0 0 8px; }
.lc-freeship__bar { height: 6px; background: #eee; border-radius: 3px; overflow: hidden; }
.lc-freeship__bar span { display: block; height: 100%; background: #1f8f4e; transition: width .4s; }
body.lc-drawer-open { overflow: hidden; }

/* Cart page */
.woocommerce-cart .lc-page__title, .woocommerce-checkout .lc-page__title { text-align: center; text-transform: uppercase; font-size: 28px; letter-spacing: .04em; }
.woocommerce-cart .woocommerce { display: grid; grid-template-columns: 1fr 380px; gap: 40px; align-items: start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper, .woocommerce-cart .woocommerce > .lc-freeship, .woocommerce-cart .woocommerce > .cart-empty, .woocommerce-cart .woocommerce > .return-to-shop { grid-column: 1 / -1; }
.woocommerce-cart table.shop_table { border: 0; border-collapse: collapse; }
.woocommerce-cart table.shop_table th { text-transform: uppercase; font-size: 12px; letter-spacing: .08em; color: var(--lc-muted); font-weight: 500; border-bottom: 1px solid var(--lc-line); padding: 12px 8px; }
.woocommerce-cart table.shop_table td { border-top: 0; border-bottom: 1px solid var(--lc-line); padding: 18px 8px; }
.woocommerce-cart table.cart img { width: 90px; border-radius: 4px; }
.woocommerce-cart table.cart td.product-name a { font-weight: 600; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 180px; padding: 10px 12px; }
.woocommerce-cart .cart-collaterals { grid-column: 2; grid-row: span 3; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; background: #f7f7f7; padding: 24px; border-radius: 6px; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 16px; text-transform: uppercase; letter-spacing: .06em; }
.woocommerce-cart .cart-collaterals .cross-sells { display: none; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { width: 100%; background: #222 !important; font-size: 15px; padding: 16px; }
.woocommerce .cross-sells, .lc-cart-cross { grid-column: 1 / -1; }

/* Checkout */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 0 48px; }
.woocommerce-checkout form.checkout > * { grid-column: 1; }
.woocommerce-checkout form.checkout #order_review_heading, .woocommerce-checkout form.checkout #order_review { grid-column: 2; }
.woocommerce-checkout form.checkout #order_review_heading { grid-row: 1; margin-top: 0; }
.woocommerce-checkout form.checkout #order_review { grid-row: 2 / span 4; background: #f7f7f7; padding: 24px; border-radius: 6px; align-self: start; position: sticky; top: 120px; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout #place_order { width: 100%; background: #222 !important; padding: 16px; font-size: 15px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea { padding: 12px 14px; border: 1px solid #ddd; border-radius: 4px; }

/* Category landing grid (Men's / Women's Jackets) */
.lc-catgrid { display: grid; grid-template-columns: repeat(var(--lc-cols, 3), minmax(0, 1fr)); gap: 30px 28px; }
.lc-catgrid__item { text-align: center; }
.lc-catgrid__img { display: block; aspect-ratio: 1 / 1.09; overflow: hidden; background: #e8e5e1; }
.lc-catgrid__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.lc-catgrid__item:hover .lc-catgrid__img img { transform: scale(1.04); }
.lc-catgrid__ph { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #d8d2cb, #b9b0a6); }
.lc-catgrid__item h3 { font-family: var(--lc-font); font-size: 20px; font-weight: 700; text-transform: uppercase; color: #3a3a3a; margin: 14px 0 12px; }
.lc-empty-note { text-align: center; color: var(--lc-muted); padding: 30px 0; }

/* Custom form (reference style) */
.lc-custom-form .lc-form-grid label { font-weight: 400; }
.lc-custom-form input, .lc-custom-form select, .lc-custom-form textarea { border-color: #ccc; border-radius: 2px; font-size: 14px; }
.lc-file { flex-direction: row !important; align-items: center; gap: 10px !important; border: 1px solid #ccc; border-radius: 2px; padding: 6px; position: relative; cursor: pointer; }
.lc-file input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.lc-file__btn { background: #eee; border: 1px solid #ccc; padding: 6px 12px; font-size: 13px; border-radius: 2px; }
.lc-file__name { font-size: 13px; color: var(--lc-muted); font-weight: 400; }
.lc-custom-form .lc-btn--block { background: #333; }
.elementor-widget-shortcode .lc-custom__card { border: 0; padding: 0; }

/* Elementor helper classes (set under Advanced > CSS Classes) */
.lc-el-scroll .elementor-container, .lc-el-scroll .elementor-row { flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.lc-el-scroll .elementor-column { flex: 0 0 19% !important; width: 19% !important; min-width: 210px; scroll-snap-align: start; }
.lc-el-dark, .lc-el-dark .elementor-widget-text-editor, .lc-el-dark a { color: #fff; }
.lc-el-dark .elementor-tab-title, .lc-el-dark .elementor-tab-title a { color: #cfc5b8 !important; text-transform: uppercase; font-size: 12px !important; letter-spacing: .08em; }
.lc-el-dark .elementor-tab-title.elementor-active, .lc-el-dark .elementor-tab-title.elementor-active a { color: #fff !important; }
.lc-el-darktabs .elementor-tabs-wrapper, .lc-el-darktabs .elementor-tab-title, .lc-el-darktabs .elementor-tab-content, .lc-el-darktabs .elementor-tab-title::before, .lc-el-darktabs .elementor-tab-title::after { border-color: rgba(255,255,255,.2) !important; }
.lc-el-darktabs .elementor-tab-content { color: #e6e0d8; font-size: 18px; line-height: 1.6; }
.lc-el-logos img { filter: grayscale(1); opacity: .75; transition: opacity .2s, filter .2s; }
.lc-el-logos img:hover { filter: none; opacity: 1; }
.lc-el-btnrow .elementor-column { width: auto !important; }
.lc-el-btnrow .elementor-container { justify-content: flex-start; gap: 12px; }
.lc-el-community .elementor-widget-text-editor p { font-size: 13px; margin: 0; }
.lc-btn--ghost { background: transparent; border-color: #fff; color: #fff !important; }

@media (max-width: 1024px) {
	.lc-nav li.lc-mega > .sub-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-cart .cart-collaterals { grid-column: 1; }
	.lc-footer--light .lc-footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 782px) {
	.lc-icon-btn.lc-menu-toggle { display: inline-flex; }
	.lc-header-search { display: none; }
	.lc-head-link__text, .lc-currency { display: none; }
	.lc-header__inner { grid-template-columns: auto 1fr auto; }
	.lc-brand { justify-self: center; }
	.lc-nav { position: fixed; top: 0; left: 0; bottom: 0; width: min(360px, 88vw); background: #fff; z-index: 320; overflow-y: auto; transform: translateX(-105%); transition: transform .3s; display: block !important; border: 0; box-shadow: 10px 0 40px rgba(0,0,0,.15); }
	.lc-nav.is-open { transform: none; }
	.lc-nav__head { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--lc-line); }
	.lc-nav__close { background: none; border: 0; font-size: 30px; cursor: pointer; }
	.lc-nav > .lc-container { padding: 0; }
	.lc-nav > .lc-container > ul > li > a { padding: 14px 20px; font-size: 14px; }
	.lc-nav > .lc-container > ul > li > a::after { display: none; }
	.lc-nav li.lc-mega > .sub-menu, .lc-nav > .lc-container > ul > li:not(.lc-mega) > .sub-menu { box-shadow: none; border: 0; padding: 0 0 0 14px; max-height: none; }
	.lc-nav li.lc-mega > .sub-menu > li > a { padding: 12px 20px; color: #333; font-size: 13px; }
	.lc-catgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
	.lc-catgrid__item h3 { font-size: 15px; }
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout form.checkout #order_review_heading, .woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
	.lc-el-scroll .elementor-column { flex-basis: 62% !important; width: 62% !important; }
	.lc-footer--light .lc-footer__top { grid-template-columns: 1fr; }
}
/* Product press quote */
.lc-press { text-align: center; padding: 50px 20px 20px; }
.lc-press blockquote { font-size: clamp(20px, 2.4vw, 28px); margin: 10px auto; max-width: 760px; }
.lc-press cite { font-style: normal; color: var(--lc-muted); }
/* DYO how it works */
.lc-howit { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin-bottom: 40px; }
.lc-howit__media { aspect-ratio: 16/9; background: #222; border-radius: 4px; overflow: hidden; }
.lc-howit__media iframe { width: 100%; height: 100%; border: 0; }
.lc-howit__ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: radial-gradient(circle, #3a3a3a, #111); }
.lc-howit__ph span { width: 70px; height: 70px; border-radius: 50%; border: 2px solid #fff; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 26px; padding-left: 5px; }
.lc-steprows { max-width: 980px; margin: 0 auto; }
.lc-steprow { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.lc-steprow__img { aspect-ratio: 3/2; background: #ddd center/cover no-repeat; }
.lc-steprow__body { padding: 24px 36px; }
.lc-steprow.is-rev .lc-steprow__img { order: 2; }
.lc-steprow__body h3 { font-size: 18px; margin-bottom: 8px; }
.lc-steprow__body p { color: var(--lc-muted); margin: 0; font-size: 14px; }
.woocommerce div.product form.cart .variations th label b { font-weight: 700; }
@media (max-width: 782px) {
	.lc-howit, .lc-steprow { grid-template-columns: 1fr; }
	.lc-steprow.is-rev .lc-steprow__img { order: 0; }
}
.lc-choice__thumb { display: block; width: 64px; height: 76px; margin: 0 auto 6px; }
.lc-choice__thumb svg { width: 100%; height: 100%; }
.lc-dyo__group--cards .lc-choice__label { padding: 10px 8px; font-size: 13px; }

.lc-nav-open .lc-header { z-index: 400; }
/* v3 fixes */
.lc-btn--light { background: #fff; color: #222 !important; border-color: #fff; }
.lc-btn--ghost { background: transparent; color: #fff !important; border-color: #fff; }
.lc-btn--outline { background: #fff; color: #222 !important; border-color: #222; }
.lc-btn--whatsapp { background: #1f8f4e; border-color: #1f8f4e; }
.lc-btn--accent { background: var(--lc-accent); border-color: var(--lc-accent); }
.lc-btn--light:hover, .lc-btn--ghost:hover, .lc-btn--outline:hover { background: #222; border-color: #222; color: #fff !important; }
.lc-cart-drawer .woocommerce-mini-cart__buttons .button { padding: 14px; border: 1px solid #222 !important; border-radius: 3px; font-weight: 600; }
.lc-cart-drawer .woocommerce-mini-cart__buttons .button.checkout { background: #222 !important; color: #fff !important; }
.lc-cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff !important; color: #222 !important; }
.lc-cart-drawer ul.cart_list li img, .lc-cart-drawer .woocommerce-mini-cart-item img { float: none !important; width: 76px !important; height: 96px !important; margin: 0 !important; }
@media (max-width: 782px) {
	.lc-nav li.lc-mega > .sub-menu, .lc-nav .sub-menu { gap: 0 !important; }
	.lc-nav li.lc-mega > .sub-menu > li > a { padding: 12px 20px !important; }
}
