:root {
  /* Brand Base Colors */
  --primary: #c61668;
  --primary-dark: #8a0040;
  --primary-light: #ffd0e6;

  --secondary: #f08e0e;
  --secondary-light: #ffc170;

  --accent-blue: #159ed0;

  --white: #ffffff;
  --off-white: #faf9f6;
  --text-dark: #333333;

  /* UI Theme */
  --theme-gradient: linear-gradient(135deg, #c61668, #f08e0e);
  --theme-light: #fff4f8;
  --theme-bg: #fff0f5;
  --theme-border: #c6145238;
}

/* General layout */
/* .row>* {
    padding-left: 0;
    padding-right: 0;
} */

.d-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Hall title */
.hall-name {
  font-size: 35px;
  margin-top: 20px;
  margin-bottom: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  font-family: "Roboto Mono";
  color: var(--navy-blue);
  /* No solid orange, use navy */
}

/* Sessions wrapper */
.sessions {
  margin: 30px 5px;
}

/* Session card */
.session {
  margin-top: 20px;
  background-color: #fff;
  box-shadow: 0px 0px 2.7px rgba(0, 0, 0, 0.022),
    0px 0px 6.9px rgba(0, 0, 0, 0.031), 0px 0px 14.2px rgba(0, 0, 0, 0.039),
    0px 0px 29.2px rgba(0, 0, 0, 0.048), 0px 0px 80px rgba(0, 0, 0, 0.07);
}

/* Session header bar */
.session-name {
  background: linear-gradient(135deg, #c61668 0%, #f08e0e 100%);
  color: #fff;
  padding: 5px;
  font-size: 20px;
  font-family: "Cutive Mono";
  font-weight: 500;
}

/* Faculty section */
.faculty {
  margin-top: 14px;
}

.fac-name {
  margin-top: 3px;
  margin-bottom: 0px;
  padding-bottom: 0px;
  font-family: "Roboto Mono";
  color: var(--navy-blue);
}

.fac-city {
  margin-top: 0;
  padding-top: 0;
  font-size: 12px;
  font-family: "Roboto Mono";
}

/* Faculty image */
.fac-img {
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.fac-img img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--navy-blue);
  /* Green ring to match tricolor */
}

/* Managing / meta section */
.managing {
  background-color: var(--theme-light);
  padding: 10px;
}

/* Topics layout */
.topics {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}

.topics .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 7px;
}

/* Role text */
.managing-role {
  font-weight: 600;
  margin-top: 10px;
  color: var(--navy-blue);
}

/* Custom borders */
.custom-border {
  border: 1px solid var(--theme-border) !important;
}

.custom-border-top {
  border-top: 1px solid var(--theme-border) !important;
}

.custom-border-bottom {
  border-bottom: 1px solid var(--theme-border) !important;
}

.custom-border-start {
  border-left: 1px solid var(--theme-border) !important;
}

.custom-border-end {
  border-right: 1px solid var(--theme-border) !important;
}

/* Mobile border tweak */
@media only screen and (max-width: 768px) {
  .custom-border {
    border-bottom: none !important;
  }
}

/* Talk title */
.talk-title {
  color: var(--navy-blue);
  font-weight: 500;
}

/* Light background helper */
.light-bg {
  background-color: var(--theme-light);
}

/* Width utility */
.w-95 {
  width: 95%;
}

/* Hall visibility switcher */
.hall {
  display: none;
}

.hall.active {
  display: block;
}

/* Buttons row */
.btns {
  overflow-x: auto;
}

/* Hall buttons */
.hall-btn {
  background-color: var(--primary);
  color: var(--white);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  box-shadow: var(--shadow-lg);
  border-radius: var(--radius-xl);
  padding: 16px 20px;
  border: 0;
  margin: 12px 10px;
}

.hall-btn:hover,
.hall-btn:active,
.hall-btn.active {
  background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
  transform: translateX(0.5rem);
  box-shadow: var(--shadow-md);
}
