/* Livante Store — gaya front-end: grid produk, keranjang, checkout. */

:root {
	--ls-ink: #262220;
	--ls-muted: #6f6560;
	--ls-line: #e7e1da;
	--ls-bg-soft: #faf8f5;
	--ls-brass: #a9822e;
	--ls-brass-dark: #8a6a22;
	--ls-wa: #22a559;
	--ls-wa-dark: #1c8c4b;
	--ls-danger: #b3352d;
	--ls-radius: 10px;
}

.ls-store,
.ls-store-hero,
.ls-store-archive,
.ls-single-produk,
.ls-single-artikel-wrap {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;
	font-size: 16px; /* anchor tetap, supaya ukuran "em" di elemen turunan tidak ikut mengecil kalau tema aktif memakai root font-size kecil -- sedikit lebih kecil dari sebelumnya (17px) supaya teks konten terasa lebih smooth/tidak kebesaran */
	line-height: 1.6;
	color: var(--ls-ink);
}

/* Hero arsip */
.ls-store-hero {
	max-width: 1160px;
	margin: 32px auto 24px;
	padding: 0 16px;
	text-align: center;
}
.ls-store-hero-judul {
	font-size: 1.9em;
	margin: 0 0 8px;
}
.ls-store-hero-sub {
	color: var(--ls-muted);
	margin: 0;
}

/* Deskripsi hero yang panjang: dipendekkan (clamp) dengan toggle
   "Baca selengkapnya" / "Tampilkan lebih sedikit" -- murni CSS (checkbox
   hack), tidak butuh JavaScript. Kalau kontennya pendek, class
   "is-clampable" tidak ditambahkan sama sekali sehingga tampil normal. */
.ls-hero-desc {
	max-width: 1160px;
	margin: 0 auto;
}
.ls-hero-desc-toggle-input {
	display: none;
}
.ls-hero-desc.is-clampable .ls-hero-desc-content {
	max-height: 8.5em;
	overflow: hidden;
	position: relative;
	-webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);
}
.ls-hero-desc-toggle-input:checked ~ .ls-hero-desc-content {
	max-height: none;
	-webkit-mask-image: none;
	mask-image: none;
}
.ls-hero-desc-toggle-label {
	display: none;
	text-align: left;
	margin-top: 6px;
	color: var(--ls-brass-dark);
	font-weight: 600;
	font-size: 0.95em;
	cursor: pointer;
}
.ls-hero-desc-toggle-label:hover {
	text-decoration: underline;
}
.is-clampable .ls-hero-desc-toggle-label {
	display: block;
}
.ls-hero-desc-show-less {
	display: none;
}
.ls-hero-desc-toggle-input:checked ~ .ls-hero-desc-toggle-label .ls-hero-desc-show-more {
	display: none;
}
.ls-hero-desc-toggle-input:checked ~ .ls-hero-desc-toggle-label .ls-hero-desc-show-less {
	display: inline;
}

/* Filter kategori */
.ls-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin: 0 0 28px;
}
.ls-filter-item {
	padding: 7px 18px;
	border: 1px solid var(--ls-line);
	border-radius: 999px;
	font-size: 1.075em;
	text-decoration: none;
	color: var(--ls-ink);
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.ls-filter-item:hover,
.ls-filter-item.is-active {
	background: var(--ls-ink);
	border-color: var(--ls-ink);
	color: #fff;
}

/* Baris kedua pil filter: submodel dari tipe produk yang aktif
   (mis. submodel "Sofa"), tampil lebih kecil & rapat supaya jelas
   ini "anak" dari baris pil tipe produk di atasnya. */
.ls-filter-sub {
	margin-top: -16px;
}
.ls-filter-sub .ls-filter-item {
	padding: 5px 14px;
	font-size: 0.925em;
	color: var(--ls-muted);
}
.ls-filter-sub .ls-filter-item:hover,
.ls-filter-sub .ls-filter-item.is-active {
	background: var(--ls-ink);
	border-color: var(--ls-ink);
	color: #fff;
}

/* Grid produk */
.ls-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 16px;
}
.ls-card {
	border: 1px solid var(--ls-line);
	border-radius: var(--ls-radius);
	overflow: hidden;
	background: #fff;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.ls-card:hover {
	box-shadow: 0 8px 24px rgba(38, 34, 32, 0.08);
	transform: translateY(-2px);
}
.ls-card-thumb {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--ls-bg-soft);
	overflow: hidden;
}
.ls-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ls-card-thumb-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--ls-bg-soft) 0%, #f0ece5 100%);
}
.ls-placeholder-img {
	transition: opacity 0.2s ease;
}
.ls-card-thumb:hover .ls-placeholder-img {
	opacity: 0.92;
}
.ls-single-thumbnail {
	max-width: 420px;
	margin: 0 auto 24px;
	border-radius: var(--ls-radius);
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(38, 34, 32, 0.08);
}
.ls-single-thumbnail img {
	display: block;
	width: 100%;
	height: auto;
}

