
:root {
  --mds-black:#111;
  --mds-soft:#f6f6f6;
  --mds-line:#dcdcdc;
}
body { background:#fff; color:#111; font-family: Georgia, 'Times New Roman', serif; }
a { color:#111; }
a:hover { color:#000; }
.site-logo { max-width: 190px; height:auto; }
.blog-header-logo, .brand-title, h1, h2, h3, h4 { font-family: 'Playfair Display', Georgia, 'Times New Roman', serif; }
.nav-link { letter-spacing:.12rem; font-size:.92rem; }
.nav-underline .nav-link.active, .nav-underline .nav-link:hover { border-bottom-color:#111; }
.hero-panel { background:#f6f6f6; border:1px solid #e6e6e6; border-radius:0 !important; }
.card { border-color:#111; border-radius:0; }
.card-img-top { border-radius:0; }
.btn-dark, .btn-outline-dark { border-radius:0; letter-spacing:.05rem; }
.img-cover { width:100%; height:100%; object-fit:cover; }
.fixed-img { width:100%; height:260px; object-fit:cover; }
.carousel-item img { height:460px; object-fit:cover; }
.footer { border-top:1px solid #111; }
.small-caps { letter-spacing:.12rem; text-transform:uppercase; }
.featurette-divider { margin: 3rem 0; }
.service-card p { min-height: 96px; }
.pricing-card { border:1px solid #111; padding:1.25rem; height:100%; background:#fff; }
.pricing-card h3, .pricing-card h4 { margin-bottom:.35rem; }
.gallery-img { width:100%; height:230px; object-fit:cover; border:1px solid #111; }
.form-control, .form-select { border-radius:0; border-color:#111; }
.required-note { font-size:.92rem; color:#555; }
.section-title { border-bottom:1px solid #111; padding-bottom:.5rem; margin-bottom:1.25rem; }
.contact-list p { margin-bottom:.4rem; }
@media (max-width: 991.98px) {
  .service-card p { min-height:auto; }
  .fixed-img { height:240px; }
}
@media (max-width: 768px) {
  .carousel-item img { height:320px; }
  .site-logo{max-width:150px;}
  .display-4 { font-size:2.4rem; }
  .display-5 { font-size:2rem; }
  .gallery-img { height:210px; }
  .footer .text-md-end { text-align:left !important; margin-top:1rem; }
}
@media (max-width: 575.98px) {
  .fixed-img { height:220px; }
  .carousel-item img { height:280px; }
  .nav-link { font-size:.86rem; letter-spacing:.08rem; }
  .hero-panel { padding:1.5rem !important; }
}


/* Build adjustments */
.btn-dark,
.mds-btn {
  background:#111;
  border-color:#111;
  color:#fff !important;
  border-radius:0;
  letter-spacing:.05rem;
}
.btn-dark:hover,
.mds-btn:hover {
  background:#000;
  border-color:#000;
  color:#fff !important;
}
.btn-outline-dark {
  border-radius:0;
  letter-spacing:.05rem;
}
.carousel-portrait .carousel-inner {
  background:#f6f6f6;
}
.carousel-portrait .carousel-item img {
  height:620px;
  object-fit:contain;
  background:#f6f6f6;
}
.square-img {
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
}
.placeholder-img {
  width:100%;
  aspect-ratio:4 / 3;
  border:1px solid #111;
  background:repeating-linear-gradient(45deg,#fafafa,#fafafa 12px,#f1f1f1 12px,#f1f1f1 24px);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#666;
  font-size:.9rem;
  letter-spacing:.08rem;
  text-transform:uppercase;
}
.event-section-card {
  border:1px solid #111;
  height:100%;
  background:#fff;
}
.event-section-card .p-3 {
  min-height:220px;
}
.pricing-section {
  border:1px solid #111;
  background:#fff;
  padding:1.5rem;
}
.price-list {
  list-style:none;
  padding-left:0;
  margin-bottom:0;
}
.price-list li {
  border-bottom:1px solid #dcdcdc;
  padding:.9rem 0;
}
.price-list li:last-child {
  border-bottom:0;
}
.price-list .price-line {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  font-size:1.15rem;
}
.price-list p {
  margin:.25rem 0 0;
}
@media (max-width: 768px) {
  .carousel-portrait .carousel-item img { height:500px; }
  .event-section-card .p-3 { min-height:auto; }
}
@media (max-width: 575.98px) {
  .carousel-portrait .carousel-item img { height:420px; }
  .pricing-section { padding:1rem; }
}

/* Latest image placement refinements */
.event-section-img {
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  border-bottom:1px solid #111;
  background:#f6f6f6;
}
.event-section-img.contain-img {
  object-fit:contain;
  padding:1rem;
}
#eventCarousel .carousel-item img {
  background:#f6f6f6;
}


/* Final image placement updates */
.fixed-img, .square-img, .event-section-img {
  object-position:center center;
}

img[src$="home-contact-creative-tools.jpg"],
img[src$="contact-creative-tools.jpg"],
img[src$="home-visits-michelle-square.jpg"] {
  object-position:center center;
}

.gallery-img {
  aspect-ratio: 1 / 1;
  height: auto !important;
  object-fit: contain !important;
  object-position: center center;
  background: #f6f6f6;
  padding: .15rem;
}

.event-section-img.contain-img,
img[src$="event-hire-glitter-tattoo-example.jpg"] {
  object-fit: contain;
  background:#f6f6f6;
  padding:.75rem;
}


/* Prevent content extending beyond mobile screens */
@media (max-width: 767.98px) {
  main.container > .row {
    --bs-gutter-x: 1.5rem;
  }

  .footer > div,
  .row > [class*="col-"] {
    min-width: 0;
  }

  .footer > div {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .contact-list {
    overflow-wrap: anywhere;
  }

  .site-logo {
    max-width: 100%;
  }
}


/* Keep navigation links visible on phones and tablets */
@media (max-width: 991.98px) {
  .navbar .navbar-toggler {
    display: none;
  }

  .navbar .navbar-collapse {
    display: flex !important;
    flex-basis: 100%;
    width: 100%;
    height: auto !important;
    visibility: visible;
  }

  #mainNav > .nav {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: .75rem;
    row-gap: .25rem;
  }

  #mainNav .nav-link {
    padding: .5rem .25rem;
  }
}
