/**
 * Gaya toko — arsip produk, kartu, dan zona transaksi.
 * Nilai desain dari 03-spesifikasi-tampilan.md (diukur dari referensi).
 * Breakpoint mobile tema: 1023px (qs-bottomnav).
 */

/* Palet inti global — agar variabel tersedia di SEMUA halaman yang memuat
 * shop.css, termasuk halaman Akun (.qs-account) yang bukan .qs-shop/.qs-product.
 * Blok berscope di bawah tetap menyetel nilai yang sama (tanpa perubahan visual). */
:root {
	--qs-hijau: #16a34a;
	--qs-navy: #0b2946;
	--qs-navy-2: #0d3558;
	--qs-title: #172033;
	--qs-price: #202020;
	--qs-muted: #64748b;
	--qs-line: #cbd7e6;
	--qs-amber: #fbbf24;
}

.qs-shop {
	--qs-navy: #0b2946;
	--qs-navy-2: #0d3558;
	--qs-amber: #fbbf24;
	--qs-sky: #93c5fd;
	--qs-line: #cbd7e6;
	--qs-title: #172033;
	--qs-price: #202020;
	--qs-muted: #64748b;

	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 10px 28px;
}

/* ---------- Promo carousel ---------- */

.qs-promo {
	position: relative;
	margin-bottom: 20px;
	border-radius: 22px;
	overflow: hidden;
	color: #fff;
	background:
		radial-gradient(circle at 85% 15%, rgba(251, 191, 36, 0.3), transparent 45%),
		radial-gradient(circle at 8% 90%, rgba(37, 99, 235, 0.35), transparent 55%),
		linear-gradient(135deg, #0b2946, #071a2f);
}

/* Carousel toko: tinggi ringkas, tanpa padding/border residu dari kotak kupon
   keranjang yang kebetulan memakai nama kelas .qs-promo yang sama. */
.qs-promo[data-qs-promo] {
	margin: 0 0 14px;
	padding: 0;
	border: 0;
}

.qs-promo__track {
	display: flex;
	transition: transform 0.35s ease;
	will-change: transform;
	/* Geser horizontal ditangani JS (pointer-drag); gerak vertikal tetap
	   menggulir halaman. Ini bikin swipe banner andal di iPad/mobile. */
	touch-action: pan-y;
}

.qs-promo__track::-webkit-scrollbar {
	display: none;
}

.qs-promo__slide {
	flex: 0 0 100%;
	height: 260px;
	padding: 22px 48px 40px;
	box-sizing: border-box;
	color: #fff;
	text-decoration: none;
	/* Cegah teks ter-seleksi/drag-ghost saat di-swipe. */
	user-select: none;
	-webkit-user-select: none;
	-webkit-user-drag: none;
}

.qs-promo__eyebrow {
	display: block;
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.16em;
	color: var(--qs-sky);
}

.qs-promo__title {
	display: block;
	margin: 0 0 8px;
	font-size: clamp(30px, 3.4vw, 46px);
	font-weight: 650;
	line-height: 1.02;
	color: #fff;
	max-width: 13em;
}

.qs-promo__text {
	display: block;
	margin: 0 0 14px;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85);
	max-width: 34em;
}

.qs-promo__cta {
	display: inline-flex;
	align-items: center;
	height: 42px;
	padding: 0 20px;
	border-radius: 11px;
	background: var(--qs-amber);
	color: var(--qs-navy);
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.qs-promo__cta:hover {
	filter: brightness(1.06);
	color: var(--qs-navy);
}

/* Slide dengan gambar latar (dari Customizer) — gambar menutup penuh, teks tetap
   terbaca berkat overlay gelap (dipasang inline di style slide). */
.qs-promo__slide--img {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* UKURAN STABIL: batasi baris judul & sub-teks supaya tinggi banner tetap sama
   di tiap view walau teks dari Customizer panjang/pendek. */
.qs-promo__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.qs-promo__text {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.qs-promo__nav {
	position: absolute;
	left: 56px;
	bottom: 14px;
	display: flex;
	align-items: center;
	gap: 12px;
}

.qs-promo__arrow {
	display: none;
}

.qs-promo__dots {
	display: flex;
	align-items: center;
	gap: 2px;
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
}

.qs-promo__dots.is-dragging {
	cursor: grabbing;
}

.qs-promo__dot {
	width: 9px;
	height: 9px;
	/* Area sentuh diperbesar (padding), titik visual tetap kecil lewat
	   background-clip: content-box — jadi mudah di-tap di iPad/mobile. */
	padding: 10px 6px;
	box-sizing: content-box;
	background-clip: content-box;
	border: 0;
	border-radius: 999px;
	background-color: rgba(255, 255, 255, 0.4);
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	transition: width 0.2s ease, background-color 0.2s ease;
}

.qs-promo__dot.is-active {
	width: 20px;
	background-color: var(--qs-amber);
}

/* ---------- Kepala halaman non-toko (kategori / pencarian) ---------- */

.qs-shop__head {
	padding: 8px 0 4px;
	/* Jarak wajar ke pills/kontrol di bawahnya (di mobile head langsung ketemu
	   pills karena kolom pencarian desktop disembunyikan). */
	margin-bottom: 14px;
}

.qs-shop__title {
	margin: 0;
	/* Desktop mentok 24px, tablet & mobile 20px — sebelumnya 34px di desktop
	   sehingga timpang dengan kontrol katalog lain. */
	font-size: clamp(20px, 1.9vw, 24px);
	font-weight: 700;
	color: var(--qs-title);
}

.qs-shop__lede {
	margin: 10px 0 0;
	font-size: 14px;
	color: var(--qs-muted);
	max-width: 46em;
}

/* ---------- Toolbar ---------- */

.qs-shop__toolbar {
	display: flex;
	gap: 12px;
	align-items: center;
	margin: 22px 0 14px;
	scroll-margin-top: 90px;
}

.qs-shop__search--desktop {
	display: flex;
	gap: 8px;
	margin: 4px 0 14px;
}

@media (max-width: 1023px) {
	.qs-shop__search--desktop {
		display: none;
	}
}

.qs-shop__search input[type="search"] {
	flex: 1;
	height: 44px;
	padding: 0 16px;
	border: 1px solid var(--qs-line);
	border-radius: 10px;
	font-size: 14px;
	background: #fff;
	color: var(--qs-title);
}

.qs-shop__search input[type="search"]:focus {
	outline: none;
	border-color: var(--qs-hijau, #16a34a);
}

.qs-shop__search-btn {
	height: 44px;
	padding: 0 22px;
	border: 0;
	border-radius: 10px;
	background: var(--qs-navy-2);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.qs-shop__search-btn:hover {
	background: var(--qs-navy);
}

.qs-shop__sort {
	display: flex;
	gap: 10px;
	align-items: center;
}

.qs-shop__sort-label {
	font-size: 11.5px;
	color: var(--qs-muted);
}

.qs-shop__sort select {
	height: 42px;
	padding: 0 38px 0 18px;
	border: 1px solid var(--qs-line);
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 600;
	background-color: #fff;
	color: var(--qs-navy);
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%230B2946' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	cursor: pointer;
}

.qs-shop__sort select:focus {
	outline: 2px solid var(--qs-navy-2);
	outline-offset: 1px;
}

.qs-shop__sort-apply {
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--qs-line);
	border-radius: 10px;
	background: #fff;
	font-size: 13px;
	cursor: pointer;
}

.qs-shop__sort.is-js .qs-shop__sort-apply {
	display: none;
}

/* ---------- Pil kategori ---------- */

.qs-shop__pills {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin: 0 0 4px;
}

.qs-pill {
	display: inline-flex;
	align-items: center;
	height: 40px;
	padding: 0 16px;
	border-radius: 10px;
	border: 1px solid var(--qs-line);
	background: #fff;
	color: var(--qs-navy);
	font-size: 13px;
	font-weight: 650;
	text-decoration: none;
	white-space: nowrap;
}

.qs-pill:hover {
	border-color: var(--qs-navy-2);
	color: var(--qs-navy);
}

.qs-pill.is-active {
	background: var(--qs-navy-2);
	border-color: var(--qs-navy-2);
	color: #fff;
}

/* ---------- Jumlah hasil ---------- */

.qs-shop__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 12px 0 16px;
}

.qs-shop__count {
	margin: 0;
	font-size: 13px;
	color: var(--qs-muted);
}

.qs-shop__meta .qs-shop__sort {
	margin: 0;
	flex: 0 0 auto;
}

/* Desktop + tablet: jumlah hasil, label "Urutkan", dan select "Urutan bawaan"
   WAJIB seragam 11.5px. Tanpa aturan ini select mewarisi
   `body.qs-shopctx select{font-size:16px}` (anti-zoom iOS) dan ikut membesar. */
@media (min-width: 641px) {
	.qs-shop__meta .qs-shop__count,
	.qs-shop__meta .qs-shop__sort-label,
	.qs-shop__meta .qs-shop__sort select,
	.qs-shop__meta .qs-shop__sort .orderby {
		font-size: 11.5px;
	}

	.qs-shop__meta .qs-shop__sort select,
	.qs-shop__meta .qs-shop__sort .orderby {
		height: 40px;
		font-weight: 600;
	}
}

/* ---------- Grid produk ---------- */

.qs-shop ul.products,
.qs-related ul.products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	/* minmax(0,1fr) — bukan 1fr (= minmax(auto,1fr)) — supaya kolom SELALU sama
	   lebar. Tanpa ini, min-content kartu tertentu (harga/kata panjang) membuat
	   kolomnya melar → gambar (aspect 1/1) jadi beda tinggi & kartu tak sejajar. */
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 22px 16px;
}

/* Clearfix bawaan WooCommerce menjadi sel grid kosong di awal & akhir. */
.qs-shop ul.products::before,
.qs-shop ul.products::after,
.qs-related ul.products::before,
.qs-related ul.products::after {
	content: none;
	display: none;
}

.qs-shop ul.products li.product.qs-pcard,
.qs-related ul.products li.product.qs-pcard {
	margin: 0;
	padding: 0;
	width: auto;
	min-width: 0; /* izinkan menyusut di bawah min-content → kolom tetap sama lebar */
	float: none;
}

/* ---------- Kartu produk ----------
   Aturan rupa kartu DIPINDAH ke assets/css/product-card.css agar dipakai
   bersama oleh katalog dan kartu di luar toko (homepage, Knowledge, dll).
   shop.css hanya dimuat di halaman toko, jadi tidak bisa jadi sumbernya. */

/* ---------- Paginasi ----------
   Angka polos tanpa bingkai; halaman aktif = kotak gelap membulat;
   panah ‹ › redup di kiri-kanan. */

.qs-shop__more {
	margin-top: 26px;
	text-align: center;
}

.qs-shop .woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
}

.qs-shop .woocommerce-pagination ul.page-numbers li {
	border: 0;
	margin: 0;
}

.qs-shop .woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 8px;
	border: 0;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--qs-muted);
	text-decoration: none;
	background: transparent;
}

.qs-shop .woocommerce-pagination a.page-numbers:hover {
	color: var(--qs-navy);
	background: #f1f5f9;
}

.qs-shop .woocommerce-pagination .page-numbers.current {
	background: var(--qs-navy-2);
	color: #fff;
}

.qs-shop .woocommerce-pagination .page-numbers.prev,
.qs-shop .woocommerce-pagination .page-numbers.next {
	font-size: 18px;
	color: var(--qs-muted);
}

/* ---------- Keadaan kosong ---------- */

.qs-shop__empty {
	padding: 48px 0;
	text-align: center;
	color: var(--qs-muted);
}

/* ==================== Halaman produk tunggal ==================== */

.qs-product {
	--qs-navy: #0b2946;
	--qs-navy-2: #0d3558;
	--qs-hijau: #16a34a;
	--qs-line: #cbd7e6;
	--qs-title: #172033;
	--qs-muted: #64748b;

	max-width: 1200px;
	margin: 0 auto;
	padding: 18px 10px 64px;
}

.qs-product__crumb {
	font-size: 13px;
	color: var(--qs-muted);
	margin-bottom: 18px;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.qs-product__crumb a {
	color: #2563eb;
	text-decoration: none;
}

.qs-product__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 30px;
	/* aside dibiarkan stretch setinggi kolom kiri agar buycard sticky
	   punya ruang menempel sepanjang tab & produk terkait. */
}

.qs-product__hero {
	display: grid;
	grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
	gap: 30px;
	align-items: start;
}

/* Anti-blowout: kolom grid tidak boleh dipaksa melebar oleh isinya. */
.qs-product__main,
.qs-product__summary,
.qs-product__gallery {
	min-width: 0;
}

/* Gambar apa pun di dalam halaman produk tidak boleh melebihi kolomnya. */
.qs-product img {
	max-width: 100%;
	height: auto;
}

.qs-product__img-main img,
.qs-pcard__media img,
.qs-product__thumb img {
	height: 100%;
}

/* Galeri */

.qs-product__img-main {
	border-radius: 10px;
	overflow: hidden;
	background: #f1f5f9;
	aspect-ratio: 1 / 1;
}

.qs-product__img-main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.qs-product__thumbs {
	display: flex;
	gap: 8px;
	margin-top: 10px;
	flex-wrap: wrap;
}

.qs-product__thumb {
	width: 64px;
	height: 64px;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 8px;
	overflow: hidden;
	cursor: pointer;
	background: #f1f5f9;
}

.qs-product__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.qs-product__thumb.is-active {
	border-color: var(--qs-hijau);
}

/* Ringkasan */

.qs-product__title {
	margin: 0 0 8px;
	font-size: clamp(22px, 2.6vw, 30px);
	font-weight: 700;
	line-height: 1.25;
	color: var(--qs-title);
}

.qs-product__meta {
	margin: 0 0 14px;
	font-size: 13px;
	color: var(--qs-muted);
}

/* Bintang rating di header produk = kuning (terisi) / abu (belum ada rating). */
.qs-product__star { color: #f59e0b; }
.qs-product__star--off { color: #cbd5e1; }

.qs-product__price {
	margin: 0 0 6px;
	font-size: clamp(24px, 2.8vw, 32px);
	font-weight: 800;
	color: var(--qs-title);
}

.qs-product__format {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 700;
	color: #ea580c;
}

.qs-product__sdesc {
	font-size: 15px;
	line-height: 1.65;
	color: #334155;
}

/* Tambah produk (add-on / cross-sell) */

.qs-addons {
	margin-top: 22px;
}

.qs-addons__title {
	margin: 0 0 2px;
	font-size: 15px;
	font-weight: 700;
	color: var(--qs-title);
}

.qs-addons__sub {
	margin: 0 0 10px;
	font-size: 12.5px;
	color: var(--qs-muted);
}

.qs-addon {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 14px;
	border: 1px solid var(--qs-line);
	border-radius: 10px;
	margin-bottom: 8px;
	cursor: pointer;
	font-size: 13.5px;
}

.qs-addon:hover {
	border-color: var(--qs-navy-2);
}

.qs-addon input[type="checkbox"] {
	width: 16px;
	height: 16px;
	accent-color: var(--qs-hijau);
	flex-shrink: 0;
}

.qs-addon__nama {
	flex: 1;
	color: var(--qs-title);
	font-weight: 500;
}

.qs-addon__harga {
	font-weight: 700;
	color: var(--qs-price);
	white-space: nowrap;
}

/* Tile video di galeri */

.qs-product__thumb--video {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--qs-navy);
}

.qs-product__thumb--video img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(0.55);
}

.qs-product__play {
	position: relative;
	z-index: 1;
	width: 26px;
	height: 26px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: var(--qs-navy);
	font-size: 11px;
	line-height: 1;
	padding-left: 2px;
}

.qs-product__img-main iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* Saat video aktif: rasio 16:9 berlatar hitam, tanpa ruang mati. */
.qs-product__img-main.is-video {
	aspect-ratio: 16 / 9;
	background: #000;
}

/* Buybox */

.qs-buycard {
	position: sticky;
	top: 90px;
	border: 1px solid var(--qs-line);
	border-radius: 12px;
	padding: 18px;
	background: #fff;
}

.qs-buycard__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 14px;
	font-size: 14px;
	color: var(--qs-muted);
}

.qs-buycard__row strong {
	font-size: 20px;
	color: var(--qs-title);
}

.qs-buycard__form {
	display: grid;
	gap: 10px;
}

.qs-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.qs-btn--cart {
	border: 0;
	background: var(--qs-hijau);
	color: #fff;
}

.qs-btn--cart:hover {
	filter: brightness(1.07);
}

.qs-btn--buy {
	border: 1.5px solid var(--qs-hijau);
	background: #fff;
	color: var(--qs-hijau);
}

.qs-btn--buy:hover {
	background: #f0fdf4;
}

.qs-buycard__links {
	display: flex;
	gap: 14px;
	justify-content: center;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #eef2f7;
}

.qs-buylink {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	border: 0;
	background: none;
	padding: 0;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--qs-title);
	cursor: pointer;
	text-decoration: none;
}

.qs-buylink svg {
	width: 13px;
	height: 13px;
	flex-shrink: 0;
}

.qs-buylink:hover {
	color: var(--qs-navy);
}

.qs-buylink--wa {
	color: var(--qs-hijau);
}

.qs-buylink.is-active {
	color: #dc2626;
}

.qs-buylink.is-active .qs-heart {
	fill: #dc2626;
	stroke: #dc2626;
}

/* ---------- Akun Saya → Wishlist ---------- */
.qs-wishlist__count {
	margin: 0 0 14px;
	font-size: 13.5px;
	color: var(--qs-muted);
}

.qs-wishlist__empty {
	text-align: center;
	padding: 40px 16px;
	color: var(--qs-muted);
}

.qs-wishlist__empty p {
	margin: 0 0 16px;
}

.qs-wishlist-grid.products {
	display: grid !important;
	grid-template-columns: repeat( auto-fill, minmax( 150px, 1fr ) );
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Clearfix bawaan WooCommerce menjadi sel grid kosong (celah di kiri) — matikan. */
.qs-wishlist-grid.products::before,
.qs-wishlist-grid.products::after {
	content: none !important;
	display: none !important;
}

.qs-wishlist-grid.products > li {
	position: relative;
	margin: 0 !important;
	width: auto !important;
	float: none !important;
}

.qs-wl-remove {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 3;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	border: none;
	background: rgba( 17, 24, 28, 0.55 );
	color: #fff;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s;
}

.qs-wl-remove:hover {
	background: #dc2626;
}

/* ---------- Rekomendasi pada empty-state Account ---------- */
.qs-account-reco {
	margin-top: 28px;
}

.qs-account-reco__title {
	margin: 0 0 14px !important;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--qs-navy, #0b2946);
}

.qs-account-reco__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 0 !important;
}

.qs-account-reco__grid > .qs-pcard {
	position: relative;
	padding: 0 12px 12px !important;
	border: 1px solid #e6ebf2;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
	overflow: hidden;
}

.qs-account-reco__grid .qs-pcard__media {
	margin: 0 -12px 8px;
	border: 0;
	border-radius: 0;
}

.qs-account-reco__grid .qs-pcard__media img {
	border-radius: 0;
}

.qs-account-reco__heart {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid rgba(226, 232, 240, 0.95);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	color: #64748b;
	cursor: pointer;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.12);
}

.qs-account-reco__heart:hover,
.qs-account-reco__heart:focus-visible {
	color: #dc2626;
	border-color: #fecaca;
}

.qs-account-reco__heart.is-active {
	color: #dc2626;
}

.qs-account-reco__heart.is-active .qs-heart {
	fill: currentColor;
	stroke: currentColor;
}

@media ( max-width: 640px ) {
	.qs-account-reco {
		margin-top: 22px;
	}

	.qs-account-reco__title {
		font-size: 17px;
	}

	.qs-account-reco__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px 10px;
	}
}

@media ( max-width: 480px ) {
	.qs-wishlist-grid.products {
		grid-template-columns: repeat( 2, 1fr );
	}
}

/* ---------- Akun Saya → Unduhan (dikelompokkan per pesanan) ---------- */
.qs-dl__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	margin: 0 0 16px;
}

.qs-dl__head h3 {
	margin: 0;
}

.qs-dl__search {
	position: relative;
	display: flex;
	align-items: center;
	flex: 1;
	min-width: 200px;
	max-width: 320px;
}

