/**
 * VinUni Shared Main Stylesheet
 * Global Typography, Unified Section Titles & Proportional Scaling (> 1600px)
 */

/* ==========================================================================
   1. Global Typography & Clean Font-Family Inheritance
   ========================================================================== */
body, input, textarea, select, button {
  font-family: 'Calibri', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  margin-top: 0;
}

/* ==========================================================================
   2. Unified Section & Page Titles (Single Source of Truth)
   Primary Class: .title-main (or .vinuni-section-title)
   ========================================================================== */
.title-main,
.vinuni-section-title,
.home-section-title,
.our-people-section__title,
.our-people-scientists-title,
.dir-hero-title,
.dir-section-title,
.people-single-section__title,
.people-provost-news__title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 2.25rem; /* 36px */
  line-height: 1.25;
  color: #00356e;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 2.5rem; /* 40px */
}

/* Page-specific margin adjustments */
.our-people-section__title {
  margin-bottom: 0.75rem;
}
.our-people-scientists-title {
  margin-bottom: 0;
}
.dir-hero-title {
  margin-bottom: 1rem;
}

@media (max-width: 991.98px) {
  .title-main,
  .vinuni-section-title,
  .home-section-title,
  .our-people-section__title,
  .our-people-scientists-title,
  .dir-hero-title,
  .dir-section-title,
  .people-single-section__title,
  .people-provost-news__title {
    font-size: 1.5rem; /* 24px */
    line-height: 1.35;
    margin-bottom: 1.5rem;
  }
}

/* ==========================================================================
   3. Unified Shared Container Architecture (Single Source of Truth)
   Classes: .home-container, .c-container, .our-people-container, .dir-container,
            .people-single-container, .people-provost-container, .people-faculty__container
   ========================================================================== */
.home-container,
.c-container,
.our-people-container,
.dir-container,
.people-single-container,
.people-provost-container,
.people-faculty__container {
  width: 100%;
  max-width: 83.75rem; /* 1340px base (83.75rem * 16px) */
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
  position: relative;
}

/* Mobile & Tablet responsive container padding (<= 768px) */
@media (max-width: 768px) {
  .home-container,
  .c-container,
  .our-people-container,
  .dir-container,
  .people-single-container,
  .people-provost-container,
  .people-faculty__container {
    padding-left: 20px;  /* 20px */
    padding-right: 20px; /* 20px */
  }
}

/* ==========================================================================
   4. Proportional Root Scaling & Expanded Container for Displays > 1600px
   ========================================================================== */