/* Halaman single produk: foto di kiri, info di kanan */
.ls-single-produk-wrap {
	display: grid;
	grid-template-columns: minmax(0, 460px) minmax(0, 1fr);
	gap: 40px;
	max-width: 1080px;
	margin: 20px auto 48px;
	padding: 0 16px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;
	color: var(--ls-ink);
}
.ls-breadcrumb {
	grid-column: 1 / -1;
	font-size: 1.045em;
	color: var(--ls-muted);
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 4px;
}
.ls-breadcrumb a {
	color: var(--ls-muted);
	text-decoration: none;
}
.ls-breadcrumb a:hover {
	color: var(--ls-brass-dark);
	text-decoration: underline;
}
.ls-breadcrumb-aktif {
	color: var(--ls-ink);
}
/* Kolom kiri: foto utama + galeri dibungkus jadi satu supaya sama-sama
   sticky — saat kolom kanan (info produk) di-scroll, keduanya tetap
   mengikuti sampai konten kanan habis. Jarak dari atas (top) memakai
   custom property --ls-sticky-offset yang otomatis diisi oleh
   store.js sesuai tinggi header fixed/sticky milik TEMA aktif (nilai
   20px di bawah ini cuma fallback kalau JS-nya belum sempat jalan atau
   temanya memang tidak punya header fixed) — supaya foto tidak
   ketutup header saat halaman di-scroll ke bawah, di tema apa pun. */
.ls-single-media-col {
	position: sticky;
	top: var(--ls-sticky-offset, 20px);
	align-self: start;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.ls-single-media {
	border-radius: var(--ls-radius);
	overflow: hidden;
	background: var(--ls-bg-soft);
	box-shadow: 0 1px 2px rgba(38, 34, 32, 0.08);
}
.ls-single-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	cursor: zoom-in;
}

/* Galeri foto tambahan di bawah foto utama — section ini otomatis tidak
   dirender oleh PHP kalau produk belum punya galeri. */
.ls-single-galeri {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}
.ls-galeri-thumb {
	padding: 0;
	border: 2px solid transparent;
	border-radius: 8px;
	overflow: hidden;
	cursor: pointer;
	background: var(--ls-bg-soft);
	aspect-ratio: 1 / 1;
	transition: border-color 0.15s ease;
}
.ls-galeri-thumb:hover {
	border-color: var(--ls-line);
}
.ls-galeri-thumb.is-aktif {
	border-color: var(--ls-brass);
}
.ls-galeri-thumb-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ls-single-info {
	min-width: 0;
}
.ls-single-kategori-label {
	display: inline-block;
	font-size: 1.0em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ls-brass-dark);
	background: var(--ls-bg-soft);
	border-radius: 999px;
	padding: 4px 14px;
	margin-bottom: 10px;
}
.ls-single-judul {
	font-size: 2.025em;
	line-height: 1.25;
	margin: 0 0 16px;
}
.ls-single-deskripsi {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--ls-line);
	line-height: 1.75;
	font-size: 1.175em;
	color: var(--ls-ink);
}
.ls-single-deskripsi p:first-child {
	margin-top: 0;
}
.ls-single-deskripsi h2,
.ls-single-deskripsi h3 {
	font-size: 1.25em;
	line-height: 1.35;
	margin: 22px 0 10px;
	color: var(--ls-ink);
}
.ls-single-deskripsi h2:first-child,
.ls-single-deskripsi h3:first-child {
	margin-top: 0;
}
.ls-deskripsi-tambahan {
	color: var(--ls-muted);
}
.ls-deskripsi-tambahan a {
	color: var(--ls-brass-dark);
}

/* Produk serupa & artikel terkait: internal link antar halaman */
.ls-artikel-terkait {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid var(--ls-line);
	font-size: 1.125em;
}
.ls-artikel-terkait ul {
	margin: 8px 0 0;
	padding-left: 18px;
}
.ls-artikel-terkait a {
	color: var(--ls-brass-dark);
}
.ls-related {
	max-width: 1160px;
	margin: 8px auto 56px;
	padding: 32px 16px 0;
	border-top: 1px solid var(--ls-line);
}
.ls-related .ls-filter-nav {
	margin-bottom: 24px;
}
.ls-related-judul {
	font-size: 1.475em;
	margin: 0 0 20px;
	text-align: center;
}
.ls-related-grid {
	max-width: none;
	padding: 0;
	grid-template-columns: repeat(5, 1fr);
}

@media (max-width: 1024px) {
	.ls-related-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}
@media (max-width: 780px) {
	.ls-single-produk-wrap {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.ls-single-media-col {
		position: static;
	}
	.ls-single-galeri {
		grid-template-columns: repeat(5, 1fr);
	}
	.ls-single-judul {
		font-size: 1.625em;
	}
	.ls-related-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 12px;
	}
}
@media (max-width: 560px) {
	.ls-related-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
.ls-badge-habis,
.ls-badge-promo {
	position: absolute;
	top: 10px;
	left: 10px;
	font-size: 0.905em;
	font-weight: 700;
	letter-spacing: 0.02em;
	padding: 3px 9px;
	border-radius: 999px;
	text-transform: uppercase;
}
.ls-badge-habis {
	background: #fff;
	color: var(--ls-danger);
}
.ls-badge-promo {
	background: var(--ls-brass);
	color: #fff;
}
.ls-card-body {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}
.ls-card-kategori {
	font-size: 0.985em;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--ls-muted);
}
.ls-card-judul {
	font-size: 1.175em;
	margin: 0;
	line-height: 1.3;
}
.ls-card-judul a {
	color: var(--ls-ink);
	text-decoration: none;
}
.ls-card-judul a:hover {
	text-decoration: underline;
}
.ls-card-rating {
	display: flex;
	align-items: center;
	gap: 5px;
	margin: 3px 0;
}
.ls-card-rating-count {
	color: var(--ls-muted);
	font-size: 0.85em;
}
.ls-card-harga {
	margin: 2px 0 8px;
	font-size: 1.125em;
}
.ls-card-harga del {
	color: var(--ls-muted);
	margin-right: 6px;
	font-size: 1.005em;
}
.ls-empty {
	text-align: center;
	color: var(--ls-muted);
	padding: 40px 16px;
}
.ls-empty a {
	color: var(--ls-brass-dark);
}