.qs-dl__search svg {
	position: absolute;
	left: 12px;
	color: var(--qs-muted);
	pointer-events: none;
}

.qs-dl__search input {
	width: 100%;
	height: 40px;
	padding: 0 14px 0 36px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	font-size: 14px;
	background: #fff;
	color: var(--qs-title);
}

.qs-dl__search input:focus {
	outline: none;
	border-color: var(--qs-hijau);
	box-shadow: 0 0 0 3px rgba( 22, 163, 74, 0.12 );
}

.qs-dl__groups {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.qs-dl__group {
	border: 1px solid #eef2f7;
	border-radius: 12px;
	overflow: hidden;
}

.qs-dl__ghead {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 11px 16px;
	background: #f8fafc;
	border: none;
	border-bottom: 1px solid #eef2f7;
	font-size: 12.5px;
	font-family: inherit;
	text-align: left;
	cursor: pointer;
}

.qs-dl__ghead:hover {
	background: #f1f5f9;
}

.qs-dl__ghead-main {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
	min-width: 0;
}

.qs-dl__gcount {
	color: var(--qs-muted);
	font-size: 12px;
	white-space: nowrap;
}

.qs-dl__chev {
	color: var(--qs-muted);
	flex: 0 0 auto;
	transition: transform 0.2s ease;
}

.qs-dl__group:not( .is-collapsed ) .qs-dl__chev {
	transform: rotate( 180deg );
}

.qs-dl__group.is-collapsed .qs-dl__list {
	display: none;
}

/* Saat mencari, semua grup yang cocok dibuka paksa agar hasil terlihat. */
.qs-dl.is-searching .qs-dl__group.is-collapsed .qs-dl__list {
	display: block;
}

.qs-dl__group.is-collapsed .qs-dl__ghead {
	border-bottom: none;
}

.qs-dl__date {
	font-weight: 700;
	color: var(--qs-title);
}

.qs-dl__dot {
	color: #cbd5e1;
}

.qs-dl__order {
	color: var(--qs-muted);
}

.qs-dl__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.qs-dl__item {
	display: grid;
	grid-template-columns: 52px 1fr auto;
	align-items: center;
	gap: 14px;
	padding: 12px 16px;
}

.qs-dl__item + .qs-dl__item {
	border-top: 1px solid #f1f5f9;
}

.qs-dl__thumb {
	display: block;
	width: 52px;
	height: 52px;
	border-radius: 8px;
	overflow: hidden;
	background: #f1f5f9;
}

.qs-dl__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.qs-dl__info {
	min-width: 0;
}

.qs-dl__name {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--qs-title);
	text-decoration: none;
	line-height: 1.35;
}

.qs-dl__name:hover {
	color: var(--qs-hijau);
}

.qs-dl__file {
	display: block;
	font-size: 12px;
	color: var(--qs-muted);
	margin-top: 2px;
}

.qs-dl__badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 5px;
	font-size: 11.5px;
	font-weight: 600;
	color: #15803d;
	background: #dcfce7;
	padding: 2px 8px;
	border-radius: 999px;
}

.qs-dl__meta {
	display: block;
	font-size: 11.5px;
	color: var(--qs-muted);
	margin-top: 5px;
}

.qs-dl__btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 38px;
	padding: 0 16px;
	border-radius: 9px;
	background: var(--qs-hijau);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.qs-dl__btn:hover {
	filter: brightness( 0.96 );
}

.qs-dl__empty-search {
	text-align: center;
	color: var(--qs-muted);
	padding: 24px 0;
	margin: 0;
}

/* Pager Unduhan/Pesanan — SERAGAM dengan pagination halaman Produk
   (.page-numbers): tanpa border, radius 8, aktif navy, angka lain muted. */
.qs-dl__pager {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
	margin-top: 20px;
}

.qs-dl__pg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 8px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--qs-muted);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}

.qs-dl__pg:hover:not( :disabled ):not( .is-current ) {
	color: var(--qs-navy);
	background: #f1f5f9;
}

.qs-dl__pg.is-current {
	background: var(--qs-navy-2);
	color: #fff;
	cursor: default;
}

.qs-dl__pg:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.qs-dl__pg--nav {
	font-size: 18px;
	line-height: 1;
	color: var(--qs-muted);
}

.qs-dl__pg-gap {
	min-width: 24px;
	text-align: center;
	color: var(--qs-muted);
}

@media ( max-width: 520px ) {
	.qs-dl__item {
		grid-template-columns: 44px 1fr;
		grid-template-areas: "thumb info" "btn btn";
		row-gap: 10px;
	}
	.qs-dl__thumb {
		grid-area: thumb;
		width: 44px;
		height: 44px;
	}
	.qs-dl__info {
		grid-area: info;
	}
	.qs-dl__btn {
		grid-area: btn;
		justify-content: center;
		width: 100%;
	}
}

.qs-buycard__links .qs-buylink + .qs-buylink {
	border-left: 1px solid #eef2f7;
	padding-left: 12px;
}

.qs-buycard__links {
	gap: 12px;
}

/* Tabs */

.qs-ptabs {
	margin-top: 36px;
}

.qs-ptabs__bar {
	display: flex;
	gap: 4px;
	border-bottom: 1px solid #e5eaf1;
	overflow-x: auto;
	scrollbar-width: none;
}

.qs-ptabs__bar::-webkit-scrollbar {
	display: none;
}

.qs-ptabs__bar [role="tab"] {
	border: 0;
	background: none;
	padding: 12px 18px;
	font-size: 14px;
	font-weight: 600;
	color: var(--qs-muted);
	cursor: pointer;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}

.qs-ptabs__bar [role="tab"][aria-selected="true"] {
	color: var(--qs-hijau);
	border-bottom-color: var(--qs-hijau);
}

.qs-ptabs__panel {
	padding: 24px 2px;
	font-size: 15px;
	line-height: 1.7;
	color: #334155;
	max-width: 760px;
}

/* Heading di dalam Detail Produk (dari editor) — seukuran teks isi (15px) & tebal,
   bukan judul besar. (Judul tab .qs-msec dikecualikan, tetap seperti semula.) */
.qs-ptabs__panel h2:not( .qs-msec ),
.qs-ptabs__panel h3,
.qs-ptabs__panel h4 {
	margin: 22px 0 6px;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 700;
	color: #17181c;
}

.qs-product__didapat ul {
	margin: 0 0 6px;
	padding-left: 20px;
}

.qs-product__didapat li {
	margin-bottom: 6px;
}

/* Sub-judul grup di "Yang Didapat" (baris berakhiran ":") — 15px bold via
   .qs-ptabs__panel h3; hanya beri jarak atas antar-grup. */
.qs-product__didapat .qs-didapat__grup {
	margin-top: 16px;
}

.qs-product__didapat .qs-didapat__grup:first-child {
	margin-top: 0;
}

.qs-product__spek {
	border-collapse: collapse;
	width: 100%;
	max-width: 480px;
}

.qs-product__spek th,
.qs-product__spek td {
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid #eef2f7;
	font-size: 14px;
}

.qs-product__spek th {
	color: var(--qs-muted);
	font-weight: 600;
	width: 40%;
}

/* Bilah aksi mobile (menggantikan qs-bottomnav di halaman produk) */

.qs-actionbar {
	display: none;
}

@media (max-width: 1023px) {
	.qs-product__layout,
	.qs-product__hero {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.qs-product__img-main {
		aspect-ratio: auto;
		height: 360px;
		background: #f8fafc;
	}

	.qs-product__img-main img {
		object-fit: contain;
	}

	.qs-product__aside {
		display: none;
	}

	.qs-product {
		padding-bottom: 72px;
	}

	.qs-actionbar {
		display: grid;
		grid-template-columns: auto 1fr 1fr;
		gap: 8px;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 90;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: #fff;
		border-top: 1px solid var(--qs-line);
	}

	.qs-actionbar__chat {
		display: inline-flex;
		align-items: center;
		padding: 0 16px;
		height: 44px;
		border: 1px solid var(--qs-line);
		border-radius: 10px;
		font-size: 13px;
		font-weight: 700;
		color: var(--qs-navy);
		text-decoration: none;
	}

	.qs-actionbar__cart,
	.qs-actionbar__buy {
		height: 44px;
		border-radius: 10px;
		font-size: 13px;
		font-weight: 700;
		cursor: pointer;
	}

	.qs-actionbar__cart {
		border: 1.5px solid var(--qs-hijau);
		background: #fff;
		color: var(--qs-hijau);
	}

	.qs-actionbar__buy {
		border: 0;
		background: var(--qs-hijau);
		color: #fff;
	}
}

/* ---------- Zona transaksi: sembunyikan navigasi bawah ----------
   Halaman produk, keranjang, dan checkout memakai bilah aksi sendiri;
   qs-bottomnav tetap tampil di arsip/kategori (zona menjelajah). */

body.single-product .qs-bottomnav,
body.woocommerce-cart .qs-bottomnav,
body.woocommerce-checkout .qs-bottomnav {
	display: none !important;
}

body.single-product .qs-wa-fab,
body.woocommerce-cart .qs-wa-fab,
body.woocommerce-checkout .qs-wa-fab {
	display: none !important;
}

/* ---------- Mobile ---------- */

@media (max-width: 1023px) {
	/* Beri ruang untuk qs-bottomnav (60px) di zona menjelajah. */
	.qs-shop {
		padding-bottom: 84px;
	}

	/* Banner tablet diringkas (mobile ≤640 dirapatkan lebih jauh di blok bawah). */
	.qs-promo__slide {
		height: 225px;
		padding: 18px 34px 38px;
	}

	.qs-promo__title {
		font-size: 26px;
		line-height: 1.1;
	}

	.qs-promo__text {
		font-size: 14px;
		margin-bottom: 18px;
	}

	.qs-promo__cta {
		height: 40px;
	}

	.qs-promo__nav {
		left: 34px;
		bottom: 12px;
	}
}

@media (max-width: 640px) {
	.qs-shop__meta .qs-shop__sort-label {
		display: none;
	}

	.qs-shop__meta .qs-shop__sort select {
		height: 38px;
		font-size: 12.5px;
	}

	/* Banner mobile diringkas ~½ tinggi — tetap profesional: eyebrow + judul
	   2 baris + teks 2 baris + CTA + dots, semua dirapatkan. */
	.qs-promo__slide {
		height: 184px;
		padding: 12px 22px 26px;
	}

	.qs-promo__nav {
		left: 22px;
		bottom: 8px;
	}

	.qs-promo__eyebrow {
		margin: 0 0 6px;
		font-size: 10.5px;
		letter-spacing: 0.13em;
	}

	.qs-promo__title {
		font-size: 20px;
		line-height: 1.12;
		margin: 0 0 7px;
		-webkit-line-clamp: 2;
	}

	.qs-promo__text {
		font-size: 12.5px;
		line-height: 1.5;
		margin: 0 0 13px;
	}

	.qs-promo__cta {
		height: 37px;
		padding: 0 18px;
		font-size: 13px;
	}

	.qs-shop__toolbar {
		flex-wrap: wrap;
	}

	.qs-shop__search {
		flex-basis: 100%;
	}

	.qs-shop__pills {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 6px;
		scrollbar-width: none;
		margin-left: -10px;
		margin-right: -10px;
		padding-left: 10px;
		padding-right: 10px;
	}

	.qs-shop__pills::-webkit-scrollbar {
		display: none;
	}

	.qs-shop ul.products,
	.qs-related ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 10px;
	}
}

@media (min-width: 641px) and (max-width: 1023px) {
	.qs-shop ul.products,
	.qs-related ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	/* Seragamkan skala kontrol sort di tablet (jangan warisi ukuran desktop). */
	.qs-shop__meta .qs-shop__sort-label {
		font-size: 11.5px;
	}

	.qs-shop__meta .qs-shop__sort select {
		height: 40px;
		font-size: 11.5px;
		font-weight: 600;
	}
}

/* ---------- Produk terkait ---------- */

.qs-related {
	margin-top: 44px;
}

.qs-related__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 16px;
}

.qs-related__title {
	margin: 0;
	font-size: 20px;
	font-weight: 800;
	color: var(--qs-title);
}

.qs-related__more {
	font-size: 13px;
	font-weight: 700;
	color: var(--qs-hijau);
	text-decoration: none;
}

.qs-related__more:hover {
	text-decoration: underline;
}

/* ---------- Ulasan: balasan penjual ---------- */

.qs-review-penjual {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background: #dcfce7;
	color: #15803d;
	font-size: 10.5px;
	font-weight: 700;
	vertical-align: middle;
}

.qs-ptabs #reviews .commentlist {
	list-style: none;
	margin: 0;
	padding: 0;
}

.qs-ptabs #reviews .commentlist > li {
	border: 1px solid #eef2f7;
	border-radius: 12px;
	padding: 14px 16px;
	margin-bottom: 14px;
}

.qs-ptabs #reviews .children {
	list-style: none;
	margin: 12px 0 0;
	padding: 12px 14px;
	background: #f8fafc;
	border-radius: 10px;
}

/* ---------- Ringkasan ulasan gaya marketplace ---------- */

.qs-rsum__judul {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.06em;
	color: var(--qs-title);
}

.qs-rsum__card {
	display: flex;
	gap: 34px;
	align-items: center;
	flex-wrap: wrap;
	padding: 18px 22px;
	border: 1px solid #fde68a;
	background: #fffbeb;
	border-radius: 14px;
	margin-bottom: 20px;
}

.qs-rsum__nilai {
	margin: 0;
	display: flex;
	align-items: baseline;
	gap: 6px;
}

.qs-rsum__bintang {
	color: #fbbf24;
	font-size: 26px;
}

.qs-rsum__nilai strong {
	font-size: 32px;
	color: var(--qs-title);
}

.qs-rsum__maks {
	font-size: 14px;
	color: var(--qs-muted);
}

.qs-rsum__puas {
	margin: 4px 0 0;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--qs-title);
}

.qs-rsum__meta {
	margin: 2px 0 0;
	font-size: 12.5px;
	color: var(--qs-muted);
}

.qs-rsum__bars {
	flex: 1;
	/* min() supaya pada 320 px batang rating tidak terpotong keluar kartu;
	   di lebar >= 300 px hasilnya tetap 300 px (tata letak lama tak berubah). */
	min-width: min(300px, 100%);
	display: grid;
	grid-template-rows: repeat(3, auto);
	grid-auto-flow: column;
	gap: 6px 28px;
}

.qs-rsum__bar {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--qs-muted);
}

.qs-rsum__bar-label {
	width: 30px;
	color: #b45309;
	font-weight: 700;
	white-space: nowrap;
}

.qs-rsum__track {
	flex: 1;
	height: 8px;
	border-radius: 999px;
	background: #e5e7eb;
	overflow: hidden;
}

.qs-rsum__fill {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: var(--qs-hijau);
}

.qs-rsum__count {
	min-width: 34px;
	text-align: right;
}

/* Bintang ulasan (per-ulasan) = KUNING sesuai rating. */
#reviews .star-rating { color: #f59e0b; }
#reviews .star-rating::before { color: #e2e8f0 !important; }
#reviews .star-rating span::before { color: #f59e0b !important; }
.qs-rsum__bar-label { color: #f59e0b; }

/* Bintang input pada form ulasan produk = kuning. */
#reviews p.stars a::before,
#reviews p.stars a:hover::before,
#reviews p.stars.selected a.active::before,
#reviews p.stars.selected a:not(.active)::before { color: #f59e0b; }

@media (max-width: 640px) {
	.qs-rsum__bars {
		grid-auto-flow: row;
		grid-template-rows: none;
	}
}

/* ---------- Ulasan: keadaan kosong yang rapi ---------- */

.qs-ptabs .woocommerce-Reviews-title {
	display: none;
}

.qs-ptabs p.woocommerce-noreviews {
	padding: 30px 20px 10px;
	text-align: center;
	background: #f8fafc;
	border-radius: 12px 12px 0 0;
	color: var(--qs-muted);
	font-size: 14px;
	margin: 0;
}

.qs-ptabs p.woocommerce-noreviews::before {
	content: "☆";
	display: block;
	font-size: 30px;
	color: #cbd5e1;
	margin-bottom: 6px;
}

/* Produk tanpa ulasan: blok state menyatu sebagai kaki kartu "belum ada ulasan". */
.qs-ptabs #reviews .qs-rvstate--empty {
	padding: 6px 20px 26px;
	text-align: center;
	align-items: center;
	background: #f8fafc;
	border: 0;
	border-radius: 0 0 12px 12px;
	margin: 0;
}

/* ==================== Galeri swipe terpadu ==================== */

.qs-gal-track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	border-radius: 10px;
	background: #f1f5f9;
	aspect-ratio: 1 / 1;
}

.qs-gal-track::-webkit-scrollbar {
	display: none;
}

.qs-gal-slide {
	position: relative;
	flex: 0 0 100%;
	scroll-snap-align: start;
}

.qs-gal-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.qs-gal-slide--video {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #000;
}

.qs-gal-slide--video iframe,
.qs-gal-slide--video video {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	aspect-ratio: auto;
	margin: 0;
	border: 0;
	display: block;
	background: #000;
}

.qs-gal-slide--video.qs-gal-slide--portrait iframe {
	width: 56.25%;
	height: 100%;
	aspect-ratio: 9 / 16;
	margin: auto;
}

.qs-gal-slide--video.qs-gal-slide--landscape iframe {
	width: 100%;
	height: 56.25%;
	aspect-ratio: 16 / 9;
	margin: auto;
}

.qs-gal-slide--video video {
	object-fit: contain;
}

.qs-gal-slide--video img {
	filter: brightness(0.6);
}

.qs-gal-play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 54px;
	height: 54px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: var(--qs-navy);
	font-size: 20px;
	padding-left: 5px;
	cursor: pointer;
}

.qs-gal-dots {
	display: none;
	justify-content: center;
	gap: 6px;
	margin-top: 10px;
}

.qs-gal-dot {
	width: 7px;
	height: 7px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #cbd5e1;
	cursor: pointer;
}

.qs-gal-dot.is-active {
	width: 18px;
	background: var(--qs-hijau);
}

/* ==================== Nav lengket mobile ==================== */

.qs-scrollnav {
	display: none;
}

/* ==================== Rekomendasi (mobile) ==================== */

.qs-rekomendasi {
	display: none;
}

/* ==================== Tablet: 640-1023 ==================== */

@media (min-width: 640px) and (max-width: 1023px) {
	/* Hero tetap 2 kolom: galeri kiri, ringkasan/deskripsi kanan. */
	.qs-product__hero {
		grid-template-columns: minmax(250px, 340px) minmax(0, 1fr);
	}

	/* Tanpa kartu thumbnail — cukup geser di gambar utama. */
	.qs-product__thumbs {
		display: none;
	}

	.qs-gal-dots {
		display: flex;
	}
}

/* Kunci geser kiri-kanan di layar sempit (clip aman untuk sticky). */
@media (max-width: 1023px) {
	html,
	body {
		overflow-x: clip;
	}
}

/* ==================== Mobile: <=639 ==================== */

