/* Global Background */
body {
  margin: 0;
  font-family: 'Arial', sans-serif;
  line-height: 1.6;
  color: #333;

  /* Use your canvas image */
  background: url('images/canvas1.jpg') center/cover fixed no-repeat;
  position: relative;
}

/* Softer Gradient Overlay */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: linear-gradient(
    rgba(255, 255, 255, 0.3),   /* top soft */
    rgba(255, 255, 255, 0.4),   /* middle */
    rgba(255, 255, 255, 0.5)    /* bottom */
  );
  z-index: -1;
}

:root {
  --accent: #e63946;
  --light: #f1f1f1;
  --dark: #333;
}
:root{
  --max-width:1100px;
  --accent:#2b6cb0;
  --muted:#666;
}

*{box-sizing:border-box}
body{font-family:Inter,system-ui,Arial,Helvetica,sans-serif;margin:0;color:#222;line-height:1.4}
.container{max-width:var(--max-width);margin:0 auto;padding:1rem}
.site-header{background:transparent;position:sticky;top:0;z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 0}
.logo{font-weight:700;text-decoration:none;color:var(--accent);font-size:1.2rem}
.site-nav{display:flex;gap:1rem}
.site-nav a{text-decoration:none;color:inherit;padding:0.35rem}
.menu-toggle{display:none;background:none;border:0;font-size:1.4rem}

.hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  text-align: center;
  padding: 6rem 1rem;
}

.hero-bg {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: -1;
  filter: brightness(60%); /* darkens the image for better text contrast */
}

.hero-title {
  font-size: 3rem;   /* Larger text */
  font-weight: 800;
  margin-bottom: 1rem;
}

.hero p {
  font-size: 1.2rem;
  max-width: 600px;
  margin: 0 auto 2rem;
}



.featured{padding:2rem 0}
.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.card img{width:100%;height:160px;object-fit:cover;border-radius:8px}
.card h3{margin:.5rem 0 0}

.two-col{display:grid;grid-template-columns:1fr 220px;gap:1rem;align-items:center}
.profile-pic img,.profile-large img{width:100%;height:auto;border-radius:8px}

.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.gallery-item{width:100%;height:160px;object-fit:cover;border-radius:6px;cursor:pointer}

.site-footer{background:#f7f7f7;padding:1rem 0;margin-top:2rem}

/* Lightbox */
.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,0.8);z-index:60;padding:2rem}
.lightbox img{max-width:90%;max-height:80%}
.lightbox-close{position:absolute;top:1rem;right:1rem;background:none;border:0;color:#fff;font-size:1.6rem}

/* Responsive */
@media (max-width:800px){
  .two-col{grid-template-columns:1fr}
  .menu-toggle{display:block}
  .site-nav{position:absolute;top:60px;right:1rem;background:white;padding:1rem;border-radius:8px;display:none;flex-direction:column}
  .site-nav.show{display:flex}
}

/* Accessibility focus */
a:focus,input:focus,button:focus{outline:3px solid rgba(43,108,176,0.25);outline-offset:2px}

/* small helpers */
.form-msg{margin-top:.75rem;color:var(--muted)}
.social-links {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.social-links a {
  text-decoration: none;
  color: var(--accent);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: color 0.3s;
}

.social-links a i {
  font-size: 1.2rem;
}

.social-links a:hover {
  color: #000; /* darker on hover */
}
/* Flex layout for form and videos */
.form-video-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
  align-items: flex-start;
  margin-top: 2rem;
}

/* Form box styling */
.form-box {
  flex: 1 1 350px;
  max-width: 500px;
  background: rgba(255, 255, 255, 0.95);
  padding: 2rem;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.2);
}

/* Inputs inside form */
.application-form label {
  display: block;
  font-weight: bold;
  margin: 0.8rem 0 0.3rem;
}

.application-form input,
.application-form select {
  width: 100%;
  padding: 0.8rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  margin-bottom: 1rem;
}

.application-form button {
  background: var(--accent);
  color: white;
  border: none;
  padding: 0.9rem 1.5rem;
  border-radius: 10px;
  cursor: pointer;
  font-size: 1rem;
  font-weight: bold;
  transition: background 0.3s;
}

.application-form button:hover {
  background: #1e4d7a;
}

/* Videos box */
.video-box {
  flex: 1 1 350px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.video-box video {
  width: 100%;
  max-width: 500px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Responsive */
@media (max-width: 768px) {
  .classes-videos {
    grid-template-columns: 1fr;
  }
}

/* Shop */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}
.shop-grid .card img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 6px;
}

