/* Euro Florida - Proyectos por Zona: estilos del front (1:1 con el diseño original) */
.ef-proyectos{
	--ef-cream:rgba(245,232,197,.34);
	--ef-border:rgba(198,198,198,.52);
	--ef-gold:rgb(173,150,72);
	--ef-ink:#000;
	--ef-muted:rgb(99,98,95);
	--ef-desc:rgb(57,57,57);
}

/* ---- Menú de zonas (grid superior) ---- */
.ef-menu{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:18px;
	max-width:1140px;
	margin:0 auto 56px;
}
.ef-menu-item{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	aspect-ratio:5 / 2.3;
	min-height:96px;
	border-radius:14px;
	overflow:hidden;
	text-decoration:none;
}
.ef-menu-bg{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
}
.ef-menu-item::after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(rgba(0,0,0,.22), rgba(0,0,0,.5));
	transition:background .25s;
}
.ef-menu-item:hover::after{ background:linear-gradient(rgba(0,0,0,.1), rgba(0,0,0,.38)); }
.ef-menu-name{
	position:relative;
	z-index:2;
	color:#f1dda3;
	font-family:'Roboto', sans-serif;
	font-weight:700;
	font-size:18px;
	text-transform:uppercase;
	letter-spacing:.04em;
	line-height:1.18;
	text-align:center;
	padding:0 10px;
	text-shadow:0 1px 5px rgba(0,0,0,.55);
}
@media (max-width:1024px){ .ef-menu{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:560px){ .ef-menu{ grid-template-columns:1fr; } }

/* ---- Zona ---- */
.ef-zona{ margin:0 0 64px; }
.ef-proyectos .ef-zona-title{
	font-family:'Roboto', sans-serif !important;
	font-size:35px !important;
	font-weight:700 !important;
	color:var(--ef-gold) !important;
	text-transform:uppercase !important;
	letter-spacing:.1px;
	line-height:1.1;
	text-align:center;
	margin:0 0 18px;
}
.ef-proyectos .ef-zona-desc{
	font-family:'Open Sans', sans-serif !important;
	font-size:16px;
	font-weight:400;
	color:var(--ef-desc);
	line-height:27.2px;
	text-align:center;
	max-width:760px;
	margin:0 auto 36px;
}
.ef-zona-desc p{ margin:0; }

/* ---- Grilla ---- */
.ef-grid{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:24px;
	max-width:1140px;
	margin:0 auto;
}

/* ---- Tarjeta ---- */
.ef-card{
	background:var(--ef-cream);
	border:1px solid var(--ef-border);
	border-radius:25px;
	padding:10px;
	display:flex;
	flex-direction:column;
	box-shadow:none;
	font-family:'Roboto', sans-serif;
}
.ef-card-img{ margin:0 11px 14px; }
.ef-card-foto{
	width:100%;
	aspect-ratio:318 / 191;
	height:auto;
	object-fit:cover;
	border-radius:15px;
	display:block;
}
.ef-card-body{ display:flex; flex-direction:column; flex:1; padding:0 11px; }

.ef-proyectos .ef-card-title{
	font-family:'Roboto', sans-serif !important;
	font-size:20px;
	font-weight:700;
	color:var(--ef-ink);
	line-height:26px;
	text-transform:uppercase !important;
	margin:0 0 10px;
}
.ef-card-meta{
	font-family:'Roboto', sans-serif;
	font-size:16px;
	font-weight:400;
	color:var(--ef-muted);
	line-height:20px;
	margin:0 0 18px;
}
.ef-card-meta b{ color:var(--ef-muted); font-weight:700; }

.ef-card-foot{
	margin-top:auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	flex-wrap:wrap;
	padding-bottom:6px;
}
.ef-card-btn{
	display:inline-block;
	background:#000;
	color:#fff !important;
	text-decoration:none;
	padding:10px 20px;
	border-radius:7px;
	font-family:'Roboto', sans-serif;
	font-size:12px;
	font-weight:500;
	letter-spacing:2px;
	text-transform:uppercase;
	line-height:1.3;
}
.ef-card-btn:hover{ background:#1c1c1c; }
.ef-card-logo img{
	max-height:46px;
	max-width:130px;
	width:auto;
	height:auto;
	object-fit:contain;
	display:block;
}

/* ---- Tarjeta de relleno / promo ---- */
.ef-card--relleno .ef-card-img{
	aspect-ratio:500 / 377;
	overflow:hidden;
	border-radius:15px;
	margin:0 11px 14px;
}
.ef-card--relleno .ef-card-foto{
	width:100% !important;
	height:100% !important;
	aspect-ratio:auto !important;
	object-fit:cover !important;
	border-radius:0 !important;
}
.ef-card--relleno .ef-card-body{ padding-bottom:8px; }
.ef-card--relleno .ef-card-meta{ margin-bottom:6px; }

@media (max-width:1024px){ .ef-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:680px){
	.ef-grid{ grid-template-columns:1fr; }
	.ef-zona-title{ font-size:28px; }
}
