/* ====================================================
   삼송글로벌 메인 스타일시트
   sgwood.co.kr · v1.0
   ──────────────────────────────────────────────────
   섹션:
   1. 변수·기본
   2. 레이아웃 (컨테이너·섹션·헤더·푸터)
   3. 헤더·네비게이션
   4. 푸터
   5. 공통 컴포넌트 (버튼·카드·배지)
   6. 메인 페이지
   7. 상품 영역 (카테고리·상세)
   8. 서비스 영역 (CNC·NC·코팅·계단재)
   9. 가공 의뢰 게시판
   10. 게시판·정책 페이지
   11. 회원·주문·장바구니
   12. 모바일
   ==================================================== */


/* ====================================================
   1. 변수·기본
   ==================================================== */
:root{
  /* 색상 */
  --brand: #2D5A3D;
  --brand-dark: #1D4128;
  --brand-light: #5A8C68;
  --accent-warm: #F95B06;  /* 강렬한 원색 오렌지 (HSL 21° / S 95% / L 50%) — 2차 메뉴 active 등 부속 강조용 */
  --brand-hover-bg: rgba(45,90,61,0.10);  /* brand 녹색 10% 투명 — 메뉴 hover 배경 등 옅은 강조용 */
  --brand-vivid: #B8884A;  /* 따뜻한 caramel/wood gold (HSL 35°/45%/50%) — 목재 우드 톤, brand 녹색과 보색적 조화. 버튼·강조용 */
  --brand-vivid-dark: #9B733B;  /* caramel의 더 진한 변형 (HSL 35°/45%/43%) — 버튼 hover 등 강조 강화용 */

  --bg-base: #FFFFFF;
  --bg-section: #FCFAF5;
  --bg-soft: #FCFAF5;
  --bg-cool: #FAF9F4;
  --bg-footer: #FDFCF8;
  --bg-card: #FFFFFF;

  --line-soft: #EFEDE5;
  --line: #DCD8CC;
  --text: #1A1A1A;
  --text-sub: #555;
  --text-light: #999;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scrollbar-gutter:stable;overflow-y:scroll;}  /* 스크롤바 자리 항상 예약 — 콘텐츠 길이 변동 시 가로 흔들림 방지 */
body{
  font-family:'Pretendard','Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--bg-base);color:var(--text);line-height:1.6;font-size:14px;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;display:flex;flex-direction:column;  /* sticky footer — 본문 짧을 때도 푸터가 화면 하단에 위치 */
}
.footer{margin-top:auto;}  /* sticky footer 패턴: 본문이 짧으면 위 여백이 자동으로 차서 푸터를 하단으로 밀어냄 */
a{color:inherit;text-decoration:none;}


/* ====================================================
   2. 레이아웃
   ==================================================== */
.container{max-width:1120px;margin:0 auto;padding:0 24px;}

.section{padding:55px 0;}
.section-head{text-align:center;margin-bottom:36px;}
.section-head .sub{
  color:var(--brand-light);font-size:11px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;margin-bottom:6px;
}
.section-head h2{font-size:22px;font-weight:700;color:var(--text);}
.section-head p{color:var(--text-sub);font-size:13px;margin-top:8px;}

/* 가공 서비스 섹션 (미색 + 데코 라인) */
.section.alt{
  background:linear-gradient(180deg, var(--bg-cool) 0%, #F6F4ED 100%);
}
.section.alt .section-head .sub{position:relative;display:inline-block;}
.section.alt .section-head .sub::before,
.section.alt .section-head .sub::after{
  content:'';display:inline-block;
  width:32px;height:1px;background:var(--text-light);
  vertical-align:middle;margin:0 14px;opacity:0.5;
}

/* 페이지 헤더 (히어로 외 일반 페이지 상단) */
.page-header{
  background:var(--bg-section);
  padding:24px 0;border-bottom:1px solid var(--line-soft);
}
.page-header .container{
  display:flex;align-items:center;gap:30px;
  min-height:60px;                /* 우측 콘텐츠 유무와 무관하게 breadcrumb·h1 정렬 통일 */
}
.page-header .ph-title{
  flex-shrink:0;
  min-width:240px;                /* breadcrumb 긴 경로도 들어갈 여유 */
  margin-left:40px;
  position:relative;              /* breadcrumb 절대 위치 기준 */
}
.page-header h1{
  font-size:30px;font-weight:700;color:var(--text);
  letter-spacing:-1px;margin-bottom:0;
}
.page-header p{color:var(--text-sub);font-size:14px;margin-top:4px;}
.breadcrumb{
  font-size:13px;color:var(--text-sub);margin-bottom:6px;   /* 가독성: 12→13px, #999→#555 */
}
.breadcrumb a{color:var(--brand);}   /* 링크는 초록색으로 또렷하게 — 목록 이동 가능 표시 */
.breadcrumb a:hover{color:var(--brand-dark);text-decoration:underline;text-underline-offset:3px;}
.breadcrumb .current{color:var(--text-sub);font-weight:500;}   /* 현재 페이지 — 살짝만 강조(흐리게) */

/* 페이지 헤더 안의 breadcrumb: h1 기준 중앙 정렬을 위해 absolute */
.page-header .ph-title .breadcrumb{
  position:absolute;
  bottom:100%;left:0;
  margin-bottom:4px;
  white-space:nowrap;
}

/* 페이지 헤더 우측 수종 inline 메뉴 (1차 + 2차) */
.species-wrap{
  display:flex;flex-direction:column;gap:10px;
  flex:1;max-width:780px;
}
.species-inline{
  display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;
}
.species-inline a{
  padding:7px 14px;border:1px solid var(--line);
  border-radius:16px;font-size:14px;color:var(--text-sub);
  background:#fff;white-space:nowrap;transition:all 0.15s;
}
.species-inline a:hover{border-color:var(--brand);color:var(--brand);}
.species-inline a.active{
  background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600;
}
/* 3차(세부) 인라인 메뉴 — 2차와 구분되게 오렌지 톤. .species-inline.lv3 모디파이어 */
.species-inline.lv3{
  margin-top:8px;padding-left:14px;
  border-left:2px solid var(--accent-warm);
}
.species-inline.lv3 a{
  font-size:12.5px;padding:5px 12px;
  border-color:rgba(249,91,6,0.30);color:var(--accent-warm);background:#fff;
}
.species-inline.lv3 a:hover{
  border-color:var(--accent-warm);background:rgba(249,91,6,0.07);
}
.species-inline.lv3 a.active{
  background:var(--accent-warm);color:#fff;border-color:var(--accent-warm);font-weight:600;
}

/* 2차 메뉴 — 1차 메뉴 활성 시만 표시 (가독성 개선) */
.subspecies-inline{
  display:flex;flex-wrap:wrap;gap:6px;
  padding-top:2px;
}
.subspecies-inline a{
  padding:6px 13px;font-size:13.5px;color:#333;
  background:#fff;border:1px solid var(--line-soft);
  border-radius:14px;white-space:nowrap;transition:all 0.15s;
  font-weight:500;
}
.subspecies-inline a:hover{
  border-color:var(--brand);color:var(--brand);
}
.subspecies-inline a.active{
  background:var(--accent-warm);color:#fff;
  border-color:var(--accent-warm);font-weight:700;
}


/* ====================================================
   3. 헤더·네비게이션
   ==================================================== */
.topbar{
  background:var(--bg-section);color:var(--text-sub);
  font-size:12px;padding:8px 0;border-bottom:1px solid var(--line-soft);
}
.topbar .container{display:flex;justify-content:space-between;align-items:center;}
.topbar .info{display:flex;gap:18px;}
.topbar a{transition:color 0.15s;}
.topbar a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px;}

.header{
  background:var(--bg-base);border-bottom:1px solid var(--line-soft);
  padding:16px 0;position:sticky;top:0;z-index:100;
}
.header-inner{
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:30px;
}
.logo{display:flex;align-items:center;gap:12px;}
.logo img{height:46px;width:46px;background:url('data:image/png;base64,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') center/contain no-repeat;}  /* 헤더 로고 — base64 background로 깜빡임 차단 */
.logo-text{
  font-size:20px;font-weight:700;color:var(--brand);
  letter-spacing:-0.5px;line-height:1.2;
}
.logo-text small{
  display:block;font-size:11px;color:var(--text-light);
  font-weight:500;letter-spacing:1.5px;margin-top:1px;
}

.nav{display:flex;gap:2px;justify-self:center;}
.nav a{
  font-size:14.5px;font-weight:500;color:var(--text-sub);
  padding:8px 14px;border-radius:4px;transition:all 0.15s;
  display:inline-flex;align-items:center;gap:4px;
}
.nav a:hover{background:var(--brand-hover-bg);color:var(--brand);}
.nav a.featured{color:var(--brand);font-weight:600;}
.nav a.active{color:var(--brand);font-weight:600;}
.nav a .caret{font-size:11px;color:var(--text-light);margin-top:1px;}

.header-right{display:flex;gap:0;align-items:center;justify-self:end;}
.header-link{
  font-size:13px;color:var(--text-sub);cursor:pointer;
  padding:6px 10px;border-radius:4px;transition:all 0.15s;
}
.header-link:hover{background:var(--brand-hover-bg);color:var(--brand);}
.header-link .num{
  display:inline-block;background:var(--brand);color:#fff;
  font-size:11px;padding:1px 6px;border-radius:9px;margin-left:3px;
}


/* ====================================================
   4. 푸터
   ==================================================== */
.footer{
  background:var(--bg-footer);
  color:var(--text-sub);
  border-top:1px solid var(--line-soft);
  padding:44px 0 24px;font-size:12px;
}
.footer-top{
  display:grid;
  grid-template-columns:1.6fr 1.6fr 0.95fr 0.95fr 0.95fr;
  gap:26px;align-items:start;
  padding-bottom:24px;border-bottom:1px solid var(--line-soft);
}
.footer-top .col{font-size:12px;line-height:1.8;}
.footer-top .col h4{
  font-size:13px;font-weight:600;color:var(--text);margin-bottom:10px;
}
.footer-top .col p, .footer-top .col a{
  color:var(--text-sub);display:block;padding:2px 0;
}
.footer-top .col a:hover{color:var(--brand);}

.col-logo{display:flex;flex-direction:row;align-items:center;gap:12px;}
.col-logo img{height:48px;width:48px;flex-shrink:0;}  /* width 명시 — 로드 전 폭 0 방지 */
.col-logo .name{font-size:15px;font-weight:700;color:var(--text);line-height:1.3;}
.col-logo .name small{
  display:block;font-size:10px;color:var(--text-light);
  font-weight:500;letter-spacing:1.5px;margin-top:2px;
}

.col-links a{display:block;}

.footer-bottom{
  margin-top:18px;display:flex;justify-content:space-between;align-items:center;
  font-size:11px;color:var(--text-light);
}


/* ====================================================
   5. 공통 컴포넌트
   ==================================================== */
/* 버튼 */
.btn-primary{
  background:var(--brand-vivid);color:#fff;
  padding:13px 26px;font-size:14px;font-weight:600;
  border-radius:6px;border:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;
  transition:all 0.15s;
}
.btn-primary:hover{background:var(--brand-vivid-dark);}

.btn-secondary{
  background:#fff;color:var(--brand);
  padding:13px 26px;font-size:14px;font-weight:600;
  border-radius:6px;border:1px solid var(--brand);cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;
  transition:all 0.15s;
}
.btn-secondary:hover{background:var(--bg-section);}

.btn-ghost{
  background:transparent;color:var(--text-sub);
  padding:10px 18px;font-size:13px;font-weight:500;
  border-radius:6px;border:1px solid var(--line);cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;
  transition:all 0.15s;
}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand);}

