.alba-local-page{
	background:#f5f3ef;
	color:#1f1f1d;
	min-height:70vh;
}
.alba-local-shell{
	max-width:1200px;
	margin:0 auto;
	padding:48px 24px 60px;
}
.alba-local-heading{
	text-align:center;
	padding:34px 20px;
}
.alba-local-heading>p:first-child{
	letter-spacing:.15em;
}
.alba-local-heading h1{
	font-size:clamp(38px,7vw,76px);
	font-weight:500;
	margin:12px 0;
}
.alba-local-heading p{
	font-size:18px;
	line-height:1.6;
}
.alba-local-preparation{
	position:relative;
	max-width:820px;
	min-height:560px;
	margin:0 auto;
	border-top:3px solid #d39a32;
	background-color:#fff;
	background-image:linear-gradient(rgba(255,255,255,.80),rgba(255,255,255,.80)),var(--alba-preparation-bg,none);
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
}
.alba-local-preparation__content{
	width:min(680px,calc(100% - 48px));
	margin:0 auto;
	padding:48px 0;
	text-align:center;
}
.alba-local-preparation__logo{
	display:block;
	width:min(340px,72%);
	max-height:86px;
	margin:0 auto 26px;
	object-fit:contain;
}
.alba-local-preparation h1{
	font-size:clamp(42px,7vw,74px);
	font-weight:500;
	line-height:1;
	margin:0 0 18px;
}
.alba-local-preparation p{
	font-size:18px;
	line-height:1.6;
	margin:0 auto 18px;
}
.alba-local-preparation__province{
	font-weight:600;
	margin-bottom:28px !important;
}
.alba-local-preparation__back{
	display:inline-block;
	margin-top:16px;
	padding:12px 20px;
	border:1px solid #d39a32;
	color:#1f1f1d;
	background:rgba(255,255,255,.72);
	text-decoration:none;
	font-weight:600;
}
.alba-local-preparation__back:hover,
.alba-local-preparation__back:focus{
	background:#fff;
	border-color:#b87f20;
}
.alba-local-placeholder,
.alba-local-empty{
	background:#fff;
	padding:24px;
	text-align:center;
}
.alba-local-other{
	margin-top:42px;
	border-top:1px solid rgba(31,31,29,.12);
	padding-top:28px;
}
.alba-local-other h2{
	font-size:20px;
	font-weight:600;
}
.alba-local-links{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.alba-local-links a{
	display:inline-block;
	padding:10px 14px;
	background:#fff;
	border:1px solid rgba(31,31,29,.14);
	color:inherit;
	text-decoration:none;
}
.alba-local-links-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:14px;
}
.alba-local-links-grid a{
	text-align:center;
	padding:18px;
}
@media(max-width:800px){
	.alba-local-links-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}
@media(max-width:599px){
	.alba-local-shell{
		padding:28px 16px 42px;
	}
	.alba-local-preparation{
		min-height:520px;
	}
	.alba-local-preparation__content{
		width:calc(100% - 32px);
		padding:38px 0;
	}
	.alba-local-preparation__logo{
		width:min(300px,82%);
		margin-bottom:22px;
	}
	.alba-local-preparation p{
		font-size:16px;
	}
	.alba-local-preparation__back{
		width:100%;
		box-sizing:border-box;
	}
	.alba-local-links-grid{
		grid-template-columns:1fr;
	}
}

.alba-detect-page{
	display:flex;
	align-items:center;
}
.alba-detect-card{
	max-width:760px;
	margin:0 auto;
	background:#fff;
	border-top:3px solid #d39a32;
	padding:42px;
	text-align:center;
}
.alba-detect-brand{
	letter-spacing:.15em;
	margin:0 0 20px;
}
.alba-detect-card h1{
	font-size:clamp(38px,6vw,64px);
	font-weight:500;
	margin:0 0 18px;
}
.alba-detect-card>p{
	font-size:17px;
	line-height:1.65;
}
.alba-geo-status{
	margin:24px auto 14px;
	padding:14px 16px;
	background:#f5f3ef;
	max-width:620px;
}
.alba-geo-status.is-error{
	border-left:3px solid #b32d2e;
	text-align:left;
}
.alba-geo-button{
	display:inline-block;
	border:0;
	background:#1f1f1d;
	color:#fff;
	padding:13px 20px;
	font:inherit;
	cursor:pointer;
}
.alba-geo-button:disabled{
	opacity:.55;
	cursor:wait;
}
.alba-detect-privacy{
	margin-top:18px !important;
	font-size:13px !important;
	opacity:.72;
}
@media(max-width:599px){
	.alba-detect-card{
		padding:30px 18px;
	}
	.alba-geo-button{
		width:100%;
	}
}


