/* ==========================================================================
   FEEDUS - Page-Specific Styles (Consolidated from WPCode)

   이 파일은 WPCode에 흩어져 있던 CSS 스니펫을 하나로 통합한 것입니다.
   feedus-global.css의 CSS 변수를 사용합니다.

   색상을 바꾸려면 feedus-global.css의 :root 변수만 수정하세요:
   --feedus-primary: #007D51;

   목차:
   1. FONT LOADING
   2. HEADER
   3. MAIN PAGE (HOME)
   4. SHOP PAGE
   5. SINGLE PRODUCT - Gallery
   6. SINGLE PRODUCT - Variations & Add to Cart
   7. CART PAGE
   8. CHECKOUT PAGE
   9. CHECKOUT - Invoice/Receipt
   10. THANK YOU PAGE
   11. MY ACCOUNT - Navigation & Layout
   12. MY ACCOUNT - Address Edit
   13. MY ACCOUNT - Login/Register
   14. KAKAO MAP (배송 권역)
   15. TABLEPRESS
   16. FOOTER
   ========================================================================== */


/* ==========================================================================
   1. FONT LOADING (WPCode id:16)
   ========================================================================== */

.wf-loading * {
  opacity: 0;
}

.wf-active *,
.wf-inactive * {
  opacity: 1;
  transition: opacity 0.3s ease;
}


/* ==========================================================================
   2. HEADER (WPCode id:390)
   ========================================================================== */

/* 메인 첫 화면용 큰 hero 로고 - fade in/out 보강
   (Bricks code 엘리먼트의 transition이 적용 안 되는 케이스 대응)
   display:none → block 전환 시 transition이 무시되는 문제를 visibility 로 해결 */
.feedus-hero-logo {
  display: block !important;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.5s ease-out, visibility 0s linear 0.5s;
}

body.home .feedus-hero-logo {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.5s ease-out, visibility 0s linear 0s;
}

body.home.feedus-scrolled .feedus-hero-logo,
body.feedus-menu-open .feedus-hero-logo {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.5s ease-out, visibility 0s linear 0.5s;
}

.feedus-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--feedus-header-height, 70px);
  z-index: var(--feedus-z-header, 1001);
  background-color: var(--feedus-white, #fff);
  transform: translateZ(0);
  font-weight: var(--fw-medium);
}

/* iOS Safari URL 바 접힘/펼침 때 fixed 헤더가 transform 트랜지션으로 잘려보이는 현상 방지 —
   글로벌 CSS 의 transition: transform 0.3s 를 무력화하고 background-color 만 남김 */
header,
#brx-header,
.feedus-header,
.brxe-section.feedus-header {
  transition: background-color var(--feedus-duration-medium, 0.3s) ease !important;
  will-change: auto;
}

.feedus-header *,
.feedus-mobile-menu * {
  font-weight: var(--fw-medium);
}


.feedus-header__row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  height: 100%;
  padding: 0 var(--feedus-container-padding);
  width: 100%;
}

.feedus-header__logo {
  flex: 0 0 auto;
}

.feedus-header__logo a {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.feedus-header__logo img {
  height: auto;
  max-height: 22px;
  width: auto;
  max-width: calc(100vw / 3 - var(--feedus-container-padding));
}

@media screen and (min-width: 768px) {
  .feedus-header__logo img {
    max-height: 28px;
    max-width: none;
  }
}

@media screen and (min-width: 1200px) {
  .feedus-header__logo img {
    max-height: 35px;
  }
}

.feedus-header__menu {
  display: none;
  flex: 1 1 auto;
  justify-content: center;
}

.feedus-header__menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  flex-wrap: nowrap;
}

.feedus-header__menu li,
.feedus-mobile-menu li {
  margin: 0 !important;
}

.feedus-header__menu li a {
  display: block;
  padding: var(--space-xs) 15px;
  color: var(--feedus-black);
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.feedus-header__menu li a:hover {
  color: var(--feedus-primary-hover);
}

@media screen and (min-width: 768px) {
  .feedus-header__menu {
    display: flex;
  }
}

.feedus-header__actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 15px;
  margin-left: auto;
}

.feedus-header__account {
  color: var(--feedus-black);
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.feedus-header__account:hover {
  color: var(--feedus-primary-hover);
}

.feedus-header__cart {
  display: flex;
  align-items: center;
  color: var(--feedus-black);
  text-decoration: none;
  position: relative;
  transition: color 0.2s ease;
}

.feedus-header__cart:hover {
  color: var(--feedus-primary-hover);
}

.feedus-header__cart svg {
  display: block;
  width: 22px;
  height: 22px;
}

.feedus-header__cart-count {
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: var(--radius-circle);
  background-color: var(--feedus-primary);
  color: var(--feedus-white, #fff);
  font-size: 0.65rem;
  font-weight: var(--fw-semibold);
  line-height: 1;
  position: absolute;
  top: -5px;
  right: -8px;
}

.feedus-header__cart-count.show {
  display: flex;
}

.feedus-header__toggle {
  display: none;
  align-items: center !important;
  justify-content: center !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  margin-left: 5px !important;
  color: var(--feedus-primary) !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  box-shadow: none !important;
  outline: none !important;
}

/* NOTE: SVG data URIs cannot use CSS variables - hardcoded %23007D51 is intentional */
.feedus-header__toggle-icon {
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26' fill='none' stroke='%23007D51' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='3' y1='6' x2='23' y2='6'/%3E%3Cline x1='3' y1='13' x2='23' y2='13'/%3E%3Cline x1='3' y1='20' x2='23' y2='20'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}

.feedus-header__toggle-icon span,
.feedus-header__toggle-icon > * {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  width: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  border: none !important;
}

/* NOTE: SVG data URI - hardcoded %23007D51 is intentional */
.feedus-header__toggle.active .feedus-header__toggle-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26' fill='none' stroke='%23007D51' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='5' y1='5' x2='21' y2='21'/%3E%3Cline x1='21' y1='5' x2='5' y2='21'/%3E%3C/svg%3E");
}

@media screen and (max-width: 767px) {
  .feedus-header__toggle {
    display: flex;
  }
}

.feedus-mobile-menu {
  display: none;
  position: fixed;
  top: var(--feedus-header-height, 70px);
  left: 0;
  width: 100%;
  background-color: var(--feedus-white, #fff);
  z-index: calc(var(--feedus-z-header, 1001) - 1);
  transform: translateY(-100%);
  opacity: 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
  pointer-events: none;
}

.feedus-mobile-menu.open {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.feedus-mobile-menu ul {
  list-style: none;
  margin: 0;
  padding: var(--space-xs) var(--feedus-container-padding);
}

.feedus-mobile-menu a {
  display: block;
  padding: var(--space-sm-plus) 0;
  color: var(--feedus-black);
  font-family: var(--feedus-font-body);
  font-size: 22px;
  font-weight: var(--fw-bold) !important;
  text-decoration: none;
}

.feedus-mobile-menu a:hover {
  color: var(--feedus-primary-hover);
}

@media screen and (max-width: 767px) {
  .feedus-mobile-menu {
    display: block;
  }
}

.feedus-mobile-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: calc(var(--feedus-z-header, 1001) - 2);
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.feedus-mobile-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

@media screen and (max-width: 767px) {
  .feedus-mobile-overlay {
    display: block;
  }
}


/* ==========================================================================
   3. MAIN PAGE - HOME (WPCode id:496)
   ========================================================================== */

/* ==========================================================================
   FEEDUS - 메인 페이지 (HOME) 전용 스타일
   Bricks Builder 요소별 ID 스타일 + 메인 페이지 레이아웃
   ========================================================================== */

/* --------------------------------------------------------------------------
   기본 정렬 — 메인의 모든 섹션 컨테이너 안 자식들을 가로 가운데로.
   Bricks 컨테이너는 flex column 이 기본이므로 align-items 로 가운데 정렬됨.
   필요한 섹션은 개별 ID 규칙에서 align-items / text-align 을 덮어쓰면 됨.
   -------------------------------------------------------------------------- */
body.home .brxe-container {
  align-items: center;
  text-align: center;
}

/* --------------------------------------------------------------------------
   0. 히어로 슬라이더 섹션 (#brxe-qjjeju)
   풀너비 + 좌우 작은 여백, 상/하 패딩 제거
   -------------------------------------------------------------------------- */
#brxe-qjjeju {
  /* 데스크톱:
     - vw가 컨테이너 max(1320) + 기본패딩 이내일 땐 기본 패딩(32px) 사용 → 배너=컨텐츠 폭
     - vw가 충분히 크면 (vw - 1320) / 2 까지 패딩 확장 → 배너 안쪽 = 컨텐츠 정렬
     - 최대 96px까지만 확장 → 그 이상 화면에선 배너가 컨텐츠보다 더 넓어짐
     덕분에 모든 폭에서 배너 ≥ 아래 컨텐츠 폭이 보장됩니다. */
  padding-top: 0;
  padding-bottom: 0;
  padding-left: clamp(
    var(--feedus-container-pad-desktop),
    calc((100vw - var(--feedus-container-max)) / 2),
    96px
  );
  padding-right: clamp(
    var(--feedus-container-pad-desktop),
    calc((100vw - var(--feedus-container-max)) / 2),
    96px
  );
}

@media (max-width: 991px) {
  #brxe-qjjeju {
    padding: 0 var(--feedus-container-pad-tablet);
  }
}

@media (max-width: 767px) {
  #brxe-qjjeju {
    padding: 0 var(--feedus-container-pad-mobile);
  }
}

#brxe-wxogub {
  max-width: 100%;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

#brxe-ejelvq {
  border-radius: 20px;
  overflow: hidden;
}

/* 슬라이드 위 블랙 딤 오버레이 (40%) - 텍스트 가독성 */
#brxe-ejelvq .splide__slide {
  position: relative;
}

#brxe-ejelvq .splide__slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  pointer-events: none;
  z-index: 1;
}

#brxe-ejelvq .splide__slide > * {
  position: relative;
  z-index: 2;
}

/* 슬라이드 내부 텍스트 - 흰색 */
#brxe-ejelvq .splide__slide .brxe-heading {
  color: var(--feedus-white);
}

/* 슬라이드 내부 버튼 - 보더 제거, 흰색 글씨, primary 배경 */
#brxe-ejelvq .splide__slide .brxe-button {
  background-color: var(--feedus-primary);
  color: var(--feedus-white);
  border: none;
}

/* 페이지네이션 숨김 */
#brxe-ejelvq .splide__pagination {
  display: none;
}

/* 슬라이드 내부 정렬 - 세로 컬럼 + 글로벌 간격 토큰 + 내부 패딩
   모바일 위/아래 패딩은 가로(24px) 대비 80px 로 크게 확장 */
#brxe-ejelvq .splide__slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--space-lg);
  padding: 56px var(--space-xl);
  min-height: calc(50vh + 40px);
}

/* 히로 메인 버튼 (먹이 보러 가기) */
#brxe-ublmsk {
  margin-bottom: 0;
  align-self: center;
  position: static !important;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  #brxe-ejelvq .splide__slide {
    padding: var(--space-2xl);
    min-height: 0;
  }
}

@media (min-width: 992px) {
  #brxe-ejelvq .splide__slide {
    gap: var(--space-2xl);
    padding: var(--space-3xl);
  }
}

/* 타이틀 SVG 전환:
   - 가로형 뷰포트(PC/태블릿 가로): 위쪽 가로형 SVG (#brxe-nvjbmn) 노출
   - 세로~정사각 뷰포트(모바일): 아래쪽 세로형 SVG (#brxe-ptaovu) 노출 */
#brxe-ejelvq .splide__slide #brxe-ptaovu {
  display: none;
}

@media (max-width: 767px) {
  #brxe-ejelvq .splide__slide #brxe-nvjbmn {
    display: none;
  }
  #brxe-ejelvq .splide__slide #brxe-ptaovu {
    display: block;
  }
}

/* 모바일 + 태블릿: 히로 타이틀 SVG 80% 축소 — width 로 줄여야 레이아웃 공간도 줄어듦 */
@media (max-width: 991px) {
  #brxe-ejelvq .splide__slide #brxe-nvjbmn,
  #brxe-ejelvq .splide__slide #brxe-ptaovu {
    width: 80%;
    max-width: 344px;
    height: auto;
  }
}

/* --------------------------------------------------------------------------
   1. 히어로 섹션 (#brxe-kejsix)
   -------------------------------------------------------------------------- */
#brxe-neasfq {
  font-weight: var(--fw-medium);
  font-size: clamp(32px, 5vw, 48px);
  line-height: 126%;
  letter-spacing: -0.05em;
}

@media (max-width: 991px) {
  #brxe-neasfq {
    padding-right: 5px;
  }
}

@media (max-width: 767px) {
  #brxe-neasfq {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

@media (max-width: 478px) {
  #brxe-neasfq {
    font-weight: var(--fw-medium);
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

#brxe-ewaoqp {
  justify-content: center;
  padding-top: 0;
  padding-right: 135px;
  padding-bottom: 0;
}

@media (max-width: 991px) {
  #brxe-ewaoqp {
    padding-right: 0;
  }
}

#brxe-lamirm {
  width: 100%;
}

#brxe-decwhj {
  padding-top: 0;
  padding-bottom: 0;
}

#brxe-mqmpiu {
  display: grid;
  align-items: initial;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 80px;
  padding-bottom: 40px;
}

@media (max-width: 767px) {
  #brxe-mqmpiu {
    grid-template-columns: 1fr;
    padding-top: 40px;
  }
}

@media (max-width: 478px) {
  #brxe-mqmpiu {
    grid-template-columns: 1fr;
  }
}

#brxe-kejsix {
  width: 100%;
}

/* --------------------------------------------------------------------------
   2. 구분선 (divider)
   -------------------------------------------------------------------------- */
/* 구분선 공통: 헤더 하단 라인과 동일한 좌우 여백 */
#brxe-vqojzv,
#brxe-qytliq,
#brxe-nhjovq {
  margin: 0;
  padding-right: var(--feedus-container-padding) !important;
  padding-left: var(--feedus-container-padding) !important;
  width: auto !important;
}

#brxe-vqojzv.horizontal .line,
#brxe-qytliq.horizontal .line,
#brxe-nhjovq.horizontal .line {
  border-top-color: var(--feedus-black);
}

#brxe-vqojzv.vertical .line,
#brxe-qytliq.vertical .line,
#brxe-nhjovq.vertical .line {
  border-right-color: var(--feedus-black);
}

#brxe-vqojzv .icon,
#brxe-qytliq .icon,
#brxe-nhjovq .icon {
  color: var(--feedus-black);
}

/* --------------------------------------------------------------------------
   3. 상품 그리드 섹션 (#brxe-uiibcg)
   5개 제품 - 데스크톱 5열 / 태블릿 3열 / 모바일 2열
   -------------------------------------------------------------------------- */

/* 모바일: 2열 강제 고정 (feedus-global.css .brx-grid 1fr 규칙 덮어쓰기) */
@media screen and (max-width: 767px) {
  #brxe-uiibcg.brxe-container.brx-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* 상품 카드 (query loop) */
.brxe-mwshww .brxe-ugrzrp.brxe-block {
  background-size: cover;
  background-blend-mode: normal;
  background-position: center center;
  border-radius: var(--radius);
  overflow: hidden;
  aspect-ratio: 1/1;
  margin: 0;
  padding: 0;
}

.brxe-mwshww .brxe-bfaamr.brxe-product-title {
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .brxe-mwshww .brxe-bfaamr.brxe-product-title {
    font-weight: var(--fw-semibold);
  }
}

.brxe-mwshww .brxe-kelcgg.brxe-text-basic {
  font-size: var(--fs-body);
}

.brxe-mwshww .brxe-didsti.brxe-block {
  display: flex;
}

.brxe-mwshww .brxe-ywvarv.brxe-block {
  padding: 0 !important;
  row-gap: var(--space-md);
  margin: 0 !important;
}

.brxe-mwshww.brxe-block {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
}

#brxe-qaiscy {
  width: 100%;
}

/* --------------------------------------------------------------------------
   4. Why Feedus 섹션
   -------------------------------------------------------------------------- */
#brxe-ycsqzb {
  font-size: clamp(26px, 4.5vw, 38px);
  padding-bottom: 6px;
}

#brxe-jmftnc {
  padding-right: 210px;
}

@media (max-width: 991px) {
  #brxe-jmftnc {
    padding-right: 0;
  }
}

#brxe-ytpsao {
  justify-content: center;
  row-gap: var(--space-lg);
}

#brxe-ogxgky {
  width: 100%;
}

#brxe-fpwmea {
  display: grid;
  align-items: initial;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin-top: 10px;
}

@media (max-width: 991px) {
  #brxe-fpwmea {
    gap: var(--space-2xl);
  }
}

@media (max-width: 767px) {
  #brxe-fpwmea {
    grid-template-columns: 1fr;
    gap: var(--space-3xl);
  }
}

/* --------------------------------------------------------------------------
   5. Our Farm 섹션
   -------------------------------------------------------------------------- */
#brxe-sgzvtt {
  width: 100%;
}

#brxe-rvmtuf {
  font-size: clamp(26px, 4.5vw, 38px);
  padding-bottom: 6px;
}

#brxe-emqpbt {
  justify-content: center;
  row-gap: var(--space-lg);
  padding-right: 70px;
  padding-left: 70px;
}

@media (max-width: 991px) {
  #brxe-emqpbt {
    padding-right: 0;
    padding-left: 15px;
  }
}

#brxe-somkle {
  display: grid;
  align-items: initial;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-lg);
}

@media (max-width: 991px) {
  #brxe-somkle {
    gap: var(--space-2xl);
  }
}

@media (max-width: 767px) {
  #brxe-somkle {
    grid-template-columns: 1fr;
    gap: var(--space-3xl);
  }

  /* 모바일: 문구를 이미지 위로 (이미지가 DOM에서 먼저지만 아래로) */
  #brxe-japcqb {
    order: 2;
  }

  #brxe-emqpbt {
    order: 1;
  }
}

@media (max-width: 478px) {
  #brxe-somkle {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   메인 히어로 아래 섹션 h2 — 기본보다 약간 작고 bold
   (히어로 #brxe-qjjeju 는 SVG 로고라 영향 없음)
   -------------------------------------------------------------------------- */
body.home section.brxe-section h2,
body.home section.brxe-section .brxe-heading[data-tag="h2"] {
  font-size: 22px;
  font-weight: var(--fw-bold);
}

@media screen and (min-width: 768px) {
  body.home section.brxe-section h2,
  body.home section.brxe-section .brxe-heading[data-tag="h2"] {
    font-size: 26px;
  }
}

@media screen and (min-width: 1200px) {
  body.home section.brxe-section h2,
  body.home section.brxe-section .brxe-heading[data-tag="h2"] {
    font-size: 30px;
  }
}

/* --------------------------------------------------------------------------
   "모든 상품 직배송" 섹션 — 위아래 패딩 확장 (아래가 10px 더 넓음)
   -------------------------------------------------------------------------- */
#brxe-xkebxu {
  padding-top: 48px;
  padding-bottom: 56px;
}

/* 모바일: 이 섹션만 좌우 패딩 26px (기본 16px override) */
@media (max-width: 767px) {
  #brxe-xkebxu > .brxe-container {
    padding-left: 26px;
    padding-right: 26px;
  }
}

@media screen and (min-width: 768px) {
  #brxe-xkebxu {
    padding-top: 64px;
    padding-bottom: 72px;
  }
}

@media screen and (min-width: 1200px) {
  #brxe-xkebxu {
    padding-top: 80px;
    padding-bottom: 100px;
  }
}

/* --------------------------------------------------------------------------
   "모든 상품 직배송" 섹션 — 베이지 배경 + 월/수/금 카드
   - 데스크톱(≥1200): 3열 가로 정렬
   - 태블릿/모바일: 세로 스택
   - 카드 흰색 배경 + 글로벌 radius + 패딩, 텍스트 가운데, h3/h6/p 사이 gap
   - 요일별 컬러 (월=블루 / 수=오렌지 / 금=퍼플) — feedus-map.js 의 DELIVERY_COLORS 와 일치
   -------------------------------------------------------------------------- */
#brxe-xkebxu {
  background-color: var(--feedus-bg-beige);
}

/* 가로/세로 갭 분리:
   - 세로 (row) gap: 카드 ↔ 카드 사이 (모바일은 10px)
   - h2 → p 는 한 그룹이라 음수 margin-top 으로 갭 상쇄해 붙임
*/
#brxe-eedxle {
  gap: 10px;
}

#brxe-eedxle > h2 {
  margin: 0 !important;
}

#brxe-eedxle > p,
#brxe-sgwhbi {
  margin: 0 !important;
  margin-bottom: 0 !important;
  font-size: 14px;
}

/* 제목 그룹(h2+p) ↔ 카드 사이 간격 보강 */
#brxe-hzlooq {
  margin-bottom: 3px !important;
}

/* h2 ↔ p 사이 간격 보강 */
#brxe-sgwhbi {
  margin-top: 2px !important;
}

/* h2 → p (한 그룹) — 갭 상쇄해 ~4px 로 붙임 */
#brxe-eedxle > h2 + p {
  margin-top: -6px !important;
}

/* 카드 — .brxe-xkptam */
#brxe-eedxle .brxe-xkptam {
  background: var(--feedus-white);
  border-radius: var(--feedus-border-radius);
  padding: var(--feedus-card-pad);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  height: 100%;
  width: 100%;
}

/* 데스크톱(가로 3열): 상하좌우 60px 동일 패딩, gap 도 카드 내부에서 약간 더 */
@media screen and (min-width: 1200px) {
  #brxe-eedxle .brxe-xkptam {
    padding: 60px;
    gap: var(--space-md);
  }
}

#brxe-eedxle .brxe-xkptam .brxe-dgxsxd {
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  letter-spacing: -0.03em;
}

#brxe-eedxle .brxe-xkptam > * {
  margin: 0 !important;
}

/* 데스크톱: 3 카드 가로 정렬 (h2, p 는 width 100% 로 위에)
   row-gap (세로) 과 column-gap (가로) 분리 */
@media screen and (min-width: 1200px) {
  #brxe-eedxle {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    row-gap: var(--space-xl);    /* 세로 24px (그룹 ↔ 카드) */
    column-gap: 10px;            /* 가로 10px (카드 ↔ 카드) */
  }
  #brxe-eedxle > h2,
  #brxe-eedxle > p {
    flex: 0 0 100%;
    width: 100%;
  }
  #brxe-eedxle > h2 + p {
    margin-top: calc(-1 * var(--space-xl) + 4px) !important;
  }
  #brxe-eedxle > .brxe-evsobw {
    flex: 1 1 0;
    display: flex;
    align-items: stretch;
  }
}

/* 요일별 글자 색 — h3(요일), h6(권역).
   #brxe-hzlooq (h2/p 그룹 wrapper) 가 첫 번째 div 라서 evsobw 들은 nth-of-type 2/3/4 */
