/*
Theme Name: Koi Portfolio Minimal
Theme URI: https://koinguyen.com
Description: Minimal fashion editorial portfolio theme
Author: Koi Nguyen
Version: 1.0
*/

/* ============================================================
   KOI NGUYEN — GLOBAL STYLES
   Used on non-sidebar pages (e.g., single album, archive)
   ============================================================ */

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  font-family: 'Poppins', system-ui, sans-serif;
  background: #f7f3ed;
  color: #1a1a1a;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

h1,h2,h3,h4 { font-weight:400; line-height:1.15; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
ul,ol { list-style:none; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }

/* ---------- HEADER (non-sidebar pages) ---------- */
.site-header {
  position: fixed;
  top:0; left:0; right:0;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 48px;
  background: rgba(247,243,237,0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0,0,0,0.05);
}
.site-header.scrolled { background: rgba(247,243,237,0.97); }
.site-branding {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.site-logo {
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #1a1a1a;
}
.main-nav .menu { display:flex; gap:32px; }
.main-nav .menu a {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(0,0,0,0.45);
  transition: color .25s ease;
}
.main-nav .menu a:hover,
.main-nav .menu .current-menu-item a { color:#1a1a1a; }
.header-right { display:flex; }
.header-social { display:flex; gap:12px; }
.header-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  border-radius: 50%;
  color: rgba(0,0,0,0.3);
  font-size: 13px;
  transition: all .25s ease;
}
.header-social a:hover { color:#1a1a1a; background:rgba(0,0,0,0.04); }

/* Mobile menu */
.menu-toggle { display:none; color:#1a1a1a; font-size:20px; z-index:1001; }
.site-nav { display:none; }
@media (max-width:768px) {
  .site-header { padding:16px 24px; }
  .main-nav { display:none; }
  .menu-toggle { display:block; }
  .header-social { gap:10px; }
  .header-social a { width:28px; height:28px; font-size:12px; }
  .site-nav.active {
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: 0;
    background: #f7f3ed;
    z-index: 999;
    padding: 100px 40px 40px;
    gap: 24px;
  }
  .site-nav .mobile-menu { display:flex; flex-direction:column; gap:20px; }
  .site-nav .mobile-menu a { font-size:20px; font-weight:300; letter-spacing:1px; color:#1a1a1a; }
  .menu-social { display:flex; gap:18px; margin-top:32px; }
  .menu-social a { font-size:18px; color:rgba(0,0,0,0.3); }
}

/* ---------- FOOTER ---------- */
.site-footer {
  padding: 60px 40px;
  text-align: center;
  border-top: 1px solid rgba(0,0,0,0.06);
}
.site-footer p {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(0,0,0,0.25);
}

/* ---------- PAGE CONTENT ---------- */
main, .page-content, .site-main { padding-top:80px; }

/* ---------- ANIMATIONS ---------- */
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes fadeInUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
