/* ============================================================
 * BAMMAT — store.css
 * Dokan single store page (the real storefront: header + this
 * vendor's product grid). CSS-ONLY, works WITH Woodmart's native
 * wd-grid (we never override grid-template). Tokens only.
 *
 * The .wd-product card styling here is shared with the shop grid,
 * so this file effectively styles that page too.
 * Loaded on dokan_is_store_page().
 * ========================================================== */

/* ---- Content width + canvas padding ---- */
.dokan-store .store-page-wrap{
	max-width:1280px;
	margin-inline:auto;
	padding:var(--bm-sp-5) var(--bm-sp-4) var(--bm-sp-8);
}

/* ============================================================
 * 1. STORE HEADER
 * ========================================================== */

.dokan-store .profile-info-box{
	background:var(--bm-card);
	border-radius:var(--bm-radius);
	box-shadow:var(--bm-shadow);
	padding:var(--bm-sp-6);
	margin-bottom:var(--bm-sp-5);
}
.dokan-store .profile-info-summery-wrapper{ float:none; }
.dokan-store .profile-info-summery{ display:block; }

.dokan-store .profile-info-head{
	display:flex;
	align-items:center;
	gap:var(--bm-sp-4);
	margin-bottom:var(--bm-sp-4);
}

/* Avatar */
.dokan-store .profile-img.profile-img-circle{
	width:72px; height:72px; flex-shrink:0;
	border-radius:50%; overflow:hidden;
	box-shadow:var(--bm-shadow-sm);
	background:var(--bm-bg);
}
.dokan-store .profile-img.profile-img-circle img{
	width:100%; height:100%; object-fit:cover;
}

/* Store name */
.dokan-store h1.store-name{
	font-family:var(--bm-font);
	font-size:24px; font-weight:800; letter-spacing:-.02em;
	color:var(--bm-ink); margin:0; line-height:1.2;
}

/* Info row (rating + open/close) */
.dokan-store ul.dokan-store-info{
	display:flex; flex-wrap:wrap; align-items:center;
	gap:var(--bm-sp-3); list-style:none; margin:0; padding:0;
}
.dokan-store ul.dokan-store-info li{
	margin:0; padding:0; font-size:13px; color:var(--bm-ink-2);
}

/* Rating as a pill */
.dokan-store .dokan-store-rating{
	display:inline-flex; align-items:center; gap:5px;
	background:var(--bm-blue-tint); color:var(--bm-blue-dark);
	font-weight:600; padding:4px 10px; border-radius:var(--bm-radius-pill);
}

/* Open / closed pill */
.dokan-store .dokan-store-open-close{ position:relative; }
.dokan-store .store-open-close-notice{
	display:inline-flex; align-items:center; gap:5px; cursor:pointer;
	background:var(--bm-green-tint); color:var(--bm-green);
	font-weight:600; padding:4px 10px; border-radius:var(--bm-radius-pill);
}
/* If Dokan flags the store closed, tint red instead */
.dokan-store .dokan-store-open-close.store-closed .store-open-close-notice,
.dokan-store .store-open-close-notice.closed{
	background:var(--bm-red-tint); color:var(--bm-red);
}

/* Hours dropdown panel */
.dokan-store .store-times-heading{
	margin-top:var(--bm-sp-2);
	background:var(--bm-bg);
	border:1px solid var(--bm-line);
	border-radius:var(--bm-radius-sm);
	padding:var(--bm-sp-3);
	font-size:12px; color:var(--bm-ink-2);
}
.dokan-store .store-time-tags{
	display:flex; justify-content:space-between; gap:var(--bm-sp-4);
	padding:3px 0;
}
.dokan-store .store-days.current_day{ color:var(--bm-ink); font-weight:700; }

