/*
 Theme Name:   Bootscore Child - Kargyroglou
 Description:  Minimal Bootstrap-only child theme for kargyroglou.com. All styling is done through Bootstrap Sass variables (assets/scss/_bootscore-variables.scss) and official Bootstrap classes only.
 Template:     bootscore
 Version:      1.0.0
 Text Domain:  bootscore
*/

/* Layout fixes */

/* Logo: the file is 700x36, the original site shows it at 228px wide */
.navbar-brand img {
  width: 228px;
  max-width: 100%;
  height: auto;
}
@media (max-width: 575.98px) {
  .navbar-brand img {
    width: 180px;
  }
}

/* Menu: keep it on one line, with room to breathe */
.navbar-brand {
  margin-right: 1rem;
}
@media (min-width: 992px) {
  #bootscore-navbar {
    flex-wrap: nowrap;
  }
  #bootscore-navbar .nav-link {
    white-space: nowrap;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}


/* Slider images: fit the viewport height instead of the full container width */
.kg-slide {
  width: auto;
  max-width: 100%;
  max-height: 75vh;
  height: auto;
  object-fit: contain;
}

/* Main menu like production: small, uppercase, bold */
.navbar-nav > .nav-item > .nav-link {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.dropdown-menu .dropdown-item {
  font-size: 0.9rem;
}

/* Lightbox: the modal background is light, so the arrows must be dark and always visible */
.modal .carousel-control-prev,
.modal .carousel-control-next {
  width: 8%;
  min-width: 3rem;
  opacity: 1;
}
.modal .carousel-control-prev-icon,
.modal .carousel-control-next-icon {
  filter: invert(1) grayscale(1);
  opacity: 0.6;
  width: 2.5rem;
  height: 2.5rem;
}
.modal .carousel-control-prev:hover .carousel-control-prev-icon,
.modal .carousel-control-next:hover .carousel-control-next-icon {
  opacity: 1;
}

/* News accordion and Press: tidy lists */
.accordion-body ul,
.kg-list ul {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}
.accordion-body li,
.kg-list li {
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--bs-border-color);
}
.accordion-body li:last-child,
.kg-list li:last-child {
  border-bottom: 0;
}
.accordion-body a,
.kg-list a {
  text-decoration: none !important;
}
.accordion-body a:hover,
.kg-list a:hover {
  text-decoration: underline !important;
}



/* Gallery thumbnails: equal cards, the image never touches the border */
.kg-card {
  --bs-btn-border-color: #e5e5e5;
  --bs-btn-hover-border-color: #cfcfcf;
  --bs-btn-active-border-color: #cfcfcf;
  --bs-btn-border-width: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: 3rem;
  background-color: #fff;
}
.kg-thumb {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
@media (max-width: 575.98px) {
  .kg-card {
    padding: 1.5rem;
  }
}

/* Lightbox: reserve the image area up front so nothing jumps while it loads */
.kg-lightbox-img {
  display: block;
  width: 100%;
  height: 70vh;
  object-fit: contain;
}

/* Press: source in grey on the left, article link on the right */
.kg-list li.row,
.accordion-body li.row {
  margin: 0;
  padding: 0.9rem 0;
}
.kg-list li.row > .col-md-auto,
.accordion-body li.row > .col-md-auto {
  color: #969696;
  letter-spacing: 0.02em;
  overflow-wrap: anywhere;
}
.kg-list li.row > div > a,
.accordion-body li.row > div > a {
  color: #3d3d3d;
}
.kg-list li.row > div > a:hover,
.accordion-body li.row > div > a:hover {
  color: #000;
}
@media (max-width: 767.98px) {
  .kg-list li.row > .col-md-auto,
  .accordion-body li.row > .col-md-auto {
    margin-bottom: 0.25rem;
  }
}

/* News: each item is a grey box */
.accordion-item {
  margin-bottom: 0.75rem;
}
.accordion-body li {
  border-bottom-color: #d9d9d9;
}
.accordion-body {
  padding-bottom: 0.75rem;
}

/* Label column: fixed and narrow, the text takes the rest of the width */
@media (min-width: 768px) {
  .accordion-body li.row > .col-md-auto {
    width: 7.5rem;
  }
  .kg-list li.row > .col-md-auto {
    width: 11rem;
  }
}

/* About */
.kg-about-facts h5,
.kg-about-statement h5 {
  margin: 0 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--bs-border-color);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.kg-about-facts h5:not(:first-child) {
  margin-top: 2rem;
}
.kg-about-facts p {
  margin: 0;
  font-weight: 700;
  color: #3d3d3d;
}
.kg-about-facts ul {
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
}

/* Main menu: no focus border/outline around the links */
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link:focus-visible,
.navbar-nav .nav-link.show,
.navbar-nav .dropdown-item:focus,
.navbar-nav .dropdown-item:focus-visible {
  outline: 0;
  box-shadow: none;
}
