/* 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;
}
/* Card Image Frame & Zoom Effect */
.card-img-frame {
  width: 100%;
  height: 250px;           /* Unified height for all thumbnails */
  background: #f8f8f8;
  overflow: hidden;
  position: relative;
  border-radius: 4px 4px 0 0; /* Rounds only top corners to match standard cards */
}

.card-img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;       /* Fills the frame perfectly without stretching */
  object-position: center; /* Centers the visible artwork */
  transition: transform 0.5s ease; /* Enables smooth zoom transition */
}


