/* 신화당제과 × Cozastore 커스텀 오버라이드 */
body, .stext-101, .stext-102, .stext-103, .stext-104, .stext-105, .stext-106,
.stext-107, .stext-108, .stext-109, .stext-110, .stext-111, .stext-112, .stext-113,
.mtext-101, .mtext-102, .mtext-103, .mtext-104, .mtext-105, .mtext-106, .mtext-107,
.mtext-108, .mtext-109, .ltext-101, .ltext-102, .ltext-103, .ltext-104, .ltext-105,
.ltext-106, .ltext-107, .ltext-108, input, textarea, select, button {
  font-family: 'Noto Sans KR', 'Poppins', sans-serif !important;
}
.ltext-101, .ltext-102, .ltext-103, .mtext-105, .mtext-106,
.page-title-shd .ltext-101, .serif {
  font-family: 'Noto Serif KR', serif !important;
  letter-spacing: -0.02em;
}

/* 로고 크기 */
.logo img { height: 44px; width: auto; }
.logo-mobile img { height: 34px; width: auto; }

/* 포인트 컬러: 파랑 → 캐러멜 */
.bg1 { background-color: #a86f1f !important; }
.hov-btn1:hover { background-color: #8a5a17 !important; border-color: #8a5a17 !important; }
.cl1 { color: #a86f1f !important; }
.hov-cl1:hover { color: #a86f1f !important; }
.hov-btn2:hover { background-color: #a86f1f !important; border-color: #a86f1f !important; }
.active-menu > a { color: #a86f1f !important; }
.rs1::after, .label1::after { background-color: #c0392b !important; }

/* 페이지 타이틀 배너 (패션 사진 대신 브랜드 그라데이션) */
.page-title-shd {
  background: linear-gradient(135deg, #2b1d12 0%, #4a3220 60%, #6b4a26 100%);
  position: relative; overflow: hidden;
}
.page-title-shd::after {
  content: ""; position: absolute; right: -60px; top: 50%;
  width: 280px; height: 280px; transform: translateY(-50%);
  background: url('../images/logo-emblem.png') center/contain no-repeat;
  opacity: .12; border-radius: 50%;
}
.page-title-shd .ltext-101 { color: #fff; }
.page-title-shd .stext-109 { color: #e8d9bd; }
.page-title-shd .stext-109 a { color: #e8d9bd; }

/* 슬라이더 한글 캡션 */
.slide-caption-kr .ltext-101 { font-size: 52px; line-height: 1.25; }
.slide-caption-kr .ltext-201 {
  font-family: 'Noto Sans KR', sans-serif; font-size: 17px; color: #4a3226;
}

/* 상품 카드 */
.block2 .block2-txt .stext-104 { font-weight: 700; }
.price-won { color: #a86f1f; font-weight: 700; }
.badge-rec {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  background: #a86f1f; color: #fff; font-size: 12px; font-weight: 700;
  padding: 4px 12px; border-radius: 999px;
}
.qadd-btn {
  width: 100%; border: 1px solid #e6e6e6; background: #fff;
  padding: 10px; font-size: 13px; font-weight: 700; cursor: pointer;
  transition: all .3s;
}
.qadd-btn:hover { background: #a86f1f; border-color: #a86f1f; color: #fff; }

/* 상품평 */
.review-card { border: 1px solid #e6e6e6; border-radius: 8px; padding: 18px; margin-bottom: 14px; }
.review-card .stars { color: #f9ba48; letter-spacing: 2px; }
.stars { color: #f9ba48; }

/* 폼 공통 */
.shd-form label { display: block; font-weight: 700; margin: 14px 0 6px; }
.shd-form input, .shd-form textarea, .shd-form select {
  width: 100%; border: 1px solid #e6e6e6; border-radius: 6px;
  padding: 12px 14px; font-size: 14px; font-family: inherit;
}
.shd-form input:focus, .shd-form textarea:focus { border-color: #a86f1f; outline: none; }

/* 단계 표시 */
.shd-steps { display: flex; gap: 8px; margin: 20px 0 30px; }
.shd-steps .st {
  flex: 1; text-align: center; padding: 12px; background: #f5f5f5;
  border-radius: 8px; font-weight: 700; color: #999; font-size: 14px;
}
.shd-steps .st.on { background: #2b1d12; color: #fff; }

/* 연혁 타임라인 */
.timeline { position: relative; margin: 30px 0; padding-left: 26px; }
.timeline::before {
  content: ""; position: absolute; left: 8px; top: 6px; bottom: 6px;
  width: 2px; background: #e8d9bd;
}
.tl-item { position: relative; padding: 0 0 28px 18px; }
.tl-item::before {
  content: ""; position: absolute; left: -24px; top: 6px;
  width: 12px; height: 12px; border-radius: 50%;
  background: #a86f1f; border: 3px solid #fff;
  box-shadow: 0 0 0 2px #a86f1f;
}
.tl-item .yr { font-family: 'Noto Serif KR', serif; font-weight: 900; font-size: 22px; color: #2b1d12; }
.tl-item .tt { font-weight: 700; margin-top: 2px; }
.tl-item .ds { color: #888; font-size: 14px; }

/* 인증 밴드 */
.cert-band {
  display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;
  background: #2b1d12; border-radius: 12px; padding: 26px 18px; margin: 10px 0;
}
.cert-band .cert { text-align: center; color: #e8d9bd; padding: 0 22px; }
.cert-band .cert b { display: block; font-size: 20px; color: #f9ba48; }

/* 관리자 테이블 */
.adm-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.adm-table th, .adm-table td { border: 1px solid #e6e6e6; padding: 10px; text-align: left; }
.adm-table th { background: #f9f9f9; }

@media (max-width: 767px) {
  .slide-caption-kr .ltext-101 { font-size: 34px; }
  .logo img { height: 36px; }
}

/* ============ 시각 결함 수정 (2026-10-07 QA) ============ */

/* 결함 2: 히어로 슬라이더 텍스트 가독성 — 다크 그라데이션 오버레이 + 흰 텍스트 */
.item-slick1 { position: relative; max-height: 760px; }
.item-slick1::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(24,14,7,.78) 0%, rgba(24,14,7,.42) 48%, rgba(24,14,7,.06) 78%);
}
.item-slick1 .container { position: relative; z-index: 2; }
.slide-caption-kr .ltext-101 {
  color: #fff !important; text-shadow: 0 2px 16px rgba(0,0,0,.65);
}
.slide-caption-kr .ltext-201 {
  color: #f3e7cf !important; text-shadow: 0 1px 10px rgba(0,0,0,.6);
}

/* 결함 3: 고정 헤더(124px)와 겹치는 페이지 타이틀 배너 */
@media (min-width: 992px) {
  .page-title-shd { padding-top: 164px !important; }
  .sec-product-detail { padding-top: 150px !important; }
}

/* 결함 4: 카테고리 필터 링크 가독성 */
.filter-tope-group a.stext-106 { color: #2B1D12 !important; font-weight: 600; }
.filter-tope-group a.how-active1 {
  color: #a86f1f !important; border-bottom: 2px solid #a86f1f;
}

/* 상품 이미지 크기 제한 — 어떤 이미지도 비율이 깨지거나 화면을 압도하지 않게 */
.block2-pic img {
  width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block;
}
.sec-banner .block1.wrap-pic-w img {
  width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block;
}
.sec-product-detail .wrap-pic-w img {
  width: 100%; max-height: 560px; object-fit: cover; display: block;
}
