/* Base layout tweaks */
body {
  scroll-behavior: smooth;
}

main {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
#about{
  display: flex;
  justify-content: center;
}
/* Hero section */
#hero {
  display: flex;
  align-items: center;
  width: 50vw;
  height: 50vw;
  background-size: cover;
  background-position: center;
}

.nexture-text{
  font-family: helvetica;
  font-variant-caps: all-petite-caps;
}

.navbar{
  font-family: helvetica;
  font-variant-caps: all-petite-caps;
}

.login-button{
  border: 2px solid black;
    border-radius: 25px;
    background-color: #D6FF41;
    padding-top: 0px;
    padding-bottom: 0px;
    margin-top: 7px;
    margin-left: 50px;
}

.login-button:hover{
  text-decoration: none!important;
  color: white;
  background-color: #7653F4;
}

@media screen and (max-width: 992px) {
  .login-button{
    margin-left: 0px;
    text-align: center;
  }

  #about{
    margin-top: -150px;
    padding: 0px;
  }

  .square-text{
    line-height: normal;
    font-size: 2vw;
    margin-top: 8px;
    padding: 0px !important;
  }

  .nx-button{
    font-size: 1.8vw !important;
  }
}

@media screen and (min-width: 1700px){
  .nx-button {
    display: block;
    border: black 2px solid;
    border-radius: 100px;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    margin-bottom: 10px !important;
    font-size: 1vw !important;
    width: 7vw !important ;
    
  }

  .square-text {
    padding: 0px !important;
    font-size: 1.2vw !important;
    margin-top: 20px !important;
  }
}

.two-rectangles{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  background-size: cover;
  background-position: center;
  margin: 1vw;
}

.square-text{
  padding: 4vw;
  font-size: 1.8vw;
}

footer{
  background-color: #7653F4 !important;
}

.nx-button{
  display: block;
  border: black 2px solid;
  border-radius: 100px;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-bottom: 10px;
  font-size: 2vw;
  margin-left: -1vw;
}

.nav-link:hover{
  opacity: 1.0!important;

  text-decoration: overline;
}
.navbar-brand:hover{
  text-decoration: overline;
}

.footer-icon{
  margin: 2vw;
  font-size: 4vw;
  color: white;
}

.footer-icon:hover {
  margin: 2vw;
  font-size: 4vw;
  color: #D6FF41;
}

/* Events */
.event-card-img {
  height: 220px;
  object-fit: cover;
}

.event-hero-img {
  max-height: 420px;
  object-fit: cover;
}

.speaker-img {
  height: 240px;
  object-fit: cover;
}

.conf-btn-lime {
  background-color: #D6FF41;
  color: #000;
  font-weight: 700;
  border: 2px solid black;
  border-radius: 999px;
  padding: 0.6rem 1.5rem;
}
.conf-btn-lime:hover {
  background-color: #7653F4;
  color: white;
  border: 2px solid black;
}

.conf-btn-outline {
  background-color: transparent;
  color: #000;
  font-weight: 700;
  border: 2px solid black;
  border-radius: 999px;
  padding: 0.6rem 1.5rem;
}
.conf-btn-outline:hover {
  background-color: #7653F4;
  color: white;
  border: 2px solid black;
}

/* Auth / content links matching brand */
.link-nexture {
  color: #7653F4;
  font-weight: 700;
}
.link-nexture:hover {
  color: #5a3bc4;
}

/* Shared: event detail & contact page header */
.event-header-section {
  background-color: white;
  padding: 4rem 0;
}
.event-title-main {
  font-size: 3.5rem;
  font-weight: 900;
  text-transform: uppercase;
  color: #7653F4;
  text-align: center;
  margin-bottom: 2rem;
  letter-spacing: 0.05em;
  font-family: helvetica;
  font-variant-caps: all-petite-caps;
}
.event-meta {
  display: flex;
  justify-content: center;
  gap: 3rem;
  font-size: 1.2rem;
  color: #7653F4;
  font-family: helvetica;
  font-variant-caps: all-petite-caps;
}
@media (max-width: 768px) {
  .event-title-main {
    font-size: 2rem;
  }
  .event-meta {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
}

/* Shared: purple section with speaker/team cards (event detail & contact) */
.event-speakers-section {
  background-color: #7653F4;
  padding: 4rem 0;
}
.speaker-card {
  background-color: white;
  border-radius: 20px;
  padding: 1.5rem;
  text-align: center;
  max-width: 300px;
  margin: 0 auto;
  border: 2px solid #1a1a1a;
}
.speaker-photo {
  width: 100%;
  aspect-ratio: 0.9;
  object-fit: cover;
  object-position: center top;
  border-radius: 15px;
  border: 2px solid #1a1a1a;
  margin-bottom: 1rem;
}
.speaker-name-label {
  background-color: #D6FF41;
  color: #000000;
  padding: 0.5rem 1rem;
  border-radius: 25px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  display: inline-block;
  font-family: helvetica;
  font-variant-caps: all-petite-caps;
}