/* Global styles */
body {
  font-family: 'Lato', sans-serif;
  color: #222;
  background-color: #fff;
  line-height: 1.6;
}

h1, h2, h3, h4, h5 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
}

/* Navbar */
.navbar {
  font-size: 1rem;
}
.navbar-brand {
  font-family: 'Playfair Display', serif;
  font-size: 1.25rem;
}
.nav-link {
  transition: color 0.3s ease;
}
.nav-link:hover {
  color: #000;
}

/* Hero section */
.hero {
  position: relative;
  color: #fff;
  text-shadow: 0 2px 6px rgba(0,0,0,0.6);
}
.hero h1 {
  font-size: 3rem;
}
.hero p {
  font-size: 1.25rem;
}

/* Cards */
.card {
  background: #ffffff;
  border: 1px solid #eee;
}
.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
.card-title {
  font-size: 1.1rem;
  font-weight: 600;
}

/* Image hover zoom */
.img-hover-zoom {
  overflow: hidden;
}
.img-hover-zoom img {
  transition: transform 0.5s ease;
}
.img-hover-zoom:hover img {
  transform: scale(1.06);
}

/* Buttons */
.btn {
  border-radius: 0;
  font-weight: 500;
}
.btn-outline-dark:hover {
  background-color: #000;
  color: #fff;
}

/* Footer */
footer {
  background: #fafafa;
  font-size: 0.9rem;
}
footer small {
  color: #666;
}

/* Contact form */
form .form-control {
  border-radius: 0;
  box-shadow: none;
  border: 1px solid #ccc;
}
form .form-control:focus {
  border-color: #000;
  box-shadow: none;
}

/* -------------------------------------------------- */
/*  FIXED ARTWORK SIZING — THIS IS THE IMPORTANT PART */
/* -------------------------------------------------- */

.card-img-frame {
  height: 200px;              /* uniform height */
  width: 100%;
  background: #f8f8f8;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;           /* prevents overflow */
  border-radius: 4px;
  padding: 0;
}

/* Strong selector to override Bootstrap */
.card .card-img-frame img {
  height: 100% !important;    /* force uniform height */
  width: auto !important;     /* keep aspect ratio */
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  display: block;
}
