/* Modern Magazine-style detail.css */

/* General page */
body {
  font-family: Georgia, "Times New Roman", serif;
  margin: 0;
  background: #fafafa;
  color: #222;
  line-height: 1.75;
}

.detail-container {
  max-width: 1100px;
  margin: 7rem auto 4rem;
  padding: 0 1.5rem;
}

/* Sticky Header */
.sticky-header {
  position: sticky;
  top: 0;
  background: #fff;
  border-bottom: 1px solid #e0e0e0;
  z-index: 1000;
  padding: 0.75rem 1.5rem;
}

.breadcrumb-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.breadcrumb {
  font-size: 0.95rem;
  color: #7f8c8d;
}

.breadcrumb a {
  color: #3498db;
  text-decoration: none;
}

.breadcrumb a:hover { text-decoration: underline; }

/* Language switcher */
.lang-switcher { display: flex; gap: 0.5rem; }

.lang-switcher button {
  background: #f1f3f5;
  color: #333;
  border: none;
  padding: 0.4rem 0.8rem;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}

.lang-switcher button:hover { background: #e0e0e0; }
.lang-switcher button.active { background: #3498db; color: #fff; }

/* Project Card */
.detail-card {
  background: #fff;
  padding: 3rem;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  text-align: left;
  animation: fadeIn 0.6s ease;
}

@keyframes fadeIn {
  from {opacity: 0; transform: translateY(10px);}
  to {opacity: 1; transform: translateY(0);}
}

.detail-card h2 {
  margin-top: 1.2rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.3;
}

.detail-card .subtitle {
  font-size: 1.25rem;
  color: #555;
  margin-bottom: 1.8rem;
  font-weight: 500;
}

/* Magazine-style description */
.detail-card .description {
  margin: 1.5rem 0;
  font-size: 1.05rem;
  color: #222;
  text-align: justify;
}

/* Columns only on larger screens; keep paragraphs intact */
@media (min-width: 768px) {
  .detail-card .description.multi-col { column-count: 2; column-gap: 2rem; }
  .detail-card .description.multi-col p { break-inside: avoid; }
}

/* Drop cap for first paragraph */
.detail-card .description p:first-of-type::first-letter {
  float: left;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1;
  padding-right: 0.4rem;
  color: #3498db;
}

/* Featured badge */
.badge-featured {
  background: #ffcc00;
  color: #000;
  font-size: 0.8rem;
  padding: 0.25rem 0.6rem;
  margin-left: 0.6rem;
  border-radius: 6px;
  font-weight: 600;
}

/* Chips */
.chip-group { margin: 1.5rem 0; }

.chip-group strong {
  display: block;
  margin-bottom: 0.5rem;
  color: #333;
}

.chip {
  display: inline-block;
  background: #ecf0f1;
  color: #2c3e50;
  border-radius: 20px;
  padding: 0.4rem 1rem;
  font-size: 0.85rem;
  margin: 0.25rem;
  transition: background 0.2s;
}

.chip:hover { background: #dfe6e9; }

/* Buttons */
.btn-primary,
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.4rem;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0.6rem 0.3rem;
  text-decoration: none;
  transition: all 0.25s ease;
}

.btn-primary { background: #3498db; color: #fff; }
.btn-primary:hover { background: #2980b9; transform: translateY(-2px); }

.btn-secondary { background: #f1f3f5; color: #333; }
.btn-secondary:hover { background: #e0e0e0; transform: translateY(-2px); }

/* 🔹 Image Grid */
.image-grid {
  display: grid;
  gap: 12px;
  margin: 0 0 2rem;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}
.image-grid img {
  width: 100%;
  height: 180px; /* uniform thumbnail size */
  border-radius: 8px;
  cursor: pointer;
  object-fit: cover;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.image-grid img:hover { transform: scale(1.03); box-shadow: 0 6px 16px rgba(0,0,0,0.15); }

/* 🔹 Lightbox modal */
.lightbox {
  display: none;
  position: fixed;
  top:0; left:0; right:0; bottom:0;
  background: rgba(0,0,0,0.9);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
.lightbox img {
  max-width: 90%;
  max-height: 80vh;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.6);
}
.lightbox .close,
.lightbox .nav {
  position: absolute;
  color: white;
  font-size: 2rem;
  cursor: pointer;
  user-select: none;
}
.lightbox .close { top: 20px; right: 30px; }
.lightbox .nav.prev { left: 40px; top: 50%; transform: translateY(-50%); }
.lightbox .nav.next { right: 40px; top: 50%; transform: translateY(-50%); }
.lightbox .nav:hover,
.lightbox .close:hover { color: #ffcc00; }

/* Footer */
.footer {
  text-align: center;
  padding: 2rem 1rem;
  font-size: 0.85rem;
  color: #888;
  margin-top: 2rem;
}

/* --- Prev/Next Navigation (multi-line friendly) --- */
#nav-projects {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 12px;
  margin: 2rem auto 3rem;
  max-width: 700px;
  padding: 0 1rem;
}

#nav-projects a {
  display: flex;                /* center multi-line text */
  align-items: center;
  justify-content: center;
  flex: 1;
  min-width: 0;                /* allow shrinking inside flex */
  max-width: 100%;
  padding: 0.9rem 1rem;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
  line-height: 1.35;
  /* allow wrapping so height can grow */
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  word-break: break-word;
  hyphens: auto;
}
/* --- Call to Action (CTA) --- */
.cta-section {
  background: linear-gradient(135deg, #3498db, #2c3e50);
  color: #fff;
  padding: 3rem 1.5rem;
  margin: 3rem auto;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
  text-align: center;
}

.cta-inner {
  max-width: 900px;
  margin: 0 auto;
}

.cta-logo {
  max-height: 60px;
  margin-bottom: 1.5rem;
}

.cta-content h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

.cta-content p {
  font-size: 1.1rem;
  margin-bottom: 2rem;
  line-height: 1.6;
}

.btn-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.9rem 1.6rem;
  border-radius: 8px;
  background: #ffcc00;
  color: #000;
  font-weight: 700;
  text-decoration: none;
  font-size: 1.05rem;
  transition: all 0.3s ease;
}

.btn-cta:hover {
  background: #ffd633;
  transform: translateY(-2px);
}

/* 🔹 About Modal */
.modal {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.75);
  justify-content: center;
  align-items: center;
  z-index: 10000;
}
.modal-content {
  max-width: 700px;
  background: #fffdfa;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(0,0,0,0.3);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.6;
  position: relative;
  overflow-y: auto;
  max-height: 90vh;
}
.modal-content h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
  border-bottom: 2px solid #333;
  display: inline-block;
}
.modal-content h3 {
  margin-top: 1.5rem;
  font-size: 1.3rem;
  border-bottom: 1px dashed #aaa;
}
.modal-content ul {
  padding-left: 1.2rem;
}
.modal-content ul li {
  margin-bottom: 0.5rem;
}
.modal-close {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 1.8rem;
  cursor: pointer;
  color: #444;
}



#nav-projects .btn-primary { background: #3498db; color: #fff; }
#nav-projects .btn-primary:hover { background: #2980b9; transform: translateY(-2px); }

#nav-projects .btn-secondary {
