/* ==========================================================================
   ProtiDokan — Product Page (Daraz style)
   ফাইল: assets/css/product-page.css  (শুধু প্রোডাক্ট পেজে লোড হয়)
   রং বদলাতে: Customizer > 📦 Product Page সেটিংস
   ========================================================================== */

/* ---------- পেজ বেস ---------- */
body.pd-single-product {
	background: #f5f5f5;
	padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px));
}
body.pd-single-product.dz-lock { overflow: hidden; }
body.pd-single-product .bottom-nav { display: none !important; }
body.pd-single-product .single-product-container,
body.pd-single-product .main-container,
body.pd-single-product .dz-single-wrap {
	padding: 0 !important;
	background: transparent !important;
	min-height: 0 !important;
}

.dz-page {
	--dz-accent: #f85606;
	--dz-text: #212121;
	--dz-muted: #8a8a8a;
	--dz-store: #ee3a6a;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	background: #f5f5f5;
	color: var(--dz-text);
	padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
}
.dz-page [hidden] { display: none !important; }
.dz-page button { font-family: inherit; }
.dz-page :focus-visible { outline: 2px solid var(--dz-accent); outline-offset: 2px; }

.dz-page .woocommerce-notices-wrapper:not(:empty) {
	position: relative;
	z-index: 2;
	background: #fff;
	padding-top: calc(env(safe-area-inset-top, 0px) + 52px);
}
.dz-page .woocommerce-message,
.dz-page .woocommerce-error,
.dz-page .woocommerce-info { margin: 8px; }

.dz-sec { background: #fff; margin: 0 0 8px; }
.dz-sec-title { font-size: 16px; font-weight: 600; margin: 0 0 10px; color: var(--dz-text); }

/* ---------- ফ্লোটিং টপ বাটন ---------- */
.dz-top {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 750px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: calc(env(safe-area-inset-top, 0px) + 10px) 14px 8px;
	z-index: 9995;
	pointer-events: none;
	transition: background .2s ease, box-shadow .2s ease;
}
.dz-top-right { display: flex; gap: 10px; position: relative; }
.dz-float {
	pointer-events: auto;
	position: relative;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(90, 90, 90, .62);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	border: 0;
	padding: 0;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}
.dz-float .pd-cart-badge { top: -4px; right: -5px; left: auto; }
.dz-top.is-solid {
	background: #fff;
	box-shadow: 0 1px 6px rgba(0, 0, 0, .12);
	pointer-events: auto;
}
.dz-top.is-solid .dz-float { background: transparent; color: #333; }

.dz-menu {
	pointer-events: auto;
	position: absolute;
	top: 42px;
	right: 0;
	min-width: 170px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .2);
	padding: 6px 0;
	z-index: 2;
}
.dz-menu a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 16px;
	font-size: 14px;
	color: #333;
}
.dz-menu a i { width: 18px; text-align: center; color: var(--dz-muted); }

/* ---------- গ্যালারি ---------- */
.dz-gallery { position: relative; background: #fff; }
.dz-slides {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}
.dz-slides::-webkit-scrollbar { display: none; }
.dz-slide {
	position: relative;
	flex: 0 0 100%;
	aspect-ratio: 1 / 1;
	scroll-snap-align: center;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: zoom-in;
}
.dz-slide .dz-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block; }
.dz-slide-video { cursor: default; background: #000; }
.dz-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; }
.dz-yt {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	padding: 0;
	background-color: #000;
	background-size: cover;
	background-position: center;
	cursor: pointer;
}
.dz-yt i {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .6);
	color: #fff;
	font-size: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 4px;
}
.dz-yt-iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dz-vbadge {
	position: absolute;
	left: 12px;
	bottom: 24px;
	background: rgba(70, 70, 70, .7);
	color: #fff;
	font-size: 12px;
	padding: 4px 10px;
	border-radius: 14px;
	pointer-events: none;
}
.dz-counter {
	position: absolute;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	background: rgba(70, 70, 70, .7);
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	padding: 4px 16px;
	border-radius: 16px;
	pointer-events: none;
}