#brxe-eedxle > .brxe-evsobw:nth-of-type(2) .brxe-edxrau,
#brxe-eedxle > .brxe-evsobw:nth-of-type(2) .brxe-hvallz {
  color: #3F7BD9;   /* 월 — 블루 */
}
#brxe-eedxle > .brxe-evsobw:nth-of-type(3) .brxe-edxrau,
#brxe-eedxle > .brxe-evsobw:nth-of-type(3) .brxe-hvallz {
  color: #ECAD41;   /* 수 — 오렌지 */
}
#brxe-eedxle > .brxe-evsobw:nth-of-type(4) .brxe-edxrau,
#brxe-eedxle > .brxe-evsobw:nth-of-type(4) .brxe-hvallz {
  color: #8963CB;   /* 금 — 퍼플 */
}

/* h3 (요일 한 글자) — 더 굵고 크게 */
#brxe-eedxle .brxe-xkptam .brxe-edxrau {
  font-weight: 800;
  font-size: 22px;
}

@media screen and (min-width: 768px) {
  #brxe-eedxle .brxe-xkptam .brxe-edxrau {
    font-size: 30px;
  }
}

@media screen and (min-width: 1200px) {
  #brxe-eedxle .brxe-xkptam .brxe-edxrau {
    font-size: 30px;
  }
}

/* --------------------------------------------------------------------------
   메인 섹션 컨테이너 — 제목과 본문 사이 간격
   - #brxe-tvsvfi : "모든 파충류 먹이를, 한 곳에서" (피드 카드)
   - #brxe-ehnzmw : "배송 가능 지역 · 일정 확인하기" (지도)
   -------------------------------------------------------------------------- */
#brxe-tvsvfi,
#brxe-ehnzmw {
  gap: var(--space-md);    /* 모바일 16px (제목 ↔ 본문) */
}

@media screen and (min-width: 1200px) {
  #brxe-tvsvfi {
    gap: var(--space-xl);  /* 데스크톱은 다시 24px */
  }
}

#brxe-whxjnh {
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   "배송 가능 지역" 섹션 — 프라이머리 배경 + 흰색 글자 (한 덩어리 블록)
   -------------------------------------------------------------------------- */
#brxe-mwljec {
  background: var(--feedus-primary);
}

#brxe-mwljec,
#brxe-mwljec .brxe-heading,
#brxe-mwljec p {
  color: var(--feedus-white);
}

/* --------------------------------------------------------------------------
   "배송 가능 지역" 검색 + 지도 wrapper (Bricks 코드 엘리먼트)
   - 섹션과 통합되는 투명 컨테이너
   - 검색 박스(상단) ↔ 지도 를 flex column 으로 스택
   - 지도 자체에 border-radius/overflow:hidden 이 있어 wrapper 클리핑 불필요
   -------------------------------------------------------------------------- */
#brxe-rjdlac {
  background: transparent;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

/* --------------------------------------------------------------------------
   "모든 파충류 먹이를…" 카드 — 가로 스크롤 / 데스크톱은 5열 그리드
   feedus-map.js 의 wrapHomeCardsForScroll() 가 .feedus-cards-scroll 로 묶음
   -------------------------------------------------------------------------- */
.feedus-cards-scroll {
  /* grid 로 가로 스크롤 — flex 보다 안정적 */
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 40%;          /* 카드 1장 폭 (≈ 2.5 장 보이게) */
  column-gap: var(--feedus-gap-mobile);
  align-self: stretch;             /* 부모 align-items:center 무력화 (좌정렬) */
  justify-self: stretch;
  text-align: left;                /* 부모 text-align:center 무력화 */
  /* 좌측: 컨테이너 패딩 유지 (흰 여백) — 음수마진 없음
     우측: 컨테이너 우측 패딩만큼 음수마진으로 화면 끝까지 bleed →
     마지막 카드가 우측에서 잘리며 스크롤 가능함을 보여줌 */
  width: calc(100% + var(--feedus-container-pad-mobile));
  margin-right: calc(-1 * var(--feedus-container-pad-mobile));
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}

.feedus-cards-scroll::-webkit-scrollbar { display: none; }

.feedus-cards-scroll > .brxe-ohhypm.brxe-block {
  margin: 0;
  padding: 0;
  scroll-snap-align: start;
  min-width: 0;
}

@media (min-width: 768px) {
  .feedus-cards-scroll {
    grid-auto-columns: 28%;         /* ≈ 3.5 장 보이게 */
    column-gap: var(--feedus-gap-tablet);
    width: calc(100% + var(--feedus-container-pad-tablet));
    margin-right: calc(-1 * var(--feedus-container-pad-tablet));
  }
}

/* 데스크톱(≥1200): 스크롤 없이 5열 균등 그리드, bleed 없음 */
@media (min-width: 1200px) {
  .feedus-cards-scroll {
    grid-auto-flow: row;
    grid-template-columns: repeat(5, 1fr);
    grid-auto-columns: auto;
    column-gap: var(--feedus-gap-desktop);
    overflow: visible;
    width: 100%;
    margin-right: 0;
  }
}

/* 카드 본체 (Bricks 가 background-image 를 인라인으로 주입) */
#brxe-tvsvfi .brxe-znphdn.brxe-block {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: var(--feedus-border-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: var(--space-md);
  background-color: var(--feedus-gray-light);
}

/* 카드 위 어두운 딤 오버레이 */
#brxe-tvsvfi .brxe-znphdn.brxe-block::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.15) 60%, rgba(0, 0, 0, 0) 100%);
  pointer-events: none;
}

#brxe-tvsvfi .brxe-znphdn .brxe-heading {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #ffffff;
  font-weight: var(--fw-bold);
  font-size: 1.15rem;
  text-align: center;
  word-break: keep-all;
}

@media (min-width: 1200px) {
  #brxe-tvsvfi .brxe-znphdn .brxe-heading {
    font-size: 1.25rem;
  }
}

/* --------------------------------------------------------------------------
   6. 서브 헤딩 공통
   -------------------------------------------------------------------------- */
.mainh3.brxe-heading {
  font-weight: var(--fw-semibold);
  font-size: var(--fs-body);
  padding-bottom: 25px;
}

/* --------------------------------------------------------------------------
   7. 푸터 요소별 ID
   -------------------------------------------------------------------------- */
#brxe-yluuer {
  font-size: var(--fs-body);
}

#brxe-aaidpv {
  font-size: var(--fs-body);
}

#brxe-ikrsxm {
  font-size: var(--fs-body);
}

#brxe-lesdmt {
  font-size: var(--fs-body);
}

.foottt.brxe-heading {
  padding-bottom: 6px;
}

@media (max-width: 767px) {
  .foottt.brxe-heading {
    padding-bottom: 0;
  }
}

#brxe-rcebel {
  padding-right: 0;
  padding-left: 0;
}

#brxe-jiqwif {
  padding-right: 0;
  padding-left: 0;
}

#brxe-ovsczc {
  padding-right: 0;
  padding-left: 0;
}

#brxe-iflabo {
  padding-right: 0;
  padding-left: 0;
}

#brxe-jtpzrp {
  display: grid;
  align-items: initial;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

@media (max-width: 767px) {
  #brxe-jtpzrp {
    grid-template-columns: 1fr;
  }
}

#brxe-qntbej {
  margin-bottom: 0;
  font-size: var(--fs-tiny) !important;   /* 12px — 푸터 본문 16px 보다 작게 */
}

#brxe-vnqsxt {
  padding-bottom: 0;
}


/* ==========================================================================
   4. SHOP PAGE (WPCode id:389)
   ========================================================================== */

/* ==========================================================================
   FEEDUS - Shop Page Styles (WooCommerce)
   ========================================================================== */

/* --------------------------------------------------------------------------
   우커머스 기본 스타일 오버라이드
   -------------------------------------------------------------------------- */
.woocommerce .button,
.woocommerce input.button,
.woocommerce a.button {
  font-family: var(--feedus-font-body);
  background-color: var(--feedus-primary);
  color: var(--feedus-white);
  border: 1px solid var(--feedus-primary);
  border-radius: var(--feedus-border-radius-pill);
  padding: var(--space-xs) var(--space-2xl);
  font-size: var(--fs-body);
  transition: all var(--feedus-duration-medium) ease;
}

.woocommerce .button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover {
  background-color: transparent;
  color: var(--feedus-primary);
}

.woocommerce .price,
.woocommerce .amount {
  color: var(--feedus-black);
  font-weight: var(--fw-semibold);
}

.woocommerce .onsale {
  background-color: var(--feedus-primary);
  color: var(--feedus-white);
  border-radius: var(--feedus-border-radius-pill);
}

/* --------------------------------------------------------------------------
   샵 페이지 상품 카드: 글로벌 라디우스 적용
   - 대상: query loop 의 product 카드 wrapper (.brxe-edyodw)
   - 자식 이미지가 모서리 밖으로 비어져 나오지 않도록 overflow:hidden
   -------------------------------------------------------------------------- */
.brxe-edyodw {
  border-radius: var(--feedus-border-radius);
  overflow: hidden;
}

/* --------------------------------------------------------------------------
   샵 페이지 상품 카드: 상품명/가격 텍스트 크기 축소 (PC/모바일 공통)
   h3.brxe-product-title 기본 크기가 과도하여 일괄 축소
   -------------------------------------------------------------------------- */
body.post-type-archive-product .brx-grid .brxe-product-title,
body.post-type-archive-product .brx-grid .product-title,
body.post-type-archive-product .brx-grid .woocommerce-loop-product__title,
body.tax-product_cat .brx-grid .brxe-product-title,
body.tax-product_cat .brx-grid .product-title,
body.tax-product_cat .brx-grid .woocommerce-loop-product__title {
  font-size: 16px !important;
  font-weight: var(--fw-semibold);
  word-break: keep-all;
  line-height: 1.3;
  margin-bottom: 4px !important;
}
body.post-type-archive-product .brx-grid .brxe-text-basic,
body.tax-product_cat .brx-grid .brxe-text-basic {
  font-size: 14px !important;
  margin-bottom: 10px !important;
}
body.post-type-archive-product .brx-grid .brxe-text-basic:empty,
body.tax-product_cat .brx-grid .brxe-text-basic:empty {
  display: none !important;
}
body.post-type-archive-product .brx-grid .brxe-product-price .price,
body.post-type-archive-product .brx-grid .brxe-product-price .price *,
body.post-type-archive-product .brx-grid .price,
body.post-type-archive-product .brx-grid .price *,
body.tax-product_cat .brx-grid .brxe-product-price .price,
body.tax-product_cat .brx-grid .brxe-product-price .price *,
body.tax-product_cat .brx-grid .price,
body.tax-product_cat .brx-grid .price * {
  font-size: 18px !important;
}

/* --------------------------------------------------------------------------
   샵 페이지 모바일: 상품 그리드 2열 유지 + 텍스트 한 단계 더 축소
   -------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  .woocommerce ul.products,
  body.post-type-archive-product .brx-grid,
  body.tax-product_cat .brx-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* 상품 카드 overflow 방지 */
  body.post-type-archive-product .brx-grid > *,
  body.tax-product_cat .brx-grid > * {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  /* 썸네일 100% 채우기 */
  body.post-type-archive-product .brx-grid img,
  body.tax-product_cat .brx-grid img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }
}


/* ==========================================================================
   4-1. SINGLE PRODUCT - Sticky right column (코오롱몰 스타일)
   ========================================================================== */

/* sticky가 작동하려면 상위 요소의 overflow가 visible이어야 함 */
@media screen and (min-width: 768px) {
  body.single-product .brxe-section,
  body.single-product .brxe-container,
  body.single-product .feedus-product-detail-grid {
    overflow: visible !important;
  }
  /* 그리드 비율 6:4 — Bricks 인라인 스타일 강제 오버라이드 */
  body.single-product .brxe-container.feedus-product-detail-grid {
    grid-template-columns: 3fr 2fr !important;
    column-gap: calc(var(--feedus-gap-desktop, 20px) * 2) !important;
  }
  /* 우측 가격 섹션 sticky */
  body.single-product .feedus-product-detail-grid > #brxe-wmxvie {
    position: sticky !important;
    top: calc(var(--feedus-header-height, 80px) + 20px) !important;
    align-self: start !important;
  }
}

/* 좌측 컬럼: 갤러리 ↔ 상세정보 사이 구분 여백 */
#brxe-zpquvr > #brxe-edyzfg {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid var(--feedus-border-color, #F4F2EF);
}
/* 상세 정보 제목 하단 여백 */
#brxe-dbpzba {
  margin-bottom: 20px;
}

/* 모바일: 이미지 → 상품정보(우측) → 상세/리뷰 순서 재배치 */
@media screen and (max-width: 767px) {
  .feedus-product-detail-grid {
    display: flex !important;
    flex-direction: column !important;
  }
  /* 좌측 컬럼·상세래퍼를 투명하게 풀어서 자식들이 직접 순서에 참여 */
  .feedus-product-detail-grid > #brxe-zpquvr {
    display: contents !important;
  }
  #brxe-edyzfg {
    display: contents !important;
  }
  /* 갤러리 → 상품정보 → 상세정보 → 리뷰 순서 */
  #brxe-bnbwkg { order: 1; }
  #brxe-wmxvie { order: 2; }
  #brxe-edyzfg > *:not(#brxe-qafngq) { order: 3; }
  #brxe-qafngq { order: 99; margin-top: 40px !important; padding-top: 24px !important; border-top: 1px solid var(--feedus-border-color, #F4F2EF); }

  /* 모바일에서 상세정보 상단 구분 여백 */
  #brxe-dbpzba {
    margin-top: 40px !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--feedus-border-color, #F4F2EF);
  }
}

/* --------------------------------------------------------------------------
   배송시스템 블록 (#brxe-bmwebk) — h3, h5, p, ul/li 스타일
   -------------------------------------------------------------------------- */
#brxe-bmwebk,
#brxe-qafngq {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid var(--feedus-border-color, #F4F2EF);
}

#brxe-bmwebk h3 {
  margin-bottom: 20px;
}

#brxe-bmwebk .brxe-apkivv {
  background-color: var(--feedus-bg-beige-lighter, #FAF9F5);
  border-radius: var(--radius, 6px);
  padding: 20px;
  margin-top: 20px;
}

#brxe-bmwebk .brxe-apkivv ul li {
  font-size: 14px;
}

#brxe-bmwebk h5 {
  font-size: 16px;
  font-weight: var(--fw-bold);
  color: #666666;
  margin-top: 0;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}

#brxe-bmwebk h5::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23d42700' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

#brxe-bmwebk p,
#brxe-bmwebk .brxe-text-basic {
  margin-bottom: 0;
  line-height: var(--lh-snug);
}

#brxe-bmwebk ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#brxe-bmwebk .brxe-vrglog ul li {
  color: var(--feedus-black);
  font-size: 16px;
}

#brxe-bmwebk ul li {
  line-height: var(--lh-tight);
  color: #666666;
  margin: 0;
  padding: 8px 0 8px 14px;
  position: relative;
}

#brxe-bmwebk ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(5px + 0.72em - 2.5px);
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: currentColor;
}

/* ==========================================================================
   5. SINGLE PRODUCT - Gallery (WPCode id:172)
   ========================================================================== */

/* ========================================
   Product Gallery - 썸네일 좌측 상단 원형 배치
   (redbrick.coffee 스타일 참고)
   ======================================== */

/* 썸네일 리스트: 좌측 상단에 세로 배치 */
/* .woocommerce-product-gallery 는 이미 position: relative */
.woocommerce-product-gallery .flex-control-thumbs {
  position: absolute;
  left: 20px;
  top: 20px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  list-style: none;
  padding: 0;
  margin: 0;
  width: auto;
}

/* 썸네일 아이템 */
.woocommerce-product-gallery .flex-control-thumbs li {
  width: 70px;
  height: 70px;
  flex-shrink: 0;
  padding: 0;
  margin: 0 !important;
}

/* 썸네일 이미지: 원형 + primary color 테두리 */
.woocommerce-product-gallery .flex-control-thumbs li img {
  width: 70px !important;
  height: 70px !important;
  border-radius: var(--radius);
  border: 1px solid var(--feedus-primary, currentColor);
  object-fit: cover;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}

/* 활성/호버 상태 */
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs li img:hover {
  opacity: 1;
}

/* 모바일: 하단 가로 배치 */
@media (max-width: 768px) {
  .woocommerce-product-gallery .flex-control-thumbs {
    position: static;
    flex-direction: row;
    justify-content: center;
    margin-top: 10px;
  }

}


/* ==========================================================================
   6. SINGLE PRODUCT - Variations & Add to Cart (WPCode id:256)
   ========================================================================== */

/* Global input line-height */
.input,
input:not([type=submit]),
select,
textarea {
  line-height: 30px !important;
}

/* WooCommerce Variations Form – Product Page Layout */

/* ==========================================================================
   변동/단순 상품 폼: 일관된 세로 간격 시스템 (--form-row-gap 토큰 사용)
   margin-top + :not(:first-child) 방식 — flex order 와 display:none 형제들이
   섞여있어도 안정적으로 동일 간격 적용
   ========================================================================== */

/* 모든 직계 자식의 자체 margin 제거 (top/bottom 모두)
   form 의 모든 wrapper 레벨을 커버: form > *, single_variation_wrap > *,
   woocommerce-variation > *, woocommerce-variation-add-to-cart > * */
form.variations_form > *,
form.variations_form .single_variation_wrap > *,
form.variations_form .woocommerce-variation > *,
form.variations_form .woocommerce-variation-add-to-cart > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 첫 자식이 아닌 모든 형제에게 균일한 위쪽 간격 (lobotomized owl)
   :not(:first-child) 가 하나 더 붙어서 위 reset 보다 specificity 높음 */
form.variations_form > :not(:first-child),
form.variations_form .single_variation_wrap > :not(:first-child),
form.variations_form .woocommerce-variation > :not(:first-child),
form.variations_form .woocommerce-variation-add-to-cart > :not(:first-child) {
  margin-top: var(--form-row-gap) !important;
}

/* 인라인 style="margin-bottom:10px" 도 강제 무력화 (margin reset 으로 처리됨) */
form.variations_form .wc-variation-mode-selector {
  margin: 0 !important;
}

/* 1) Size label + dropdown: vertical stack (table 내부 행 간격도 동일 토큰) */
.variations_form table.variations tr {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--form-row-gap) !important;
}
.variations_form table.variations tr:last-child {
  margin-bottom: 0 !important;
}
.variations_form table.variations th.label,
.variations_form table.variations td.value {
  display: block;
  width: 100%;
  text-align: left;
}
.variations_form table.variations th.label label {
  font-weight: var(--fw-medium) !important;
  margin-bottom: 6px !important;
  display: block;
}
.variations_form table.variations select,
.variations_form table.variations select option {
  color: var(--feedus-black) !important;
}

/* Quantity 정렬만 변동상품 컨텍스트에서 오버라이드 (input/action 스타일은
   feedus-global.css 의 .quantity 시스템이 모두 처리 → 중복 코드 제거됨) */
.variations_form .quantity {
  justify-content: flex-end;
}

/* Reorder elements */
.variations_form .woocommerce-variation-add-to-cart {
  display: flex;
  flex-direction: column;
}
.variations_form .wc-variation-mode-selector { order: 1; }
.variations_form .woocommerce-variation-add-to-cart > .quantity { order: 2; }
.variations_form .wc-locked-variations-container { order: 3; }
/* 변동상품에선 single 버튼 대신 wc-multiple-variation-buttons 사용 → 완전 숨김
   display: none 만으로 박스 트리에서 제거됨 (visibility/height/overflow 등 불필요) */
.variations_form .single_add_to_cart_button,
.woocommerce-variation-add-to-cart .single_add_to_cart_button {
  display: none !important;
}
.variations_form .wc-multiple-variation-buttons { order: 5; }

/* 4) Buttons: "Add to List" top, "Add All to Cart" bottom */
.variations_form .wc-multiple-variation-buttons {
  display: flex !important;
  flex-direction: column;
  gap: var(--space-md);
}
.variations_form .wc-multiple-variation-buttons .wc-lock-variation-btn {
  order: 1;
  margin: 0 !important;
}
.variations_form .wc-multiple-variation-buttons .wc-add-locked-to-cart {
  order: 2;
}

/* 5) "Add All to Cart" styling – green bg */
.variations_form .wc-multiple-variation-buttons .wc-add-locked-to-cart {
  display: inline-flex !important;
  color: #ffffff;
  background-color: var(--feedus-primary);
  border-color: var(--feedus-primary);
}
.variations_form .wc-multiple-variation-buttons .wc-add-locked-to-cart:hover {
  color: var(--feedus-primary);
  background-color: #ffffff;
}

/* 6) "Add to List" styling – white bg */
.variations_form .wc-multiple-variation-buttons .wc-lock-variation-btn {
  display: inline-flex !important;
  color: var(--feedus-primary);
  background-color: #ffffff;
  border-color: var(--feedus-primary);
}
.variations_form .wc-multiple-variation-buttons .wc-lock-variation-btn:hover {
  color: #ffffff;
  background-color: var(--feedus-primary);
}

/* 7) Button padding & weight (액션 버튼 토큰 사용) */
.variations_form .wc-multiple-variation-buttons .wc-add-locked-to-cart,
.variations_form .wc-multiple-variation-buttons .wc-lock-variation-btn {
  padding: var(--space-sm-plus) var(--space-3xl);
  width: 100% !important;
  font-size: 16px !important;
  font-weight: var(--control-action-font-weight) !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* 8) Locked variations container — 컨테이너 내부 모든 border 시스템 회색으로
   wc-summary-table 의 인라인 #ddd 강제 통일 */
.wc-locked-variations-container b { color: var(--feedus-black) !important; }
.wc-locked-variations-container,
.wc-locked-variations-container * {
  color: var(--feedus-black) !important;
  border-color: var(--feedus-border-color) !important;
}
.wc-locked-variations-container .wc-remove-locked-variation { color: red !important; }
.wc-locked-variations-container .dashicons-trash { margin-bottom: 0 !important; }
.wc-locked-variation-details { display: flex; flex-direction: column; gap: 2px; }
.wc-locked-variation-attributes,
.wc-locked-variation-price { margin: 0 !important; }
/* .woocommerce-variation-price 마진은 form-row-gap 시스템에 위임 (이전 16px !important 제거) */
.wc-locked-variation-qty {
  padding: var(--space-2xs) var(--space-xs) !important;
  color: var(--feedus-black) !important;
  font-weight: var(--fw-medium) !important;
  width: 120px !important;
}
.wc-locked-variation-qty::-webkit-inner-spin-button,
.wc-locked-variation-qty::-webkit-outer-spin-button {
  opacity: 1 !important;
  -webkit-appearance: auto !important;
}

/* ===== Simple (non-variable) product: match variation form styles ===== */

/* 단순상품 폼: 변동상품과 동일한 간격 시스템 (margin-top + lobotomized owl)
   숨겨진 input/hidden 형제들이 섞여있어도 안정적으로 균일 간격 적용 */
