/* elmur-address: Frontend styles */

.elmur-adr {
	font-size: 1rem;
	line-height: 1.6;
}

/* ---- Primary address block ---- */
.elmur-adr__primary {
	font-style: normal;
	margin: 0 0 1.2em 0;
}

.elmur-adr__primary span {
	display: block;
}

/* ---- Contact rows ----
   Two-column grid: the label column auto-sizes to the widest label
   (max-content) instead of a fixed width. */
.elmur-adr__rows {
	margin: 0;
	display: grid;
	grid-template-columns: max-content 1fr;
	column-gap: 0.75em;
	row-gap: 0.25em;
	align-items: start;
}

.elmur-adr__row {
	display: contents;
}

/* Meta column: icon + label */
.elmur-adr__meta {
	display: flex;
	align-items: center;
	gap: 0.35em;
}

/* Icon */
.elmur-adr__icon {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	opacity: 0.75;
	line-height: 1;
}

.elmur-adr__icon svg {
	vertical-align: middle;
}

/* Label with colon */
.elmur-adr__label {
	font-weight: 500;
}

.elmur-adr__label::after {
	content: ":";
}

.elmur-adr__value {
	min-width: 0;
}

.elmur-adr__value a {
	color: inherit;
	text-decoration: none;
}

.elmur-adr__value a:hover {
	text-decoration: underline;
}

/* ---- Spacer ---- */
.elmur-adr__paragraph {
	height: 0.8em;
	grid-column: 1 / -1;
}

/* ---- Free text ---- */
.elmur-adr__freetext {
	margin-bottom: 0.2em;
	grid-column: 1 / -1;
}

/* ---- All-locations shortcode ([elmur_address_locations]) ---- */
.elmur-address-locations {
	/* No extra wrapper margin needed; items handle their own spacing. */
}

.elmur-address-locations__item {
	margin-top: 0.75rem;
}

.elmur-address-locations__item:first-child {
	margin-top: 0;
}

.elmur-address-locations__name {
	display: block;
	margin: 0 0 0.25rem;
	font-weight: 700;
	color: var(--color-accent);
}

/* ---- Responsive ---- */
@media (max-width: 25rem) {
	/* Stack label above value: single grid column. */
	.elmur-adr__rows {
		grid-template-columns: 1fr;
		row-gap: 0;
	}

	.elmur-adr__row .elmur-adr__value {
		margin-bottom: 0.6em;
	}

	.elmur-adr__label {
		font-size: 0.85em;
		opacity: 0.75;
	}
}

/* -------------------------------------------------------------------------
   [elmur_locations] shortcode (location card grid)
   ------------------------------------------------------------------------- */

.elmur-locations {
	margin: 2rem 0;
}

.elmur-locations__title {
	font-size: 1.1rem;
	margin: 0 0 0.75rem;
}

.elmur-locations__address {
	font-style: normal;
	line-height: 1.7;
	margin: 0.5rem 0;
}

.elmur-locations__grid {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 15rem, 1fr ) );
	gap: 1.5rem;
}

.elmur-locations__branch {
	padding: 1rem;
	background: var( --color-bg-alt, #f5f5f5 );
	border: 1px solid var( --color-border, #e5e5e5 );
	border-radius: var( --radius-md, 8px );
}

/* Badge: outline variant for branch offices … */
.elmur-locations__badge {
	display: inline-block;
	margin-bottom: 0.5rem;
	padding: 0.1rem 0.5rem;
	background: transparent;
	color: var( --color-accent );
	border: 1px solid var( --color-accent );
	border-radius: 3px;
	font-size: 0.75rem;
	letter-spacing: 0.03em;
}

/* … filled variant for the main branch (primary/secondary pattern). */
.elmur-locations__badge--primary {
	background: var( --color-accent );
	color: var( --color-on-primary, #ffffff );
}

.elmur-locations__name {
	display: block;
	margin-bottom: 0.5rem;
}

.elmur-locations__fields {
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 0;
}

.elmur-locations__field {
	font-size: 0.9rem;
	margin-bottom: 0.25rem;
	display: flex;
	gap: 0.5em;
	align-items: start;
}

.elmur-locations__field-meta {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	flex-shrink: 0;
}

.elmur-locations__field-icon {
	display: inline-flex;
	align-items: center;
	line-height: 1;
	opacity: 0.75;
}

.elmur-locations__field-label {
	color: var( --color-text-muted, #6b6b6b );
}

/* Linked values (phone, email …): no underline, hover switches to accent. */
.elmur-locations__field-value a {
	color: inherit;
	text-decoration: none;
}

.elmur-locations__field-value a:hover {
	color: var( --color-accent );
}

.elmur-locations__field-para {
	height: 0.5rem;
}
