/* Reset CSS */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {margin:0;padding:0;}
html,body {height: 100%; margin:0; padding:0;}
table {border-collapse:collapse;border-spacing:0;}
fieldset,img {border:0;}
address,caption,cite,code,dfn,th,var {font-style:normal;font-weight:normal;}
ol,ul {list-style:none;}
caption,th {text-align:left;}
h1,h2,h3,h4,h5,h6 {font-family: sfburlingtonreg, Verdana, Arial, Helvetica, sans-serif;}
h1 { font-size: 2em; font-weight:900; color:#aaa;}
q:before,q:after {content:'';}
abbr,acronym {border:0;}
body{
	display: flex; flex-direction: column;
	background-color:#fff;
	background-image: url(../graficos/fondo2026_oscuro.jpg); 
	background-repeat:repeat;
	font-family:fortheenas, julius, Tahoma, Verdana, Arial, sans-serif;
	font-size:85%; color:#ccc;
}
.contenedorPrincipal{ 
	width: 98%; min-width: 500px;
	margin: 0 auto;
	overflow: hidden;
	text-align: center;
	min-height: 800px;
	flex: 1;
}
.header{
	width: 100%;
	float: left;
	margin-top: 0px; padding: 0;
}
.headerLogo{                                                       /*este es el que contiene la imagen-titulo 'DANIEL SOSA FOTOGRAFIA*/
	width:40%; min-width: 450px;
	float: left;
	margin:0;
	background-image: url(../graficos/translucidogris10.png);
}
.headerLogo img{
	width:100%; height:auto;
	margin:0;
}
.headerMenu{
	width: 650px;
	float: right;
	margin:0 auto;
}
.menu{
	width: 100%;
	padding: 0;
}
.main{
	position: absolute; top:5em;
	width: 99%;
	padding: 0;
	flex: 1;
}
.contenido{ 
	width: 1000px;
	margin: 0 auto; padding: 2em;  margin-bottom: 2em;
	overflow: hidden;
	text-align: center;
	background-image:url(../graficos/translucidoNegro30.png);	
}
.contenido a{ 
	color:#fff; text-decoration:none; font-weight:900;
	text-shadow: 0px 6px 8px #666666;
	-webkit-text-shadow: 0px 6px 15px 0px rgba(102,102,102,0.5);
	-moz-text-shadow: 0px 6px 15px 0px rgba(102,102,102,0.5);
	text-shadow: 0px 6px 15px 0px rgba(102,102,102,0.5);
}
.contenido a:hover{
	color:#ddd;
}
.fondofotos{
	width: 1000px;
	margin: 0 auto; padding: 2em;  margin-bottom: 2em;
	overflow: hidden;
	text-align: center;
	background-image:url(../graficos/translucidoNegro30.png);	
}
.titulo{
	width: 100%;
	font-family: julius, Verdana, Arial, Helvetica, sans-serif;
	color:#FFF; font-size: 3em; text-align:center;
	background-image:url(../graficos/fondotitulos.png); background-repeat:repeat-x;
	margin-bottom: 0.3em;
}
.subtitulo{
	width: 99%;
	font-family: julius, Verdana, Arial, Helvetica, sans-serif;
	color:#FFF; font-size: 1.8em; text-align:center;
	padding-bottom: 0.4em;
	background-image:url(../graficos/fondosubtitulos.png); background-repeat:repeat-x;
	margin-bottom: 0.3em;
}
.subtitulo2{
	width: 99%;
	font-family: julius, Verdana, Arial, Helvetica, sans-serif;
	color:#FFF; 
	font-size: 1.5em;
	text-align:center;
	padding: 0.4em;
	background-image:url(../graficos/fondosubtitulos.png); background-repeat:repeat-x;
	margin-bottom: 0.2em;
}
.texto{
	/*min-height: 200px;*/
	font-family: fortheenas, julius, Verdana, Arial, Helvetica, sans-serif;
	color:#ccc; 
	font-size: 1.2em; font-weight:500; 
	text-align:justify; line-height: 1.2em; 
}
.texto a{
	color:#ccc; text-decoration:none; font-weight:900;
}
.textoit{
	font-style:italic;
}
.texto a:hover{
	color:#fff;
}
.fototexto{
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1000px;
	margin: 0; padding: 0;  margin-bottom: 2em;
	overflow: hidden;
	text-align: center;
}
.piedepagina{
	width: 98%;
	margin: 0 auto; margin-top:3em; margin-left: -5px;
	overflow: hidden;
	text-align: center;
	font-family: julius, Verdana, Arial, sans-serif;
	font-size: 1em; color:#ccc; font-weight:500;
	padding: 1em; margin-top: 3em;
	background-image: url(../graficos/translucidogris10.png);
	bottom:0;
}
.imagenLink{
	float:right;
	width: 200px; height: 200px;
	margin: 0 0.5em 1.5em 2em;
	/*margin-bottom: 40px;*/
	/*border: 2 px solid #fff;*/
	font-family: julius, Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.9em; font-weight:300;
	text-align:center;	
}
.imagenLink img {
	width: 100%; height: auto; margin-bottom:5px;
	display: block;            	/* Convierte la imagen en bloque para que acepte bien el borde */
	box-sizing: border-box;    	/* Asegura que el borde no deforme el tamaño de la imagen */
	/*padding: 5px;				/*para generar un borde*/
	/*background-image: url(../graficos/fondobordeimagenes2026.png); background-repeat: repeat; /*con esto genera un borde traslucido y con textura para las imagenes*/
	/*border: 5px solid #fff; 	/* borde blanco (ajustar los px a gusto) usar en caso de no querer usar el borde grafico anterior */
	overflow: hidden; 			/* OBLIGATORIO: Evita que la foto tape el redondeado en las esquinas */
	border-radius: 3px;  		/* esquinas un poco redondeadas (ajustar los px a gusto) */      
	box-shadow: 0px 4px 6px -2px #111;/* Tu sombra corregida y moderna (la última de tu código anterior) */
}
.contenedoredes{
	float: right;	
	width: 400px;
	height: 200px; margin-top: -10px:
}
.redeslink{
	/*float: right; clear: right; /* OBLIGA a que el siguiente div flote ABAJO del anterior */
	width: 180px; 
	margin-left: 10px; 
	margin-bottom: 20px;
	font-family: fortheenas, julius, Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.9em; font-weight:900;
	text-align:center;
}
.redeslink img {
	width: 150px; height: auto; margin-left:20px;
	display: block;
}

/* Genera la cuadrícula exacta y automática */
.cuadricula-galeria {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); /* Crea columnas de mínimo 220px que llenan todo el ancho disponible */
    gap: 12px; /* Separación uniforme entre fotos */
    padding: 12px;
}
/* La celda/enlace que contiene la imagen */
.item-galeria {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1; /* Obliga a que cada celda sea un cuadrado perfecto */
    overflow: hidden;    /* Oculta cualquier desborde */
    border-radius: 8px;  /* Bordes suaves (opcional) */
}
/* La imagen se adapta al contenedor sin deformarse */
.foto-galeria {
    width: 100%;
    height: 100%;
    object-fit: cover;  /* Mantiene la relación de aspecto llenando el cuadrado (corte inteligente) */
    object-position: center; /* Centra el encuadre de la foto */
    display: block;
    transition: transform 0.3s ease;
}
/* Efecto visual al pasar el cursor (opcional) */
.item-galeria:hover .foto-galeria {
    transform: scale(1.05);
}