.brxe-product-add-to-cart > form.cart:not(.variations_form) > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.brxe-product-add-to-cart > form.cart:not(.variations_form) > :not(:first-child) {
  margin-top: var(--form-row-gap) !important;
}

/* Quantity 정렬만 단순상품 컨텍스트에서 오버라이드 (input/action 스타일은
   feedus-global.css 의 .quantity 시스템이 모두 처리 → 중복 코드 제거됨) */
.brxe-product-add-to-cart > form.cart .quantity {
  justify-content: flex-end;
}

/* "장바구니" button: match variation button style (액션 버튼 토큰 사용) */
.brxe-product-add-to-cart > form.cart:not(.variations_form) .single_add_to_cart_button {
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  background-color: var(--feedus-primary);
  border: 1px solid var(--feedus-primary);
  border-radius: var(--feedus-border-radius-pill);
  padding: var(--space-sm-plus) var(--space-3xl);
  width: 100% !important;
  font-family: var(--feedus-font-body);
  font-size: var(--control-action-font-size);
  font-weight: var(--control-action-font-weight);
  transition: all var(--feedus-duration-medium) ease;
  visibility: visible !important;
  opacity: 1 !important;
}
.brxe-product-add-to-cart > form.cart:not(.variations_form) .single_add_to_cart_button span {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: var(--control-action-font-size) !important;
  font-weight: var(--control-action-font-weight) !important;
}
.brxe-product-add-to-cart > form.cart:not(.variations_form) .single_add_to_cart_button:hover {
  color: var(--feedus-primary);
  background-color: #ffffff;
}
.brxe-product-add-to-cart > form.cart:not(.variations_form) .single_add_to_cart_button:hover span {
  color: var(--feedus-primary) !important;
}

/* Fix: Mobile button visibility */
.brxe-product-add-to-cart,
.brxe-product-add-to-cart .variations_form,
.brxe-product-add-to-cart .single_variation_wrap,
.brxe-product-add-to-cart .woocommerce-variation-add-to-cart {
  overflow: visible !important;
}
.woocommerce-variation-add-to-cart .wc-multiple-variation-buttons {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Tablet and below */
@media (max-width: 768px) {
  .wc-locked-variation-qty {
    width: 80px !important;
  }
}

/* ----------------------------------------
   마우스 티어 가격 힌트 박스
   (feedus-variations.js 가 동적으로 .feedus-tier-hint / .feedus-locked-tier-hint 삽입)
   ---------------------------------------- */
.feedus-tier-hint,
.feedus-locked-tier-hint {
    margin: 8px 0 12px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
    background: #fff7e6;
    color: #8a5a00;
    border: 1px solid #ffd98a;
}
.feedus-tier-hint.is-on,
.feedus-locked-tier-hint.is-on {
    background: #e6f7ed;
    color: #146c3a;
    border-color: #9fdfbb;
}
.feedus-tier-hint.is-max,
.feedus-locked-tier-hint.is-max {
    background: #eaf3ff;
    color: #0b4a8a;
    border-color: #9ec4f5;
    font-weight: 600;
    text-align: center;
}
.feedus-tier-hint b,
.feedus-locked-tier-hint b {
    font-weight: 700;
}
.feedus-tier-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    background: rgba(0,0,0,.06);
    font-weight: 600;
    margin-right: 4px;
    margin-bottom: 0 !important;
}

/* ----------------------------------------
   라이브 마우스 포장비 예상치 박스
   (feedus-variations.js 가 동적으로 .feedus-packaging-fee 삽입)
   ---------------------------------------- */
.feedus-packaging-fee {
    margin: 12px 0 8px;
    padding: 14px 16px;
    border-radius: 8px;
    background: #f8f8f8;
    border: 1px solid #e2e2e2;
    font-size: 14px;
    line-height: 1.6;
}
.feedus-packaging-fee__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.feedus-packaging-fee__label {
    color: #666;
}
.feedus-packaging-fee__value {
    font-weight: 600;
    color: #333;
}
.feedus-packaging-fee__info {
    position: relative;
    display: inline-block;
    margin-left: 4px;
    width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    border-radius: 50%;
    background: #ddd;
    color: #666;
    font-size: 12px;
    font-style: normal;
    cursor: pointer;
    vertical-align: middle;
}
.feedus-packaging-fee__tooltip {
    display: none;
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    padding: 12px 14px;
    border-radius: 8px;
    background: #333;
    color: #fff;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 400;
    text-align: left;
    white-space: normal;
    z-index: 100;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
}
.feedus-packaging-fee__tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #333;
}
.feedus-packaging-fee__info.is-open .feedus-packaging-fee__tooltip {
    display: block;
}
.feedus-packaging-fee__divider {
    height: 1px;
    background: #ddd;
    margin: 8px 0;
}
.feedus-packaging-fee__total .feedus-packaging-fee__label {
    font-weight: 700;
    color: #333;
}
.feedus-packaging-fee__total .feedus-packaging-fee__value {
    font-size: 16px;
    font-weight: 700;
    color: #222;
}

/* 요약 테이블 총 금액 할인가 크기 강조 (원 포함) */
.wc-summary-table .feedus-grand-total,
.wc-summary-table .feedus-grand-total strong,
.feedus-grand-total,
.feedus-grand-total strong {
    font-size: 18px !important;
}

/* 잠긴 목록 컨테이너 내 모든 단가 (행 · WC Price amount) — 16px 고정 */
.wc-locked-variations-container .wc-locked-variation-price,
.wc-locked-variations-container .wc-locked-variation-price *,
.wc-locked-variations-container .woocommerce-Price-amount,
.wc-locked-variations-container .woocommerce-Price-amount * {
    font-size: 16px !important;
    line-height: 1.3 !important;
}

/* 취소선 원가 (할인 전 가격) — 폼 / 잠긴 목록 / 요약 공통, 15px 고정 */
.feedus-price-original,
span.feedus-price-original,
.wc-summary-table td .feedus-price-original,
.wc-locked-variation-price .feedus-price-original,
.woocommerce-variation-price .feedus-price-original {
    display: inline-block !important;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    opacity: 0.5 !important;
    text-decoration: line-through !important;
    vertical-align: middle !important;
    line-height: 1 !important;
}

/* ----------------------------------------
   냉동마우스 수량 UI (feedus-frozen-mouse.js)
   ---------------------------------------- */

/* WC 기본 수량 숨김 */
.feedus-fm-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
}

.feedus-fm-active p.price,
.feedus-fm-active .brxe-product-title {
    margin-bottom: 0 !important;
}
body.single-product form.feedus-fm-form .woocommerce-variation-price,
body.single-product form.feedus-fm-form .single_variation_wrap .woocommerce-variation-price,
body.single-product form.feedus-fm-form .woocommerce-variation .woocommerce-variation-price {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
form.feedus-fm-form .woocommerce-variation {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
}
form.feedus-fm-form .woocommerce-variation .woocommerce-variation-price {
    flex: 1;
}
form.feedus-fm-form .woocommerce-variation .woocommerce-variation-description,
form.feedus-fm-form .woocommerce-variation .woocommerce-variation-availability {
    width: 100%;
}
/* 냉동마우스: select·상단가격·단가 font-weight 통일 */
.feedus-fm-active .variations select,
.feedus-fm-active .variations select option,
form.variations_form .variations select {
    font-weight: 700 !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    background-color: #fff !important;
    padding: 10px 14px !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
}
@media (max-width: 767px) {
    .feedus-fm-active .variations select,
    form.variations_form .variations select {
        margin-bottom: 10px !important;
    }
}
/* 상품명 · 가격 블록 하단 마진 커스텀 */
body.single-product #brxe-jxldra.brxe-product-title {
    margin-bottom: 14px !important;
}
@media (max-width: 767px) {
    body.single-product #brxe-jxldra.brxe-product-title {
        margin-top: 18px !important;
        margin-bottom: 0px !important;
    }
}
body.single-product #brxe-ijpiil {
    margin-bottom: 0px !important;
}
@media (max-width: 767px) {
    body.single-product #brxe-ijpiil {
        margin-bottom: 14px !important;
    }
}

body.single-product .brxe-product-price p.price,
body.single-product .brxe-product-price p.price *,
body.single-product .brxe-product-price p.price strong,
body.single-product .brxe-product-price p.price bdi,
body.single-product .brxe-product-price p.price .woocommerce-Price-amount,
body.single-product .brxe-product-price p.price .woocommerce-Price-currencySymbol,
body.single-product #brxe-igswdk p.price,
body.single-product #brxe-igswdk p.price * {
    font-weight: 800 !important;
    color: #e53935 !important;
}
body.single-product .feedus-fm-active .woocommerce-variation-price,
body.single-product .feedus-fm-active .woocommerce-variation-price *,
body.single-product .feedus-fm-active .woocommerce-variation-price strong,
body.single-product .feedus-fm-active .woocommerce-variation-price bdi,
body.single-product .feedus-fm-active .woocommerce-variation-price .woocommerce-Price-amount,
body.single-product .feedus-fm-active .woocommerce-variation-price .woocommerce-Price-currencySymbol {
    font-weight: 700 !important;
}
/* 냉동마우스: form-row-gap 마진 강제 제거 */
form.feedus-fm-form .woocommerce-variation > *,
form.feedus-fm-form .woocommerce-variation > :not(:first-child),
form.feedus-fm-form .single_variation_wrap > *,
form.feedus-fm-form .single_variation_wrap > :not(:first-child),
form.feedus-fm-form > *,
form.feedus-fm-form > :not(:first-child) {
    margin-top: 0 !important;
}
/* 냉동마우스: strong 글자 굵기 700 강제 */
body.single-product .feedus-fm-active strong {
    font-weight: 700 !important;
}
#brxe-qqgxqn {
    display: none !important;
}

/* 빈 단락 모바일 숨김 */
@media (max-width: 767px) {
    #brxe-rfouys {
        display: none !important;
    }
}

/* 옵션·단가·클리어 주변 보더 모두 제거 */
.feedus-fm-form .single_variation_wrap,
.feedus-fm-form .single_variation_wrap .woocommerce-variation,
.feedus-fm-form .reset_variations_alert,
.feedus-fm-form table.variations,
.feedus-fm-form table.variations tr,
.feedus-fm-form table.variations td,
.feedus-fm-form table.variations th,
.feedus-fm-form .feedus-fm-price-row,
.feedus-fm-form .feedus-fm-price-row * {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
}

/* 클리어 상태: 단가·클리어 모두 숨겨지면 price-row 자체 숨김 */
.feedus-fm-price-row:has(> .reset_variations[style*="visibility: hidden"]) {
    display: none !important;
}

/* 단가 + 클리어 버튼 한 줄 (2컬럼) */
.feedus-fm-price-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    width: 100%;
    margin-bottom: 8px;
    padding: 10px 14px;
    background: #f5f5f5;
    border-radius: 8px;
    border: none !important;
}
.feedus-fm-price-row > .woocommerce-variation {
    flex: 1 1 0;
    width: 100%;
}
.feedus-fm-price-row > .reset_variations {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    margin-left: auto;
    font-size: 14px;
    font-weight: 600;
    color: #555 !important;
    white-space: nowrap;
    text-decoration: none !important;
}
.feedus-fm-price-row > .reset_variations::before {
    content: "✕";
    font-size: 13px;
    font-weight: 700;
    color: inherit;
}
/* 단가 font-weight 800 강제 — .woocommerce-variation-price 규칙(6088)보다 높은 specificity */
body.single-product .feedus-fm-price-row .woocommerce-variation-price .woocommerce-Price-amount,
body.single-product .feedus-fm-price-row .woocommerce-variation-price .woocommerce-Price-amount bdi,
body.single-product .feedus-fm-price-row .woocommerce-variation-price .woocommerce-Price-amount strong,
body.single-product .feedus-fm-price-row .woocommerce-variation-price .woocommerce-Price-amount .woocommerce-Price-currencySymbol,
body.single-product .feedus-fm-price-row .woocommerce-variation-price .price,
body.single-product .feedus-fm-price-row .woocommerce-variation-price .price * {
    font-weight: 800 !important;
}

.feedus-fm-wrap {
    margin: 16px 0;
}

/* 버튼 컨트롤 행 */
.feedus-fm-controls {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex-wrap: wrap;
}

/* 좌측 그룹 */
.feedus-fm-minus-group {
    display: flex;
    gap: 8px;
}