@media (max-width: 639px) {
	/* Galeri: hanya gambar besar yang bisa digeser. */
	.qs-product__thumbs {
		display: none;
	}

	.qs-gal-dots {
		display: flex;
	}

	/* Sasaran lompatan nav berhenti di bawah header, tidak terpotong. */
	#qs-ptabs,
	#qs-panel-ulasan,
	#qs-rekomendasi {
		scroll-margin-top: 120px; /* cadangan bila JS mati */
	}

	/* Nav lengket muncul saat digulir. */
	.qs-scrollnav {
		display: flex;
		gap: 4px;
		border-bottom: 1px solid #e5eaf1;
		background: #fff;
		margin-top: 4px;
	}

	.qs-scrollnav a {
		flex: 1;
		text-align: center;
		padding: 13px 6px;
		font-size: 15px;
		font-weight: 700;
		color: var(--qs-muted);
		text-decoration: none;
		border-bottom: 2px solid transparent;
	}

	.qs-scrollnav a.is-active {
		color: var(--qs-hijau);
		border-bottom-color: var(--qs-hijau);
	}

	.qs-scrollnav.is-stuck {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 90; /* di bawah header tema; top diset dinamis dari JS */
		margin: 0;
		box-shadow: 0 1px 8px rgba(15, 23, 42, 0.08);
		animation: qs-nav-masuk 0.18s ease;
	}

	@keyframes qs-nav-masuk {
		from {
			transform: translateY(-100%);
		}
		to {
			transform: translateY(0);
		}
	}

	/* Tab menjadi seksi bertumpuk dengan judul sendiri. */
	.qs-ptabs__bar {
		display: none;
	}

	.qs-ptabs__panel[hidden] {
		display: block;
	}

	.qs-ptabs__panel {
		padding: 18px 0;
		border-bottom: 6px solid #f1f5f9;
	}

	.qs-msec {
		display: block;
	}

	/* Lainnya di toko ini: strip geser 2,5 kartu. */
	.qs-related ul.products {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
		gap: 10px;
		padding-bottom: 6px;
	}

	.qs-related ul.products::-webkit-scrollbar {
		display: none;
	}

	.qs-related ul.products li.product.qs-pcard {
		flex: 0 0 38vw;
		scroll-snap-align: start;
	}

	/* Rekomendasi: 2 kartu penuh, gulir vertikal. */
	.qs-rekomendasi {
		display: block;
		margin-top: 28px;
	}

	.qs-rekomendasi__title {
		margin: 0 0 14px;
		font-size: 19px;
		font-weight: 800;
		color: var(--qs-title);
	}

	.qs-rekomendasi ul.products {
		list-style: none;
		margin: 0;
		padding: 0;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 10px;
	}

	.qs-rekomendasi ul.products::before,
	.qs-rekomendasi ul.products::after {
		content: none;
		display: none;
	}

	.qs-rekomendasi ul.products li.product.qs-pcard {
		margin: 0;
		width: auto;
		min-width: 0;
		float: none;
	}
}

/* Judul seksi mobile disembunyikan di layar besar. */
.qs-msec {
	display: none;
	margin: 0 0 12px;
	font-size: 17px;
	font-weight: 800;
	color: var(--qs-title);
}

/* ==================== Shopbar konteks toko (mobile/tablet) ==================== */

.qs-shopbar {
	display: none;
}

@media (max-width: 1023px) {
	/* Sembunyikan header standar, tampilkan shopbar. */
	body.qs-shopctx .qs-header__inner {
		display: none;
	}

	body.qs-shopctx .qs-shopbar {
		display: flex;
		align-items: center;
		gap: 4px;
		height: 56px;
		padding: 0 8px;
		box-sizing: border-box;
		background: #fff;
		border-bottom: 1px solid var(--qs-line, #e2e8f0);
	}

	.qs-shopbar__spacer {
		flex: 1;
	}

	/* Beri jarak ekstra sebelum hamburger agar tidak mepet tepi. */
	.qs-shopbar__menu {
		margin-left: 2px;
	}

	.qs-shopbar__ico {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 40px;
		flex: 0 0 auto;
		border: 0;
		background: none;
		color: #172033;
		cursor: pointer;
		text-decoration: none;
		position: relative;
	}

	.qs-shopbar__search {
		flex: 1;
		min-width: 0;
		display: flex;
		align-items: center;
		gap: 8px;
		height: 40px;
		padding: 0 12px;
		border: 1px solid var(--qs-line, #cbd7e6);
		border-radius: 10px;
		color: #64748b;
	}

	.qs-shopbar__search input {
		flex: 1;
		border: 0;
		background: none;
		font-size: 16px; /* >=16px: cegah iOS auto-zoom saat fokus */
		color: #172033;
		outline: none;
		-webkit-appearance: none;
		appearance: none;
		min-width: 0;
	}

	.qs-shopbar__search input:focus {
		outline: none;
		box-shadow: none;
	}

	/* Fokus ditunjukkan lewat border wadah, bukan cincin biru. */
	.qs-shopbar__search:focus-within {
		border-color: var(--qs-hijau, #16a34a);
	}

	.qs-shopbar__badge {
		position: absolute;
		top: 2px;
		right: 2px;
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		border-radius: 999px;
		background: #dc2626;
		color: #fff;
		font-size: 10px;
		font-weight: 700;
		line-height: 16px;
		text-align: center;
	}

	.qs-shopbar__badge[hidden] {
		display: none;
	}
}

/* Shopbar toko dengan kolom pencarian penuh: manfaatkan ruang kanan secara
   lebih efisien. Detail produk memakai susunan ikon berbeda dan dikecualikan;
   target sentuh back/cart/menu tetap 44px. */
@media (max-width: 767px) {
	body.qs-shopctx:not(.single-product) .qs-shopbar {
		gap: 2px;
		padding-right: 4px;
	}

	body.qs-shopctx:not(.single-product) .qs-shopbar__menu {
		margin-left: 0;
	}
}

/* ==================== Anti-zoom & anti focus-ring di semua input toko ==================== */

body.qs-shopctx input[type="search"],
body.qs-shopctx input[type="text"],
body.qs-shopctx input[type="email"],
body.qs-shopctx input[type="tel"],
body.qs-shopctx input[type="number"],
body.qs-shopctx input[type="password"],
body.qs-shopctx select,
body.qs-shopctx textarea {
	font-size: 16px; /* cegah iOS auto-zoom */
}

body.qs-shopctx input:focus,
body.qs-shopctx select:focus,
body.qs-shopctx textarea:focus {
	outline: none;
	box-shadow: none;
}

/* Ganti cincin biru dengan penanda border halus. */
body.qs-shopctx .qs-shop__search input:focus,
body.qs-shopctx input[type="search"]:focus,
body.qs-shopctx input[type="text"]:focus {
	border-color: var(--qs-hijau, #16a34a);
}

/* Ikon akun & keranjang header -> dipindah ke assets/css/header-icons.css
   (dimuat di semua halaman, bukan hanya halaman toko). */

/* ==================== Akun Saya — gaya marketplace ==================== */

.qs-account {
	max-width: 1200px;
	margin: 24px auto;
	padding: 0 12px;
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

/* WAJIB: woocommerce.css memaksa float + width persen pada nav & konten akun
   (.woocommerce-account .woocommerce-MyAccount-navigation{float:left;width:30%}).
   Di dalam grid ini sidebar jadi 30% x 250px = 75px sehingga ikon & profil
   tergencet habis. Dinetralkan di sini — jangan dihapus. */
.woocommerce-account .qs-account .woocommerce-MyAccount-navigation,
.woocommerce-account .qs-account .qs-account-nav,
.woocommerce-account .qs-account .woocommerce-MyAccount-content {
	width: auto !important;
	max-width: none !important;
	float: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Sidebar navigasi */

.qs-account-nav {
	border: 1px solid #eef2f7;
	border-radius: 14px;
	padding: 10px;
	background: #fff;
}

.qs-account-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.qs-account-nav li {
	margin: 0;
}

.qs-account-nav li a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 10px;
	color: #334155;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.qs-account-nav__ico {
	display: inline-flex;
	flex: 0 0 auto;
	color: #94a3b8;
}

.qs-account-nav li a:hover {
	background: #f8fafc;
	color: var(--qs-navy, #0b2946);
}

.qs-account-nav li.is-active a {
	background: #ecfdf5;
	color: #15803d;
}

.qs-account-nav li.is-active .qs-account-nav__ico {
	color: #15803d;
}

.qs-account-nav li.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: #dc2626;
}

.qs-account-nav li.woocommerce-MyAccount-navigation-link--customer-logout .qs-account-nav__ico {
	color: #dc2626;
}

/* Header profil di sidebar */

.qs-account-nav__me {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 12px 12px 14px;
	margin: 2px 2px 8px;
	border-bottom: 1px solid #eef2f7;
}

.qs-account-nav__me-av {
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #16a34a, #0b7a37);
	color: #fff;
	font-size: 18px;
	font-weight: 800;
}

.qs-account-nav__me-info {
	min-width: 0;
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}

.qs-account-nav__me-name {
	font-size: 14px;
	font-weight: 700;
	color: var(--qs-navy, #0b2946);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.qs-account-nav__me-mail {
	font-size: 12px;
	color: #94a3b8;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ---------- Dasbor akun (marketplace) ---------- */

.qs-dash__hero {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px;
	border-radius: 14px;
	background: linear-gradient(135deg, #0b2946, #123a63);
	color: #fff;
}

.qs-dash__avatar {
	flex: 0 0 auto;
	position: relative;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.16);
	border: 1.5px solid rgba(255, 255, 255, 0.3);
}

.qs-dash__avatar-img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

/* Tombol kamera — ganti foto */
.qs-dash__avatar-cam {
	position: absolute;
	right: -2px;
	bottom: -2px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 2px solid #0b2946;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	transition: background 0.12s ease;
}

.qs-dash__avatar-cam:hover {
	background: #15803d;
}

.qs-dash__avatar-cam svg {
	width: 14px;
	height: 14px;
}

/* Menu opsi avatar: Unggah foto / Jangan pakai foto / Pakai foto default */
.qs-avmenu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 30;
	min-width: 194px;
	padding: 6px;
	background: #fff;
	border: 1px solid #eef2f7;
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.18);
}

.qs-avmenu[hidden] {
	display: none;
}

.qs-avmenu__item {
	display: block;
	width: 100%;
	text-align: left;
	padding: 9px 12px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #334155;
	font-size: 13.5px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.12s ease;
}

.qs-avmenu__item:hover {
	background: #f1f5f9;
}

/* Sembunyikan opsi yang sama dengan keadaan sekarang (redundan). */
.qs-dash__avatar[data-state="none"] [data-qs-avatar-mode="none"],
.qs-dash__avatar[data-state="default"] [data-qs-avatar-mode="default"] {
	display: none;
}

/* Overlay saat mengunggah */
.qs-dash__avatar-spin {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	display: none;
	background: rgba(11, 41, 70, 0.55);
}

.qs-dash__avatar-spin::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, 0.4);
	border-top-color: #fff;
	animation: qs-avspin 0.7s linear infinite;
}

.qs-dash__avatar.is-loading .qs-dash__avatar-spin {
	display: block;
}

@keyframes qs-avspin {
	to { transform: rotate(360deg); }
}

.qs-dash__id {
	flex: 1 1 auto;
	min-width: 0;
}

.qs-dash__hi {
	margin: 0;
	font-size: 17px;
	color: #fff !important;
}

.qs-dash__hi strong {
	font-weight: 800;
}

.qs-dash__email {
	margin: 2px 0 0 !important;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.75) !important;
}

.qs-dash__since {
	margin: 4px 0 0 !important;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.6) !important;
}

.qs-dash__stats {
	flex: 0 0 auto;
	display: flex;
	gap: 10px;
}

.qs-dash__stat {
	min-width: 78px;
	padding: 10px 12px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.1);
	text-align: center;
	text-decoration: none !important;
	color: #fff !important;
	transition: background 0.15s ease;
}

.qs-dash__stat:hover {
	background: rgba(255, 255, 255, 0.2);
}

.qs-dash__stat-num {
	display: block;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.1;
}

.qs-dash__stat-lbl {
	display: block;
	font-size: 11.5px;
	color: rgba(255, 255, 255, 0.8);
}