/* Chat Box */
.chat-window {
  border-radius: 12px;
  padding: 1rem;
  max-width: 500px;
  color: #fff;
  background: url('images/photo.jpg') center/cover no-repeat; /* <-- your own art image */
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  position: relative;
}

/* Dark overlay for readability */
.chat-window::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
  border-radius: 12px;
  z-index: 0;
}

.chat-window * {
  position: relative;
  z-index: 1;
}

.messages {
  height: 150px;
  overflow-y: auto;
  margin-bottom: 0.5rem;
  background: rgba(255,255,255,0.8);
  color: #000;
  padding: 0.5rem;
  border-radius: 6px;
}

#chat-form {
  display: flex;
  gap: 0.5rem;
}

#chat-form input {
  flex: 1;
  padding: 0.5rem;
  border: none;
  border-radius: 6px;
}

#chat-form button {
  padding: 0.5rem 1rem;
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}
/* ===== NAV / VIEW GALLERY ===== */

:root {
  --header-height: 72px;
}

/* Fixed header */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--header-height);
  z-index: 10000;
  background: rgba(255,255,255,0.65);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

.header-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 1rem;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.logo {
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--accent);
  text-decoration: none;
}

.site-nav {
  display: flex;
  gap: 0.6rem;
  align-items: center;
}

.site-nav a {
  display: inline-block;
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  background: linear-gradient(90deg, #000 0%, #fff 100%);
  border: 2px solid #000;
  transition: transform .12s ease, color .12s ease, background .12s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);

  /* Option 1 tweak */
  color: #fff;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.6);
}

.site-nav a:hover,
.site-nav a:focus {
  background: linear-gradient(90deg, #fff 0%, #000 100%);
  transform: translateY(-2px);
  outline: none;
}

.site-nav a.active {
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

/* View Gallery button */
.btn {
  display: inline-block;
  padding: 12px 25px;
  margin-top: 15px;
  border-radius: 25px;
  font-weight: 800;
  text-decoration: none;
  background: linear-gradient(90deg, #000, #fff);
  border: 2px solid #000;
  transition: transform .12s ease, color .12s ease;

  /* Option 1 tweak */
  color: #fff;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.6);
}

.btn:hover,
.btn:focus {
  background: linear-gradient(90deg, #fff, #000);
  transform: translateY(-2px);
  color: #fff;
}

/* Push content down so it’s not hidden under fixed header */
body { 
  padding-top: calc(var(--header-height) + 12px);
}

@media (max-width: 820px) {
  .site-nav { gap: 0.35rem; }
  .site-nav a { padding: 8px 12px; font-size: .95rem; }
  :root { --header-height: 64px; }
}
/* About Page Styling */
.about-page {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 2rem 1rem;
}

.about-section {
  margin-bottom: 3rem;
}

.about-section h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  color: var(--accent);
  text-align: center;
}

.about-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: flex-start;
  justify-content: space-between;
}

.about-text {
  flex: 1 1 300px;
}

.about-text p,
.about-text ul {
  font-size: 1rem;
  line-height: 1.6;
}

.about-text ul {
  padding-left: 1.2rem;
  list-style-type: disc;
}

.about-media {
  flex: 1 1 300px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.about-media img,
.about-media video {
  width: 100%;
  max-width: 320px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  object-fit: cover;
}
/* White container for About page */
.about-container {
  background: rgba(255, 255, 255, 0.9); /* soft white, slightly transparent */
  padding: 2rem;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.2);
  max-width: 1000px;
  margin: 2rem auto;
}
/* Graduation photo size control */
.about-media img[alt="Graduation photo"] {
  max-height: 1000px;  /* adjust as needed */
  width: auto;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
/* ===== Gallery Info Section with Single Background ===== */
.gallery-info-bg {
  background-image: url('images/webbg.jpg'); /* replace with your image */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 60px 20px; /* top/bottom padding */
  border-radius: 15px;
  box-sizing: border-box;
  color: #fff; /* text color over image */
}

.gallery-info-bg .gallery-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

.gallery-column {
  flex: 1;
  min-width: 250px;
  background-color: rgba(0,0,0,0.5); /* semi-transparent overlay for readability */
  padding: 20px;
  border-radius: 10px;
}

.gallery-column h3 {
  margin-bottom: 10px;
  color: #fff;
}

.gallery-column p {
  line-height: 1.6;
  color: #eee;
}

/* Responsive: stack columns on smaller screens */
@media (max-width: 768px) {
  .gallery-row {
    flex-direction: column;
  }
}