/* Tombol */
.ls-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border: none;
	border-radius: 8px;
	padding: 11px 18px;
	font-size: 1.095em;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: opacity 0.15s ease;
}
.ls-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}
.ls-btn-primary {
	background: var(--ls-ink);
	color: #fff;
	width: 100%;
}
.ls-btn-primary:hover:not(:disabled) {
	opacity: 0.88;
}
.ls-btn-primary.is-added {
	background: var(--ls-wa-dark);
}
.ls-btn-wa {
	background: var(--ls-wa);
	color: #fff;
	width: 100%;
	margin-top: 10px;
}
.ls-btn-wa:hover {
	background: var(--ls-wa-dark);
}
.ls-btn-lg {
	padding: 13px 20px;
	font-size: 1.125em;
	margin-top: 16px;
}

/* Halaman single produk: blok stok/aksi di kolom kanan (setelah deskripsi) */
.ls-single-produk {
	max-width: 480px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--ls-line);
}
.ls-single-harga {
	font-size: 1.625em;
	margin-bottom: 6px;
}
.ls-single-harga del {
	color: var(--ls-muted);
	font-size: 1.175em;
	margin-right: 8px;
}
.ls-single-stok {
	color: var(--ls-muted);
	font-size: 1.125em;
	margin: 0 0 16px;
}
.ls-stok-habis {
	color: var(--ls-danger);
	font-weight: 600;
}
.ls-stok-cek-wa {
	color: var(--ls-wa-dark);
	font-weight: 600;
	text-decoration: none;
}
.ls-stok-cek-wa:hover {
	text-decoration: underline;
}
.ls-single-harga-request-quote {
	color: var(--ls-muted);
	font-size: 0.95em;
	background: var(--ls-bg-soft, #f6f7f7);
	border: 1px solid var(--ls-border, #dcdcde);
	border-radius: 8px;
	padding: 10px 14px;
	margin: 0 0 16px;
}
.ls-card-body .ls-btn-wa.ls-btn-sm {
	padding: 8px 14px;
	font-size: 0.95em;
	margin-top: 0;
}
.ls-single-aksi {
	display: flex;
	gap: 12px;
	align-items: stretch;
}
.ls-qty-picker {
	display: flex;
	align-items: center;
	border: 1px solid var(--ls-line);
	border-radius: 8px;
	overflow: hidden;
}
.ls-qty-picker button {
	background: var(--ls-bg-soft);
	border: none;
	width: 36px;
	font-size: 1.225em;
	cursor: pointer;
}
.ls-qty-input {
	width: 46px;
	text-align: center;
	border: none;
	-moz-appearance: textfield;
}
.ls-single-aksi .ls-btn-primary {
	width: auto;
	flex: 1;
}

/* Keranjang */
.ls-cart-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 auto 20px;
	max-width: 900px;
}
.ls-cart-table th,
.ls-cart-table td {
	text-align: left;
	padding: 12px 10px;
	border-bottom: 1px solid var(--ls-line);
	vertical-align: middle;
}
.ls-cart-produk {
	display: flex;
	align-items: center;
	gap: 10px;
}
.ls-cart-produk img {
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: 6px;
}
.ls-cart-produk a {
	color: var(--ls-ink);
	text-decoration: none;
}
.ls-cart-qty {
	width: 56px;
	padding: 5px;
}
.ls-cart-remove {
	background: none;
	border: none;
	color: var(--ls-danger);
	font-size: 1.325em;
	cursor: pointer;
}
.ls-cart-total {
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
	gap: 14px;
	font-size: 1.275em;
	padding: 0 10px;
}
.ls-keranjang .ls-btn-lg {
	max-width: 900px;
	margin: 16px auto 0;
	display: block;
	width: fit-content;
	padding-left: 32px;
	padding-right: 32px;
}

/* Checkout */
.ls-checkout {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 32px;
	max-width: 960px;
	margin: 0 auto;
	align-items: start;
}
@media (max-width: 720px) {
	.ls-checkout {
		grid-template-columns: 1fr;
	}
}
.ls-checkout-ringkasan {
	background: var(--ls-bg-soft);
	border-radius: var(--ls-radius);
	padding: 20px;
}
.ls-checkout-ringkasan h3 {
	margin-top: 0;
}
.ls-ringkasan-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.ls-ringkasan-header h3 {
	margin: 0;
}
.ls-ringkasan-ubah-daftar {
	font-size: 0.9em;
	font-weight: 600;
	color: var(--ls-brass-dark);
	text-decoration: none;
	white-space: nowrap;
}
.ls-ringkasan-ubah-daftar:hover {
	text-decoration: underline;
}
.ls-checkout-ringkasan ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.ls-checkout-ringkasan li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid var(--ls-line);
	font-size: 1.025em;
	flex-wrap: wrap;
}
.ls-checkout-ringkasan li .ls-ringkasan-produk {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}
.ls-checkout-ringkasan li .ls-ringkasan-produk img {
	width: 40px;
	height: 40px;
	object-fit: cover;
	border-radius: 6px;
	flex-shrink: 0;
}
.ls-checkout-ringkasan li .ls-ringkasan-produk span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ls-ringkasan-qty-aksi {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	margin-left: auto;
}
.ls-ringkasan-qty-aksi .ls-quote-qty {
	width: 52px;
	padding: 4px;
	font-size: 0.95em;
}
.ls-ringkasan-qty-aksi .ls-quote-subtotal {
	white-space: nowrap;
}
.ls-ringkasan-qty-aksi .ls-quote-remove {
	line-height: 1;
}
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.ls-checkout-total {
	display: flex;
	justify-content: space-between;
	font-size: 1.275em;
	padding-top: 12px;
	margin-top: 6px;
}
.ls-checkout-form p {
	margin: 0 0 14px;
}
.ls-checkout-form label {
	display: block;
	font-weight: 600;
	font-size: 0.975em;
	margin-bottom: 5px;
}
.ls-checkout-form input[type="text"],
.ls-checkout-form input[type="tel"],
.ls-checkout-form input[type="email"],
.ls-checkout-form select,
.ls-checkout-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--ls-line);
	border-radius: 8px;
	font-size: 1.075em;
	box-sizing: border-box;
	font-family: inherit;
	background: #fff;
}
.ls-checkout-form .description {
	display: block;
	font-size: 0.875em;
	color: var(--ls-muted);
	font-weight: 400;
	margin-top: 4px;
}

