/**
 * Area index (under the locator) and area pages (νομός / πόλη).
 * "body" prefix outranks the theme's generic .content-main rules.
 */

body .nvm-areas,
body .nvm-area {
	--nvm-area-green: #34543a;
	--nvm-area-soft: #eef4ef;
	--nvm-area-muted: #66706a;
}

/* ---------------------------------------------------------------------
 * Index
 * ------------------------------------------------------------------ */

body .nvm-areas {
	margin: 48px 0;
}

body .nvm-areas .nvm-areas__title {
	margin: 0 0 20px;
	font-size: 24px;
	color: var( --nvm-area-green );
}

body .nvm-areas__grid {
	display: grid;
	grid-template-columns: minmax( 0, 1fr );
	gap: 0 32px;
}

@media ( min-width: 640px ) {
	body .nvm-areas__grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( min-width: 1024px ) {
	body .nvm-areas__grid {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	}
}

body .nvm-areas__region {
	border-bottom: 1px solid #e3e7e4;
}

body .nvm-areas__region summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 0;
	cursor: pointer;
	list-style: none;
}

body .nvm-areas__region summary::-webkit-details-marker {
	display: none;
}

body .nvm-areas__region summary::after {
	content: "+";
	flex: 0 0 auto;
	width: 20px;
	color: var( --nvm-area-green );
	font-size: 20px;
	text-align: center;
}

body .nvm-areas__region[open] summary::after {
	content: "−";
}

body .nvm-areas__region summary a {
	flex: 1 1 auto;
	color: var( --nvm-area-green );
	font-weight: 700;
	text-decoration: none;
}

body .nvm-areas .nvm-areas__towns {
	margin: 0 0 12px;
	padding: 0 0 0 12px;
	list-style: none;
}

body .nvm-areas__towns li {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 4px 32px 4px 0;
}

body .nvm-areas__towns a {
	color: var( --nvm-area-green );
}

body .nvm-areas__count {
	flex: 0 0 auto;
	margin-left: auto;
	padding: 0 8px;
	border-radius: 999px;
	background: var( --nvm-area-soft );
	color: var( --nvm-area-green );
	font-size: 13px;
	line-height: 1.7;
}

/* ---------------------------------------------------------------------
 * Area page
 * ------------------------------------------------------------------ */

body .nvm-area .nvm-area__crumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
	font-size: 14px;
}

body .nvm-area .nvm-area__crumbs li,
body .nvm-areas .nvm-areas__towns li,
body .nvm-area .nvm-area__towns li {
	margin-left: 0 !important;
}

body .nvm-area__crumbs li + li::before {
	content: "›";
	margin-right: 6px;
	color: var( --nvm-area-muted );
}

body .nvm-area__crumbs a {
	color: var( --nvm-area-green );
}

body .nvm-area__intro {
	font-size: 18px;
}

body .nvm-area a.nvm-area__map-link {
	display: inline-block;
	margin: 0 0 24px;
	padding: 10px 18px;
	background: var( --nvm-area-green );
	color: #fff;
	text-decoration: none;
}

body .nvm-area .nvm-area__towns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
}

body .nvm-area__towns a {
	display: inline-block;
	padding: 4px 12px;
	border: 1px solid var( --nvm-area-green );
	color: var( --nvm-area-green );
	text-decoration: none;
}

body .nvm-area .nvm-area__town {
	margin: 32px 0 12px;
	font-size: 22px;
}

body .nvm-area__town a {
	color: var( --nvm-area-green );
}

body .nvm-area .nvm-area__stores {
	display: grid;
	grid-template-columns: minmax( 0, 1fr );
	gap: 16px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

@media ( min-width: 640px ) {
	body .nvm-area .nvm-area__stores {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( min-width: 1024px ) {
	body .nvm-area .nvm-area__stores {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	}
}

body .nvm-area .nvm-area__store {
	display: flex;
	flex-direction: column;
	margin: 0 !important; /* Theme indents list items. */
	padding: 16px 18px;
	border: 1px solid #e3e7e4;
}

body .nvm-area .nvm-area__name {
	margin: 0 0 6px;
	font-family: inherit;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
	text-transform: none;
	color: var( --nvm-area-green );
}

body .nvm-area__address {
	margin: 0 0 12px;
	color: var( --nvm-area-muted );
}

body .nvm-area__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: auto 0 0;
}

body .nvm-area a.nvm-area__phone {
	color: var( --nvm-area-green );
	font-weight: 700;
}

body .nvm-area a.nvm-area__directions {
	padding: 6px 14px;
	border: 1px solid var( --nvm-area-green );
	color: var( --nvm-area-green );
	text-decoration: none;
}

body .nvm-area a.nvm-area__directions:hover,
body .nvm-area a.nvm-area__directions:focus-visible {
	background: var( --nvm-area-green );
	color: #fff;
}
