      body {
        margin: 0;
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, "type writter", Arial, sans-serif;
        background-color: #BBBEFE;
        min-height:750px;
      }

      /* Navbar */
      .navbar-nav .nav-link {
        font-family: "Lavishly Yours", cursive;
        font-size: 1.6rem;
        color: #ffffff !important; 
        position: relative;
        transition: color 0.2s ease-out;
      }

      .navbar-nav .nav-link::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -4px;
        width: 0;
        height: 2px;
        background-color: #BBBEFE;
        transition: width 0.2s ease-out;
      }

      .navbar-nav .nav-link:hover {
        color: #BBBEFE !important;
      }

      .navbar-nav .nav-link:hover::after {
        width: 100%;
      }

      /* Hero image */
      .hero-image-wrapper {
        position: relative;
        width: 100%;
        height: 260px;
        overflow: hidden;
        border-bottom: 4px solid #000;
        background-color: #ffffff; /* white so no purple edges */
      }

.hero-sub-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: #ffffff;
  border-bottom: 3px solid #000;
  height: 120px;              /* mobile default */
}

@media (min-width: 576px) {
  .hero-sub-wrapper {
    height: 150px;
  }
}

@media (min-width: 992px) {
  .hero-sub-wrapper {
    height: 190px;            /* still much narrower than home hero */
  }
}

.hero-sub-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;           /* fill width, crop left/right if needed */
  object-position: center center;
  display: block;
}
/* Commissions carousel card frame */
.commission-carousel-card {
  border: 3px solid #000;
  border-radius: 12px;
  background-color: #ffffff;
  overflow: hidden;
}
/* Carousel viewport (controls the visible height) */
#commissionsCarousel .carousel-item{
  height: clamp(260px, 60vh, 600px);
  background: #fff; /* letterbox color */
}

/* Center the image inside the slide */
#commissionsCarousel .carousel-item > .carousel-frame{
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* For slides with varying aspect ratios, make sure container adapts */

      @media (min-width: 768px) { .hero-image-wrapper { height: 340px; } }
      @media (min-width: 1200px) { .hero-image-wrapper { height: 420px; } }

      .hero-image-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover; /* fills width, crops left/right if needed */
        display: block;
      }

      /* Upcoming Events */
      .upcoming-card {
        border: 3px solid #000;
        border-radius: 12px;
        background-color: #fff;
      }

      .upcoming-title {
        font-family: "Lavishly Yours", cursive;
        font-size: 2.1rem;
        text-align: center;
      }

      /* Gallery */
      .art-card {
        background-color: #fff;
        border: 3px solid #000;
        border-radius: 12px;
        overflow: hidden;
      }

      .art-card img {
        width: 100%;
        height: auto;
        display: block;
      }

      /* Footer */
      .site-footer {
        background-color: #000;
        color: #fff;
        border-top: 6px solid #800080; /* Purple bar */
      }
            /* Legal content card */
      .legal-card {
        background-color: #ffffff;
        border-radius: 12px;
        border: 3px solid #000;
      }

      .legal-card h1 {
        font-family: "Lavishly Yours", cursive;
        font-size: 2.4rem;
        text-align: center;
      }

      .legal-card h2 {
        margin-top: 1.5rem;
        font-size: 1.3rem;
      }

      .legal-card p,
      .legal-card li {
        font-size: 0.95rem;
        line-height: 1.6;
      }
      .side-img {
  max-width: 150px;
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Optional: scale down further on small screens */
@media (max-width: 576px) {
  .side-img {
    max-width: 90px;
  }
}
/* Keep your frame centered */
#commissionsCarousel .carousel-frame{
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.image-frame{
  border: 3px solid #000;
  border-radius: 12px;

  display: inline-block;   /* shrink-wrap to image */
  margin: 0 auto;          /* horizontal centering backup */
}

.image-frame img{
  display: block;          /* removes inline baseline gap */
  max-width: 100%;
  max-height: 70vh;        /* reasonable cap */
  width: auto;
  height: auto;
}
/* 2) Fit the whole image inside that frame (no cropping) */
#commissionsCarousel .commission-carousel-img{
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
#commissionsCarousel .carousel-indicators [data-bs-target]{
  width: 42px;
  height: 6px;
  border-radius: 999px;
  background-color: rgba(0,0,0,.35);
  border: 1px solid rgba(0,0,0,.55);
  margin: 0 6px;
  opacity: 1;
}

#commissionsCarousel .carousel-indicators .active{
  background-color: #800080;   /* your purple */
  border-color: #000;
}
@media (max-width: 576px){
  #commissionsCarousel .carousel-frame{
    height: clamp(220px, 55vh, 520px);
  }
}