.feedus-fm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    flex: 0 0 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 8px 0;
    border: 1px solid var(--feedus-border-color, #ddd);
    border-radius: 8px;
    background: var(--feedus-white, #fff);
    color: var(--feedus-black, #222);
    font-size: 15px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s, border-color 0.15s;
}
.feedus-fm-btn:active {
    background: #f0f0f0;
}
.feedus-fm-btn.feedus-fm-minus {
    background: #f7f7f7;
}
.feedus-fm-btn.feedus-fm-plus {
    background: var(--feedus-white, #fff);
    border-color: var(--feedus-primary, #416434);
    color: var(--feedus-primary, #416434);
}
.feedus-fm-btn.feedus-fm-plus:active {
    background: #f0f7f0;
}

/* 수량 표시 */
.feedus-fm-display {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 80px;
    height: 58px;
    padding: 0;
    margin-bottom: 0 !important;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    color: var(--feedus-black, #222);
}
.feedus-fm-unit {
    font-size: 13px;
    font-weight: 800;
    color: #666;
    margin-bottom: 0 !important;
}

/* +1, +10, +30 버튼 그룹 */
.feedus-fm-plus-group {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.feedus-fm-pack-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

/* 할인율 뱃지 */
.feedus-fm-discount-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    color: #d44;
    white-space: nowrap;
    margin-bottom: 0 !important;
}

/* 초기화 버튼 */
.feedus-fm-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 58px;
    min-height: 58px;
    padding: 8px 14px;
    margin-left: auto;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: transparent;
    color: #888;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s;
}
.feedus-fm-reset:hover {
    color: #555;
    border-color: #999;
}

/* 가격 분해 상세 */
.feedus-fm-breakdown {
    margin-top: 14px;
    padding: 12px 16px;
    background: #fafafa;
    border: 1px solid #eee;
    border-radius: 8px;
}
.feedus-fm-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 0;
    font-size: 14px;
    color: #555;
}
.feedus-fm-line + .feedus-fm-line {
    border-top: 1px dashed #e8e8e8;
}
.feedus-fm-line-price {
    font-weight: 600;
    color: var(--feedus-black, #222);
}

/* 합계 */
.feedus-fm-total {
    margin-top: 8px;
    padding: 10px 16px;
    background: #f5f9f5;
    border: 1px solid #d6e8d6;
    border-radius: 8px;
}
.feedus-fm-total-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
}
.feedus-fm-total-label {
    font-weight: 600;
    color: var(--feedus-black, #222);
}
.feedus-fm-total-price {
    font-size: 20px;
    font-weight: 700;
    color: var(--feedus-primary, #416434);
}

/* 절약 메시지 */
.feedus-fm-saved {
    margin-top: 6px;
    font-size: 13px;
    color: #d44;
    text-align: right;
}
.feedus-fm-saved strong {
    font-weight: 700;
}

/* ── 모바일 ── */
@media (max-width: 600px) {
    .feedus-fm-controls {
        gap: 6px;
        justify-content: center;
        width: 100%;
        margin-top: 10px;
        margin-bottom: 10px;
    }
    .feedus-fm-btn {
        flex: 0 0 46px !important;
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0;
        font-size: 14px;
    }
    .feedus-fm-display {
        flex: 1 1 0 !important;
        width: auto;
        font-size: 18px;
    }
    .feedus-fm-unit {
        font-size: 11px;
    }
    /* 좌우 그룹: 버튼 크기에 맞춤 */
    .feedus-fm-minus-group {
        display: flex;
        flex: 0 0 auto !important;
        gap: 6px;
    }
    .feedus-fm-plus-group {
        display: flex;
        flex: 0 0 auto !important;
        gap: 6px;
    }
    .feedus-fm-plus-group > .feedus-fm-pack-btn {
        flex: 0 0 46px !important;
        min-width: 0;
    }
    .feedus-fm-pack-btn .feedus-fm-btn {
        width: 100% !important;
        max-width: none !important;
    }
    .feedus-fm-reset {
        margin-left: 0;
        margin-top: 0;
        width: 100%;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        padding: 0 14px !important;
    }
}

/* ── 냉동마우스: 레이아웃 order ── */
.woocommerce-variation-add-to-cart.feedus-fm-active > .feedus-fm-wrap { order: 10; }
.woocommerce-variation-add-to-cart.feedus-fm-active > .feedus-fm-add-to-list { order: 11; }
.woocommerce-variation-add-to-cart.feedus-fm-active > .feedus-fm-summary-bar { order: 12; }
.woocommerce-variation-add-to-cart.feedus-fm-active > .wc-locked-variations-container { order: 13 !important; }
.woocommerce-variation-add-to-cart.feedus-fm-active > .feedus-fm-cart-btn { order: 14; }

/* ── [+ 목록에 담기] proxy button ── */
.feedus-fm-add-to-list {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 12px 24px;
    border: 2px solid var(--feedus-primary, #416434);
    border-radius: var(--feedus-border-radius-pill, 999px);
    background: var(--feedus-white, #fff);
    color: var(--feedus-primary, #416434);
    font-size: 16px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.2s;
}
.feedus-fm-add-to-list:hover {
    background: var(--feedus-primary, #416434);
    color: #fff;
}
.feedus-fm-add-to-list.is-added {
    background: #e8f5e9;
    border-color: #4caf50;
    color: #2e7d32;
    cursor: default;
}

/* ── 접힌 요약 바 ── */
.feedus-fm-summary-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #f8f8f8;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
}
.feedus-fm-summary-left {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.feedus-fm-summary-bar *,
.feedus-fm-summary-text {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.feedus-fm-summary-text {
    font-size: 14px;
    color: #555;
}
.feedus-fm-summary-count,
.feedus-fm-summary-price {
    font-weight: 700;
    color: var(--feedus-black, #222);
}
.feedus-fm-toggle {
    flex-shrink: 0;
    padding: 6px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff;
    color: #666;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
}
.feedus-fm-toggle:hover {
    border-color: #999;
    color: #333;
}

/* Bump animation */
@keyframes feedus-fm-bump {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.3); }
    100% { transform: scale(1); }
}
.feedus-fm-bump {
    display: inline-block;
    animation: feedus-fm-bump 0.35s ease;
}

/* ── [모두 장바구니 담기] proxy ── */
.feedus-fm-cart-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 12px 24px;
    border: 1px solid var(--feedus-primary, #416434);
    border-radius: var(--feedus-border-radius-pill, 999px);
    background: var(--feedus-primary, #416434);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.2s;
}
.feedus-fm-cart-btn:hover {
    background: #fff;
    color: var(--feedus-primary, #416434);
}

/* ── Mobile sticky bar ── */
.feedus-fm-sticky {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    background: #fff;
    border-top: 1px solid #e0e0e0;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.08);
}
.feedus-fm-sticky * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.feedus-fm-sticky-price {
    font-size: 18px;
    font-weight: 700;
    color: var(--feedus-black, #222);
}
.feedus-fm-sticky-add {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    min-height: 44px;
    padding: 10px 20px;
    border: none;
    border-radius: var(--feedus-border-radius-pill, 999px);
    background: var(--feedus-primary, #416434);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.2s;
}
.feedus-fm-sticky-add:active {
    background: #345228;
}
.feedus-fm-sticky-add.is-added {
    background: #4caf50;
}

@media (max-width: 768px) {
    .feedus-fm-sticky.is-visible {
        display: flex;
    }
    body.feedus-fm-sticky-active {
        padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* ── Toast ── */
.feedus-fm-toast {
    position: fixed;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    z-index: 10000;
    padding: 10px 20px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s, transform 0.3s;
}
.feedus-fm-toast.is-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
@media (max-width: 768px) {
    .feedus-fm-toast {
        bottom: calc(80px + env(safe-area-inset-bottom, 0px));
    }
}


/* ==========================================================================
   7. CART PAGE (WPCode id:264, id:293, id:297)
   ========================================================================== */

/* 마우스 티어 할인 — 카트 테이블 취소선 */
.woocommerce-cart-form .product-price del,
.woocommerce-cart-form .product-subtotal del {
    opacity: 0.45;
    font-weight: 400;
    margin-right: 10px;
}
.woocommerce-cart-form .product-price ins,
.woocommerce-cart-form .product-subtotal ins {
    text-decoration: none;
    font-weight: 600;
}

/* 할인 적용된 단가 — del 뒤의 할인가를 붉은색+굵게 강조 */
.woocommerce-cart-form .product-price del ~ .woocommerce-Price-amount,
.woocommerce-cart-form .product-price del ~ .woocommerce-Price-amount * {
    color: var(--feedus-price) !important;
    font-weight: 800 !important;
}

/* 카트: 단가 / 소계 영역 하단 여백 제거 + line-height 단단히
   - .woocommerce-Price-amount 가 inline-block 으로 떨어져 line-box 가 늘어나는 것 방지
   - 모바일 한정 우정렬은 아래 미디어쿼리에서 처리 */
.woocommerce-cart-form .cart_item .product-price,
.woocommerce-cart-form .cart_item .product-subtotal {
    line-height: 1 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
.woocommerce-cart-form .cart_item .product-price .woocommerce-Price-amount,
.woocommerce-cart-form .cart_item .product-subtotal .woocommerce-Price-amount,
.woocommerce-cart-form .cart_item .product-price del,
.woocommerce-cart-form .cart_item .product-subtotal del {
    line-height: 1 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    vertical-align: baseline;
}

/* 카트: 직배송 토글 영역 하단 여백 제거 + 정적 직배송 뱃지 자체 여백 제거 */
.woocommerce-cart-form .cart_item .feedus-delivery-switch {
    margin-bottom: 0 !important;
    line-height: 1 !important;
}
.woocommerce-cart-form .cart_item .fd-badge {
    margin-bottom: 0 !important;
}

/* 마우스 대량구매 할인 — 장바구니 합계 행 */
.feedus-bulk-discount th,
.feedus-bulk-discount td,
.feedus-bulk-discount td * {
    color: #d64a00 !important;
    font-weight: 800 !important;
}

/* 장바구니 수량 입력 스타일 */

/* 수량 컨테이너 */
form.woocommerce-cart-form .quantity {
    display: flex;
    align-items: center;
    width: 140px;
    height: 44px;
    border: 1px solid var(--bricks-border-color, #dddedf);
    border-radius: var(--feedus-border-radius, 25px);
    overflow: hidden;
    background-color: #fff;
}

/* 수량 입력 필드 */
form.woocommerce-cart-form .quantity .input-text.qty {
    width: 50px;
    height: 100%;
    border: none !important;
    outline: none !important;
    text-align: center;
    font-size: var(--fs-body);
    font-weight: var(--fw-medium, 400);
    color: var(--feedus-black, #1a1a1a);
    background: transparent;
    -moz-appearance: textfield;
    appearance: textfield;
    padding: 0;
    margin: 0;
    order: 2;
}

/* 숫자 입력 스피너 제거 */
form.woocommerce-cart-form .quantity .input-text.qty::-webkit-outer-spin-button,
form.woocommerce-cart-form .quantity .input-text.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* +/- 버튼 공통 */
form.woocommerce-cart-form .quantity .action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 100%;
    cursor: pointer;
    user-select: none;
    transition: background-color var(--feedus-duration-default) ease;
    color: var(--feedus-black, #1a1a1a);
    background: transparent;
    flex-shrink: 0;
}

/* - 버튼 (왼쪽) */
form.woocommerce-cart-form .quantity .action.minus {
    order: 1;
    border-right: 1px solid var(--bricks-border-color, #dddedf);
}

/* + 버튼 (오른쪽) */
form.woocommerce-cart-form .quantity .action.plus {
    order: 3;
    border-left: 1px solid var(--bricks-border-color, #dddedf);
}

/* 버튼 호버 효과 */
form.woocommerce-cart-form .quantity .action:hover {
    background-color: var(--feedus-gray-light, #f2f2f2);
}

/* 버튼 활성화 효과 */
form.woocommerce-cart-form .quantity .action:active {
    background-color: var(--bricks-color-grey-300, #e0e0e0);
}

/* SVG 아이콘 크기 */
form.woocommerce-cart-form .quantity .action svg {
    width: 18px;
    height: 18px;
    stroke-width: 2;
}

/* 모바일 대응 */
@media screen and (max-width: 767px) {
    form.woocommerce-cart-form .quantity {
        width: 120px;
        height: 40px;
    }

    form.woocommerce-cart-form .quantity .action {
        width: 38px;
    }

    form.woocommerce-cart-form .quantity .input-text.qty {
        width: 44px;
        font-size: var(--fs-small);
    }

    form.woocommerce-cart-form .quantity .action svg {
        width: 16px;
        height: 16px;
    }
}


/* ==========================================================================
   FEEDUS - 장바구니 페이지 추가 스타일
   ========================================================================== */

/* 직배송 안내 버튼: 프라이머리 컬러 */
#brxe-jioeie {
  color: var(--feedus-primary) !important;
}

/* ==========================================================================
   FEEDUS - Cart Page Styles
   ========================================================================== */

/* --------------------------------------------------------------------------
   Cart bottom section: 2컬럼 레이아웃 + 카드형 패널
   - body.woocommerce-cart 로 스코프 → 다른 페이지 무영향
   - Bricks ID 의존 제거 (`:has()` 로 의미 기반 셀렉팅)
   - 좌측: 상품 리스트 (`form.woocommerce-cart-form`)
   - 우측: 합계 패널 (`.cart-collaterals` / `.cart_totals`)
   -------------------------------------------------------------------------- */

/* 컬럼 컨테이너:
   - 모바일(<=768px): 1컬럼 (Bricks 기본 flex-direction:column)
   - 데스크탑(>=769px): 좌우 2컬럼
   - gap 은 미디어쿼리 밖에서 항상 적용 → 카드 간 / 카드↔하단 안내문 간 간격 자동 */
body.woocommerce-cart .brxe-container:has(> .brxe-block > .cart-collaterals) {
  gap: var(--space-sm) !important;
}
@media screen and (min-width: 769px) {
  body.woocommerce-cart .brxe-container:has(> .brxe-block > .cart-collaterals) {
    flex-direction: row !important;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  body.woocommerce-cart .brxe-block:has(> form.woocommerce-cart-form) {
    flex: 7 1 0;
    min-width: 0;
  }
  body.woocommerce-cart .brxe-block:has(> .cart-collaterals) {
    flex: 3 1 0;
    min-width: 0;
  }
  /* 데스크탑에서 하단 안내문은 다음 줄 전체 폭 */
  body.woocommerce-cart .brxe-container:has(> .brxe-block > .cart-collaterals) > .brxe-text-basic {
    flex: 0 0 100%;
  }
}

/* 안내문(`#brxe-ydrciy`) — 아래 마진을 위로 이동 */
#brxe-ydrciy {
  margin-top: var(--space-lg) !important;
  margin-bottom: 0 !important;
}

/* 양쪽 컬럼 카드 스타일 (모바일/데스크탑 공통)
   - 카드 내부: 흰색
   - 카드 바깥(body): --feedus-bg-beige (글로벌에서 출력) */
body.woocommerce-cart .brxe-block:has(> form.woocommerce-cart-form),
body.woocommerce-cart .brxe-block:has(> .cart-collaterals) {
  background: var(--feedus-white, #ffffff);
  border: 1px solid var(--feedus-border-color);
  border-radius: var(--feedus-border-radius);
  padding: var(--feedus-card-pad) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.woocommerce-cart-form .cart_item,
.woocommerce-cart-form .cart_item td,
.woocommerce-cart-form .cart_item th {
  border: none !important;
}

/* (구) `#brxe-ayskvm { padding-top:0 !important }` 제거됨
   - 카드 레이아웃 도입으로 해당 컬럼에 패딩이 필요해짐
   - 새 카드 패딩은 `body.woocommerce-cart .brxe-block:has(...)` 규칙에서 처리 */

/* 장바구니 수량 컨테이너 border 색상 (글로벌 보더 토큰 사용) */
form.woocommerce-cart-form .quantity {
  border-color: var(--feedus-border-color) !important;
  width: 140px !important;
  min-width: 140px !important;
  flex-shrink: 0 !important;
}
form.woocommerce-cart-form .quantity .input-text.qty {
  color: var(--feedus-black) !important;
  font-weight: var(--fw-medium) !important;
}
form.woocommerce-cart-form .quantity .action.minus,
form.woocommerce-cart-form .quantity .action.plus {
  color: var(--feedus-black) !important;
  border-top: none !important;
  border-bottom: none !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  flex-shrink: 0 !important;
}
form.woocommerce-cart-form .quantity .action.minus {
  border-right: 1px solid var(--feedus-border-color) !important;
  border-left: none !important;
}
form.woocommerce-cart-form .quantity .action.plus {
  border-left: 1px solid var(--feedus-border-color) !important;
  border-right: none !important;
}
form.woocommerce-cart-form .quantity .action.minus svg,
form.woocommerce-cart-form .quantity .action.plus svg {
  stroke: var(--feedus-black) !important;
}
form.woocommerce-cart-form .quantity .action.minus,
form.woocommerce-cart-form .quantity .action.plus {
  margin-bottom: 0 !important;
}

/* 장바구니 테이블: 상품명 + 가격 세로 배치 */
.woocommerce-cart-form .shop_table thead .product-price,
.woocommerce-cart-form .shop_table thead .product-remove,
.woocommerce-cart-form .shop_table thead .product-thumbnail {
  display: none !important;
}
.woocommerce-cart-form .shop_table thead tr {
  display: grid;
  grid-template-columns: 1fr 150px 120px 40px;
  align-items: center;
  padding-left: 120px;
}
.woocommerce-cart-form .cart_item {
  display: grid !important;
  grid-template-columns: 110px 1fr 150px 120px auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: var(--space-xs) !important;
  border: none !important;
}
/* 카트 아이템 행 간 간격 */
.woocommerce-cart-form .cart_item + .cart_item {
  margin-top: var(--space-sm, 12px) !important;
}
.woocommerce-cart-form .cart_item .product-thumbnail {
  grid-column: 1;
  grid-row: 1 / 3;
}
.woocommerce-cart-form .cart_item .product-name {
  grid-column: 2;
  grid-row: 1;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  align-self: end;
  font-size: var(--fs-lead) !important;
}
.woocommerce-cart-form .cart_item .product-name a {
  font-size: var(--fs-lead) !important;
  font-weight: var(--fw-medium) !important;
}
.woocommerce-cart-form .cart_item .product-price {
  grid-column: 2;
  grid-row: 2;
  text-align: left !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  align-self: start;
  margin-top: 2px !important;
  font-size: var(--fs-body) !important;
}
.woocommerce-cart-form .cart_item .product-quantity {
  grid-column: 3;
  grid-row: 1 / 3;
  justify-self: start;
}
.woocommerce-cart-form .cart_item .product-subtotal {
  grid-column: 4;
  grid-row: 1 / 3;
  white-space: nowrap;
  min-width: 0;
  text-align: right !important;
}
.woocommerce-cart-form .cart_item .product-remove {
  grid-column: 5;
  grid-row: 1 / 3;
}

/* 장바구니 상품 썸네일 */
.woocommerce-cart-form .product-thumbnail img {
  width: 100px !important;
  height: 100px !important;
  min-width: 100px !important;
}

/* 장바구니 갱신 버튼 */
.woocommerce-cart-form .actions button[name="update_cart"] {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  border-radius: var(--radius) !important;
  min-width: 160px !important;
  float: right !important;
  border: 1px solid var(--bricks-color-grey-300) !important;
  background-color: var(--bricks-color-grey-100) !important;
  color: var(--feedus-black) !important;
}
.woocommerce-cart-form .shop_table .actions {
  padding-top: 10px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
}
.woocommerce-cart-form .shop_table tbody tr:last-child {
  display: block !important;
  margin-top: 10px !important;
}

/* 장바구니 테이블 헤더 line-height 초기화 */
.woocommerce-cart-form .shop_table thead th {
  line-height: normal !important;
}
.woocommerce-cart-form .shop_table thead tr {
  margin-top: 10px !important;
}
.woocommerce-cart-form .shop_table thead .product-subtotal {
  text-align: right !important;
}

/* 결제하기 버튼 영역 위 마진 */
.wc-proceed-to-checkout {
  margin-top: 20px !important;
}

/* "결제하기" button: primary style */
.wc-proceed-to-checkout .checkout-button {
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  color: #ffffff !important;
  background-color: var(--feedus-primary) !important;
  border: 1px solid var(--feedus-primary) !important;
  border-radius: var(--feedus-border-radius-pill) !important;
  padding: var(--space-sm-plus) var(--space-3xl) !important;
  width: 100% !important;
  line-height: normal !important;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-lead) !important;
  font-weight: var(--fw-medium) !important;
  transition: all var(--feedus-duration-medium) ease;
}
/* 장바구니 합계 제목 */
.cart_totals h2 {
  font-size: var(--fs-2xl) !important;
  margin-bottom: 15px !important;
}

/* 장바구니 합계 테이블: 가격 우측 정렬 */
.cart_totals .shop_table td {
  text-align: right !important;
}

/* 장바구니 합계 테이블: 라인 색상 글로벌 라인 토큰 */
.cart_totals .shop_table,
.cart_totals .shop_table tr,
.cart_totals .shop_table th,
.cart_totals .shop_table td {
  border-color: var(--feedus-border-color) !important;
}
.cart_totals .shop_table th,
.cart_totals .shop_table td {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

/* 총계 가격 스타일 */
.cart_totals .order-total td .woocommerce-Price-amount {
  font-size: clamp(21px, 4vw, 32px) !important;
  font-weight: var(--fw-medium) !important;
}

.wc-proceed-to-checkout .checkout-button:hover {
  color: var(--feedus-primary) !important;
  background-color: #ffffff !important;
}

/* 모바일 가로 이하: 수량/소계/삭제 아래로
   행 구성:
     row 1: thumbnail | product-name
     row 2: (thumbnail 계속) | product-price
     row 3: (thumbnail 계속) | feedus-delivery-switch
     row 4: product-quantity | product-subtotal | product-remove
   product-name 은 display:contents 로 풀어서 내부의 <a> 와 .feedus-delivery-switch 를
   cart_item 의 grid item 으로 직접 배치. */
@media screen and (max-width: 768px) {
  .woocommerce-cart-form .shop_table thead {
    display: none !important;
  }
  .woocommerce-cart-form .cart_item td::before,
  .woocommerce-cart-form .cart_item th::before {
    display: none !important;
  }
  .woocommerce-cart-form .cart_item {
    grid-template-columns: 150px 1fr auto auto !important;
    grid-template-rows: auto auto auto auto !important;
    margin-bottom: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--feedus-border-color) !important;
  }
  .woocommerce-cart-form .cart_item .product-thumbnail {
    grid-column: 1;
    grid-row: 1 / 4;
  }
  .woocommerce-cart-form .product-thumbnail img {
    width: 140px !important;
    height: 140px !important;
    min-width: 140px !important;
  }
  /* product-name td 는 풀어서 내부 요소가 grid 에 직접 참여하게 함 */
  .woocommerce-cart-form .cart_item .product-name {
    display: contents !important;
  }
  .woocommerce-cart-form .cart_item .product-name > a,
  .woocommerce-cart-form .cart_item .product-name > .wc-item-meta,
  .woocommerce-cart-form .cart_item .product-name > dl.variation {
    grid-column: 2 / 5;
    grid-row: 1;
    align-self: end;
  }
  .woocommerce-cart-form .cart_item .product-price {
    grid-column: 2 / 5;
    grid-row: 2;
    text-align: right !important;
    justify-self: stretch;
  }
  .woocommerce-cart-form .cart_item .product-name > .feedus-delivery-switch {
    grid-column: 2 / 5;
    grid-row: 3;
    margin-top: 6px;
    justify-content: flex-end;
  }
  .woocommerce-cart-form .cart_item .product-quantity {
    grid-column: 1 / 3;
    grid-row: 4;
    justify-self: start;
    margin-top: 10px;
  }
  .woocommerce-cart-form .cart_item .product-subtotal {
    grid-column: 3;
    grid-row: 4;
    justify-self: end;
    margin-top: 10px;
  }
  .woocommerce-cart-form .cart_item .product-remove {
    grid-column: 4;
    grid-row: 4;
    justify-self: end;
    margin-top: 10px;
  }
  .woocommerce-cart-form .shop_table tbody tr:last-child {
    margin-top: 20px !important;
    border-top: 1px solid var(--feedus-border-color) !important;
    padding-top: 20px !important;
  }
}

/* WooCommerce 기본 배송 행 숨기기 (커스텀 행으로 대체)
   — 카트 합계 + 체크아웃 리뷰 테이블 모두 대상 */
.cart_totals .woocommerce-shipping-totals.shipping,
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals.shipping {
	display: none !important;
}

/* 무료배송 안내 행 (PHP feedus_free_shipping_remaining_hint) — 빨간글씨 */
.cart_totals tr.feedus-free-shipping-hint td {
	color: #d62828;
	font-weight: var(--fw-semibold, 600);
	text-align: right;
	font-size: 13px;
	padding: 0 12px;
	background: transparent;
}
.cart_totals tr.feedus-free-shipping-hint td strong {
	color: #d62828;
	font-weight: var(--fw-bold, 700);
}

/* 장바구니 합계 아래 안내문 ("입금이 확인되면 주문이 확정됩니다…") — 1px 작게 */
#brxe-ydrciy {
	font-size: calc(1em - 1px);
}


/* ==========================================================================
   8. CHECKOUT PAGE (WPCode id:310, id:383)
   ========================================================================== */

/* ==========================================================================
   FEEDUS - Checkout Page Styles
   WooCommerce Classic Checkout + Kakao Address Search
   ========================================================================== */

/* ── Layout: Bricks 기본 grid 사용 (form.checkout 에 grid-template-columns: 56% auto) ── */

/* 체크아웃 form 글로벌 래디우스 */
.woocommerce-checkout form.checkout {
  border-radius: var(--feedus-border-radius) !important;
}

/* ── Section Headings ── */
.woocommerce-checkout h3 {
  font-family: var(--feedus-font-heading);
  font-size: var(--fs-xl);
  font-weight: var(--fw-semibold);
  color: var(--feedus-black);
  margin-bottom: 24px !important;
  letter-spacing: -0.03em;
}

/* ── Form Fields ── */
.woocommerce-checkout .form-row {
  margin-bottom: 16px !important;
  padding: 0 !important;
}

.woocommerce-checkout .form-row label {
  display: block;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
  color: var(--feedus-black);
  margin-bottom: 6px !important;
  letter-spacing: -0.02em;
}

.woocommerce-checkout .form-row label .required {
  color: var(--feedus-black);
}

.woocommerce-checkout .form-row label .optional {
  font-size: var(--fs-small);
  font-weight: var(--fw-light);
  color: var(--feedus-text-muted) !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  color: var(--feedus-black);
  padding: var(--space-xs) var(--space-lg);
  border: 1px solid var(--feedus-input-border);
  border-radius: var(--feedus-border-radius-pill);
  background-color: var(--feedus-input-bg);
  width: 100%;
  transition: border-color var(--feedus-duration-default) ease,
    box-shadow var(--feedus-duration-default) ease;
  -webkit-appearance: none;
  appearance: none;
  line-height: 1.5;
}

/* Select 검정 화살표 (커스텀 SVG) */
.woocommerce-checkout .form-row select {
  padding-right: 44px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%231a1a1a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 12px 8px;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
  outline: none;
  border-color: var(--feedus-black);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.15);
}

.woocommerce-checkout .form-row input.input-text::placeholder,
.woocommerce-checkout .form-row textarea::placeholder {
  color: var(--feedus-text-muted) !important;
  font-weight: var(--fw-light);
}

/* 시/도, 우편번호 필드 숨김 — 주소 검색으로 값 자동 입력되므로 UI에서 제외 */
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #billing_postcode_field {
  display: none !important;
}

/* Readonly fields (주소 검색으로 자동 입력되는 필드) */
.woocommerce-checkout .form-row input.input-text[readonly] {
  background-color: var(--feedus-gray-light);
  cursor: pointer;
  color: var(--feedus-black);
}

/* Textarea (주문 메모) */
.woocommerce-checkout .form-row textarea {
  border-radius: var(--feedus-border-radius);
  min-height: 100px;
  resize: vertical;
}

/* ==========================================================================
   FEEDUS - 시스템 버튼: 보조 (Secondary)
   주요 CTA 옆에 배치되는 보조 동작용 (주소 검색, 부가 도구 등).
   - 다크그레이 아웃라인(ghost) 스타일
   - 그린 Primary 와 시각적 위계가 명확히 분리됨
   ========================================================================== */
.feedus-btn-secondary,
.feedus-address-search-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  color: var(--feedus-gray);
  background-color: transparent;
  border: 1px solid var(--feedus-gray);
  border-radius: var(--feedus-border-radius-pill);
  padding: var(--space-2xs) 18px;
  margin-bottom: 10px;
  cursor: pointer;
  transition: all var(--feedus-duration-default) ease;
  line-height: 1;
}

.feedus-btn-secondary span,
.feedus-address-search-btn span {
  color: inherit;
}

.feedus-btn-secondary:hover,
.feedus-btn-secondary:focus-visible,
.feedus-address-search-btn:hover,
.feedus-address-search-btn:focus-visible {
  background-color: var(--feedus-gray);
  color: #ffffff;
  border-color: var(--feedus-gray);
}

.feedus-btn-secondary svg,
.feedus-address-search-btn svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  stroke: currentColor;
}

/* ── "다른 주소로 배송할까요?" 체크박스 ── */
.woocommerce-checkout #ship-to-different-address {
  margin-bottom: 20px !important;
}

.woocommerce-checkout #ship-to-different-address label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  cursor: pointer;
}

.woocommerce-checkout #ship-to-different-address input[type="checkbox"] {
  width: 20px;
  height: 20px;
  accent-color: var(--feedus-black);
  border: 1px solid var(--feedus-primary);
  border-radius: var(--radius);
  cursor: pointer;
  flex-shrink: 0;
}

/* ── Order Review (고객님의 주문) ── */
.woocommerce-checkout #order_review_heading {
  font-size: var(--fs-xl);
  font-weight: var(--fw-semibold);
  margin-bottom: 20px !important;
}

.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  color: var(--feedus-black);
  padding: var(--space-sm-plus) 0 !important;
  border-bottom: 1px solid var(--feedus-primary) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

.woocommerce-checkout-review-order-table thead th {
  font-weight: var(--fw-medium);
  font-size: var(--fs-body);
}

.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table td:last-child {
  text-align: right;
}

.woocommerce-checkout-review-order-table .product-name {
  font-weight: var(--fw-regular);
}

.woocommerce-checkout-review-order-table .product-name .product-quantity {
  font-weight: var(--fw-medium);
}

/* 소계 행 위에 라인 */
.woocommerce-checkout-review-order-table tfoot .cart-subtotal th,
.woocommerce-checkout-review-order-table tfoot .cart-subtotal td {
  border-top: 1px solid var(--feedus-border-color) !important;
}

/* 총계 행 */
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
  font-size: var(--fs-lead);
  font-weight: 800;
  border-top: 1px solid var(--feedus-border-color) !important;
  border-bottom: none !important;
  padding-top: 20px !important;
}

.woocommerce-checkout-review-order-table tfoot .order-total .woocommerce-Price-amount {
  font-size: clamp(21px, 4vw, 32px);
  font-weight: 800;
}

/* ── Payment Methods ── */
.woocommerce-checkout-payment {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-top: 24px;
}

.woocommerce-checkout-payment .payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  border: none !important;
}

.woocommerce-checkout-payment .payment_methods li {
  padding: var(--space-md) var(--space-lg) !important;
  border: 1px solid var(--feedus-primary) !important;
  border-radius: var(--feedus-border-radius) !important;
  margin-bottom: 10px !important;
  background: transparent !important;
}

.woocommerce-checkout-payment .payment_methods li label {
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
  color: var(--feedus-black);
  cursor: pointer;
  padding-left: 4px;
}

.woocommerce-checkout-payment .payment_methods li input[type="radio"] {
  accent-color: var(--feedus-black);
}

.woocommerce-checkout-payment .payment_box {
  font-size: var(--fs-small);
  font-weight: var(--fw-light);
  color: var(--feedus-black);
  padding: var(--space-xs) 0 0 !important;
  margin: 0 !important;
  background: transparent !important;
  line-height: 1.6;
}

.woocommerce-checkout-payment .payment_box::before {
  display: none !important;
}

.woocommerce-checkout-payment .payment_box p {
  font-size: var(--fs-small) !important;
  color: var(--feedus-text-muted) !important;
}

/* ── Place Order Button (주문 확정) ── */
.woocommerce-checkout #place_order {
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: var(--space-md) var(--space-3xl) !important;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-lead) !important;
  font-weight: var(--fw-medium) !important;
  color: var(--feedus-white) !important;
  background-color: var(--feedus-primary) !important;
  border: 1px solid var(--feedus-primary) !important;
  border-radius: var(--feedus-border-radius-pill) !important;
  cursor: pointer;
  transition: all var(--feedus-duration-medium) ease;
  line-height: 1.4;
}

.woocommerce-checkout #place_order:hover {
  color: var(--feedus-primary) !important;
  background-color: var(--feedus-white) !important;
}

/* ── Privacy Policy ── */
.woocommerce-checkout .woocommerce-privacy-policy-text p {
  font-size: var(--fs-small) !important;
  color: var(--feedus-text-muted) !important;
  font-weight: var(--fw-light) !important;
  line-height: 1.6 !important;
  margin-bottom: 16px !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
  color: var(--feedus-black);
  text-decoration: underline;
}

/* ── Shipping: 무료배송 존재 시 유료배송 옵션 숨김 ── */
ul.woocommerce-shipping-methods:has(input[value^="free_shipping"]) li:has(input[value^="flat_rate"]) {
  display: none !important;
}

/* 무료배송 라디오 버튼 숨김 + 라벨 마진 제거 */
#shipping_method_0_free_shipping1 {
  display: none !important;
}

label[for="shipping_method_0_free_shipping1"] {
  margin: 0 !important;
}

#shipping_method li:has(#shipping_method_0_free_shipping1) {
  margin-bottom: 0 !important;
}

/* 기본 배송료 라벨: 텍스트 숨기고 가격만 표시 */
label[for="shipping_method_0_flat_rate2"] {
  margin-bottom: 0 !important;
  font-size: 0 !important;
}

label[for="shipping_method_0_flat_rate2"] .woocommerce-Price-amount {
  font-size: 1rem !important;
}

.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
  vertical-align: middle !important;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods li {
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Responsive: Mobile ── */
@media screen and (max-width: 767px) {
  /* 좌우 패딩 중첩 제거 (.woocommerce + form.checkout 양쪽에 패딩이 들어감) */
  .woocommerce-checkout div.woocommerce {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .woocommerce-checkout form.checkout {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .woocommerce-checkout h3 {
    font-size: 18px;
  }

  .woocommerce-checkout .form-row input.input-text,
  .woocommerce-checkout .form-row textarea,
  .woocommerce-checkout .form-row select {
    padding: var(--space-xs) var(--space-md);
    font-size: var(--fs-body);
  }

  .woocommerce-checkout #place_order {
    font-size: var(--fs-lead) !important;
    padding: var(--space-sm-plus) var(--space-2xl) !important;
  }
}

/* ==========================================================================
   FEEDUS - Checkout 2컬럼 레이아웃 개선
   ========================================================================== */

/* 1. 배송 필드 영역 숨김 (다른 주소로 배송할까요?) */
.woocommerce-checkout .woocommerce-shipping-fields {
  display: none !important;
}

/* 2. 2컬럼 레이아웃: Bricks grid (grid-template-columns: 56% auto) 활용
   form.checkout 자식 구조:
   - div.col2-set#customer_details > div.col-1 (billing) + div.col-2 (shipping+주문메모)
   - div (order review heading + order review + payment)
   col2-set 은 display:contents 로 풀어서 grid 에 직접 참여하지 않고,
   col-1 이 좌측 컬럼, 나머지가 우측 컬럼에 배치됨.
*/

/* col2-set 내부는 1컬럼(세로 스택)으로 */
.woocommerce-checkout .col2-set {
  display: block !important;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  width: 100% !important;
  float: none !important;
}

/* 우측(주문요약) sticky */
@media screen and (min-width: 768px) {
  .woocommerce-checkout form.checkout > div:last-child {
    position: sticky;
    top: calc(var(--feedus-header-height, 90px) + 20px);
    align-self: flex-start;
  }
}

/* ── 흰색 카드 스타일 ── */
.woocommerce-checkout #customer_details,
.woocommerce-checkout form.checkout > div:last-child {
  background: #fff;
  border-radius: var(--feedus-border-radius) !important;
  padding: var(--feedus-card-pad);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

@media screen and (max-width: 767px) {
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout form.checkout > div:last-child {
    padding: var(--feedus-card-pad);
    border-radius: var(--feedus-border-radius) !important;
  }
}


/* ==========================================================================
   9. CHECKOUT - Invoice/Receipt (WPCode id:312)
   ========================================================================== */

/* ==========================================================================
   Feedus 영수증 발행 선택 - 체크아웃 스타일
   feedus-tax-invoice.php 플러그인과 함께 사용
   ========================================================================== */

/* 체크아웃 주문요약 테이블 테두리 제거 */
.woocommerce-checkout-review-order-table,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table tr {
  border: none !important;
}

/* 소계, 배송, 할인, 총계 등 tfoot 전체 굵게 */
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td,
.woocommerce-checkout-review-order-table tfoot td * {
  font-weight: 800 !important;
}

/* --------------------------------------------------------------------------
   영수증 발행 선택 박스
   -------------------------------------------------------------------------- */
.feedus-receipt-box {
  background-color: var(--feedus-gray-light, #f2f2f2);
  border: 1px solid #e0e0e0;
  border-radius: var(--radius);
  padding: var(--space-lg);
  margin: var(--space-lg) 0 0 0;
}

/* 1단계: 메인 라벨 */
.feedus-receipt-main-label {
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
  color: var(--feedus-black);
  margin: 0 0 12px 0 !important;
}

/* 라디오 버튼 행 */
.feedus-receipt-radio-label {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  cursor: pointer;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-small);
  color: var(--feedus-black, #1a1a1a);
  padding: var(--space-2xs) 0;
  margin: 0 !important;
}

.feedus-receipt-radio-label span {
  margin: 0 !important;
}

/* 커스텀 라디오 버튼 (시멘틱 원형 유지 → --radius-circle) */
.feedus-receipt-radio {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 2px solid var(--feedus-gray, #6c757d);
  border-radius: var(--radius-circle);
  cursor: pointer;
  position: relative;
  transition: all 0.1s ease;
}

.feedus-receipt-radio:checked {
  border-color: var(--feedus-primary);
}

.feedus-receipt-radio:checked::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 8px;
  height: 8px;
  background-color: var(--feedus-primary);
  border-radius: var(--radius-circle);
}

/* --------------------------------------------------------------------------
   2단계: 분기 영역 공통
   -------------------------------------------------------------------------- */
.feedus-receipt-tax-invoice,
.feedus-receipt-cash {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e0e0e0;
}

/* 확인 체크박스 */
.feedus-receipt-confirm-label {
  display: flex;
  align-items: flex-start;
  gap: var(--space-xs);
  cursor: pointer;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-small);
  color: var(--feedus-black, #1a1a1a);
  margin: 0 0 14px 0 !important;
  line-height: 1.5;
}

.feedus-receipt-confirm-label span {
  margin: 0 !important;
}

/* 커스텀 체크박스 */
.feedus-receipt-checkbox {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: 2px;
  border: 2px solid var(--feedus-gray, #6c757d);
  border-radius: var(--radius);
  cursor: pointer;
  position: relative;
  transition: all 0.1s ease;
}

.feedus-receipt-checkbox:checked {
  background-color: var(--feedus-primary);
  border-color: var(--feedus-primary);
}

.feedus-receipt-checkbox:checked::after {
  content: '';
  position: absolute;
  top: 1px;
  left: 5px;
  width: 5px;
  height: 9px;
  border: solid var(--feedus-white, #fff);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* --------------------------------------------------------------------------
   입력 필드
   -------------------------------------------------------------------------- */
.feedus-receipt-fields {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-bottom: 14px;
}

/* 영수증 인풋/셀렉트 — 글로벌 인풋 토큰 기반 통일 */
.feedus-receipt-input,
.feedus-receipt-select {
  font-family: var(--feedus-font-body);
  font-size: var(--control-font-size, var(--fs-body, 15px));
  color: var(--feedus-black);
  padding: var(--control-padding-y) var(--control-padding-x);
  border: var(--control-border-width) solid var(--feedus-input-border);
  border-radius: var(--control-radius);
  background-color: var(--feedus-input-bg);
  width: 100%;
  transition: border-color var(--feedus-duration-default) ease,
    box-shadow var(--feedus-duration-default) ease;
  -webkit-appearance: none;
  appearance: none;
  line-height: var(--control-line-height);
}

.feedus-receipt-select {
  cursor: pointer;
}

.feedus-receipt-select option {
  font-family: var(--feedus-font-body);
  font-size: var(--control-font-size, var(--fs-body, 15px));
}

.feedus-receipt-input:focus,
.feedus-receipt-select:focus {
  outline: none;
  border-color: var(--feedus-black);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.15);
}

.feedus-receipt-input::placeholder {
  color: var(--feedus-text-muted);
}

.feedus-receipt-cash-fields {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-bottom: 14px;
}

.feedus-receipt-cash-input-wrap {
  margin-top: 10px;
}

/* --------------------------------------------------------------------------
   안내 문구
   -------------------------------------------------------------------------- */
.feedus-receipt-notice {
  margin-top: 14px;
  padding: var(--space-sm);
  background-color: rgba(0, 125, 81, 0.05);
  border-radius: var(--radius);
}

.feedus-receipt-notice p {
  font-family: var(--feedus-font-body);
  font-size: var(--fs-tiny);
  color: var(--feedus-gray, #6c757d);
  line-height: 1.6;
  margin: 0 0 4px 0 !important;
}

.feedus-receipt-notice p:last-child {
  margin-bottom: 0 !important;
}


/* --------------------------------------------------------------------------
   배송지 진입 정보 (공동현관 / 차량 등록)
   - 체크아웃: 고객 상세 위에 렌더
   - 마이계정 /edit-address/shipping/ : 폼 내부에 렌더

   디자인 매칭:
   - 박스 = #customer_details 카드 (흰색 배경, box-shadow, pill 인풋)
   - 타이틀 = .woocommerce-checkout h3 (fs-xl / semibold / letter-spacing)
   - 라벨/인풋 = .woocommerce-checkout .form-row 룰
   -------------------------------------------------------------------------- */

/* 마이계정에서만 보이는 섹션 타이틀 (/edit-address/shipping/) */
.feedus-entry-section-title {
  font-family: var(--feedus-font-heading);
  font-size: var(--fs-xl);
  font-weight: var(--fw-semibold);
  color: var(--feedus-black);
  letter-spacing: -0.03em;
  margin: var(--space-lg) 0 var(--space-sm) 0 !important;
}

/* ── 박스: 흰색 카드 + 연한 라인 ── */
.feedus-entry-box {
  background: #fff;
  border: 1px solid var(--feedus-border-color, #e5e5e5);
  border-radius: var(--feedus-border-radius) !important;
  padding: var(--feedus-card-pad);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  margin: 0 0 var(--space-lg) 0;
}

/* 체크아웃: #customer_details 바로 위에 위치. 카드 간 gap 확보 */
.woocommerce-checkout .feedus-entry-box + #customer_details {
  margin-top: 0;
}

/* ── 타이틀: checkout h3 룰 매칭 ── */
.feedus-entry-main-label {
  font-family: var(--feedus-font-heading);
  font-size: var(--fs-xl);
  font-weight: var(--fw-semibold);
  color: var(--feedus-black);
  letter-spacing: -0.03em;
  margin: 0 0 8px 0 !important;
}

.feedus-entry-required {
  font-family: var(--feedus-font-body);
  color: var(--feedus-primary, #007D51);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  letter-spacing: 0;
  margin-left: 6px;
  vertical-align: middle;
}

.feedus-entry-desc {
  font-family: var(--feedus-font-body);
  font-size: var(--fs-small);
  color: var(--feedus-text-muted, var(--feedus-gray, #6c757d));
  margin: 0 0 24px 0 !important;
}

/* 질문 블록 — 카드 내부 섹션 분리 */
.feedus-entry-question {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--feedus-border-color, #e5e5e5);
}

.feedus-entry-question:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

/* 질문 라벨 — form-row label 스타일 매칭 */
.feedus-entry-q-label {
  display: block;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-bold);
  color: var(--feedus-black);
  letter-spacing: -0.02em;
  margin: 0 0 12px 0 !important;
}

/* 라디오 행 */
.feedus-entry-radio-label {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  cursor: pointer;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  color: var(--feedus-black, #1a1a1a);
  padding: 6px 0;
  margin: 0 !important;
}

.feedus-entry-radio-label span {
  margin: 0 !important;
}

/* 라디오 + 인풋 인라인 행 */
.feedus-entry-radio-label--with-input {
  gap: var(--space-sm);
}

/* 커스텀 라디오 */
.feedus-entry-radio {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 2px solid var(--feedus-gray, #6c757d);
  border-radius: var(--radius-circle);
  cursor: pointer;
  position: relative;
  transition: all 0.1s ease;
}

.feedus-entry-radio:checked {
  border-color: var(--feedus-primary);
}

.feedus-entry-radio:checked::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 8px;
  height: 8px;
  background-color: var(--feedus-primary);
  border-radius: var(--radius-circle);
}

/* 인풋 — checkout form-row input 매칭 (pill, input-bg) */
.feedus-entry-input {
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  color: var(--feedus-black);
  padding: var(--space-xs) var(--space-lg);
  border: 1px solid var(--feedus-input-border);
  border-radius: var(--feedus-border-radius-pill);
  background-color: var(--feedus-input-bg);
  width: 100%;
  transition: border-color var(--feedus-duration-default) ease,
    box-shadow var(--feedus-duration-default) ease;
  -webkit-appearance: none;
  appearance: none;
  line-height: 1.5;
}

.feedus-entry-input--inline {
  flex: 1 1 auto;
  max-width: 320px;
}

.feedus-entry-input:focus {
  outline: none;
  border-color: var(--feedus-black);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);
}

.feedus-entry-input::placeholder {
  color: var(--feedus-text-muted);
}

.feedus-entry-hint {
  font-family: var(--feedus-font-body);
  font-size: var(--fs-small);
  color: var(--feedus-text-muted, var(--feedus-gray, #6c757d));
  line-height: 1.6;
  margin: 12px 0 0 0 !important;
}

/* 차량 등록 필요 선택 시 노출 */
.feedus-entry-vehicle-detail {
  margin: 12px 0 12px 30px;
  padding: var(--space-md);
  background-color: rgba(0, 125, 81, 0.05);
  border-radius: var(--feedus-border-radius);
}

.feedus-entry-vehicle-notice {
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  color: var(--feedus-black);
  line-height: 1.5;
  margin: 0 0 12px 0 !important;
}

.feedus-entry-vehicle-number {
  font-weight: var(--fw-semibold, 600);
  font-size: var(--fs-lead, var(--fs-body));
  color: var(--feedus-primary, #007D51);
  letter-spacing: 0.5px;
}

/* 차량 등록 완료 체크박스 */
.feedus-entry-confirm-label {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  cursor: pointer;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  color: var(--feedus-black, #1a1a1a);
  margin: 0 !important;
  line-height: 1.5;
}

.feedus-entry-confirm-label span {
  margin: 0 !important;
}

.feedus-entry-checkbox {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 2px solid var(--feedus-gray, #6c757d);
  border-radius: 4px;
  cursor: pointer;
  position: relative;
  transition: all 0.1s ease;
}

.feedus-entry-checkbox:checked {
  background-color: var(--feedus-primary);
  border-color: var(--feedus-primary);
}

.feedus-entry-checkbox:checked::after {
  content: '';
  position: absolute;
  top: 1px;
  left: 5px;
  width: 5px;
  height: 9px;
  border: solid var(--feedus-white, #fff);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* ── 인라인 에러: WC 알림 박스 대신 미입력 항목 하단에 빨간 글씨로 안내 ── */
.feedus-entry-error,
.woocommerce-checkout .checkout-inline-error-message,
.woocommerce-checkout p.checkout-inline-error-message {
  margin: 8px 0 0 0 !important;
  padding: 0;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  color: #d62c2c;
  letter-spacing: -0.02em;
  background: transparent !important;   /* WC 기본 배경 박스 제거 */
  border: 0 !important;
}

/* WC 체크아웃 라벨의 필수 표기(*) 를 "(필수)" 로 치환 — 배송지 진입 정보의 (필수) 와 통일 */
.woocommerce-checkout label .required,
.woocommerce-checkout label abbr.required,
.woocommerce-checkout abbr.required {
  font-size: 0 !important;             /* 원본 * 글자 숨김 */
  color: transparent !important;
  border: 0 !important;
  text-decoration: none !important;
}
.woocommerce-checkout label .required::after,
.woocommerce-checkout label abbr.required::after,
.woocommerce-checkout abbr.required::after {
  content: '(필수)';
  font-family: var(--feedus-font-body);
  color: var(--feedus-primary, #007D51);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  letter-spacing: 0;
  margin-left: 6px;
  vertical-align: middle;
  display: inline;
}

/* 검증 실패 시 등록되는 silent marker 알림은 화면에 표시하지 않음 (제출 차단 용도만) */
.woocommerce-error:has(.feedus-silent-notice),
.woocommerce-message:has(.feedus-silent-notice),
.woocommerce-info:has(.feedus-silent-notice),
div[role="alert"]:has(.feedus-silent-notice),
.woocommerce-NoticeGroup:has(.feedus-silent-notice),
.woocommerce-notices-wrapper:has(.feedus-silent-notice) {
  display: none !important;
}

/* 체크아웃/마이계정: form 위 WC 검증 알림박스 일괄 숨김 — 인라인 에러로 대체.
   레이아웃 틀어짐(form 너비 점프) 방지. 토스트(.woocommerce-notices-wrapper) 는 별도. */
body.woocommerce-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout form.checkout > .woocommerce-error,
body.woocommerce-checkout form.checkout > .woocommerce-info,
body.woocommerce-checkout form.checkout > .woocommerce-message,
body.woocommerce-checkout form.checkout > div[role="alert"],
body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-NoticeGroup,
body.woocommerce-account form.edit-account > .woocommerce-error,
body.woocommerce-account form.edit-account > div[role="alert"],
body.woocommerce-account .woocommerce-EditAccountForm > .woocommerce-error,
body.woocommerce-account .woocommerce-EditAccountForm > div[role="alert"],
body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-error,
body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content > div[role="alert"] {
  display: none !important;
}


/* ==========================================================================
   10. THANK YOU PAGE (WPCode id:327)
   ========================================================================== */

/* ==========================================================================
   FEEDUS - Thank You (Order Received) Page Styles
   WPCode #327 [Thank you] CSS 스니펫에 적용
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. 본문 영역 카드 래핑 (글로벌 카드 스타일)
   - 카트/체크아웃 카드와 동일한 패턴 (`흰색 + 라운드 + 라인 + 그림자`)
   - 섹션 컨테이너 안의 `.brxe-block` 을 카드로 묶어서 베이지 배경에서 구분
   -------------------------------------------------------------------------- */
body.woocommerce-order-received .woocommerce > .brxe-section .brxe-container > .brxe-block {
  background: var(--feedus-white, #ffffff);
  border: 1px solid var(--feedus-border-color);
  border-radius: var(--feedus-border-radius);
  padding: var(--feedus-card-pad) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* 컨테이너 자체는 카드 사이 gap 만 담당 (베이지 배경 그대로)
   — 좌우 패딩 제거: 카드 블록이 자체 패딩을 갖고 있으므로 중첩 방지 */
body.woocommerce-order-received .woocommerce > .brxe-section .brxe-container:has(> .brxe-block) {
  gap: var(--space-sm) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 카드 안 텍스트 단락 — 마지막 단락의 하단 마진 제거 (카드 패딩과 이중 여백 방지) */
body.woocommerce-order-received .woocommerce > .brxe-section .brxe-container > .brxe-block .brxe-text-basic {
  margin-bottom: 0 !important;
}
body.woocommerce-order-received .woocommerce > .brxe-section .brxe-container > .brxe-block .brxe-text-basic:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* 헤더 블록 (h3 "주문이 접수되었습니다…") — 상하 패딩 확대 (기본 카드보다 약 3배) */
body.woocommerce-order-received .woocommerce > .brxe-section .brxe-container > .brxe-block:has(> .brxe-heading) {
  padding-top: var(--space-3xl) !important;
  padding-bottom: var(--space-3xl) !important;
}
@media screen and (min-width: 768px) {
  body.woocommerce-order-received .woocommerce > .brxe-section .brxe-container > .brxe-block:has(> .brxe-heading) {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
}
/* heading 과 본문 단락 사이 적당한 간격 */
body.woocommerce-order-received .woocommerce > .brxe-section .brxe-container > .brxe-block > .brxe-heading {
  margin-bottom: var(--space-md) !important;
}

/* --------------------------------------------------------------------------
   1. 주문 요약 리스트 숨김 (JS 로드 전 깜빡임 방지)
   -------------------------------------------------------------------------- */
.woocommerce-thankyou-order-received,
.woocommerce-order-overview.woocommerce-thankyou-order-details {
  display: none !important;
}

.woocommerce-table--order-details .shipped_via {
  display: none !important;
}

/* 결제 방법 행 숨김 */
.woocommerce-table--order-details tfoot tr.feedus-hide {
  display: none !important;
}

/* --------------------------------------------------------------------------
   1-1. 은행 세부 사항(BACS) 섹션 완전 제거
   -------------------------------------------------------------------------- */
section.woocommerce-bacs-bank-details {
  display: none !important;
}

/* --------------------------------------------------------------------------
   2. 주문 상품 정보 테이블 - border 제거
   -------------------------------------------------------------------------- */
.woocommerce-order-details .woocommerce-table--order-details,
.woocommerce-order-details .woocommerce-table--order-details th,
.woocommerce-order-details .woocommerce-table--order-details td,
.woocommerce-order-details .woocommerce-table--order-details tr,
.woocommerce-order-details .woocommerce-table--order-details thead,
.woocommerce-order-details .woocommerce-table--order-details tbody,
.woocommerce-order-details .woocommerce-table--order-details tfoot {
  border: none !important;
  border-collapse: collapse;
}

/* 행 간 구분선: 얇은 하단 라인만 유지 */
.woocommerce-order-details .woocommerce-table--order-details tbody tr {
  border-bottom: 1px solid var(--feedus-border-color) !important;
}

.woocommerce-order-details .woocommerce-table--order-details tfoot tr {
  border-bottom: 1px solid var(--feedus-border-color) !important;
}

.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child {
  border-bottom: none !important;
}

/* 테이블 셀 패딩 */
.woocommerce-order-details .woocommerce-table--order-details th,
.woocommerce-order-details .woocommerce-table--order-details td {
  padding: var(--space-sm-plus) 0 !important;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  color: var(--feedus-black);
}

/* tfoot 셀: 배경색이 가장자리에 딱 붙지 않도록 좌우 패딩 추가 */
.woocommerce-order-details .woocommerce-table--order-details tfoot th {
  padding-left: var(--space-md) !important;
  padding-right: var(--space-sm) !important;
}
.woocommerce-order-details .woocommerce-table--order-details tfoot td {
  padding-left: var(--space-sm) !important;
  padding-right: var(--space-md) !important;
}

/* 다시 담기 버튼(.order-again): 테이블과 간격 확보 */
.woocommerce-order-details .order-again {
  margin-top: var(--space-xl) !important;
}

/* tfoot 블록 전체에 글로벌 border-radius 적용 (모서리 셀의 코너만 라운드) */
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:first-child th {
  border-top-left-radius: var(--feedus-border-radius);
}
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:first-child td:last-child {
  border-top-right-radius: var(--feedus-border-radius);
}
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child th {
  border-bottom-left-radius: var(--feedus-border-radius);
}
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child td:last-child {
  border-bottom-right-radius: var(--feedus-border-radius);
}

/* thead 숨김 */
.woocommerce-order-details .woocommerce-table--order-details thead {
  display: none;
}

/* 상품명 */
.woocommerce-order-details .woocommerce-table--order-details .product-name {
  font-weight: var(--fw-regular);
}

.woocommerce-order-details .woocommerce-table--order-details .product-name a {
  color: var(--feedus-black);
  text-decoration: none;
  font-weight: var(--fw-regular);
}

/* 수량 */
.woocommerce-order-details .woocommerce-table--order-details .product-quantity {
  font-weight: var(--fw-medium);
}

/* 가격 우측 정렬 */
.woocommerce-order-details .woocommerce-table--order-details .product-total,
.woocommerce-order-details .woocommerce-table--order-details td:last-child {
  text-align: right;
}

/* tfoot: 소계, 배송, 총계 */
.woocommerce-order-details .woocommerce-table--order-details tfoot th {
  font-weight: var(--fw-regular);
}

.woocommerce-order-details .woocommerce-table--order-details tfoot td {
  text-align: right;
}

/* --------------------------------------------------------------------------
   2-1. 총계 행 강조 (34px 가격)
   .feedus-total-row 클래스로 타겟팅 (주의 행이 뒤에 올 수 있으므로)
   -------------------------------------------------------------------------- */
.woocommerce-order-details .woocommerce-table--order-details tfoot tr.feedus-total-row th,
.woocommerce-order-details .woocommerce-table--order-details tfoot tr.feedus-total-row td {
  font-weight: var(--fw-semibold) !important;
  font-size: var(--fs-lead) !important;
  padding-top: 20px !important;
}

.woocommerce-order-details .woocommerce-table--order-details tfoot tr.feedus-total-row td .woocommerce-Price-amount,
.woocommerce-order-details .woocommerce-table--order-details tfoot tr.feedus-total-row td .woocommerce-Price-amount span {
  font-size: var(--fs-2xl) !important;
  font-weight: var(--fw-semibold) !important;
  line-height: 1.2 !important;
}

/* --------------------------------------------------------------------------
   2-2. 주의메세지 행
   총계 뒤에 동적으로 추가됨 — feedus-total-row가 아닌 마지막 행
   총계가 마지막이면 이 스타일은 feedus-total-row에 의해 덮어씌워짐
   -------------------------------------------------------------------------- */
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child:not(.feedus-total-row) th {
  font-size: 0 !important;
}
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child:not(.feedus-total-row) th::before {
  content: "주의 메세지" !important;
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  color: var(--feedus-black);
}

/* --------------------------------------------------------------------------
   3. 청구 주소 숨김
   -------------------------------------------------------------------------- */
.woocommerce-column--billing-address {
  display: none !important;
}

/* --------------------------------------------------------------------------
   4. 배송지 정보 스타일
   -------------------------------------------------------------------------- */
.woocommerce-column--shipping-address {
  width: 100% !important;
}

/* 2컬럼 레이아웃 → 1컬럼으로 (청구 주소 삭제 후) */
.woocommerce-columns--addresses {
  display: block !important;
}

.woocommerce-column--shipping-address .woocommerce-column__title {
  font-family: var(--feedus-font-heading);
  font-size: 18px;
  font-weight: var(--fw-semibold);
  color: var(--feedus-black);
  margin-bottom: 12px !important;
}

.woocommerce-column--shipping-address address {
  font-style: normal;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  line-height: 1.8;
  color: var(--feedus-black);
}

.woocommerce-column--shipping-address .woocommerce-customer-details--phone {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
}

/* --------------------------------------------------------------------------
   5. 주문 상품 정보 / 배송지 정보 제목 스타일
   -------------------------------------------------------------------------- */
.woocommerce-order-details__title,
.woocommerce-column--shipping-address .woocommerce-column__title {
  font-family: var(--feedus-font-heading);
  font-size: var(--fs-2xl) !important;
  font-weight: var(--fw-semibold);
  color: var(--feedus-black);
  margin-bottom: 16px !important;
}

@media screen and (max-width: 767px) {
  .woocommerce-order-details__title,
  .woocommerce-column--shipping-address .woocommerce-column__title {
    font-size: var(--fs-xl) !important;
  }
}

/* --------------------------------------------------------------------------
   6. 전체 감사 페이지 섹션 간격
   -------------------------------------------------------------------------- */
.woocommerce-order-details {
  margin-top: 10px;
  margin-bottom: 30px;
}

.woocommerce-customer-details {
  margin-top: 10px;
}


/* ==========================================================================
   11. MY ACCOUNT - Navigation & Layout (WPCode id:363, id:372)
   ========================================================================== */

/* ==========================================================================
   FEEDUS - My Account 페이지 스타일
   WPCode snippet #363 (CSS 스니펫 - 사이트 전체 헤더)
   ========================================================================== */

/* 대시보드 인사말 & 안내 문구 숨김 */
.woocommerce-MyAccount-content > p:first-of-type,
.woocommerce-MyAccount-content > p:nth-of-type(2) {
  display: none;
}

/* 주문 보기/결제 버튼 - 보조(.feedus-btn-secondary) 스타일 적용
   다크그레이 ghost, pill 모양, fs-small, fw-medium */
.woocommerce-MyAccount-orders .woocommerce-button.button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-small) !important;
  font-weight: var(--fw-medium) !important;
  color: var(--feedus-gray) !important;
  background-color: transparent !important;
  border: 1px solid var(--feedus-gray) !important;
  border-radius: var(--feedus-border-radius-pill) !important;
  padding: var(--space-2xs) 14px !important;
  line-height: 1 !important;
  min-height: 0 !important;
  height: auto !important;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--feedus-duration-default) ease;
}

.woocommerce-MyAccount-orders .woocommerce-button.button:hover,
.woocommerce-MyAccount-orders .woocommerce-button.button:focus-visible {
  background-color: var(--feedus-gray) !important;
  color: #ffffff !important;
  border-color: var(--feedus-gray) !important;
}

/* 주문 테이블 셀 패딩 - row 간격 여유 */
.woocommerce-MyAccount-orders th,
.woocommerce-MyAccount-orders td {
  padding: 14px 8px;
  vertical-align: middle;
}

/* 총계 셀의 가격 - "n개 항목에 대한 총액" 텍스트와 동일 크기, bold만 유지 */
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-total .woocommerce-Price-amount {
  font-size: inherit;
}

.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-total .woocommerce-Price-amount strong {
  font-weight: var(--fw-bold);
  font-size: inherit;
}

/* 주문 목록 "총계" 셀: 대표 상품명 / 가격 2줄 통일 */
.woocommerce-orders-table .woocommerce-orders-table__cell-order-total {
  line-height: 1.4;
}
.woocommerce-orders-table .feedus-order-total-name,
.woocommerce-orders-table .feedus-order-total-amount {
  display: block;
}
.woocommerce-orders-table .feedus-order-total-name {
  font-size: var(--fs-small);
  color: var(--feedus-black);
  opacity: 0.75;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
}
.woocommerce-orders-table .feedus-order-total-amount {
  font-weight: var(--fw-semibold);
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
}
.woocommerce-orders-table .feedus-order-total-amount .woocommerce-Price-amount {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
}

/* --------------------------------------------------------------------------
   주문 목록 더보기 (load-more) 버튼
   .feedus-btn-secondary 스타일을 그대로 사용, 중앙 정렬 + 상단 여백만 보정
   -------------------------------------------------------------------------- */
.feedus-orders-loadmore-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
  margin-top: var(--space-lg);
}

.feedus-orders-load-more {
  min-width: 160px;
}

/* 로딩 인디케이터 (버튼 클릭 후 fetch 중에만 표시) */
.feedus-orders-loading {
  display: none;
  align-items: center;
  gap: 8px;
  color: var(--feedus-black);
  opacity: 0.6;
  font-size: var(--fs-small);
}

.feedus-orders-loading.is-loading {
  display: flex;
}

/* 네비게이션 li 기본 마진 제거 (좌우 패딩은 아래 탭 디자인의 a 로 이동) */
.woocommerce-MyAccount-navigation-link {
  margin-bottom: 0;
}

/* 주소 표시 페이지: "배송 시 사용될 기본 주소입니다" 숨김 */
.woocommerce-Addresses ~ p,
.woocommerce-MyAccount-content > p {
  display: none;
}

/* 편집 링크: header 안에서 h2 아래로 배치 */
.woocommerce-Address-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.woocommerce-Address-title .edit {
  order: 2 !important;
  font-size: var(--fs-small) !important;
  font-weight: var(--fw-regular) !important;
  color: var(--feedus-black) !important;
  text-decoration: underline !important;
  margin-top: 4px !important;
}

/* JS로 이동된 편집 링크: 보조 버튼 스타일 (feedus-btn feedus-btn-secondary) 사용,
   여기서는 주소 텍스트와의 간격만 보정 */
.feedus-edit-address-link {
  margin-top: var(--space-md);
}

/* 우편번호 검색 버튼 */
.feedus-postcode-search {
  margin-left: 8px;
  padding: var(--space-2xs) var(--space-md);
  background: var(--feedus-primary);
  color: #fff !important;
  border: 1px solid var(--feedus-primary) !important;
  border-radius: var(--feedus-border-radius-pill) !important;
  cursor: pointer;
  font-size: var(--fs-small);
  white-space: nowrap;
  transition: all var(--feedus-duration-default) ease;
}

.feedus-postcode-search:hover {
  background: transparent;
  color: var(--feedus-primary) !important;
}

/* 읽기전용 필드 스타일 */
.woocommerce-address-fields input[readonly] {
  background-color: #f5f5f5;
  cursor: pointer;
}

/* --------------------------------------------------------------------------
   내 계정 네비게이션: 불필요한 메뉴 숨김
   (대시보드, 다운로드, 계정 정보)
   -------------------------------------------------------------------------- */
.woocommerce-MyAccount-navigation-link--dashboard,
.woocommerce-MyAccount-navigation-link--downloads,
.woocommerce-MyAccount-navigation-link--edit-account {
  display: none !important;
}

/* --------------------------------------------------------------------------
   내 계정 레이아웃: 좌측 사이드바 → 상단 가로 탭
   - PC/모바일 모두 동일한 언더라인 탭 UI
   - 콘텐츠 영역은 다른 페이지보다 좁게 (960px) 제한해 가독성 강화
   -------------------------------------------------------------------------- */

/* 컨테이너: 2-컬럼 사이드바 → 1-컬럼 세로 스택, 폭 제한
   상단 여백: 헤더와 시각적 분리를 위한 breathing room
   gap: 탭바와 콘텐츠 사이 여유 공간 */
.woocommerce-account .woocommerce {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--space-sm);
  max-width: 960px;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100%;
}

/* 상단 탭바 — 흰색 배경 카드 */
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: var(--space-2xs) var(--space-sm) !important;
  border: 1px solid var(--feedus-border-color);
  border-radius: var(--feedus-border-radius);
  background: var(--feedus-white) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  width: 100%;
}

/* 탭 li — 패딩 0 (a 가 클릭 영역 담당), 가로 정렬을 위해 width auto 강제 */
.woocommerce-account .woocommerce-MyAccount-navigation-link {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  width: auto !important;
  flex: 0 0 auto !important;
  list-style: none !important;
}

/* 탭 링크 a — 실제 클릭 영역 (상하 타이트) */
.woocommerce-account .woocommerce-MyAccount-navigation-link a {
  display: inline-block;
  padding: 6px var(--space-md);
  font-size: var(--fs-base);
  font-weight: var(--fw-medium);
  line-height: 36px !important;
  color: var(--feedus-black);
  opacity: 0.6;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color var(--feedus-duration-default) ease,
              opacity var(--feedus-duration-default) ease,
              border-color var(--feedus-duration-default) ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
  opacity: 1;
  color: var(--feedus-primary);
}

/* 활성 탭 */
.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
  opacity: 1;
  color: var(--feedus-primary);
  border-bottom-color: var(--feedus-primary);
  font-weight: var(--fw-bold);
}

/* 로그아웃 항목만 우측 끝으로 배치 (flex 자동 여백) */
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
  margin-left: auto !important;
}

/* 콘텐츠 영역: 흰색 카드 (탭바와 동일한 스타일) */
.woocommerce-account .woocommerce-MyAccount-content {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  background: var(--feedus-white) !important;
  border: 1px solid var(--feedus-border-color);
  border-radius: var(--feedus-border-radius);
  padding: var(--space-lg) var(--space-xl) !important;
}

@media screen and (max-width: 767px) {
  .woocommerce-account .woocommerce-MyAccount-content {
    padding: var(--space-md) !important;
  }
}

/* --------------------------------------------------------------------------
   글로벌 header 셀렉터 리셋
   feedus-global.css의 `header` 셀렉터가 WooCommerce <header> 태그에
   position:fixed 등을 적용하여 레이아웃이 깨지는 문제 수정
   -------------------------------------------------------------------------- */
.woocommerce-Address-title,
.woocommerce-MyAccount-content header {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  z-index: auto !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  transition: none !important;
}

/* 주소 제목 h2 스타일 */
.woocommerce-Address-title h2 {
  font-size: var(--fs-lead) !important;
  color: var(--feedus-black) !important;
}

/* 주소 컨테이너 overflow 리셋 (편집 링크가 잘리지 않도록) */
.woocommerce-Addresses,
.woocommerce-Addresses .woocommerce-Address {
  overflow: visible !important;
}

/* 주소 카드 리셋: 테두리/패딩/라운드 제거, 배경은 화이트, 좌정렬 */
.woocommerce-Address {
  background: var(--feedus-white) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* 주소 텍스트: italic 제거, 좌정렬, 본문 색상 */
.woocommerce-Address address {
  font-style: normal !important;
  text-align: left !important;
  color: var(--feedus-black) !important;
}

.woocommerce-Address-title {
  text-align: left !important;
  padding: 0 !important;
  background: transparent !important;
}

/* --------------------------------------------------------------------------
   청구 주소 숨김 (배송 주소만 표시)
   -------------------------------------------------------------------------- */
.woocommerce-Addresses .woocommerce-Address:first-child {
  display: none !important;
}

/* 배송 주소를 전체 너비로 */
.woocommerce-Addresses .woocommerce-Address:last-child {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* --------------------------------------------------------------------------
   주소 편집 폼 페이지 (/edit-address/shipping/)
   -------------------------------------------------------------------------- */

/* 배송 주소 편집 제목 */
.woocommerce-address-fields ~ h2,
.woocommerce-MyAccount-content > form > h2 {
  font-size: var(--fs-xl) !important;
  color: var(--feedus-black) !important;
  margin-bottom: 20px !important;
}

/* 성(last_name) 필드 숨김 */
#shipping_last_name_field {
  display: none !important;
}

/* 이름 필드를 전체 너비로 (성 필드 숨겼으므로) */
#shipping_first_name_field {
  width: 100% !important;
  float: none !important;
}

/* 국가 필드 숨김 (한국 고정) */
#shipping_country_field {
  display: none !important;
}

/* 시/도 필드 숨김 (카카오 API가 자동 입력) */
#shipping_city_field {
  display: none !important;
}

/* 우편번호 필드 숨김 (카카오 API가 자동 입력) */
#shipping_postcode_field {
  display: none !important;
}

/* 주소 검색 버튼 스타일은 시스템 보조 버튼(.feedus-btn-secondary) 정의에서 처리 */

/* 읽기전용 필드 배경 */
.woocommerce-address-fields input[readonly] {
  background-color: #f5f5f5 !important;
  cursor: pointer;
}

/* 전화번호 필드: 전체 너비 */
#shipping_phone_field {
  width: 100% !important;
}

/* ==========================================================================
   FEEDUS - 로그아웃 상태 로그인 폼 스타일
   WooCommerce My Account 로그인 페이지
   ========================================================================== */

/* 로그인 폼 가운데 정렬 */
.woocommerce-account .woocommerce-form-login {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

/* 로그인 제목(h2) 가운데 정렬 */
.woocommerce-account #brxe-trvuhl > h2 {
  text-align: center;
}

/* 로그인 폼 테두리 제거 */
.woocommerce-account .woocommerce-form-login {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}


/* ==========================================================================
   12. MY ACCOUNT - Address Edit (WPCode id:371)
   ========================================================================== */

/* ==========================================================================
   FEEDUS - WooCommerce Address Fields
   체크아웃 & 마이어카운트 주소 편집 페이지 스타일
   ========================================================================== */

/* --------------------------------------------------------------------------
   주소 편집 페이지 폰트 크기
   -------------------------------------------------------------------------- */
.woocommerce-address-fields h2 {
  font-size: var(--fs-2xl) !important;
}

.woocommerce-address-fields label,
.woocommerce-address-fields input,
.woocommerce-address-fields select,
.woocommerce-address-fields .button {
  font-size: var(--fs-body) !important;
}

/* --------------------------------------------------------------------------
   카카오 주소 검색 버튼 — 컨텍스트별 강제 적용 (체크아웃 + 주소 편집)
   기본 시스템 정의(.feedus-btn-secondary)를 우선시키되,
   WooCommerce/Bricks 의 후속 button 스타일을 누르기 위해 !important 동반
   -------------------------------------------------------------------------- */
button.feedus-btn-secondary,
button.feedus-address-search-btn,
.woocommerce-address-fields button.feedus-address-search-btn,
.woocommerce-checkout button.feedus-address-search-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: var(--feedus-font-body) !important;
  font-size: var(--fs-body) !important;
  font-weight: var(--fw-medium) !important;
  color: var(--feedus-gray) !important;
  background-color: transparent !important;
  border: 1px solid var(--feedus-gray) !important;
  border-radius: var(--feedus-border-radius-pill) !important;
  padding: var(--space-2xs) 18px !important;
  margin-bottom: 10px !important;
  cursor: pointer !important;
  transition: all var(--feedus-duration-default) ease !important;
  line-height: 1 !important;
}

button.feedus-btn-secondary:hover,
button.feedus-btn-secondary:focus-visible,
button.feedus-address-search-btn:hover,
button.feedus-address-search-btn:focus-visible,
.woocommerce-address-fields button.feedus-address-search-btn:hover,
.woocommerce-checkout button.feedus-address-search-btn:hover {
  background-color: var(--feedus-gray) !important;
  color: #ffffff !important;
  border-color: var(--feedus-gray) !important;
}

button.feedus-btn-secondary span,
button.feedus-btn-secondary svg,
button.feedus-address-search-btn span,
button.feedus-address-search-btn svg {
  font-size: var(--fs-body) !important;
  line-height: 1 !important;
  margin-bottom: 0 !important;
  color: inherit !important;
}

button.feedus-btn-secondary svg,
button.feedus-address-search-btn svg {
  flex-shrink: 0 !important;
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
}


/* ==========================================================================
   13. MY ACCOUNT - Login/Register (WPCode id:547)
   ========================================================================== */

/* ==========================================================================
   FEEDUS - MY ACCOUNT 로그인/회원가입 페이지 개선
   WPCode CSS 스니펫으로 등록
   ========================================================================== */

/* "MY 피더스" 제목 블록 숨김 */
#brxe-fdwsgo {
  display: none !important;
}

/* --------------------------------------------------------------------------
   비로그인 상태: 헤더 "내 계정" → "로그인" 텍스트 변경
   -------------------------------------------------------------------------- */
body:not(.logged-in) .feedus-header__account {
  visibility: hidden !important;
  position: relative;
  font-size: 0 !important;
}

body:not(.logged-in) .feedus-header__account::after {
  content: "로그인";
  visibility: visible;
  font-size: var(--fs-body);
}

body:not(.logged-in) .feedus-mobile-menu a[href="/my-account"],
body:not(.logged-in) .feedus-mobile-menu a[href*="my-account"] {
  visibility: hidden !important;
  position: relative;
  font-size: 0 !important;
}

body:not(.logged-in) .feedus-mobile-menu a[href="/my-account"]::after,
body:not(.logged-in) .feedus-mobile-menu a[href*="my-account"]::after {
  content: "로그인";
  visibility: visible;
  font-size: var(--fs-body);
}

/* --------------------------------------------------------------------------
   카카오 로그인 버튼 (JS로 삽입됨)
   -------------------------------------------------------------------------- */
.feedus-kakao-wrap {
  margin-bottom: 8px;
}

.feedus-kakao-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  width: 100%;
  padding: var(--space-md) var(--space-xl);
  background-color: #FEE500;
  color: #191919 !important;
  border: none;
  border-radius: var(--feedus-border-radius-pill);
  font-family: var(--feedus-font-body);
  font-size: var(--fs-lead);
  font-weight: var(--fw-semibold);
  cursor: pointer;
  transition: background-color 0.2s ease;
  text-decoration: none !important;
  line-height: 1.4;
}

.feedus-kakao-btn:hover {
  background-color: #F0D900;
  color: #191919 !important;
  text-decoration: none !important;
}

.feedus-kakao-btn svg {
  flex-shrink: 0;
}

.feedus-kakao-btn span {
  color: #191919 !important;
  font-size: var(--fs-lead) !important;
  font-weight: var(--fw-semibold) !important;
  margin: 0 !important;
}

/* "또는" 구분선 */
.feedus-divider {
  display: flex;
  align-items: center;
  text-align: center;
  padding: var(--space-3xl) 0;
}

.feedus-divider::before,
.feedus-divider::after {
  content: "";
  flex: 1;
  border-bottom: 1px solid var(--feedus-primary);
}

.feedus-divider span {
  padding: 0 14px;
  color: var(--feedus-black);
  font-family: var(--feedus-font-body);
  font-size: var(--fs-small) !important;
  font-weight: var(--fw-regular) !important;
  margin: 0 !important;
  line-height: 1;
}

/* --------------------------------------------------------------------------
   로그인/회원가입 폼 레이아웃
   -------------------------------------------------------------------------- */
.woocommerce-account .u-columns {
  display: flex;
  flex-direction: column;
  gap: 60px;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.woocommerce-account .u-columns .u-column1 {
  width: 100% !important;
  max-width: 100% !important;
  flex: none;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-account .u-columns .u-column2 {
  width: calc(100% + 40px) !important;
  max-width: calc(100% + 40px) !important;
  flex: none;
  margin: 0 -20px !important;
}

/* 로그인/회원가입 제목 가운데 정렬 */
.woocommerce-account .u-column1 > h2,
.woocommerce-account .u-column2 > h2 {
  text-align: center;
}

.woocommerce-account .u-column1 > h2 {
  padding-bottom: 10px;
}

/* 라벨 하단 마진 축소 */
.woocommerce-account .u-columns label {
  margin-bottom: 5px !important;
  margin-top: 0 !important;
}

/* 이 페이지 폰트 16px */
.woocommerce-account .u-columns p,
.woocommerce-account .u-columns .brxe-text-basic,
.woocommerce-account .u-columns li,
.woocommerce-account .u-columns span,
.woocommerce-account .u-columns label,
.woocommerce-account .u-columns select,
.woocommerce-account .u-columns option,
.woocommerce-account .u-columns textarea {
  font-size: var(--fs-body) !important;
}

/* p 하단 마진 축소 */
.woocommerce-account .u-columns p {
  margin-bottom: 10px !important;
}

/* 폼 내부 갭 축소 */
.woocommerce-account .woocommerce-form-login:not([class^=brxe-]),
.woocommerce-account .woocommerce-form-register:not([class^=brxe-]) {
  gap: 6px !important;
}

/* 비밀번호 필드 하단 마진 제거 */
.woocommerce-account .u-columns .form-row-wide:has(#password) {
  margin-bottom: 0 !important;
}

/* 로그인 버튼 풀너비 */
.woocommerce-account .woocommerce-form-login__submit {
  width: 100% !important;
  padding: var(--space-md) var(--space-xl) !important;
  font-size: var(--fs-lead) !important;
  font-weight: var(--fw-semibold) !important;
}

/* 비밀번호 분실 링크 + 개인정보 보호정책 텍스트 크기 */
.woocommerce-account .lost_password,
.woocommerce-account .lost_password a,
.woocommerce-account .woocommerce-privacy-policy-text p,
.woocommerce-account .woocommerce-privacy-policy-text a {
  font-size: var(--fs-body) !important;
}

/* 회원가입 섹션 */
.woocommerce-account .u-columns .u-column2 {
  background-color: #F5FAF8 !important;
  border: 1px solid #F5FAF8 !important;
  border-radius: var(--radius) !important;
  padding: var(--space-2xl) var(--space-lg) !important;
}

.woocommerce-account .u-column2 > h2 {
  font-size: var(--fs-2xl) !important;
}

.woocommerce-account .woocommerce-form-register {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* ==========================================================================
   13-B. 배송안내 페이지 (page-id-821) — 섹션 내 간격 조정
   ========================================================================== */

/* 섹션 상하 패딩 축소 — 섹션끼리 너무 벌어지지 않게 */
.page-id-821 .brxe-section {
  padding-top: 32px;
  padding-bottom: 32px;
}
@media (min-width: 768px) {
  .page-id-821 .brxe-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

/* h3 제목 — 크게 + 굵게 + 아래 콘텐츠 간격 */
.page-id-821 .brxe-section h3.brxe-heading {
  font-size: 28px !important;
  font-weight: var(--fw-bold) !important;
  margin-bottom: 16px !important;
}
@media (min-width: 768px) {
  .page-id-821 .brxe-section h3.brxe-heading {
    font-size: 32px !important;
  }
}

/* 테이블(닌자테이블) ↔ 아래 텍스트 간격 */
.page-id-821 .brxe-shortcode {
  margin-bottom: 20px;
}

/* 안내 텍스트 하단 마진 제거 (섹션 끝이므로 불필요) */
.page-id-821 .brxe-section p.brxe-text-basic:last-child {
  margin-bottom: 0 !important;
}

/* 블록 내부 자식 간격 */
.page-id-821 .brxe-section .brxe-block {
  gap: 16px;
}

/* ── 닌자테이블 미니멀 스타일 (배송안내 비교표) ── */
#footable_818,
.foo_table_818 {
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  background: transparent !important;
  font-family: var(--feedus-font-body) !important;
  font-size: 14px !important;
}

#footable_818 thead tr {
  background: transparent !important;
}

#footable_818 thead th {
  background: transparent !important;
  border: none !important;
  color: var(--feedus-black) !important;
  font-weight: var(--fw-semibold) !important;
  font-size: 18px !important;
  padding: 14px 16px 24px !important;
  text-align: left !important;
  vertical-align: bottom !important;
}

/* 농장 직배송 / 택배 발송 아이콘 — th 위에 ::before 로 삽입 */
#footable_818 thead th.ninja_column_1,
#footable_818 thead th.ninja_column_2 {
  position: relative;
}

#footable_818 thead th.ninja_column_1::before,
#footable_818 thead th.ninja_column_2::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  margin-bottom: 15px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* 헤더 2·3열 글자색 프라이머리 */
#footable_818 thead th.ninja_column_1,
#footable_818 thead th.ninja_column_2 {
  color: var(--feedus-primary) !important;
  font-weight: 800 !important;
}

/* 본문 2·3열 글자색 피더스블랙 + 15px */
#footable_818 tbody td.ninja_column_1,
#footable_818 tbody td.ninja_column_2 {
  color: var(--feedus-black) !important;
  font-weight: 600 !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

/* 농장 직배송 — 농장(barn + leaf) 아이콘 */
#footable_818 thead th.ninja_column_1::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 24 24' fill='none' stroke='%23416434' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 22V8l9-6 9 6v14'/%3E%3Cpath d='M3 22h18'/%3E%3Cpath d='M9 22v-6h6v6'/%3E%3Cpath d='M9 10h6'/%3E%3Cpath d='M12 7v3'/%3E%3C/svg%3E");
}

/* 택배 발송 — 트럭 아이콘 */
#footable_818 thead th.ninja_column_2::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24' fill='none' stroke='%23416434' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13' rx='1'/%3E%3Cpath d='M16 8h4l3 3v5h-7V8z'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E");
}

#footable_818 tbody tr {
  background: transparent !important;
  border: none !important;
}

#footable_818 tbody tr:nth-child(even),
#footable_818 tbody tr:nth-child(odd),
#footable_818 tbody tr.ninja_table_row_0,
#footable_818 tbody tr.ninja_table_row_1,
#footable_818 tbody tr.ninja_table_row_2,
#footable_818 tbody tr.ninja_table_row_3,
#footable_818 tbody tr.ninja_table_row_4,
#footable_818 tbody tr.ninja_table_row_5 {
  background: transparent !important;
}

#footable_818 tbody td {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #e8e5e0 !important;
  color: var(--feedus-black) !important;
  font-size: 14px !important;
  font-weight: var(--fw-regular) !important;
  padding: 18px 16px !important;
  text-align: left !important;
  line-height: 1.6 !important;
  vertical-align: top !important;
}

#footable_818 tbody td.footable-first-visible {
  font-weight: var(--fw-medium) !important;
  color: var(--feedus-black) !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

#footable_818 tbody tr:last-child td {
  border-bottom: none !important;
}

#footable_818 tbody tr:hover td {
  background: transparent !important;
}

/* 2·3열(농장 직배송 / 택배 발송) 동일 너비 */
#footable_818 .ninja_column_1,
#footable_818 .ninja_column_2 {
  width: 35% !important;
}

/* 닌자테이블 wrapper 배경/그림자 제거 */
#footable_parent_818 {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

@media (max-width: 767px) {
  #footable_818 tbody td {
    padding: 14px 10px !important;
    font-size: 13px !important;
  }
  #footable_818 thead th {
    padding: 14px 10px 24px !important;
    font-size: 18px !important;
  }
  #footable_818 .ninja_column_0 {
    width: 20% !important;
  }
  #footable_818 .ninja_column_1,
  #footable_818 .ninja_column_2 {
    width: 40% !important;
  }
}


/* ==========================================================================
   14. KAKAO MAP — 배송 권역 (feedus-map.js)
   - 메인/서브페이지의 `<div id="feedus-map">` 에 카카오 지도가 렌더됨
   - 폴리곤 색상 자체는 JS 의 DELIVERY_COLORS 에서 관리 (요일별)
   - 여기는 컨테이너 / 범례 / 인포윈도우 등 부속 UI 만 담당
   ========================================================================== */

#feedus-map {
  width: 100%;
  /* height 는 인라인 또는 Bricks 에서 지정 (현재 메인은 500px 인라인)
     검색 박스는 #brxe-rjdlac 안에서 지도의 형제로 상단에 삽입됨 */
  border-radius: var(--feedus-border-radius);
  overflow: hidden;
  background: #f3f4f5; /* SDK 로딩 전 placeholder */
}

