/* ---------------------------
   VARIABLES GLOBALES
   --------------------------- */
:root{
  --primary: #f16e03;
  --primary-dark: #0b5ed7;
  --white: #ffffff;
  --dark-3: #666;
  --gray-4: #e6e6e6;
  --shadow-2: 0 4px 10px rgba(0,0,0,0.06);
  --shadow-4: 0 8px 20px rgba(0,0,0,0.12);
  --shadow-5: 0 12px 30px rgba(0,0,0,0.12);
}

/* Reset básico */
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ---------------------------
   ESTILOS GENERALES / BODY
   --------------------------- */
body{
  font-family: Arial, sans-serif;
  line-height: 1.6;
  background-color: #fa9f30;
  color: #333;
}

/* ---------------------------
   PROFILE CARD
   --------------------------- */
.profile{
  text-align: center;
  position: relative;
  overflow: hidden;
  /*background-color: var(--white);*/
  z-index: 2;
  background-image: url('../images/foto de fondo.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  padding: 100px 0;
}

.profile::before{
  /*position: absolute;
  content: "";
  left: 0;
  top: 0;
  background-color: var(--primary);
  height: 100%;
  width: 100%;
  opacity: 0.8;
  z-index: -1;*/
}

.profile .profile-content{
  /*background-color: var(--white);*/
  display: inline-block;
  box-shadow: var(--shadow-5);
  border-radius: 10px;
  overflow: hidden;
}

.profile .profile-content .profile-card{
  max-width: 560px;
  margin: 0 auto;
}

.profile .profile-content .profile-card .profile-card-wrapper{
  background-color: transparent;
  z-index: 999;
  border-radius: 5px;
  overflow: hidden;
}

.profile .profile-content .profile-card .profile-card-wrapper .card-header{
  height: 170px;
  width: 100%;
  background-size: cover;
  background-position: center;
}

.profile .profile-content .profile-card .profile-card-wrapper .card-profile{
  max-width: 150px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: -75px;
  position: relative;
  z-index: 9;
}

.profile .profile-content .profile-card .profile-card-wrapper .card-profile img{
  border-radius: 50%;
  width: 80%;
  padding: 8px;
  /*background-color: var(--white);*/
  display: block;
  margin: 0 auto;
}

.profile .profile-content .profile-card .profile-card-wrapper .card-content{
  padding: 25px;
}

.profile .profile-content .profile-card .profile-card-wrapper .card-content .card-title{
  font-size: 48px;
  color: #422103;
  text-shadow: 2px 2px 5px rgba(0,0,0,0.7);
  margin-bottom: 20px;
}

.profile .profile-content .profile-card .profile-card-wrapper .card-content .text{
  color: #422103;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.7);
  padding-bottom: 20px;
}

/* Botones / social dentro del card */
.profile .profile-content .profile-card .profile-card-wrapper .primary-btn{
  background: var(--primary);
  color: var(--white);
  box-shadow: var(--shadow-2);
  padding: 10px 18px;
  border-radius: 6px;
  border: 0;
}

.profile .profile-content .profile-card .profile-card-wrapper .primary-btn:hover,
.profile .profile-content .profile-card .profile-card-wrapper .active.primary-btn,
.profile .profile-content .profile-card .profile-card-wrapper .primary-btn:focus {
  background: var(--primary-dark);
  color: var(--white);
  box-shadow: var(--shadow-4);
}

.profile .profile-content .profile-card .profile-card-wrapper .deactive.primary-btn{
  background: var(--gray-4);
  color: var(--dark-3);
  pointer-events: none;
}

/* card social */
.profile .profile-content .profile-card .profile-card-wrapper .card-social ul{
  list-style: none;
  padding: 0;
  margin: 0;
}
.profile .profile-content .profile-card .profile-card-wrapper .card-social ul li{
  display: inline-block;
  margin: 0 9px;
}
.profile .profile-content .profile-card .profile-card-wrapper .card-social ul li a{
  display:inline-block;
  padding:8px;
  border: 1px solid var(--primary);
  color: var(--primary);
  border-radius: 6px;
  text-decoration: none;
}
.profile .profile-content .profile-card .profile-card-wrapper .card-social ul li a:hover,
.profile .profile-content .profile-card .profile-card-wrapper .card-social ul li a:focus,
.profile .profile-content .profile-card .profile-card-wrapper .card-social ul li a.active{
  background: var(--primary-dark);
  color: var(--white);
}

/* ---------------------------
   TABLE-LIKE ALIGN (helper)
   --------------------------- */
.d-table{ width:100%; height:100%; display:table !important; }
.d-table-cell{ display:table-cell !important; vertical-align:middle; }

/* ---------------------------
   TOP SOCIAL FIXED
   --------------------------- */
.top-social{
  position: fixed;
  top: 20px;
  left: 10px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 30px;
  z-index: 1000;
}
.top-social a{
  color: #e94e15;
  font-size: 28px;
  text-decoration: none;
  transition: color 0.3s;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.top-social a:hover{ color: #110c03; }
.top-social img{ width:28px; height:28px; filter: brightness(0) invert(1); }
.top-social img.tiktok{ width:50px; height:50px; filter: none; }
.social-text{ font-size:12px; color:#333; font-weight:bold; text-align:center; }

/* ---------------------------
   HEADER / NAV
   --------------------------- */
header{
  text-align: center;
  background: var(--primary);
  color: var(--white);
  padding-bottom: 20px;
}
.header-img{ width:100%; height:auto; display:block; }
header .brand{ color:#ffdd57; display:inline-block; margin-left:6px; }

nav ul{
  list-style: none;
  display:flex;
  justify-content:center;
  margin-top:10px;
  gap:20px;
}
nav ul li a{
  color: #351201;
  text-decoration: none;
  font-weight: bold;
}
nav ul li a:hover{ text-decoration: underline; }

/* ---------------------------
   MAIN / SECTIONS
   --------------------------- */
main{
  max-width: 1000px;
  margin: 30px auto;
  padding: 0 20px;
  background: #301601;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
section{ padding: 20px 0; border-bottom: 1px solid #ddd; color: #f4f4f4; }
section:last-child{ border-bottom: none; }
.servicio{ margin-bottom: 15px; }

/* BOTONES */
button{
  background: var(--primary);
  color: var(--white);
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
}
button:hover{ background: var(--primary-dark); }

/* FORMULARIO */
form{ display:flex; flex-direction:column; gap:10px; }
input, textarea{ padding:10px; border:1px solid #ccc; border-radius:5px; }

/* FOOTER */
footer{
  text-align:center;
  background:#222;
  color:#fff;
  padding:10px 0;
  margin-top:30px;
}

/* ---------------------------
   EVENTOS (limpio)
   --------------------------- */
/* ===== Sección Eventos ===== */
#eventos{
  text-align: center;
  padding: 40px 20px;
  background-color: #1e1e1e;
  color: #fff;
}
#eventos h2{ color: #ffdd57; margin-bottom: 30px; }

.eventos-galeria{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:20px;
}

.evento{
  width:280px;
  background: #2a2a2a;
  border-radius:10px;
  overflow:hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  transition: transform 0.3s ease;
}
.evento:hover{ transform: scale(1.05); }
.evento img{ width:100%; height:auto; display:block; }

/* RESPONSIVE BASICO */
@media (max-width: 767px){
  .profile .profile-content .profile-card .profile-card-wrapper .card-header{ height:90px; }
  .profile .profile-content .profile-card .profile-card-wrapper .card-content .card-title{ font-size:26px; margin-bottom:10px; }
  .profile .profile-content .profile-card .profile-card-wrapper .card-content .text{ font-size:14px; line-height:24px; padding-bottom:10px; }
  .profile .profile-content .profile-card .profile-card-wrapper .card-profile{ max-width:100px; margin-top:-50px; }
  main{ margin: 20px 10px; }
  .eventos-galeria{ gap:12px; }
  .evento{ width: 100%; max-width: 420px; }
}

/* ===== Sección Futuros Eventos ===== */
#futuros-eventos {
  text-align: center;
  padding: 40px 20px;
  background-color: #2b2b2b;
  color: #fff;
}

#futuros-eventos h2 {
  color: #ffdd57;
  margin-bottom: 30px;
}

/* ===== Modal galería de evento ===== */
.event-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  background: rgba(0,0,0,0.6);
  padding: 20px;
}

.event-modal.open { display: flex; }

.event-modal .modal-card {
  width: 100%;
  max-width: 940px;
  background: #0f0f10;
  border-radius: 12px;
  padding: 18px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.6);
  color: #fff;
  animation: modal-pop .16s ease;
}

@keyframes modal-pop {
  from { transform: translateY(8px) scale(.99); opacity: 0; }
  to   { transform: translateY(0) scale(1); opacity: 1; }
}

.event-modal .modal-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

.event-modal .modal-header h3 { margin:0; font-size:1.1rem; }
.event-modal .modal-close {
  background:transparent;
  border:0;
  color:#f8f6f3;
  font-size:1.2rem;
  cursor:pointer;
  padding:6px;
  border-radius:6px;
}
.event-modal .modal-close:hover { background: rgba(255,255,255,0.04); }

.event-modal .modal-gallery {
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}

.event-modal .modal-gallery img {
  width:100%;
  height:200px;
  object-fit:cover;
  border-radius:8px;
  display:block;
  box-shadow: 0 6px 18px rgba(0,0,0,0.4);
}

/* Responsive: apila en móvil */
@media (max-width:700px) {
  .event-modal .modal-gallery { grid-template-columns: 1fr; }
  .event-modal .modal-card { padding:14px; }
  .event-modal .modal-gallery img { height:160px; }
}