/*blurea las fotos elegidas*/
/* Contenedor especial para las fotos protegidas */
.contenedor-blur {
    position: relative;
    background-color: #eee;
    cursor: default;
}

/* Aplicación del desenfoque a la imagen */
.foto-borrosa {
    filter: blur(3px) brightness(0.9); /* Difumina y oscurece un poco la foto */
    scale: 1.1; /* Evita que los bordes del blur se vean blancos */
    transition: filter 0.5s ease, scale 0.5s ease;
}

/* El botón "Mirar" centrado perfectamente en el cuadrado */
.btn-revelar {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255, 0.9);
    color: #1a1a1a;
    border: none;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 20px;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    transition: background-color 0.2s, transform 0.2s;
    z-index: 10;
}

.btn-revelar:hover {
    background-color: #ffffff;
    transform: translate(-50%, -50%) scale(1.05);
}

/* Clase auxiliar que aplicará Javascript al hacer clic */
.revelada {
    filter: blur(0px) brightness(1) !important;
    scale: 1 !important;
    cursor: pointer;
}
/* Estilos para el enlace censurado */
.item-borroso {
    position: relative;
    background-color: #1a1a1a;
    overflow: hidden;
}

.foto-borrosa {
    filter: blur(20px) brightness(0.7);
    transform: scale(1.1); /* Evita líneas blancas en los bordes por el blur */
    transition: filter 0.4s ease, transform 0.4s ease;
}