/* 카카오 지도 타일 이미지만 채도 낮춤 — 폴리곤(SVG path)/라벨 뱃지/검색 마커는 컬러 유지.
   카카오 SDK는 타일을 daumcdn 호스트 <img> 로 렌더하므로 src 셀렉터로 좁힌다.
   mapjsapi 경로의 SDK 자산(마커 등)은 제외 — 우리는 어차피 data URI 마커를 쓰지만 이중 안전장치.
   sepia() 로 차가운 회색 → 따뜻한 베이지 그레이 (피더스 --feedus-bg-beige #EEECE7 톤) 보정. */
#feedus-map img[src*="daumcdn"]:not([src*="mapjsapi"]),
#feedus-map img[src*="map.daum"]:not([src*="mapjsapi"]) {
  filter: grayscale(100%) sepia(32%) saturate(0.55) brightness(1.05);
}

/* (구) 검색 오버레이용 min-height 보강 — 검색 박스가 지도 상단 별도 div 로 분리되어 더 이상 필요 없음 */

/* 요일별 컬러 범례 (JS 가 지도 컨테이너 안쪽 우하단에 삽입) */
.feedus-map-legend {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid var(--feedus-border-color);
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  font-family: var(--feedus-font-body);
  font-size: 0.8rem;
  color: var(--feedus-black);
}

