/* GEINCOR – Agenda una demostración
   Paleta: navy #13213D · azul #2F56F3 · gris input #EFEFEF · texto #1B2740 */

.gad {
	--gad-navy: #13213D;
	--gad-azul: #2F56F3;
	--gad-gris: #EFEFEF;
	--gad-texto: #1B2740;
	--gad-suave: #6B7280;
	font-family: 'Montserrat', system-ui, sans-serif;
	color: var(--gad-texto);
	max-width: 1180px;
	margin: 0 auto;
	padding: 48px 20px 72px;
}
.gad *, .gad *::before, .gad *::after { box-sizing: border-box; }

/* Cabecera */
.gad-cabecera { text-align: center; max-width: 820px; margin: 0 auto 40px; }
.gad-cabecera h2 { font-size: clamp(28px, 4vw, 40px); font-weight: 800; color: var(--gad-navy); margin: 0 0 14px; }
.gad-cabecera p { font-size: 16px; line-height: 1.6; color: var(--gad-suave); margin: 0; }

/* Barra de pasos */
.gad-pasos { display: flex; align-items: center; gap: 16px; list-style: none; padding: 0; margin: 0 0 36px; }
.gad-pasos li { font-weight: 700; font-size: 15px; color: #C5CAD6; white-space: nowrap; letter-spacing: .02em; }
.gad-pasos li.es-activo { color: var(--gad-navy); }
.gad-pasos li:not(:last-child)::after { content: ''; display: inline-block; vertical-align: middle; height: 2px; width: clamp(40px, 18vw, 260px); background: #E3E6EC; margin-left: 16px; border-radius: 2px; }
.gad-pasos li.es-hecho { color: var(--gad-azul); }
.gad-pasos li.es-hecho:not(:last-child)::after { background: var(--gad-azul); }

/* Paneles */
.gad-panel { display: none; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 48px; align-items: start; }
.gad-panel.es-activo { display: grid; }
.gad-panel h3 { font-size: 22px; font-weight: 700; color: var(--gad-navy); margin: 0 0 20px; }
.gad-col-ancha { grid-column: 1 / -1; }
.gad-sub { font-weight: 600; font-size: 15px; margin: 0 0 12px; }

/* Fotos de referencia (degradado si no cargan imágenes propias) */
.gad-media { min-height: 340px; border-radius: 18px; background:
	linear-gradient(160deg, rgba(19,33,61,.85), rgba(47,86,243,.55)),
	var(--gad-navy); background-size: cover; background-position: center; }
.gad-media-1 { background-image: linear-gradient(160deg, rgba(19,33,61,.35), rgba(47,86,243,.25)), url('img/paso1.jpg'); }
.gad-media-2 { background-image: linear-gradient(160deg, rgba(19,33,61,.35), rgba(47,86,243,.25)), url('img/paso2.jpg'); }

/* Tabs (Soluciones/Productos, lugar, tipo de cliente) */
.gad-tabs { display: flex; gap: 12px; margin-bottom: 20px; flex-wrap: wrap; }
.gad-tabs-v { flex-direction: column; align-items: stretch; max-width: 220px; }
.gad-tabs button {
	font: inherit; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
	padding: 11px 20px; border-radius: 8px; border: 0; cursor: pointer;
	background: var(--gad-navy); color: #fff; transition: background .15s;
}
.gad-tabs button.es-activo { background: var(--gad-azul); }
.gad-tabs button:focus-visible { outline: 3px solid rgba(47,86,243,.4); outline-offset: 2px; }

/* Lista de productos */
.gad-lista { display: none; list-style: none; padding: 0; margin: 0; max-height: 320px; overflow-y: auto; }
.gad-lista.es-activo { display: block; }
.gad-lista li + li { margin-top: 10px; }
.gad-item {
	display: block; width: 100%; text-align: left; font: inherit; font-size: 13px; font-weight: 700;
	letter-spacing: .03em; text-transform: uppercase; color: var(--gad-texto);
	background: var(--gad-gris); border: 0; border-radius: 10px; padding: 18px 20px; cursor: pointer;
	transition: background .15s, color .15s;
}
.gad-item:hover { background: #E2E5EB; }
.gad-item.es-activo { background: var(--gad-navy); color: #fff; }

/* Campos */
.gad-campo { display: block; margin-bottom: 14px; }
.gad-campo span { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--gad-navy); }
.gad-campo input, .gad-campo select {
	width: 100%; font: inherit; font-size: 15px; color: var(--gad-texto);
	background: var(--gad-gris); border: 2px solid transparent; border-radius: 8px; padding: 13px 16px;
}
.gad-campo input:focus, .gad-campo select:focus { outline: 0; border-color: var(--gad-azul); background: #fff; }
.gad-fila { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gad-dir-fija { background: var(--gad-gris); border-radius: 10px; padding: 18px 20px; font-size: 15px; line-height: 1.5; margin-bottom: 20px; }

/* Paso 3 en 3 columnas */
.gad-grid3 { display: grid; grid-template-columns: 220px 1fr 1fr; gap: 36px; }
.gad-aviso {
	margin-top: 22px; display: inline-block; background: var(--gad-navy); color: #fff;
	font-size: 14px; font-weight: 600; line-height: 1.5; border-radius: 12px; padding: 16px 20px;
}

/* Navegación */
.gad-nav { display: flex; gap: 14px; margin-top: 34px; }
.gad-btn {
	font: inherit; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
	background: var(--gad-navy); color: #fff; border: 0; border-radius: 8px; padding: 15px 34px; cursor: pointer;
	transition: background .15s;
}
.gad-btn:hover { background: var(--gad-azul); }
.gad-btn[disabled] { opacity: .6; cursor: wait; }
.gad-btn-borde { background: #fff; color: var(--gad-navy); border: 2px solid var(--gad-navy); }
.gad-btn-borde:hover { background: var(--gad-gris); color: var(--gad-navy); }

/* Errores, gracias, honeypot */
.gad-error { color: #C0362C; font-size: 14px; font-weight: 600; margin: 10px 0 0; }
.gad-gracias { display: none; text-align: center; padding: 60px 20px; }
.gad-gracias.es-activo { display: block; }
.gad-gracias h3 { font-size: 28px; }
.gad-gracias p { color: var(--gad-suave); max-width: 460px; margin: 0 auto; }
.gad-hp { position: absolute; left: -9999px; height: 0; width: 0; opacity: 0; }

/* Responsive */
@media (max-width: 900px) {
	.gad-panel { grid-template-columns: 1fr; }
	.gad-media { min-height: 220px; order: -1; }
	.gad-grid3 { grid-template-columns: 1fr; gap: 20px; }
	.gad-tabs-v { max-width: none; flex-direction: row; }
	.gad-pasos li:not(:last-child)::after { width: clamp(20px, 8vw, 80px); }
}

/* --- v1.1: chips de horas y botón WhatsApp --- */
.gad-leyenda { font-weight: 500; color: var(--gad-suave); text-transform: none; }
.gad-horas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.gad-hora {
	font: inherit; font-size: 14px; font-weight: 700; letter-spacing: .02em;
	background: var(--gad-gris); color: var(--gad-texto);
	border: 2px solid transparent; border-radius: 8px; padding: 12px 18px; cursor: pointer;
	transition: background .15s, color .15s;
}
.gad-hora:hover:not([disabled]) { border-color: var(--gad-azul); }
.gad-hora.es-activo { background: var(--gad-azul); color: #fff; }
.gad-hora.es-ocupada {
	background: #F3F4F6; color: #B4B9C4; cursor: not-allowed;
	text-decoration: line-through;
}
.gad-horas-vacio { font-size: 14px; color: var(--gad-suave); margin: 6px 0 0; }
.gad-btn-wa {
	display: inline-block; text-decoration: none; margin-top: 24px;
	background: #25D366; color: #fff;
}
.gad-btn-wa:hover { background: #1DAA52; }

/* --- v1.2: ajustes para convivir con el tema (Salient) --- */

/* Ancho completo del contenedor */
.gad { max-width: 100% !important; width: 100%; padding-left: 0; padding-right: 0; }

/* El tema pinta las listas con numeración/viñetas y sangría: resetear todo dentro del formulario */
.gad ol, .gad ul,
.gad ol li, .gad ul li {
	list-style: none !important;
	list-style-type: none !important;
	padding-left: 0 !important;
	padding-inline-start: 0 !important;
	margin-left: 0 !important;
}
.gad-lista li { margin: 0 0 10px !important; }
.gad-lista li:last-child { margin-bottom: 0 !important; }

/* Pasos centrados */
.gad-pasos {
	justify-content: center !important;
	margin: 0 0 36px !important;
	padding: 0 !important;
}

/* Títulos internos más pequeños (el tema los agranda) */
.gad .gad-panel h3 {
	font-family: 'Montserrat', system-ui, sans-serif !important;
	font-size: 18px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--gad-navy) !important;
	margin: 0 0 18px !important;
}
.gad .gad-gracias h3 { font-size: 24px !important; }

/* Título principal y párrafo de cabecera protegidos del tema */
.gad .gad-cabecera h2 {
	font-family: 'Montserrat', system-ui, sans-serif !important;
	font-weight: 800 !important;
	color: var(--gad-navy) !important;
	margin: 0 0 14px !important;
}
.gad .gad-cabecera p { margin: 0 !important; }

/* --- v1.3.1: respetar siempre el atributo hidden (campos condicionales) --- */
.gad [hidden] { display: none !important; }