.qs-dash__heading {
	margin: 22px 0 12px !important;
	font-size: 15px !important;
	font-weight: 700;
	color: var(--qs-navy, #0b2946);
}

.qs-dash__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

.qs-dash__tile {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 15px 16px;
	border: 1px solid #eef2f7;
	border-radius: 13px;
	background: #fff;
	text-decoration: none !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.qs-dash__tile:hover {
	border-color: #16a34a;
	box-shadow: 0 4px 14px rgba(22, 163, 74, 0.12);
	transform: translateY(-1px);
}

.qs-dash__tile-ico {
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #ecfdf5;
	color: #16a34a;
}

.qs-dash__tile-txt {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.qs-dash__tile-ttl {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--qs-navy, #0b2946);
}

.qs-dash__tile-sub {
	font-size: 12.5px;
	color: #94a3b8;
}

.qs-dash__tile-arr {
	flex: 0 0 auto;
	font-size: 22px;
	color: #cbd5e1;
	line-height: 1;
}

.qs-dash__help {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-top: 12px;
	padding: 15px 16px;
	border-radius: 13px;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	text-decoration: none !important;
}

.qs-dash__help:hover {
	background: #e7fbec;
}

.qs-dash__help-ico {
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #16a34a;
	color: #fff;
}

.qs-dash__help-txt {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.qs-dash__help-ttl {
	font-size: 14.5px;
	font-weight: 700;
	color: #14532d;
}

.qs-dash__help-sub {
	font-size: 12.5px;
	color: #3f7a52;
}

/* Empty-state & notice WooCommerce di area akun */

/* Notifikasi toko — sukses / error / info.
   CATATAN: kelas WooCommerce adalah .woocommerce-message (m KECIL),
   bukan .woocommerce-Message. Salah huruf = aturan tidak pernah kena. */

body.qs-shopctx .woocommerce-message,
body.qs-shopctx .woocommerce-error,
body.qs-shopctx .woocommerce-info,
body.qs-shopctx ul.woocommerce-error {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin: 0 0 18px;
	padding: 15px 18px 15px 50px;
	border: 1px solid;
	border-radius: 12px;
	list-style: none;
	font-size: 14px;
	line-height: 1.55;
	background-repeat: no-repeat;
	background-position: 17px center;
	background-size: 21px 21px;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

/* Matikan ikon/gaya bawaan WooCommerce. */
body.qs-shopctx .woocommerce-message::before,
body.qs-shopctx .woocommerce-error::before,
body.qs-shopctx .woocommerce-info::before,
body.qs-shopctx .woocommerce-message::after,
body.qs-shopctx .woocommerce-error::after,
body.qs-shopctx .woocommerce-info::after {
	content: none !important;
	display: none !important;
}

/* Sukses */
body.qs-shopctx .woocommerce-message {
	border-color: #bbf7d0;
	background-color: #f0fdf4;
	color: #14532d;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.4 12.2 2.5 2.5 4.7-5.2'/%3E%3C/svg%3E");
}

/* Error */
body.qs-shopctx .woocommerce-error,
body.qs-shopctx ul.woocommerce-error {
	border-color: #fecaca;
	background-color: #fef2f2;
	color: #7f1d1d;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.6v5.2'/%3E%3Cpath d='M12 16.4h.01'/%3E%3C/svg%3E");
}

/* Info */
body.qs-shopctx .woocommerce-info {
	border-color: #bfdbfe;
	background-color: #eff6ff;
	color: #1e3a8a;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11.4v5'/%3E%3Cpath d='M12 7.8h.01'/%3E%3C/svg%3E");
}

/* Beberapa error tampil sebagai <ul><li> */
body.qs-shopctx ul.woocommerce-error li {
	margin: 0;
	list-style: none;
}

/* Tombol di dalam notifikasi (mis. "Lihat keranjang") — didorong ke kanan. */
body.qs-shopctx .woocommerce-message .button,
body.qs-shopctx .woocommerce-error .button,
body.qs-shopctx .woocommerce-info .button {
	order: 2;
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 16px;
	border: 1px solid currentColor;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.85);
	color: inherit;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

body.qs-shopctx .woocommerce-message .button:hover {
	background: var(--qs-hijau, #16a34a);
	border-color: var(--qs-hijau, #16a34a);
	color: #fff;
}

body.qs-shopctx .woocommerce-message a:not(.button),
body.qs-shopctx .woocommerce-info a:not(.button) {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
}

@media (max-width: 560px) {
	body.qs-shopctx .woocommerce-message,
	body.qs-shopctx .woocommerce-error,
	body.qs-shopctx .woocommerce-info {
		padding: 14px 14px 14px 46px;
		background-position: 14px 16px;
		align-items: flex-start;
	}

	body.qs-shopctx .woocommerce-message .button,
	body.qs-shopctx .woocommerce-error .button,
	body.qs-shopctx .woocommerce-info .button {
		margin-left: 0;
		width: 100%;
		justify-content: center;
	}
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	margin: 0 0 14px;
	font-size: 17px;
	color: var(--qs-navy, #0b2946);
}

/* Judul seksi konten yang berdiri sendiri (Detail akun dll) */
.woocommerce-MyAccount-content fieldset {
	margin-top: 18px;
	padding: 16px;
	border: 1px solid #eef2f7;
	border-radius: 12px;
}

.woocommerce-MyAccount-content fieldset legend {
	padding: 0 8px;
	font-weight: 700;
	color: var(--qs-navy, #0b2946);
}

/* Konten */

.woocommerce-MyAccount-content {
	border: 1px solid #eef2f7;
	border-radius: 14px;
	padding: 24px 26px;
	background: #fff;
	min-width: 0;
}

.woocommerce-MyAccount-content p {
	color: #334155;
	line-height: 1.65;
}

.woocommerce-MyAccount-content a {
	color: #2563eb;
}

/* Tabel pesanan/unduhan */

.woocommerce-MyAccount-content table.woocommerce-orders-table,
.woocommerce-MyAccount-content table.woocommerce-table--order-downloads,
.woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td {
	padding: 12px 10px;
	border-bottom: 1px solid #eef2f7;
	text-align: left;
}

.woocommerce-MyAccount-content table.shop_table th {
	color: #64748b;
	font-weight: 600;
	font-size: 12.5px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content .woocommerce-button {
	display: inline-flex;
	align-items: center;
	height: 40px;
	padding: 0 18px;
	border: 0;
	border-radius: 10px;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.woocommerce-MyAccount-content .button:hover {
	filter: brightness(1.06);
}

/* Tombol aksi di tabel Pesanan (Lihat / Faktur) — rapikan & bedakan. */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.button {
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 15px;
	margin: 0 0 4px 6px;
	border: 1px solid transparent;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	background: #fff;
	white-space: nowrap;
}

.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.button:first-child {
	margin-left: 0;
}

/* Lihat (view) — hijau solid */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.button.view {
	background: var(--qs-hijau, #16a34a) !important;
	border-color: var(--qs-hijau, #16a34a) !important;
	color: #fff !important;
}

.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.button.view:hover {
	filter: brightness(1.06);
}

/* Faktur & aksi lain — outline netral */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.button:not(.view) {
	background: #fff !important;
	border: 1px solid #d9e0ea !important;
	color: #334155 !important;
}

.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.button:not(.view):hover {
	border-color: var(--qs-hijau, #16a34a) !important;
	color: var(--qs-hijau, #16a34a) !important;
}

/* Tombol "Unduh" di tabel File Unduhan — ringkas & hijau (bukan ungu penuh). */
.woocommerce-MyAccount-content .woocommerce-MyAccount-downloads-file.button,
.woocommerce-MyAccount-content a.qs-dl-btn {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	width: auto !important;
	height: 34px;
	padding: 0 16px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--qs-hijau, #16a34a) !important;
	color: #fff !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.woocommerce-MyAccount-content a.qs-dl-btn:hover {
	filter: brightness(1.06);
}

.woocommerce-MyAccount-content a.qs-dl-btn svg {
	flex: none;
}

/* Form (detail akun, alamat) */

.woocommerce-MyAccount-content form .woocommerce-form-row label,
.woocommerce-MyAccount-content form p label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #334155;
}

.woocommerce-MyAccount-content form input:not([type="checkbox"]):not([type="radio"]),
.woocommerce-MyAccount-content form select,
.woocommerce-MyAccount-content form textarea {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	border: 1px solid var(--qs-line, #cbd7e6);
	border-radius: 10px;
	font-size: 15px;
	box-sizing: border-box;
}

.woocommerce-MyAccount-content form textarea {
	height: auto;
	padding: 12px 14px;
}

/* Form dua kolom (nama depan / belakang) */
.woocommerce-MyAccount-content form .form-row-first,
.woocommerce-MyAccount-content form .form-row-last {
	display: inline-block;
	width: calc(50% - 7px);
	vertical-align: top;
}

.woocommerce-MyAccount-content form .form-row-first {
	margin-right: 12px;
}

.woocommerce-MyAccount-content form .form-row {
	margin: 0 0 16px;
}

.woocommerce-MyAccount-content form .clear {
	clear: both;
}

.woocommerce-MyAccount-content form span em {
	display: block;
	margin-top: 5px;
	font-size: 12px;
	font-style: normal;
	color: #94a3b8;
}

.woocommerce-MyAccount-content form .button {
	height: 46px;
	padding: 0 26px;
	font-size: 14.5px;
}

@media (max-width: 560px) {
	.woocommerce-MyAccount-content form .form-row-first,
	.woocommerce-MyAccount-content form .form-row-last {
		display: block;
		width: 100%;
		margin-right: 0;
	}
}

/* ---------- Empty-state (Pesanan / Unduhan) ---------- */

.qs-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 44px 20px;
	border: 1px solid #eef2f7;
	border-radius: 14px;
	background: #f8fafc;
}

.qs-empty__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	border-radius: 50%;
	background: #ecfdf5;
	color: #16a34a;
	margin-bottom: 16px;
}

.qs-empty__ttl {
	margin: 0 0 4px !important;
	font-size: 17px;
	font-weight: 700;
	color: var(--qs-navy, #0b2946);
}

.qs-empty__txt {
	margin: 0 0 18px !important;
	max-width: 340px;
	font-size: 14px;
	color: #64748b !important;
}

.qs-empty__btn {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 26px;
	border-radius: 10px;
	background: var(--qs-hijau, #16a34a);
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
}

.qs-empty__btn:hover {
	filter: brightness(1.06);
}

/* ---------- Kartu alamat ---------- */

.qs-addr-desc {
	margin: 0 0 16px !important;
	font-size: 13.5px;
	color: #64748b !important;
}

.qs-addr-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px;
}

.qs-addr-card {
	border: 1px solid #eef2f7;
	border-radius: 13px;
	padding: 16px 18px;
	background: #fff;
}

.qs-addr-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.qs-addr-card__head h3 {
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 700;
	color: var(--qs-navy, #0b2946);
}

.qs-addr-card__edit {
	font-size: 13px;
	font-weight: 700;
	color: var(--qs-hijau, #16a34a) !important;
	text-decoration: none !important;
}

.qs-addr-card__body {
	font-style: normal;
	font-size: 14px;
	line-height: 1.6;
	color: #334155;
}

.qs-addr-card__empty {
	color: #94a3b8;
}

/* ---------- Badge status pesanan ---------- */

.qs-order-status {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	background: #eef2f7;
	color: #475569;
}

.qs-order-status--completed {
	background: #ecfdf5;
	color: #15803d;
}

.qs-order-status--processing,
.qs-order-status--on-hold {
	background: #fef9c3;
	color: #a16207;
}

.qs-order-status--pending {
	background: #fff7ed;
	color: #c2410c;
}

.qs-order-status--cancelled,
.qs-order-status--failed {
	background: #fef2f2;
	color: #b91c1c;
}

/* ---------- Pesanan Saya — kartu ala marketplace ---------- */
.qs-orders {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.qs-order-card {
	border: 1px solid #eef2f7;
	border-radius: 12px;
	padding: 14px 16px;
}

.qs-order-card__top {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	margin-bottom: 12px;
}

/* Baris atas dipimpin label "tanggal" berikon (ala app belanja), bukan lagi
   headline nomor pesanan. Nomor turun ke footer sebagai referensi kecil. */
.qs-order-card__label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--qs-muted);
	font-weight: 600;
}

.qs-order-card__label svg {
	color: #94a3b8;
}

.qs-order-card__dot {
	color: #cbd5e1;
}

.qs-order-card__date {
	color: var(--qs-muted);
}

.qs-order-card__top .qs-order-status {
	margin-left: auto;
}

.qs-order-card__preview {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	padding: 10px 0;
	border-top: 1px solid #f1f5f9;
	border-bottom: 1px solid #f1f5f9;
}

.qs-order-thumbs {
	display: flex;
	flex: 0 0 auto;
}

.qs-order-thumb {
	width: 46px;
	height: 46px;
	border-radius: 8px;
	overflow: hidden;
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px #eef2f7;
	background: #f1f5f9;
	margin-left: -8px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.qs-order-thumb:first-child {
	margin-left: 0;
}

.qs-order-thumb__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.qs-order-thumb--more {
	font-size: 12px;
	font-weight: 700;
	color: var(--qs-muted);
	background: #f1f5f9;
}

.qs-order-card__names {
	min-width: 0;
}

.qs-order-card__name1 {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--qs-title);
	line-height: 1.35;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.qs-order-card__preview:hover .qs-order-card__name1 {
	color: var(--qs-hijau);
}

.qs-order-card__more {
	display: block;
	font-size: 12.5px;
	color: var(--qs-muted);
	margin-top: 2px;
}

.qs-order-card__bot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
	flex-wrap: wrap;
}

.qs-order-card__total {
	font-size: 13.5px;
	color: var(--qs-muted);
}

.qs-order-card__total strong {
	color: var(--qs-title);
	font-size: 15px;
	font-weight: 800;
}

.qs-order-card__count::before {
	content: "· ";
	color: #cbd5e1;
}

/* Nomor pesanan: referensi kecil & kalem (bukan headline). Tetap tampil
   karena dipakai pembeli saat konfirmasi transfer bank via WhatsApp. */
.qs-order-card__oid {
	color: #94a3b8;
	font-size: 12.5px;
	font-variant-numeric: tabular-nums;
}

.qs-order-card__oid::before {
	content: "· ";
	color: #cbd5e1;
}

.qs-order-card__actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

/* Menang atas style tombol bawaan WooCommerce (18px, abu-abu) dgn !important
   yang di-scope ke aksi kartu — tampilan bersih ala marketplace. */
.qs-order-card__actions .button {
	height: 34px !important;
	min-height: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0 16px !important;
	margin: 0 !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	border: 1px solid var(--qs-hijau) !important;
	background: #fff !important;
	color: var(--qs-hijau) !important;
	box-shadow: none !important;
}

.qs-order-card__actions .button:hover {
	background: #f0fdf4 !important;
	color: var(--qs-hijau) !important;
}

.qs-order-card__actions .view {
	background: var(--qs-hijau) !important;
	border-color: var(--qs-hijau) !important;
	color: #fff !important;
}

.qs-order-card__actions .view:hover {
	background: #15803d !important;
	color: #fff !important;
}

/* Nama produk: gelap & bersih, bukan biru link. */
.qs-order-card__name1 {
	color: var(--qs-title) !important;
}

.qs-order-card__preview:hover .qs-order-card__name1 {
	color: var(--qs-hijau) !important;
}

@media ( max-width: 520px ) {
	.qs-order-card__bot {
		flex-direction: column;
		align-items: stretch;
	}
	.qs-order-card__actions {
		justify-content: stretch;
	}
	.qs-order-card__actions .button {
		flex: 1;
		justify-content: center;
	}
}

/* Tablet & mobile: nav jadi strip geser horizontal di atas konten */

@media (max-width: 1023px) {
	.qs-account {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 14px;
	}

	.qs-account-nav {
		padding: 6px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.qs-account-nav::-webkit-scrollbar {
		display: none;
	}

	.qs-account-nav ul {
		display: flex;
		gap: 4px;
	}

	.qs-account-nav li a {
		flex-direction: column;
		gap: 5px;
		padding: 10px 14px;
		white-space: nowrap;
		font-size: 12px;
	}

	/* Header profil disembunyikan saat nav jadi strip (profil tampil di hero dasbor). */
	.qs-account-nav__me {
		display: none;
	}

	.woocommerce-MyAccount-content {
		padding: 18px 16px;
	}

	.qs-dash__hero {
		flex-wrap: wrap;
		padding: 16px;
		gap: 13px;
	}

	.qs-dash__stats {
		flex-basis: 100%;
		order: 3;
	}

	.qs-dash__stat {
		flex: 1 1 0;
	}

	.qs-dash__grid {
		grid-template-columns: 1fr;
	}
}

/* ==================== Login & Daftar (Akun, belum masuk) ==================== */

.woocommerce-account:not(.logged-in) .woocommerce {
	display: block;
	max-width: 492px;
	margin: 40px auto;
	padding: 0 16px;
	box-sizing: border-box;
}

/* Judul "Masuk"/"Daftar" — ringkas & sejajar kartu (bukan h2 raksasa tema).
   Descendant (bukan anak langsung) agar tetap kena saat WooCommerce
   membungkus login+register dalam .u-columns. */
.woocommerce-account:not(.logged-in) .woocommerce h2 {
	margin: 0 0 14px;
	padding: 0 2px;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.2;
	color: #17181c;
}

.woocommerce-form-login,
.woocommerce-form-register,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-register {
	border: 1px solid #eef2f7;
	border-radius: 16px;
	padding: 24px 22px;
	background: #fff;
	box-shadow: 0 6px 24px rgba(15, 23, 42, 0.04);
}

.woocommerce-form-login .woocommerce-form-row label,
.woocommerce-form-register .woocommerce-form-row label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #334155;
}

.woocommerce-form-login input:not([type="checkbox"]):not([type="radio"]),
.woocommerce-form-register input:not([type="checkbox"]):not([type="radio"]) {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid var(--qs-line, #cbd7e6);
	border-radius: 10px;
	font-size: 15px;
	box-sizing: border-box;
}

.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-form-register .woocommerce-form-register__submit {
	width: 100%;
	height: 48px;
	margin-top: 4px;
	border: 0;
	border-radius: 10px;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

.woocommerce-form-login .woocommerce-form-login__submit:hover {
	filter: brightness(1.06);
}

.woocommerce-form-login__rememberme,
.woocommerce-LostPassword {
	font-size: 13px;
	color: #64748b;
}

.woocommerce-LostPassword a {
	color: #2563eb;
}

/* Tombol submit login/daftar — pastikan hijau (menang atas gaya tombol tema). */
.woocommerce-account button.woocommerce-form-login__submit,
.woocommerce-account button.woocommerce-form-register__submit,
.woocommerce-account .woocommerce-form-login button[type="submit"],
.woocommerce-account .woocommerce-form-register button[type="submit"] {
	background: var(--qs-hijau, #16a34a) !important;
	color: #fff !important;
	border: 0 !important;
}

/* Teks kebijakan privasi di form daftar — kecil & halus (bukan paragraf besar). */
.woocommerce-form-register .woocommerce-privacy-policy-text,
.woocommerce-form-register .woocommerce-privacy-policy-text p {
	margin: 2px 0 14px;
	font-size: 12px;
	line-height: 1.55;
	color: #94a3b8;
}

.woocommerce-form-register .woocommerce-privacy-policy-text a {
	color: #2563eb;
	font-weight: 600;
}

/* Tombol social login (Google) — di dalam kartu OTP, di bawah "Kirim Kode" */
.qs-authsocial {
	margin: 16px 0 0;
}

/* Passwordless-first: Google di ATAS kartu (bintang #1), lalu pembatas "atau pakai email". */
.qs-authsocial--lead {
	margin-top: 0;
	margin-bottom: 14px;
}

/* Subjudul di bawah "Masuk atau Daftar". */
.qs-otp__lead {
	margin: -4px 0 18px;
	font-size: 13.5px;
	line-height: 1.5;
	color: #64748b;
}

.qs-authsocial__div {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
}

.qs-authsocial__div span {
	flex: 1 1 auto;
	height: 1px;
	background: #e2e8f0;
}

.qs-authsocial__div small {
	font-size: 12.5px;
	color: #94a3b8;
}

.qs-authsocial .nsl-container {
	width: 100% !important;
	margin: 0 !important;
	text-align: center;
}

.qs-authsocial .nsl-container-buttons {
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
}

.qs-authsocial .nsl-button {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: 48px !important;
	border-radius: 10px !important;
}

/* ==================== Login OTP (passwordless) ==================== */

.woocommerce-account:not(.logged-in) .qs-otp {
	max-width: 460px;
	margin: 0 auto;
}

.qs-otp__card {
	border: 1px solid #eef2f7;
	border-radius: 16px;
	padding: 24px 22px;
	background: #fff;
	box-shadow: 0 6px 24px rgba(15, 23, 42, 0.04);
}

.qs-otp__label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #334155;
}

.qs-otp__email {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid var(--qs-line, #cbd7e6);
	border-radius: 10px;
	font-size: 15px;
	box-sizing: border-box;
}

.qs-otp__email:focus {
	outline: none;
	border-color: var(--qs-hijau, #16a34a);
}

.qs-otp__btn {
	width: 100%;
	height: 48px;
	margin-top: 14px;
	border: 0;
	border-radius: 10px;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: filter 0.15s ease;
}

.qs-otp__btn:hover {
	filter: brightness(1.06);
}

.qs-otp__btn:disabled {
	opacity: 0.6;
	cursor: default;
}

.qs-otp__hint {
	margin: 12px 0 0;
	font-size: 12.5px;
	line-height: 1.5;
	color: #94a3b8;
}

.qs-otp__msg {
	margin: 12px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: #dc2626;
}

.qs-otp__msg.is-ok {
	color: #15803d;
}

.qs-otp__sent {
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.5;
	color: #475569;
}

.qs-otp__sent strong {
	color: #17181c;
}

.qs-otp__boxes {
	display: flex;
	gap: 8px;
	justify-content: space-between;
}

.qs-otp__box {
	flex: 1 1 0;
	min-width: 0;
	height: 54px;
	text-align: center;
	font-size: 22px;
	font-weight: 700;
	color: #0b2946;
	border: 1px solid var(--qs-line, #cbd7e6);
	border-radius: 10px;
	box-sizing: border-box;
}

.qs-otp__box:focus {
	outline: none;
	border-color: var(--qs-hijau, #16a34a);
	box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.12);
}

.qs-otp__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 14px 0 0;
	font-size: 13px;
}

.qs-otp__resend,
.qs-otp__back {
	background: none;
	border: 0;
	padding: 0;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

.qs-otp__resend {
	color: #16a34a;
}

.qs-otp__resend:disabled {
	color: #94a3b8;
	cursor: default;
}

.qs-otp__back {
	color: #64748b;
}

/* Link kecil: masuk password / daftar (progressive disclosure) */
.qs-authalt {
	margin: 16px 0 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 0;
	font-size: 13px;
}

/* Pemisah "·" via CSS antar-link (tak menggantung saat wrap). */
.qs-authalt__link + .qs-authalt__link::before {
	content: "·";
	margin: 0 10px;
	color: #cbd5e1;
}

.qs-authalt__link {
	background: none;
	border: 0;
	padding: 2px 4px;
	font-size: 13px;
	font-weight: 600;
	color: #16a34a;
	cursor: pointer;
}

.qs-authalt__link:hover {
	text-decoration: underline;
}

.qs-authalt__link.is-active {
	color: #0b2946;
}

.qs-authalt__sep {
	color: #cbd5e1;
	margin: 0 4px;
}

/* Panel yang muncul saat link diklik */
.woocommerce-account:not(.logged-in) .qs-authpanel {
	max-width: 460px;
	margin: 22px auto 0;
}

.qs-authpanel[hidden] {
	display: none;
}

/* ==================== Lupa / Reset Password (kartu) ==================== */

.qs-auth {
	max-width: 460px;
	margin: 40px auto;
	padding: 0 16px;
	box-sizing: border-box;
}

.qs-auth__title {
	margin: 0 0 14px;
	padding: 0 2px;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.2;
	color: #17181c;
}

.qs-auth__card {
	border: 1px solid #eef2f7;
	border-radius: 16px;
	padding: 24px 22px;
	background: #fff;
	box-shadow: 0 6px 24px rgba(15, 23, 42, 0.04);
}

.qs-auth__lead {
	margin: 0 0 16px;
	font-size: 13.5px;
	line-height: 1.55;
	color: #64748b;
}

.qs-auth__row {
	margin: 0 0 14px;
}

.qs-auth__row:last-child {
	margin-bottom: 0;
}

.qs-auth__label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #334155;
}

.qs-auth__input {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid var(--qs-line, #cbd7e6);
	border-radius: 10px;
	font-size: 15px;
	box-sizing: border-box;
}

.qs-auth__input:focus {
	outline: none;
	border-color: var(--qs-hijau, #16a34a);
}

/* Grup password: input + tombol mata */
.qs-pw {
	position: relative;
	display: block;
}

.qs-pw .qs-pw__input {
	padding-right: 46px;
}

.qs-pw__eye {
	position: absolute;
	right: 6px;
	top: 24px; /* setengah tinggi input (48px) — tetap center walau ada meteran WC di bawah */
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: transparent;
	color: #94a3b8;
	cursor: pointer;
	border-radius: 8px;
	transition: color 0.12s ease, background 0.12s ease;
}

.qs-pw__eye:hover {
	color: #475569;
	background: #f1f5f9;
}

.qs-pw__ic--hide {
	display: none;
}

.qs-pw__eye.is-shown .qs-pw__ic--show {
	display: none;
}

.qs-pw__eye.is-shown .qs-pw__ic--hide {
	display: block;
}

/* Hint syarat password */
.qs-pw__hint {
	display: block;
	margin-top: 7px;
	font-size: 12px;
	line-height: 1.5;
	color: #94a3b8;
}

/* Indikator cocok / belum cocok */
.qs-pw__match {
	display: block;
	margin-top: 7px;
	font-size: 12.5px;
	font-weight: 600;
	min-height: 1em;
}

.qs-pw__match.is-ok {
	color: #16a34a;
}

.qs-pw__match.is-no {
	color: #ef4444;
}

/* Meteran kekuatan WooCommerce — dirapikan jadi badge halus (bukan blok norak) */
.woocommerce-password-strength {
	margin-top: 8px;
	padding: 8px 12px;
	border-radius: 8px;
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.2;
	text-align: left;
	border: 1px solid #e2e8f0;
	background: #f8fafc;
	color: #64748b;
}

.woocommerce-password-strength::before {
	content: "Kekuatan password: ";
	font-weight: 600;
	opacity: 0.8;
}

.woocommerce-password-strength.short {
	color: #b91c1c;
	background: #fef2f2;
	border-color: #fecaca;
}

.woocommerce-password-strength.bad {
	color: #c2410c;
	background: #fff7ed;
	border-color: #fed7aa;
}

.woocommerce-password-strength.good {
	color: #a16207;
	background: #fefce8;
	border-color: #fde68a;
}

.woocommerce-password-strength.strong {
	color: #15803d;
	background: #f0fdf4;
	border-color: #bbf7d0;
}

/* Petunjuk dinamis bawaan WC disembunyikan — hint statis kita sudah cukup & rapi. */
.woocommerce-password-hint {
	display: none;
}

.qs-auth__btn {
	width: 100%;
	height: 48px;
	margin-top: 4px;
	border: 0;
	border-radius: 10px;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: filter 0.15s ease;
}

.qs-auth__btn:hover {
	filter: brightness(1.06);
}

.qs-auth__back {
	margin: 16px 0 0;
	text-align: center;
	font-size: 13px;
}

.qs-auth__back a {
	color: #64748b;
	font-weight: 600;
	text-decoration: none;
}

.qs-auth__back a:hover {
	color: #17181c;
}

/* Kartu sukses (konfirmasi reset terkirim) */
.qs-auth__card--center {
	text-align: center;
}

.qs-auth__ok {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	margin: 4px auto 14px;
	border-radius: 50%;
	background: #e9f7ef;
	color: #16a34a;
}

.qs-auth__ok-title {
	margin: 0 0 8px;
	font-size: 19px;
	font-weight: 800;
	color: #17181c;
}

.qs-auth__card--center .qs-auth__lead {
	margin-bottom: 18px;
}

/* Tombol .qs-auth__btn bila berupa tautan */
a.qs-auth__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	box-sizing: border-box;
}

/* ==================== Keranjang kosong (marketplace) ==================== */

.qs-cart {
	max-width: 1200px;
	margin: 24px auto 0;
	padding: 0 12px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 24px;
	align-items: stretch;
}

.qs-cart-empty {
	display: flex;
	align-items: center;
	gap: 26px;
	padding: 34px 32px;
	border: 1px solid #eef2f7;
	border-radius: 16px;
	background: #fff;
}

/* Ringkasan belanja (sticky) */

.qs-cart-summary {
	position: sticky;
	top: 90px;
	border: 1px solid #eef2f7;
	border-radius: 16px;
	padding: 20px;
	background: #fff;
}

.qs-cart-summary__title {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 800;
	color: var(--qs-title, #172033);
}

.qs-cart-summary__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding-bottom: 14px;
	border-bottom: 1px solid #eef2f7;
	font-size: 14px;
	color: var(--qs-muted, #64748b);
}

.qs-cart-summary__row strong {
	font-size: 18px;
	color: var(--qs-title, #172033);
}

.qs-cart-summary__promo {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 14px 0;
	padding: 12px 14px;
	border: 1px solid #d1fae5;
	border-radius: 10px;
	background: #f0fdf4;
	font-size: 13px;
	font-weight: 600;
	color: var(--qs-title, #172033);
	cursor: pointer;
}

.qs-cart-summary__promo-arrow {
	margin-left: auto;
	color: #94a3b8;
	font-size: 16px;
}

.qs-cart-summary__buy {
	width: 100%;
	height: 46px;
	border: 0;
	border-radius: 10px;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

.qs-cart-summary__buy:disabled {
	background: #e2e8f0;
	color: #94a3b8;
	cursor: not-allowed;
}

.qs-cart-empty__ill {
	flex: 0 0 auto;
}

.qs-cart-empty__title {
	margin: 0 0 4px;
	font-size: 20px;
	font-weight: 800;
	color: var(--qs-title, #172033);
}

.qs-cart-empty__text {
	margin: 0 0 16px;
	font-size: 14px;
	color: var(--qs-muted, #64748b);
}

.qs-cart-empty__cta {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 26px;
	border: 0;
	border-radius: 10px;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.qs-cart-empty__cta:hover {
	filter: brightness(1.06);
	color: #fff;
}

/* Rekomendasi di keranjang kosong */

.qs-rekomendasi--cart {
	margin: 26px 0 0;
	padding: 0 0 20px;
	display: block;
}

.qs-rekomendasi--cart .qs-rekomendasi__title {
	margin: 0 0 14px;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	color: var(--qs-title, #172033);
}

.qs-cardgrid {
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px 14px;
	align-items: stretch;
}

/* Semua kolom .qs-cardgrid WAJIB sama lebar. Tanpa min-width:0, min-content
   sebuah kartu (mis. kata panjang di judul) bisa memaksa track `1fr` melebar →
   gambar (aspect 1/1) jadi lebih besar → satu kartu tinggi sendiri (tampak di
   popup add-to-cart untuk produk tertentu). Berlaku semua konteks .qs-cardgrid. */
.qs-cardgrid > * {
	min-width: 0;
}

ul.products.qs-cardgrid::before,
ul.products.qs-cardgrid::after {
	content: none !important;
	display: none !important;
}

.qs-pcard--cart {
	margin: 0 !important;
	width: auto !important;
	float: none !important;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

/* Judul kartu reko SELALU 2 baris (judul pendek → baris ke-2 kosong) supaya
   tinggi kartu & posisi harga/tombol seragam. Yang panjang tetap dipotong 2
   baris oleh -webkit-line-clamp bawaan .qs-pcard__title. */
.qs-pcard--cart .qs-pcard__title {
	min-height: 2.7em; /* 2 baris × line-height 1.35 */
}

/* Tombol + Keranjang di kartu */

.qs-pcard__cart {
	margin-top: 6px;
	padding: 0;
	display: flex;
	justify-content: center;
}

.qs-pcard__cart .button,
.qs-pcard__cart a.add_to_cart_button,
.woocommerce .qs-pcard__cart a.button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 32px !important;
	line-height: 1 !important;
	padding: 0 18px !important;
	margin: 0 !important;
	border: 1px solid var(--qs-hijau, #16a34a) !important;
	border-radius: 6px !important;
	background: #fff !important;
	color: var(--qs-hijau, #16a34a) !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
}

.qs-pcard__cart .button:hover,
.qs-pcard__cart a.add_to_cart_button:hover {
	background: var(--qs-hijau, #16a34a);
	color: #fff;
}

.qs-pcard__cart .added_to_cart {
	display: none;
}

@media (min-width: 641px) and (max-width: 1023px) {
	.qs-cardgrid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1023px) {
	.qs-cart {
		grid-template-columns: 1fr;
	}

	.qs-cart-summary {
		position: static;
	}
}

@media (max-width: 640px) {
	.qs-cart-empty {
		flex-direction: column;
		text-align: center;
		padding: 24px 18px;
	}

	.qs-cardgrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 10px;
	}
}

/* Sembunyikan notice bawaan "keranjang kosong" (redundan dgn qs-cart-empty). */
.woocommerce-cart .woocommerce:has(.qs-cart-empty) > .woocommerce-info,
.woocommerce-cart .woocommerce:has(.qs-cart-empty) .cart-empty {
	display: none;
}

/* ==================== Latar abu-abu marketplace (keranjang/checkout/akun) ==================== */

body.woocommerce-cart #qs-main,
body.woocommerce-checkout #qs-main,
body.woocommerce-account #qs-main {
	background: #f1f3f6;
	padding-top: 24px;
	padding-bottom: 40px;
}

/* Kartu putih menonjol dengan bayangan halus */
body.woocommerce-cart .qs-cart-empty,
body.woocommerce-cart .qs-cart-summary,
body.woocommerce-account .qs-account-nav,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register {
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
	border-color: #edf1f6;
}

/* Kartu rekomendasi di keranjang: jadi kartu putih (beda dari katalog yang borderless) */
body.woocommerce-cart .qs-cart__main ul.products li.product.qs-pcard--cart {
	background: #fff;
	border: 1px solid #edf1f6;
	border-radius: 12px;
	padding: 0 14px 16px !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
	justify-content: flex-start;
	overflow: hidden;
}

/* Gambar full-bleed: menempel tepi atas & kiri-kanan kartu (tarik keluar dari padding). */
body.woocommerce-cart .qs-pcard--cart .qs-pcard__media {
	margin: 0 -14px 8px;
	border-radius: 0;
	border: 0;
}

body.woocommerce-cart .qs-pcard--cart .qs-pcard__media img {
	border-radius: 0;
}

/* ==================== Checkout digital — dua kolom ==================== */

.qs-co__title {
	max-width: 1080px;
	margin: 0 auto 20px;
	padding: 0 12px;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: #17181c;
}

.qs-co {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 20px;
	align-items: start;
	max-width: 1080px;
	margin: 24px auto 48px;
	padding: 0 12px;
}

/* ---------- Checkout: validasi ala marketplace (inline per-field + toast) ----------
 * Kotak ringkasan error bawaan WooCommerce (di-prepend ke <form>) memecah grid
 * 2-kolom DAN redundan dengan error inline. Disembunyikan; feedback via error
 * inline di bawah tiap field + toast "Lengkapi data pembeli" (shop.js). */
.qs-co > .woocommerce-NoticeGroup {
	display: none;
}

.qs-co .checkout-inline-error-message {
	margin: 6px 0 0;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.4;
	color: #dc2626;
}

.qs-co .form-row.woocommerce-invalid input {
	border-color: #dc2626 !important;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.10) !important;
}

.qs-co__left {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

.qs-co__right {
	display: flex;
	flex-direction: column;
	gap: 16px;
	position: sticky;
	top: 90px;
}

.qs-co__card {
	background: #fff;
	border: 1px solid #eef2f7;
	border-radius: 14px;
	padding: 18px 20px;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

.qs-co__h {
	margin: 0 0 14px !important;
	font-size: 12px !important;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #94a3b8;
}

/* Daftar produk (kiri) */
.qs-co__items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.qs-co__item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.qs-co__thumb {
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	border-radius: 8px;
	overflow: hidden;
	background: #f8fafc;
}

.qs-co__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.qs-co__meta {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.qs-co__name {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--qs-title, #172033);
}

/* Nama & gambar produk pada rincian pesanan = tautan ke halaman produk. */
a.qs-co__thumb {
	display: block;
}

a.qs-co__name {
	text-decoration: none;
	transition: color 0.12s ease;
}

a.qs-co__name:hover {
	color: var(--qs-hijau, #16a34a);
	text-decoration: underline;
}

.qs-co__qty {
	font-size: 12.5px;
	color: #94a3b8;
}

.qs-co__price {
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 800;
	color: var(--qs-price, #0b2946);
	white-space: nowrap;
}

/* Pembatas "Add On" di daftar produk checkout (juga melayani Beli Langsung). */
.qs-co__addonhead {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 2px -20px 0;
	padding: 10px 20px 2px;
	border-top: 1px solid #eef2f7;
}

.qs-co__addonlabel {
	font-size: 13px;
	font-weight: 700;
	color: #0f172a;
}

.qs-co__addonhint {
	font-size: 11.5px;
	color: #94a3b8;
}

@media (max-width: 560px) {
	.qs-co__addonhint {
		display: none;
	}
}

/* Info pembeli */
.qs-co__note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 16px !important;
	padding: 11px 13px;
	border: 1px solid #bfdbfe;
	border-radius: 10px;
	background: #eff6ff;
	color: #1e3a8a !important;
	font-size: 12.5px;
	line-height: 1.5;
}

.qs-co__note-ico {
	flex: 0 0 auto;
	margin-top: 1px;
	color: #2563eb;
}

.qs-co .woocommerce-billing-fields > h3,
.qs-co #customer_details > h3 {
	display: none;
}

.qs-co .form-row {
	margin: 0 0 14px;
	padding: 0;
}

.qs-co label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #334155;
}

.qs-co input:not([type="checkbox"]):not([type="radio"]),
.qs-co textarea,
.qs-co select {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	border: 1px solid var(--qs-line, #cbd7e6);
	border-radius: 10px;
	background: #fff;
	font-size: 16px;
	box-sizing: border-box;
}

.qs-co textarea {
	height: auto;
	min-height: 80px;
	padding: 12px 14px;
}

.qs-co input:focus,
.qs-co textarea:focus {
	outline: none;
	box-shadow: none;
	border-color: var(--qs-hijau, #16a34a);
}

.qs-co .description,
.qs-co span.description,
.qs-co .form-row .description {
	display: block;
	position: static;
	margin: 5px 2px 0;
	padding: 0;
	background: none !important;
	color: #94a3b8 !important;
	font-size: 12px;
	line-height: 1.4;
	box-shadow: none !important;
	border-radius: 0;
}

/* WooCommerce menata .description sebagai kotak tooltip biru + panah — matikan. */
.qs-co .description::before,
.qs-co .form-row .description::before,
.qs-co .description::after,
.qs-co .form-row .description::after {
	display: none !important;
}

.qs-co .required {
	color: #dc2626;
	text-decoration: none;
}

/* Rincian pembayaran — total (kanan) */
/* Field kode promo checkout memakai kelas .qs-promo (identik kotak promo Keranjang).
   Wrapper diberi data-qs-promo-block agar neutralizer .qs-promo[data-qs-promo-block]
   ikut (buang gaya carousel homepage yang berbagi kelas .qs-promo). Lihat
   checkout/form-coupon.php + handler di shop.js (data-qs-copromo-*). */

.qs-cosum {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.qs-cosum__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 14px;
	color: #475569;
}

.qs-cosum__row--disc span:last-child {
	color: #15803d;
	font-weight: 700;
}

.qs-cosum .woocommerce-remove-coupon {
	margin-left: 8px;
	color: #b0b8c4;
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	text-decoration: none;
}

.qs-cosum .woocommerce-remove-coupon:hover {
	color: #ef4444;
}

.qs-cosum__row--total {
	padding-top: 12px;
	margin-top: 3px;
	border-top: 1px solid #eef2f7;
}

.qs-cosum__row--total span {
	font-weight: 700;
	color: var(--qs-navy, #0b2946);
}

.qs-cosum__row--total strong {
	font-size: 18px;
	font-weight: 800;
	color: var(--qs-navy, #0b2946);
}

/* Metode pembayaran + tombol bayar */
.qs-co #payment {
	background: transparent;
	margin-top: 16px;
}

.qs-co #payment ul.payment_methods {
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
	border: 0;
}

.qs-co #payment ul.payment_methods li {
	margin: 0 0 8px;
	padding: 12px 14px;
	border: 1px solid #e2e8f0;
	border-radius: 11px;
	background: #fff;
}

.qs-co #payment div.payment_box {
	margin: 10px 0 0;
	padding: 12px 14px;
	border-radius: 10px;
	background: #f8fafc;
	font-size: 13px;
	color: #475569;
}

.qs-co #payment div.payment_box::before {
	display: none;
}

.qs-co #payment .woocommerce-privacy-policy-text {
	font-size: 12px;
	line-height: 1.5;
	color: #94a3b8;
	margin: 0 0 12px;
}

.qs-co #place_order,
.qs-co .button.alt {
	display: block;
	width: 100%;
	height: 52px;
	margin-top: 6px;
	border: 0;
	border-radius: 12px;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	cursor: pointer;
}

.qs-co #place_order:hover {
	filter: brightness(1.06);
}

/* Identitas penjual */
.qs-seller {
	padding: 16px 18px;
	border: 1px solid #eef2f7;
	border-radius: 13px;
	background: #f8fafc;
}

.qs-seller__label {
	margin: 0 0 4px !important;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #94a3b8 !important;
}

.qs-seller__name {
	margin: 0 !important;
	font-size: 15px;
	font-weight: 700;
	color: var(--qs-navy, #0b2946) !important;
}

.qs-seller__role {
	margin: 2px 0 0 !important;
	font-size: 13px;
	color: #475569 !important;
}

.qs-seller__legal {
	margin: 2px 0 0 !important;
	font-size: 12.5px;
	color: #94a3b8 !important;
}

@media (max-width: 900px) {
	.qs-co {
		grid-template-columns: 1fr;
		max-width: 560px;
	}

	.qs-co__right {
		position: static;
	}
}

/* ==================== Pesanan Diterima (thank-you) ==================== */

.qs-thanks {
	max-width: 1080px;
	margin: 0 auto;
}

.qs-thanks__hero {
	text-align: center;
	padding: 8px 16px 26px;
}

.qs-thanks__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: #e9f7ef;
	color: #16a34a;
}

.qs-thanks__hero--fail .qs-thanks__badge {
	background: #fdecec;
	color: #ef4444;
}

.qs-thanks__title {
	margin: 0 0 6px;
	font-size: 23px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: #17181c;
}

.qs-thanks__sub {
	margin: 0;
	font-size: 14px;
	color: #64748b;
}

.qs-thanks__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 20px;
	align-items: start;
}

.qs-thanks__main {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

.qs-thanks__side {
	position: sticky;
	top: 90px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

/* Instruksi pembayaran */
.qs-thanks__pay {
	border: 1px solid #fde9c8;
	background: #fffdf8;
}

.qs-thanks__pay-amt {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 12px;
	padding: 12px 14px;
	border-radius: 11px;
	background: #fff6e6;
	font-size: 13.5px;
	color: #92610b;
}

.qs-thanks__pay-amt strong {
	font-size: 19px;
	font-weight: 800;
	color: #b45309;
	white-space: nowrap;
}

.qs-thanks__pay-total {
	display: inline-flex;
	align-items: center;
	gap: 9px;
}

.qs-thanks__bank {
	font-size: 13.5px;
	color: #475569;
}

.qs-thanks__bank p {
	margin: 0 0 6px;
}

.qs-thanks__bank .woocommerce-bacs-bank-details {
	margin: 12px 0 0;
}

/* Heading bawaan WooCommerce ("Detail bank kami") jadi label kecil. */
.qs-thanks__bank .wc-bacs-bank-details-heading {
	margin: 0 0 8px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #94a3b8;
}

/* Nama pemilik rekening. */
.qs-thanks__bank .wc-bacs-bank-details-account-name {
	margin: 0 0 8px;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.3;
	color: #17181c;
}

.qs-thanks__bank ul.bacs_details {
	margin: 0;
	padding: 12px 14px;
	list-style: none;
	border: 1px solid #eef2f7;
	border-radius: 10px;
	background: #fff;
}

.qs-thanks__bank ul.bacs_details li {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	width: auto;
	float: none;
	margin: 0;
	padding: 6px 0;
	border: 0;
	font-size: 13.5px;
	color: #64748b;
	text-transform: none;
}

.qs-thanks__bank .qs-bank-label {
	flex: none;
	min-width: 122px;
	text-align: right;
	color: #94a3b8;
}

.qs-thanks__bank ul.bacs_details li strong {
	color: #17181c;
	font-weight: 700;
}

.qs-thanks__bank .qs-bank-val {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.qs-copy {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	border: 1px solid #d9e0ea;
	border-radius: 8px;
	background: #fff;
	color: #16a34a;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.qs-copy:hover {
	background: #f0fdf4;
	border-color: #86efac;
}

.qs-copy.is-copied {
	background: #f0fdf4;
	border-color: #86efac;
	color: #15803d;
}

.qs-copy svg {
	flex: none;
}

.qs-thanks__pay-note {
	margin: 12px 0 14px;
	font-size: 13px;
	line-height: 1.55;
	color: #64748b;
}

.qs-thanks__wa,
.qs-thanks__wa:link,
.qs-thanks__wa:visited,
.qs-thanks__wa:hover,
.qs-thanks__wa:active,
.qs-thanks__wa:focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	margin-top: 14px;
	padding: 13px 18px;
	border-radius: 12px;
	background: #22a04a;
	color: #fff;
	font-size: 14.5px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.15s ease;
}

/* Ikon WA mengikuti warna teks (currentColor) — pastikan putih, bukan warna
   link-visited dari tema. */
.qs-thanks__wa svg {
	color: #fff;
	fill: currentColor;
}

.qs-thanks__wa:hover,
.qs-thanks__wa:focus {
	background: #1c8a3f;
}

/* Ringkasan pesanan — meta */
.qs-thanks__meta {
	margin: 0 0 14px;
	padding: 0 0 14px;
	border-bottom: 1px solid #eef2f7;
}

.qs-thanks__meta-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 4px 0;
	font-size: 13.5px;
}

.qs-thanks__meta-row dt {
	color: #94a3b8;
	flex: none;
}

.qs-thanks__meta-row dd {
	margin: 0;
	font-weight: 600;
	color: #334155;
	text-align: right;
	word-break: break-word;
}

/* CTA */
.qs-thanks__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.qs-thanks__cta {
	margin: 16px 0 0;
}

.qs-thanks__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 13px 18px;
	border-radius: 12px;
	font-size: 14.5px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.qs-thanks__pay-note {
	color: #64748b;
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 14px;
}
.qs-thanks__pay-btn {
	margin-top: 6px;
}
.qs-thanks__btn--primary {
	background: var(--qs-navy, #0b2946);
	color: #fff;
}

.qs-thanks__btn--primary:hover {
	background: #0a2138;
	color: #fff;
}

.qs-thanks__btn--ghost {
	background: #fff;
	border: 1px solid #d9e0ea;
	color: #334155;
}

.qs-thanks__btn--ghost:hover {
	border-color: #b9c3d1;
	color: #17181c;
}

/* "Belanja Lagi" — aksi sekunder: hijau, ringkas (tak selebar layar), di tengah. */
.qs-thanks__btn--shop {
	width: auto;
	align-self: center;
	padding: 12px 34px;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
}

.qs-thanks__btn--shop:hover {
	background: #15803d;
	color: #fff;
}

/* ---------- Rekomendasi produk di halaman "Pesanan Diterima" ---------- */
.qs-thanks__reco {
	margin: 30px 0 0;
}

.qs-thanks__reco-title {
	/* Jarak ke grid dipasang di sini (menang atas reset .woocommerce ul.products
	   yang menol-kan margin grid) supaya konsisten di semua ukuran layar. */
	margin: 0 0 18px !important;
	font-size: 18px !important;
	font-weight: 800;
	color: var(--qs-navy, #0b2946);
}

.qs-thanks__reco-grid {
	margin-top: 0 !important;
}

/* Kartu reco thankyou = kartu KATALOG (content-product.php: .qs-pcard + rating,
   tanpa tombol). Reset float/lebar li seperti grid katalog agar rapi di grid. */
.qs-thanks__reco ul.products li.product.qs-pcard {
	margin: 0;
	padding: 0;
	width: auto;
	float: none;
}

/* ---------- Tombol berbentuk link JANGAN berubah biru saat hover/klik ----------
 * Tema induk punya `a:hover { color: var(--qs-accent-hover) }` global (biru).
 * Tombol solid di bawah ini hover-nya hanya efek brightness (tak set color),
 * jadi teksnya ikut biru. Kunci warnanya di semua state interaksi. Tombol lain
 * (ghost/outline) sudah menyetel warnanya sendiri saat :hover → aman. */
.qs-atc__added-view:link, .qs-atc__added-view:visited,
.qs-atc__added-view:hover, .qs-atc__added-view:focus, .qs-atc__added-view:active,
.qs-empty__btn:link, .qs-empty__btn:visited,
.qs-empty__btn:hover, .qs-empty__btn:focus, .qs-empty__btn:active,
.qs-cart-empty__cta:link, .qs-cart-empty__cta:visited,
.qs-cart-empty__cta:hover, .qs-cart-empty__cta:focus, .qs-cart-empty__cta:active,
.woocommerce a.button.alt:hover, .woocommerce a.button.alt:focus,
.woocommerce a.button.alt:active, .woocommerce a.button.alt:visited {
	color: #fff;
}

@media (max-width: 900px) {
	.qs-thanks__grid {
		grid-template-columns: 1fr;
		max-width: 560px;
		margin: 0 auto;
	}

	.qs-thanks__side {
		position: static;
	}

	.qs-thanks__title {
		/* Muat 1 baris di mobile ("Terima kasih! Pesananmu berhasil dibuat")
		   sekaligus tetap proporsional di layar lebih besar/kecil. */
		font-size: clamp( 15px, 4.7vw, 20px );
		line-height: 1.25;
		letter-spacing: -0.02em;
	}
}

/* ==================== Detail pesanan di Akun Saya ==================== */

.qs-vieworder {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Kartu status pembayaran */
.qs-vo__status {
	display: flex;
	align-items: center;
	gap: 14px;
}

.qs-vo__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	flex: none;
	border-radius: 50%;
}

.qs-vo__status-txt {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.qs-vo__status-label {
	font-size: 16px;
	font-weight: 800;
	color: #17181c;
}

.qs-vo__status-sub {
	font-size: 13px;
	color: #64748b;
}

.qs-vo__status--wait .qs-vo__badge {
	background: #fef3c7;
	color: #b45309;
}

.qs-vo__status--wait {
	border-color: #fde9c8;
	background: #fffdf8;
}

.qs-vo__status--ok .qs-vo__badge,
.qs-vo__status--done .qs-vo__badge {
	background: #e9f7ef;
	color: #16a34a;
}

.qs-vo__status--off .qs-vo__badge {
	background: #eef2f7;
	color: #94a3b8;
}

/* File unduhan */
.qs-vo__dl {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.qs-vo__dl-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid #d9e0ea;
	border-radius: 11px;
	background: #fff;
	color: #17181c;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.qs-vo__dl-btn:hover {
	border-color: #16a34a;
	background: #f0fdf4;
	color: #15803d;
}

.qs-vo__dl-btn svg {
	flex: none;
	color: #16a34a;
}

.qs-vo__dl-empty {
	margin: 0;
	font-size: 13.5px;
	color: #94a3b8;
}

/* Ringkasan + metode */
.qs-vo__sum {
	margin-top: 14px;
}

.qs-vo__method {
	margin-top: 10px;
	padding-top: 12px;
	border-top: 1px solid #eef2f7;
	font-size: 13px;
}

.qs-vo__method span:last-child {
	font-weight: 700;
	color: #334155;
}

/* Update pesanan */
.qs-vo__notes {
	margin: 0;
	padding: 0;
	list-style: none;
}

.qs-vo__notes li {
	padding: 10px 0;
	border-bottom: 1px solid #f1f5f9;
	font-size: 13.5px;
	color: #475569;
}

.qs-vo__notes li:last-child {
	border-bottom: 0;
}

.qs-vo__note-date {
	display: block;
	margin-bottom: 2px;
	font-size: 12px;
	color: #94a3b8;
}

.qs-vo__notes p {
	margin: 0;
}

/* Overlay pencarian harus menutupi actionbar produk (keduanya z-index 90,
   actionbar menang karena lebih akhir di DOM). */
body.qs-search-active .qs-actionbar {
	display: none !important;
}

/* Mobile: ringkasan belanja tidak ditampilkan di keranjang kosong
   (permintaan desain — cukup riwayat + rekomendasi, seperti Tokopedia). */
@media (max-width: 640px) {
	body.woocommerce-cart .qs-cart__side {
		display: none;
	}
}

/* ==================== Keranjang berisi ==================== */

.qs-cartlist {
	border: 1px solid #eef2f7;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
	overflow: hidden;
}

.qs-cartlist__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 18px;
	border-bottom: 1px solid #eef2f7;
}

.qs-cartlist__count {
	font-size: 13px;
	color: #94a3b8;
}

/* Seksi "Add On": menyatu dengan kartu utama (tanpa jarak) — seksi ini hanya
   pembatas di dalam satu kartu. Sudut atas lurus & tanpa garis atas ganda. */
.qs-addonlist {
	margin-top: 0;
	border: 1px solid #eef2f7;
	border-top: 0;
	border-radius: 0 0 14px 14px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
	overflow: hidden;
}

/* Kartu utama menyatu dengan seksi Add On di bawahnya: sudut bawah dilenyapkan. */
.qs-cartlist:has( + .qs-addonlist ) {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.qs-addonlist__head {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 13px 18px;
	border-bottom: 1px solid #eef2f7;
	background: #fafbfc;
}

.qs-addonlist__label {
	font-weight: 700;
	font-size: 14px;
	color: #0f172a;
}

.qs-addonlist__hint {
	font-size: 12px;
	color: #94a3b8;
}

@media (max-width: 560px) {
	.qs-addonlist__hint {
		display: none;
	}
}

/* Checkbox kustom */
.qs-check {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	cursor: pointer;
	user-select: none;
}

.qs-check input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.qs-check__box {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	border: 1.8px solid #cbd5e1;
	border-radius: 6px;
	background: #fff;
	position: relative;
	transition: background 0.12s ease, border-color 0.12s ease;
}

.qs-check input:checked + .qs-check__box {
	background: var(--qs-hijau, #16a34a);
	border-color: var(--qs-hijau, #16a34a);
}

.qs-check input:checked + .qs-check__box::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 2px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2.2px 2.2px 0;
	transform: rotate(45deg);
}

.qs-check input:focus-visible + .qs-check__box {
	outline: 2px solid var(--qs-hijau, #16a34a);
	outline-offset: 2px;
}

.qs-check__label {
	font-size: 14px;
	font-weight: 700;
	color: var(--qs-navy, #0b2946);
}

/* Baris item */
.qs-citem {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 18px;
	border-bottom: 1px solid #f1f5f9;
}

.qs-citem:last-child {
	border-bottom: 0;
}

.qs-citem__pick {
	margin-top: 22px;
}

.qs-citem__media {
	flex: 0 0 auto;
	width: 76px;
	height: 76px;
	border-radius: 10px;
	overflow: hidden;
	background: #f8fafc;
}

.qs-citem__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.qs-citem__body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.qs-citem__title {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--qs-title);
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.qs-citem__title:hover {
	color: var(--qs-navy-2);
}

.qs-citem__format {
	font-size: 12px;
	font-weight: 700;
	color: #ea580c;
}

.qs-citem__bawah {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 4px;
}

.qs-citem__harga {
	font-size: 15px;
	font-weight: 800;
	color: var(--qs-price);
}

.qs-citem__hapus {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12.5px;
	font-weight: 600;
	color: #94a3b8;
	text-decoration: none;
}

.qs-citem__hapus:hover {
	color: #dc2626;
}

/* Tombol Beli aktif di ringkasan samping */
.qs-cart-summary__buy:not(:disabled) {
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	cursor: pointer;
}

.qs-cart-summary__buy:not(:disabled):hover {
	filter: brightness(1.06);
}

/* Bilah aksi bawah (mobile) */
/* Wadah bar bawah mobile (fixed) — memuat handle chevron, panel promo, & bar. */
.qs-cartbar-wrap {
	display: none;
}

.qs-cartbar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
	background: #fff;
	border-top: 1px solid #eef2f7;
}

.qs-cartbar__tot {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	line-height: 1.2;
	min-width: 0;
}

.qs-cartbar__lbl {
	font-size: 11.5px;
	color: #94a3b8;
}

.qs-cartbar__tot strong {
	font-size: 16px;
	font-weight: 800;
	color: var(--qs-price);
}

.qs-cartbar__buy {
	flex: 0 0 auto;
	height: 44px;
	padding: 0 26px;
	border: 0;
	border-radius: 10px;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
}

.qs-cartbar__buy:disabled {
	background: #cbd5e1;
	cursor: not-allowed;
}

@media (max-width: 640px) {
	.qs-cartbar-wrap {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 95;
		background: #fff;
		box-shadow: 0 -2px 12px rgba(15, 23, 42, 0.07);
	}

	/* Handle chevron ganda — tap untuk buka/tutup panel kode promo. */
	.qs-cartbar__chev {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 26px;
		padding: 0;
		border: 0;
		background: none;
		color: #94a3b8;
		cursor: pointer;
	}

	/* Bounce halus (isyarat "tarik ke atas") — hanya saat panel tertutup. */
	.qs-cartbar-wrap:not(.is-open) .qs-cartbar__chev {
		animation: qs-chevbounce 1.7s ease-in-out infinite;
	}

	.qs-cartbar__chev-ico {
		transition: transform 0.24s ease;
	}

	/* Panel terbuka: chevron ganda berputar jadi tanda "tutup". */
	.qs-cartbar-wrap.is-open .qs-cartbar__chev-ico {
		transform: rotate(180deg);
	}

	@keyframes qs-chevbounce {
		0%, 100% { transform: translateY(0); }
		50% { transform: translateY(-4px); }
	}

	@media (prefers-reduced-motion: reduce) {
		.qs-cartbar-wrap:not(.is-open) .qs-cartbar__chev { animation: none; }
	}

	/* Panel promo — tertutup (max-height 0), mengembang saat is-open. */
	.qs-cartbar__promo {
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.26s ease;
		border-top: 1px solid #eef2f7;
	}

	.qs-cartbar-wrap:not(.is-open) .qs-cartbar__promo {
		border-top-color: transparent;
	}

	.qs-cartbar-wrap.is-open .qs-cartbar__promo {
		max-height: 260px;
	}

	.qs-cartbar__promo .qs-promo {
		margin: 0;
		padding: 12px 14px;
		background: none;
	}

	/* Ruang agar item terakhir tidak tertutup bar + handle. */
	body.woocommerce-cart .qs-cart {
		padding-bottom: 96px;
	}

	.qs-citem {
		padding: 14px 12px;
	}

	.qs-citem__media {
		width: 64px;
		height: 64px;
	}

	.qs-cartlist__head {
		padding: 12px 12px;
	}
}

/* ---------- Kode promo di ringkasan keranjang ---------- */

.qs-promo[data-qs-promo-block] {
	margin: 4px 0 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid #eef2f7;
}

/* Kotak kupon keranjang memakai kelas .qs-promo yang SAMA dengan carousel promo
   homepage — netralkan gradasi/warna/lengkung yang bocor dari carousel itu. */
.qs-promo[data-qs-promo-block] {
	position: static;
	margin-bottom: 0;
	border-radius: 0;
	overflow: visible;
	color: inherit;
	background: none;
}

.qs-promo__toggle {
	display: flex;
	align-items: center;
	gap: 9px;
	width: 100%;
	padding: 11px 13px;
	border: 1px solid #eef1f5;
	border-radius: 10px;
	background: #f7f8fa;
	color: var(--qs-navy, #0b2946);
	font-size: 13.5px;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
}

.qs-promo__toggle:hover {
	background: #eef1f5;
}

.qs-promo__arrow {
	margin-left: auto;
	font-size: 18px;
	color: #94a3b8;
}

.qs-promo__form {
	display: flex;
	gap: 8px;
	margin-top: 9px;
}

.qs-promo__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--qs-line, #cbd7e6);
	border-radius: 9px;
	font-size: 14px;
	text-align: center;
	text-transform: uppercase;
	box-sizing: border-box;
}

/* Placeholder: lebih kecil & mixed-case ("Input Promo Code"), tanpa uppercase. */
.qs-promo__input::placeholder {
	font-size: 12.5px;
	text-transform: none;
	color: #94a3b8;
}

.qs-promo__input:focus {
	outline: none;
	box-shadow: none;
	border-color: var(--qs-hijau, #16a34a);
}

.qs-promo__pakai {
	flex: 0 0 auto;
	height: 42px;
	padding: 0 18px;
	border: 1px solid var(--qs-hijau, #16a34a);
	border-radius: 9px;
	background: #fff;
	color: var(--qs-hijau, #16a34a);
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
}

.qs-promo__pakai:hover {
	background: var(--qs-hijau, #16a34a);
	color: #fff;
}

.qs-promo__aktif {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	padding: 10px 12px;
	border: 1px solid #bbf7d0;
	border-radius: 10px;
	background: #f0fdf4;
	font-size: 13px;
}

.qs-promo__kode {
	font-weight: 800;
	color: #14532d;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.qs-promo__nilai {
	margin-left: auto;
	font-weight: 700;
	color: #15803d;
	white-space: nowrap;
}

.qs-promo__hapus {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(20, 83, 45, 0.09);
	color: #14532d;
	font-size: 16px;
	line-height: 1;
	text-decoration: none;
}

.qs-promo__hapus:hover {
	background: #dc2626;
	color: #fff;
}

/* Baris ringkasan */
.qs-cart-summary__row--sub,
.qs-cart-summary__row--diskon {
	font-size: 13.5px;
	color: #475569;
}

.qs-cart-summary__row--diskon span:last-child {
	color: #15803d;
	font-weight: 700;
}

.qs-cart-summary__row--total {
	padding-top: 10px;
	margin-top: 4px;
	border-top: 1px solid #eef2f7;
}

.qs-cart-summary__catatan {
	margin: 8px 0 0;
	font-size: 11.5px;
	line-height: 1.5;
	color: #94a3b8;
}

/* Promo kini kartu tersendiri di kolom utama (agar tetap ada di mobile). */
.qs-cart__main > .qs-promo {
	margin: 14px 0 0;
	padding: 14px 16px;
	border: 1px solid #eef2f7;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

/* ==================== Popup "Berhasil Ditambahkan" (add-to-cart) ==================== */

.qs-atc {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.qs-atc[hidden] {
	display: none;
}

.qs-atc__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.5);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

.qs-atc__panel {
	position: relative;
	width: 100%;
	max-width: 720px;
	max-height: 86vh;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 24px 60px -12px rgba(15, 23, 42, 0.35);
	overflow: hidden;
	animation: qs-atc-in 0.2s ease;
}

@keyframes qs-atc-in {
	from { opacity: 0; transform: translateY(10px) scale(0.98); }
	to   { opacity: 1; transform: none; }
}

.qs-atc__head {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 22px;
	border-bottom: 1px solid #eef2f7;
}

.qs-atc__title {
	font-size: 18px;
	font-weight: 800;
	color: var(--qs-navy, #0b2946);
}

.qs-atc__close {
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: #f1f5f9;
	color: #475569;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.qs-atc__close:hover {
	background: #e2e8f0;
}

/* Baris produk yang ditambahkan */
.qs-atc__added {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 13px;
	margin: 16px 22px;
	padding: 12px 14px;
	border: 1px solid #eef2f7;
	border-radius: 12px;
	background: #f8fafc;
}

.qs-atc__added-media {
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.qs-atc__added-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.qs-atc__added-name {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--qs-title, #172033);
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.qs-atc__added-view {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	height: 40px;
	padding: 0 20px;
	border-radius: 9px;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.qs-atc__added-view:hover {
	filter: brightness(1.06);
}

/* Badan scrollable — rekomendasi */
.qs-atc__body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 4px 22px 22px;
}

.qs-atc__reco-title {
	margin: 0 0 14px !important;
	font-size: 16px !important;
	font-weight: 800;
	color: var(--qs-navy, #0b2946);
}

.qs-atc__body .qs-cardgrid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Tombol +Keranjang di kartu rekomendasi popup yang sudah ditambahkan */
.qs-atc__body .qs-pcard__cart .button.is-added {
	border-color: #94a3b8 !important;
	color: #64748b !important;
	background: #f1f5f9 !important;
	pointer-events: none;
}

@media (max-width: 900px) {
	.qs-atc__body .qs-cardgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.qs-atc { padding: 0; align-items: flex-end; }
	.qs-atc__panel {
		max-width: 100%;
		max-height: 90vh;
		border-radius: 16px 16px 0 0;
	}
	.qs-atc__added { flex-wrap: wrap; align-items: center; }
	/* Judul standar 2 baris: sejajar di samping gambar, tinggi tetap
	   entah judulnya panjang atau pendek. */
	.qs-atc__added-name {
		flex: 1 1 0;
		-webkit-line-clamp: 2;
		line-height: 1.35;
		min-height: 2.7em;
		align-self: center;
	}
	.qs-atc__added-view { width: 100%; justify-content: center; margin-top: 2px; }
	.qs-atc__body .qs-cardgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Toast konfirmasi (add-to-cart dari dalam popup) — bar gelap di atas, ada OK. */
.qs-toast {
	position: fixed;
	top: 24px;
	left: 50%;
	z-index: 1100;
	display: flex;
	align-items: center;
	gap: 16px;
	width: calc(100% - 40px);
	max-width: 600px;
	padding: 15px 14px 15px 20px;
	border-radius: 8px;
	background: rgba(43, 43, 48, 0.97);
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	box-shadow: 0 10px 30px -6px rgba(15, 23, 42, 0.35);
	transform: translateX(-50%) translateY(-14px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.qs-toast.is-show {
	transform: translateX(-50%) translateY(0);
	opacity: 1;
	pointer-events: auto;
}

.qs-toast__txt {
	flex: 1 1 auto;
	min-width: 0;
}

.qs-toast__ok {
	flex: 0 0 auto;
	padding: 4px 14px;
	border: 0;
	background: none;
	color: #4ade80;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.02em;
	cursor: pointer;
}

.qs-toast__ok:hover {
	color: #86efac;
}

/* Ikon tipe (R4) — menyejajarkan bahasa visual toast dengan kotak notice inline.
   Ikon disembunyikan bila tak ada kelas tipe (fallback netral). */
.qs-toast__ico {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px 20px;
	display: none;
}

.qs-toast--success .qs-toast__ico,
.qs-toast--error .qs-toast__ico,
.qs-toast--info .qs-toast__ico {
	display: block;
}

.qs-toast--success .qs-toast__ico {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234ade80' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.4 12.2 2.5 2.5 4.7-5.2'/%3E%3C/svg%3E");
}

.qs-toast--error .qs-toast__ico {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fbbf24' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.6 21.4 20H2.6z'/%3E%3Cpath d='M12 10v4'/%3E%3Cpath d='M12 17.3h.01'/%3E%3C/svg%3E");
}

.qs-toast--info .qs-toast__ico {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11.4v5'/%3E%3Cpath d='M12 7.8h.01'/%3E%3C/svg%3E");
}

/* R5 — di mobile rapatkan agar pesan umum + tombol aksi muat 1 baris. */
@media (max-width: 640px) {
	.qs-toast {
		gap: 9px;
		padding: 12px 8px 12px 14px;
		font-size: 13.5px;
	}
	.qs-toast__ico {
		width: 18px;
		height: 18px;
		background-size: 18px 18px;
	}
	.qs-toast__ok {
		padding: 4px 6px;
		font-size: 13.5px;
	}
}

/* Promo di dalam Ringkasan belanja (dipindah JS pada desktop/tablet). */
.qs-cart-summary__promoslot:empty {
	display: none;
}

/* Ikon perisai di dalam tombol "Buat pesanan" (ala Tokopedia). */
.qs-place-order__ico {
	display: inline-block;
	width: 17px;
	height: 17px;
	margin-right: 8px;
	vertical-align: -3px;
}

/* Saat validasi gagal & auto-scroll ke field wajib pertama, beri jarak dari
   header sticky supaya field tidak tertutup (scrollIntoView menghormati ini). */
.qs-co .form-row {
	scroll-margin-top: 84px;
}

/* Consent implisit ala marketplace — teks kecil di bawah tombol. */
.qs-consent-note {
	margin: 11px auto 0;
	max-width: 320px;
	font-size: 11px;
	line-height: 1.5;
	color: #9aa4b2;
	text-align: center;
}

.qs-consent-note a {
	color: #16a34a;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.qs-consent-note a:hover {
	text-decoration: underline;
}

/* Promo DI ANTARA Total harga dan Total — hanya jarak, tanpa garis sendiri
   (garis pemisah datang dari border-top baris Total di bawahnya). */
.qs-cart-summary .qs-promo {
	margin: 12px 0;
	padding: 0;
	border: 0;
}

/* Baris toggle promo: rapi & ringkas di dalam ringkasan. */
.qs-cart-summary .qs-promo__toggle {
	width: 100%;
}

/* Atribut hidden pada form promo HARUS menyembunyikan (kalahkan display:flex),
   supaya input hanya muncul setelah baris "Pakai kode promo" (chevron) diklik. */
.qs-promo__form[hidden] {
	display: none;
}

/* ==================== Ulasan produk (halaman Pesanan + modal) ==================== */
.qs-review__intro {
	margin: 0 0 14px;
	font-size: 13.5px;
	color: #64748b;
}

.qs-review__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.qs-review__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	border: 1px solid #eef2f7;
	border-radius: 12px;
}

.qs-review__item .qs-co__thumb {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border-radius: 8px;
	overflow: hidden;
}

.qs-review__item .qs-co__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.qs-review__meta {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.qs-review__name {
	font-size: 13.5px;
	font-weight: 600;
	color: #17181c;
	line-height: 1.35;
}

.qs-review__doneline {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12.5px;
	font-weight: 600;
	color: #16a34a;
}

.qs-review__doneline--pending { color: #a16207; }

/* Notice moderasi persisten pada baris ulasan halaman Pesanan. */
.qs-review__pending {
	display: block;
	font-size: 12px;
	line-height: 1.45;
	color: #7c6114;
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-radius: 8px;
	padding: 8px 10px;
}

.qs-stars {
	color: #f59e0b;
	letter-spacing: 1px;
	font-size: 13px;
}

.qs-review__btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 38px;
	padding: 0 16px;
	border: 1px solid var(--qs-hijau, #16a34a);
	border-radius: 9px;
	background: #fff;
	color: var(--qs-hijau, #16a34a);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.qs-review__btn:hover {
	background: var(--qs-hijau, #16a34a);
	color: #fff;
}

/* ---- Modal ulasan ---- */
.qs-rvw {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.qs-rvw[hidden] { display: none; }

.qs-rvw__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(11, 41, 70, 0.5);
}

.qs-rvw__panel {
	position: relative;
	width: 100%;
	max-width: 440px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
	padding: 20px 22px 22px;
}

.qs-rvw__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.qs-rvw__title {
	font-size: 17px;
	font-weight: 800;
	color: var(--qs-navy, #0b2946);
}

.qs-rvw__close {
	border: 0;
	background: #f1f5f9;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	font-size: 20px;
	line-height: 1;
	color: #64748b;
	cursor: pointer;
}

.qs-rvw__prod {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 11px;
	background: #f7f8fa;
	border-radius: 10px;
	margin-bottom: 18px;
}

.qs-rvw__thumb {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 7px;
	overflow: hidden;
	background: #eef2f7;
}

.qs-rvw__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.qs-rvw__name {
	font-size: 13.5px;
	font-weight: 600;
	color: #17181c;
	line-height: 1.35;
}

.qs-rvw__ratewrap {
	text-align: center;
	margin-bottom: 16px;
}

.qs-rvw__ratelbl {
	display: block;
	font-size: 13.5px;
	color: #475569;
	margin-bottom: 10px;
}

.qs-rvw__stars {
	display: inline-flex;
	gap: 6px;
}

.qs-rvw__star {
	border: 0;
	background: none;
	padding: 0;
	font-size: 34px;
	line-height: 1;
	color: #d9e0ea;
	cursor: pointer;
	transition: transform 0.1s ease, color 0.1s ease;
}

.qs-rvw__star.is-on { color: #f59e0b; }
.qs-rvw__star:hover { transform: scale(1.1); }

.qs-rvw__ratetxt {
	display: block;
	min-height: 18px;
	margin-top: 8px;
	font-size: 13px;
	font-weight: 700;
	color: #f59e0b;
}

.qs-rvw__text {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #d9e0ea;
	border-radius: 10px;
	padding: 11px 13px;
	font-size: 14px;
	font-family: inherit;
	resize: vertical;
	margin-bottom: 16px;
}

.qs-rvw__text:focus {
	outline: none;
	border-color: var(--qs-hijau, #16a34a);
	box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.12);
}

.qs-rvw__submit {
	width: 100%;
	height: 46px;
	border: 0;
	border-radius: 11px;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	font-size: 14.5px;
	font-weight: 700;
	cursor: pointer;
}

.qs-rvw__submit:disabled {
	background: #cbd5e1;
	cursor: not-allowed;
}

.qs-rvw__submit:not(:disabled):hover { filter: brightness(1.06); }

@media (max-width: 560px) {
	.qs-review__item { flex-wrap: wrap; }
	.qs-review__btn { width: 100%; justify-content: center; }
	.qs-rvw { align-items: flex-end; padding: 0; }
	.qs-rvw__panel { max-width: 100%; border-radius: 16px 16px 0 0; }
}

/* ---------- Balas ulasan sebagai Penjual (halaman produk) ---------- */
.qs-rvreply { margin-top: 10px; }

.qs-rvreply__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1px solid #d9e0ea;
	background: #fff;
	color: var(--qs-navy, #0b2946);
	border-radius: 8px;
	padding: 6px 12px;
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
}

.qs-rvreply__btn:hover { background: #f7f8fa; }

.qs-rvreply__form { margin-top: 8px; }

.qs-rvreply__text {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #d9e0ea;
	border-radius: 9px;
	padding: 10px 12px;
	font-size: 13.5px;
	font-family: inherit;
	resize: vertical;
}

.qs-rvreply__text:focus {
	outline: none;
	border-color: var(--qs-hijau, #16a34a);
	box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.12);
}

.qs-rvreply__actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	margin-top: 8px;
}

.qs-rvreply__cancel {
	border: 0;
	background: none;
	color: #64748b;
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
	padding: 8px 12px;
}

.qs-rvreply__send {
	border: 0;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	border-radius: 9px;
	padding: 8px 16px;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
}

.qs-rvreply__send:disabled { background: #cbd5e1; cursor: not-allowed; }
.qs-rvreply__send:not(:disabled):hover { filter: brightness(1.06); }

/* ==================== UI ulasan marketplace (header, footer, toggle) ==================== */
/* Header ulasan: avatar + nama + badge + tanggal sebaris, bintang di kanan. */
#reviews .commentlist .comment_container {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

#reviews .commentlist .comment_container > .avatar {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	margin: 0;
}

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

.qs-rvhead {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-bottom: 6px;
}

.qs-rvhead__who {
	font-size: 13.5px;
	line-height: 1.4;
}

.qs-rvhead .woocommerce-review__author {
	font-weight: 700;
	color: #17181c;
}

.qs-rvhead__date,
.qs-rvhead .woocommerce-review__dash {
	color: #94a3b8;
	font-size: 12.5px;
	font-weight: 400;
}

#reviews .qs-rvhead .star-rating {
	float: none;
	margin: 0;
	flex: 0 0 auto;
}

/* Balasan (children) tersembunyi default; tampil bila di-toggle. */
#reviews .children[hidden] { display: none; }

/* Footer ulasan: Membantu (kiri) + toggle balasan / balas (kanan). */
.qs-rvfoot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #eef2f7;
}

.qs-rvfoot__help {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 0;
	background: none;
	padding: 0;
	color: #475569;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

.qs-rvfoot__help:hover { color: var(--qs-hijau, #16a34a); }
.qs-rvfoot__help.is-voted { color: var(--qs-hijau, #16a34a); }
.qs-rvfoot__help.is-voted svg { fill: rgba(22, 163, 74, 0.15); }
.qs-rvfoot__n { color: #94a3b8; font-weight: 600; }

.qs-rvfoot__toggle {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	border: 0;
	background: none;
	padding: 0;
	color: var(--qs-navy, #0b2946);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.qs-rvfoot__chev { transition: transform 0.2s ease; }
.qs-rvfoot__toggle.is-open .qs-rvfoot__chev { transform: rotate(180deg); }

/* Tombol buka/tutup form "Tulis Ulasan". */
.qs-rvwrite {
	display: inline-flex;
	align-items: center;
	margin: 18px 0 0;
	padding: 11px 22px;
	border: 0;
	border-radius: 10px;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.qs-rvwrite:hover { filter: brightness(1.06); }
.qs-rvwrite.is-open { background: #79a879; }
.qs-rvwrite--edit { background: #fff; color: var(--qs-hijau, #16a34a); border: 1px solid var(--qs-hijau, #16a34a); }
.qs-rvwrite--edit:hover { background: #f0fdf4; filter: none; }

/* ---------- Blok state ulasan (dirender server: guest/not_purchased/eligible/reviewed/seller) ---------- */
#reviews .qs-rvstate {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: #f7f9fc;
	border: 1px solid #d6e0eb;
	border-radius: 9px;
	padding: 12px 14px;
	margin: 16px 0 0;
	font-size: 12.5px;
	color: #526276;
}

#reviews .qs-rvstate__note {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.55;
	color: #526276;
}

#reviews .qs-rvstate__note--pending {
	color: #7c6114;
	font-weight: 600;
}

#reviews .qs-rvstate--reviewed { background: #fffdf5; border-color: #f3e2b6; }
#reviews .qs-rvstate--eligible { background: #f6fbf7; border-color: #cfe8d6; }

#reviews .qs-rvstate .qs-rvwrite { margin: 10px 0 0; }

#reviews .qs-rvstate__cta {
	display: inline-flex;
	margin-top: 10px;
	padding: 9px 15px;
	border-radius: 8px;
	background: var(--qs-hijau, #16a34a);
	color: #fff;
	font-size: 12.5px;
	font-weight: 800;
	text-decoration: none;
}

#reviews .qs-rvstate__cta:link,
#reviews .qs-rvstate__cta:visited,
#reviews .qs-rvstate__cta:hover,
#reviews .qs-rvstate__cta:focus,
#reviews .qs-rvstate__cta:active { color: #fff; }

#reviews .qs-rvstate__cta:hover { filter: brightness(1.06); }

#reviews .qs-rvstate__link {
	display: inline-flex;
	margin-top: 8px;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--qs-hijau, #16a34a);
	text-decoration: underline;
}

/* Penanda "sedang ditinjau" pada kartu ulasan milik sendiri. */
#reviews .qs-rvpend {
	margin: 6px 0 0;
	padding: 7px 10px;
	border-radius: 8px;
	background: #fffbeb;
	border: 1px solid #fde68a;
	color: #7c6114;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.45;
}

/* ==================== Perbaikan kotak ulasan: border mencakup avatar ==================== */
/* Border pindah dari .comment-text ke .comment_container agar membungkus avatar + teks. */
#reviews .commentlist .comment_container {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 14px 16px;
	border: 1px solid #eef2f7;
	border-radius: 12px;
	background: #fff;
}

#reviews .commentlist .comment_container > .avatar {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	margin: 0;
}

#reviews .commentlist .comment-text {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
}

/* Balasan (children): kotak abu tanpa border, juga mencakup avatar. */
#reviews .children {
	list-style: none;
	background: none !important;
	padding: 0 !important;
	margin: 12px 0 0 !important;
	border-radius: 0 !important;
}

#reviews .children .comment_container {
	border: 0;
	background: #f5f7fa;
}

/* Footer di bawah kotak — tanpa garis atas (kotak sudah punya border sendiri). */
#reviews .qs-rvfoot {
	border-top: 0;
	margin-top: 10px;
	padding-top: 0;
}

/* Form balas full-width di bawah ulasan. */
#reviews .qs-rvreply__form {
	margin: 12px 0 0;
}

#reviews .qs-rvreply__text {
	width: 100%;
	box-sizing: border-box;
	min-height: 84px;
}

/* Avatar ulasan = item flex normal (WooCommerce default-nya position:absolute →
   menumpuk nama). Paksa static + bulat, biar sejajar rapi di kiri isi. */
#reviews .commentlist img.avatar {
	position: static !important;
	flex: 0 0 auto;
	width: 40px !important;
	height: 40px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #eef2f7 !important;
	box-shadow: none !important;
}

/* ---------- Tombol "Ubah" ulasan (pesanan) + box "Ubah ulasan" (halaman produk) ---------- */
.qs-review__edit {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 34px;
	padding: 0 14px;
	border: 1px solid #d9e0ea;
	border-radius: 8px;
	background: #fff;
	color: var(--qs-navy, #0b2946);
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
}

.qs-review__edit:hover { background: #f7f8fa; }

.qs-myreview {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 4px 0 16px;
	padding: 12px 14px;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 12px;
}

.qs-myreview__txt {
	font-size: 13px;
	font-weight: 600;
	color: #15803d;
}

.qs-myreview .qs-stars { color: #f59e0b; }
.qs-myreview .qs-review__edit { border-color: #86efac; }

/* Tombol "Ubah" inline di dalam kotak ulasan milik sendiri (rata kanan bawah). */
.qs-review__edit--inline {
	display: block;
	margin: 8px 0 0 auto;
	width: -moz-fit-content;
	width: fit-content;
	height: 30px;
	padding: 0 14px;
	font-size: 12px;
}

/* Kartu .qs-myreview tidak dipakai lagi (diganti tombol inline). */
.qs-myreview { display: none !important; }

/* Section ULASAN selebar section "Lainnya di toko ini" (panel tab lain tetap 760px
   untuk kenyamanan baca; hanya panel Ulasan yang dilebarkan & disamakan tepiannya). */
#qs-panel-ulasan {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

/* Feedback tombol "Bagikan" (fallback desktop tanpa Web Share API). Toast
   mandiri (tak bergantung tampilToast) — muncul di bawah-tengah, tak merusak
   ikon tombol. */
.qs-share-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	transform: translate( -50%, 12px );
	z-index: 100000;
	max-width: calc( 100vw - 32px );
	padding: 11px 18px;
	background: var(--qs-navy, #0b2946);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	border-radius: 10px;
	box-shadow: 0 8px 28px rgba( 11, 41, 70, 0.28 );
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.qs-share-toast.is-show {
	opacity: 1;
	transform: translate( -50%, 0 );
}

.qs-share-toast--err {
	background: #b91c1c;
	box-shadow: 0 8px 28px rgba( 185, 28, 28, 0.28 );
}

/* ============ Checkout: metode pembayaran gaya Tokopedia ============ */
.woocommerce-checkout-payment ul.wc_payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
}
.qs-pm__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 8px 0 2px;
}
.qs-pm__head-t {
	font-weight: 800;
	font-size: 14px;
	color: var(--qs-title);
}
.qs-pm__toggle {
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	color: var(--qs-hijau);
	font-weight: 700;
	font-size: 13px;
}
.qs-pm__toggle:hover {
	text-decoration: underline;
}
/* Baris metode: pemisah garis, BUKAN kartu terpisah, tanpa highlight latar */
.woocommerce-checkout-payment li.wc_payment_method {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	padding: 13px 2px;
	margin: 0;
	border: 0;
	border-bottom: 1px solid #f1f5f9;
	border-radius: 0;
	background: none;
	cursor: pointer;
}
.woocommerce-checkout-payment li.wc_payment_method:last-of-type {
	border-bottom: 0;
}
.woocommerce-checkout-payment li.wc_payment_method.is-picked {
	background: none;
}
.woocommerce-checkout-payment li.wc_payment_method > input.input-radio {
	order: 3;
	margin: 0 0 0 auto;
	width: 20px;
	height: 20px;
	accent-color: var(--qs-hijau);
	flex: none;
	cursor: pointer;
}
.woocommerce-checkout-payment li.wc_payment_method > label {
	order: 2;
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 11px;
	font-weight: 600;
	font-size: 13.5px;
	color: var(--qs-title);
	cursor: pointer;
}
/* Logo dalam badge putih berbingkai, ukuran seragam */
.qs-pm__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 48px;
	height: 32px;
	padding: 3px 6px;
	border: 1px solid #e5e7eb;
	border-radius: 7px;
	background: #fff;
	flex: none;
	box-sizing: border-box;
}
.qs-pm__logo img {
	height: 16px;
	width: auto;
	max-width: 34px;
	object-fit: contain;
	display: block;
}
.woocommerce-checkout-payment li.wc_payment_method .payment_box {
	order: 4;
	flex-basis: 100%;
	margin: 2px 0 0;
	padding: 8px 10px;
	background: #f8fafc;
	border-radius: 8px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--qs-muted);
}
.woocommerce-checkout-payment li.wc_payment_method .payment_box::before {
	display: none;
}
.woocommerce-checkout-payment li.wc_payment_method.qs-pm--hidden {
	display: none;
}

/* Modal "Lihat Semua" metode pembayaran (ala Tokopedia) */
.qs-pmodal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
}
.qs-pmodal.is-open {
	display: block;
}
.qs-pmodal__ov {
	position: absolute;
	inset: 0;
	background: rgba( 15, 23, 42, 0.5 );
}
.qs-pmodal__panel {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX( -50% );
	width: min( 460px, 100vw );
	max-height: 88vh;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 18px 18px 0 0;
	overflow: hidden;
	box-shadow: 0 -10px 50px rgba( 0, 0, 0, 0.25 );
}
@media ( min-width: 600px ) {
	.qs-pmodal__panel {
		top: 50%;
		bottom: auto;
		transform: translate( -50%, -50% );
		border-radius: 16px;
		max-height: 86vh;
	}
}
.qs-pmodal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 18px;
	border-bottom: 1px solid #f1f5f9;
	font-weight: 800;
	font-size: 16px;
	color: var(--qs-title);
	flex: none;
}
.qs-pmodal__x {
	background: none;
	border: 0;
	font-size: 26px;
	line-height: 1;
	color: var(--qs-muted);
	cursor: pointer;
	padding: 0 4px;
}
.qs-pmodal__body {
	overflow-y: auto;
	padding: 2px 18px 20px;
	-webkit-overflow-scrolling: touch;
}
.qs-pmg__h {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: 14px 0 8px;
	padding: 4px 0;
	background: none;
	border: 0;
	font-weight: 700;
	font-size: 13px;
	color: #64748b;
	cursor: pointer;
}
.qs-pmg__chev {
	color: #94a3b8;
	display: inline-flex;
	transition: transform 0.2s ease;
}
.qs-pmg.is-collapsed .qs-pmg__chev {
	transform: rotate( 180deg );
}
.qs-pmg.is-collapsed .qs-pmgrid {
	display: none;
}
.qs-pmrow {
	display: flex;
	align-items: center;
	gap: 11px;
	width: 100%;
	padding: 13px 2px;
	background: none;
	border: 0;
	border-bottom: 1px solid #f1f5f9;
	cursor: pointer;
	text-align: left;
}
.qs-pmrow:last-child {
	border-bottom: 0;
}
.qs-pmrow__n {
	flex: 1;
	min-width: 0;
	font-weight: 600;
	font-size: 13.5px;
	color: var(--qs-title);
}
.qs-pmrow__r {
	width: 20px;
	height: 20px;
	border: 2px solid #cbd5e1;
	border-radius: 50%;
	flex: none;
	position: relative;
}
.qs-pmrow.is-picked .qs-pmrow__r {
	border-color: var(--qs-hijau);
}
.qs-pmrow.is-picked .qs-pmrow__r::after {
	content: "";
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: var(--qs-hijau);
}

/* ===== Checkout gaya Lynk: tombol pemicu + grid metode ===== */
.woocommerce-checkout-payment ul.wc_payment_methods.qs-pm-hiddenlist {
	display: none;
}
.qs-paybtn {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 8px 0 0;
	padding: 14px 16px;
	background: #fff;
	border: 1.5px solid #e5e7eb;
	border-radius: 12px;
	cursor: pointer;
	text-align: left;
	font: inherit;
}
.qs-paybtn:hover {
	border-color: var(--qs-hijau);
}
.qs-paybtn__ico {
	flex: none;
	display: inline-flex;
	align-items: center;
}
.qs-paybtn__ico--empty {
	width: 36px;
	height: 26px;
	border: 1.5px dashed #cbd5e1;
	border-radius: 6px;
}
.qs-paybtn__ico--card {
	width: 44px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1.5px solid #e5e7eb;
	border-radius: 7px;
	color: var(--qs-hijau);
}
/* Nota "Pembayaran Aman" */
.qs-secure {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 12px 0 0;
	padding: 12px 14px;
	background: #f6faf7;
	border-radius: 10px;
}
.qs-secure__ico {
	flex: none;
	color: var(--qs-hijau);
	display: inline-flex;
}
.qs-secure__txt {
	font-size: 12px;
	color: var(--qs-muted);
	line-height: 1.45;
}
.qs-secure__txt strong {
	display: block;
	color: var(--qs-title);
	font-size: 13px;
	font-weight: 700;
}
/* Tombol "Buat pesanan" nonaktif sampai metode dipilih */
#place_order.qs-submit--off,
#place_order:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
	filter: grayscale( 0.35 );
}
.qs-paybtn__t {
	flex: 1;
	font-weight: 700;
	font-size: 14px;
	color: var(--qs-title);
}
/* "Pakai kode promo": ikon + teks dikelompokkan di tengah, panah tetap kanan */
.qs-co__summary .qs-promo__toggle {
	position: relative;
	justify-content: center;
}
.qs-co__summary .qs-promo__toggle .qs-promo__arrow {
	position: absolute;
	right: 13px;
	top: 50%;
	transform: translateY( -50% );
	margin: 0;
}
.qs-paybtn:not(.is-set) .qs-paybtn__t {
	color: var(--qs-hijau);
}
.qs-paybtn__ch {
	color: #94a3b8;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}
/* ===== Tombol pemicu SETELAH metode dikonfirmasi (nama metode + ✓ + "Ubah") ===== */
.qs-paybtn.is-set {
	border-color: var(--qs-hijau);
}
.qs-paybtn__ico--logo {
	width: 44px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1.5px solid #e5e7eb;
	border-radius: 7px;
	padding: 3px;
	overflow: hidden;
}
.qs-paybtn__ico--logo .qs-pmlogo {
	max-width: 100% !important;
	max-height: 22px !important;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}
/* Alfamart/Alfamidi mengirim 2 logo; cukup tampilkan yang pertama di tombol. */
.qs-paybtn__ico--logo .qs-pmlogo ~ .qs-pmlogo {
	display: none;
}
.qs-paybtn.is-set .qs-paybtn__t {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}
.qs-paybtn__name {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.qs-paybtn__ck {
	flex: none;
	color: var(--qs-hijau);
	font-weight: 700;
}
.qs-paybtn__ch--edit {
	flex: none;
	font-size: 13px;
	font-weight: 700;
	color: var(--qs-hijau);
	text-decoration: underline;
}
/* Teks khusus pembaca layar (wilayah aria-live perubahan metode). */
.qs-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect( 0 0 0 0 );
	white-space: nowrap;
	border: 0;
}
/* modal footer + tombol konfirmasi */
.qs-pmnote {
	margin: 0 18px 12px;
	padding: 10px 12px;
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 10px;
	color: #9a3412;
	font-size: 13px;
	line-height: 1.5;
	flex: none;
}
.qs-pmodal__foot {
	padding: 14px 18px;
	border-top: 1px solid #f1f5f9;
	flex: none;
}
.qs-pmodal__ok {
	display: block;
	width: 100%;
	padding: 14px;
	background: var(--qs-hijau);
	color: #fff;
	border: 0;
	border-radius: 12px;
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
}
.qs-pmodal__ok:hover {
	filter: brightness( 0.96 );
}
/* grid metode 2 kolom */
.qs-pmgrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin: 6px 0 4px;
}
.qs-pmbox {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 4px 6px;
	min-height: 56px;
	padding: 12px;
	background: #fff;
	border: 1.5px solid #e5e7eb;
	border-radius: 10px;
	cursor: pointer;
}
/* Baseline logo. !important + scope .qs-pmbox mengalahkan rule tema `img{max-width:100%}`
   yang bikin logo lebar (mis. CIMB) tak ter-cap. Bobot optis diseimbangkan per-logo di bawah. */
.qs-pmbox .qs-pmlogo {
	max-height: 22px !important;
	max-width: 72px !important;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}
/* Logo tebal/lebar dikecilkan biar tak mendominasi; semua tampak setara & jelas. */
.qs-pmbox[data-id="midtrans_sub_ovo"] .qs-pmlogo { max-height: 17px !important; max-width: 50px !important; }
.qs-pmbox[data-id="midtrans_sub_dana"] .qs-pmlogo { max-height: 19px !important; max-width: 58px !important; }
.qs-pmbox[data-id="midtrans_sub_gopay"] .qs-pmlogo { max-height: 18px !important; max-width: 58px !important; }
.qs-pmbox[data-id="midtrans_sub_qris"] .qs-pmlogo { max-height: 21px !important; max-width: 60px !important; }
.qs-pmbox[data-id="midtrans_sub_shopeepay"] .qs-pmlogo { max-height: 22px !important; max-width: 68px !important; }
.qs-pmbox[data-id="midtrans_sub_cimb_va"] .qs-pmlogo { max-height: 22px !important; max-width: 82px !important; }
.qs-pmbox[data-id="midtrans_sub_bsi_va"] .qs-pmlogo { max-height: 22px !important; max-width: 66px !important; }
.qs-pmbox[data-id="midtrans_sub_card"] .qs-pmlogo,
.qs-pmbox[data-id="x_visa"] .qs-pmlogo { max-height: 24px !important; max-width: 46px !important; }
/* Alfamart + Alfamidi (jaringan gerai sama) ditumpuk vertikal dalam satu kotak. */
.qs-pmbox[data-id="midtrans_sub_alfamart"] {
	flex-direction: column;
	gap: 3px;
}
.qs-pmbox[data-id="midtrans_sub_alfamart"] .qs-pmlogo { max-height: 15px !important; max-width: 72px !important; }
.qs-pmbox:hover {
	border-color: #cbd5e1;
}
.qs-pmbox.is-picked {
	border-color: var(--qs-hijau);
	box-shadow: inset 0 0 0 1px var(--qs-hijau);
}
.qs-pmbox .qs-pm__logo {
	border: 0;
	background: none;
	min-width: 0;
	height: auto;
	padding: 0;
	gap: 5px;
}
.qs-pmbox .qs-pm__logo img {
	height: 24px;
	max-width: 96px;
}
.qs-pmbox__txt {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--qs-title);
	text-align: center;
}

/* ===== Halaman order-pay (di balik popup Snap) — kartu bersih ala Tokopedia ===== */
.qs-oppay {
	max-width: 460px;
	margin: 40px auto;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	padding: 28px 24px;
	box-shadow: 0 6px 24px rgba( 11, 41, 70, 0.06 );
}
.qs-oppay__title {
	font-size: 20px;
	font-weight: 800;
	color: var( --qs-navy, #0b2946 );
	margin: 0 0 6px;
	text-align: center;
}
.qs-oppay__sub {
	color: #64748b;
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 20px;
	text-align: center;
}
.qs-oppay ul.order_details {
	list-style: none !important;
	margin: 0 0 20px !important;
	padding: 16px !important;
	background: #f8fafc;
	border: 0 !important;
	border-radius: 12px;
	display: flex !important;
	flex-direction: column;
	gap: 10px;
	box-shadow: none !important;
}
.qs-oppay ul.order_details li {
	display: flex !important;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	float: none !important;
	width: auto !important;
	font-size: 14px;
	color: #64748b;
	text-transform: none;
}
.qs-oppay ul.order_details li strong {
	color: #0f172a;
	font-weight: 700;
	text-align: right;
}
.qs-oppay ul.order_details li.total strong {
	color: var( --qs-navy, #0b2946 );
	font-size: 16px;
}
.qs-oppay #pay-button.button.alt,
.qs-oppay a#pay-button {
	display: block;
	width: 100%;
	text-align: center;
	padding: 14px 18px;
	border-radius: 12px;
	background: var( --qs-navy, #0b2946 );
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	border: 0;
	box-shadow: none;
	cursor: pointer;
	text-decoration: none;
}
.qs-oppay #pay-button.button.alt:hover,
.qs-oppay a#pay-button:hover {
	background: #0a2138;
	color: #fff;
}
.qs-oppay #payment-instruction p {
	color: #64748b;
	font-size: 13px;
	line-height: 1.55;
}
.qs-oppay #payment-instruction-btn {
	display: inline-block;
	margin-top: 8px;
}

/* ===== view-order: section "Pesan Lagi" (order dibatalkan/gagal) ===== */
.qs-vo__again { text-align: center; }
.qs-vo__again-note { color: #64748b; font-size: 14px; margin: 0 0 14px; }
.qs-vo__again-btn { width: auto; padding-left: 28px; padding-right: 28px; }

/* Tombol terisi (navy/hijau) sebagai <a>: kunci teks putih di semua state —
   cegah warna link area My Account (biru) menimpa saat hover/visited. */
.qs-thanks__btn--primary,
.qs-thanks__btn--primary:link,
.qs-thanks__btn--primary:visited,
.qs-thanks__btn--primary:hover,
.qs-thanks__btn--primary:focus,
.qs-thanks__btn--primary:active,
.qs-thanks__btn--shop,
.qs-thanks__btn--shop:link,
.qs-thanks__btn--shop:visited,
.qs-thanks__btn--shop:hover,
.qs-thanks__btn--shop:focus,
.qs-thanks__btn--shop:active {
	color: #fff !important;
}

/* thankyou: catatan di bawah daftar unduhan */
.qs-thanks__dl-note { color: #64748b; font-size: 13px; margin: 12px 0 0; }

/* H1 tersembunyi utk aksesibilitas (halaman sistem WooCommerce) */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; border: 0;
	clip: rect(0 0 0 0); clip-path: inset(50%);
	overflow: hidden; white-space: nowrap;
}

/* Tombol simpan form akun (Detail Akun / Alamat) — hijau brand, konsisten CTA lain.
   Temuan audit visual 2026-07-27 (satu-satunya sisa kosmetik). */
.woocommerce-MyAccount-content form .button {
	background: var(--qs-hijau, #16a34a) !important;
	border: 0 !important;
	border-radius: 10px !important;
	color: #fff !important;
	font-weight: 700;
	cursor: pointer;
}
.woocommerce-MyAccount-content form .button:hover {
	filter: brightness(1.06);
}

/* ===== KUNCI GLOBAL WARNA TEKS TOMBOL (anti :visited browser) =====
   Tombol berbentuk <a> kalah dari state :visited bawaan browser begitu URL-nya
   pernah diklik (karena itu tombol "tadinya bagus" lalu membiru setelah dipakai).
   Kunci: CTA terisi = teks putih; CTA outline hijau = teks hijau. Semua state. */
:is(.qs-shop__search-btn, .qs-btn--cart, .qs-dl__btn, .qs-dl-btn,
	.qs-empty__btn, .qs-thanks__wa, .qs-thanks__btn--primary, .qs-thanks__btn--shop,
	.qs-otp__btn, .qs-auth__btn, .qs-cart-summary__buy, .qs-cart-empty__cta,
	.qs-pmodal__ok),
:is(.qs-shop__search-btn, .qs-btn--cart, .qs-dl__btn, .qs-dl-btn,
	.qs-empty__btn, .qs-thanks__wa, .qs-thanks__btn--primary, .qs-thanks__btn--shop,
	.qs-otp__btn, .qs-auth__btn, .qs-cart-summary__buy, .qs-cart-empty__cta,
	.qs-pmodal__ok):is(:link, :visited, :hover, :active, :focus) {
	color: #fff !important;
}

.qs-co .button.alt,
.qs-co .button.alt:is(:link, :visited, :hover, :active, :focus) {
	color: #fff !important;
}

/* CTA outline hijau (mis. "Jelajahi produk" di wishlist, tombol Beli di kartu) */
.qs-btn--buy,
.qs-btn--buy:is(:link, :visited, :hover, :active, :focus) {
	color: var(--qs-hijau, #16a34a) !important;
}

/* Aksi kartu Pesanan: outline = teks HIJAU terkunci semua state; "Lihat"(.view) = putih.
   (Koreksi 2026-07-27: kunci global sebelumnya salah menyapu .woocommerce-button
   sehingga tombol outline jadi putih-di-putih / tak terlihat.) */
.qs-order-card__actions .button,
.qs-order-card__actions .button:is(:link, :visited, :hover, :active, :focus) {
	color: var(--qs-hijau, #16a34a) !important;
}
.qs-order-card__actions .view,
.qs-order-card__actions .view:is(:link, :visited, :hover, :active, :focus) {
	color: #fff !important;
}

/* Tombol "Jelajahi produk" (wishlist kosong): beri napas — jangan mepet border. */
.woocommerce-MyAccount-content .qs-btn--buy {
	padding: 0 26px;
}

/* Tombol unduhan bergaya kartu (.qs-vo__dl-btn — Detail Pesanan & thankyou):
   desain ghost (bg putih, teks gelap) — kunci warna aslinya di semua state.
   (Koreksi: sempat salah masuk daftar kunci putih → teks tak terlihat.) */
.qs-vo__dl-btn,
.qs-vo__dl-btn:is(:link, :visited, :active, :focus) {
	color: #17181c !important;
}
.qs-vo__dl-btn:hover {
	color: #15803d !important;
}

/* Banner "Butuh bantuan?" versi sel grid (bersanding dgn tile Wishlist, baris ke-3) */
.qs-dash__help--cell {
	margin: 0 !important;
}

/* Tombol order saat sibuk (menghitung biaya / membuat pesanan) */
#place_order.qs-submit--busy {
	opacity: 0.75;
	pointer-events: none;
}

/* ===== Detail Akun: bagian Profil + kartu "Login & Keamanan" =====
   Menggantikan baris ringkas "Kata Sandi ••••••••" lama: baris itu memakai
   titik-titik yang mengesankan setiap akun punya kata sandi aktif, padahal
   pelanggan Google/OTP tidak. Sekarang status ditulis apa adanya. */
.qs-acctsec {
	margin: 0 0 26px;
}
.qs-acctsec__ttl {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: #0b2946;
}
.qs-authcard__emailnote {
	margin: -2px 0 18px;
	font-size: 12.5px;
	line-height: 1.55;
	color: #64748b;
}

.qs-authcard {
	padding: 16px;
	border: 1px solid var(--qs-line, #cbd7e6);
	border-radius: 12px;
	background: #fff;
}
.qs-authcard__ttl {
	margin: 0 0 12px;
	font-size: 15px;
	font-weight: 800;
	color: #0b2946;
}
.qs-authcard__list {
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.qs-authrow {
	display: flex;
	align-items: center;
	gap: 11px;
	flex-wrap: wrap;
	padding: 11px 12px;
	border: 1px solid #e6edf5;
	border-radius: 10px;
	background: #f8fafc;
}
.qs-authrow__ico {
	display: inline-flex;
	flex: none;
	color: #94a3b8;
}
.qs-authrow__txt {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	flex: 1 1 130px;
}
.qs-authrow__ttl {
	font-size: 13.5px;
	font-weight: 700;
	color: #1e293b;
}
.qs-authrow__sub {
	font-size: 12.5px;
	color: #64748b;
	overflow-wrap: anywhere;
}
.qs-authrow__badge {
	flex: none;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 700;
	white-space: nowrap;
}
.qs-authrow__badge--ok {
	background: #dcfce7;
	color: #166534;
}
.qs-authrow__badge--warn {
	background: #fef3c7;
	color: #92400e;
}
.qs-authrow__badge--info {
	background: #e0f2fe;
	color: #075985;
}
.qs-authrow__badge--muted {
	background: #e9eef5;
	color: #475569;
}
.qs-authcard__note {
	margin: 0 0 14px;
	font-size: 13px;
	line-height: 1.55;
	color: #475569;
}
.qs-authcard__act {
	margin: 0;
}
.qs-authcard__btn {
	min-height: 40px;
	max-width: 100%;
	padding: 0 18px;
	border: 1.5px solid var(--qs-hijau, #16a34a);
	border-radius: 9px;
	background: #fff;
	color: var(--qs-hijau, #16a34a) !important;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
}
.qs-authcard__btn:hover:not(:disabled) {
	background: #f0fdf4;
}
.qs-authcard__btn:disabled {
	border-color: #d9e0ea;
	color: #94a3b8 !important;
	cursor: default;
}
.qs-authcard__btn.is-open {
	border-color: #d9e0ea;
	color: #64748b !important;
}
.qs-authcard__hint {
	margin: 10px 0 0;
	font-size: 12px;
	line-height: 1.5;
	color: #64748b;
}

/* Umpan balik aksi keamanan: kotak inline yang MENETAP (bukan toast), sesuai
   aturan 4 kebijakan notifikasi — pesan ini harus tetap terbaca. */
.qs-authcard__msg {
	margin: 12px 0 0;
	padding: 11px 13px;
	border-radius: 10px;
	font-size: 13px;
	line-height: 1.5;
}
.qs-authcard__msg.is-ok {
	border: 1px solid #bbf7d0;
	background: #f0fdf4;
	color: #166534;
}
.qs-authcard__msg.is-err {
	border: 1px solid #fecaca;
	background: #fef2f2;
	color: #991b1b;
}

.qs-pass-fieldset {
	margin: 0;
	padding: 14px 0 0;
	border: 0;
}
.qs-pass-fieldset.is-collapsed { display: none; }

@media (max-width: 400px) {
	.qs-authcard { padding: 14px 12px; }
	.qs-authcard__btn { width: 100%; }
}

/* ==================== F-01: Sticky footer keluarga Account ==================== */
/* Halaman Account pendek (Dasbor, Wishlist kosong, Lupa Password, dll.)
   menyisakan ruang putih setelah footer karena body masih block flow dan
   #qs-main hanya setinggi isi alami. Flex column membuat #qs-main mengisi
   sisa tinggi viewport sehingga footer menempel ke dasar, tanpa hard-code
   tinggi header/footer dan tanpa memengaruhi halaman panjang (flex-basis
   auto: konten panjang tetap scroll alami). Diskop ke keluarga Account. */
body.woocommerce-account {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}

body.woocommerce-account #qs-main {
	flex: 1 0 auto;
	width: 100%;
}

body.woocommerce-account .qs-footer {
	flex: 0 0 auto;
	width: 100%;
}

/* Admin bar menggeser html 32px ke bawah; tanpa koreksi ini halaman pendek
   mendapat scroll vertikal 32px. Memakai variabel tinggi milik WP core,
   bukan tinggi header/footer tema yang di-hard-code. */
body.admin-bar.woocommerce-account {
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 32px));
	min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px));
}

/* Backdrop minicart (header-icons.css) tingginya 100vh dari top:100% header,
   sehingga menjulur ±72px melewati dasar viewport dan menciptakan scroll
   kosong setelah footer pada halaman pendek (pre-existing, terlihat jelas
   setelah footer menempel ke dasar). 100% = tinggi header (containing block),
   jadi tinggi backdrop = viewport dikurangi header, tanpa hard-code. Diskop
   ke Account agar perilaku halaman lain tidak berubah. */
body.woocommerce-account .qs-minicart-backdrop {
	height: calc(100vh - 100%);
	height: calc(100dvh - 100%);
}

/* ==================== Target sentuh mobile >=44px (remediasi 2026-08-03) ====
   Ukuran visual glyph tidak berubah; hanya kotak sentuh yang dibesarkan. */
@media (max-width: 1023px) {
	.qs-shopbar__ico {
		width: 44px;
		height: 44px;
	}
	.qs-gal-dots { gap: 0; margin-top: 2px; }
	.qs-gal-dot {
		width: 44px;
		height: 44px;
		display: grid;
		place-items: center;
		background: none;
	}
	.qs-gal-dot::before {
		content: "";
		width: 7px;
		height: 7px;
		border-radius: 999px;
		background: #cbd5e1;
	}
	.qs-gal-dot.is-active { width: 44px; background: none; }
	.qs-gal-dot.is-active::before { width: 18px; background: var(--qs-hijau); }
	.qs-rvreply__btn { min-height: 44px; }
	.qs-rvfoot__help { min-height: 44px; padding: 4px 8px; margin: -4px -8px; }
}