.feedus-map-legend-title {
  font-size: 0.75rem;
  font-weight: var(--fw-semibold);
  color: var(--feedus-black);
  padding-bottom: 6px;
  margin-bottom: 2px;
  border-bottom: 1px solid var(--feedus-border-color);
  letter-spacing: 0.02em;
}

.feedus-map-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  margin: 0 !important;   /* 글로벌 span/p 마진 차단 */
}

.feedus-map-legend-item i {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 3px;
  border: 1px solid;
  opacity: 0.85;
}

/* 권역 묶음 라벨 뱃지 (인천/서서울/평택 등) — 폴리곤 위에 떠있음 */
.feedus-map-pin {
  display: inline-block;
  padding: 4px 10px;
  background: var(--pin-bg, #888);
  color: #ffffff;
  border: 1px solid var(--pin-bd, #555);
  border-radius: 999px;
  font-family: var(--feedus-font-body);
  font-size: 0.75rem;
  font-weight: var(--fw-semibold);
  white-space: nowrap;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  user-select: none;
  pointer-events: none;   /* 폴리곤 hover/click 가 뱃지 밑으로 전달되도록 */
}

/* 폴리곤 클릭 시 인포윈도우 내부 (Phase 2 도입 대비) */
.feedus-map-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px 10px;
  font-family: var(--feedus-font-body);
  font-size: 0.85rem;
  color: var(--feedus-black);
  white-space: nowrap;
}

.feedus-map-info-day {
  font-size: 0.75rem;
  font-weight: var(--fw-semibold);
}

/* ── 지도 상단 동 검색 박스 (feedus-map.js 가 #feedus-map 의 형제로 삽입) ── */
.feedus-map-search {
  position: relative;          /* 결과 드롭다운의 positioning context */
  width: 100%;
  font-family: var(--feedus-font-body);
  text-align: left;
}

@media (max-width: 767px) {
  .feedus-map-search {
    width: 66.6667%;           /* 모바일에서 2/3 너비 */
    margin-left: auto;
    margin-right: auto;        /* 좌우 가운데 정렬 */
  }
}

.feedus-map-search-box {
  display: flex;
  align-items: stretch;
  gap: 8px;
  min-height: 52px;            /* 모바일 터치 대응 (높이 확장) */
  padding: 0 0 0 14px;         /* 우측 패딩 제거 — 버튼이 끝까지 채움 */
  background: #ffffff;
  border: 1.5px solid #ffffff; /* 프라이머리 라인 → 화이트 */
  border-radius: var(--feedus-border-radius);
  box-shadow: none;            /* 그림자 삭제 */
  overflow: hidden;            /* 버튼 모서리가 둥근 박스 안으로 클립 */
}

@media (min-width: 768px) {
  .feedus-map-search-box {
    min-height: 44px;          /* 태블릿/PC 는 원래 높이 */
  }
}

.feedus-map-search-box:focus-within {
  box-shadow: none;
}

.feedus-map-search-icon {
  display: none;     /* 좌측 돋보기 아이콘 숨김 */
}

.feedus-map-search-input {
  flex: 1 1 auto;
  align-self: stretch;
  min-width: 0;
  height: auto;
  line-height: 1;
  padding: 0;
  border: 0 !important;     /* 글로벌 input border (연회색) 무력화 */
  outline: 0;
  box-shadow: none !important;
  background: transparent;
  font-size: 16px;
  color: var(--feedus-black);
  text-align: left;          /* 커서/글자 좌측 시작 */
}

.feedus-map-search-input::placeholder {
  text-align: left;
}

.feedus-map-search-input:focus {
  border: 0 !important;
  outline: 0;
  box-shadow: none !important;
}

.feedus-map-search-input::placeholder {
  color: #9aa0a6;
}

.feedus-map-search-btn {
  flex: 0 0 auto;
  align-self: stretch;     /* 박스 높이 꽉 채우기 */
  margin: 0;
  padding: 0 20px;
  border: 0;
  border-radius: 0;        /* 박스의 overflow:hidden + border-radius 가 둥글림 처리 */
  background: #406334;
  color: #ffffff;
  font-size: 15px;
  font-weight: var(--fw-semibold);
  cursor: pointer;
}

.feedus-map-search-btn:hover { background: #34522b; }

/* 다중 결과 드롭다운 */
.feedus-map-search-results {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  z-index: 20;
  margin: 0 !important;
  padding: 6px 0;
  list-style: none;
  background: #ffffff;
  border: 1px solid var(--feedus-border-color);
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
  max-height: 280px;
  overflow-y: auto;
}

.feedus-map-search-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0 !important;
  padding: 10px 14px;
  cursor: pointer;
  list-style: none;
}

.feedus-map-search-item:hover { background: #f4f6f2; }

.feedus-map-search-addr {
  font-size: 0.9rem;
  color: var(--feedus-black);
  margin: 0 !important;
}

.feedus-map-search-road {
  font-size: 0.75rem;
  color: #6b7178;
  margin: 0 !important;
}

.feedus-map-search-empty {
  margin: 0 !important;
  padding: 12px 14px;
  font-size: 0.85rem;
  color: #6b7178;
  text-align: center;
  list-style: none;
}

/* 검색 결과 마커 위 인포 — CustomOverlay 내부.
   yAnchor=1 이므로 마커 좌표가 박스 하단 → 마커보다 위로 띄우려면 위로 더 올림.
   배송 가능 시 dongName 아래 요일 라벨이 붙어 2줄이 되므로 column 정렬. */
.feedus-map-search-info {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 6px 12px 4px;          /* 요일 라벨 아래 여백 최소화 */
  background: #ffffff;
  border: 1px solid #406334;
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  font-size: 0.85rem;
  line-height: 1.2;
  color: var(--feedus-black);
  white-space: nowrap;
  transform: translateY(-52px);   /* 마커(46px) 위로 */
  pointer-events: none;
}

.feedus-map-search-info-day {
  margin: 0;
  font-size: 0.78rem;
  font-weight: var(--fw-semibold);
  letter-spacing: -0.01em;
  line-height: 1;
}

.feedus-map-search-info-no {
  font-size: 0.78rem;
  color: #888d94;
}


/* ==========================================================================
   15. TABLEPRESS (WPCode id:443)
   ========================================================================== */

/* ==========================================================================
   FEEDUS - TablePress 전용 테이블 스타일
   프라이머리 컬러 기반 테이블 디자인
   ========================================================================== */

.tablepress {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--feedus-black);
}

.tablepress th,
.tablepress td {
  border: none !important;
  border-bottom: 1px solid var(--feedus-black) !important;
  border-left: none !important;
  border-right: none !important;
  padding: var(--space-xs) 14px;
  font-size: var(--fs-body) !important;
  font-weight: var(--fw-medium) !important;
  color: var(--feedus-black) !important;
  text-align: left;
}

/* 첫 번째 td 왼쪽 라인 유지 */
.tablepress th:first-child,
.tablepress td:first-child {
  border-left: 1px solid var(--feedus-black) !important;
}

/* 마지막 td 오른쪽 라인 유지 */
.tablepress th:last-child,
.tablepress td:last-child {
  border-right: 1px solid var(--feedus-black) !important;
}

/* 헤더: 프라이머리 배경 + 흰색 글자 */
.tablepress thead th {
  background-color: var(--feedus-primary) !important;
  color: #ffffff !important;
}

/* 교차 행 */
.tablepress tbody tr:nth-child(even) td {
  background-color: #FAFCFC !important;
}

.tablepress tbody tr:nth-child(odd) td {
  background-color: #ffffff !important;
}

/* Hover */
.tablepress tbody tr:hover td {
  background-color: #F5FAF8 !important;
}


/* ==========================================================================
   16. FOOTER — 단일 관리 위치
   - 풋터 전체 스타일은 이 파일에서만 관리 (feedus-global.css 는 풋터 규칙 비움)
   - SFTP 업로드만으로 즉시 반영
   - print 미디어쿼리(`@media print` 안의 #brx-footer { display:none })는
     feedus-global.css 의 print 블록에 그대로 둠
   ========================================================================== */

footer#brx-footer {
  margin-top: clamp(3.75rem, 6vw, 7.5rem);
}