/* 태그·배지 */
.tag{
  display:inline-block;font-size:11px;font-weight:600;
  background:var(--brand);color:#fff;
  padding:3px 8px;border-radius:3px;letter-spacing:0.5px;
}
.tag-new{
  display:inline-block;background:#FFE5DC;color:#A04020;
  font-size:10px;padding:1px 6px;border-radius:3px;margin-right:6px;
}


/* ====================================================
   6. 메인 페이지
   ==================================================== */
/* 히어로 */
.hero{
  background:var(--bg-base);
  padding:64px 0 76px;border-bottom:1px solid var(--line-soft);
}
.hero-inner{
  display:grid;grid-template-columns:1.5fr 1fr;
  gap:70px;align-items:center;
}
.hero-text h1{
  font-size:38px;font-weight:800;color:var(--text);
  margin-bottom:20px;letter-spacing:-1.5px;line-height:1.3;
}
.hero-text h1 .accent{color:var(--brand);}
.hero-text p{
  font-size:15px;color:var(--text-sub);
  margin-bottom:30px;line-height:1.8;
}
.hero-menus{display:flex;flex-direction:column;gap:14px;}
.hero-menus-row{display:flex;gap:8px;flex-wrap:wrap;}
.hero-menus-row a{
  font-size:13px;color:var(--text-sub);font-weight:500;
  background:var(--bg-card);border:1px solid var(--line);
  padding:7px 14px;border-radius:18px;
  transition:all 0.15s;
}
.hero-menus-row a:hover{
  border-color:var(--brand);color:var(--brand);
}
.hero-menus-row.services a{
  font-size:14px;font-weight:600;
  padding:10px 20px;
  color:#fff;background:var(--brand-vivid);border:none;
}
.hero-menus-row.services a:hover{background:var(--brand-vivid-dark);}

.hero-image{
  aspect-ratio:4/3;
  max-width:380px;width:100%;margin-left:auto;
  background:linear-gradient(135deg, #ECE9DE 0%, #D5D1C2 100%);
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-light);font-size:12px;letter-spacing:1px;
}

/* 삼송의 약속 */
.values{
  background:var(--bg-soft);
  padding:48px 0;border-bottom:1px solid var(--line-soft);
}
.values-head{text-align:center;margin-bottom:30px;}
.values-head .badge{
  display:inline-block;color:var(--brand-light);
  font-size:11px;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;margin-bottom:8px;
}
.values-head h2{
  font-size:22px;font-weight:700;color:var(--brand-dark);
}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:980px;margin:0 auto;}
.value-item{
  background:#fff;border:none;border-radius:10px;
  padding:22px 16px;text-align:center;transition:all 0.2s;
}
.value-item .num{
  font-size:11px;color:var(--brand-light);font-weight:700;
  letter-spacing:2px;margin-bottom:10px;
}
.value-item h4{
  font-size:15px;font-weight:600;color:var(--brand-dark);margin-bottom:5px;
}
.value-item p{font-size:12px;color:var(--text-sub);line-height:1.6;}


/* ====================================================
   7. 상품 영역
   ==================================================== */
/* 메인 페이지 공지사항 + 영업 안내 그리드 */
.info-grid{grid-template-columns:2fr 1fr;}
@media (max-width:768px){.info-grid{grid-template-columns:1fr;}}

/* 카테고리 카드 그리드 (메인 페이지) */
.cat-grid{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:32px;max-width:1100px;margin:0 auto;
}
.cat-card{
  flex:1 1 0;max-width:220px;min-width:170px;  /* 카드 수에 따라 폭 자동 분배 — 4개일 땐 넓게, 5개(잔재 포함) 시 좁게 */
  background:var(--bg-card);
  border:1px solid var(--line-soft);
  border-radius:8px;padding:11px 11px 22px;  /* 위/좌/우 11px, 아래 22px (텍스트 영역 여유) */
  cursor:pointer;transition:all 0.15s;
}
.cat-card:hover{
  border-color:var(--brand-vivid);
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(45,90,61,0.07);
}
.cat-photo{
  aspect-ratio:4/3;
  background:linear-gradient(135deg, #EFEDE4, #D8D4C5);
  border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-light);font-size:10px;margin-bottom:8px;
}
.cat-card h3{font-size:14px;font-weight:600;margin-top:12px;margin-bottom:5px;padding-left:6px;}
.cat-card .count{font-size:12px;color:var(--text-light);padding-left:6px;padding-bottom:8px;}

/* 상품 목록 페이지 — 상품 우선, 필터는 버튼으로 펼침 */
.product-section{padding:30px 0 60px;}

/* 수종(소분류) 카드 그리드 — 카테고리 대표성 표현 */
.species-section{
  padding:24px 0 30px;
  border-bottom:1px solid var(--line-soft);
}
.species-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:14px;
}
.species-card{
  background:#fff;border:1px solid var(--line-soft);
  border-radius:6px;padding:8px;cursor:pointer;
  text-align:center;transition:all 0.15s;
}
.species-card:hover{border-color:var(--brand);transform:translateY(-2px);}
.species-card.active{
  border-color:var(--brand);
  box-shadow:0 0 0 1px var(--brand) inset;
}
.species-photo{
  aspect-ratio:1/1;
  background:linear-gradient(135deg, #EFEDE4, #D8D4C5);
  border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-light);font-size:10px;margin-bottom:6px;
}
.species-card h3{
  font-size:13px;font-weight:600;color:var(--text);
  padding:2px 0;line-height:1.3;
}

/* 상단 툴바 (정렬 + 필터 버튼) */
.product-toolbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 0;border-bottom:1px solid var(--line-soft);margin-bottom:24px;
}
.product-toolbar .count{color:var(--text-sub);font-size:13px;}
.product-toolbar .actions{display:flex;gap:10px;align-items:center;}
.product-toolbar select{
  border:1px solid var(--line);padding:7px 12px;border-radius:4px;
  font-size:13px;color:var(--text-sub);background:#fff;
}
.filter-toggle{
  background:#fff;border:1px solid var(--line);
  padding:7px 16px;border-radius:4px;cursor:pointer;
  font-size:13px;color:var(--text-sub);
  display:inline-flex;align-items:center;gap:6px;
  transition:all 0.15s;
}
.filter-toggle:hover{border-color:var(--brand);color:var(--brand);}
.filter-toggle .caret{font-size:10px;transition:transform 0.15s;}
.filter-toggle.open .caret{transform:rotate(180deg);}

