/* ============================================================
   CONFEAFA Congreso — estilos de front (programa, ponentes, logos)
   Identidad: granate/burdeos + crema + naranja (franjas)
   Breakpoints del proyecto: 959px y 767px
   ============================================================ */

:root{
	--cong-granate:#6f1d46;
	--cong-granate-osc:#5a1639;
	--cong-crema:#fbf1e2;
	--cong-naranja:#f4b04a;
	--cong-naranja-claro:#fce7c4;
	--cong-texto:#3a2730;
	--cong-gris:#6b6b6b;
}

/*---------- PROGRAMA ------------*/

.cong-programa{ margin:0 0 1em; }

.cong-programa-tabs{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-bottom:24px;
}

.cong-programa-tabs .cong-tab{
	border:none;
	background:#efe2d6;
	color:var(--cong-granate);
	font-weight:600;
	font-size:16px;
	padding:10px 26px;
	border-radius:30px;
	cursor:pointer;
	transition:background .2s, color .2s;
}

.cong-programa-tabs .cong-tab:hover{ background:#e6d2c2; }

.cong-programa-tabs .cong-tab.is-active{
	background:var(--cong-granate);
	color:#fff;
}

.cong-tab-panel{ display:none; }
.cong-tab-panel.is-active{ display:block; }

.cong-franjas{ list-style:none; margin:0; padding:0; }

.cong-franja{
	display:flex;
	align-items:stretch;
	gap:0;
	margin:0 0 8px;
	border-radius:8px;
	overflow:hidden;
	background:#fff;
	border:1px solid #f0e4d6;
}

.cong-franja-hora{
	flex:0 0 150px;
	background:var(--cong-naranja-claro);
	color:var(--cong-granate);
	font-weight:700;
	padding:16px 18px;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
}

.cong-franja.is-destacada .cong-franja-hora{ background:var(--cong-naranja); color:var(--cong-granate-osc); }
.cong-franja.is-destacada{ border-color:var(--cong-naranja); }

.cong-franja-sesiones{
	flex:1;
	display:grid;
	grid-template-columns:1fr;
	gap:1px;
	background:#f0e4d6;
}

.cong-franja-sesiones.cong-cols-2{ grid-template-columns:1fr 1fr; }
.cong-franja-sesiones.cong-cols-3{ grid-template-columns:1fr 1fr 1fr; }

.cong-sesion{ background:#fff; padding:16px 18px; }
.cong-franja.is-destacada .cong-sesion{ background:#fffaf0; }

.cong-sesion-titulo{
	margin:0 0 6px;
	font-weight:700;
	color:var(--cong-texto);
	line-height:1.35;
}

.cong-sesion-detalle{
	margin:0;
	font-size:14px;
	color:var(--cong-gris);
	line-height:1.5;
}

	/* Programa — responsive */
	@media (max-width:959px){
		.cong-franja-sesiones.cong-cols-2,
		.cong-franja-sesiones.cong-cols-3{ grid-template-columns:1fr; }
	}
	@media (max-width:767px){
		.cong-franja{ flex-direction:column; }
		.cong-franja-hora{ flex:none; justify-content:flex-start; padding:10px 16px; }
	}

/*---------- PONENTES ------------*/

.cong-ponentes{
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:18px;
}

.cong-ponente{
	background:#fff;
	border:1px solid #f0e4d6;
	border-radius:10px;
	padding:20px 16px;
	text-align:center;
	transition:box-shadow .2s, transform .2s;
}
.cong-ponente:hover{ box-shadow:0 6px 20px rgba(111,29,70,.12); transform:translateY(-2px); }

.cong-ponente-foto{
	width:84px;
	height:84px;
	margin:0 auto 12px;
	border-radius:50%;
	overflow:hidden;
	background:var(--cong-granate);
	display:flex;
	align-items:center;
	justify-content:center;
}
.cong-ponente-foto img{ width:100%; height:100%; object-fit:cover; }

.cong-ponente-iniciales{ color:#fff; font-size:28px; font-weight:700; }

.cong-ponente-nombre{ margin:0 0 4px; font-weight:700; color:var(--cong-texto); font-size:15px; }
.cong-ponente-cargo{ margin:0 0 2px; font-size:13px; color:var(--cong-granate); }
.cong-ponente-entidad{ margin:0 0 8px; font-size:12px; color:var(--cong-gris); }
.cong-ponente-cita{ margin:0; font-size:12px; font-style:italic; color:var(--cong-gris); line-height:1.4; }

	/* Ponentes — responsive */
	@media (max-width:959px){
		.cong-ponentes{ grid-template-columns:repeat(3,1fr); }
	}
	@media (max-width:767px){
		.cong-ponentes{ grid-template-columns:repeat(2,1fr); }
	}

/*---------- LOGOS (patrocinadores / colaboradores) ------------*/

.cong-logos{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	justify-content:center;
	gap:22px;
}

.cong-logo{
	flex:0 0 auto;
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	gap:9px;
}
.cong-logo > a{ display:flex; flex-direction:column; align-items:center; gap:9px; text-decoration:none; }
.cong-logo-caja{
	display:flex;
	align-items:center;
	justify-content:center;
	background-color:#fff;
	border-radius:14px;
	box-shadow:0 8px 22px rgba(0,0,0,.06);
	padding:16px 20px;
	transition:transform .2s, box-shadow .2s;
}
.cong-logo:hover .cong-logo-caja{ transform:translateY(-3px); }
.cong-logo-caja img{
	max-width:100%;
	height:auto;
	object-fit:contain;
}

/* Nombre visible bajo la tarjeta (discreto pero legible) */
.cong-logo-nombre{
	font-family:'Manrope',sans-serif;
	font-size:12px;
	line-height:1.3;
	color:#6b6b6b;
	max-width:160px;
}

/* Tamaños diferenciados por tipo */
.cong-logos-patrocinadores .cong-logo-caja{ min-width:180px; min-height:120px; }
.cong-logos-patrocinadores .cong-logo-caja img{ max-height:90px; }
.cong-logos-colaboradores .cong-logo-caja{ min-width:140px; min-height:96px; }
.cong-logos-colaboradores .cong-logo-caja img{ max-height:70px; }

	/* Logos — responsive */
	@media (max-width:767px){
		.cong-logos{ gap:18px; }
		.cong-logos-patrocinadores .cong-logo-caja{ min-width:140px; min-height:96px; }
		.cong-logos-colaboradores .cong-logo-caja{ min-width:120px; min-height:80px; }
	}

/*---------- HOTELES (base neutra) ------------*/
.cong-hoteles-tabla{ width:100%; border-collapse:collapse; margin-top:20px; }
.cong-hoteles-tabla th,.cong-hoteles-tabla td{ border:1px solid #e2d6c8; padding:14px 16px; text-align:left; vertical-align:top; }
.cong-hoteles-tabla th{ background:#fbf1e2; }
.cong-hotel-nombre{ font-weight:700; font-size:16px; }
.cong-hotel-dato{ margin:0 0 6px; font-size:14px; }
.cong-hotel-dato span{ font-weight:700; }
.cong-hotel-web{ display:inline-block; margin-top:8px; font-weight:600; }
.cong-hotel-logo img{ max-width:120px; height:auto; margin-bottom:8px; }

/*---------- TRANSPORTES (base neutra) ------------*/
.cong-transporte-dest{ display:flex; gap:20px; align-items:flex-start; border:1px solid #e2d6c8; border-radius:10px; padding:20px; margin-bottom:16px; background:#fff; }
.cong-transporte-logo{ flex:0 0 auto; width:120px; }
.cong-transporte-logo img{ max-width:100%; height:auto; }
.cong-transporte-nombre{ margin:0 0 8px; font-size:18px; }
.cong-transporte-otro{ display:flex; flex-direction:column; gap:2px; padding:10px 0; border-bottom:1px solid #eee; }
.cong-transporte-otro-nombre{ font-weight:700; }

	@media (max-width:767px){
		.cong-transporte-dest{ flex-direction:column; }
		.cong-transporte-logo{ width:90px; }
	}