/* --- 기본 레이아웃 / 타이포 --- */
.feedus-footer,
#brx-footer {
  padding: 60px 0 30px;
  position: relative;
}

/* 풋터 내부 모든 텍스트 좌정렬 — Bricks 중앙정렬/상속 규칙 무시 */
body #brx-footer,
body #brx-footer *,
body .feedus-footer,
body .feedus-footer * {
  text-align: left !important;
}

/* 링크/버튼 hover 전환: 0.3s 부드럽게 (opacity / color / background-color) */
.feedus-footer a,
#brx-footer a,
.feedus-footer .brxe-button,
#brx-footer .brxe-button,
.feedus-footer button,
#brx-footer button {
  transition: opacity 0.3s ease,
              color 0.3s ease,
              background-color 0.3s ease,
              border-color 0.3s ease;
}

.feedus-footer a:hover,
#brx-footer a:hover {
  opacity: 0.6;
}

/* h3 폰트 / 본문 폰트 — Bricks 글로벌 CSS 잔존 규칙에 밀리지 않게 명시도 + !important */
body #brx-footer h3,
body #brx-footer .footer-title,
body .feedus-footer h3,
body .feedus-footer .footer-title {
  font-size: 15px !important;
  font-weight: var(--fw-bold);
  margin-bottom: 28px;     /* h3 ↔ 첫 본문 간격 */
}

body #brx-footer p,
body #brx-footer a,
body #brx-footer li,
body .feedus-footer p,
body .feedus-footer a,
body .feedus-footer li {
  font-size: 15px !important;   /* 풋터 본문 톤 통일 */
  line-height: 1.9;
}

.feedus-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.feedus-footer-logo {
  position: relative;
}

.feedus-footer-logo::before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(
    90deg,
    currentColor 0px,
    currentColor 10px,
    transparent 10px,
    transparent 14px
  );
  margin-bottom: 30px;
}

.feedus-footer-credits {
  font-size: 0.875rem;   /* 14px — 풋터 본문 톤 통일 */
  padding-top: 20px;
  border-top: 1px solid var(--feedus-border-color);
  margin-top: 40px;
  opacity: 0.7;
}

/* --- 다크 배경 + 흰색 90% 텍스트 ---
   - 배경은 `#brx-footer` 에 직접 → 외곽 패딩 영역까지 다크 컬러가 채워짐
   - 내부 `.brxe-section` 은 상/하 패딩 제거해 외곽 패딩만 숨 공간으로 사용
   - body 명시도 + !important : Bricks 글로벌 CSS 패널 잔존 규칙 강제 무효화 */
body #brx-footer,
body .feedus-footer {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
  background-color: #393E37 !important;
}

#brx-footer .brxe-section,
.feedus-footer .brxe-section {
  padding-top: 0;
  padding-bottom: 0;
}

/* 풋터 내부 컨테이너: max-width 해제 → 히로 이미지처럼 양옆 확장
   NOTE: `.brxe-section > .brxe-container { max-width: 1320px }` 에 밀리지 않도록
         같은 구조 + `#brx-footer` 로 구체성 상승 */
#brx-footer .brxe-section > .brxe-container,
.feedus-footer .brxe-section > .brxe-container {
  max-width: none;
}

/* PC(≥992px): 풋터 컨테이너 좌우 패딩 = 히로 이미지(#brxe-qjjeju) 와 동일
   NOTE: 새 구조에서는 .brx-grid 가 컨테이너 내부 .brxe-block 으로 이동해서
         컨테이너 자체에 패딩을 줘야 그리드 + 크레딧 양쪽 모두 정렬됨 */
@media (min-width: 992px) {
  #brx-footer .brxe-section > .brxe-container,
  .feedus-footer .brxe-section > .brxe-container {
    padding-left: clamp(
      var(--feedus-container-pad-desktop),
      calc((100vw - var(--feedus-container-max)) / 2),
      96px
    );
    padding-right: clamp(
      var(--feedus-container-pad-desktop),
      calc((100vw - var(--feedus-container-max)) / 2),
      96px
    );
  }
}

/* h3 (컬럼 제목): 80% 투명 */
#brx-footer h1, #brx-footer h2, #brx-footer h3,
#brx-footer h4, #brx-footer h5, #brx-footer h6,
.feedus-footer h1, .feedus-footer h2, .feedus-footer h3,
.feedus-footer h4, .feedus-footer h5, .feedus-footer h6 {
  color: rgba(255, 255, 255, 0.8);
}

/* h3 아래 본문(p/a/li): 50% 투명 */
#brx-footer,
#brx-footer p, #brx-footer a, #brx-footer li,
.feedus-footer,
.feedus-footer p, .feedus-footer a, .feedus-footer li {
  color: rgba(255, 255, 255, 0.5);
}

/* credits 구분선: 어두운 배경에서 보이도록 흰색 계열 */
.feedus-footer-credits,
#brx-footer .feedus-footer-credits {
  border-top-color: rgba(255, 255, 255, 0.15);
}

/* 풋터 블록 내부: 본문(p/a) 15px + 50% 투명 — 위 일반 규칙과 동일하지만
   Bricks 글로벌 CSS 잔존 규칙에 밀리지 않도록 명시도 올린 버전 */
body #brx-footer .brx-grid .brxe-block p,
body #brx-footer .brx-grid .brxe-block a,
body .feedus-footer .brx-grid .brxe-block p,
body .feedus-footer .brx-grid .brxe-block a {
  font-size: 15px !important;
  color: rgba(255, 255, 255, 0.5);
}

/* 4개 컬럼 사이 간격 + 줄바꿈 시 row 갭 */
#brx-footer .brx-grid,
.feedus-footer .brx-grid {
  gap: 48px;    /* column-gap & row-gap 동시 — 4컬럼 시각적 분리 확보 */
}

/* 모바일(≤767px): 1열 스택 + 컬럼 간 간격 넉넉히 */
@media (max-width: 767px) {
  #brx-footer .brx-grid,
  .feedus-footer .brx-grid {
    grid-template-columns: 1fr !important;   /* 4컬럼 → 1컬럼 */
    gap: 40px;                                /* 블록 사이 세로 간격 */
  }

  /* 모바일에서 h3 ↔ 첫 본문 간격 살짝 축소 */
  body #brx-footer h3,
  body .feedus-footer h3 {
    margin-bottom: 16px;
  }
}

