/*********************************
 PART 1: Bootstrap-like Layout
*********************************/
/* =========================================
   OJS 3.4 – SITE HOMEPAGE HERO HEADER ONLY
   Height = 3/5 (60%)
   ========================================= */

body.pkp_page_index.pkp_op_index .hero-header {
    position: relative;
    width: 100vw;
    min-height: 50vh;
    background-image: url('/public/site/CRIDHeader.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Overlay */
body.pkp_page_index.pkp_op_index .hero-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 0;
}

/* Content above overlay */
body.pkp_page_index.pkp_op_index .hero-header .pkp_head_wrapper {
    position: relative;
    z-index: 1;
    max-width: 100%;
    padding: 2rem 3rem;
}

/* Vertical centering */
body.pkp_page_index.pkp_op_index .hero-header .pkp_site_name_wrapper {
    display: flex;
    align-items: center;
    min-height: 40vh;
}

/* MOBILE */
@media (max-width: 768px) {
    body.pkp_page_index.pkp_op_index .hero-header {
        min-height: 40vh;
    }

    body.pkp_page_index.pkp_op_index .hero-header .pkp_site_name_wrapper {
        min-height: auto;
    }
}


.about-link {
  color: #ffffff;
}

.about-link a {
  color: #ffffff;
}

.about-link:hover {
  font-size: 120%;
}

/*********************************
 PART 2: Header & Navigation
*********************************/

/* Site Name - Desktop */
.pkp_site_name {
  font-size: 48px !important;
  padding: 24px 0 !important;
  margin-bottom: 15px !important;
  display: block !important;
  line-height: 1.2;
}

.pkp_site_name a {
  font-size: inherit;
  color: #ffffff !important;
  text-decoration: none;
  display: inline-block !important;
}


/* Navigation Background */
.pkp_site_nav_menu,
header.pkp_site_nav_menu {
  /* background: #3D104F; */
  width: 100% !important;
}

/* Mobile Toggle Button */
.pkp_site_nav_toggle {
  z-index: 9999;
  position: relative;
  cursor: pointer;
}

/* Navigation Menu */
/* .pkp_navigation_primary {
  background: #3D104F;
} */

.pkp_navigation_primary a:hover {
  /* background-color: #6F1E92; */
  color: #ffffff;
}

/*********************************
 PART 6: Mobile Responsive Styles
*********************************/

@media (max-width: 768px) {
  
  /* Site Name - Mobile */
  .pkp_site_name {
    font-size: 26px;
    padding: 10px 0;
    text-align: center;
    line-height: 1.3;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 8px 0 !important;
    white-space: normal !important;
  }
  
  .pkp_site_name a {
    display: block;
    text-align: center;
    color: #ffffff;
  }
  
  /* Header adjustments */
  .pkp_site_header {
    padding: 10px 0;
    /* background: #3D104F; */
    overflow: visible;
  }
  
  .pkp_site_header .pkp_site_branding {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  /* Hide desktop site name in favor of mobile title */
  .pkp_site_header_title {
    display: block;
    visibility: visible;
    opacity: 1;
    text-align: center;
    padding: 8px 12px;
  }
  
  .pkp_site_header_title h1,
  .pkp_site_header_title h2 {
    display: block;
    font-size: 20px;
    line-height: 1.3;
    margin: 0;
    color: #ffffff;
    white-space: normal;
  }
  
  /* Navigation - Mobile */
  /* .pkp_site_nav_menu {
    background: #3D104F;
  } */

  .pkp_navigation_primary ul,
  .pkp_navigation_user ul {
    display: block;
  }

  .pkp_navigation_primary li,
  .pkp_navigation_user li {
    width: 100%;
  }

  .pkp_navigation_primary a,
  .pkp_navigation_user a {
    display: block;
    padding: 12px 16px;
  }
  
  /* Hero Section - Mobile */
  .hero {
    padding: 60px 15px;
    background-attachment: scroll;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  
  .hero h1 {
    font-size: 32px;
    line-height: 1.3;
    margin-bottom: 15px;
  }
  
  .hero p {
    font-size: 16px;
  }
  
  /* Footer - Mobile */
  .custom-modern-footer {
    padding: 40px 0 20px 0;
  }
  
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  
  .footer-section h3 {
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  /* Extra small screens */
  .pkp_site_name {
    font-size: 22px;
    padding: 5px 10px;
  }
  
  .hero {
    padding: 40px 15px;
    min-height: 250px;
  }
  
  .hero h1 {
    font-size: 28px;
  }
}


/*********************************
 PART 5: Modern Footer
*********************************/

/* Hide default footer */
.pkp_brand_footer {
  display: none;
}