/* 필터 패널 (기본 숨김 · 버튼 클릭 시 펼침) */
.filter-panel{
  background:var(--bg-section);border-radius:6px;
  padding:20px 22px;margin-bottom:22px;
  display:none;     /* 기본 숨김 */
}
.filter-panel.open{display:block;}
.filter-panel-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
}
.filter-group h4{
  font-size:12px;font-weight:600;color:var(--text);margin-bottom:8px;
}
.filter-group label{
  display:flex;align-items:center;gap:6px;
  font-size:13px;color:var(--text-sub);padding:3px 0;cursor:pointer;
}
.filter-group label:hover{color:var(--brand);}
.filter-panel .panel-foot{
  margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft);
  display:flex;justify-content:space-between;align-items:center;
}
.filter-panel .panel-foot .applied{font-size:12px;color:var(--text-light);}

/* 상품 그리드 — 5컬럼 + 넓은 간격 (카드 적당 크기) */
.product-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:24px;
}
.product-card{
  background:#fff;border:1px solid var(--line-soft);
  border-radius:6px;padding:8px;cursor:pointer;transition:all 0.15s;
  position:relative;
  display:flex;flex-direction:column;             /* 가격 하단 고정용 */
  line-height:1.35;                                /* 행간 압축 */
}
.product-card:hover{border-color:var(--brand);}
.product-card .badge-corner{
  position:absolute;top:14px;left:14px;
  background:var(--brand);color:#fff;
  font-size:10px;padding:2px 6px;border-radius:3px;z-index:1;
}
.product-photo{
  aspect-ratio:1/1;
  background:linear-gradient(135deg, #EFEDE4, #D8D4C5);
  border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-light);font-size:10px;margin-bottom:8px;
}
/* 실제 사진은 칸을 자동으로 채움(cover) — 1:1 가운데 크롭 */
.product-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:4px;}
.product-card h3{
  font-size:13px;font-weight:600;color:#333;margin-bottom:4px;
  padding:0 4px;
}
.product-card .subtitle{
  font-size:12px;color:var(--text-sub);padding:0 4px;margin-bottom:4px;
}
.product-card .spec{
  font-size:12px;color:var(--text-sub);padding:0 4px;margin-bottom:4px;
}
.product-card .origin{
  font-size:12px;color:var(--text-sub);padding:0 4px;margin-bottom:4px;
}
.product-card .price{
  font-size:15px;font-weight:700;color:#555;padding:4px 4px 2px;
  margin-top:auto;                                /* 카드 하단 고정 */
}
.product-card .price .unit{font-size:11px;color:var(--text-light);font-weight:400;}
.product-card .status-soldout{color:var(--text-light);font-weight:600;}
.product-card .status-inquiry{color:var(--brand);font-weight:600;}
/* 메인 '추천 상품' 그리드 전용 — 칸 간격 넓혀 카드 살짝 작게+여백 확보. 목록 공통 .product-grid는 그대로 */
.product-grid.picks{gap:40px;}

