* {box-sizing:border-box; -webkit-font-smoothing:antialiased;}
body {
  margin:0; font-family:'Noto Sans KR',sans-serif;
  background-color:#0b3a34; color:#fff;
}

/* 헤더 */
.site-header {
  position:fixed; top:0; left:0; right:0;
  height:64px; background:rgba(11,58,52,0.95);
  display:flex; align-items:center; padding:0 16px;
  z-index:1000; justify-content:space-between;
}
.site-logo {font-size:1.1rem; font-weight:700; color:inherit; text-decoration:none; display:inline-block;}
.site-logo:hover {opacity:.9;}
.site-logo span {color:#ff7043;}
.site-nav {display:flex; gap:16px;}
.site-nav a {color:#fff; text-decoration:none; font-size:.9rem; opacity:.8;}
.site-nav a:hover {opacity:1;}
.menu-toggle {
  display:none; font-size:1.6rem; cursor:pointer; user-select:none;
}

/* 모바일 메뉴 열릴 때 */
.site-nav.active {
  display:flex; flex-direction:column;
  position:absolute; top:64px; left:0; right:0;
  background:#0a2e2a; border-top:1px solid rgba(255,255,255,0.1);
  padding:12px 0;
}
.site-nav.active a {
  padding:12px 16px; border-bottom:1px solid rgba(255,255,255,0.05);
}

/* 히어로 */
.hero {padding-top:80px; max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:32px; padding:80px 16px 48px;
}
.hero-left h1 {font-size:2rem; font-weight:700;}
.hero-left .accent {color:#ff7043;}
.sub {color:rgba(255,255,255,0.8); margin-bottom:24px;}
.cta-row {display:flex; flex-wrap:wrap; gap:12px;}
.btn-primary {
  background:#ff7043; color:#0b3a34; border:0; border-radius:8px;
  padding:14px 20px; font-weight:700; text-decoration:none; cursor:pointer;
}
.btn-outline {
  background:rgba(255,255,255,0.1); color:#fff; border-radius:8px;
  padding:14px 20px; text-decoration:none; border:1px solid rgba(255,255,255,0.2);
}
.btn-outline:hover {background:rgba(255,255,255,0.2);}
.hero-right {
  border-radius:16px; background:url('../img/hero_gwamegi.jpg') center/cover;
  min-height:260px; position:relative;
}
.hero-badge {
  position:absolute; bottom:16px; left:16px;
  background:rgba(11,58,52,0.9); padding:12px 16px; border-radius:10px;
  border:1px solid rgba(255,255,255,0.15); font-size:.85rem;
}
.hero-badge .strong {color:#ff7043; font-weight:600;}

/* 섹션 */
.section-wrap {max-width:1200px; margin:0 auto; padding:32px 16px 64px;}
.section-head {display:flex; justify-content:space-between; align-items:center;}
.section-head h2 {margin:0; font-size:1.3rem;}
.section-head .desc {color:rgba(255,255,255,0.6); font-size:.85rem;}

/* 상품 */
.product-grid {
  display:grid; gap:20px;
  max-width:100%;
}
.product-grid.has-1 {
  grid-template-columns:1fr;
  max-width:600px;
  margin:0 auto;
}
.product-grid.has-2 {
  grid-template-columns:1fr 1fr;
}
.product-grid.has-3 {
  grid-template-columns:1fr 1fr 1fr;
}
.product-grid.has-4-or-more {
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
}
.product-card {
  background:rgba(255,255,255,0.05); border-radius:12px;
  padding:16px; display:flex; flex-direction:column;
  width:100%;
}
.product-img {
  height:220px; border-radius:10px;
  background-size:cover; background-position:center;
  margin-bottom:12px;
}
.product-name {font-weight:600;}
.product-desc {font-size:.85rem; color:rgba(255,255,255,0.7);}
.product-price {color:#ff7043; font-weight:700; margin:8px 0;}
.product-actions {display:flex; gap:8px;}
.product-actions a {flex:1; text-align:center;}

/* 푸터 */
.site-footer {background:#0a2e2a; padding:32px 16px 80px;}
.footer-inner {max-width:1200px; margin:0 auto;}
.footer-top {display:flex; flex-wrap:wrap; gap:24px;}
.footer-col {flex:1; min-width:200px;}
.footer-col-title {font-weight:600; color:#fff; margin-bottom:8px;}
.highlight {color:#ff7043; font-weight:700; margin-bottom:6px;}
.footer-bottom {margin-top:24px; font-size:.75rem; color:rgba(255,255,255,0.5);}

/* 하단 고정바 */
.mobile-fixed-bar {
  display:none; position:fixed; bottom:0; left:0; right:0;
  background:#0a2e2a; border-top:1px solid rgba(255,255,255,0.15);
  z-index:1001;
}
.mobile-fixed-bar a {
  flex:1; text-align:center; padding:12px; color:#fff; text-decoration:none;
  border-right:1px solid rgba(255,255,255,0.1);
  font-size:.85rem;
}
.mobile-fixed-bar a:last-child {border:0;}
.mobile-fixed-bar .buy-now {background:#ff7043; color:#0b3a34; font-weight:700;}

/* 반응형 */
@media (max-width:768px){
  .hero{grid-template-columns:1fr; padding-top:96px;}
  .hero-right{order:-1; min-height:220px;}
  .hero-left h1{font-size:1.6rem;}
  .site-nav{display:none;}
  .menu-toggle{display:block;}
  .mobile-fixed-bar{display:flex;}
  .product-grid.has-2,
  .product-grid.has-3,
  .product-grid.has-4-or-more {
    grid-template-columns:1fr;
  }
  .product-grid.has-1 {
    max-width:100%;
  }
}