/* v0.3.0 · Provincia pública ALBALOCAL */
body:has(.alba-public-province) {
	background:#f5f3ef;
}
body:has(.alba-public-province) .alba-site {
	min-height:100dvh;
}
.alba-public-province {
	min-height:100dvh;
	display:flex;
	flex-direction:column;
	background:#f5f3ef;
	color:#1f1f1d;
}
.alba-public-province__stage {
	flex:1 0 auto;
}
.alba-public-province__shell {
	width:min(1180px,calc(100% - 48px));
	margin:0 auto;
	padding:58px 0 78px;
}
.alba-public-province__header {
	display:grid;
	grid-template-columns:1fr auto 1fr;
	align-items:start;
	gap:36px;
}
.alba-public-province__rule {
	height:1px;
	margin-top:34px;
	background:rgba(211,154,50,.72);
}
.alba-public-province__brand {
	text-align:center;
}
.alba-public-province__logo {
	width:min(430px,42vw);
	max-height:92px;
	margin:0 auto;
	object-fit:contain;
}
.alba-public-province__logo-fallback {
	font-size:64px;
	font-weight:500;
	letter-spacing:-.05em;
}
.alba-public-province__intro {
	max-width:700px;
	margin:62px auto 0;
	padding-left:20px;
	border-left:2px solid #d39a32;
}
.alba-public-province__intro p {
	margin:0;
	font-size:16px;
	line-height:1.55;
}
.alba-public-province__grid {
	margin-top:46px;
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:28px 24px;
}
.alba-public-population-card {
	display:block;
	background:#fff;
	border:1px solid rgba(31,31,29,.10);
	box-shadow:0 8px 24px rgba(31,31,29,.035);
	text-decoration:none;
}
.alba-public-population-card__media {
	display:block;
	aspect-ratio:1.55/1;
	overflow:hidden;
	background:#eeeae3;
}
.alba-public-population-card__media img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.alba-public-population-card__name {
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:50px;
	padding:9px 12px;
	color:#1f1f1d;
	font-size:16px;
	font-weight:500;
	text-align:center;
}
.alba-public-population-card:hover {
	border-color:rgba(211,154,50,.50);
}
.alba-public-province__closing {
	max-width:760px;
	margin:68px auto 0;
	padding-top:26px;
	border-top:1px solid rgba(31,31,29,.12);
	text-align:center;
}
.alba-public-province__closing p {
	margin:0;
	font-family:Georgia,'Times New Roman',serif;
	font-size:22px;
	line-height:1.45;
}
.alba-public-province__footer {
	margin-top:auto;
	background:#fff;
	border-top:1px solid rgba(31,31,29,.12);
	font-size:12px;
}
.alba-public-province__footer-inner {
	width:min(1420px,calc(100% - 48px));
	min-height:46px;
	margin:0 auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
}
.alba-public-province__footer p {
	margin:0;
}
.alba-public-province__footer nav {
	display:flex;
	align-items:center;
	justify-content:flex-end;
	flex-wrap:wrap;
	gap:5px;
}
.alba-public-province__footer a {
	text-decoration:none;
}
.alba-public-province__footer a:hover {
	text-decoration:underline;
}

@media (max-width:1199px) {
	.alba-public-province__shell {
		width:min(1040px,calc(100% - 44px));
		padding-top:44px;
	}
	.alba-public-province__grid {
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}
@media (max-width:767px) {
	.alba-public-province__shell {
		width:calc(100% - 30px);
		padding:28px 0 48px;
	}
	.alba-public-province__header {
		grid-template-columns:1fr;
	}
	.alba-public-province__rule {
		display:none;
	}
	.alba-public-province__logo {
		width:min(360px,82vw);
		max-height:82px;
	}
	.alba-public-province__intro {
		margin-top:34px;
		padding-left:14px;
	}
	.alba-public-province__intro p {
		font-size:14px;
	}
	.alba-public-province__grid {
		margin-top:32px;
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:18px 14px;
	}
	.alba-public-population-card__name {
		min-height:46px;
		padding:8px;
		font-size:13px;
	}
	.alba-public-province__closing {
		margin-top:44px;
		padding-top:22px;
	}
	.alba-public-province__closing p {
		font-size:18px;
	}
	.alba-public-province__footer-inner {
		width:calc(100% - 30px);
		min-height:82px;
		padding:12px 0;
		flex-direction:column;
		justify-content:center;
		gap:6px;
		text-align:center;
	}
	.alba-public-province__footer nav {
		justify-content:center;
	}
}