/* 상품 상세 */
.product-detail{
  display:grid;grid-template-columns:0.9fr 1fr;gap:64px;   /* 1:1 사진 → 안내박스 높이와 균형. 임시 시안 */
  padding:40px 0;
  align-items:start;
}
.product-detail-photo{}
.product-detail-photo .main-photo{
  aspect-ratio:1/1;                        /* 상세 대표 = 1:1 (섬네일과 동일, 화면 균형). 임시 시안 — 채택 시 메모리 갱신 */
  background:linear-gradient(135deg, #EFEDE4, #D8D4C5);
  border-radius:4px;overflow:hidden;        /* 부드러운 모서리 */
  box-shadow:0 1px 3px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.04);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-light);font-size:12px;
}
/* 실제 사진은 칸을 자동으로 채움(cover) — 별도 크롭 편집 불필요 */
.product-detail-photo .main-photo img,
.product-detail-photo .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.product-detail-photo .thumbs{
  display:flex;gap:8px;flex-wrap:wrap;
}
.product-detail-photo .thumb{
  width:80px;aspect-ratio:1/1;border-radius:4px;overflow:hidden;
  background:linear-gradient(135deg, #EFEDE4, #D8D4C5);
  border:1px solid var(--line-soft);cursor:pointer;
}
.product-detail-photo .thumb.active{border-color:var(--brand);}

.product-detail-info h1{
  font-size:24px;font-weight:700;color:var(--text);
  margin-bottom:4px;letter-spacing:-0.5px;
}
.product-detail-info .subtitle{
  font-size:13.5px;color:var(--text-sub);margin-bottom:18px;
  padding-bottom:14px;border-bottom:1px solid var(--line-soft);
}
.product-detail-info .info-row{
  display:flex;padding:11px 0;font-size:14px;line-height:1.6;
  border-bottom:1px solid var(--line-soft);          /* 항목 구분선 — 스캔 용이 */
}
.product-detail-info .info-row .k{
  width:80px;color:var(--text-sub);                   /* 라벨 대비 강화(#999→#555) */
}
.product-detail-info .info-row .v{color:var(--text);font-weight:500;}  /* 값 강조 */
.product-detail-info .price-box{
  background:var(--bg-section);border-radius:6px;
  padding:14px 18px;margin:16px 0;
}
.product-detail-info .price-box .price{
  font-size:26px;font-weight:700;color:var(--text);
}
.product-detail-info .price-box .price .unit{
  font-size:13px;color:var(--text-light);font-weight:400;
}
.product-detail-info .price-box .tax{
  font-size:12px;color:var(--text-light);margin-left:8px;   /* EA 우측에 붙여 한 줄로 */
}
.product-detail-info .qty-control{
  display:flex;align-items:center;gap:0;margin:14px 0;
}
.product-detail-info .qty-control button{
  width:32px;height:32px;border:1px solid var(--line);
  background:#fff;cursor:pointer;
}
.product-detail-info .qty-control input{
  width:50px;height:32px;border:1px solid var(--line);
  border-left:0;border-right:0;text-align:center;font-size:14px;
}
.product-detail-info .cta-row{
  display:flex;gap:10px;margin-top:16px;
}
.product-detail-info .cta-row .btn-primary{flex:1;justify-content:center;}
.product-detail-info .cta-row .btn-secondary{flex:1;justify-content:center;}
.product-detail-info .cta-row .btn-ghost{flex:0 0 auto;white-space:nowrap;}  /* 뒤로가기 — 폭 고정, 색버튼과 경쟁 X */

/* =============================================================
   상품 상세 — 본문(상세 설명). 사진+설명 블록 반복, 차분한 폭
   사진 최대 800px / 접사는 narrow. 글은 HTML 텍스트(이미지에 글자 X)
   ============================================================= */
.product-desc{max-width:870px;margin:0 auto;}
.product-desc .desc-head{text-align:center;margin:34px 0 28px;}
.product-desc .desc-head h2{
  display:inline-block;font-size:20px;font-weight:700;color:var(--text);
  padding-bottom:10px;border-bottom:2px solid var(--brand);letter-spacing:-0.5px;
}
.product-desc .desc-block{margin:0 0 38px;}
.product-desc .desc-text{font-size:16px;line-height:1.9;color:var(--text-sub);}
.product-desc .desc-text p{margin:0 0 16px;}
.product-desc .desc-text p:last-child{margin-bottom:0;}
.product-desc .desc-text strong{color:var(--text);font-weight:600;}
.product-desc .desc-photo{max-width:800px;margin:0 auto 12px;border-radius:6px;overflow:hidden;}
.product-desc .desc-photo img{display:block;width:100%;height:auto;}
.product-desc .desc-photo.narrow{max-width:760px;}      /* 옹이·결 접사 등 질감 컷은 더 작게 */
.product-desc .desc-caption{font-size:14px;line-height:1.8;color:var(--text-light);margin-top:8px;}
/* 모범양식 placeholder — 실제 사진 들어오면 <img>로 교체 */
.product-desc .desc-photo.ph{
  background:linear-gradient(135deg,#EFEDE4,#D8D4C5);
  display:flex;align-items:center;justify-content:center;color:#9CA3AF;font-size:13px;
}

.product-notice{
  background:var(--bg-section);border-radius:6px;padding:18px;
  margin:24px 0;font-size:13px;line-height:1.8;color:var(--text-sub);
}
.product-notice h4{
  font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px;
}


/* ====================================================
   8. 서비스 영역 (가공 4종)
   ==================================================== */
/* 메인의 가공 서비스 카드 */
.svc-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:48px;max-width:1020px;margin:0 auto;
}
.svc-card{
  background:#fff;border:1px solid transparent;border-radius:10px;padding:10px;
  cursor:pointer;transition:all 0.2s;
  display:flex;flex-direction:column;
}
.svc-photo{
  aspect-ratio:4/3;
  background:linear-gradient(135deg, #E8E5DA, #D2CEC0);
  border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-light);font-size:10px;margin-bottom:12px;
}
.svc-card:hover{
  border-color:var(--brand-vivid);
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(45,90,61,0.07);
}
.svc-card.featured .svc-photo{
  background:linear-gradient(135deg, #5A8C68, #2D5A3D);
  color:rgba(255,255,255,0.7);
}
.svc-body{padding:0 6px 6px;}
.svc-card h3{font-size:14px;font-weight:600;color:var(--text);margin-bottom:3px;}
.svc-card.featured h3{color:var(--brand);}
.svc-card p{font-size:12px;color:var(--text-light);}

/* 서비스 페이지 (CNC·NC·코팅·계단재 공통) */
.service-tabs{
  background:var(--bg-section);border-bottom:1px solid var(--line-soft);
}
.service-tabs .container{display:flex;gap:0;}
.service-tab{
  padding:14px 24px;font-size:14px;font-weight:500;color:var(--text-sub);
  border-bottom:2px solid transparent;cursor:pointer;transition:all 0.15s;
}
.service-tab:hover{color:var(--brand);}
.service-tab.active{color:var(--brand);font-weight:600;border-bottom-color:var(--brand);}

.service-content{padding:40px 0;}
.service-hero{
  display:grid;grid-template-columns:1.3fr 1fr;gap:40px;
  align-items:center;margin-bottom:36px;
}
.service-hero h1{
  font-size:32px;font-weight:700;color:var(--text);
  margin-bottom:14px;letter-spacing:-1px;
}
.service-hero p{font-size:15px;color:var(--text-sub);line-height:1.8;margin-bottom:20px;}
.service-hero-image{
  aspect-ratio:4/3;
  background:linear-gradient(135deg, #E8E5DA, #D2CEC0);
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-light);font-size:12px;
}

.service-features{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  margin-bottom:36px;
}
.service-feature{
  background:#fff;border:1px solid var(--line-soft);
  border-radius:6px;padding:20px;
}
.service-feature h3{
  font-size:14px;font-weight:600;color:var(--brand);margin-bottom:6px;
}
.service-feature p{font-size:13px;color:var(--text-sub);line-height:1.7;}

.service-info-block{
  background:var(--bg-section);border-radius:8px;padding:24px;
  margin-bottom:32px;
}
.service-info-block h3{
  font-size:15px;font-weight:600;color:var(--text);margin-bottom:10px;
}
.service-info-block p{font-size:13px;color:var(--text-sub);line-height:1.8;}


/* ====================================================
   9. 가공 의뢰 게시판
   ==================================================== */
.inquiry-form{
  background:#fff;border:1px solid var(--line-soft);
  border-radius:8px;padding:30px;
  max-width:760px;margin:30px auto;
}
.form-row{margin-bottom:18px;}
.form-row label{
  display:block;font-size:13px;font-weight:600;color:var(--text);
  margin-bottom:6px;
}
.form-row label .req{color:#C04040;margin-left:3px;}
.form-row input[type="text"],
.form-row input[type="tel"],
.form-row input[type="email"],
.form-row input[type="password"],
.form-row input[type="number"],
.form-row input[type="search"],
.form-row select,
.form-row textarea{
  width:100%;padding:10px 12px;font-size:13px;
  border:1px solid var(--line);border-radius:4px;
  font-family:inherit;background:#fff;
}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus{
  outline:none;border-color:var(--brand);
}
.form-row textarea{min-height:120px;resize:vertical;}
.form-row .help{
  font-size:11px;color:var(--text-light);margin-top:4px;
}
.form-actions{
  display:flex;justify-content:center;gap:10px;margin-top:24px;
}


/* ====================================================
   10. 게시판·정책
   ==================================================== */
.board-list{
  border-top:2px solid var(--brand);margin-top:20px;
}
.board-list .row{
  display:grid;grid-template-columns:60px 1fr 110px 100px 80px;
  gap:20px;padding:14px 20px;font-size:13px;
  border-bottom:1px solid var(--line-soft);align-items:center;
}
.board-list .row .author{color:var(--text-sub);font-size:12.5px;}
.board-list .row .author.mine{color:var(--brand);font-weight:700;}
.board-list .row.head{
  background:var(--bg-section);font-weight:600;color:var(--text-sub);
  font-size:12px;
}
.board-list .row .no{color:var(--text-light);}
.board-list .row a{color:var(--text);}
.board-list .row a:hover{color:var(--brand);}
.board-list .row .reply-row{
  padding-left:20px;color:var(--text-sub);
}
.board-list .row .reply-row::before{content:'↳ ';color:var(--text-light);}

.policy-content{padding:30px 0;max-width:840px;margin:0 auto;}
.policy-content h2{
  font-size:18px;font-weight:700;color:var(--text);
  margin:24px 0 10px;padding-top:14px;border-top:1px solid var(--line-soft);
}
.policy-content h2:first-child{border-top:none;padding-top:0;margin-top:0;}
.policy-content h3{
  font-size:14px;font-weight:600;color:var(--text-sub);
  margin:14px 0 6px;
}
.policy-content p{font-size:13px;color:var(--text-sub);line-height:1.8;margin-bottom:8px;}


/* ====================================================
   11. 회원·주문·장바구니
   ==================================================== */
.member-box{
  max-width:420px;margin:40px auto;
  background:#fff;border:1px solid var(--line-soft);
  border-radius:8px;padding:30px;
}
.member-box h1{
  font-size:22px;font-weight:700;color:var(--text);
  text-align:center;margin-bottom:24px;
}
.social-login{
  display:flex;gap:8px;margin-bottom:20px;
}
.social-login button{
  flex:1;padding:10px;border:1px solid var(--line);
  background:#fff;cursor:pointer;border-radius:4px;font-size:12px;
}
.social-login button:hover{border-color:var(--brand);}

.cart-list{margin:30px 0;}
.cart-row{
  display:grid;grid-template-columns:40px 80px 1fr auto auto auto;
  gap:16px;padding:18px 0;border-bottom:1px solid var(--line-soft);
  align-items:center;font-size:13px;
}
.cart-row .photo{
  width:80px;height:80px;border-radius:4px;
  background:linear-gradient(135deg, #EFEDE4, #D8D4C5);
}
.cart-summary{
  background:var(--bg-section);border-radius:6px;
  padding:20px;margin:20px 0;
}
.cart-summary .row{
  display:flex;justify-content:space-between;padding:6px 0;font-size:13px;
}
.cart-summary .row.total{
  border-top:1px solid var(--line-soft);margin-top:6px;padding-top:10px;
  font-size:15px;font-weight:700;color:var(--text);
}


/* ====================================================
   12. 모바일
   ==================================================== */
@media (max-width:768px){
  .container{padding:0 14px;}
  .topbar{display:none;}
  .nav{display:none;}
  .header-inner{grid-template-columns:auto 1fr;}
  .header-right{justify-self:end;}

  /* 메인 페이지 */
  .hero-inner{grid-template-columns:1fr;gap:32px;}
  .hero-text{text-align:center;}
  .hero-text h1{font-size:26px;}
  .hero-image{max-width:100%;}
  .hero-menus-row{justify-content:center;}
  .values-grid{grid-template-columns:repeat(2,1fr);gap:22px;}

  /* 카테고리 */
  .cat-grid{gap:14px;justify-content:flex-start;}
  .cat-card{flex:0 0 calc((100% - 14px) / 2);}

  /* 가공 서비스 */
  .svc-grid{grid-template-columns:repeat(2,1fr);gap:20px;max-width:none;}

  /* 상품 목록 */
  .product-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .product-grid.picks{gap:14px;}   /* 모바일에선 추천 그리드도 좁게(데스크톱 40px 예외) */
  .filter-panel-grid{grid-template-columns:1fr 1fr;gap:14px;}

  /* 페이지 헤더: 모바일에서 세로 적층 */
  .page-header .container{flex-direction:column;align-items:flex-start;gap:14px;}
  .species-inline{justify-content:flex-start;}
  .species-inline a{font-size:11px;padding:4px 9px;}

  /* 상품 상세 */
  .product-detail{grid-template-columns:1fr;gap:24px;}

  /* 서비스 */
  .service-tabs .container{overflow-x:auto;}
  .service-tab{flex-shrink:0;padding:12px 16px;font-size:13px;}
  .service-hero{grid-template-columns:1fr;gap:24px;}
  .service-features{grid-template-columns:1fr;}

  /* 푸터 */
  .footer{padding:30px 0 18px;}
  .footer-top{grid-template-columns:1fr;gap:18px;padding-bottom:18px;}
  .col-logo{align-items:center;text-align:center;justify-content:center;}
  .footer-top .col h4{margin-bottom:6px;font-size:12px;}
  .footer-top .col p{font-size:11px;line-height:1.7;}
  .footer-top .col-links{display:flex;flex-wrap:wrap;gap:0;}
  .footer-top .col-links a{
    padding:3px 10px 3px 0;margin-right:8px;
    border-right:1px solid var(--line-soft);
    display:inline-block;font-size:11px;
  }
  .footer-top .col-links a:last-child{border-right:none;margin-right:0;padding-right:0;}
  .footer-bottom{flex-direction:column;gap:6px;font-size:10px;}

  /* 게시판·정책 */
  .board-list .row{grid-template-columns:1fr;gap:4px;padding:14px;}
  .board-list .row.head{display:none;}

  /* 회원 */
  .member-box{margin:20px auto;padding:24px;}

  /* 장바구니 */
  .cart-row{grid-template-columns:60px 1fr;gap:10px;}
}

/* ====================================================
   관리자 페이지
   ==================================================== */
.admin-body{background:#F4F6F8;}
.admin-layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh;}
.admin-sidebar{
  background:var(--bg-footer);color:var(--text-sub);padding:18px 0;
  border-right:1px solid var(--line-soft);
  position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;
  display:flex;flex-direction:column;
}
.admin-sidebar .logout-area{
  margin-top:auto;padding:14px 12px 0;border-top:1px solid var(--line-soft);
}
.admin-sidebar .logout-area .btn-logout{
  display:block;padding:9px 12px;background:#fff;border:1px solid #fecaca;
  color:#b91c1c;border-radius:6px;font-size:13px;text-align:center;
  text-decoration:none;transition:all 0.15s;
}
.admin-sidebar .logout-area .btn-logout:hover{background:#fee2e2;}
.admin-sidebar .logo{
  padding:0 18px 18px;border-bottom:1px solid var(--line-soft);margin-bottom:14px;
  display:flex;align-items:center;gap:10px;color:var(--text);
}
.admin-sidebar .logo img{height:32px;width:32px;}
.admin-sidebar .logo b{font-size:14px;font-weight:700;letter-spacing:-0.3px;color:var(--brand);}
.admin-sidebar .logo small{display:block;font-size:10px;color:var(--text-light);letter-spacing:1.5px;margin-top:2px;}
.admin-sidebar nav{display:flex;flex-direction:column;gap:4px;padding:0 10px;}
.admin-sidebar nav a{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:6px;font-size:13.5px;
  background:#fff;border:1px solid var(--line-soft);color:var(--text-sub);
  transition:all 0.15s;
}
.admin-sidebar nav a:hover{background:var(--brand-hover-bg);color:var(--brand);border-color:var(--brand-hover-bg);}
.admin-sidebar nav a.active{background:var(--brand-hover-bg);color:var(--brand);border-color:var(--brand-hover-bg);font-weight:700;}
.admin-sidebar nav a .ico{font-size:14px;width:18px;text-align:center;}
.admin-sidebar .footer-note{
  padding:12px 18px 4px;font-size:11px;color:var(--text-light);
}

.admin-main{padding:28px 32px;background:#F4F6F8;max-width:1400px;}
.admin-main .page-title{
  display:flex;justify-content:space-between;align-items:flex-end;
  padding-bottom:18px;border-bottom:1px solid #E5E7EB;margin-bottom:24px;
}
.admin-main .page-title h1{font-size:22px;font-weight:700;color:#111827;}
.admin-main .page-title .breadcrumb{font-size:12px;color:#6B7280;margin-bottom:4px;}

.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;}
.admin-stat-card{
  background:#fff;border:1px solid #E5E7EB;border-radius:8px;padding:18px 20px;
}
.admin-stat-card .label{font-size:12px;color:#6B7280;margin-bottom:6px;}
.admin-stat-card .value{font-size:24px;font-weight:700;color:#111827;line-height:1.2;}
.admin-stat-card .value.alert{color:#DC2626;}
.admin-stat-card .value.brand{color:var(--brand-vivid);}
.admin-stat-card .sub{font-size:11px;color:#9CA3AF;margin-top:4px;}

.admin-panel{background:#fff;border:1px solid #E5E7EB;border-radius:8px;margin-bottom:18px;}
.admin-panel .head{
  padding:14px 18px;border-bottom:1px solid #E5E7EB;
  display:flex;justify-content:space-between;align-items:center;
}
.admin-panel .head h3{font-size:14px;font-weight:700;color:#111827;}
.admin-panel .head a{font-size:12px;color:var(--brand-vivid);font-weight:500;}
.admin-panel .body{padding:14px 18px;}

.admin-table{width:100%;border-collapse:collapse;font-size:13px;}
.admin-table th{
  text-align:left;padding:10px 14px;background:#F9FAFB;
  font-weight:600;font-size:12px;color:#6B7280;border-bottom:1px solid #E5E7EB;
}
.admin-table td{padding:12px 14px;border-bottom:1px solid #F3F4F6;color:#374151;}
.admin-table tbody tr:nth-child(even){background:#F8FAFB;}   /* 지브라 — 짝수 행 옅은 음영(더 흐리게, 상태색 inline 우선) */
.admin-table tr:hover td{background:rgba(45,90,61,0.06);}   /* hover — 연한 녹색 brand 6% */
.admin-table a{color:var(--brand-vivid);}

.admin-status{
  display:inline-block;padding:3px 9px;border-radius:10px;
  font-size:11px;font-weight:600;
}
.admin-status.s1{background:#FEF3C7;color:#92400E;}  /* 요청됨 — 관리자 미열람 */
.admin-status.s2{background:#DBEAFE;color:#1E40AF;}  /* 접수 — 관리자 열람 시 자동 전환 */
.admin-status.s3{background:#D1FAE5;color:#065F46;}  /* 결재완료 */
.admin-status.s4{background:#E0E7FF;color:#3730A3;}  /* 출고됨 */
.admin-status.s5{background:#F3F4F6;color:#374151;}  /* 완료 — 출고 후 4일 자동, 역방향 가능 */
.admin-status.wait{background:#FFEDD5;color:#9A3412;}  /* 대기중 — 관리자 수동, 문제 발생 시 */
.admin-status.alert{background:#FEE2E2;color:#991B1B;}  /* 응답대기 알림 */
.admin-status.deposit{background:#EDE9FE;color:#5B21B6;}  /* 입금대기 — 무통장 입금 확인 전 (접수↔결재완료 사이, 정상 흐름) */
.admin-status.cancel{background:#FCE7E7;color:#B91C1C;}  /* 취소·환불 — 종결 상태(되돌리기 가능) */

.admin-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.admin-filter a{
  padding:6px 14px;border:1px solid #D1D5DB;border-radius:14px;
  font-size:12.5px;color:#374151;background:#fff;
}
.admin-filter a:hover{border-color:var(--brand-vivid);color:var(--brand-vivid);}
.admin-filter a.active{background:var(--brand-vivid);color:#fff;border-color:var(--brand-vivid);font-weight:600;}

/* 2차 수종 필터 바 — 1차 카테고리 선택 시 그 아래 표시(위계 구분) */
.admin-subfilter{
  display:flex;gap:6px;flex-wrap:wrap;align-items:center;
  margin:-4px 0 14px;padding:10px 12px;
  background:var(--bg-section);border:1px solid #EFEDE5;border-radius:8px;
}
.admin-subfilter .sf-label{font-size:11px;color:#9CA3AF;margin-right:4px;}
.admin-subfilter a{
  padding:4px 11px;border:1px solid #E5E7EB;border-radius:13px;
  font-size:12px;color:#374151;background:#fff;cursor:pointer;
}
.admin-subfilter a:hover{border-color:var(--brand-vivid);color:var(--brand-vivid);}
.admin-subfilter a.active{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600;}
/* 3차(하하위) 필터 — 2차와 구분되게 오렌지 톤. 손님측 .species-inline.lv3과 동일 패턴 */
.admin-subfilter.lv3 a{border-color:rgba(249,91,6,0.30);color:var(--accent-warm);}
.admin-subfilter.lv3 a:hover{border-color:var(--accent-warm);color:var(--accent-warm);background:rgba(249,91,6,0.07);}
.admin-subfilter.lv3 a.active{background:var(--accent-warm);color:#fff;border-color:var(--accent-warm);}

.admin-btn{
  display:inline-block;padding:8px 16px;border-radius:5px;
  font-size:12.5px;font-weight:500;cursor:pointer;border:1px solid transparent;
  transition:all 0.15s;
}
.admin-btn.primary{background:var(--brand-vivid);color:#fff;}
.admin-btn.primary:hover{background:var(--brand-vivid-dark);}
.admin-btn.ghost{background:#fff;color:#374151;border-color:#D1D5DB;}
.admin-btn.ghost:hover{border-color:var(--brand-vivid);color:var(--brand-vivid);}
.admin-btn.danger{background:#fff;color:#DC2626;border-color:#FCA5A5;}
.admin-btn.danger:hover{background:#FEF2F2;}

/* =============================================================
   상품 목록 인라인 수정 — 단가 / 배지 / 단위
   상세 페이지에 들어가지 않고 목록에서 바로 수정
   ============================================================= */
.cell-edit{
  padding:6px 8px;border:1px solid #D1D5DB;border-radius:5px;
  font-size:13px;font-family:inherit;color:#374151;background:#fff;
  transition:border-color 0.15s;
}
.cell-edit:focus{outline:none;border-color:var(--brand-vivid);}
.cell-edit:hover{border-color:#9CA3AF;}
.cell-edit.unit{width:58px;text-align:center;}        /* 단위 — EA 기본 자유입력 */
.cell-edit.price{width:96px;text-align:right;}         /* 단가 */
.cell-edit.badge{width:88px;cursor:pointer;background:#fff;}  /* 배지 드롭다운 */
.cell-edit.spec{width:150px;text-align:center;}        /* 규격 — 복제 후 수정 */

/* 복제로 추가된 신규행 */
.admin-table tr.row-new td{background:#F0FDF4;}
.new-chip{
  display:inline-block;margin-left:6px;vertical-align:middle;
  font-size:10px;background:#D1FAE5;color:#065F46;padding:1px 6px;border-radius:3px;
}

/* 등록폼 선택정보 — 항목명 | 값 두 칸 */
.extra-row{display:grid;grid-template-columns:120px 1fr 32px;gap:8px;align-items:center;}
.extra-row input{
  padding:8px 12px;border:1px solid #D1D5DB;border-radius:5px;
  font-size:13px;font-family:inherit;
}
.extra-row input:focus{outline:none;border-color:var(--brand-vivid);}
.extra-del{
  height:34px;border:1px solid #D1D5DB;border-radius:5px;
  background:#fff;color:#9CA3AF;cursor:pointer;font-size:16px;line-height:1;
}
.extra-del:hover{border-color:#DC2626;color:#DC2626;}

.price-wrap{display:flex;align-items:center;gap:4px;}
.price-wrap .won{font-size:12px;color:#6B7280;}
.price-wrap.soldout .cell-edit.price{color:#9CA3AF;text-decoration:line-through;}

.cell-dirty{border-color:var(--brand-vivid);background:#FFFDF5;}  /* 수정된 칸 표시 */

/* 진열 순서 조정 — ↑↓ (손님 카드 순서). admin/products/index.html */
.admin-table .order-cell{white-space:nowrap;text-align:center;}
.admin-table .order-cell button{
  width:24px;height:22px;border:1px solid #D1D5DB;border-radius:4px;
  background:#fff;color:#6B7280;cursor:pointer;font-size:11px;line-height:1;padding:0;margin:0 1px;
}
.admin-table .order-cell button:hover{border-color:var(--brand-vivid);color:var(--brand-vivid);}
.admin-table .order-cell button:disabled{opacity:.35;cursor:default;}

/* 하단 저장바 — 변경사항 있을 때만 노출 */
.save-bar{
  position:sticky;bottom:0;display:none;
  align-items:center;justify-content:space-between;gap:12px;
  margin-top:14px;padding:12px 16px;
  background:#FFFDF5;border:1px solid var(--brand-vivid);border-radius:8px;
  box-shadow:0 -2px 8px rgba(0,0,0,0.05);
}
.save-bar.show{display:flex;}
.save-bar .count{font-size:13px;color:#374151;font-weight:600;}

/* =============================================================
   상세설명 본문 블록 빌더 (admin/products/new.html)
   글 블록 / 사진 블록을 순서대로 추가·이동. admin 색상·스타일 재사용
   ============================================================= */
.desc-builder{display:grid;gap:12px;}
.desc-blk{border:1px solid #E5E7EB;border-radius:6px;background:#fff;overflow:hidden;}
.desc-blk .blk-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:7px 10px;background:#F9FAFB;border-bottom:1px solid #E5E7EB;
}
.desc-blk .blk-label{font-size:11px;font-weight:600;color:#6B7280;}
.desc-blk .blk-tools{display:flex;gap:4px;}
.desc-blk .blk-tools button{
  width:26px;height:26px;border:1px solid #D1D5DB;border-radius:5px;
  background:#fff;color:#9CA3AF;cursor:pointer;font-size:13px;line-height:1;
}
.desc-blk .blk-tools button:hover{border-color:var(--brand-vivid);color:var(--brand-vivid);}
.desc-blk .blk-tools button.blk-del:hover{border-color:#DC2626;color:#DC2626;}
.desc-blk .blk-body{padding:10px;display:grid;gap:8px;}
.desc-blk textarea,
.desc-blk input[type=text]{
  width:100%;padding:9px 12px;border:1px solid #D1D5DB;border-radius:5px;
  font-size:13px;font-family:inherit;line-height:1.7;resize:vertical;
}
.desc-blk textarea:focus,
.desc-blk input[type=text]:focus{outline:none;border-color:var(--brand-vivid);}
.desc-blk .blk-drop{
  background:var(--bg-section);border:2px dashed #D1D5DB;border-radius:6px;
  padding:18px;text-align:center;color:#6B7280;font-size:12px;
}

/* =============================================================
   메뉴 관리 — 아코디언 (1차 클릭 → 2차 펼침)
   admin-panel / admin-status / admin-btn / 색상변수 재사용
   ============================================================= */
.menu-acc{display:flex;flex-direction:column;}

/* 컬럼 라벨 줄 — 아래 head와 같은 그리드로 정렬 */
.menu-acc-colhead,
.menu-acc-head{
  display:grid;
  grid-template-columns:34px minmax(150px,1.3fr) 190px 96px 132px 64px 84px;
  align-items:center;gap:14px;
}
.menu-acc-colhead{
  padding:11px 18px;background:#F9FAFB;border-bottom:1px solid #E5E7EB;
  font-size:11px;font-weight:600;color:#9CA3AF;
}

.menu-acc-item{border-bottom:1px solid #EEF0F2;}
.menu-acc-item:last-child{border-bottom:none;}

.menu-acc-head{
  padding:15px 18px;cursor:pointer;
  border-left:3px solid transparent;
  transition:background 0.15s,border-color 0.15s;
}
.menu-acc-head:hover{background:#F9FAFB;}
.menu-acc-item.open > .menu-acc-head{
  background:var(--brand-hover-bg);border-left-color:var(--brand-vivid);
}
.menu-acc-head .chev{font-size:11px;color:#9CA3AF;transition:transform 0.18s;}
.menu-acc-item.open > .menu-acc-head .chev{transform:rotate(90deg);color:var(--brand-vivid);}
.menu-acc-head .m-name{font-size:14.5px;font-weight:700;color:#111827;}
.menu-acc-head .m-name .ord{
  display:inline-block;min-width:18px;margin-right:6px;
  color:#9CA3AF;font-weight:600;font-size:12.5px;
}
.menu-acc-head .m-name .drag{color:#C4C9D0;cursor:grab;margin-right:4px;}
.menu-acc-head .m-url{
  font-size:11px;background:#F3F4F6;color:#6B7280;
  padding:3px 8px;border-radius:4px;justify-self:start;
}
.menu-acc-head .m-count{font-size:13px;color:#374151;}
.menu-acc-head .m-count b{color:#111827;font-weight:700;}
.menu-acc-head .m-tone{font-size:12px;color:#6B7280;}
.menu-acc-head .m-actions{justify-self:end;}

/* 잔재 등 조건부·옅은 톤 */
.menu-acc-item.muted .m-name{color:#9CA3AF;}
.menu-acc-item.muted .m-url{color:#9CA3AF;}

/* 펼쳐지는 2차 영역 — 들여쓰기로 계층 표현 */
.menu-acc-body{display:none;padding:6px 18px 20px 55px;background:#FCFDFC;}
.menu-acc-item.open > .menu-acc-body{display:block;}
.menu-acc-body .sub-head{
  display:flex;justify-content:space-between;align-items:center;margin:6px 0 10px;
}
.menu-acc-body .sub-head h4{font-size:12.5px;font-weight:700;color:#374151;}
.menu-acc-body .sub-note{font-size:12px;color:#9CA3AF;margin:4px 0 12px;}

.menu-acc-sub{
  width:100%;border-collapse:collapse;font-size:12.5px;
  background:#fff;border:1px solid #EEF0F2;border-radius:6px;overflow:hidden;
}
.menu-acc-sub th{
  text-align:left;padding:8px 12px;background:#F9FAFB;
  font-size:11px;font-weight:600;color:#9CA3AF;border-bottom:1px solid #EEF0F2;
}
.menu-acc-sub td{padding:9px 12px;border-bottom:1px solid #F3F4F6;color:#374151;}
.menu-acc-sub tr:last-child td{border-bottom:none;}
.menu-acc-sub tr:hover td{background:#F9FAFB;}
.menu-acc-sub .drag{color:#C4C9D0;cursor:grab;}

/* =============================================================
   공통 게시판 답글 — Q&A / 가공의뢰 / 외부등록 공용
   ============================================================= */

/* 첨부파일 — 이미지 갤러리 + 파일 리스트 */
.attach-block{margin-top:8px;}
.attach-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-bottom:10px;}
.attach-imgs a{display:block;aspect-ratio:1/1;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--bg-section);}
.attach-imgs a img{width:100%;height:100%;object-fit:cover;display:block;}
.attach-files{display:flex;flex-direction:column;gap:6px;}
.attach-file{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:13px;color:var(--text-main);text-decoration:none;width:fit-content;}
.attach-file:hover{border-color:var(--brand);}
.attach-file .ico{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-section);border-radius:3px;font-size:11px;font-weight:700;color:var(--text-sub);flex-shrink:0;}
.attach-file .size{color:var(--text-sub);font-size:11.5px;margin-left:4px;}

/* 견적서 — 손님 화면 (관리자 quote-doc 디자인과 통일) */
.quote-wrap{position:relative;margin-top:14px;}
.quote-print-btn{position:absolute;top:-2px;right:0;font-size:12px;padding:6px 12px;border:1px solid var(--line);background:#fff;border-radius:5px;cursor:pointer;color:var(--text-sub);font-family:inherit;z-index:5;}
.quote-print-btn:hover{border-color:var(--brand);color:var(--brand);}
.quote-doc{background:#fff;max-width:800px;margin:32px auto 0;padding:40px 44px;border:1px solid #E5E7EB;color:#111827;font-size:13px;line-height:1.92;}
.quote-doc .quote-header{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.quote-doc .quote-logo{width:28px;height:28px;}
.quote-doc .quote-brand{font-size:14px;font-weight:700;color:var(--brand);letter-spacing:-0.3px;line-height:1.2;}
.quote-doc .quote-brand small{display:block;font-size:9px;color:#9CA3AF;font-weight:500;letter-spacing:1.5px;margin-top:1px;}
.quote-doc h2.title{text-align:center;font-size:28px;font-weight:700;letter-spacing:6px;padding-bottom:18px;border-bottom:3px double #111827;margin-bottom:20px;}
.quote-doc .meta{display:flex;justify-content:space-between;margin-bottom:24px;font-size:12px;color:#374151;}
.quote-doc .meta .left,.quote-doc .meta .right{line-height:1.8;}
.quote-doc .parties{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;}
.quote-doc .party{border:1px solid #D1D5DB;padding:16px;}
.quote-doc .party h3{font-size:11px;font-weight:700;color:#6B7280;margin-bottom:10px;letter-spacing:1px;}
.quote-doc .party p{font-size:12.5px;line-height:2.1;}
.quote-doc table.items{width:100%;border-collapse:collapse;margin-bottom:14px;table-layout:fixed;}
.quote-doc table.items th,.quote-doc table.items td{padding:11px 12px;border:1px solid #D1D5DB;font-size:12.5px;line-height:1.92;word-break:break-all;}
.quote-doc table.items th{background:#F3F4F6;text-align:center;font-weight:700;color:#374151;}
.quote-doc table.items td.num{text-align:right;}
.quote-doc table.items td.qty{text-align:center;}
.quote-doc table.items tfoot td{font-weight:600;}
.quote-doc table.items tfoot tr.total td{background:#F9FAFB;font-size:14px;}
.quote-doc .memo-head{font-size:11px;font-weight:700;color:#6B7280;letter-spacing:1.5px;margin-bottom:5px;padding-left:2px;}
.quote-doc .memo{border:1px solid #D1D5DB;padding:10px 12px;margin-bottom:16px;font-size:12px;color:#374151;line-height:1.92;min-height:38px;}
.quote-doc .payment{background:#FFFBEB;border:1px solid #FCD34D;padding:12px 14px;font-size:12.5px;color:#92400E;margin-bottom:20px;}
.quote-doc .footer-note{margin-top:20px;padding-top:12px;border-top:1px solid #D1D5DB;text-align:center;font-size:11px;color:#6B7280;line-height:1.8;}
/* 견적서 수정 안내 — 같은 견적번호가 새 버전으로 대체됐을 때 손님 화면 상단에 노출 */
.quote-doc .quote-revised{display:flex;align-items:flex-start;gap:7px;background:#FFF7ED;border:1px solid #FDBA74;color:#9A3412;font-size:11.5px;line-height:1.55;padding:8px 12px;border-radius:4px;margin-bottom:18px;}
.quote-doc .quote-revised .ico{flex-shrink:0;}
.quote-doc .quote-revised b{font-weight:700;}

@media (max-width:680px){
  .quote-doc{padding:24px 18px;}
  .quote-doc .parties{grid-template-columns:1fr;gap:12px;}
  .quote-doc table.items{display:block;overflow-x:auto;white-space:nowrap;}
  .quote-print-btn{position:static;display:inline-block;margin-bottom:8px;}
}

/* =============================================================
   개인 결재창 발급 모달 — 답글 컨텍스트 prefill
   ============================================================= */
.pay-modal-overlay{position:fixed;inset:0;background:rgba(17,24,39,0.55);display:none;align-items:center;justify-content:center;z-index:9999;}
.pay-modal-overlay.open{display:flex;}
.pay-modal{background:#fff;border-radius:8px;width:92%;max-width:520px;max-height:90vh;overflow:auto;box-shadow:0 20px 50px rgba(0,0,0,0.25);}
.pay-modal .pm-head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;}
.pay-modal .pm-head h3{font-size:15px;font-weight:700;color:var(--text-main);margin:0;}
.pay-modal .pm-close{background:none;border:none;font-size:20px;color:var(--text-sub);cursor:pointer;line-height:1;}
.pay-modal .pm-body{padding:22px;}
.pay-modal .pm-row{display:grid;grid-template-columns:110px 1fr;gap:10px 14px;align-items:start;margin-bottom:14px;font-size:13px;line-height:1.6;}
.pay-modal .pm-row > label{color:var(--text-sub);padding-top:8px;font-weight:600;}
.pay-modal .pm-row input[type="text"],
.pay-modal .pm-row input[type="number"],
.pay-modal .pm-row textarea{width:100%;padding:8px 12px;border:1px solid #D1D5DB;border-radius:5px;font-size:13px;font-family:inherit;line-height:1.6;background:#fff;}
.pay-modal .pm-row .help{font-size:11.5px;color:var(--text-sub);margin-top:4px;line-height:1.5;}
.pay-modal .pm-row .amount-line{display:flex;align-items:center;gap:8px;}
.pay-modal .pm-row .amount-line input{flex:1;text-align:right;}
.pay-modal .pm-row .amount-line .unit{color:var(--text-sub);font-size:13px;}
.pay-modal .pm-mode-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;background:var(--bg-section);color:var(--text-sub);margin-left:8px;}
.pay-modal .pm-mode-badge.quote{background:#FEF3C7;color:#92400E;}
.pay-modal .pm-mode-badge.free{background:#DBEAFE;color:#1E40AF;}
.pay-modal .pm-foot{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--bg-section);}
.pay-modal .pm-foot .left-info{font-size:11.5px;color:var(--text-sub);}
.pay-modal .pm-foot .actions{display:flex;gap:8px;}
.pay-modal .pm-foot .actions button{padding:8px 16px;border-radius:5px;font-size:12.5px;font-weight:500;cursor:pointer;border:1px solid transparent;font-family:inherit;}
.pay-modal .pm-foot .actions .btn-cancel{background:#fff;color:var(--text-sub);border-color:#D1D5DB;}
.pay-modal .pm-foot .actions .btn-discard{background:#fff;color:#DC2626;border-color:#FCA5A5;}
.pay-modal .pm-foot .actions .btn-submit{background:var(--brand);color:#fff;}
.pay-modal .pm-foot .actions .btn-submit:hover{background:var(--brand-vivid-dark,#1F3F2C);}
/* 견적서 보관본 보기 모달 — 견적서(800px)가 들어갈 넓은 변형 + 읽기전용 안내 */
.pay-modal.wide{max-width:880px;}
.pay-modal .pm-body.archive{padding:20px;background:#F3F4F6;}
.pay-modal .archive-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;background:#F3F4F6;color:#374151;margin-left:6px;}
.pay-modal .archive-note{background:#FFF7ED;border-bottom:1px solid #FED7AA;color:#9A3412;font-size:11.5px;padding:8px 22px;line-height:1.5;}

/* 답글 발급 표시 박스 — 손님·관리자 공용 */
.pay-issued-box{margin-top:18px;padding:14px 16px;background:#F0FDF4;border:1px solid #BBF7D0;border-radius:6px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.pay-issued-box .pi-info{font-size:13px;color:#166534;line-height:1.6;}
.pay-issued-box .pi-info strong{font-weight:700;}
.pay-issued-box .pi-info .pi-id{font-size:11.5px;color:#15803D;display:block;margin-top:2px;}
.pay-issued-box .pi-status{font-size:11px;font-weight:600;padding:3px 9px;border-radius:10px;background:#fff;color:#16A34A;border:1px solid #BBF7D0;}
.pay-issued-box .pi-status.paid{background:#16A34A;color:#fff;}
.pay-issued-box .pi-status.discarded{background:#F3F4F6;color:#6B7280;border-color:#E5E7EB;}
.pay-issued-box .pi-actions{display:flex;gap:6px;}
.pay-issued-box .pi-actions a,
.pay-issued-box .pi-actions button{padding:6px 12px;font-size:12px;border-radius:4px;text-decoration:none;border:1px solid #BBF7D0;background:#fff;color:#166534;font-family:inherit;cursor:pointer;}
.pay-issued-box .pi-actions a:hover,
.pay-issued-box .pi-actions button:hover{background:#16A34A;color:#fff;}

/* =============================================================
   관리자 전용 도구 — 손님 view에서 관리자 로그인 시 노출
   ============================================================= */
.admin-only{display:none !important;}
body.is-admin .admin-only{display:inline-flex !important;}
body.is-admin .admin-only.block{display:block !important;}
body.is-admin .admin-only.flex{display:flex !important;}

/* 손님 시점 미리보기 배너 — 관리자가 미리보기 모드일 때 상단 고정 */
.customer-preview-banner{display:none;}
body.customer-preview-mode .customer-preview-banner{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  position:sticky;top:0;z-index:1000;
  padding:10px 18px;background:#1F2937;color:#fff;font-size:12.5px;
  box-shadow:0 2px 6px rgba(0,0,0,0.15);
}
.customer-preview-banner button{
  padding:6px 14px;font-size:12px;border:1px solid #4B5563;
  background:#374151;color:#fff;border-radius:4px;cursor:pointer;font-family:inherit;
}
.customer-preview-banner button:hover{background:#4B5563;}

/* 손님 view 상단/답변 영역에 붙는 관리자 도구바 */
.board-admin-bar{
  align-items:center;gap:6px;padding:8px 12px;margin-bottom:10px;
  background:#FEF3C7;border:1px solid #FCD34D;border-radius:6px;
  font-size:12.5px;color:#92400E;
}
.board-admin-bar .label{font-weight:700;margin-right:6px;}
.board-admin-bar a,.board-admin-bar button{
  padding:5px 12px;font-size:12px;border:1px solid #FCD34D;background:#fff;
  color:#92400E;border-radius:4px;text-decoration:none;font-family:inherit;cursor:pointer;
}
.board-admin-bar a:hover,.board-admin-bar button:hover{background:#FCD34D;color:#78350F;}
.board-admin-bar .spacer{flex:1;}

/* 인쇄용 견적서 클론 컨테이너 */
#print-container{display:none;}
@media print{
  @page{size:A4 portrait;margin:10mm 12mm;}
  body{background:#fff !important;margin:0 !important;padding:0 !important;}
  body > *:not(#print-container){display:none !important;}
  #print-container{display:block !important;}
  #print-container .quote-doc{border:none !important;margin:0 !important;padding:0 !important;max-width:none !important;font-size:11.5px !important;line-height:1.8 !important;}
  #print-container .quote-doc .quote-logo{width:44px;height:44px;}
  #print-container .quote-doc .quote-brand{font-size:16px;}
  #print-container .quote-doc h2.title{font-size:26px;letter-spacing:8px;}
  #print-container .quote-doc table.items{display:table !important;overflow:visible !important;white-space:normal !important;}
  #print-container .quote-doc table.items th,#print-container .quote-doc table.items td{padding:6px 8px;font-size:11.5px;line-height:1.7;}
}

/* =============================================================
   손님 공지 팝업 — 유연 틀 (이미지+글 자유 조합)
   관리자 설정(제목·내용·사진·링크·ALT·위치·크기·기간)을 이 틀에 적용
   - 이미지만=전체이미지형 / 글만=글형 / 둘 다=혼합형
   - 닫기 조작은 항상 하단 바(이미지와 무관하게 동작)
   ============================================================= */
.site-popup-overlay{position:fixed;inset:0;z-index:9998;display:none;pointer-events:none;}   /* 페이지 클릭 막지 않음 — 손님이 사이트 계속 사용 가능 */
.site-popup-overlay.open{display:block;}
.site-popup{position:absolute;pointer-events:auto;width:500px;max-width:92vw;max-height:84vh;display:flex;flex-direction:column;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 16px 44px rgba(0,0,0,0.30);}
/* 크기 */
.site-popup.size-400{width:400px;}
.site-popup.size-500{width:500px;}
.site-popup.size-600{width:600px;}
/* 위치 — 모서리는 브라우저 끝에서 60px */
.site-popup.pos-center{top:50%;left:50%;transform:translate(-50%,-50%);}
.site-popup.pos-tl{top:60px;left:60px;}
.site-popup.pos-tr{top:60px;right:60px;}
.site-popup.pos-bl{bottom:60px;left:60px;}
.site-popup.pos-br{bottom:60px;right:60px;}
/* 본문(이미지+글) — 길면 이 영역만 스크롤, 하단 바는 항상 보임 */
.site-popup .sp-content{overflow-y:auto;}
.site-popup .sp-image-link{display:block;font-size:0;}
.site-popup .sp-image-link img{display:block;width:100%;height:auto;}
.site-popup .sp-text{padding:18px 20px;}
.site-popup .sp-text .sp-title{font-size:17px;font-weight:700;color:var(--brand);line-height:1.4;margin-bottom:10px;}
.site-popup .sp-text .sp-body{font-size:14px;color:var(--text);line-height:1.75;}
.site-popup .sp-text .sp-body p{margin:0 0 8px;}
.site-popup .sp-text .sp-body ul{margin:8px 0;padding-left:20px;list-style:disc;}
.site-popup .sp-text .sp-body li{margin:4px 0;}
.site-popup .sp-text .sp-body strong{font-weight:700;}
/* 하단 바 — 이미지/글과 무관하게 항상 동작 */
.site-popup .sp-foot{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-top:1px solid var(--line);background:#fff;}
.site-popup .sp-foot .sp-dismiss{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-sub);font-size:12.5px;cursor:pointer;font-family:inherit;}
.site-popup .sp-foot .sp-dismiss input{margin:0;cursor:pointer;}
.site-popup .sp-foot .sp-closebtn{background:none;border:none;color:var(--brand);font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit;padding:4px;}
.site-popup .sp-foot .sp-closebtn:hover{text-decoration:underline;}
/* 모바일 — 위치 무시하고 하단 중앙 시트로 */
@media(max-width:640px){
  .site-popup{width:92vw!important;left:50%!important;right:auto!important;top:auto!important;bottom:16px!important;transform:translateX(-50%)!important;max-height:88vh;}
}

/* ====================================================
   공통 페이징 (관리자 목록 공용 — 2026-05-25)
   ==================================================== */
.pagination{display:flex;justify-content:center;align-items:center;gap:4px;margin:22px 0;flex-wrap:wrap;}
.pagination a,.pagination strong,.pagination .dots{min-width:34px;height:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;border-radius:6px;text-decoration:none;box-sizing:border-box;}
.pagination a{color:#374151;border:1px solid #D1D5DB;background:#fff;}
.pagination a:hover{border-color:var(--brand);color:var(--brand);}
.pagination strong.current{background:var(--brand);color:#fff;border:1px solid var(--brand);font-weight:700;}
.pagination .dots{color:var(--text-sub);border:0;background:none;}

/* ---------------------------------------------------------------
   CNC 견적계산기 모달 — 본창 위 iframe 레이어 (services/cnc/index.php)
   --------------------------------------------------------------- */
.calc-modal-overlay{position:fixed;inset:0;background:rgba(17,24,39,0.55);display:none;align-items:center;justify-content:center;z-index:9999;padding:14px;}
.calc-modal-overlay.open{display:flex;}
.calc-modal{background:#fff;border-radius:10px;width:96%;max-width:820px;height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,0.25);}
.calc-modal-head{padding:10px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:#fafaf8;flex-shrink:0;}
.calc-modal-title{font-size:13px;font-weight:500;color:#1a1a1a;}
.calc-modal-close{background:none;border:none;font-size:18px;color:#666;cursor:pointer;line-height:1;padding:4px 8px;}
.calc-modal-close:hover{color:#1a1a1a;}
.calc-modal-iframe{flex:1;width:100%;border:0;background:#f8f8f6;}

/* =============================================================
   메뉴 관리(admin/settings/menu.php) — 작은 인라인 버튼 호버 분별성
   인라인 style 사용 중이라 :hover에 !important 필요
   ============================================================= */
.admin-panel form button{transition:all 0.12s;}
.admin-panel form button:hover{
  background:#F9FAFB !important;
  box-shadow:0 1px 3px rgba(0,0,0,0.08);
  transform:translateY(-1px);
}
.admin-panel form button[value="rename"]:hover{
  border-color:var(--brand) !important; color:var(--brand) !important; background:#F0F7F2 !important;
}
.admin-panel form button[value="delete"]:hover{
  background:#FEF2F2 !important; border-color:#FCA5A5 !important; color:#B91C1C !important;
}
.admin-panel form button[value="up"]:hover,
.admin-panel form button[value="down"]:hover{
  background:#EEF2F7 !important; border-color:#94A3B8 !important; color:#334155 !important;
}
.admin-panel form button[value="toggle"]:hover{
  background:#ECFDF5 !important; border-color:#10B981 !important;
}

/* 메뉴 관리 — 행(form.cat-row) 호버 강조. 상품명과 버튼이 멀어 시선 추적 보조 */
.cat-row{
  border-radius:5px; transition:background 0.12s;
  padding-left:6px; padding-right:6px; margin-left:-6px; margin-right:-6px;
}
.cat-row:hover{background:#FFF7DC;}