/* ---------- দামের বার ---------- */
.dz-pricebar {
	background: var(--dz-accent);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 14px;
	min-height: 60px;
}
.dz-pb-left { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; min-width: 0; }
.dz-price { font-size: 30px; font-weight: 700; line-height: 1; letter-spacing: -.3px; }
.dz-price-html, .dz-price-html * { color: #fff !important; font-size: 22px; }
.dz-sym { font-size: 22px; margin-right: 4px; font-weight: 700; }
.dz-from { font-size: 12px; opacity: .9; align-self: center; }
.dz-old { font-size: 14px; opacity: .85; font-weight: 400; }
.dz-off {
	background: #ffe3e6;
	color: #f0284a;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.3;
	padding: 2px 6px;
	border-radius: 4px;
	align-self: center;
}
.dz-pb-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 5px;
	flex: 0 1 auto;
	min-width: 0;
}
.dz-camp { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.dz-camp-title { font-size: 17px; font-weight: 900; font-style: italic; line-height: 1.05; text-align: right; }
.dz-camp-dates {
	background: #f7ff00;
	color: var(--dz-accent);
	font-size: 12px;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: 2px;
	white-space: nowrap;
}
.dz-timer { font-size: 12.5px; white-space: nowrap; }
.dz-timer b { font-weight: 800; }

/* ---------- টাইটেল + রেটিং ---------- */
.dz-info { padding: 12px 14px; }
.dz-titlebox { display: flex; align-items: flex-start; gap: 12px; }
.dz-title {
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--dz-text);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-word;
}
.dz-title-actions { display: flex; gap: 12px; padding-top: 1px; }
.dz-ic-btn { background: none; border: 0; padding: 4px; font-size: 22px; line-height: 1; color: #777; cursor: pointer; }
.dz-fav.is-on { color: #f0284a; }
.dz-ratingrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }
.dz-rating { display: inline-flex; align-items: center; gap: 6px; }
.dz-stars { color: #ffb400; font-size: 14px; letter-spacing: 1px; }
.dz-rating-none .dz-stars { color: #d6d6d6; }
.dz-rate-num, .dz-rate-count { color: var(--dz-muted); font-size: 14px; }
.dz-sold { font-size: 13px; color: #757575; }

/* ---------- Options / Specification / Delivery রো ---------- */
.dz-row {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 14px 0;
	background: none;
	border: 0;
	text-align: left;
	font-size: 15px;
	color: var(--dz-text);
	cursor: pointer;
}
.dz-row-label { flex: 0 0 auto; color: var(--dz-muted); white-space: nowrap; }
.dz-row-value { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dz-row-accent { color: var(--dz-accent); }
.dz-chev { flex: 0 0 auto; color: var(--dz-muted); font-size: 13px; }

.dz-options { padding: 0 14px 14px; }
.dz-options .dz-row { padding-top: 14px; padding-bottom: 12px; }
.dz-row-value.is-set { color: var(--dz-text); }
.dz-thumbs { display: flex; gap: 10px; overflow-x: auto; padding: 2px 2px 4px; scrollbar-width: none; }
.dz-thumbs::-webkit-scrollbar { display: none; }
.dz-thumb {
	position: relative;
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	padding: 2px;
	background: #fff;
	border: 1px solid #e3e3e3;
	border-radius: 4px;
	overflow: hidden;
	cursor: pointer;
}
.dz-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.dz-thumb.is-active { border: 2px solid var(--dz-accent); padding: 1px; }
.dz-thumb.is-active::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	border-top: 18px solid var(--dz-accent);
	border-left: 18px solid transparent;
}
.dz-thumb.is-active::before {
	content: "";
	position: absolute;
	top: 1px;
	right: 4px;
	width: 3px;
	height: 7px;
	border-right: 1.5px solid #fff;
	border-bottom: 1.5px solid #fff;
	transform: rotate(38deg);
	z-index: 2;
}

.dz-page .dz-rows.dz-sec { background: transparent; margin: 0; }
.dz-rows > .dz-row { background: #fff; padding: 16px 14px; margin-bottom: 8px; }

/* ---------- রিভিউ ---------- */
.dz-reviews, .dz-details { padding: 14px; }
.dz-rev-sum { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; }
.dz-rev-big { font-size: 28px; font-weight: 600; }
.dz-rev-of, .dz-rev-total { color: var(--dz-muted); font-size: 14px; }
.dz-rev-body h2, .dz-rev-body .woocommerce-Reviews-title { display: none; }
.dz-page #reviews #comments ol.commentlist { margin: 0; padding: 0; list-style: none; }
.dz-page #reviews #comments ol.commentlist li {
	list-style: none;
	margin: 0;
	padding: 12px 0;
	border-top: 1px solid #f0f0f0;
}
.dz-page #reviews #comments ol.commentlist li img.avatar {
	position: static;
	float: left;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
}
.dz-page #reviews #comments ol.commentlist li .comment-text {
	margin: 0 0 0 46px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
}
.dz-page #reviews .comment-text .meta { font-size: 12px; color: var(--dz-muted); margin: 2px 0 4px; }
.dz-page #reviews .comment-text .description p { margin: 4px 0; font-size: 14px; line-height: 1.5; }
.dz-page #reviews #review_form_wrapper { margin-top: 12px; }
.dz-page #reviews #reply-title { display: block; margin: 12px 0 8px; font-size: 15px; font-weight: 600; }
.dz-page #reviews textarea,
.dz-page #reviews input[type="text"],
.dz-page #reviews input[type="email"] {
	width: 100%;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font: inherit;
	background: #fff;
}
.dz-page #reviews .form-submit input {
	background: var(--dz-accent);
	color: #fff;
	border: 0;
	border-radius: 6px;
	padding: 10px 18px;
	font-weight: 600;
	cursor: pointer;
}