/* 같은 블록 안 본문 항목(p/a) 사이 세로 간격 */
#brx-footer .brx-grid .brxe-block > p + p,
#brx-footer .brx-grid .brxe-block > p + a,
#brx-footer .brx-grid .brxe-block > a + p,
#brx-footer .brx-grid .brxe-block > a + a,
.feedus-footer .brx-grid .brxe-block > p + p,
.feedus-footer .brx-grid .brxe-block > p + a,
.feedus-footer .brx-grid .brxe-block > a + p,
.feedus-footer .brx-grid .brxe-block > a + a {
  margin-top: 10px;
}

/* credits — 카피라이트 바
   - 새 구조: .brxe-container 안에서 .brx-grid 의 다음 .brxe-block 이 credits
   - 그리드와 충분한 간격(72px) + 얇은 구분선 / 가장 흐린 톤 */
#brx-footer .brxe-container > .brx-grid + .brxe-block,
.feedus-footer .brxe-container > .brx-grid + .brxe-block {
  margin-top: 72px;
  padding-top: 20px;
  padding-bottom: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

body #brx-footer .brxe-container > .brx-grid + .brxe-block p,
body .feedus-footer .brxe-container > .brx-grid + .brxe-block p {
  color: rgba(255, 255, 255, 0.2);   /* 풋터에서 가장 흐린 톤 */
  font-size: 15px !important;
  margin: 0;
}


/* ==========================================================================
   17. WooCommerce Quantity 입력창 / +- 버튼 (글로벌 보더 색상 통일)
   ========================================================================== */

input[type="number"],
.quantity input,
.quantity .qty,
.qty {
  color: var(--feedus-black) !important;
  border-color: var(--feedus-border-color) !important;
}

.quantity .plus,
.quantity .minus,
.quantity .action.plus,
.quantity .action.minus {
  color: var(--feedus-black) !important;
  border-color: var(--feedus-border-color) !important;
  background-color: #f7f7f7 !important;
}

.quantity .plus:hover,
.quantity .minus:hover,
.quantity .action.plus:hover,
.quantity .action.minus:hover {
  background-color: var(--feedus-gray-light) !important;
}


/* ==========================================================================
   PAGE BACKGROUNDS — 흰색 기본 + 개인화 페이지만 베이지
   - 기본 페이지(샵/단일상품/일반 페이지 등): 흰색
   - 개인화 페이지(카트/체크아웃/마이페이지/주문완료): 베이지 (#EEECE7)
     · 카드 안쪽은 흰색, 바깥 베이지 디자인 일관성 유지
   - NOTE: Bricks Builder 글로벌 body 배경이 베이지로 설정되어 있어
     실제 source-of-truth 도 흰색으로 맞추는 게 좋음 (Bricks Settings → Theme Styles).
     아래 규칙은 Bricks UI 업데이트 전까지의 즉시 적용용 override.
   ========================================================================== */

/* 기본: 흰색 (Bricks 글로벌 베이지 override) */
body {
  background-color: var(--feedus-white) !important;
}

/* 개인화 페이지: 베이지 */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.woocommerce-order-received {
  background-color: var(--feedus-bg-beige) !important;
}


/* ==========================================================================
   17. SECTIONS WITH .subtitle — 세로 패딩 조정
   - 커스텀 타이틀 엘리먼트(elements/title.php)가 들어 있는 섹션은
     보통 제목 전용 섹션으로 따로 분리되어 있어, 바로 아래 본문 섹션과
     패딩이 이중으로 합쳐져 제목과 본문 사이 공간이 과도해 보임
   - 해법:
     · 제목 섹션의 위 패딩은 약간 축소 (24/40/56)
     · 제목 섹션의 아래 패딩은 0 → 다음 섹션의 위 패딩만으로 간격 형성
   - `.subtitle` 이 실제로 렌더된 섹션만 스코프 (없는 섹션은 영향 없음)
   ========================================================================== */

.brxe-section:has(.subtitle) {
  padding-top: 24px;
  padding-bottom: 0;
}

@media screen and (min-width: 768px) {
  .brxe-section:has(.subtitle) {
    padding-top: 40px;
    padding-bottom: 0;
  }
}

@media screen and (min-width: 1200px) {
  .brxe-section:has(.subtitle) {
    padding-top: 56px;
    padding-bottom: 0;
  }
}


/* ==========================================================================
   18. GLOBAL CARD RADIUS — 카드성 요소 라디우스 일괄 통일
   - 글로벌 토큰: var(--feedus-border-radius)
   - 와일드카드 안 쓰고 알려진 카드 패턴만 명시적으로 잡음
   - 이미 같은 토큰이 적용된 곳(카트 카드, 상품 카드 wrapper 등)은 영향 없음
   ========================================================================== */

/* 1) WooCommerce 알림 박스 (info / message / error / notice) */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce-notice,
.woocommerce-NoticeGroup,
ul.woocommerce-error,
.wc-block-components-notice-banner {
  border-radius: var(--feedus-border-radius);
}

/* 알림 박스 내부 li 의 기본 마진 제거 — 단일 메시지가 박스 하단에 빈 공간 만드는 문제 해결 */
.woocommerce-info > li,
.woocommerce-message > li,
.woocommerce-error > li,
.woocommerce-noreviews > li,
.woocommerce-notice > li,
ul.woocommerce-error > li {
  margin: 0 !important;
  padding: 0 !important;
}


/* ==========================================================================
   20. WC NOTICE — 하단 고정 토스트
   - 본문 흐름에 끼어들지 않고 뷰포트 하단에 고정
   - 모바일 친화: 사용자 시선/엄지가 닿는 하단 위치
   - 데스크탑: 우측 하단 토스트, 모바일: 좌우 마진 두고 가로 가득
   ========================================================================== */

/* Bricks 가 wrapper 에 .brxe-container 클래스를 붙여서 max-width / 좌우 패딩 / position:relative 를
   강제로 주입함 — 지정자 결합 + !important 로 모두 무력화.
   토스트는 화면 하단에 좌우 풀폭으로 배치 */
.woocommerce-notices-wrapper,
.woocommerce-notices-wrapper.brxe-container {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  bottom: 0 !important;
  transform: none !important;
  z-index: 9999 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  pointer-events: none !important;          /* wrapper 자체는 클릭 통과, 내부 알림만 잡음 */
  margin: 0 !important;
  padding: 0 !important;                    /* Bricks 의 좌우 비대칭 컨테이너 패딩 제거 */
  overflow: visible !important;
}

/* WooCommerce 기본 ::before 체크 아이콘이 padding-left: 3.5em 을 강제 → 좌측 쏠림 원인.
   아이콘 숨기고 패딩 대칭으로 통일 */
.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-error::before,
.woocommerce-notices-wrapper .woocommerce-noreviews::before,
.woocommerce-notices-wrapper .woocommerce-notice::before {
  display: none !important;
  content: none !important;
}

.woocommerce-notices-wrapper > * {
  pointer-events: auto;
  margin: 0 0 var(--space-xs) 0 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
  border-radius: var(--feedus-border-radius);
  animation: feedus-toast-in 0.25s ease-out;
}

/* 태블릿+ : 풀폭 토스트는 화면 가장자리에 붙으므로 상단 모서리만 라운드 */
@media screen and (min-width: 768px) {
  .woocommerce-notices-wrapper > * {
    border-radius: var(--feedus-border-radius) var(--feedus-border-radius) 0 0 !important;
    margin: 0 !important;
  }
}

/* 토스트 본문 텍스트는 블랙 (Bricks 기본 success 컬러가 너무 연해서 판독 어려움)
   - 우측 "장바구니 보기" 버튼은 자체 배경/색 유지 (button.wc-forward 는 영향 없음) */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-noreviews,
.woocommerce-notices-wrapper .woocommerce-notice {
  color: var(--feedus-black) !important;
  border: none !important;                                          /* 좌측 색상 보더 등 모두 제거 */
  padding: var(--space-md) var(--space-lg) !important;               /* 데스크탑: 16px 20px */
}

@media screen and (max-width: 767px) {
  .woocommerce-notices-wrapper .woocommerce-message,
  .woocommerce-notices-wrapper .woocommerce-info,
  .woocommerce-notices-wrapper .woocommerce-error,
  .woocommerce-notices-wrapper .woocommerce-noreviews,
  .woocommerce-notices-wrapper .woocommerce-notice {
    padding: var(--space-sm) var(--space-md) !important;             /* 모바일: 12px 16px */
  }

  /* 모바일: 1열 — 메시지 컨테이너를 flex column 으로, 버튼을 텍스트 아래로 */
  .woocommerce-notices-wrapper .woocommerce-message,
  .woocommerce-notices-wrapper .woocommerce-info,
  .woocommerce-notices-wrapper .woocommerce-error,
  .woocommerce-notices-wrapper .woocommerce-noreviews,
  .woocommerce-notices-wrapper .woocommerce-notice {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward,
  .woocommerce-notices-wrapper .woocommerce-info .button.wc-forward,
  .woocommerce-notices-wrapper .woocommerce-error .button.wc-forward,
  .woocommerce-notices-wrapper .woocommerce-noreviews .button.wc-forward,
  .woocommerce-notices-wrapper .woocommerce-notice .button.wc-forward {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: var(--space-md) 0 0 0 !important;   /* 문구와 버튼 사이 간격 */
    text-align: center !important;
  }
}

@keyframes feedus-toast-in {
  from { transform: translateY(20px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

/* 모바일: 좌우 마진 + 가로 가득 */
@media screen and (max-width: 767px) {
  .woocommerce-notices-wrapper,
  .woocommerce-notices-wrapper.brxe-container {
    right: 12px !important;
    left: 12px !important;
    bottom: 12px !important;
    max-width: none !important;
    transform: none !important;             /* 모바일은 전체폭이라 가운데 변환 불필요 */
  }
}

/* 2) WooCommerce 상품 카드 (loop item) — 샵/카테고리/관련상품 공통 */
ul.products li.product,
.products .product,
.related .product,
.upsells .product,
.cross-sells .product {
  border-radius: var(--feedus-border-radius);
  overflow: hidden;
}

/* 3) WooCommerce 표/박스 카드 (장바구니/체크아웃/마이페이지 공용 표) */
table.shop_table,
.cart_totals table.shop_table,
.woocommerce-checkout-review-order-table,
.woocommerce-Address,
.woocommerce-MyAccount-content table,
.woocommerce-orders-table,
.woocommerce-customer-details address,
.woocommerce-bacs-bank-details {
  border-radius: var(--feedus-border-radius);
  overflow: hidden;
}

/* 4) 폼 입력 필드 (input/select/textarea) */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="date"],
select,
textarea,
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  border-radius: var(--feedus-border-radius);
}

/* 5) 단일 상품 페이지 메인 이미지 / 갤러리 컨테이너 */
.woocommerce-product-gallery__image,
.woocommerce-product-gallery__image img,
.woocommerce div.product div.images img,
.flex-control-thumbs li img {
  border-radius: var(--feedus-border-radius);
}

/* 6) 마이페이지 사이드바 / 내비게이션 박스 */
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-navigation ul {
  border-radius: var(--feedus-border-radius);
  overflow: hidden;
}

/* 7) 페이지네이션 / 결제수단 박스 */
.woocommerce-pagination ul.page-numbers,
#payment ul.payment_methods,
#payment .payment_box {
  border-radius: var(--feedus-border-radius);
  overflow: hidden;
}

/* 8) Bricks 일반 이미지 엘리먼트 (브릭스 자체 출력 클래스) */
.brxe-image img,
figure.brxe-image img {
  border-radius: var(--feedus-border-radius);
}


/* ==========================================================================
   19. PRODUCT DETAIL — 단가 컬러 + 사이즈 (네이버 쇼핑 톤 매칭)
   - 대상: 단일 상품 페이지에 표시되는 모든 단가 (`.woocommerce-Price-amount`
     및 그 안의 strong / bdi / .woocommerce-Price-currencySymbol "원" 포함)
   - 제외: +/- 수량 변경 시 갱신되는 합계 가격
       · `.woocommerce-variation-price` (옵션 있는 상품 — feedus-variations.js 가 갱신)
       · `.feedus-single-calc-price` (옵션 없는 상품 — feedus-variations.js 가 동적 생성)
   - tokens:
       · color: --feedus-price (#D42700), 합계는 --feedus-black 으로 환원
       · font-size: --fs-2xl (24px) 데스크탑 / 22px 모바일
   ========================================================================== */

body.single-product .woocommerce-Price-amount,
body.single-product .woocommerce-Price-amount bdi,
body.single-product .woocommerce-Price-amount strong,
body.single-product .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
  color: var(--feedus-price) !important;
  font-size: var(--fs-2xl) !important;     /* 데스크탑 24px */
  font-weight: var(--fw-bold) !important;
  line-height: 1.2 !important;
}

@media screen and (max-width: 767px) {
  body.single-product .woocommerce-Price-amount,
  body.single-product .woocommerce-Price-amount bdi,
  body.single-product .woocommerce-Price-amount strong,
  body.single-product .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
    font-size: 22px !important;            /* 모바일 22px */
  }
}

/* 합계(수량 변동) 가격은 단가 컬러/사이즈에서 제외 → locked variation과 동일 스타일 */
body.single-product .woocommerce-variation-price .woocommerce-Price-amount,
body.single-product .woocommerce-variation-price .woocommerce-Price-amount bdi,
body.single-product .woocommerce-variation-price .woocommerce-Price-amount strong,
body.single-product .woocommerce-variation-price .woocommerce-Price-amount .woocommerce-Price-currencySymbol,
body.single-product .feedus-single-calc-price .woocommerce-Price-amount,
body.single-product .feedus-single-calc-price .woocommerce-Price-amount bdi,
body.single-product .feedus-single-calc-price .woocommerce-Price-amount strong,
body.single-product .feedus-single-calc-price .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
  color: var(--feedus-black) !important;
  font-size: 16px !important;
  font-weight: var(--fw-semibold) !important;
  line-height: 1.3 !important;
}

/* variation-price 내 취소선 원가 — locked variation과 동일 */
body.single-product .woocommerce-variation-price del {
  font-size: 15px !important;
  font-weight: 400 !important;
  opacity: 0.5 !important;
  color: var(--feedus-black) !important;
}

body.single-product .woocommerce-variation-price del .woocommerce-Price-amount,
body.single-product .woocommerce-variation-price del .woocommerce-Price-amount * {
  font-size: 15px !important;
  font-weight: 400 !important;
}


/* ==========================================================================
   22. MY ACCOUNT — 다중 배송지 관리 (Address Book)
   ========================================================================== */

/* WC 기본 주소 표시 숨김 (커스텀 UI 로 대체) */
body.woocommerce-account .woocommerce-Addresses {
  display: none !important;
}

/* ── 헤더: 제목 + 추가 버튼 ── */
.feedus-addressbook-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-lg);
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.feedus-addressbook-title {
  font-family: var(--feedus-font-heading);
  font-size: var(--fs-xl);
  font-weight: var(--fw-semibold);
  color: var(--feedus-black);
  margin: 0;
}
.feedus-addressbook-count {
  font-size: var(--fs-small);
  color: #999;
  margin-left: var(--space-xs);
}

/* ── Primary / Secondary / Danger 버튼 ── */
.feedus-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
  color: var(--feedus-white);
  background: var(--feedus-primary);
  border: 1px solid var(--feedus-primary);
  border-radius: var(--feedus-border-radius-pill);
  padding: var(--space-2xs) 20px;
  cursor: pointer;
  transition: all var(--feedus-duration-default) ease;
  line-height: 1.4;
}
.feedus-btn-primary:hover {
  background: transparent;
  color: var(--feedus-primary);
}
.feedus-btn-primary:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

.feedus-btn-secondary {
  display: inline-flex;
  align-items: center;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  color: var(--feedus-black);
  background: transparent;
  border: 1px solid var(--feedus-border-color);
  border-radius: var(--feedus-border-radius-pill);
  padding: 4px 14px;
  cursor: pointer;
  transition: all var(--feedus-duration-default) ease;
  line-height: 1.4;
}
.feedus-btn-secondary:hover {
  background: var(--feedus-black);
  color: var(--feedus-white);
  border-color: var(--feedus-black);
}

.feedus-btn-danger {
  display: inline-flex;
  align-items: center;
  font-family: var(--feedus-font-body);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  color: var(--feedus-white);
  background: #d62c2c;
  border: 1px solid #d62c2c;
  border-radius: var(--feedus-border-radius-pill);
  padding: 4px 14px;
  cursor: pointer;
  transition: all var(--feedus-duration-default) ease;
  line-height: 1.4;
}
.feedus-btn-danger:hover {
  background: transparent;
  color: #d62c2c;
}

/* ── 주소 카드 ── */
.feedus-addr-card {
  background: var(--feedus-white);
  border: 1px solid var(--feedus-border-color);
  border-radius: var(--feedus-border-radius);
  padding: var(--feedus-card-pad);
  margin-bottom: var(--space-sm);
  transition: box-shadow var(--feedus-duration-default) ease;
}
.feedus-addr-card:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.feedus-addr-card.is-main {
  border-left: 3px solid var(--feedus-primary);
}
.feedus-addr-card-header {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin-bottom: var(--space-xs);
}
.feedus-addr-badge {
  display: inline-block;
  background: var(--feedus-primary);
  color: var(--feedus-white);
  font-size: 11px;
  font-weight: var(--fw-bold);
  padding: 2px 10px;
  border-radius: var(--feedus-border-radius-pill);
  line-height: 1.4;
}
.feedus-addr-label {
  font-weight: var(--fw-bold);
  font-size: var(--fs-lead);
  color: var(--feedus-black);
}
.feedus-addr-detail {
  margin-top: var(--space-xs);
  color: var(--feedus-black);
  line-height: 1.7;
  font-size: var(--fs-body);
}
.feedus-addr-name {
  font-weight: var(--fw-medium);
}
.feedus-addr-entry-info {
  margin-top: var(--space-sm);
  font-size: var(--fs-small);
  color: #888;
  line-height: 1.6;
}
.feedus-addr-actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-md);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--feedus-border-color);
}
.feedus-addr-set-main-btn {
  background: none;
  border: none;
  color: var(--feedus-primary);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  cursor: pointer;
  padding: 4px 8px;
  font-family: var(--feedus-font-body);
}
.feedus-addr-set-main-btn:hover {
  text-decoration: underline;
}
.feedus-addr-action-delete {
  background: none;
  border: none;
  color: #d62c2c;
  font-size: var(--fs-small);
  cursor: pointer;
  padding: 4px 8px;
  font-family: var(--feedus-font-body);
  margin-left: auto;
}
.feedus-addr-action-delete:hover {
  text-decoration: underline;
}

/* ── 빈 상태 ── */
.feedus-addr-empty {
  text-align: center;
  padding: var(--space-3xl) var(--space-lg);
  color: #999;
  font-size: var(--fs-body);
}

/* ── 오버레이 (우측 슬라이드 패널) ── */
.feedus-addr-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  display: none;
}
.feedus-addr-overlay.is-open {
  display: flex;
}
.feedus-addr-overlay-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
}
.feedus-addr-overlay-panel {
  position: relative;
  margin-left: auto;
  width: 100%;
  max-width: 520px;
  height: 100%;
  overflow-y: auto;
  background: var(--feedus-white);
  padding: var(--space-xl);
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.12);
  animation: feedus-slide-in 250ms ease;
}
@keyframes feedus-slide-in {
  from { transform: translateX(100%); }
  to   { transform: translateX(0); }
}
.feedus-addr-overlay-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-lg);
}
.feedus-addr-overlay-title {
  font-family: var(--feedus-font-heading);
  font-size: var(--fs-xl);
  font-weight: var(--fw-semibold);
  margin: 0;
}
.feedus-addr-overlay-close {
  background: none;
  border: none;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  color: #999;
  padding: 4px 8px;
}
.feedus-addr-overlay-close:hover {
  color: var(--feedus-black);
}

@media (max-width: 768px) {
  .feedus-addr-overlay-panel {
    max-width: 100%;
    padding: var(--space-md);
  }
}

/* ── 폼 필드 ── */
.feedus-addr-field {
  margin-bottom: var(--space-md);
}
.feedus-addr-field label {
  display: block;
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
  color: var(--feedus-black);
  margin-bottom: 6px;
}
.feedus-addr-field label abbr.required {
  color: #d62c2c;
  text-decoration: none;
}
.feedus-addr-search-row {
  display: flex;
  gap: var(--space-xs);
  align-items: stretch;
}
.feedus-addr-search-row .feedus-entry-input {
  flex: 1;
  cursor: pointer;
  background: #f5f5f5;
}
.feedus-addr-form-actions {
  margin-top: var(--space-xl);
}
.feedus-addr-form-actions .feedus-btn-primary {
  width: 100%;
  justify-content: center;
  padding: var(--space-sm-plus) var(--space-xl);
  font-size: var(--fs-lead);
}

/* 진입정보 박스 — 오버레이 내부 여백 조정 */
.feedus-ab-entry-box {
  margin-top: var(--space-lg);
}

/* 폼 필드 에러 */
.feedus-addr-field-error {
  color: #d62c2c;
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  margin-top: 4px;
  background: transparent !important;
  border: 0 !important;
}

/* ── 삭제 확인 모달 ── */
.feedus-addr-confirm {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: flex;
  align-items: center;
  justify-content: center;
}
.feedus-addr-confirm-box {
  position: relative;
  background: var(--feedus-white);
  border-radius: var(--feedus-border-radius);
  padding: var(--space-xl);
  max-width: 360px;
  width: 90%;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  text-align: center;
  z-index: 1;
}
.feedus-addr-confirm-msg {
  font-size: var(--fs-lead);
  font-weight: var(--fw-semibold);
  margin-bottom: var(--space-xs);
}
.feedus-addr-confirm-detail {
  font-size: var(--fs-small);
  color: #888;
  margin-bottom: var(--space-lg);
}
.feedus-addr-confirm-actions {
  display: flex;
  gap: var(--space-sm);
  justify-content: center;
}
.feedus-addr-confirm-actions button {
  flex: 1;
  min-width: 100px;
  padding: var(--space-xs) var(--space-lg);
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
  border-radius: var(--feedus-border-radius-pill);
  cursor: pointer;
  line-height: 1.4;
  justify-content: center;
}

/* ── 로딩 상태 ── */
.feedus-addressbook.is-loading {
  opacity: 0.6;
  pointer-events: none;
}

/* ── 체크아웃: 저장된 배송지 드롭다운 ── */
.feedus-checkout-addr-picker {
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid var(--feedus-border-color);
}
.feedus-checkout-addr-picker label {
  display: block;
  font-size: var(--fs-body);
  font-weight: var(--fw-semibold);
  color: var(--feedus-black);
  margin-bottom: 6px;
}
.feedus-checkout-addr-picker select {
  width: 100%;
  padding: var(--space-xs) var(--space-md);
  font-size: var(--fs-body);
  font-family: var(--feedus-font-body);
  border: 1px solid var(--feedus-border-color);
  border-radius: var(--feedus-border-radius-pill);
  background: var(--feedus-white);
  color: var(--feedus-black);
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23666' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
}
.feedus-checkout-addr-picker select:focus {
  border-color: var(--feedus-black);
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);
}