@media (min-width: 1601px) {
  html {
    font-size: clamp(16px, 1vw, 19.2px) !important;
  }

  /* Expanded Container (.c-container and site-wide container expansions) */
  .c-container,
  .home-container,
  .our-people-container,
  .dir-container,
  .people-single-container,
  .people-provost-container,
  .people-faculty__container {
    max-width: 1920px !important;
    padding-left: clamp(1.5rem, 3.5vw, 4rem) !important;
    padding-right: clamp(1.5rem, 3.5vw, 4rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================================
   5. Reusable Card Hover & Running Line Effects
   ========================================================================== */
.home-card-hover {
  overflow: hidden;
  display: block;
  position: relative;
}

.home-card-hover img {
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  display: block;
  width: 100%;
}

.home-card-hover:hover img {
  transform: scale(1.05);
}

/* Running Line Hover Effect (Matching Homepage & Provost News) */
.running-line-hover,
.people-single-news__item-title a {
  color: inherit;
  text-decoration: none;
  display: inline;
  background-image: linear-gradient(to right, #00356e, #00356e);
  background-position: 0% 100%;
  background-repeat: no-repeat;
  background-size: 0% 2px;
  padding-bottom: 2px;
  transition: background-size 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.people-single-news__card:hover .people-single-news__item-title a,
.people-single-news__item-title a:hover,
.running-line-hover:hover {
  background-size: 100% 2px;
}

/* ==========================================================================
   6. Unified Slider Controls (Dots Pagination & Navigation Buttons)
   Primary Classes: .slider-controls-main, .slider-dots-main, .slider-dot-main,
                    .slider-nav-main, .slider-btn-main
   Single Source of Truth for all sliders across VinUni modules
   ========================================================================== */
.slider-controls-main,
.people-single-news__bottom-controls,
.people-provost-news__bottom-controls,
.home-stories-controls,
.home-people-controls {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  margin-top: 2.5rem;
  width: 100%;
  box-sizing: border-box;
}

/* Dots / Indicators Container */
.slider-dots-main,
.slider-indicators-main,
.people-single-news__indicators,
.people-provost-news__indicators,
.home-stories-pagination,
.home-people-pagination {
  display: flex !important;
  align-items: center;
  gap: 0.75rem; /* 12px */
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Individual Pagination Dot (Strict Square, 10px x 10px) */
.slider-dot-main,
.people-single-news__dot,
.people-provost-news__dot,
.home-stories-pagination .swiper-pagination-bullet,
.home-people-pagination .swiper-pagination-bullet {
  width: 0.625rem !important; /* 10px */
  height: 0.625rem !important; /* 10px */
  background-color: transparent !important;
  border: 1px solid #00356e !important;
  border-radius: 0 !important;
  display: inline-block;
  opacity: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer;
  box-sizing: border-box;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  position: relative;
}

.slider-dot-main:focus-visible,
.people-single-news__dot:focus-visible,
.people-provost-news__dot:focus-visible,
.home-stories-pagination .swiper-pagination-bullet:focus-visible,
.home-people-pagination .swiper-pagination-bullet:focus-visible {
  outline: 2px solid #00356e;
  outline-offset: 2px;
}

/* Active Pagination Dot */
.slider-dot-main.is-active,
.slider-dot-main.swiper-pagination-bullet-active,
.people-single-news__dot.is-active,
.people-provost-news__dot.is-active,
.home-stories-pagination .swiper-pagination-bullet-active,
.home-people-pagination .swiper-pagination-bullet-active {
  background-color: #00356e !important;
  border-color: #00356e !important;
}

/* Navigation Buttons Container */
.slider-nav-main,
.people-single-news__nav,
.people-provost-news__nav,
.home-stories-nav,
.home-people-nav {
  display: flex !important;
  align-items: center;
  gap: 1.25rem !important; /* 20px */
}

/* Base Slider Button (Strict Square, 48px x 48px, Zero Border) */
.slider-btn-main,
.people-single-news__btn,
.people-provost-news__btn,
.home-nav-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 3rem !important;  /* 48px */
  height: 3rem !important; /* 48px */
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  cursor: pointer;
  box-sizing: border-box;
  border: none !important;
  outline: none;
  transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.slider-btn-main:focus-visible,
.people-single-news__btn:focus-visible,
.people-provost-news__btn:focus-visible,
.home-nav-btn:focus-visible {
  outline: 2px solid #00356e !important;
  outline-offset: 2px !important;
}

/* Prev Button: Crisp White Background with Navy Chevron (Border-Free) */
.slider-btn-main--prev,
.people-single-news__btn--prev,
.people-provost-news__btn--prev,
.home-stories-btn-prev,
.home-people-btn-prev {
  background-color: #ffffff !important;
  color: #00356e !important;
  border: none !important;
}

.slider-btn-main--prev svg path,
.people-single-news__btn--prev svg path,
.people-provost-news__btn--prev svg path,
.home-stories-btn-prev svg path,
.home-people-btn-prev svg path {
  stroke: #00356e !important;
}

.slider-btn-main--prev:hover,
.people-single-news__btn--prev:hover,
.people-provost-news__btn--prev:hover,
.home-stories-btn-prev:hover,
.home-people-btn-prev:hover {
  background-color: #f0f6fc !important;
  color: #00356e !important;
  border: none !important;
}

/* Next Button: Solid Navy Background with White Chevron (Border-Free) */
.slider-btn-main--next,
.people-single-news__btn--next,
.people-provost-news__btn--next,
.home-stories-btn-next,
.home-people-btn-next {
  background-color: #00356e !important;
  color: #ffffff !important;
  border: none !important;
}

.slider-btn-main--next svg path,
.people-single-news__btn--next svg path,
.people-provost-news__btn--next svg path,
.home-stories-btn-next svg path,
.home-people-btn-next svg path {
  stroke: #ffffff !important;
}

.slider-btn-main--next:hover,
.people-single-news__btn--next:hover,
.people-provost-news__btn--next:hover,
.home-stories-btn-next:hover,
.home-people-btn-next:hover {
  background-color: #002147 !important;
  color: #ffffff !important;
  border: none !important;
}

/* Disabled State */
.slider-btn-main.swiper-button-disabled,
.slider-btn-main:disabled,
.people-single-news__btn.swiper-button-disabled,
.people-provost-news__btn.swiper-button-disabled,
.home-nav-btn.swiper-button-disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

.slider-btn-main.swiper-button-lock,
.home-nav-btn.swiper-button-lock {
  display: none !important;
}

/* Responsive Overrides (<= 767.98px) - Fixed Pixel units */
@media (max-width: 767.98px) {
  .slider-controls-main,
  .people-single-news__bottom-controls,
  .people-provost-news__bottom-controls,
  .home-stories-controls,
  .home-people-controls {
    margin-top: 24px;
  }

  .slider-dots-main,
  .slider-indicators-main,
  .people-single-news__indicators,
  .people-provost-news__indicators,
  .home-stories-pagination,
  .home-people-pagination {
    gap: 12px;
  }

  .slider-dot-main,
  .people-single-news__dot,
  .people-provost-news__dot,
  .home-stories-pagination .swiper-pagination-bullet,
  .home-people-pagination .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
  }

  .slider-nav-main,
  .people-single-news__nav,
  .people-provost-news__nav,
  .home-stories-nav,
  .home-people-nav {
    gap: 12px;
  }

  .slider-btn-main,
  .people-single-news__btn,
  .people-provost-news__btn,
  .home-nav-btn {
    width: 48px !important;
    height: 48px !important;
  }
}