/* Indikator langkah "Langkah X dari 2" (Daftar Quote -> Form) */
.ls-quote-progress {
	max-width: 960px;
	margin: 0 auto 18px;
	padding: 0 10px;
}
.ls-quote-progress-label {
	display: block;
	font-size: 0.85em;
	font-weight: 600;
	color: var(--ls-muted);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin-bottom: 8px;
}
.ls-quote-steps {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 8px;
}
.ls-quote-steps li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.95em;
	color: var(--ls-muted);
}
.ls-quote-steps li:not(:last-child)::after {
	content: "";
	width: 32px;
	height: 2px;
	background: var(--ls-line);
	margin-left: 8px;
	display: inline-block;
}
.ls-quote-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--ls-bg-soft);
	border: 1px solid var(--ls-line);
	font-size: 0.85em;
	font-weight: 700;
	flex-shrink: 0;
}
.ls-quote-steps li.is-active {
	color: var(--ls-ink);
	font-weight: 700;
}
.ls-quote-steps li.is-active .ls-quote-step-num {
	background: var(--ls-brass-dark);
	border-color: var(--ls-brass-dark);
	color: #fff;
}
.ls-quote-steps li.is-done .ls-quote-step-num {
	background: #e5f7e6;
	border-color: #1e7d24;
	color: #1e7d24;
}
@media (max-width: 480px) {
	.ls-quote-step-label {
		display: none;
	}
}
.ls-metode-bayar {
	border: 1px solid var(--ls-line);
	border-radius: 8px;
	padding: 10px 14px;
	margin: 0 0 16px;
}
.ls-metode-bayar legend {
	font-weight: 600;
	font-size: 0.975em;
	padding: 0 4px;
}
.ls-metode-bayar label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 400;
	margin: 6px 0;
}
.ls-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.ls-checkout-catatan {
	font-size: 1.0em;
	color: var(--ls-muted);
}
.ls-checkout-form .ls-form-row {
	margin-bottom: 2px;
}
.ls-field-sm {
	max-width: 320px;
}
.ls-notice {
	max-width: 960px;
	margin: 0 auto 20px;
	padding: 12px 16px;
	border-radius: 8px;
	font-size: 1.025em;
}
.ls-notice-error {
	background: #fbe6e6;
	color: var(--ls-danger);
}

/* Terima kasih */
.ls-terima-kasih {
	max-width: 560px;
	margin: 0 auto;
	text-align: center;
}
.ls-terima-kasih-items {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	text-align: left;
}
.ls-terima-kasih-items li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid var(--ls-line);
	font-size: 1.025em;
}

/* Lencana keranjang (untuk shortcode [livante_cart_count]) */
.ls-cart-badge {
	text-decoration: none;
	color: var(--ls-ink);
	font-weight: 600;
}

/* Mini-cart mengambang */
#ls-mini-cart {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9999;
	display: none;
	align-items: center;
	gap: 8px;
	background: var(--ls-ink);
	color: #fff;
	text-decoration: none;
	padding: 12px 18px;
	border-radius: 999px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
	font-size: 1.025em;
	font-weight: 600;
}
#ls-mini-cart.is-visible {
	display: inline-flex;
}
.ls-mini-cart-jumlah {
	background: var(--ls-brass);
	color: #fff;
	border-radius: 999px;
	min-width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.955em;
	padding: 0 5px;
}

/* Mini "Permintaan Penawaran" (quote) mengambang -- ditaruh sedikit di
   atas mini-cart (bottom:20px) supaya tidak tumpang tindih kalau
   keduanya tampil bersamaan. Tombol Asisten Pintar (assistant.css)
   juga mengambang di pojok yang sama, dinaikkan lagi ke bottom:136px
   supaya ketiganya tetap tersusun rapi tanpa tumpuk. */
#ls-mini-quote {
	position: fixed;
	right: 20px;
	bottom: 76px;
	z-index: 9998;
	display: none;
	align-items: center;
	gap: 8px;
	background: var(--ls-brass-dark);
	color: #fff;
	text-decoration: none;
	padding: 12px 18px;
	border-radius: 999px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
	font-size: 1.025em;
	font-weight: 600;
}
#ls-mini-quote.is-visible {
	display: inline-flex;
}

/* Kartu produk: tombol kedua "+ Ajukan Penawaran" (sekunder) ditumpuk
   penuh lebar di bawah tombol "+ Keranjang", konsisten dengan tombol
   utama yang juga full-width di dalam kartu. */
.ls-card-body .ls-add-to-quote {
	width: 100%;
	margin-top: 2px;
}

/* ==================================================================
   Baris "Bagikan" (WA/FB/LinkedIn/Pinterest + Beri Tahu Teman)
   ================================================================== */
