/**
 * Damavand Storefront 0.3.6 (R15) — product photos on a light tile, colour dots.
 *
 * The bundled photos have a soft light-grey background (≈ #DEDDDC); every product photo sits on a
 * tile of that colour, rounded 14px, contained (never cropped), with a little padding, so it reads
 * as one consistent object on the dark site. The branded placeholder sits on a neutral dark tile.
 * Every tile is a fixed-ratio box (no layout shift while the photo loads).
 *
 * @package Damavand_Storefront
 */

:root {
	--dmv-tile-bg: #DEDDDC;
	--dmv-tile-radius: 14px;
	--dmv-tile-ph: #17181B;
}

/* ------------------------------------------------------------------ tile */
.dmv-tile {
	background: var(--dmv-tile-bg) !important;
	border-radius: var(--dmv-tile-radius);
	overflow: hidden;
	box-sizing: border-box;
}
.dmv-tile img,
.dmv-tile picture,
.dmv-tile .dmv-pic {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	object-fit: contain !important;
	margin: 0 !important;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}
.dmv-tile picture img, .dmv-tile .dmv-pic img { width: 100% !important; height: 100% !important; }
.dmv-tile.dmv-tile--ph {
	background: var(--dmv-tile-ph) !important;
	border: 1px solid #26282C;
}
.dmv-tile.dmv-tile--ph img { opacity: .9; }

/* Small square thumbnails (cart lines, orders, cards). */
.dmv-thumb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 64px;
	aspect-ratio: 1 / 1;
	padding: 3px;
	border-radius: 10px;
	vertical-align: middle;
}
.dmv-thumb.dmv-thumb--sm { width: 44px; border-radius: 8px; padding: 2px; margin-inline-end: 10px; }
.dmv-oname { vertical-align: middle; }

/* ------------------------------------------------------------- catalog cards */
body.dmv-design .dv-card__media.dmv-tile,
.dv-card__media.dmv-tile {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	width: auto;
	margin: 8px 8px 0;
	padding: 8px;
}
body.dmv-design .dmv-slider--products .dv-card__media.dmv-tile {
	width: auto;
	max-height: 200px;
	margin: 8px 8px 0;
	padding: 8px;
}
@media (max-width: 689px) {
	body.dmv-design .dmv-slider--products .dv-card__media.dmv-tile,
	body.dmv-design .dv-card__media.dmv-tile { margin: 6px 6px 0; padding: 6px; }
}

/* ------------------------------------------------------------ product page */
body.dmv-design .dmv-product__media .dv-product-media.dmv-tile,
.dv-product-media.dmv-tile {
	display: grid;
	place-items: center;
	padding: 14px;
	border: 0;
	border-radius: var(--dmv-tile-radius);
	box-shadow: 0 18px 44px rgba(0, 0, 0, .3);
}
body.dmv-design .dmv-product__media .dv-product-media.dmv-tile--ph { border: 1px solid #26282C; }
.dv-product-media.dmv-tile > img,
.dv-product-media.dmv-tile > picture {
	grid-area: 1 / 1;
	transition: opacity .28s ease;
}
.dv-product-media.dmv-tile > .dmv-swap { opacity: 0; }
.dv-product-media.dmv-tile > .dmv-swap.is-in { opacity: 1; }
.dv-product-media.dmv-tile > .dmv-swap.is-out { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
	.dv-product-media.dmv-tile > img, .dv-product-media.dmv-tile > picture { transition: none; }
}

/* ----------------------------------------------- «آمادهٔ ارسال» cards (selector) */
.dmv-qcard.has-thumb { position: relative; }
.dmv-qcard.has-thumb .dmv-qcard__name,
.dmv-qcard.has-thumb .dmv-qcard__top { padding-inline-end: 72px; }
.dmv-qcard.has-thumb .dmv-qcard__top { min-height: 24px; }
.dmv-qcard .dmv-qcard__thumb {
	position: absolute;
	top: 12px;
	inset-inline-end: 12px;
	width: 60px;
}

/* ---------------------------------------------------- «خرید فوری» page cards */
.dmv-qb__item .dmv-qb__thumb,
.dmv-ba__item .dmv-ba__thumb {
	display: flex;
	width: 100%;
	aspect-ratio: 16 / 10;
	padding: 6px;
	margin-bottom: 6px;
	border-radius: 12px;
}

/* ------------------------------------------------------------- mini cart */
.dmv-mc__line.has-thumb {
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr);
	column-gap: 12px;
	align-items: start;
}
.dmv-mc__line.has-thumb > .dmv-mc__thumb { grid-row: 1 / span 2; width: 60px; }
.dmv-mc__line.has-thumb > .dmv-mc__info,
.dmv-mc__line.has-thumb > .dmv-mc__row { grid-column: 2; min-width: 0; }
.dmv-mc__color { font-size: 12.5px; color: #D5D7DB; }

/* ------------------------------------------------------- cart / checkout */
.woocommerce-cart-form .product-thumbnail .dmv-thumb { width: 72px; }
.woocommerce-cart-form .product-thumbnail a { display: inline-block; text-decoration: none; }
/* Phones: the cart's compact rows hide the thumbnail column; the colour photo then sits in the name cell. */
.dmv-thumb.dmv-cart-mthumb { display: none; }
@media (max-width: 768px) {
	body.dmv-cart .woocommerce-cart-form .product-name .dmv-thumb.dmv-cart-mthumb { display: flex; width: 64px; margin: 2px 0 8px; }
}
.woocommerce-checkout-review-order-table .product-name { vertical-align: middle; }
.dmv-ck-sum__color { display: block; margin-top: 2px; font-weight: 500; }

/* ------------------------------------------------------------ colour dot */
.dmv-cdot {
	display: inline-block;
	margin: 0 !important;
	flex: none;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	vertical-align: -1px;
	box-sizing: border-box;
}
.dmv-clabel { display: inline-flex; align-items: center; gap: 0; white-space: nowrap; }
.dmv-clabel .dmv-cdot, .dmv-chip2 .dmv-cdot, .dmv-step__value .dmv-cdot { margin-inline-end: 6px !important; }
dd .dmv-clabel p, .variation .dmv-clabel p { display: inline; margin: 0; }
.dmv-chip2 .dmv-cdot, .dmv-step__value .dmv-cdot { width: 13px; height: 13px; }