.revelada {
    filter: blur(0px) brightness(1) !important;
    transform: scale(1) !important;
}

/* Estilo del botón contenedor (Ahora sin fondo blanco ni bordes fijos) */
/* Limpieza absoluta del botón para eliminar el rectángulo nativo */
.btn-revelar {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    
    /* Estos 4 parámetros eliminan el rectángulo y sus bordes */
    background: transparent !important; 
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important; /* Quita cualquier sombra de caja del botón */
    
    cursor: pointer;
    pointer-events: none; /* El clic sigue pasando directo al enlace <a> */
    transition: transform 0.2s ease;
}


/* Estilo para tu imagen del ojo */
.icono-ojo {
    width: 40px;  /* Ajusta este valor en píxeles según el tamaño en que desees ver icono de ver */
    height: auto; /* Mantiene la proporción original de tu diseño */
    display: block;
}

/* Efecto opcional: el ojo se agranda un poquito al pasar el mouse por la tarjeta */
.item-borroso:hover .btn-revelar {
    transform: translate(-50%, -50%) scale(1.1);
}


/**/
#menu{
	list-style: none;
	margin: 0; padding: 0;
	font-family: julius, "trebuchet ms", Tahoma, Verdana, Arial, sans-serif;
	font-size: 1.1em;
	font-weight:100;
}
#menu li{
	margin: 0;
	padding: 0px;
	float: left;
}
#menu li a {
	display:block;
	width:100px;
	margin: 4px;
	padding:4px 8px;
	text-decoration:none;
	text-align:left;
	color:#999;
	text-shadow: 1px 1px 2px #666;									
	background-image:url(../graficos/menudegradado0.png);
	background-repeat: repeat-y;
}
#menu li a:hover {
	color:#fff;
	background-image:url(../graficos/menudegradado.png);
	background-repeat: repeat-y;
}
#botonMenu{visibility: hidden;}
#menuV{visibility: hidden;}
#barraNavegacion{ 
	width: 98%; height: auto;
	margin: 0 auto;
	font-family: julius, Verdana, Arial, Helvetica, sans-serif;
	font-weight:900;
	overflow: hidden;
	text-align: center;
	display: flex;
	justify-content: center;
	text-shadow: 0px 6px 8px #666666;
	-webkit-text-shadow: 0px 6px 15px 0px rgba(102,102,102,0.5);
	-moz-text-shadow: 0px 6px 15px 0px rgba(102,102,102,0.5);
	text-shadow: 0px 6px 15px 0px rgba(102,102,102,0.5);
}