.ls-share-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
	max-width: 480px;
}
.ls-share-label {
	font-size: 0.985em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ls-muted);
	margin-right: 4px;
}
.ls-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	border: 1px solid var(--ls-line);
	background: #fff;
	color: var(--ls-ink);
	cursor: pointer;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.ls-share-btn svg {
	width: 15px;
	height: 15px;
	fill: currentColor;
}
.ls-share-btn-wa:hover { background: var(--ls-wa); border-color: var(--ls-wa); color: #fff; }
.ls-share-btn-fb:hover { background: #1877f2; border-color: #1877f2; color: #fff; }
.ls-share-btn-li:hover { background: #0a66c2; border-color: #0a66c2; color: #fff; }
.ls-share-btn-pin:hover { background: #e60023; border-color: #e60023; color: #fff; }
.ls-share-btn-teman {
	width: auto;
	padding: 0 14px;
	font-size: 1.0em;
	font-weight: 600;
}
.ls-share-btn-teman:hover {
	background: var(--ls-ink);
	border-color: var(--ls-ink);
	color: #fff;
}

/* ==================================================================
   Accordion 3 tab (Detail Produk / Pengiriman & Garansi / Perawatan)
   — pakai <details name="…"> bawaan HTML: buka salah satu otomatis
   menutup yang lain, tanpa JavaScript.
   ================================================================== */
.ls-faq-block {
	margin-top: 28px;
}

.ls-faq-accordion .ls-accordion-item {
	margin-bottom: 8px;
}

.ls-accordion {
	margin-top: 22px;
	max-width: 480px;
	border-top: 1px solid var(--ls-line);
}
.ls-accordion-item {
	border-bottom: 1px solid var(--ls-line);
}
.ls-accordion-summary {
	list-style: none;
	cursor: pointer;
	padding: 15px 2px;
	font-size: 1.075em;
	font-weight: 600;
	color: var(--ls-ink);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.ls-accordion-summary::-webkit-details-marker {
	display: none;
}
.ls-accordion-summary::after {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 1.5px solid var(--ls-ink);
	border-bottom: 1.5px solid var(--ls-ink);
	transform: rotate(45deg);
	transition: transform 0.25s ease;
	margin-left: 12px;
	flex-shrink: 0;
}
.ls-accordion-item[open] > .ls-accordion-summary::after {
	transform: rotate(-135deg);
}
.ls-accordion-body {
	padding: 0 2px 16px;
	font-size: 1.045em;
	line-height: 1.7;
	color: var(--ls-muted);
}
.ls-accordion-body p:first-child {
	margin-top: 0;
}

/* ==================================================================
   Modal "Beri Tahu Teman"
   ================================================================== */
.ls-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.ls-modal[hidden] {
	display: none;
}
.ls-modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(38, 34, 32, 0.55);
}
.ls-modal-box {
	position: relative;
	width: 100%;
	max-width: 440px;
	background: #fff;
	border-radius: 14px;
	padding: 26px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;
	color: var(--ls-ink);
}
.ls-modal-tutup {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	border: none;
	background: transparent;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	color: var(--ls-muted);
}
.ls-modal-eyebrow {
	font-size: 0.955em;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ls-brass-dark);
	margin: 0 0 4px;
}
.ls-modal-box h3 {
	margin: 0 0 16px;
	font-size: 1.275em;
}
.ls-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.ls-modal-form-wrap label {
	display: block;
	font-size: 1.0em;
	color: var(--ls-muted);
	margin-bottom: 4px;
}
.ls-modal-form-wrap input,
.ls-modal-form-wrap textarea {
	width: 100%;
	border: 1px solid var(--ls-line);
	border-radius: 8px;
	padding: 9px 10px;
	font-size: 1.005em;
	margin-bottom: 12px;
	box-sizing: border-box;
	resize: vertical;
	font-family: inherit;
}
.ls-modal-form-wrap input:focus,
.ls-modal-form-wrap textarea:focus {
	outline: none;
	border-color: var(--ls-brass);
}
.ls-modal-form-wrap button[type="submit"] {
	width: 100%;
	border: none;
	background: var(--ls-ink);
	color: #fff;
	padding: 11px;
	border-radius: 8px;
	font-size: 1.075em;
	font-weight: 600;
	cursor: pointer;
}
.ls-modal-form-wrap button[type="submit"]:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}
.ls-form-status {
	font-size: 1.0em;
	text-align: center;
	color: var(--ls-muted);
	min-height: 16px;
	margin: 8px 0 0;
}
.ls-modal-sukses {
	text-align: center;
	padding: 10px 0;
}
.ls-modal-sukses button {
	margin-top: 12px;
	background: none;
	border: none;
	text-decoration: underline;
	cursor: pointer;
	font-size: 1.025em;
	color: var(--ls-ink);
}

/* ==================================================================
   Lightbox foto (produk & artikel) -- lihat ls-lightbox di store.js
   ================================================================== */
.ls-lightbox {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ls-lightbox[hidden] {
	display: none;
}
.ls-lightbox-overlay {
	position: absolute;
	inset: 0;
	background: rgba(20, 18, 16, 0.88);
}
.ls-lightbox-stage {
	position: relative;
	max-width: min(92vw, 1100px);
	max-height: 88vh;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.ls-lightbox-img {
	position: relative;
	max-width: min(92vw, 1100px);
	max-height: 88vh;
	width: auto;
	height: auto;
	display: block;
	border-radius: 6px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
	cursor: zoom-in;
	transition: transform 0.2s ease;
	transform: scale(1);
}
.ls-lightbox-img.is-zoom {
	cursor: zoom-out;
	transform: scale(2.2);
}
.ls-lightbox-tutup {
	position: absolute;
	top: 18px;
	right: 22px;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	z-index: 1;
}
.ls-lightbox-tutup:hover {
	background: rgba(255, 255, 255, 0.22);
}
.ls-lightbox-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	z-index: 1;
}
.ls-lightbox-nav:hover {
	background: rgba(255, 255, 255, 0.22);
}
.ls-lightbox-nav[hidden] {
	display: none;
}
.ls-lightbox-prev {
	left: 16px;
}
.ls-lightbox-next {
	right: 16px;
}
.ls-lightbox-info {
	position: absolute;
	bottom: 18px;
	left: 50%;
	transform: translateX(-50%);
	max-width: 80vw;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	z-index: 1;
}
.ls-lightbox-caption {
	color: #fff;
	font-size: 0.9em;
	line-height: 1.4;
	text-align: center;
	background: rgba(0, 0, 0, 0.45);
	padding: 5px 14px;
	border-radius: 12px;
}
.ls-lightbox-caption[hidden] {
	display: none;
}
.ls-lightbox-counter {
	color: #fff;
	font-size: 0.9em;
	background: rgba(0, 0, 0, 0.4);
	padding: 4px 12px;
	border-radius: 12px;
}
.ls-lightbox-counter[hidden] {
	display: none;
}
@media (max-width: 640px) {
	.ls-lightbox-nav {
		width: 40px;
		height: 40px;
		font-size: 24px;
	}
	.ls-lightbox-img.is-zoom {
		transform: scale(1.8);
	}
}
@media (max-width: 480px) {
	.ls-form-row {
		grid-template-columns: 1fr;
	}
}

/* ==================================================================
   Artikel promosi produk (CPT "artikel")
   ================================================================== */

.ls-breadcrumb-toko {
	max-width: 1160px;
	margin: 20px auto 18px;
	padding: 0 16px;
}

.ls-single-artikel-wrap {
	max-width: 1160px;
	margin: 28px auto 56px;
	padding: 0 16px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;
	color: var(--ls-ink);
}
.ls-single-artikel-wrap .ls-breadcrumb {
	margin: 0 0 20px;
}
.ls-artikel-judul {
	max-width: 100%;
	margin: 0 0 22px;
	text-align: left;
}
/* Byline "Ditulis oleh ... · Diperbarui [tanggal]" -- sinyal E-E-A-T yang
   kelihatan langsung oleh pembaca (bukan cuma di data terstruktur JSON-LD,
   lihat LS_Helpers::author_byline_html()/updated_date_html()). */
.ls-byline {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	align-items: center;
	color: var(--ls-muted);
	font-size: 0.925em;
	margin: -8px 0 20px;
}
.ls-byline-jabatan {
	color: var(--ls-muted);
	font-weight: 400;
}
.ls-byline-penulis strong {
	color: var(--ls-ink);
}
.ls-byline-penulis:not(:last-child)::after {
	content: "·";
	margin-left: 10px;
	color: var(--ls-line);
}
.ls-byline-produk {
	margin: -6px 0 4px;
}
.ls-artikel-featured {
	max-width: 460px;
	margin: 0 28px 24px 0;
	border-radius: var(--ls-radius);
	overflow: hidden;
	box-shadow: 0 6px 20px rgba(38, 34, 32, 0.1);
	float: left;
}
.ls-artikel-featured img {
	width: 100%;
	height: auto;
	display: block;
	cursor: zoom-in;
}
.ls-artikel-konten img {
	cursor: zoom-in;
}
.ls-artikel-konten {
	max-width: none;
	margin: 0;
	font-size: 1.175em;
	line-height: 1.75;
}
.ls-artikel-konten::after {
	content: "";
	display: table;
	clear: both;
}
.ls-artikel-konten p {
	margin: 0 0 1.2em;
}
.ls-artikel-konten h2,
.ls-artikel-konten h3 {
	font-size: 1.3em;
	line-height: 1.35;
	margin: 26px 0 12px;
	color: var(--ls-ink);
	/* SENGAJA tanpa clear:both -- biarkan subjudul & paragraf ikut
	   membungkus di sebelah kanan foto unggulan (float:left) selama
	   masih sejajar dengan tingginya, baru otomatis turun ke bawah
	   foto begitu kontennya sudah lebih panjang dari tinggi foto.
	   Foto sendiri sudah lebih tinggi dari 1-2 baris subjudul, jadi
	   subjudul pertama tetap kebaca nyaman di sebelah foto. */
}
.ls-artikel-konten a {
	color: var(--ls-brass-dark);
	text-decoration: underline;
	text-decoration-color: rgba(166, 124, 82, 0.35);
	text-underline-offset: 2px;
}
.ls-artikel-konten a:hover {
	text-decoration-color: currentColor;
}
/* Kotak CTA penutup artikel: link ke halaman produk + tombol kontak
   WhatsApp asli, dibuat menonjol (bukan cuma paragraf biasa) supaya
   jadi ajakan bertindak yang jelas di akhir artikel. clear:both di sini
   memang disengaja -- ini blok PALING TERAKHIR, jadi wajar kalau selalu
   turun ke bawah foto & selalu tampil selebar kolom konten. */
.ls-artikel-cta {
	clear: both;
	margin: 28px 0 4px;
	padding: 18px 20px;
	background: var(--ls-bg-soft);
	border: 1px solid var(--ls-line);
	border-radius: var(--ls-radius);
}
.ls-artikel-cta p {
	margin: 0 !important;
}
.ls-artikel-cta a {
	font-weight: 600;
}
@media (max-width: 640px) {
	.ls-artikel-featured {
		float: none;
		max-width: 100%;
		margin: 0 0 20px;
	}
}

.ls-artikel-produk-dibahas {
	clear: both;
	margin: 0 0 48px;
	padding: 28px 0 0;
	border-top: 1px solid var(--ls-line);
}
.ls-artikel-produk-card .ls-btn-sm {
	margin-top: 10px;
	padding: 8px 14px;
	font-size: 1.005em;
}
.ls-artikel-lihat-produk {
	display: inline-block;
	margin-top: 8px;
	font-size: 0.975em;
	color: var(--ls-muted);
	text-decoration: none;
}
.ls-artikel-lihat-produk:hover {
	color: var(--ls-brass-dark);
	text-decoration: underline;
}

.ls-artikel-kategori-nav {
	clear: both;
	margin: 0 0 40px;
	padding: 28px 0 0;
	border-top: 1px solid var(--ls-line);
}
.ls-artikel-kategori-nav .ls-filter {
	justify-content: flex-start;
}

.ls-artikel-lainnya {
	clear: both;
	margin: 0 0 56px;
	padding: 28px 0 0;
	border-top: 1px solid var(--ls-line);
}

.ls-artikel-grid-wrap {
	padding: 0 16px;
}
.ls-artikel-grid {
	grid-template-columns: repeat(3, 1fr);
}
.ls-artikel-ringkasan {
	color: var(--ls-muted);
	font-size: 1.045em;
	margin: 0 0 8px;
	line-height: 1.5;
}
.ls-artikel-produk-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 4px;
}
.ls-badge-produk {
	font-size: 0.965em;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--ls-bg-soft);
	border: 1px solid var(--ls-line);
	color: var(--ls-ink);
	text-decoration: none;
}
.ls-badge-produk:hover {
	border-color: var(--ls-brass);
	color: var(--ls-brass-dark);
}

.ls-pagination {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin: 32px 0;
	flex-wrap: wrap;
}
.ls-pagination a,
.ls-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 8px;
	border: 1px solid var(--ls-line);
	border-radius: 6px;
	color: var(--ls-ink);
	text-decoration: none;
	font-size: 1.025em;
}
.ls-pagination a:hover {
	border-color: var(--ls-brass);
	color: var(--ls-brass-dark);
}
.ls-pagination .current {
	background: var(--ls-ink);
	border-color: var(--ls-ink);
	color: #fff;
}

