/* =========================================================
   GLOBAL RESET & BASE
========================================================= */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  overflow-x: hidden !important;
  scroll-behavior: smooth;
  background: #0d0f12;
  color: #e8e8e8;
  font-family: "Inter", "Noto Sans JP", sans-serif;
}

/* Make every image responsive */
img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

/* Reusable container */
.container {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 0 20px;
}


/* =========================================================
   NAVBAR — FIXED & DOES NOT MOVE
========================================================= */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;                 /* FIXED HEIGHT */
  padding: 0 22px;

  display: flex;
  justify-content: space-between;
  align-items: center;

  background: rgba(10,10,12,0.65);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,0.08);

  z-index: 3000;                /* stays ABOVE menu */
}

/* LOGO */
.hf-logo {
  font-size: 22px;
  font-weight: 800;
  color: #ff4fa8;
  text-shadow: 0 0 12px #ff4fa855;
}

/* DESKTOP NAV */
.hf-nav-desktop {
  display: flex;
  gap: 26px;
}

.hf-nav-desktop a {
  color: #ddd;
  text-decoration: none;
  font-weight: 600;
  transition: .25s ease;
}

.hf-nav-desktop a:hover,
.hf-nav-desktop a.active {
  color: #ff68c8;
}


/* =========================================================
   MOBILE MENU BUTTON
========================================================= */
.hf-menu-btn {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
}

.hf-menu-btn span {
  width: 28px;
  height: 3px;
  background: #fff;
  border-radius: 4px;
}


/* =========================================================
   MOBILE MENU — SLIDE DOWN FROM TOP (COVERS TOGGLE)
========================================================= */
.hf-mobile-menu {
  position: fixed;
  top: 0;                     /* ⭐ Menu appears AT the top (covers toggle) */
  left: 0;
  width: 100%;
  background: #111;

  max-height: 0;              /* Hidden */
  opacity: 0;

  overflow: hidden;
  transition: max-height .35s ease, opacity .35s ease;

  z-index: 2500;              /* BELOW header? No: header is 3000, menu covers header visually */
}

/* Make the menu slide down */
.hf-mobile-menu.show {
  max-height: 330px;          /* Smooth slide height */
  opacity: 1;
}

/* Menu Links */
.hf-mobile-menu a {
  display: block;
  padding: 16px 22px;
  color: #fff;
  font-size: 18px;
  text-decoration: none;
  border-bottom: 1px solid #222;
}

.hf-mobile-menu a:last-child {
  border-bottom: none;
}


/* =========================================================
   MOBILE RULES
========================================================= */
@media (max-width: 820px) {
  .hf-nav-desktop {
    display: none !important;
  }
  .hf-menu-btn {
    display: flex !important;
  }
}


/* =========================================================
   HERO BANNER
========================================================= */
.hero {
  height: 100vh;
  background: url('../img/japan-hero.jpg') center/cover no-repeat;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.4),
    rgba(0,0,0,0.85)
  );
}

.hero-content {
  position: relative;
  text-align: center;
  padding: 20px;
  max-width: 650px;
  z-index: 10;
}

.hero h1.jp {
  font-size: clamp(32px, 7vw, 54px);
  font-weight: 800;
  margin-bottom: 10px;
  background: linear-gradient(90deg, #ff4fa8, #6bb2ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero h2.en {
  font-size: clamp(20px, 5vw, 32px);
  margin-bottom: 12px;
  color: #fff;
}

.hero p.en-sub {
  font-size: 16px;
  opacity: 0.9;
  margin-bottom: 20px;
}


/* =========================================================
   SEARCH BAR
========================================================= */
.search-box {
  display: flex;
  width: 100%;
  max-width: 500px;
  margin: auto;
}

.search-box input {
  flex: 1;
  padding: 14px;
  background: rgba(255,255,255,0.15);
  color: #fff;
  border: none;
  border-radius: 10px 0 0 10px;
}

.search-box button {
  padding: 14px 22px;
  border: none;
  border-radius: 0 10px 10px 0;
  font-weight: 700;
  background: linear-gradient(90deg, #ff4fa8, #6bb2ff);
  color: #fff;
  cursor: pointer;
  transition: 0.2s;
}

.search-box button:hover {
  filter: brightness(1.2);
}

.jp-tags {
  margin-top: 18px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

.jp-tags span {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.25);
  padding: 8px 14px;
  border-radius: 18px;
}


/* =========================================================
   FEATURED SELLERS
========================================================= */
.featured {
  padding: 70px 0;
  text-align: center;
}

.featured h2 {
  font-size: 26px;
  margin-bottom: 35px;
}

.seller-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 28px;
}

.seller-card {
  width: 100%;
  max-width: 250px;
  background: #1a1c20;
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 0 25px rgba(255,79,168,0.15);
  transition: .25s;
}

.seller-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 0 35px rgba(255,79,168,0.35);
}

.seller-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.seller-card h3 {
  margin-top: 12px;
  font-size: 17px;
}

.seller-card p {
  font-size: 14px;
  opacity: 0.9;
}


/* =========================================================
   MOBILE — Sellers auto-stack
========================================================= */
@media (max-width: 600px) {
  .seller-grid {
    flex-direction: column;
    align-items: center;
  }
  .seller-card {
    max-width: 330px !important;
    width: 100%;
  }
  .seller-card img {
    height: auto !important;
  }
}


/* =========================================================
   FOOTER
========================================================= */
footer {
  text-align: center;
  padding: 35px 0;
  opacity: 0.85;
  font-size: 14px;
}