/*Estilos para formulario*/
    .form-container { max-width: 450px; margin: 30px auto; font-family: Arial, sans-serif; }
    .form-group { margin-bottom: 15px; }
    .form-group label { display: block; margin-bottom: 5px; font-weight: bold; }
    .form-group input, .form-group textarea { width: 100%; padding: 8px; box-sizing: border-box; }
    .btn-container { display: flex; gap: 10px; }
    button { padding: 10px 20px; cursor: pointer; border: none; border-radius: 4px; }
    .btn-enviar { background-color: #28a745; color: white; }
    .btn-limpiar { background-color: #dc3545; color: white; }
    .clave-key { display: none !important; } /* FILTRO ANTISPAM: Oculta el campo por completo para los humanos */
    /* Alertas de éxito o error */
    .alerta { padding: 10px; margin-bottom: 15px; border-radius: 4px; }
    .alerta-exito { background-color: #d4edda; color: #155724; }
/**/
@media screen and (max-width:1150px){
	.contenedorPrincipal{ 
		width: 100%; min-width: 400px;
		margin: 0 auto; margin-top:0;
		overflow: hidden;
		text-align: center;
		}
	.header{
		width: 1000px; text-align:left;
		height: 100px;
		margin: 0 auto;
		}
	.header img{
		width: 100%;
		height: auto;
	}
	.headerMenu{visibility: hidden;}
	.headerLogo{						/*este es el que contiene la imagen-titulo 'DANIEL SOSA FOTOGRAFIA*/
		width:100%;
		float: left;
		margin:0;
	}
	.headerLogo img{
		width:750px; height:auto;
		margin:0;
	}
	.contenido{ 
		width: 95%; min-width: 300px; padding: 0.5em;
	}
	.piedepagina{
	}
	.menu{
		width: 100%;
		padding: 0; margin: 0; float: left;
		}
	.main{
		width: 100%;
		float: left;
		}
	.piedepagina{
		width:90%;
		font-size:1em;
	}

    .cuadricula-galeria {
    grid-template-columns: repeat(3, 1fr);/* Fuerza exactamente 3 columnas idénticas y les permite encogerse todo lo necesario */
    gap: 8px;    /* Reducimos un poco el espacio entre fotos en móviles para ganar pantalla */
    padding: 8px; 
    }

	#menuH{visibility: hidden;}
	#botonMenu{ 
		position:absolute; top: 5px; right:5px;
		width: 10px; height: auto; 
		z-index:210;
		visibility:visible;
		}
	#botonMenu img { width:50%; height:auto}
	#menuV{
		position:absolute; top:5px; left: -200px;
		width: 190px; height:auto;
		background-image: none;
		height: 20px; margin-top:0px; 
		z-index:190;
		visibility:visible;	
		}

	#menu{
		font-size: 1.3em;
		font-weight:100;
	}
	#menu li{
		margin: 2px;
		padding:0px;
		float: none;
	}
	#menu li a {
		display:block; background-color: #000;
		width:190px; height: 30px;
		margin: -1px;
		padding:4px;
		color:#ddd;
		text-align: left;	
	}
	#menu li a:hover {
		background-color: #333;
		color:#fff;
	}

	}
@media screen and (max-width:800px){
	.header{
		width: 100%; text-align:left;
		float: left;
		margin: 0 auto;
		}
	.header img{
		width: 800px;
		height: auto;
	}
	.headerLogo{                                                     /*este es el que contiene la imagen-titulo 'DANIEL SOSA FOTOGRAFIA*/
		width:100%;
		float: left;
		margin:0;
	}
	.headerLogo img{
		width:600px; height:auto;
		margin:0;
	}
	#barraNavegacion{ 
		width: 100%; height: auto;
		margin: 0 auto; padding: 10px;
		flex-wrap: wrap;
	}
	.piedepagina{
		visibility: hidden;
	}
		.contenedoredes{	
	width: 100%; height: auto;
	text-align: center;
	}
	.redeslink{
	float: left;
	margin-left: 2em; 
	}
    .cuadricula-galeria {
    grid-template-columns: repeat(3, 1fr);/* Fuerza exactamente 3 columnas idénticas y les permite encogerse todo lo necesario */
    gap: 8px;    /* Reducimos un poco el espacio entre fotos en móviles para ganar pantalla */
    padding: 8px; 
    }
	
	}