@charset "UTF-8";
@font-face {
  font-family: 'Champagne & Limousines';
  src: url('../fonts/Champagne & Limousines.ttf') format('truetype'); /* CSS file is in css/, so fonts is one level up */
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/* Global default font for the site */
body {
  color: black;
  font-family: 'Champagne & Limousines', Arial, sans-serif;
}
/* Standardized headings */
h1, h2, h3, h4, h5, h6 {
  color: black;
  font-family: 'Champagne & Limousines', Arial, sans-serif;
  margin: 0 0 0.5rem 0;
}
h1 { font-size: 2.5rem; font-weight: bold; }
h2 { font-size: 2.5rem; font-weight: normal; }
h3 { font-size: 1.5rem; font-weight: bold; }

p {
  color: black;
  font-family: 'Champagne & Limousines', Arial, sans-serif;
  font-weight: normal;
  font-size: 18px; /* unify paragraph size */
  line-height: 1.6;
}

/* Deprecated hero/title classes (no longer used) */
/* .hero-name, .site-title intentionally removed to avoid empty rulesets */

/* Unified paragraph style */
.p1 {
  color: black;
  font-family: 'Champagne & Limousines', Arial, sans-serif;
  font-size: 18px;
  line-height: 1.6;
}

/* Utility overrides (optional): control alignment per segment in HTML) */
.text-left  { text-align: left; }
.text-right { text-align: right; }
.text-center{ text-align: center; }

/* Navigation typography */
.navbar-brand {
  font-family: 'Champagne & Limousines', Arial, sans-serif;
  font-size: 26.4px;
  color: rgba(0,0,0,.9) !important;
}
.navbar-nav .nav-link {
  font-family: 'Champagne & Limousines', Arial, sans-serif;
  font-size: 24px;
  color: rgba(0,0,0,.9) !important;
}

.gallery-img {
  width: 100%;
  height: auto;
  aspect-ratio: 11 / 14;     /* adjust to whatever ratio you want */
  object-fit: cover;         /* crop to fill the box without distortion */
  cursor: pointer;
  user-select: none;
}

/* ===== Carousel Styles ===== */
/* Carousel container: fixed aspect ratio matching images (14:11) */
/* Scales responsively without distortion */
#augustCarousel { 
  background: #2a2a2a; 
  border-radius: 6px; 
  padding: 0;
  width: 100%;
  aspect-ratio: 14 / 11; /* Match image aspect ratio (14 wide x 11 high) */
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative; /* For positioning indicators bar */
}

/* Fixed aspect ratio carousel: images are 98% of container (very small margin) */
.img-wrap { 
  width: 100%; 
  height: 100%;
  display: flex; 
  align-items: center; 
  justify-content: center;
  background: #2a2a2a;
}

.carousel-image { 
  height: 100%; /* Keep image height constant */
  width: auto; /* Allow width to change */
  object-fit: contain; /* No cropping */
  display: block;
  background: #2a2a2a; /* Remove white bars */
}

/* CRITICAL: Enable sliding transition for carousel items */
.carousel .carousel-item { 
  width: 100%;
  height: 100%; /* Fill container */
  background: #2a2a2a; /* No white bars */
  transition: transform 0.45s linear, opacity 0.25s linear; /* Slide + fade */
  position: absolute;
  top: 0;
  left: 0;
  display: none;
}

.carousel .carousel-item.active { 
  display: flex !important;
  align-items: center; 
  justify-content: center;
  width: 100%;
  height: 100%; /* Fill container */
  background: #2a2a2a; /* No white bars */
  position: relative;
  opacity: 1;
}

/* Enable Bootstrap's default slide transitions - keep both items visible */
.carousel-item-next,
.carousel-item-prev {
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: absolute;
}

.carousel-item.active:not(.carousel-item-left):not(.carousel-item-right) {
  display: flex !important;
}

/* Incoming slides move in from the side */
.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  transform: translateX(-100%);
}

/* Old image stays in place but fades to black */
.carousel-item.active.carousel-item-left,
.carousel-item.active.carousel-item-right {
  transform: translateX(0) !important; /* Don't move */
  opacity: 0; /* Fade to black */
}

/* New image slides into position */
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right,
.carousel-item.active {
  transform: translateX(0);
  opacity: 1;
}

/* Ensure carousel-inner doesn't show overflow */
.carousel-inner { 
  overflow: hidden !important;
  background: #2a2a2a;
  width: 100%;
  height: 100%;
  position: relative; /* Create positioning context for absolute items */
}

/* Semi-transparent black bar at bottom for indicators */
#augustCarousel .carousel-indicators {
  bottom: 0;
  margin-bottom: 0;
  background: rgba(0, 0, 0, 0.3); /* 30% opaque black */
  padding: 10px 0;
  width: 100%;
  left: 0;
  margin-left: 0;
  border-radius: 0 0 6px 6px; /* Match carousel border radius */
}

#augustCarousel .carousel-indicators li {
  background-color: rgba(255, 255, 255, 0.5);
}

#augustCarousel .carousel-indicators li.active {
  background-color: rgba(255, 255, 255, 1);
}

/* Static media container matching carousel aspect ratio */
.static-media {
  background: #2a2a2a;
  border-radius: 6px;
  padding: 0;
  width: 100%;
  aspect-ratio: 14 / 11; /* match carousel aspect ratio (14 wide x 11 high) */
  display: flex;
  align-items: center;
  justify-content: center;
}

.static-media-image {
  height: 100%;
  width: auto;
  object-fit: contain;
  display: block;
  background: #2a2a2a;
}