/*
 * XDEYE Store Locator - single store page styling.
 * Enqueued only on an individual store's own page (is_singular('xsl_store')),
 * for the address/phone/email + weekly hours block appended via
 * XSL_Post_Type::append_store_details_to_content().
 */

.xsl-store-details {
	max-width: 640px;
	margin-top: 24px;
}

.xsl-store-details-contact {
	margin-bottom: 24px;
}
.xsl-store-details-contact p {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
}
.xsl-store-details-contact .dashicons {
	color: #6b7280;
	font-size: 18px;
	width: 18px;
	height: 18px;
}
.xsl-store-details-contact a {
	color: inherit;
	text-decoration: none;
}
.xsl-store-details-contact a:hover {
	text-decoration: underline;
}

.xsl-store-details-heading {
	font-size: 18px;
	margin: 0 0 12px;
}

/* "Open now / Closed" summary line above the table. */
.xsl-store-details .xsl-open-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 14px;
	font-weight: 600;
	font-size: 14px;
}
.xsl-store-details .xsl-open-status.is-open {
	color: #16a34a;
}
.xsl-store-details .xsl-open-status.is-closed {
	color: #dc2626;
}
.xsl-store-details .xsl-open-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	flex-shrink: 0;
}

.xsl-hours-display-table {
	width: 100%;
	max-width: 360px;
	border-collapse: collapse;
	font-size: 14px;
}
.xsl-hours-display-table tr {
	border-bottom: 1px solid #f0f0f0;
}
.xsl-hours-display-table th,
.xsl-hours-display-table td {
	padding: 8px 4px;
	text-align: left;
	font-weight: 400;
}
.xsl-hours-display-table th {
	color: #6b7280;
	width: 130px;
}
.xsl-hours-display-table tr.is-today th,
.xsl-hours-display-table tr.is-today td {
	color: #111827;
	font-weight: 600;
}
