/**
 * Vendor storefront — /tienda/{slug}/
 * Scoped under .cgmp-store so it never leaks into the rest of the theme.
 */
.cgmp-store {
	max-width: 1280px;
	margin: 24px auto 48px;
	padding: 0 16px;
	font-family: inherit;
	color: #111827;
}

/* ----- Banner ----- */
.cgmp-store-banner {
	position: relative;
	background: linear-gradient(135deg, #1e73be 0%, #0F4C81 100%);
	background-size: cover;
	background-position: center;
	border-radius: 12px;
	overflow: hidden;
	min-height: 260px;
	display: flex;
	align-items: flex-end;
	padding: 24px;
}
.cgmp-store-banner-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,0.55) 100%);
	pointer-events: none;
}
.cgmp-store-banner-inner {
	position: relative;
	display: flex;
	align-items: flex-end;
	gap: 18px;
	width: 100%;
	flex-wrap: wrap;
}
.cgmp-store-logo {
	width: 96px;
	height: 96px;
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0,0,0,0.18);
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
}
/* 'contain' so wide or tall logos display in full instead of being
   cropped to a square. White background fills the letterbox space. */
.cgmp-store-logo img { width: 100%; height: 100%; object-fit: contain; }
.cgmp-store-logo-fallback {
	font-size: 36px;
	font-weight: 900;
	color: #1e73be;
	letter-spacing: -0.02em;
}
.cgmp-store-identity {
	flex: 1;
	min-width: 200px;
	color: #fff;
	text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}
