.hero-slide { 
  position: relative; 
  height: 420px; 
  background: #f5f5f5 url('https://picsum.photos/seed/hero/1600/600') center/cover no-repeat; 
  display: flex; 
  align-items: center; 
  justify-content: center;
  overflow: hidden; /* 히어로 섹션 오버플로우 제어 */
}
.hero-text { background: rgba(255,255,255,0.7); padding: 16px 24px; border-radius: 8px; text-align: center; }
.hero-text h2 { margin: 0 0 6px 0; font-size: 28px; letter-spacing: 4px; }
.hero-text p { margin: 0; color: #666; font-size: 14px; }

.section { padding: 40px 0; }
.section-title { text-align: center; font-weight: 600; letter-spacing: 4px; margin: 0; padding-top: 30px}
.section-sub { text-align: center; color: #777; margin: 8px 0 24px; font-size: 13px; padding-bottom: 30px}

.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; }
.product-thumb {
  position: relative; 
  height: 250px; 
  overflow: hidden; 
  display: block;
}
.product-thumb img { 
  display: block; 
  width: 100%; 
  height: 100%; 
  object-fit: cover;
}
.product-info { padding: 12px; }
.product-name { margin: 0 0 6px 0; font-size: 13px; font-weight: 600; }
.product-price { display: flex; gap: 8px; align-items: baseline; }
.product-price .sale { color: #111; font-weight: 600; }
.product-price .origin { color: #999; font-size: 10px; text-decoration: line-through; }
.product-price .price { color: #111; font-weight: 600; }
.product-actions { display: flex; gap: 8px; padding: 0 12px 12px; }
.product-actions button { border: 1px solid #eee; background: #fff; padding: 6px 8px; cursor: pointer; }

/* 슬라이드 메뉴가 열렸을 때 상품 액션 버튼 숨기기 */
.mobile-menu.is-open ~ * .product-actions,
.mobile-menu.is-open ~ * .product-actions button,
body.menu-open .product-actions,
body.menu-open .product-actions button {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 슬라이드 메뉴가 닫힌 상태에서 버튼 표시 */
body:not(.menu-open) .product-actions {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  padding: 0 12px 12px !important;
  margin: 0 !important;
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body:not(.menu-open) .product-actions button {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  padding: 6px 8px !important;
  margin: 0 !important;
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.product-actions button:hover { border-color: #ccc; }

@media (max-width: 1024px) {
  .product-grid { grid-template-columns: repeat(3, 1fr); }
  .product-thumb { height: 220px; }
}
@media (max-width: 720px) {
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .product-thumb { height: 200px; }
}
@media (max-width: 480px) {
  .product-grid { grid-template-columns: 1fr; }
  .product-thumb { height: 250px; }
}

