/* =========================================================
   INAEXPO — Ficha de receta  (single-recetas.php)
   Paleta y tipografías tomadas del resto del tema:
   #00524F verde oscuro · #05A044 verde · #FC1F1F rojo · #F2FDE7 crema
   ========================================================= */

.receta-single{
	--ina-verde:#00524F;
	--ina-verde-claro:#05A044;
	--ina-crema:#F2FDE7;
	--ina-rojo:#FC1F1F;
	--ina-gris:#6f6f6f;
	--ina-texto:#3f3f3f;
	font-family:"Montserrat",sans-serif;
	color:var(--ina-texto);
	overflow-x:hidden;
}

.receta-single h1,
.receta-single h2,
.receta-single h3{
	font-family:'Archivo',sans-serif;
	margin:0;
}

.receta-wrap{
	width:92%;
	max-width:1200px;
	margin:0 auto;
}

/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */
.receta-hero{
	background:linear-gradient(120deg,#00524F 0%,#046B53 55%,#05A044 100%);
	color:#fff;
	padding:50px 0 0;
	position:relative;
}

.receta-hero-inner{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:50px;
	align-items:center;
	padding-bottom:60px;
}

.receta-back{
	display:flex;
	width:fit-content;
	align-items:center;
	gap:8px;
	color:#fff;
	opacity:.85;
	text-decoration:none;
	font-size:15px;
	font-weight:600;
	margin-bottom:22px;
	transition:.2s;
}
.receta-back:hover{ opacity:1; color:#fff; }
.receta-back svg{ width:16px; height:16px; }

.receta-eyebrow{
	display:inline-block;
	background:rgba(255,255,255,.15);
	border:1px solid rgba(255,255,255,.35);
	border-radius:50px;
	padding:5px 16px;
	font-size:12px;
	letter-spacing:.14em;
	text-transform:uppercase;
	font-weight:700;
	margin-bottom:16px;
}

.receta-title{
	font-size:clamp(30px,4vw,52px);
	line-height:1.08;
	font-weight:800;
	color:#fff;
	margin-bottom:18px;
}

/* El tema pinta los <p> en gris; aquí van sobre el verde, así que se fuerza el blanco. */
.receta-single .receta-hero .receta-sub{
	font-size:17px;
	line-height:1.6;
	max-width:34em;
	color:#fff;
	opacity:.92;
	margin:0 0 28px;
}

/* Acciones: imprimir / compartir */
.receta-actions{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px;
}
.receta-actions-label{
	font-size:13px;
	text-transform:uppercase;
	letter-spacing:.08em;
	opacity:.75;
	margin-right:4px;
}
.receta-btn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	border:0;
	cursor:pointer;
	font-family:"Montserrat",sans-serif;
	font-size:14px;
	font-weight:600;
	padding:11px 20px;
	border-radius:50px;
	text-decoration:none;
	transition:.2s;
}
.receta-btn svg{ width:17px; height:17px; }
.receta-btn-print{
	background:var(--ina-rojo);
	color:#fff;
}
.receta-btn-print:hover{ opacity:.75; color:#fff; }
.receta-btn-share{
	background:rgba(255,255,255,.16);
	color:#fff;
	border:1px solid rgba(255,255,255,.35);
	width:42px;
	height:42px;
	padding:0;
	justify-content:center;
}
.receta-btn-share:hover{ background:#fff; color:var(--ina-verde); }

.receta-hero-img{
	margin:0;
	border-radius:26px;
	overflow:hidden;
	box-shadow:0 18px 40px rgba(0,0,0,.28);
	background:rgba(255,255,255,.08);
}
.receta-hero-img img{
	display:block;
	width:100%;
	height:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
}

/* ---------------------------------------------------------
   BARRA VERDE: tiempo / dificultad / personas
   Sólo se pinta si alguno de los campos ACF tiene valor.
   --------------------------------------------------------- */
.receta-meta{
	background:var(--ina-verde-claro);
	border-top:1px solid rgba(255,255,255,.15);
}
.receta-meta-inner{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:14px 60px;
	padding:18px 0;
}
.receta-meta-item{
	display:flex;
	align-items:center;
	gap:10px;
	font-size:16px;
	font-weight:600;
	color:#fff;
}
.receta-meta-item svg{ width:22px; height:22px; flex:0 0 22px; }
.receta-meta-item span small{
	display:block;
	font-size:11px;
	font-weight:600;
	letter-spacing:.1em;
	text-transform:uppercase;
	opacity:.75;
}

/* ---------------------------------------------------------
   CUERPO: ingredientes (aside) + preparación
   --------------------------------------------------------- */
.receta-body{
	display:grid;
	grid-template-columns:360px 1fr;
	gap:50px;
	align-items:start;
	padding:70px 0 20px;
}

.receta-block-title{
	font-size:26px;
	font-weight:800;
	color:var(--ina-verde);
	margin-bottom:22px;
	display:flex;
	align-items:center;
	gap:10px;
}
.receta-block-title::after{
	content:"";
	flex:1;
	height:3px;
	border-radius:3px;
	background:rgba(5,160,68,.18);
}

/* --- Ingredientes --- */
.receta-ingredientes{
	background:var(--ina-crema);
	border-radius:24px;
	padding:32px 30px;
	position:sticky;
	top:24px;
}
.receta-ingredientes .receta-block-title{ margin-bottom:18px; }
.receta-ingredientes .receta-block-title::after{ background:#fff; }

.receta-lista{
	list-style:none;
	margin:0;
	padding:0;
}
.receta-lista li{
	position:relative;
	padding:11px 0 11px 30px;
	font-size:15.5px;
	line-height:1.5;
	border-bottom:1px dashed rgba(0,82,79,.18);
}
.receta-lista li:last-child{ border-bottom:0; }
.receta-lista li::before{
	content:"";
	position:absolute;
	left:2px;
	top:18px;
	width:11px;
	height:11px;
	border-radius:50%;
	background:var(--ina-verde-claro);
	box-shadow:0 0 0 4px rgba(5,160,68,.16);
}

/* --- Preparación --- */
.receta-pasos{
	list-style:none;
	margin:0;
	padding:0;
	counter-reset:paso;
}
.receta-pasos li{
	counter-increment:paso;
	position:relative;
	display:grid;
	grid-template-columns:52px 1fr;
	gap:20px;
	align-items:start;
	padding:0 0 26px;
}
.receta-pasos li::before{
	content:counter(paso);
	width:52px;
	height:52px;
	border-radius:50%;
	background:var(--ina-verde);
	color:#fff;
	font-family:'Archivo',sans-serif;
	font-size:21px;
	font-weight:800;
	display:flex;
	align-items:center;
	justify-content:center;
}
/* Línea vertical que une los pasos */
.receta-pasos li::after{
	content:"";
	position:absolute;
	left:25px;
	top:58px;
	bottom:8px;
	width:2px;
	background:rgba(0,82,79,.14);
}
.receta-pasos li:last-child{ padding-bottom:0; }
.receta-pasos li:last-child::after{ display:none; }
.receta-pasos li p{
	margin:0;
	font-size:16.5px;
	line-height:1.65;
	padding-top:13px;
}

/* Un solo párrafo (recetas sin pasos separados en el origen) */
.receta-parrafo{
	font-size:16.5px;
	line-height:1.75;
	background:#fff;
	border-left:5px solid var(--ina-verde-claro);
	padding:4px 0 4px 22px;
	margin:0;
}

.receta-contenido{
	margin-top:30px;
	font-size:16.5px;
	line-height:1.7;
}

/* ---------------------------------------------------------
   GALERÍA
   --------------------------------------------------------- */
.receta-galeria{ padding:40px 0 10px; }
.receta-galeria-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
	gap:22px;
}
.receta-galeria-grid a{
	display:block;
	border-radius:22px;
	overflow:hidden;
	box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.receta-galeria-grid img{
	display:block;
	width:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
	transition:transform .35s ease;
}
.receta-galeria-grid a:hover img{ transform:scale(1.05); }

/* ---------------------------------------------------------
   OTRAS RECETAS
   --------------------------------------------------------- */
.receta-relacionadas{
	background:var(--ina-crema);
	margin-top:70px;
	padding:60px 0 70px;
}
.receta-relacionadas .receta-block-title{ justify-content:center; }
.receta-relacionadas .receta-block-title::after{ display:none; }

.receta-rel-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
	gap:28px;
	margin-top:34px;
}
.receta-rel-card{
	background:#fff;
	border-radius:20px;
	box-shadow:0 0 12px rgba(0,0,0,.15);
	overflow:hidden;
	display:flex;
	flex-direction:column;
	text-decoration:none;
	color:inherit;
	transition:.25s;
}
.receta-rel-card:hover{ transform:translateY(-4px); box-shadow:0 10px 24px rgba(0,0,0,.18); }
.receta-rel-card img{
	width:100%;
	aspect-ratio:374 / 330;
	object-fit:cover;
	display:block;
}
.receta-rel-card .receta-rel-body{
	padding:20px 22px 24px;
	display:flex;
	flex-direction:column;
	flex:1;
	text-align:center;
}
.receta-rel-card h3{
	color:var(--ina-gris);
	font-size:19px;
	margin:0 0 10px;
}
.receta-rel-card p{
	font-size:14.5px;
	line-height:1.5;
	color:#777;
	margin:0 0 18px;
}
.receta-rel-card .receta-rel-cta{
	margin-top:auto;
	align-self:center;
	background:var(--ina-rojo);
	color:#fff;
	font-weight:600;
	font-size:14px;
	padding:11px 30px;
	border-radius:50px;
}

/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */
@media (max-width:1024px){
	.receta-body{ grid-template-columns:300px 1fr; gap:36px; }
}

@media (max-width:900px){
	.receta-hero{ padding-top:34px; }
	.receta-hero-inner{
		grid-template-columns:1fr;
		gap:30px;
		padding-bottom:40px;
	}
	.receta-hero-text{ order:2; }
	.receta-hero-img{ order:1; }
	.receta-body{
		grid-template-columns:1fr;
		gap:40px;
		padding-top:45px;
	}
	.receta-ingredientes{ position:static; }
	.receta-meta-inner{ gap:14px 30px; }
}

@media (max-width:600px){
	.receta-wrap{ width:90%; }
	.receta-ingredientes{ padding:26px 22px; border-radius:20px; }
	.receta-pasos li{ grid-template-columns:42px 1fr; gap:14px; }
	.receta-pasos li::before{ width:42px; height:42px; font-size:18px; }
	.receta-pasos li::after{ left:20px; top:48px; }
	.receta-pasos li p{ padding-top:9px; font-size:15.5px; }
	.receta-meta-item{ font-size:15px; }
	.receta-relacionadas{ padding:45px 0 50px; }
}

/* ---------------------------------------------------------
   IMPRESIÓN
   --------------------------------------------------------- */
@media print{
	.site-header,
	.site-footer,
	.pushy,
	.site-overlay,
	.receta-actions,
	.receta-back,
	.receta-relacionadas,
	.receta-galeria{ display:none !important; }

	.receta-single{ color:#000; }
	.receta-hero{ background:none !important; color:#000; padding:0; }
	.receta-title,
	.receta-single .receta-hero .receta-sub{ color:#000; opacity:1; }
	.receta-hero-inner{ grid-template-columns:1fr 1fr; gap:24px; padding-bottom:18px; }
	.receta-hero-img{ box-shadow:none; }
	.receta-eyebrow{ border-color:#999; color:#000; background:none; }
	.receta-meta{ background:none; border-top:1px solid #ccc; border-bottom:1px solid #ccc; }
	.receta-meta-item{ color:#000; }
	.receta-meta-item svg{ stroke:#000; }
	.receta-body{ padding:24px 0 0; grid-template-columns:38% 1fr; gap:26px; }
	.receta-ingredientes{ background:#f4f4f4; }
	.receta-pasos li{ break-inside:avoid; padding-bottom:14px; }
	.receta-pasos li::before{ background:#000 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
	.receta-pasos li::after{ display:none; }
}

/* =========================================================
   ARCHIVO DE RECETAS  (archive-recetas.php)
   ========================================================= */

.receta-hero-archivo{
	padding:60px 0 55px;
	text-align:center;
}
.receta-single .receta-hero-archivo .receta-sub{
	margin:0 auto 34px;
	text-align:center;
}

/* --- Buscador --- */
.receta-buscador{
	position:relative;
	max-width:520px;
	margin:0 auto;
}
.receta-buscador-ico{
	position:absolute;
	left:20px;
	top:50%;
	transform:translateY(-50%);
	width:20px;
	height:20px;
	color:var(--ina-verde);
	pointer-events:none;
}
.receta-buscador input[type="search"]{
	width:100%;
	border:0;
	border-radius:50px;
	background:#fff;
	color:var(--ina-texto);
	font-family:"Montserrat",sans-serif;
	font-size:16px;
	padding:16px 52px 16px 52px;
	box-shadow:0 8px 24px rgba(0,0,0,.18);
	-webkit-appearance:none;
	appearance:none;
}
.receta-buscador input[type="search"]:focus{
	outline:3px solid rgba(255,255,255,.55);
	outline-offset:2px;
}
.receta-buscador input::-webkit-search-cancel-button{ display:none; }
.receta-buscador-clear{
	position:absolute;
	right:14px;
	top:50%;
	transform:translateY(-50%);
	width:30px;
	height:30px;
	border:0;
	border-radius:50%;
	background:var(--ina-crema);
	color:var(--ina-verde);
	font-size:20px;
	line-height:1;
	cursor:pointer;
}
.receta-buscador-clear:hover{ background:var(--ina-verde-claro); color:#fff; }

.receta-contador{
	margin:16px 0 0;
	font-size:13px;
	letter-spacing:.12em;
	text-transform:uppercase;
	font-weight:700;
	color:#fff;
	opacity:.8;
}

/* --- Cuadrícula --- */
.receta-archivo-body{ padding:60px 0 80px; }

.receta-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(290px,1fr));
	gap:30px;
}

.receta-card-item[hidden]{ display:none; }

.receta-card-link{
	background:#fff;
	border-radius:20px;
	box-shadow:0 0 12px rgba(0,0,0,.15);
	overflow:hidden;
	height:100%;
	display:flex;
	flex-direction:column;
	text-decoration:none;
	color:inherit;
	transition:.25s;
}
.receta-card-link:hover{
	transform:translateY(-5px);
	box-shadow:0 12px 26px rgba(0,0,0,.18);
}

.receta-card-foto img{
	display:block;
	width:100%;
	aspect-ratio:374 / 330;
	object-fit:cover;
}

.receta-card-cuerpo{
	padding:22px 24px 26px;
	text-align:center;
	display:flex;
	flex-direction:column;
	flex:1;
}
.receta-card-cuerpo h3{
	color:var(--ina-gris);
	font-size:19px;
	line-height:1.3;
	margin:0 0 10px;
}
.receta-card-cuerpo p{
	font-size:14.5px;
	line-height:1.55;
	color:#777;
	margin:0 0 20px;
}
.receta-card-cuerpo .receta-rel-cta{
	margin-top:auto;
	align-self:center;
	background:var(--ina-rojo);
	color:#fff;
	font-weight:600;
	font-size:14px;
	padding:11px 30px;
	border-radius:50px;
}
.receta-card-link:hover .receta-rel-cta{ opacity:.8; }

/* Footer verde: sólo si la receta trae tiempo / dificultad / porciones */
.receta-card-footer{
	background:var(--ina-verde-claro);
	color:#fff;
	display:flex;
	justify-content:space-around;
	gap:8px;
	padding:12px 10px;
	font-size:15px;
	font-weight:600;
}
.receta-card-footer div{
	display:flex;
	align-items:center;
	gap:6px;
}
.receta-card-footer svg{ width:18px; height:18px; flex:0 0 18px; }

.receta-sin-resultados,
.receta-vacio{
	text-align:center;
	font-size:17px;
	color:var(--ina-gris);
	padding:50px 0;
	margin:0;
}

@media (max-width:600px){
	.receta-hero-archivo{ padding:36px 0 40px; }
	.receta-grid{ grid-template-columns:1fr; gap:24px; }
	.receta-buscador input[type="search"]{ font-size:15px; padding:14px 46px; }
}

@media print{
	.receta-buscador,
	.receta-contador{ display:none !important; }
	.receta-hero-archivo{ padding:0 0 16px; }
}