@media (max-width: 780px) {
	.ls-artikel-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 480px) {
	.ls-artikel-grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================================ */
/* Halaman intro (Keranjang & Checkout) + trust badges           */
/* ============================================================ */
.ls-page-intro {
	max-width: 780px;
	margin: 18px auto 4px;
}
.ls-page-intro h1 {
	font-size: 1.65em;
	margin: 0 0 6px;
}
.ls-page-intro p {
	color: var(--ls-muted);
	margin: 0;
}

.ls-trust-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	max-width: 780px;
	margin: 16px auto 24px;
}
.ls-trust-item {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--ls-bg-soft);
	border: 1px solid var(--ls-line);
	border-radius: var(--ls-radius);
	padding: 10px 14px;
	font-size: 0.93em;
	color: var(--ls-ink);
	flex: 1 1 200px;
}
.ls-trust-ikon {
	font-size: 1.1em;
	line-height: 1;
}
.ls-trust-link {
	text-decoration: none;
	color: var(--ls-brass-dark);
	font-weight: 600;
	cursor: pointer;
}
.ls-trust-link:hover {
	border-color: var(--ls-brass);
}

.ls-checkout-privasi {
	font-size: 0.9em;
	color: var(--ls-muted);
	margin: 0 0 16px;
}

.ls-store-hero-link {
	margin: 10px 0 0;
}
.ls-store-hero-link a {
	color: var(--ls-brass-dark);
	font-weight: 600;
	text-decoration: none;
}
.ls-store-hero-link a:hover {
	text-decoration: underline;
}