/* Social icons */
.dokan-store .store-social-wrapper ul.store-social{
	display:flex; gap:var(--bm-sp-2); list-style:none; margin:var(--bm-sp-3) 0 0; padding:0;
}
.dokan-store .store-social-wrapper ul.store-social a{
	display:flex; align-items:center; justify-content:center;
	width:34px; height:34px; border-radius:10px;
	background:var(--bm-bg); color:var(--bm-ink-2);
	transition:background .12s, color .12s;
}
.dokan-store .store-social-wrapper ul.store-social a:hover{
	background:var(--bm-blue-tint); color:var(--bm-blue);
}

/* Store tabs */
.dokan-store .dokan-store-tabs{
	margin-bottom:var(--bm-sp-5);
	border-bottom:1px solid var(--bm-line);
}
.dokan-store .dokan-store-tabs ul.dokan-list-inline{
	display:flex; gap:var(--bm-sp-2); list-style:none; margin:0; padding:0;
	flex-wrap:wrap;
}
.dokan-store .dokan-store-tabs ul.dokan-list-inline li a{
	display:inline-flex; align-items:center;
	padding:10px var(--bm-sp-4);
	font-size:14px; font-weight:600; color:var(--bm-ink-2);
	border-radius:10px 10px 0 0; text-decoration:none;
	border-bottom:2px solid transparent; margin-bottom:-1px;
}
.dokan-store .dokan-store-tabs ul.dokan-list-inline li.active a,
.dokan-store .dokan-store-tabs ul.dokan-list-inline li a:hover{
	color:var(--bm-blue); border-bottom-color:var(--bm-blue);
}

/* ============================================================
 * 2. PRODUCT GRID CARDS  (shared with shop grid)
 * We do NOT touch the wd-grid layout — only the card look.
 * ========================================================== */

.dokan-store .wd-product .wd-product-wrapper{
	background:var(--bm-card);
	border:1px solid var(--bm-line);
	border-radius:var(--bm-radius-sm);
	padding:var(--bm-sp-3);
	height:100%;
	display:flex; flex-direction:column;
	transition:box-shadow .15s, transform .15s;
}
.dokan-store .wd-product:hover .wd-product-wrapper{
	box-shadow:var(--bm-shadow);
	transform:translateY(-2px);
}

/* Thumbnail */
.dokan-store .wd-product .wd-product-thumb{
	border-radius:var(--bm-radius-sm);
	overflow:hidden; background:var(--bm-bg);
	margin-bottom:var(--bm-sp-3);
}
.dokan-store .wd-product .wd-product-thumb img{
	width:100%; height:auto; object-fit:contain; aspect-ratio:1/1;
	mix-blend-mode:multiply; /* helps white product bgs blend on grey */
}

/* Title — clamp to 2 lines for even card heights */
.dokan-store .wd-product .wd-entities-title{
	font-family:var(--bm-font);
	font-size:13px; font-weight:600; line-height:1.35;
	color:var(--bm-ink); margin:0 0 var(--bm-sp-2);
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
	overflow:hidden; min-height:2.7em;
}
.dokan-store .wd-product .wd-entities-title a{ color:inherit; text-decoration:none; }

/* Price */
.dokan-store .wd-product .price{
	font-size:16px; font-weight:800; color:var(--bm-blue);
	margin:0 0 var(--bm-sp-3); display:block;
}
.dokan-store .wd-product .price del{ color:var(--bm-ink-3); font-weight:600; font-size:13px; }
.dokan-store .wd-product .price ins{ text-decoration:none; }

/* Add-to-cart area sits at the bottom of the card */
.dokan-store .wd-product .wd-add-btn{ margin-top:auto; }

