/*
 # ########*###########################
 Autor: José Luis Rodriguez
 Mail: jrodriguez@bincodex.com
 Web: https://bincodex.com
 Fecha: 2026-02-17 10:49:35
 Archivo: styles.css
 Codificación: UTF-8
 Editado en: Kate 25.04.3
 ####################################
 */

html, body {
	padding: 0px;
	margin: 0px;
	width: 100%;
	height: 100%;
	font-family: system-ui;
	font-size: 12px;
}

body {
	background: #ffffff;
}


.str {
	display: grid;
	min-height: calc( 100vh - 0px );
	grid-template-columns: 200px 5fr 1fr;
	grid-template-rows: 60px 1fr 140px;
	grid-template-areas:
		"header header  header "
		"aside  content content"
		"footer footer  footer ";
	border: 0px solid green;
}




.hdr {
	grid-area: header;
	display: flex;
	align-items: center;
	border-bottom: 1px solid silver;
	box-shadow: 1px 1px 5px #000000;
}

	.logohd {
		background: url('/../img/logo.png?v=1');
		background-size: cover;
		width: 206px;
		height: 50px;
	}

	.invert {
		filter: grayscale(0%);
		filter: invert(50%);
	}

	.tithd {
		flex: 2;
		text-align: center;
	}


.asd {
	grid-area: aside;
	background: #012;
	color: #fff;
	padding: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}


.cnt {
	grid-area: content;
	padding: 7px;
	background: #ffffff;
/* 	display: flex; */
/* 	align-items: center; */
/* 	justify-content: center; */
}



.ftp {
	grid-area: footer;
	display: flex;
	gap: 10px;
	padding: 10px;
	background: #323232;
}


.ftp article {
	flex: 1;
	border: 0px solid red;
	display: flex; 
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 1.3em;
}

.ftp article div {
	color: #fff;
	text-align: center;
	padding: 3px;
}





/*Forms*/
.fst-cnt {
	border: 1px solid silver;
	border-radius: 10px;
}

.fst-lgn {
	border: 1px solid #797979;
	padding: 10px;
	border-radius: 10px;
	background: #012;
	color: #fff;
}

.fst-inps {
	display: grid;
	gap: 30px;
	grid-template-columns: repeat(3,1fr);
	padding: 20px;
}

.inp-frm-web{
	border: 0px solid red;
}

.inp-frm-web label {
	font-size: 1.5em;
}

.date-inp, .select-inp, .text-inp, .email-inp {
	font-size: 1.5em;
	padding: 7px;
}

.text-inp, .email-inp, .select-inp {
	width: 99%;
}

.act-frm{
	display: flex;
	gap: 20x;
	padding: 10px;
	justify-content: center;
	align-items: center;
	border: 0px solid red;
}


.btn-sbt {
	font-size: 1.5em;
	color: #fff;
	font-weight: bold;
	background: linear-gradient(to bottom, #258dc8 0%,#258dc8 63%);
	border: 0px;
	padding: 10px;
	min-width: 200px;
	border-radius: 8px;

}


.pdd10 {
	padding: 10px;
}

#wait {
	position: fixed;
	top: 0; left: 0;
	width: 100vw;
	height: 100vh;
	backdrop-filter: blur(6px);
	background: rgba(0,0,0,0.35);
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 999;
	color: #fff;
	font-weight: bold;
	font-size: 2em;
}





/*Dialog*/
dialog {
  border: none;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

#dlg-tit, #dlg-sti, .actions {
	text-align: center;
}

#dlg-tit {
	font-size: 1.6em;
}

#dlg-sti {
	font-size: 0.9em;
}

#dlg-btn {
	font-size: 1.1em;
	color: #fff;
	font-weight: bold;
	background: linear-gradient(to bottom, #258dc8 0%,#258dc8 63%);
	border: 0px;
	padding: 10px;
	min-width: 200px;
	border-radius: 8px;
}

.actions {
	padding: 5px;
}

/* El fondo detrás del modal */
dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(3px); /* Efecto de desenfoque */
}


.cn {
	text-align: center;
}