/* ---------- Sold by ---------- */
.dz-store { display: flex; align-items: center; gap: 12px; padding: 14px; }
.dz-store-ic {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fdecef;
	color: var(--dz-store);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
}
.dz-store-ic { overflow: hidden; }
.dz-store-ic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dz-store-rate { font-size: 12px; color: var(--dz-muted); margin-top: 1px; }
.dz-store-rate i { color: #ffb400; font-size: 11px; }
.dz-store-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.dz-store-by { font-size: 12px; color: var(--dz-muted); }
.dz-store-name { font-size: 15px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dz-store-btn {
	flex: 0 0 auto;
	border: 1px solid var(--dz-accent);
	color: var(--dz-accent);
	border-radius: 4px;
	padding: 7px 12px;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

/* ---------- Product details ---------- */
.dz-desc { font-size: 14px; line-height: 1.65; color: #333; overflow: hidden; overflow-wrap: anywhere; }
.dz-desc img { max-width: 100%; height: auto; display: block; margin: 6px auto; }
.dz-desc table { display: block; max-width: 100%; overflow-x: auto; }
.dz-desc iframe, .dz-desc video { max-width: 100%; }
.dz-desc p { margin: 0 0 10px; }
.dz-short { margin-bottom: 10px; }
.dz-desc.is-clamped { position: relative; max-height: 300px; }
.dz-desc.is-clamped::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 80px;
	background: linear-gradient(rgba(255, 255, 255, 0), #fff);
	pointer-events: none;
}
.dz-more {
	display: block;
	width: 100%;
	margin-top: 10px;
	padding: 10px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	color: #444;
	cursor: pointer;
}

/* ---------- Related ---------- */
.dz-related { padding-bottom: 8px; }
.dz-rel-title { font-size: 16px; font-weight: 600; margin: 8px 14px 10px; }
.dz-rel-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; padding: 0 8px; }
.dz-rel-card { display: block; background: #fff; border-radius: 4px; overflow: hidden; }
.dz-rel-img img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.dz-rel-info { padding: 8px; }
.dz-rel-name { font-size: 13px; line-height: 1.3; height: 34px; overflow: hidden; color: var(--dz-text); }
.dz-rel-price { margin-top: 4px; color: var(--dz-accent); font-size: 15px; font-weight: 700; }
.dz-rel-price del { color: #9e9e9e; font-size: 12px; font-weight: 400; margin-right: 4px; }
.dz-rel-price ins { text-decoration: none; }
.dz-rel-sold { margin-top: 2px; font-size: 11px; color: var(--dz-muted); }

/* ---------- স্টিকি অ্যাকশন বার ---------- */
.dz-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9990;
	background: #fff;
	border-top: 1px solid #eee;
	padding-bottom: env(safe-area-inset-bottom, 0px);
}
.dz-bar-inner { display: flex; align-items: stretch; height: 54px; max-width: 750px; margin: 0 auto; }
.dz-bar-ic {
	position: relative;
	flex: 0 0 auto;
	width: 56px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	font-size: 11px;
	color: var(--dz-muted);
}
.dz-bar-ic i { font-size: 22px; }
.dz-bar-store i { color: var(--dz-store); }
.dz-bar-chat i { color: #212121; }
.dz-bar-ic + .dz-bar-ic::before {
	content: "";
	position: absolute;
	left: 0;
	top: 20%;
	height: 60%;
	width: 1px;
	background: #e5e5e5;
}
.dz-bar-btns { flex: 1; display: flex; min-width: 0; }

.dz-btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	border: 0;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}
.dz-btn-buy {
	background: linear-gradient(90deg, #3fd2f3, #1a9fe4);
	clip-path: polygon(18px 0, 100% 0, calc(100% - 18px) 100%, 0 100%);
}
.dz-btn-cart {
	background: linear-gradient(90deg, #ff9a3d, #f7700c);
	clip-path: polygon(18px 0, 100% 0, 100% 100%, 0 100%);
	margin-left: -18px;
}
.dz-btn-wide { clip-path: none; margin-left: 0; }
.dz-btn-off { background: #c9c9c9; cursor: not-allowed; }
.dz-btn.is-busy { opacity: .6; pointer-events: none; }

/* ---------- Bottom sheet ---------- */
.dz-overlay {
	position: fixed;
	inset: 0;
	z-index: 10000;
	background: rgba(0, 0, 0, .5);
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease, visibility 0s linear .2s;
}
.dz-overlay.is-open { opacity: 1; visibility: visible; transition: opacity .2s ease, visibility 0s; }

.dz-sheet {
	position: fixed;
	left: 50%;
	bottom: 0;
	z-index: 10001;
	width: 100%;
	max-width: 750px;
	max-height: 82vh;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 14px 14px 0 0;
	transform: translate(-50%, 105%);
	visibility: hidden;
	transition: transform .25s ease, visibility 0s linear .25s;
}
.dz-sheet.is-open { transform: translate(-50%, 0); visibility: visible; transition: transform .25s ease, visibility 0s; }

.dz-sheet-head {
	position: relative;
	display: flex;
	align-items: flex-end;
	gap: 12px;
	padding: 14px 44px 12px 14px;
	border-bottom: 1px solid #f0f0f0;
}
.dz-sheet-head-plain { align-items: center; font-size: 16px; padding-top: 16px; }
.dz-sh-img {
	width: 84px;
	height: 84px;
	margin-top: -28px;
	object-fit: contain;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 6px;
}
.dz-sh-info { min-width: 0; }
.dz-sh-price { color: var(--dz-accent); font-size: 22px; font-weight: 700; line-height: 1.2; }
.dz-sh-price .dz-sym { font-size: 16px; }
.dz-sh-stock { font-size: 12px; color: var(--dz-muted); min-height: 16px; }
.dz-sh-stock p { margin: 0; }
.dz-sheet-x {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 36px;
	height: 36px;
	background: none;
	border: 0;
	font-size: 18px;
	color: #666;
	cursor: pointer;
}
.dz-sheet-body { padding: 14px; overflow-y: auto; flex: 1; }
.dz-sheet-foot { display: flex; height: 54px; margin-bottom: env(safe-area-inset-bottom, 0px); }

/* Sheet এর ভেতরের WooCommerce ভ্যারিয়েশন ফর্ম */
.dz-sheet form.cart { margin: 0; }
.dz-sheet table.variations,
.dz-sheet table.variations tbody,
.dz-sheet table.variations tr,
.dz-sheet table.variations th,
.dz-sheet table.variations td { display: block; width: 100%; padding: 0; border: 0; text-align: left; background: none; }
.dz-sheet table.variations { margin: 0 0 6px; }
.dz-sheet table.variations tr { margin-bottom: 16px; }
.dz-sheet table.variations th.label label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; color: var(--dz-text); }
.dz-hidden-select {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	opacity: 0;
}
.dz-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.dz-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	background: #f6f6f6;
	border: 1px solid #e3e3e3;
	border-radius: 4px;
	font-size: 14px;
	color: var(--dz-text);
	cursor: pointer;
}
.dz-pill.has-img { padding: 4px 10px 4px 4px; }
.dz-pill img { width: 30px; height: 30px; object-fit: contain; border-radius: 3px; background: #fff; }
.dz-pill.is-active { color: var(--dz-accent); border-color: var(--dz-accent); background: #fff5f0; }
.dz-pill.is-disabled { opacity: .4; text-decoration: line-through; cursor: not-allowed; }
.dz-sheet a.reset_variations { display: inline-block; margin-top: 8px; font-size: 12px; color: var(--dz-muted); text-decoration: underline; }
.dz-sheet .single_variation_wrap .single_variation { display: none !important; }
.dz-sheet:not(.dz-native-btn) .single_add_to_cart_button { display: none !important; }
.dz-sheet .woocommerce-variation-add-to-cart { display: block; }

.dz-sheet .quantity { display: flex; align-items: center; margin-top: 4px; }
.dz-sheet .quantity::before { content: attr(data-label); flex: 1; font-size: 14px; font-weight: 600; }
.dz-qbtn {
	width: 34px;
	height: 34px;
	background: #f6f6f6;
	border: 1px solid #ddd;
	font-size: 18px;
	line-height: 1;
	color: #333;
	cursor: pointer;
}
.dz-qbtn[data-dir="-1"] { border-radius: 4px 0 0 4px; }
.dz-qbtn[data-dir="1"] { border-radius: 0 4px 4px 0; }
.dz-sheet .quantity input.qty {
	width: 52px;
	height: 34px;
	padding: 0;
	text-align: center;
	font-size: 15px;
	border: 1px solid #ddd;
	border-left: 0;
	border-right: 0;
	border-radius: 0;
	-moz-appearance: textfield;
	appearance: textfield;
}
.dz-sheet .quantity input.qty::-webkit-inner-spin-button,
.dz-sheet .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

.dz-native-btn .single_add_to_cart_button {
	display: block;
	width: 100%;
	margin-top: 12px;
	padding: 12px;
	background: var(--dz-accent);
	color: #fff;
	border: 0;
	border-radius: 4px;
	font-weight: 600;
}

/* Specification টেবিল */
.dz-sheet .woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.dz-sheet .woocommerce-product-attributes th {
	width: 38%;
	padding: 10px 8px 10px 0;
	text-align: left;
	font-weight: 400;
	color: var(--dz-muted);
	vertical-align: top;
	border-bottom: 1px solid #f2f2f2;
}
.dz-sheet .woocommerce-product-attributes td { padding: 10px 0; border-bottom: 1px solid #f2f2f2; }
.dz-sheet .woocommerce-product-attributes td p { margin: 0; }

/* Delivery */
.dz-dl-row { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; font-size: 14px; border-bottom: 1px solid #f4f4f4; }
.dz-dl-row i { width: 20px; margin-top: 2px; text-align: center; color: var(--dz-accent); }

/* ---------- Fullscreen viewer ---------- */
.dz-lightbox { position: fixed; inset: 0; z-index: 10010; display: flex; flex-direction: column; background: #000; }
.dz-lb-track {
	flex: 1;
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.dz-lb-track::-webkit-scrollbar { display: none; }
.dz-lb-item { flex: 0 0 100%; display: flex; align-items: center; justify-content: center; scroll-snap-align: center; }
.dz-lb-item img { max-width: 100%; max-height: 100%; object-fit: contain; }
.dz-lb-x {
	position: absolute;
	top: calc(env(safe-area-inset-top, 0px) + 10px);
	right: 12px;
	z-index: 2;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .18);
	color: #fff;
	font-size: 18px;
	cursor: pointer;
}
.dz-lb-count {
	position: absolute;
	left: 50%;
	bottom: calc(env(safe-area-inset-bottom, 0px) + 18px);
	transform: translateX(-50%);
	padding: 3px 12px;
	border-radius: 14px;
	background: rgba(255, 255, 255, .18);
	color: #fff;
	font-size: 14px;
}

/* ---------- Toast ---------- */
.dz-toast {
	position: fixed;
	left: 50%;
	bottom: calc(74px + env(safe-area-inset-bottom, 0px));
	z-index: 10020;
	max-width: 88%;
	padding: 10px 16px;
	border-radius: 6px;
	background: rgba(33, 33, 33, .92);
	color: #fff;
	font-size: 14px;
	text-align: center;
	opacity: 0;
	transform: translate(-50%, 10px);
	pointer-events: none;
	transition: opacity .2s ease, transform .2s ease;
}
.dz-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.dz-toast.is-err { background: #d93025; }

/* ---------- Animation / motion ---------- */
@keyframes dz-shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-6px); }
	75% { transform: translateX(6px); }
}
.dz-shake { animation: dz-shake .4s ease; }

@media (prefers-reduced-motion: reduce) {
	.dz-sheet, .dz-overlay, .dz-toast, .dz-top { transition: none; }
	.dz-shake { animation: none; }
}

/* ---------- ছোট ফোন ---------- */
@media (max-width: 380px) {
	.dz-price { font-size: 26px; }
	.dz-camp-title { font-size: 15px; }
	.dz-btn { font-size: 15px; }
}

/* ---------- ট্যাবলেট / ডেস্কটপ ---------- */
@media (min-width: 768px) {
	.dz-rel-grid { grid-template-columns: repeat(3, 1fr); }
}