/* Add to cart button → compact bm-btn */
.dokan-store .wd-product .add_to_cart_button{
	display:flex; align-items:center; justify-content:center; gap:6px;
	width:100%; min-height:40px; padding:0 var(--bm-sp-3);
	background:var(--bm-blue); color:#fff;
	border:none; border-radius:11px;
	font-family:var(--bm-font); font-size:13px; font-weight:700;
	text-transform:none; white-space:nowrap;
	box-shadow:0 4px 12px rgba(81,125,252,.24);
	transition:background .15s;
}
.dokan-store .wd-product .add_to_cart_button:hover{ background:var(--bm-blue-dark); color:#fff; }

/* Quantity stepper inside the card (Woodmart's wd-add-btn-replace) */
.dokan-store .wd-product .wd-add-btn .quantity{
	display:flex; align-items:center; justify-content:space-between;
	background:var(--bm-bg); border-radius:11px; padding:3px; width:100%;
}
.dokan-store .wd-product .wd-add-btn .quantity .qty{
	width:38px; border:none; background:transparent; text-align:center;
	font-size:14px; font-weight:700; color:var(--bm-ink); -moz-appearance:textfield;
}
.dokan-store .wd-product .wd-add-btn .quantity .qty::-webkit-outer-spin-button,
.dokan-store .wd-product .wd-add-btn .quantity .qty::-webkit-inner-spin-button{
	-webkit-appearance:none; margin:0;
}
.dokan-store .wd-product .wd-add-btn .quantity .minus,
.dokan-store .wd-product .wd-add-btn .quantity .plus{
	width:30px; height:30px; border:none;
	background:var(--bm-card); border-radius:8px;
	font-size:16px; font-weight:600; color:var(--bm-blue);
	box-shadow:var(--bm-shadow-sm); cursor:pointer;
	display:flex; align-items:center; justify-content:center; line-height:1;
}

/* ---- Tablet: cap at 3 columns ---- */
@media (max-width:1024px){
	.dokan-store .products.wd-products{ --wd-col-md:3 !important; }
}

/* ---- Mobile: 3 COMPACT columns, reclaim container width ---- */
@media (max-width:767px){

	/* Reclaim the width Woodmart's .container steals on mobile */
	.dokan-store main.content-layout-wrapper.container,
	.dokan-store .wd-content-layout.container{
		max-width:100% !important;
		padding-left:8px !important;
		padding-right:8px !important;
	}

	.dokan-store .store-page-wrap{ padding:var(--bm-sp-2) 0 var(--bm-sp-6); }
	.dokan-store .profile-info-box{ padding:var(--bm-sp-4); margin-bottom:var(--bm-sp-3); }
	.dokan-store .profile-img.profile-img-circle{ width:56px; height:56px; }
	.dokan-store h1.store-name{ font-size:19px; }

	/* Keep 3 columns, tighten the gap for more card width */
	.dokan-store .products.wd-products{
		--wd-col-sm:3 !important;
		--wd-gap-sm:8px !important;
	}

	/* Compact card internals so 3-up fits comfortably */
	.dokan-store .wd-product .wd-product-wrapper{ padding:6px; border-radius:12px; }
	.dokan-store .wd-product .wd-product-thumb{ margin-bottom:6px; }
	.dokan-store .wd-product .wd-entities-title{
		font-size:11px; line-height:1.3; min-height:2.6em; margin-bottom:3px;
	}
	.dokan-store .wd-product .price{ font-size:13px; margin-bottom:6px; }

	/* Add to cart: compact, one line */
	.dokan-store .wd-product .add_to_cart_button{
		min-height:34px; font-size:11px; padding:0 4px;
		letter-spacing:0; border-radius:9px; gap:3px;
	}

	/* Stepper: compact, no overflow */
	.dokan-store .wd-product .wd-add-btn{ overflow:hidden; }
	.dokan-store .wd-product .wd-add-btn .quantity{ padding:2px; border-radius:9px; }
	.dokan-store .wd-product .wd-add-btn .quantity .qty{
		width:100%; min-width:0; font-size:13px;
	}
	.dokan-store .wd-product .wd-add-btn .quantity .minus,
	.dokan-store .wd-product .wd-add-btn .quantity .plus{
		width:24px; height:24px; font-size:14px; flex-shrink:0; border-radius:7px;
	}
}