.tit-prc {
	font-size: 1.5em;
	font-weight: bold;
}

.inp-doc {
	padding: 5px;
	font-size: 1.5em;
}


.alert-txt {
	color: #aa0000;
}

.no-select {
	user-select: none;
}

.lk {
	cursor: pointer;
}

.jf {
	text-align: justify;
}

.blue{
	color: #0055ff;
}

.prefix-txt {
	color: #000000;
	font-size: 1.5em;
}

.sufix-txt {
	color: #00007f;
	font-size: 1.5em;
}





.content-agenda-disponible {
	border: 1px solid silver;
	padding: 20px;
	border-radius: 10px;
}

.tit-dsp {
	color: #1f519e;
	text-align: left;
	font-weight: bold;
	font-size: 2em;
}

.tit-no-dsp {
	color: #aa0000;
	text-align: center;
}

.cnt-list-horas {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
	padding: 10px;
}


.item-agenda {
	border: 1px solid silver;
	padding: 20px;
	border-radius: 10px;

	display: block; /* O flex, según tu diseño */
	padding: 15px;
	background-color: #f5f5f5; /* Fondo por defecto */
	border: 1px solid #ddd;
	cursor: pointer;
	transition: background-color 0.3s ease;
}


.item-agenda:has(input[type="radio"]:checked) {
  background-color: #ffff00; /* Color de fondo cuando está seleccionado */
  border-color: #3b82f6;     /* Opcional: cambia el borde también */
  font-weight: bold;
}


.item-agenda input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}


.item-fecha {
	text-align: right;
}


.item-horas {
	text-align: center;
}

.item-profs {
	text-align: left;
}






/*responsive*/
@media (max-width: 1680px) {
	.fst-inps {
		grid-template-columns: repeat(2,1fr);
	}
}



@media (max-width: 1211px) {
	.fst-inps {
		grid-template-columns: repeat(1,1fr);
	}
}


@media (max-width: 736px) {

	.str {
/* 		grid-template-columns: 200px 5fr 1fr; */
		grid-template-rows: 60px 100px 2fr 169px;
		grid-template-areas:
			"header header  header "
			"aside  aside aside"
			"content  content content"
			"footer footer  footer ";
	}

	.ftp {
		flex-direction: column;
		font-size: 0.8em;
		flex-flow: column-reverse;
	}

}


@media (max-width: 553px) {

	select {
		width: 100%;
	}

}



@media (max-width: 442px) {

	.tithd {
		display: none;
	}

}













/* Estilo base del contenedor */
.item-agenda {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  background: #f8f9fc;
  padding: 16px 24px;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  border-left: 6px solid #4a6cf7;
  transition: all 0.2s ease-in-out;
  font-family: 'Segoe UI', Roboto, system-ui, sans-serif;
  cursor: default;
  max-width: 700px;
  margin: 12px 0;
}

.item-agenda:hover {
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(74, 108, 247, 0.12);
  transform: translateY(-2px);
  border-left-color: #6b8aff;
}

/* Fecha */
.item-fecha {
  font-weight: 600;
  font-size: 1rem;
  color: #1e293b;
  letter-spacing: 0.3px;
  min-width: 160px;
}

/* Horas */
.item-horas {
  font-weight: 500;
  font-size: 0.95rem;
  color: #4a6cf7;
  background: #eef2ff;
  padding: 4px 14px;
  border-radius: 40px;
  white-space: nowrap;
  display: inline-block;
  font-variant-numeric: tabular-nums;
}

/* Profesionales */
.item-profs {
  font-weight: 400;
  font-size: 0.95rem;
  color: #334155;
  background: #f1f5f9;
  padding: 4px 16px;
  border-radius: 40px;
  white-space: nowrap;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Ajuste responsive */
@media (max-width: 600px) {
  .item-agenda {
    flex-wrap: wrap;
    gap: 10px;
    padding: 16px;
  }

  .item-fecha {
    min-width: 100%;
    font-size: 0.95rem;
  }

  .item-horas,
  .item-profs {
    font-size: 0.85rem;
    padding: 3px 12px;
  }
}