.ls-terima-kasih-lanjut {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--ls-line);
}
.ls-terima-kasih-lanjut a {
	color: var(--ls-brass-dark);
	text-decoration: none;
	font-weight: 600;
}
.ls-terima-kasih-lanjut a:hover {
	text-decoration: underline;
}

/* ============================================================ */
/* Halaman Panduan Belanja                                        */
/* ============================================================ */
.ls-panduan-hero {
	text-align: left;
	max-width: 780px;
}
.ls-panduan-steps {
	list-style: none;
	counter-reset: none;
	max-width: 780px;
	margin: 0 auto 28px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.ls-panduan-steps li {
	background: #fff;
	border: 1px solid var(--ls-line);
	border-radius: var(--ls-radius);
	padding: 16px 20px;
}
.ls-panduan-steps h3 {
	margin: 0 0 6px;
	font-size: 1.05em;
	color: var(--ls-brass-dark);
}
.ls-panduan-steps p {
	margin: 0;
	color: var(--ls-ink);
}
.ls-panduan-steps p a {
	display: inline-block;
	margin-left: 6px;
	color: var(--ls-brass-dark);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.ls-panduan-steps p a:hover {
	text-decoration: underline;
}
.ls-panduan-lainnya {
	max-width: 780px;
	margin: 0 auto;
	text-align: center;
	background: var(--ls-bg-soft);
	border-radius: var(--ls-radius);
	padding: 24px 20px;
}
.ls-panduan-lainnya h3 {
	margin: 0 0 6px;
}
.ls-panduan-lainnya p {
	color: var(--ls-muted);
	margin: 0 0 14px;
}
.ls-panduan-lainnya .ls-btn {
	margin: 0 6px;
}
.ls-btn-secondary {
	background: #fff;
	border: 1px solid var(--ls-line);
	color: var(--ls-ink);
}
.ls-btn-secondary:hover {
	border-color: var(--ls-brass);
	color: var(--ls-brass-dark);
}

@media (max-width: 600px) {
	.ls-trust-badges {
		flex-direction: column;
	}
}

/* ============================================================ */
/* Deskripsi kaya kategori (H2/H3, link) di hero arsip katalog   */
/* ============================================================ */
.ls-store-hero-kaya {
	max-width: 1160px;
	margin: 0 auto;
	text-align: left;
	color: var(--ls-ink);
	line-height: 1.7;
}
.ls-store-hero-kaya h2,
.ls-store-hero-kaya h3 {
	font-size: 1.2em;
	margin: 18px 0 8px;
	color: var(--ls-ink);
}
.ls-store-hero-kaya p {
	margin: 0 0 12px;
	color: var(--ls-ink);
}
.ls-store-hero-kaya a {
	color: var(--ls-brass-dark);
	text-decoration: underline;
}

/* ============================================================ */
/* "Kategori Lainnya" -- internal link antar halaman kategori     */
/* ============================================================ */
.ls-kategori-lainnya {
	max-width: 1160px;
	margin: 8px auto 56px;
	padding: 28px 16px 0;
	border-top: 1px solid var(--ls-line);
}
.ls-kategori-lainnya h2 {
	font-size: 1.15em;
	margin: 0 0 6px;
}
.ls-kategori-lainnya-intro {
	color: var(--ls-muted);
	margin: 0 0 14px;
}
.ls-kategori-lainnya-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.ls-kategori-lainnya-list a {
	display: inline-block;
	background: var(--ls-bg-soft);
	border: 1px solid var(--ls-line);
	border-radius: 999px;
	padding: 7px 16px;
	color: var(--ls-ink);
	text-decoration: none;
	font-size: 0.95em;
}
.ls-kategori-lainnya-list a:hover {
	border-color: var(--ls-brass);
	color: var(--ls-brass-dark);
}

/* ------------------------------------------------------------------ */
/* Rating & Ulasan (GEO/E-E-A-T trust signal)                          */
/* ------------------------------------------------------------------ */
.ls-stars {
	display: inline-flex;
	gap: 2px;
	font-size: 1.1em;
	line-height: 1;
	vertical-align: middle;
}
.ls-stars.ls-stars-sm {
	font-size: 0.9em;
}
.ls-star-full,
.ls-star-half {
	color: var(--ls-brass);
}
.ls-star-empty {
	color: var(--ls-line);
}

.ls-rating-summary-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	margin: 2px 0 10px;
}
.ls-rating-summary-text {
	color: var(--ls-muted);
	font-size: 0.9em;
}
.ls-rating-summary-link:hover .ls-rating-summary-text {
	color: var(--ls-brass-dark);
}

.ls-reviews-block {
	max-width: 900px;
	margin: 40px auto 0;
	padding: 0 20px;
}
.ls-reviews-title {
	font-size: 1.4em;
	margin-bottom: 12px;
}
.ls-reviews-summary {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}
.ls-reviews-avg {
	font-size: 1.6em;
	font-weight: 700;
	color: var(--ls-ink);
}
.ls-reviews-count {
	color: var(--ls-muted);
	font-size: 0.95em;
}
.ls-reviews-empty {
	color: var(--ls-muted);
	margin-bottom: 20px;
}
.ls-reviews-list {
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.ls-review-item {
	border: 1px solid var(--ls-line);
	border-radius: var(--ls-radius);
	padding: 14px 18px;
	background: var(--ls-bg-soft);
}
.ls-review-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 6px;
	flex-wrap: wrap;
}
.ls-review-author {
	color: var(--ls-ink);
}
.ls-review-date {
	color: var(--ls-muted);
	font-size: 0.85em;
	margin-left: auto;
}
.ls-review-body {
	margin: 0;
	color: var(--ls-ink);
	line-height: 1.6;
}

/* Form kirim ulasan (comment_form bawaan WP, dikustom minimal) */
.ls-review-form #commentform {
	max-width: 520px;
}
.ls-review-form p {
	margin: 0 0 12px;
}
.ls-review-form input[type="text"],
.ls-review-form input[type="email"],
.ls-review-form textarea {
	width: 100%;
	border: 1px solid var(--ls-line);
	border-radius: 8px;
	padding: 10px 12px;
	font-family: inherit;
	font-size: 1em;
	box-sizing: border-box;
}
.ls-review-form textarea {
	min-height: 100px;
}
.ls-review-form input[type="submit"] {
	background: var(--ls-brass);
	color: #fff;
	border: none;
	border-radius: 999px;
	padding: 10px 26px;
	font-weight: 600;
	cursor: pointer;
}
.ls-review-form input[type="submit"]:hover {
	background: var(--ls-brass-dark);
}
.ls-required {
	color: var(--ls-danger);
}

.ls-rating-field {
	margin-bottom: 14px;
}
.ls-rating-field-label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}
.ls-star-input {
	display: inline-flex;
	flex-direction: row-reverse;
	gap: 4px;
	font-size: 1.8em;
}
.ls-star-input input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}
.ls-star-input label {
	color: var(--ls-line);
	cursor: pointer;
	transition: color 0.15s ease;
}
.ls-star-input input:checked ~ label,
.ls-star-input label:hover,
.ls-star-input label:hover ~ label {
	color: var(--ls-brass);
}