.cgmp-store-name {
	font-size: 26px;
	font-weight: 800;
	margin: 0 0 6px;
	line-height: 1.1;
	color: #fff;
}
.cgmp-store-verified {
	display: inline-block;
	background: rgba(34, 197, 94, 0.95);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	padding: 4px 10px;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-right: 8px;
	text-shadow: none;
}
.cgmp-store-status-warn {
	display: inline-block;
	background: rgba(220, 38, 38, 0.95);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	padding: 4px 10px;
	border-radius: 999px;
}
.cgmp-store-location {
	margin: 8px 0 0;
	font-size: 13px;
	opacity: 0.95;
}
.cgmp-store-actions {
	display: flex;
	gap: 8px;
	margin-left: auto;
}
.cgmp-btn {
	border: 0;
	border-radius: 6px;
	padding: 10px 18px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
	transition: filter 0.15s, background 0.15s;
}
.cgmp-btn-primary {
	background: #FBBF24;
	color: #7C2D12;
}
.cgmp-btn-primary:hover { filter: brightness(0.95); }
.cgmp-btn-ghost {
	background: rgba(255,255,255,0.92);
	color: #1e73be;
}
.cgmp-btn-ghost:hover { background: #fff; }

/* ----- Stats strip ----- */
.cgmp-store-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin: 18px 0 0;
}
@media (max-width: 700px) {
	.cgmp-store-stats { grid-template-columns: repeat(2, 1fr); }
}
.cgmp-stat-cell {
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 8px;
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.cgmp-stat-cell strong {
	font-size: 20px;
	font-weight: 800;
	color: #1e73be;
}
.cgmp-stat-cell span {
	font-size: 11px;
	font-weight: 700;
	color: #9CA3AF;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* ----- Tabs ----- */
.cgmp-store-tabs {
	display: flex;
	gap: 4px;
	margin-top: 24px;
	border-bottom: 1px solid #E5E7EB;
}
.cgmp-store-tab {
	padding: 12px 20px;
	font-size: 14px;
	font-weight: 700;
	color: #6B7280;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: color 0.15s, border-color 0.15s;
}
.cgmp-store-tab:hover {
	color: #111827;
	text-decoration: none;
}
.cgmp-store-tab.is-active {
	color: #1e73be;
	border-bottom-color: #1e73be;
}

/* ----- Body ----- */
.cgmp-store-body {
	background: #fff;
	border: 1px solid #E5E7EB;
	border-top: 0;
	border-radius: 0 0 8px 8px;
	padding: 28px;
}
.cgmp-store-empty {
	text-align: center;
	padding: 48px 16px;
}
.cgmp-store-empty-icon {
	font-size: 48px;
	margin-bottom: 8px;
}
.cgmp-store-empty h2 {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 800;
}
.cgmp-store-empty p {
	margin: 0;
	color: #6B7280;
	font-size: 14px;
}
.cgmp-store-about h2 { margin: 0 0 8px; font-size: 18px; font-weight: 800; }
.cgmp-store-about h3 { margin: 18px 0 8px; font-size: 14px; font-weight: 800; }
.cgmp-store-about p { color: #374151; line-height: 1.55; font-size: 14px; margin: 0 0 12px; }
.cgmp-store-contact {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 13px;
}
.cgmp-store-contact a { color: #1e73be; }

/* v1.7.1 — Vacation + catalog banners */
.cgmp-store-vacation-banner,
.cgmp-store-catalog-banner {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 16px 20px;
	border-radius: 12px;
	margin: 16px auto;
	max-width: 1280px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.cgmp-store-vacation-banner {
	background: linear-gradient(135deg, #FEF3C7, #FCD34D);
	color: #78350F;
}
.cgmp-store-catalog-banner {
	background: linear-gradient(135deg, #EFF6FF, #DBEAFE);
	color: #1E3A8A;
}
.cgmp-store-vacation-icon,
.cgmp-store-catalog-icon { font-size: 32px; line-height: 1; }
.cgmp-store-vacation-body strong { display: block; font-size: 16px; font-weight: 800; margin-bottom: 2px; }
.cgmp-store-vacation-body p { margin: 0; font-size: 14px; }

/* v1.7.1 — Seller badges in identity */
.cgmp-store-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cgmp-store-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 10px;
	border-radius: 999px;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
}
.cgmp-store-badge-icon { font-size: 12px; }

/* v1.7.1 — Hidden price label */
.cgmp-price-hidden {
	color: #6B7280;
	font-style: italic;
	font-weight: 600;
}

/* v1.7.1 — Store hours list in About tab */
.cgmp-store-hours-h { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cgmp-store-open-now { color: #16A34A; font-size: 12px; font-weight: 700; background: #ECFDF5; padding: 3px 10px; border-radius: 999px; }
.cgmp-store-closed-now { color: #B91C1C; font-size: 12px; font-weight: 700; background: #FEE2E2; padding: 3px 10px; border-radius: 999px; }
.cgmp-store-hours-list {
	list-style: none;
	padding: 0;
	margin: 8px 0 18px;
	max-width: 420px;
	border: 1px solid #E5E7EB;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.cgmp-store-hours-list li {
	display: flex;
	justify-content: space-between;
	padding: 9px 14px;
	border-bottom: 1px solid #E5E7EB;
	font-size: 13px;
}
.cgmp-store-hours-list li:last-child { border-bottom: none; }
.cgmp-store-hours-list li.is-today { background: #FFFBEB; font-weight: 700; }
.cgmp-store-hours-day em { color: #6B7280; font-style: normal; font-weight: 500; font-size: 11px; }
.cgmp-store-hours-time { color: #4B5563; }

/* v2.1.x — Reviews list in About tab */
.cgmp-store-reviews-list {
	list-style: none;
	padding: 0;
	margin: 12px 0 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.cgmp-store-review {
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 10px;
	padding: 14px 18px;
}
.cgmp-store-review-head {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 6px;
	font-size: 13px;
}
.cgmp-store-review-stars { color: #F59E0B; letter-spacing: 1px; font-size: 16px; }
.cgmp-store-review-name  { color: #1D2327; font-weight: 700; }
.cgmp-store-review-date  { color: #6B7280; font-size: 11px; margin-left: auto; }
.cgmp-store-review-title { margin: 4px 0; color: #1D2327; }
.cgmp-store-review-body  { margin: 0; color: #4B5563; font-size: 14px; line-height: 1.5; }

.cgmp-store-follower-count { color: #fff; font-size: 13px; opacity: 0.9; margin-left: 10px; }
.cgmp-store-follower-count strong { font-size: 15px; }
