/* ═══════════════════════════════════════════════
   HHTH
   CSS Design System v2.0 — Refactored
   구조: 01 Tokens · 02 Reset · 03 Header · 04 Search
         05 Buttons · 06 Hero · 07 Ticker · 08 Sections
         09 Product Cards · 10 Single Product · 11 Cart
         12 Checkout · 13 My Account · 14 Orders · 15 Forms
         16 Footer · 17 Animations · 18 Responsive
   ★ aurae-* 네임스페이스는 하단 Legacy Aliases 에서 ep-* 와 공유
═══════════════════════════════════════════════ */

@font-face {
  font-family: 'SangBleuEmpire';
  src: url('../fonts/SangBleuEmpire-RegularItalic-WebS.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: block
}

@font-face {
  font-family: 'SangBleuEmpire';
  src: url('../fonts/SangBleuEmpire-Medium-WebS.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: block
}

/* ══════════════════════════════════════
   01. TOKENS
══════════════════════════════════════ */
:root {
  --ep-white: #FFFFFF;
  --ep-off: #f9f9f9;
  --ep-cream: #f7f7f7;
  --ep-light: #ededed;
  --ep-rule: #eee;
  --ep-mid: #e2e2e2;
  --ep-muted: #acacac;
  --ep-ink: #243953;
  --ep-dark: #243953;
  --ep-accent: #243953;
  --ep-accent-light: #4E7268;
  --ep-accent-faint: #EDF2F0;
  --ep-serif: 'SangBleuEmpire', Georgia, serif;
  --ep-mono: 'DM Mono', 'Courier New', monospace;
  --ep-sans: 'IBM Plex Sans KR', 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ep-shell: min(1280px, calc(100% - 50px));
  --ep-shadow: 0 24px 64px rgba(30, 28, 26, 0.08);
  --ep-shadow-sm: 0 8px 24px rgba(30, 28, 26, 0.06);

  /* WooCommerce form overrides */
}

/* ══════════════════════════════════════
   02. RESET & BASE
══════════════════════════════════════ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--ep-white);
  color: var(--ep-ink);
  font-family: var(--ep-sans);
  font-weight: 400;
  font-size: 15px;
  line-height: 1.56;

}

a {
  color: inherit;
  text-decoration: none;
  transition:
    color .5s cubic-bezier(.22, 1, .36, 1),
    opacity .5s cubic-bezier(.22, 1, .36, 1),
    border-color .5s cubic-bezier(.22, 1, .36, 1),
    background-color .5s cubic-bezier(.22, 1, .36, 1);
}

button,
input,
select,
textarea {
  font: inherit;
  color: var(--ep-ink);
}

button {
  -webkit-appearance: none;
  appearance: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
  transition: transform .65s cubic-bezier(.22, 1, .36, 1),
    opacity .5s cubic-bezier(.22, 1, .36, 1);
}

.ep-shell {
  width: var(--ep-shell);
  margin: 0 auto;
}

.ep-lock {
  overflow: hidden;
}

/* Grain overlay */

/* Kicker */
.ep-kicker {
  
  font-size: 9px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ep-muted);
  margin: 0 0 16px;
  display: block;
}

/* body lock */
body.aurae-lock,
body.ep-lock,
body.search-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

/* ══════════════════════════════════════
   03. HEADER & NAVIGATION
══════════════════════════════════════ */
.ep-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  padding: 20px 0;
  transition: transform .45s cubic-bezier(.22, 1, .36, 1), padding .5s cubic-bezier(.22, 1, .36, 1);
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.ep-header.is-hidden {
  transform: translate3d(0, -110%, 0);
}

.ep-header.is-scrolled:not(.is-hidden) {
  transform: translate3d(0, 0, 0);
}

.ep-header__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 160px 1fr auto;
  align-items: center;
  gap: 24px;
}

/* Logo */

/* Nav */
.ep-nav {
  display: flex;
  justify-content: center;
}

.ep-menu {
  display: flex;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
}

.ep-menu li a {
  
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ep-muted);
  padding: 8px 16px;
  display: block;
  position: relative;
  transition: color .4s;
}

.ep-menu li a::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 16px;
  right: 16px;
  height: 1px;
  background: var(--ep-accent);
  transform: scaleX(0);
  transition: transform .3s cubic-bezier(.22, 1, .36, 1);
}

.ep-menu li a:hover {
  color: var(--ep-dark);
}

.ep-menu li a:hover::after {
  transform: scaleX(1);
}

.ep-menu li.current-menu-item a {
  color: var(--ep-accent);
}

.ep-menu li.current-menu-item a::after {
  transform: scaleX(1);
}

/* Header actions */
.ep-header__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.ep-icon-btn {
  width: 36px;
  height: 36px;
  border: 1px solid transparent;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--ep-ink);
  position: relative;
  flex-shrink: 0;
  transition: color .45s;
}

.ep-icon-btn:hover {
  background: transparent;
  border-color: transparent;
  transform: none;
}

/* CSS icon shapes */

/* Cart badge */

/* Header color: hero위 (흰색) */

/* Mobile toggle */
.ep-mobile-toggle {
  appearance: none;
  border: 1px solid transparent;
  background: transparent;
  color: var(--ep-ink);
  display: inline-flex;
  width: 36px;
  height: 36px;
  padding: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 50%;
  transition: background .35s cubic-bezier(.22, 1, .36, 1), border-color .35s;
  cursor: pointer;
  flex-shrink: 0;
}

.ep-mobile-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  background: currentColor;
}

.ep-mobile-toggle:hover {
  background: rgba(255, 255, 255, .7);
  border-color: var(--ep-rule);
}

/* Mobile panel */
.ep-mobile-panel {
  position: fixed;
  inset: 0;
  z-index: 300;
  background: rgba(30, 28, 26, .45);
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s cubic-bezier(.22, 1, .36, 1);
}

.ep-mobile-panel.is-active {
  opacity: 1;
  pointer-events: auto;
}

.ep-mobile-panel__inner {
  width: min(560px, 100%);
  height: 100%;
  background: var(--ep-off);
  padding: 32px 28px;
  transform: translate3d(100%, 0, 0);
  transition: transform .6s cubic-bezier(.16, 1, .3, 1);
  box-shadow: -20px 0 60px rgba(30, 28, 26, .14);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  margin-left: auto;
  will-change: transform;
}

.ep-mobile-panel.is-active .ep-mobile-panel__inner {
  transform: translate3d(0, 0, 0);
}

@media (max-width: 640px) {
  .ep-mobile-panel__inner {
    width: 100%;
  }
}

.ep-mobile-panel__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--ep-rule);
  padding-bottom: 20px;
  margin-bottom: 32px;
}

.ep-mobile-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ep-mobile-menu li a {
  
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ep-muted);
  padding: 16px 0;
  border-bottom: 1px solid var(--ep-rule);
  display: block;
  transition: color .4s;
}

.ep-mobile-menu li a:hover {
  color: var(--ep-accent);
}

/* Close buttons */
.ep-close-btn {
  appearance: none;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: opacity .4s;
  flex-shrink: 0;
}

.ep-close-icon {
  display: block;
  width: 16px;
  height: 16px;
  object-fit: contain;
  
}

.aurae-mobile-panel .ep-close-icon {
  width: 18px;
  height: 18px;
}

.ep-mobile-close,
.ep-search-close {
  appearance: none;
  border: none;
  background: transparent;
  padding: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  
}

.ep-mobile-close.ep-close-btn,
.ep-mobile-close.ep-close-btn:hover {
  border: none;
}

.ep-mobile-close.ep-close-btn {
  margin-right: -10px;
  margin-top: -5px;
}

.ep-close-btn--box {
  border: 1px solid var(--ep-rule);
  width: 32px;
  height: 32px;
  padding: 7px;
  background: transparent;
  transition: border-color .4s, opacity .4s;
}

.ep-close-btn {
  opacity: 1;
}

.ep-close-btn--box .ep-close-icon {
  width: 14px;
  height: 14px;
}

/* Search overlay top alignment */
.ep-search-overlay__top {
  align-items: center;
  width: 100%;
}

.ep-search-close {
  position: relative;
  top: -7px;
  flex-shrink: 0;
}

/* ══════════════════════════════════════
   04. SEARCH OVERLAY
══════════════════════════════════════ */
.ep-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 250;
  background: rgba(30, 28, 26, .45);
  opacity: 0;
  pointer-events: none;
  transition: opacity .4s cubic-bezier(.22, 1, .36, 1);
}

.ep-search-overlay.is-active {
  opacity: 1;
  pointer-events: auto;
}

.ep-search-overlay__inner {
  position: absolute;
  top: 80px;
  left: 50%;
  width: min(720px, calc(100% - 48px));
  transform: translateX(-50%) translateY(-16px);
  background: rgba(247, 246, 244, .98);
  -webkit-backdrop-filter: blur(16px);

  backdrop-filter: blur(16px);
  border: 1px solid var(--ep-rule);
  padding: 36px 40px;
  opacity: 0;
  transition: transform .5s cubic-bezier(.22, 1, .36, 1), opacity .45s cubic-bezier(.22, 1, .36, 1);
}

.ep-search-overlay.is-active .ep-search-overlay__inner {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}

.ep-search-overlay__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.ep-search-form {
  display: flex;
  gap: 12px;
  align-items: stretch;
  width: 100%;
  flex: 1;
}

.ep-search-form .search-field {
  background: none;
  border: none;
  border-bottom: 1px solid var(--ep-rule);
  
  color: var(--ep-ink);
  padding: 8px 0;
  outline: none;
  transition: border-color .4s;
  flex: 1 1 0%;
  min-width: 0;
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
}

.ep-search-form .search-field::-webkit-search-cancel-button,
.ep-search-form .search-field::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

.ep-search-form .search-field:focus {
  border-color: var(--ep-accent);
}

.ep-search-form .search-field::placeholder {
  color: #acacac;
  font-weight: 500;
}

.ep-search-form button[type="submit"] {
  
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ep-white);
  background: var(--ep-accent);
  border: 1px solid var(--ep-accent);
  padding: 0 20px;
  cursor: pointer;
  transition: background .4s;
  flex: 0 0 auto;
  white-space: nowrap;
}

.ep-search-form button[type="submit"]:hover {
  background: var(--ep-accent-light);
}

[data-search-open] {
  cursor: pointer;
}

/* ══════════════════════════════════════
   05. BUTTONS
══════════════════════════════════════ */

/* ══════════════════════════════════════
   06. HERO & MANIFESTO & SECTIONS
══════════════════════════════════════ */

/* ══════════════════════════════════════
   07. TICKER
══════════════════════════════════════ */

/* ══════════════════════════════════════
   08. PRODUCT CARDS
══════════════════════════════════════ */

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto;
  float: none;
  margin: 0;
}

.aurae-product-card {
  background: var(--ep-white);
  
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform .55s cubic-bezier(.22, 1, .36, 1), box-shadow .4s;
  position: relative;
}

.aurae-product-card:hover {
  
  box-shadow: 0px 8px 32px 0px rgba(0, 0, 0, .1);
}

.aurae-product-card__media {
  aspect-ratio: 1/1;
  background: linear-gradient(180deg, var(--ep-light) 0%, var(--ep-cream) 100%);
  overflow: hidden;
}

.aurae-product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  
}

.aurae-product-card__body {
  padding: 14px 20px 20px;
  flex: 1;
  transition: transform .4s;
}

.aurae-product-card:hover .aurae-product-card__body {
  transform: translateY(-40px);
  background-color: #fff;
}

.aurae-product-card__rating {
  margin: 8px 0 10px;
  line-height: 1;
}

.aurae-product-card__rating .star-rating {
  font-size: 12px;
  margin: 0;
}

.aurae-product-card__rating .count {
  display: none;
}

.aurae-product-card__rating .star-rating::before,
.aurae-product-card__rating .star-rating span::before {
  color: var(--ep-accent);
}

.aurae-product-card .price {
  font-size: 12px;
  letter-spacing: .4px;
  
}

.aurae-product-card .price ins {
  text-decoration: none;
}

.aurae-product-card .price del {
  opacity: .45;
  margin-right: 6px;
}

.aurae-product-card__actions {
  padding: 0 24px 24px;
  margin-top: auto;
  background: #fff;
}

.woocommerce ul.products li.product .button {
  width: 100%;
  text-align: center;
  margin-top: 0;
}

/* Tiers */

/* Post grid */

/* ══════════════════════════════════════
   09. SINGLE PRODUCT
══════════════════════════════════════ */

.aurae-single-product {
  display: grid;
  grid-template-columns: 580px 1fr;
  gap: 60px;
  align-items: start;
  
  max-width: 1130px;
  margin: 0 auto;
}

.aurae-single-product__gallery {
  
  position: relative;
}

.ep-product-gallery-simple {
  width: 100%;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.ep-product-gallery-simple__image {
  display: block;
  width: 100%;
  height: auto;
  cursor: default;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}

.ep-product-gallery-simple__placeholder {
  display: grid;
  place-items: center;
  min-height: 480px;
  background: var(--ep-off);
  color: var(--ep-muted);
  
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.woocommerce div.product form.cart {
  display: grid;
  gap: 12px;
  margin-bottom: 20px;
}

.woocommerce div.product form.cart .button {
  width: 100%;
}

/* Tabs */
.woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs {
  display: none;
}

#ep .woocommerce-tabs ul.tabs {
  padding: 0;
  list-style: none;
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--ep-rule);
  margin-bottom: 24px;
}

.woocommerce-tabs ul.tabs li {
  border: 0;
  background: transparent;
  border-radius: 0;
  padding: 0;
  margin: 0;
}

.woocommerce-tabs ul.tabs li a {
  
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ep-muted);
  padding: 14px 20px;
  display: block;
  border-bottom: 2px solid transparent;
  transition: color .4s;
  margin-bottom: -1px;
}

.woocommerce-tabs ul.tabs li.active a {
  color: var(--ep-accent);
  border-bottom-color: var(--ep-accent);
}

.woocommerce-tabs ul.tabs li a:hover {
  color: var(--ep-ink);
}

.woocommerce-tabs .panel,
.woocommerce-Reviews {
  padding: 28px;
  background: var(--ep-off);
}

/* Product gallery: lightweight custom image only */
.woocommerce-product-gallery,
.woocommerce-product-gallery__trigger,
.woocommerce-product-gallery .zoomImg {
  display: none;
}

/* product_meta hide */
.product_meta,
.woocommerce div.product .product_meta {
  display: none;
}

/* Inline description / reviews */

.ep-product-description ul,
.ep-product-description ol {
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ep-product-description ul li,
.ep-product-description ol li {
  padding: 10px 0;
  border-bottom: 1px solid var(--ep-rule);
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.ep-product-description ul li::before {
  content: '—';
  
  font-size: 10px;
  color: var(--ep-accent);
  flex-shrink: 0;
  padding-top: 2px;
}

/* Quantity controls */
.woocommerce .quantity {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--ep-rule);
  background: var(--ep-off);
  width: fit-content;
  overflow: hidden;
  flex-shrink: 0;
}

.woocommerce .quantity .qty {
  width: 56px;
  min-height: 48px;
  border: none;
  background: transparent;
  
  font-size: 13px;
  text-align: center;
  padding: 0;
  outline: none;
  -moz-appearance: textfield;
}

.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.ep-qty-btn:hover:not(:disabled) {
  background: rgba(30, 28, 26, .06);
}

.ep-qty-btn:disabled,
.ep-qty-btn[disabled] {
  opacity: .3;
  cursor: default;
  pointer-events: none;
}

/* Variation multi-select UI */

.ep-buy-panel {
  padding-top: 10px;
}

.ep-ms-wrap {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ep-ms-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--ep-rule);
  margin-top: 16px;
}

.ep-ms-list:empty {
  border: none;
  margin-top: 0;
}

.ep-ms-row {
  padding: 14px 16px;
  background: var(--ep-white);
  border-bottom: 1px solid var(--ep-rule);
}

.ep-ms-row:last-child {
  border-bottom: none;
}

.ep-ms-row__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.ep-ms-row__label {
  
  font-size: 14px;
  color: var(--ep-ink);
  line-height: 1.4;
  flex: 1;
}

.ep-ms-row__del {
  flex-shrink: 0;
  align-self: flex-start;
}

.ep-ms-row__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ep-ms-qwrap {
  display: flex;
  align-items: center;
  border: 1px solid var(--ep-rule);
  background: var(--ep-white);
  width: fit-content;
}

.ep-ms-qbtn {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  font-size: 20px;
  font-weight: 300;
  color: var(--ep-ink);
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: background .15s, opacity .4s;
  flex-shrink: 0;
}

.ep-ms-qbtn:hover:not([disabled]) {
  background: var(--ep-off);
}

.ep-ms-qbtn[disabled],
.ep-ms-qbtn:disabled {
  opacity: .3;
  cursor: not-allowed;
  pointer-events: none;
}

.ep-ms-qval {
  
  font-size: 14px;
  color: var(--ep-ink);
  min-width: 48px;
  text-align: center;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-left: 1px solid var(--ep-rule);
  border-right: 1px solid var(--ep-rule);
}

.ep-ms-row__price {

  font-size: 16px;
  font-weight: 500;
  color: var(--ep-dark);
  white-space: nowrap;
}

.ep-ms-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 16px;
  border: 1px solid var(--ep-rule);
  border-top: none;
  background: var(--ep-off);
  
}

.ep-ms-total__label {
  
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ep-muted);
}

.ep-ms-total__right {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.ep-ms-total__price {

  font-size: 22px;
  font-weight: 500;
  color: var(--ep-dark);
  letter-spacing: -.03em;
}

.ep-ms-total__count {
  
  font-size: 11px;
  color: var(--ep-muted);
}

.ep-ms-actions {
  display: flex;
  gap: 12px;
  
}

#ep .ep-ms-actions button {
  flex: 1;
  padding: 14px;
}

#ep a.added_to_cart.wc-forward {
  display: none !important;
}

.ep-simple-actions {
  display: flex;
  gap: 8px;
  
}

.ep-simple-actions .single_add_to_cart_button {
  flex: 1;
  min-height: 52px;
}

.ep-simple-buynow-btn {
  flex: 1;
}

.ep-ms-feedback {
  
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--ep-dark);
  margin-top: 4px;
  min-height: 12px;
  margin-bottom: 2px;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .3s, transform .3s;
  text-align: center;
}

.ep-ms-feedback.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.ep-ms-feedback.is-error {
  color: #c0392b;
}

table.variations label {
  padding: 0;
  text-align: left;
  font-size: 14px;
  color: var(--ep-dark);
  display: block;
  margin-top: 14px;
  margin-bottom: 5px;
  font-weight: 500;
  letter-spacing: .5px;
}

.ep-wc-hidden,
.variations_form .reset_variations,
.variations_form .woocommerce-variation-add-to-cart {
  display: none;
}

.variations select.ep-select-disabled,
.variations select:disabled {
  opacity: .4;
  cursor: not-allowed;
  pointer-events: none;
  background: var(--ep-light);
}

/* disabled select 클릭 감지를 위한 wrapper */

.variations select,
.ep-variation-highlight select {
  padding-right: 36px;
  background-position: right 12px center;
}

/* ══════════════════════════════════════
   10. CART
══════════════════════════════════════ */
/* Layout */
.ep-cart-layout .woocommerce {
  display: contents;
}

.ep-cart-layout .woocommerce::before,
.ep-cart-layout .woocommerce::after {
  content: none;
  display: none;
}

.ep-cart-layout .ep-cart-main {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.ep-cart-layout .ep-cart-body {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 40px;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

.ep-cart-layout .ep-cart-body .ep-cart-left {
  flex: 1;
  min-width: 0;
}

.ep-cart-layout .ep-cart-body .ep-cart-right {
  flex-shrink: 0;
  width: 360px;
  position: sticky;
  top: 30px;
  
}

/* Cart items */

.ep-cart-item {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 0 20px;
  padding: 20px 0;
  position: relative;
  align-items: flex-start;
  border-bottom: 1px solid var(--ep-rule);
}

.ep-cart-item:last-child {
  border-bottom: 0;
}

p.ep-cart-count {
  font-size: 13px;
}

.cart-title {
  padding-bottom: 14px;
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 20px;
  border-bottom: 2px solid;
}

.ep-cart-item__remove {
  position: absolute;
  top: 18px;
  right: 0;
}

.ep-cart-item__remove a,
.ep-cart-item__remove button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--ep-rule);
  
  background: var(--ep-off);
  cursor: pointer;
  transition: color .4s, border-color .4s;
  text-decoration: none;
  padding: 0;
  appearance: none;
  border-radius: 100%;
  margin-top: -14px;
}

.ep-cart-item__remove a:hover,
.ep-cart-item__remove button:hover {
  color: var(--ep-ink);
  border-color: var(--ep-ink);
}

.ep-cart-item__remove a .ep-close-icon,
.ep-cart-item__remove button .ep-close-icon {
  width: 12px;
  height: 12px;
}

/* WC a.remove red override */
body a.remove,
#ep .woocommerce a.remove,
.ep-cart-item__remove a,
.ep-cart-item__remove a:hover {
  color: var(--ep-dark);
}

.ep-cart-item__image {
  grid-column: 1;
  grid-row: 1;
  position: relative;
}

.ep-cart-item__image .wc-item-meta,
.ep-cart-item__image>.ep-info-icon,
.ep-cart-item__image>[class*="product-info"],
.ep-cart-item>a[class*="info"],
.ep-cart-item>[class*="wishlist"]>a[style*="position:absolute"],
.ep-cart-item>[class*="notice"] {
  display: none;
}

.ep-cart-item__image img {
  width: 180px;
  height: 180px;
  object-fit: cover;
  display: block;
  border: 1px solid var(--ep-rule);
}

.ep-cart-item__info {
  grid-column: 2;
  padding-right: 36px;
  display: flex;
  flex-direction: column;
  
}

.ep-cart-item__name a {
  
  
  font-weight: 500;
  
}

/* 장바구니 배리에이션 옵션 표시 — 원본 스타일 기반 */
/* 장바구니 선택 옵션 표시 — wc_get_formatted_cart_item_data() */

dl.variation {
  display: flex;
  justify-content: flex-start;
  font-size: 12px;
  margin: 4px 0 0;
  color: var(--ep-muted);
}

dl.variation dt {
  font-weight: 500;
}

dl.variation dt::after {
  content: ': ';
}

dl.variation dd {
  margin-left: 3px;
  margin-right: 6px;
  
}

/* 인라인 배리에이션 드롭다운 제거됨 */

.ep-cart-item__price-label,
.ep-cart-item__qty-label,
.ep-cart-item__subtotal-label {
  
  font-size: 11px;
  letter-spacing: .4px;
  
  color: var(--ep-muted);
  display: inline;
  margin-right: 6px;
}

.ep-cart-item__price {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 10px;
  
  font-size: 13px;
  
  
  border-top: 1px solid var(--ep-rule);
  padding-top: 14px;
  margin-bottom: 8px;
  margin-top: 10px;
}

.ep-cart-item__qty-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}

.ep-cart-item__qty-group,
.ep-cart-item__subtotal-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
}

.ep-cart-item__qty {
  display: flex;
  align-items: center;
  border: 1px solid var(--ep-rule, #e8e8e8);
  overflow: hidden;
}

.ep-cart-item__qty .ep-qty-btn {
  background: none;
  border: none;
  width: 28px;
  height: 28px;
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  color: var(--ep-ink);
  transition: background .15s;
  padding: 0;
  line-height: 1;
}

.ep-cart-item__qty .ep-qty-btn:hover:not(:disabled) {
  background: var(--ep-light, #f5f4f2);
}

.ep-cart-item__qty .ep-qty-btn:disabled,
.ep-cart-item__qty .ep-qty-btn[disabled] {
  opacity: .3;
  cursor: default;
}

.ep-cart-item__qty input.qty {
  min-height: 28px;
  height: 28px;
  width: 36px;
  font-size: 13px;
  font-weight: 500;
  padding: 0 4px;
  border: none;
  background: transparent;
  text-align: center;
  outline: none;
  -moz-appearance: textfield;
  color: var(--ep-ink);
}

.ep-cart-item__qty input.qty::-webkit-outer-spin-button,
.ep-cart-item__qty input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.ep-cart-item__subtotal {
  
  font-size: 13px;
  letter-spacing: .06em;
  color: var(--ep-ink);
  line-height: 28px;
}

.ep-cart-actions {
  padding: 16px 20px;
  display: flex;
  justify-content: flex-end;
}

.ep-cart-spinner {
  position: fixed;
  inset: 0;
  z-index: 290;
  display: none;
  background: rgba(247, 246, 244, .55);
}

.ep-cart-spinner::after {
  content: "";
  position: fixed;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 32px;
  transform: translate(-50%, -50%);
  border: 2px solid var(--ep-rule);
  border-top-color: var(--ep-accent);
  border-radius: 50%;
  
  box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
  animation: ep-spin-centered .7s linear infinite;
}

.ep-cart-spinner.is-active {
  display: block;
}

.ep-cart-items.is-updating {
  opacity: .5;
  transition: opacity .15s;
  pointer-events: none;
}

/* ── WC blockUI 기본 스피너 전면 대체 ── */
.blockUI.blockOverlay {
  background: rgba(247, 246, 244, .55) !important;
  opacity: 1 !important;
  cursor: default !important;
}

/* WooCommerce 기본 로더/스피너 전부 숨김 */
.blockUI.blockMsg,
.blockUI.blockOverlay::before,
.blockUI.blockOverlay::after,
.wc-block-components-spinner,
.wc-block-components-loading-mask,
.woocommerce .blockUI.blockOverlay::before,
.woocommerce-page .blockUI.blockOverlay::before,
.woocommerce a.button.loading::after,
.woocommerce button.button.loading::after,
.woocommerce input.button.loading::after,
.woocommerce #respond input#submit.loading::after,
.woocommerce .cart .button.loading::after,
.woocommerce .checkout-button.loading::after,
.woocommerce .loader::before,
.woocommerce .processing::before,
.woocommerce-checkout-payment .blockUI.blockMsg {
  display: none !important;
  content: none !important;
}

/* blockOverlay에 우리 스피너를 ::after로 주입 */
.blockUI.blockOverlay.ep-use-spinner::after,
.blockUI.blockOverlay[data-ep-spinner='1']::after {
  content: '' !important;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 32px;
  transform: translate(-50%, -50%);
  border: 2px solid var(--ep-rule);
  border-top-color: var(--ep-accent);
  border-radius: 50%;
  animation: ep-spin-centered .7s linear infinite;
  background: var(--ep-white);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
  z-index: 2;
}

.ep-checkout-payment-heading {
  margin: 0 0 24px;

}

.ep-checkout-kicker {
  margin: 0 0 10px;
  
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ep-muted);
}

.ep-checkout-title {
  margin: 0;
  
  font-size: 20px;
  
  
  line-height: 1.05;
  
  margin: 0 0 18px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--ep-rule);
}

@media (max-width: 900px) {
  .ep-checkout-payment-heading {
    margin-top: 32px;
  }

  .ep-checkout-title {
    font-size: 19px;
  }
}

/* Cart totals box */
/* Override WC default float: right / width: 48% via higher specificity */
#ep .cart-collaterals .cart_totals,
#ep .woocommerce .cart-collaterals .cart_totals,
#ep .woocommerce-page .cart-collaterals .cart_totals,
.woocommerce #ep .cart-collaterals .cart_totals {
  float: none;
  width: 100%;
}

.cart_totals table.shop_table {
  border: none;
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, .08);
  margin-bottom: 0;
}

.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
  padding: 16px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  border-top: none;
}

.cart_totals table.shop_table th {
  
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .35);
  font-weight: 400;
  width: 40%;
}

.cart_totals table.shop_table td {
  
  font-size: 13px;
  letter-spacing: .05em;
  
  text-align: right;
}

.cart_totals table.shop_table .order-total td {
  border-bottom: none;
}

.cart_totals table.shop_table .order-total td strong {
  font-family: var(--ep-serif);
  font-size: 26px;
  font-weight: 300;
  font-style: italic;
  
}

.cart_totals .wc-proceed-to-checkout .button {
  width: 100%;
  justify-content: center;
}

/* 기존 카트 좌측 쿠폰폼 — order summary로 이동했으므로 숨김 */
.ep-cart-coupon {
  display: none !important;
}

/* 체크아웃 기본 WC 쿠폰 toggle 숨김 */
.woocommerce-form-coupon-toggle,
.ep-checkout-layout .checkout_coupon,
#ep form.checkout_coupon.woocommerce-form-coupon {
  display: none !important;
}

/* ── Order Summary 인라인 쿠폰 공통 스타일 ── */
/* 카트 totals 쿠폰 래퍼 */
.ep-coupon-row-in-totals {
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, .08);
}

/* 체크아웃 review totals 쿠폰 행 */
.ep-order-review__totals-row--coupon {
  flex-direction: column;
  gap: 0;
  padding: 14px 0;
  border-bottom: 1px solid var(--ep-rule);
}

.ep-order-review__totals-row--coupon .ep-order-review__totals-label {
  width: 100%;
}

/* 쿠폰 토글 버튼 */
.ep-coupon-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  color: rgba(255, 255, 255, .5);
  transition: color .4s;
}

.ep-checkout-layout .ep-coupon-toggle {
  color: var(--ep-muted);
}

.ep-coupon-toggle:hover {
  color: rgba(255, 255, 255, .9);
}

.ep-checkout-layout .ep-coupon-toggle:hover {
  color: var(--ep-ink);
}

.ep-coupon-toggle__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 12px;
  line-height: 1;
  transition: transform .25s;
}

.ep-coupon-toggle[aria-expanded="true"] .ep-coupon-toggle__icon {
  transform: rotate(45deg);
}

/* 쿠폰 인라인 필드 */
.ep-coupon-inline {
  overflow: hidden;
  max-height: 0;
  transition: max-height .3s cubic-bezier(.4, 0, .2, 1), opacity .25s;
  opacity: 0;
}

.ep-coupon-inline.is-open {
  max-height: 120px;
  opacity: 1;
}

.ep-coupon-inline__field {
  display: flex;
  gap: 0;
  margin-top: 12px;
  width: 100%;
}

.ep-coupon-input {
  flex: 1;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-right: none;
  background: rgba(255, 255, 255, .06);
  padding: 0 14px;
  
  font-size: 10px;
  letter-spacing: .06em;
  color: var(--ep-white);
  outline: none;
  border-radius: 0;
  transition: border-color .4s;
}

.ep-checkout-layout .ep-coupon-input {
  background: var(--ep-white);
  border: 1px solid var(--ep-rule);
  border-right: none;
  color: var(--ep-ink);
}

.ep-coupon-input::placeholder {
  color: rgba(255, 255, 255, .3);
}

.ep-checkout-layout .ep-coupon-input::placeholder {
  color: var(--ep-muted);
}

.ep-coupon-input:focus {
  border-color: rgba(255, 255, 255, .4);
}

.ep-checkout-layout .ep-coupon-input:focus {
  border-color: var(--ep-accent);
}

.ep-coupon-apply {
  height: 40px;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, .15);
  background: rgba(255, 255, 255, .1);
  color: rgba(255, 255, 255, .8);
  
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  transition: background .4s;
  border-radius: 0;
}

.ep-checkout-layout .ep-coupon-apply {
  background: var(--ep-accent);
  border-color: var(--ep-accent);
  color: var(--ep-white);
}

.ep-coupon-apply:hover {
  background: rgba(255, 255, 255, .18);
}

.ep-checkout-layout .ep-coupon-apply:hover {
  background: var(--ep-accent-light);
}

.ep-coupon-msg {
  
  font-size: 9px;
  letter-spacing: .06em;
  margin-top: 8px;
  min-height: 14px;
  color: #c9534f;
}

.ep-coupon-msg.is-success {
  color: #5a9a74;
}

/* WooCommerce notice focus override */
/* WooCommerce 전역 focus-visible 제거 (마우스 클릭시 아웃라인 없음) */

/* 에러 리스트 disc 불릿 전역 제거 */
.woocommerce-error li {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.woocommerce-error li::marker {
  display: none;
  content: none;
}

/* 노티스 내 링크 밑줄 */
#ep .woocommerce-error a,
#ep .woocommerce-info a,
#ep .woocommerce-message a,
.woocommerce-notices-wrapper .woocommerce-error a,
.woocommerce-notices-wrapper .woocommerce-info a,
.woocommerce-notices-wrapper .woocommerce-message a,
.woocommerce .woocommerce-message a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* 상단 선 제거 */
#ep .woocommerce-message::after,
.woocommerce-notices-wrapper .woocommerce-message::after,
.woocommerce .woocommerce-message::after,
#ep .woocommerce-info::after,
.woocommerce-notices-wrapper .woocommerce-info::after,
#ep .woocommerce-error::after,
.woocommerce-notices-wrapper .woocommerce-error::after {
  display: none;
  content: none;
}

/* ::before — SVG 아이콘으로 교체 */
.woocommerce-info::before,
.woocommerce-message::before {
  content: '';
  display: block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='currentColor' stroke-width='1' stroke-linecap='round' stroke-linejoin='round' d='m14.5,8c0,3.59-2.91,6.5-6.5,6.5S1.5,11.59,1.5,8,4.41,1.5,8,1.5s6.5,2.91,6.5,6.5Zm-6.5-1v4m0-6h0'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  position: static;
  transform: none;
  top: auto;
  left: auto;
}

/* error 아이콘 — info 뒤집기 (! 느낌표 형태) */

.cart-empty.woocommerce-info {
  display: flex;
  gap: 6px;
  justify-content: center;
  align-items: center;
}

.ep-cart-notices {
  display: none;
}

.woocommerce-message .button.wc-forward {
  display: none;
}

/* 닫기 버튼 */
.ep-notice-close {
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--ep-ink);
  flex-shrink: 0;
  transition: color .18s, opacity .18s;
  padding: 0;
  appearance: none;
  position: absolute;
  right: 20px;
}

/* ══════════════════════════════════════
   11. CHECKOUT
══════════════════════════════════════ */

/* 체크아웃 배너 — full-width 다크 바 */
.ep-checkout-banner {
  width: 100%;
  background: var(--ep-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 11px 24px;
  
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .65);
}

.ep-checkout-banner__item {
  display: flex;
  align-items: center;
  gap: 7px;
}

.ep-checkout-banner__item svg {
  opacity: .7;
  flex-shrink: 0;
}

.ep-checkout-banner__sep {
  color: rgba(255, 255, 255, .2);
  font-size: 12px;
}

/* ── 체크아웃 페이지 ── */
.ep-checkout-page-wrap {
  padding-top: 120px;
}

.ep-checkout-page-wrap .woocommerce,
.ep-checkout-page-wrap .woocommerce>form {
  float: none;
  width: 100%;
  
}

.ep-checkout-page-wrap .woocommerce::before,
.ep-checkout-page-wrap .woocommerce::after {
  display: none;
  content: none;
}

/* ep-checkout-grid — form-checkout.php 내 2컬럼 */

/* 좌: 주문내역 */
.ep-checkout-col--summary {
  border-right: 1px solid var(--ep-rule);
  padding: 40px 48px 80px 0;
}

/* 우: 배송지 + 결제수단 */
.ep-checkout-col--fields {
  position: sticky;
  top: 24px;
}

.ep-checkout-col--fields form.woocommerce-checkout {
  display: block;
  width: 100%;
  float: none;
}

.ep-checkout-col--fields #customer_details,
.ep-checkout-col--fields .col2-set,
.ep-checkout-col--fields .col2-set .col-1,
.ep-checkout-col--fields .col2-set .col-2 {
  float: none;
  width: 100%;
}

/* #order_review 더미 숨김 */
.ep-checkout-col--fields #order_review_heading,
.ep-checkout-col--fields #order_review {
  display: none !important;
}

/* 결제수단 */
.ep-checkout-payment-section {
  
  margin: 40px auto 80px;
}

.ep-checkout-page-wrap .woocommerce-notices-wrapper {
  width: 100%;
}

/* billing/shipping h3 */

.woocommerce-billing-fields>h3 {
  display: none;
}

/* 모바일 */

/* Checkout headings */

.woocommerce-additional-fields h3 {
  display: none;
}

.woocommerce-checkout .form-row {
  margin-bottom: 12px;
}

.woocommerce-checkout #order_comments_field {
  margin-top: 16px;
  margin-bottom: 16px;
}

.woocommerce-checkout #order_comments_field textarea {
  padding: 14px 16px;
  min-height: 80px;
}

/* Payment */

.ep-checkout-payment-section #payment {
  background: transparent;
}

.woocommerce-checkout #payment ul.payment_methods {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  border-bottom: 0;
}

.woocommerce-checkout #payment ul.payment_methods li {
  padding: 16px 0;
  border-bottom: 1px solid var(--ep-rule);
}

.woocommerce-checkout #payment ul.payment_methods li:first-child {
  padding-top: 0;
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
  border-bottom: none;
}

.woocommerce-checkout #payment ul.payment_methods label {
  
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ep-ink);
  cursor: pointer;
  display: inline;
}

.woocommerce-checkout #payment div.payment_box {
  background: var(--ep-off);
  border-left: 2px solid var(--ep-accent);
  padding: 16px 20px;
  margin-top: 12px;
  font-size: 12px;
  color: var(--ep-muted);
  border-radius: 0;
}

.woocommerce-checkout #payment div.payment_box p {
  margin-top: 0;
}

.woocommerce-checkout #payment div.payment_box::before {
  display: none;
}

/* 16. Reset payment_box p:last-child (WC default removed) */
#add_payment_method #payment div.payment_box p:last-child,
.woocommerce-cart #payment div.payment_box p:last-child {
  margin-bottom: 0;
}

/* 17. Remove padding from checkout #payment div.form-row */
.woocommerce-checkout #payment div.form-row {
  padding: 0;
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
  width: 100%;
  display: block;
  box-sizing: border-box;
}

/* Postcode button */
#billing_country_field,
#billing_postcode_field {
  display: none !important;
}

#shipping_postcode_field {
  display: none;
}

/* Daum postcode popup */
.daum_postcode_overlay,
[id^="daum_postcode_"],
.layer_postcode,
div[id*="daumwrap"],
div[id*="postcode"],
div[id*="Postcode"],
div[id*="daum"],
#fancybox-wrap,
.fancybox-wrap {
  z-index: 260;
}

div[id*="postcode"] *,
div[id*="daum"] * {
  transition: none;
  animation: none;
}

/* Terms checkbox */
.ep-terms-wrap {
  margin: 20px auto;
  padding: 16px;
  border: 1px solid var(--ep-rule);
  background: var(--ep-off);
}

#ep .ep-terms-label {
  display: flex;
  align-items: flex-start;
  cursor: pointer;
  letter-spacing: 0;
  margin: 0;
}

.ep-terms-label input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: 2px;
}

.ep-terms-text {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: .2em;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 13px;
  color: var(--ep-ink);
  line-height: 1.6;
}

.ep-terms-text a {
  color: var(--ep-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ep-terms-error {
  margin: 10px 0 0;
  font-size: 12px;
  color: #c9534f;

}

.ep-terms-error--above-button {
  margin: 0 0 14px;
}

/* Checkout order review div-based (review-order.php) */
/* ── Order Review — 체크아웃 좌측 패널 ── */

.ep-order-review__heading {
  margin-top: 60px;
}

.ep-order-review__heading .ep-checkout-title {
  margin-bottom: 8px;
}

/* 상품 목록 */
.ep-order-review__items {
  display: flex;
  flex-direction: column;
}

.ep-order-review__item {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 0 18px;
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid var(--ep-rule);
}

.ep-order-review__item-img {
  width: 80px;
  height: 80px;
  overflow: hidden;
  background: var(--ep-off);
  flex-shrink: 0;
  border: 1px solid var(--ep-rule);
}

.ep-order-review__item-img img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  display: block;
}

.ep-order-review__item-info {
  display: flex;
  flex-direction: column;
  
  padding-top: 2px;
}

.ep-order-review__item-name {
  /*  */
  font-size: 14px;
  font-weight: 500;
  color: var(--ep-ink);
  margin: 0;
  word-break: keep-all;
  line-height: 1.5;
}

/* 배리에이션 옵션 텍스트 */
.ep-order-review__item-name dl.variation {
  margin: 4px 0 0 !important;
}

#ep .woocommerce form .form-row.woocommerce-validated input.input-text,
#ep .woocommerce form .form-row.woocommerce-validated select {
  border-color: var(--ep-rule);
}

.ep-order-review__item-qty {
  
  
  
  margin: 0;
  color: var(--ep-muted);
  font-size: 11px;
}

.ep-order-review__item-price {
  
  font-size: 12px;
  letter-spacing: .04em;
  color: var(--ep-ink);
  white-space: nowrap;
  text-align: right;
  padding-top: 4px;
}

/* 합계 섹션 */

.ep-order-review__totals-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 11px 0;
  border-bottom: 1px solid var(--ep-rule);
  
  font-size: 12px;
  letter-spacing: .5px;
  
}

.ep-order-review__totals-label {
  color: var(--ep-muted);
}

.ep-order-review__totals-row:last-child {
  border-bottom: none;
  padding: 12px 0 50px;
  
}

.ep-order-review__totals-row--total .ep-order-review__totals-label {
  
  letter-spacing: .18em;
  
  
}

/* 배송비 무료 */
.ep-order-review__totals-row--shipping .ep-order-review__totals-value {
  color: var(--ep-accent);
}

.cart_totals .shipping .amount {
  color: var(--ep-accent-light) !important;
}

/* 총계 금액 */
.ep-order-review__totals-value--total {
  font-family: var(--ep-serif);
  font-size: 24px;
  font-weight: 300;
  font-style: italic;
  color: var(--ep-dark);
  letter-spacing: -.01em;
}

/* WC 기본 테이블 숨김 */
table.woocommerce-checkout-review-order-table {
  display: none !important;
}

.woocommerce-checkout h3#order_review_heading {
  display: none;
}

/* Payment 섹션 — order review 아래 */

/* ══════════════════════════════════════
   12. MY ACCOUNT
══════════════════════════════════════ */
/* WC 기본 래퍼 무력화 — 원본과 동일하게 !important 필요 */

.ep-account-layout {
  
  display: flex;
  max-width: 1080px;
  margin: 0 auto;
  gap: 60px;
  justify-content: center;
  align-items: flex-start;

}

.ep-account-content {
  
  flex: 1;
}

.inq-search select {
  min-height: 30px;
}


.ep-account-content ul,
.ep-account-content ol {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ep-account-content ul li,
.ep-account-content ol li {
  font-size: 13px;
  padding: 14px 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.ep-account-content ul li a {
  color: var(--ep-accent);
}

.ep-account-content ul li a:hover {
  color: var(--ep-accent-light);
}

.ep-dashboard-link {
  color: var(--ep-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color .4s;
}

.ep-dashboard-link:hover {
  color: var(--ep-accent-light);
}

/* Address change shortcut link */
.ep-account-address-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ep-muted);
  text-decoration: none;
  border-bottom: 1px solid var(--ep-rule);
  padding-bottom: 2px;
  transition: color .25s, border-color .25s;
}

.ep-account-address-link::after {
  content: '→';
  font-family: inherit;
  font-size: 11px;
  transition: transform .25s;
}

.ep-account-address-link:hover {
  color: var(--ep-accent);
  border-color: var(--ep-accent);
}

.ep-account-address-link:hover::after {
  transform: translateX(3px);
}

/* Dashboard cards */
.ep-dashboard-name {
  
  margin: 0 0 8px;
}

.ep-dashboard-desc {
  font-size: 13px;
  color: var(--ep-muted);
  margin: 0 0 40px;
}

.ep-dashboard-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 48px;
}

.ep-dashboard-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 28px 24px;
  border: 1px solid var(--ep-rule);
  background: var(--ep-white);
  text-decoration: none;
  transition: box-shadow .25s, border-color .25s;
}

.ep-dashboard-card:hover {
  border-color: var(--ep-accent);
  box-shadow: 0 4px 20px rgba(61, 90, 82, .08);
}

.ep-dashboard-card {
  box-shadow: 0 4px 20px rgba(201, 83, 79, .06);
}

.ep-dashboard-card__icon {
  color: var(--ep-accent);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ep-rule);
}

.ep-dashboard-logout {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ep-dashboard-card__label {
  
  
  text-transform: uppercase;
  color: var(--ep-ink);
  margin: 0;
  font-weight: 500;
  border-bottom: 1px solid #eee;
  padding-bottom: 1em;
}

.ep-dashboard-card__desc {
  font-size: 13px;
  color: var(--ep-muted);
  margin: 0;
  line-height: 1.6;
}

/* Auth page */

.ep-container-s {
  width: 100%;
  max-width: 560px;
  margin: 50px auto 0;
}

.ep-auth-right .ep-form-label {
  font-size: 14px;
  
  text-transform: uppercase;
  color: var(--ep-accent);
  margin-bottom: 22px;
  display: block;
  
  text-align: left;
  margin-top: 36px;
}

.ep-auth-right .ep-form-label .ep-form-label-link {
  display: inline-flex;
  align-items: center;
  gap: 0;
  margin-left: 6px;
  padding: 0;
  background: none;
  border: 0;
  border-bottom: 2px solid currentColor;
  color: inherit;
  font: inherit;
  line-height: inherit;
  cursor: pointer;
  font-weight: 500;
}

.ep-auth-right .ep-form-label .ep-form-label-link:hover {
  opacity: .72;
}

/* thankyou 홈 버튼 중앙정렬 */
.ep-thankyou-home-action {
  text-align: center;
}

/* 회원가입 유도 버튼 영역 */
.ep-reg-btn {
  margin-top: 16px;
}

.ep-reg-btn .wcsl-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 20px 0;
  color: var(--ep-muted);
  font-size: 12px;
  letter-spacing: .1em;
}

.ep-reg-btn .wcsl-divider::before,
.ep-reg-btn .wcsl-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--ep-border, #e5e5e5);
}

.ep-reg-btn .button.alt {
  width: 100%;
  display: block;
  text-align: center;
}

/* Form login inline CSS extracted */

#ep-auth-panels,
.ep-auth-panels {
  position: relative;
  transition: height .35s cubic-bezier(.22, 1, .36, 1);
}

#ep-auth-panels .ep-auth-panel,
.ep-auth-panels .ep-auth-panel {
  display: none;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .28s ease, transform .32s ease;
}

#ep-auth-panels .ep-auth-panel.is-displayed,
.ep-auth-panels .ep-auth-panel.is-displayed {
  display: block;
}

#ep-auth-panels .ep-auth-panel.is-active,
.ep-auth-panels .ep-auth-panel.is-active {
  opacity: 1;
  transform: translateY(0);
}

#ep-auth-tabs .ep-auth-tab:hover,
.ep-auth-tabs .ep-auth-tab:hover {
  opacity: .82;
}

.ep-auth-login-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.ep-auth-link-button.ep-lostpassword-link {
  
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--ep-accent);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  border-bottom: 2px solid;
  padding-bottom: 3px;
}

.ep-auth-inline-error {
  display: none;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(190, 30, 45, .22);
  background: rgba(190, 30, 45, .045);
  color: #8f1d2c;
  font-size: 13px;
  line-height: 1.6;
}

.ep-auth-inline-error.is-visible {
  display: block !important;
}

.ep-auth-inline-error a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ep-field-error {
  border-color: #b42318 !important;
}

.ep-auth-privacy-text {
  margin-bottom: 20px;
}

.ep-terms-wrap {
  margin-bottom: 24px;
}

.ep-terms-error {
  display: none;
}

.ep-terms-error.is-visible {
  display: block;
}

.ep-is-hidden {
  display: none !important;
}

/* WC login/register form reset */
.woocommerce-form-login,
.woocommerce-form-register {
  background: transparent;
  border: none;
  padding: 0;
  box-shadow: none;
}

.woocommerce-form-login p,
.woocommerce-form-register p {
  margin-bottom: 20px;
}

.woocommerce-form-login .form-row input.input-text,
.woocommerce-form-register .form-row input.input-text,
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-login input[type="email"],
.woocommerce-form-register input[type="text"],
.woocommerce-form-register input[type="password"],
.woocommerce-form-register input[type="email"] {
  background: var(--ep-off);
  border: 1px solid var(--ep-rule);
  border-radius: 0;
  height: 52px;
  padding: 0 18px;

  font-size: 14px;
  font-weight: 300;
  color: var(--ep-ink);
  transition: border-color .3s, background .3s;
}

.woocommerce-form-login input:focus,
.woocommerce-form-register input:focus {
  border-color: var(--ep-accent);
  background: var(--ep-white);
  outline: none;
}

.woocommerce-form-login__submit,
.woocommerce-form-register__submit {
  width: 100%;
  justify-content: center;
}

.woocommerce-form-login__submit:focus,
.woocommerce-form-login__submit:focus-visible,
.woocommerce-form-register__submit:focus,
.woocommerce-form-register__submit:focus-visible {
  outline: none;
  box-shadow: none;
}

.woocommerce-form-login__rememberme {
  
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--ep-muted);
}

.woocommerce-privacy-policy-text {
  display: none;
}

.woocommerce-LostPassword a,
.woocommerce-form-login .lost_password a {
  
  font-size: 9px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--ep-accent);
}

/* Edit account form */
.ep-field-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  margin-bottom: 28px;
}

.ep-field-row label {}

.ep-field-input {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--ep-rule);
  background: var(--ep-off);
  padding: 0 16px;

  font-size: 14px;
  font-weight: 300;
  color: var(--ep-ink);
  outline: none;
  border-radius: 0;
  transition: border-color .4s;
  box-sizing: border-box;
}

.ep-field-input:focus {
  border-color: var(--ep-accent);
  background: var(--ep-white);
}

.ep-pw-display {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 14px 16px;
  border: 1px solid var(--ep-rule);
  background: var(--ep-off);
}

.ep-pw-display__dots {
  
  font-size: 16px;
  letter-spacing: .15em;
  color: var(--ep-muted);
  flex: 1;
}

.ep-pw-change-toggle {
  
  font-size: 8px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ep-accent);
  background: transparent;
  border: 1px solid var(--ep-accent);
  padding: 8px 16px;
  cursor: pointer;
  white-space: nowrap;
  transition: background .4s, color .4s;
  appearance: none;
  flex-shrink: 0;
}

.ep-pw-change-toggle:hover {
  background: var(--ep-accent);
  color: var(--ep-white);
}

.ep-field-row.ep-field-row--pw-display {
  margin-bottom: 12px;
}

.ep-pw-fieldset {
  border: 1px solid var(--ep-rule);
  padding: 24px;
}

.ep-pw-fieldset__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--ep-rule);
}

.ep-pw-fieldset__msg {
  font-size: 12px;
  color: var(--ep-muted);
  margin: 0;
}

.ep-pw-change-cancel {
  
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ep-muted);
  background: transparent;
  border: 1px solid var(--ep-rule);
  padding: 7px 14px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color .4s, border-color .4s;
  appearance: none;
}

.ep-pw-change-cancel:hover {
  color: var(--ep-ink);
  border-color: var(--ep-ink);
}

.ep-form-actions {
  margin-top: 28px;
  text-align: center;
}

/* Password eye toggle */
.ep-pw-wrap {
  position: relative;
  display: block;
  width: 100%;

}

.ep-pw-wrap .input-text,
.ep-pw-wrap input[type="password"],
.ep-pw-wrap input[type="text"] {
  width: 100%;
  padding-right: 48px;
}

.ep-pw-toggle:hover {
  opacity: .65;
}

.show-password-input {
  display: none;
}

.ep-eye-icon {
  width: 18px;
  height: 18px;
  display: block;
  opacity: .3;
  transition: opacity .4s;
}

.ep-pw-toggle.is-visible .ep-eye-icon,
.ep-pw-toggle[aria-pressed="true"] .ep-eye-icon {
  opacity: 1;
  
}

/* Hide checkout/account password strength meter & hint — 완전 제거 */
.woocommerce-password-strength,
.woocommerce-password-hint,
.woocommerce-account .woocommerce-password-strength,
.woocommerce-account .woocommerce-password-hint {
  display: none !important;
}

/* 인라인 에러 — 아이콘 포함 개선 스타일 */
.ep-auth-inline-error {
  display: none;
  margin: 0 0 16px;
  padding: 11px 14px;
  border-radius: 6px;
  border: 1px solid rgba(180, 35, 24, .18);
  background: rgba(180, 35, 24, .04);
  color: #8f1d2c;
  font-size: 13px;
  line-height: 1.6;
}

.ep-auth-inline-error.is-visible {
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
}

.ep-auth-inline-error::before {
  content: '';
  flex-shrink: 0;
  display: block;
  width: 15px;
  height: 15px;
  margin-top: 2px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg transform='rotate(180 8 8)'%3E%3Cpath fill='none' stroke='%238f1d2c' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round' d='m14.5,8c0,3.59-2.91,6.5-6.5,6.5S1.5,11.59,1.5,8,4.41,1.5,8,1.5s6.5,2.91,6.5,6.5Zm-6.5-1v4m0-6h0'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.ep-auth-inline-error a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Address pages */
.woocommerce-Addresses {
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}

#ep .woocommerce-Addresses .u-columns {
  display: grid;
  
  grid-template-columns: 1fr;
  

  gap: 32px;
}

.woocommerce-Address-title {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  width: 100%;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ep-rule);
}

.woocommerce-Address-title h3 {
  
  font-size: 15px;
  
  
  color: var(--ep-dark);
  margin: 0;
  flex: 1;
  text-align: left;
}

.woocommerce-Address-title .edit {
  margin-left: auto;
  flex-shrink: 0;
}

#ep .woocommerce-Addresses .woocommerce-Address {
  border: 1px solid var(--ep-rule);
  padding: 28px;
  background: var(--ep-white);
  height: 100%;
}

.woocommerce-Addresses .woocommerce-Address-title .edit {
  
  
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ep-white);
  background: var(--ep-dark);
  
  padding: 4px 16px;
  display: inline-flex;
  align-items: center;
  height: 30px;
  text-decoration: none;
  transition: background .4s, border-color .4s;
  white-space: nowrap;
  border-radius: 4px;
}

.woocommerce-Addresses .woocommerce-Address-title .edit:hover {
  background: #2f4c6c;
  border-color: var(--ep-dark);
}

address {
  font-style: normal;
  font-size: 13px;
  line-height: 1.9;
  
}

/* ══════════════════════════════════════
   13. ORDERS & ORDER DETAIL
══════════════════════════════════════ */
/* Order list cards */
.ep-orders-title {

  font-size: clamp(28px, 4vw, 44px);

  color: var(--ep-dark);
  margin: 0 0 40px;
}

.ep-orders-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ep-order-card {
  border: 1px solid var(--ep-rule);
  background: var(--ep-white);
  padding: 24px 28px;
  transition: box-shadow .25s;
}

.ep-order-card:hover {
  box-shadow: 0 4px 24px rgba(30, 28, 26, .06);
}

.ep-order-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--ep-rule);
}

.ep-order-card__meta {
  display: flex;
  align-items: center;
  gap: 20px;
}

.ep-order-card__number a {
  font-family: var(--ep-serif);
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  color: var(--ep-dark);
  text-decoration: none;
}

.ep-order-card__number a:hover {
  color: var(--ep-accent);
}

.ep-order-card__date {
  
  font-size: 9px;
  letter-spacing: .15em;
  color: var(--ep-muted);
  text-transform: uppercase;
}

.ep-order-card__body {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.ep-order-card__thumb {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  border: 1px solid var(--ep-rule);
  overflow: hidden;
}

.ep-order-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ep-order-card__info {
  display: flex;
  flex: 1;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}

.ep-order-card__product {

  font-size: 13px;
  color: var(--ep-muted);
  word-break: keep-all;
}

.ep-order-card__total {
  
  font-size: 14px;
  letter-spacing: .06em;
  color: var(--ep-ink);
  white-space: nowrap;
}

.ep-order-card__footer {
  display: flex;
  justify-content: flex-end;
}

.ep-order-card__action {
  
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ep-ink);
  text-decoration: none;
  border: 1px solid var(--ep-ink);
  padding: 10px 20px;
  transition: background .4s, color .4s;
  white-space: nowrap;
}

.ep-order-card__action:hover {
  background: var(--ep-ink);
  color: var(--ep-white);
}

/* Orders pagination */
.ep-orders-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 32px;
}

.ep-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  border: 1px solid var(--ep-rule);
  background: var(--ep-white);
  
  font-size: 11px;
  
  color: var(--ep-muted);
  text-decoration: none;
  transition: all .4s;
  cursor: pointer;
}

.ep-page-btn:hover {
  border-color: var(--ep-accent);
  color: var(--ep-accent);
}

.ep-page-btn--active {
  background: var(--ep-accent);
  border-color: var(--ep-accent);
  color: var(--ep-white);
  cursor: default;
}

.ep-order-status {
  
  font-size: 8px;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 6px 12px;
  border: 1px solid var(--ep-rule);
  color: var(--ep-muted);
}

.ep-order-status--processing {
  border-color: var(--ep-accent);
  color: var(--ep-accent);
}

.ep-order-status--completed {
  border-color: var(--ep-ink);
  color: var(--ep-ink);
}

.ep-order-status--cancelled {
  border-color: #c9534f;
  color: #c9534f;
}

.ep-order-status--pending {
  border-color: var(--ep-muted);
  color: var(--ep-muted);
}

.ep-orders-empty {
  padding: 60px 0;
  text-align: center;
  border: 1px solid var(--ep-rule);
}

.ep-orders-empty__msg {
  
  
  font-weight: 500;
  color: var(--ep-dark);
  margin-bottom: 28px;
}

/* Order detail */
.ep-order-detail__title {

  font-size: clamp(24px, 3.5vw, 40px);

  color: var(--ep-dark);
  margin: 0 0 8px;
}

.ep-order-detail__meta {
  
  font-size: 9px;
  letter-spacing: .15em;
  color: var(--ep-muted);
  margin-bottom: 36px;
}

.ep-order-meta-card {
  border: 1px solid var(--ep-rule);
  margin-bottom: 40px;
  background: var(--ep-off);
}

.ep-order-meta-card__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 16px 24px;
  border-bottom: 1px solid var(--ep-rule);
}

.ep-order-meta-card__row:last-child {
  border-bottom: 0;
}

.ep-order-meta-card__label {
  
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ep-muted);
  flex-shrink: 0;
  margin-right: 16px;
}

.ep-order-meta-card__val {

  font-size: 13px;
  color: var(--ep-ink);
  text-align: right;
}

.ep-order-meta-card__val--total {
  font-family: var(--ep-serif);
  font-size: 20px;
  font-weight: 300;
  font-style: italic;
  color: var(--ep-dark);
}

/* Order items div-based */
.ep-order-items {
  margin-bottom: 0;
  border: 1px solid var(--ep-rule);
}

.ep-order-items__header {
  display: flex;
  justify-content: space-between;
  padding: 12px 20px;
  background: var(--ep-off);
  border-bottom: 1px solid var(--ep-rule);
  
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ep-muted);
}

.ep-order-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px;
  border-bottom: 1px solid var(--ep-rule);
}

.ep-order-item:last-of-type {
  border-bottom: 0;
}

.ep-order-item__img {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
}

.ep-order-item__img img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  display: block;
  border: 1px solid var(--ep-rule);
}

.ep-order-item-img--placeholder {
  width: 72px;
  height: 72px;
  background: var(--ep-off);
  border: 1px solid var(--ep-rule);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ep-order-item__info {
  flex: 1;
  min-width: 0;
}

.ep-order-item__name {
  font-family: var(--ep-serif);
  font-size: 15px;
  font-weight: 300;
  color: var(--ep-dark);
  word-break: keep-all;
  margin: 0 0 4px;
}

.ep-order-item__meta {
  font-size: 11px;
  color: var(--ep-muted);
  margin: 0 0 4px;
}

.ep-order-item__qty {
  
  font-size: 9px;
  letter-spacing: .15em;
  color: var(--ep-muted);
  margin: 0;
}

.ep-order-item__price {
  
  font-size: 13px;
  letter-spacing: .06em;
  color: var(--ep-ink);
  white-space: nowrap;
  flex-shrink: 0;
  padding-top: 2px;
}

.ep-order-totals {
  border-top: 1px solid var(--ep-rule);
}

.ep-order-totals__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 12px 20px;
  border-bottom: 1px solid var(--ep-rule);
  
  font-size: 11px;
  letter-spacing: .05em;
  color: var(--ep-muted);
}

.ep-order-totals__row:last-child {
  border-bottom: 0;
}

.ep-order-totals__row--discount {
  color: var(--ep-accent);
}

.ep-order-totals__row--total {
  font-family: var(--ep-serif);
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  color: var(--ep-dark);
  padding: 16px 20px;
  letter-spacing: -.01em;
}

.ep-order-totals__row--total span:last-child {
  font-size: 20px;
}

/* Order address */
.ep-order-address-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-top: 48px;
  padding-top: 40px;
  border-top: 1px solid var(--ep-rule);
}

.ep-order-addr-block__title {
  
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ep-muted);
  font-weight: 400;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ep-rule);
}

.ep-order-addr-block__body {
  font-style: normal;
  font-size: 13px;
  line-height: 1.85;
  color: var(--ep-ink);

}

.ep-order-addr-block__detail {
  display: block;

  font-size: 12px;
  color: var(--ep-muted);
  margin-top: 2px;
}

/* WooCommerce order table (legacy fallback) */

/* Order status badges */
.woocommerce-order-status {
  display: inline-block;
  
  font-size: 8px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 5px 10px;
  border: 1px solid currentColor;
  line-height: 1;
}

.woocommerce-order-status--processing {
  color: var(--ep-accent);
}

.woocommerce-order-status--completed {
  color: var(--ep-muted);
}

.woocommerce-order-status--on-hold {
  color: #b08d57;
}

.woocommerce-order-status--cancelled {
  color: #c9534f;
}

.woocommerce-order-status--pending {
  color: var(--ep-mid);
}

.woocommerce-order-status--refunded {
  color: var(--ep-muted);
}

/* ══════════════════════════════════════
   14. FORMS & INPUTS (Global)
══════════════════════════════════════ */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form .form-row .input-text,
.input-text,
select,
textarea {
  
  height: auto;
  border: 1px solid var(--ep-rule);
  background: var(--ep-off);
  padding: 12px 16px;
  /*  */
  font-size: 14px;
  
  
  outline: none;
  border-radius: 0;
  transition: border-color .4s, background-color .4s;
  box-sizing: border-box;
  line-height: normal;
  letter-spacing: normal;
  width: 100%;
  margin: 0;
}

textarea,
.woocommerce form .form-row textarea,
.woocommerce-checkout textarea {
  min-height: 120px;
  padding: 14px 16px;
  line-height: 1.6;
  vertical-align: top;
  resize: vertical;
}

input::placeholder,
textarea::placeholder {
  color: #b4b4b4;
  font-size: 14px;
}

.woocommerce form .form-row .input-text,
.input-text {
  padding-top: 12px;
  padding-bottom: 12px;
  line-height: normal;
}

select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%238E8880' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
  cursor: pointer;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row .input-text:focus,
.input-text:focus {
  border-color: var(--ep-rule);
  background: var(--ep-white);
}

.woocommerce-address-fields input:focus,
.woocommerce-address-fields select:focus,
.woocommerce-EditAccountForm input:focus {
  border-color: var(--ep-rule);
  outline: none;
}

label {
  
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ep-muted);
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
}

/* Radio */
.woocommerce-checkout input[type="radio"],
.woocommerce input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--ep-mid);
  border-radius: 50%;
  background: var(--ep-white);
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
  transition: border-color .25s;
  vertical-align: middle;
  margin-right: 8px;
}

.woocommerce-checkout input[type="radio"]:checked,
.woocommerce input[type="radio"]:checked {
  border-color: var(--ep-accent);
  background: var(--ep-white);
}

.woocommerce-checkout input[type="radio"]:checked::after,
.woocommerce input[type="radio"]:checked::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--ep-accent);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Checkbox */
#ep input[type="checkbox"],
input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--ep-mid);
  border-radius: 0;
  background: var(--ep-white);
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
  transition: border-color .25s, background .25s;
  vertical-align: middle;
  margin-right: 8px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px 11px;
}

#ep input[type="checkbox"]:checked,
.woocommerce input[type="checkbox"]:checked,
input[type="checkbox"]:checked,
.ep-terms-label input[type="checkbox"]:checked {
  border-color: var(--ep-accent);
  background-color: var(--ep-accent);
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMiAxMiI+PHBvbHlnb24gZmlsbD0id2hpdGUiIHBvaW50cz0iNC4xNzcsMTAuNTQzIDAuNDM0LDYuOCAxLjU2Niw1LjY2OCA0LjE3Nyw4LjI3OSAxMC40MzUsMi4wMjMgMTEuNTY1LDMuMTU1Ii8+PC9zdmc+");
}

input[type="checkbox"]:focus {
  outline: none;
  border-color: var(--ep-accent);
  box-shadow: 0 0 0 2px rgba(61, 90, 82, .15);
}

/* Spellcheck suppress */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce input[type="search"],
.woocommerce textarea,
.input-text,
.woocommerce-Input {
  -webkit-text-decoration: none;
}

/* WC misc form containers — background/border/padding 제거됨 */

.woocommerce form.checkout {
  
  
  padding: 0 60px;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
  border: 0;
  display: flex;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 24px auto;
  justify-content: center;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border: 1px solid var(--ep-rule);
  min-width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  
  font-size: 10px;
  
  color: var(--ep-muted);
  transition: all .4s;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--ep-accent);
  color: var(--ep-accent);
  background-color: var(--ep-white);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--ep-accent);
  border-color: var(--ep-accent);
  color: white;
}

.star-rating span::before,
.star-rating::before {
  color: var(--ep-accent);
}

/* ══════════════════════════════════════
   15. FOOTER
══════════════════════════════════════ */
.aurae-footer {
  background: var(--ep-off);
  
  padding: 70px 25px 55px;
}

.site-footer-info {
  font-size: 13px;
  text-align: center;
}

/* ══════════════════════════════════════
   16. ANIMATIONS & REVEAL
══════════════════════════════════════ */
.aurae-reveal {
  opacity: 0;
  transform: translateY(22px);
  animation: ep-reveal .85s cubic-bezier(.22, 1, .36, 1) forwards;
  transition: opacity .7s cubic-bezier(.22, 1, .36, 1), transform .7s cubic-bezier(.22, 1, .36, 1);
}

.aurae-reveal-group .aurae-reveal:nth-child(2) {
  animation-delay: .09s;
}

.aurae-reveal-group .aurae-reveal:nth-child(3) {
  animation-delay: .18s;
}

.aurae-reveal-group .aurae-reveal:nth-child(4) {
  animation-delay: .27s;
}

@keyframes ep-reveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ep-fade-up {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ep-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes ep-glow-pulse {

  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: .55;
    transform: scale(1.1);
  }
}

@keyframes ep-glow-drift {

  0%,
  100% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(-12px, 16px);
  }
}

@keyframes ep-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes ep-spin-centered {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes ep-wiggle {

  0%,
  100% {
    transform: translateX(0);
  }

  20% {
    transform: translateX(-6px);
  }

  40% {
    transform: translateX(6px);
  }

  60% {
    transform: translateX(-4px);
  }

  80% {
    transform: translateX(4px);
  }
}

.ep-wiggle {
  animation: ep-wiggle .4s ease;
}

/* ══════════════════════════════════════
   18. LEGACY ALIASES  (aurae-* → ep-*)
   순서 중요: 마지막에 위치해야 specificity 유지
══════════════════════════════════════ */
/* Shell / lock */
.aurae-shell {
  width: var(--ep-shell);
  margin: 0 auto;
}

.aurae-lock {
  overflow: hidden;
}

.aurae-kicker {
  
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ep-muted);
  margin: 0 0 16px;
  display: block;
}

/* Header */
.aurae-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  padding: 40px 55px 44px;
  
  transition: transform .45s cubic-bezier(.22, 1, .36, 1), background-color .3s ease;
  background-color: transparent;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.aurae-header__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(247, 246, 244, .95);
  opacity: 0;
  transition: opacity .45s cubic-bezier(.22, 1, .36, 1), box-shadow .45s cubic-bezier(.22, 1, .36, 1);
  box-shadow: 0 1px 0 rgba(216, 212, 206, 0);
}

.aurae-header.is-scrolled {
  transform: translate3d(0, -110%, 0);
  background-color: rgba(255, 255, 255, 0.5);
}

.aurae-header:hover {
  background-color: rgba(255, 255, 255, 0.5);
}

.aurae-logo {
  color: var(--ep-dark);
  line-height: 1;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: color .45s cubic-bezier(.22, 1, .36, 1), opacity .45s cubic-bezier(.22, 1, .36, 1);
}

.aurae-nav {
  display: flex;
  justify-content: center;
}

.aurae-menu {
  display: flex;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
}

.aurae-header__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.aurae-cart-count {
  position: absolute;
  top: 1px;
  right: -5px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ep-accent);
  color: white;
  font-size: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ep-p3 {
  padding-top: 30px;
  text-align: center;
}

.ep-p5 {
  padding-top: 50px;
  text-align: center;
}

.aurae-mobile-toggle {
  appearance: none;
  border: 1px solid transparent;
  background: transparent;
  color: var(--ep-ink);
  display: inline-flex;
  width: 30px;
  height: 30px;
  padding: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-radius: 50%;
  cursor: pointer;
  flex-shrink: 0;
}

.aurae-mobile-toggle span {
  display: block;
  width: 19px;
  height: 1.8px;
  background: currentColor;
}

/* aurae-header color states — delegate to ep-header via shared class if possible,
   else re-declare for aurae-header selectors */

.aurae-menu li a {
  
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ep-muted);
  padding: 8px 16px;
  display: block;
  position: relative;
  transition: color .4s;
}

.aurae-menu li a::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 16px;
  right: 16px;
  height: 1px;
  background: var(--ep-accent);
  transform: scaleX(0);
  transition: transform .3s cubic-bezier(.22, 1, .36, 1);
}

.aurae-menu li a:hover {
  color: var(--ep-dark);
}

.aurae-menu li a:hover::after {
  transform: scaleX(1);
}

.aurae-menu li.current-menu-item a {
  color: var(--ep-accent);
}

.aurae-menu li.current-menu-item a::after {
  transform: scaleX(1);
}

/* Mobile panel (aurae) */
.aurae-mobile-panel {
  position: fixed;
  inset: 0;
  z-index: 300;
  background: rgba(30, 28, 26, .45);
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s cubic-bezier(.22, 1, .36, 1);
}

.aurae-mobile-panel.is-active {
  opacity: 1;
  pointer-events: auto;
}

.aurae-mobile-panel__inner {
  width: min(600px, 100%);
  background: var(--ep-off);
  padding: 32px 28px 30px;

  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: column;

  padding: 32px 28px 28px;

  height: 100vh;
  height: 100dvh;

  overflow: hidden;
  -webkit-overflow-scrolling: touch;

  will-change: transform;
  transform: translate3d(-100%, 0, 0);
  transition: transform .6s cubic-bezier(.16, 1, .3, 1);

  box-shadow: 20px 0 60px rgba(30, 28, 26, .14);

  margin-left: 0;
  margin-right: auto;
}

.aurae-mobile-panel__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 20px;
  margin-bottom: 32px;
}

.aurae-mobile-menu li a:hover {
  color: var(--ep-accent);
}

.aurae-mobile-close {
  appearance: none;
  border: none;
  background: transparent;
  padding: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: opacity .4s;
  
  
}

/* Search overlay (aurae) */
.aurae-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 250;
  background: rgba(30, 28, 26, .45);
  opacity: 0;
  pointer-events: none;
  transition: opacity .4s cubic-bezier(.22, 1, .36, 1);
}

.aurae-search-overlay.is-active {
  opacity: 1;
  pointer-events: auto;
}

.aurae-search-overlay__inner {
  position: absolute;
  top: 80px;
  left: 50%;
  width: min(720px, calc(100% - 48px));
  transform: translateX(-50%) translateY(-16px);
  background: rgba(247, 246, 244, .98);
  -webkit-backdrop-filter: blur(16px);

  backdrop-filter: blur(16px);
  border: 1px solid var(--ep-rule);
  padding: 36px 40px;
  opacity: 0;
  transition: transform .5s cubic-bezier(.22, 1, .36, 1), opacity .45s cubic-bezier(.22, 1, .36, 1);
}

.aurae-search-overlay.is-active .aurae-search-overlay__inner {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}

.aurae-search-overlay__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  width: 100%;
}

.aurae-search-close {
  position: relative;
  top: -7px;
  flex-shrink: 0;
  appearance: none;
  border: none;
  background: transparent;
  padding: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: opacity .4s;
}

.aurae-search-form {
  display: flex;
  gap: 0;
  align-items: stretch;
  width: 100%;
  flex: 1;
}

.aurae-search-form .search-field {
  background: none;
  border: none;
  border-bottom: 1px solid var(--ep-rule);
  font-family: var(--ep-serif);
  font-size: 22px;
  font-style: italic;
  color: var(--ep-ink);
  padding: 8px 0;
  outline: none;
  transition: border-color .4s;
  flex: 1 1 0%;
  min-width: 0;
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
}

.aurae-search-form .search-field::-webkit-search-cancel-button,
.aurae-search-form .search-field::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

.aurae-search-form .search-field:focus {
  border-color: var(--ep-accent);
}

.aurae-search-form .search-field::placeholder {
  color: #acacac;
  font-weight: 500;
}

.aurae-search-form button[type="submit"] {
  
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ep-white);
  background: var(--ep-accent);
  border: 1px solid var(--ep-accent);
  padding: 0;
  width: 80px;
  flex: 0 0 80px;
  cursor: pointer;
  transition: background .4s;
  white-space: nowrap;
}

.aurae-search-form button[type="submit"]:hover {
  background: var(--ep-accent-light);
}

/* ===== XONTE 폰트 이식 ===== */

h1,
h2,
h3,
h4,
h5,
h6,
bdi,
b,
strong {
  font-weight: 500;
}

/* 헤더배치변경 / 햄버거좌측오픈 / 푸터로고색상수정 */
.hh-logo--footer {
  color: var(--ep-dark);
}

.aurae-header__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  width: 100%;
  box-sizing: border-box;
}

.aurae-header__left,
.aurae-header__actions--right {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.aurae-header__left {
  justify-content: flex-start;
}

.aurae-header__actions--right {
  justify-content: flex-end;
}

.aurae-branding--center {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.aurae-branding--center .hh-logo {
  margin: 0 auto;
}

.aurae-header .aurae-mobile-toggle {
  /* order removed */
}

.aurae-header .aurae-header__left .aurae-icon-link {
  order: 2;
}

.aurae-mobile-panel.is-active .aurae-mobile-panel__inner {
  transform: translate3d(0, 0, 0);
}

/* unified header icon system */
.aurae-icon-link svg {
  width: 20px;
  height: 20px;
  display: block;
  flex-shrink: 0;
  fill: currentColor;
  
}

.aurae-products,
.aurae-membership,
.aurae-generic-page,
.aurae-wrap,
.aurae-shop-head,
.aurae-cart-page,
.aurae-checkout-page {
  padding: 120px 60px 180px;
}

/* 로고변경 */
.hh-logo {
  position: relative;
  display: block;
  line-height: 1;
  text-decoration: none;
}

.hh-logo .logo-svg,
.hh-logo .hh-logo-svg {
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
}

.hh-logo--header,
.hh-logo--checkout,
.hh-logo--account,
.hh-logo--hamburger {
  color: currentColor;
}

.hh-logo--footer {
  color: var(--ep-white);
}

.aurae-branding,
.ep-checkout-header__logo,
.aurae-logo--footer,
.aurae-mobile-panel__top .hh-logo--hamburger {
  line-height: 1;
}

.aurae-header .aurae-logo.hh-logo,
.aurae-header .aurae-logo.hh-logo:visited,
.aurae-header .aurae-logo.hh-logo:hover,
.aurae-header .aurae-logo.hh-logo:focus,
.aurae-branding .hh-logo {
  color: var(--ep-dark);
}

.ep-checkout-header__logo.hh-logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin-top: 0;
}

.aurae-logo--footer.hh-logo {
  margin-bottom: 18px;
}

.aurae-mobile-panel__top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.aurae-mobile-panel__top .hh-logo--hamburger {
  position: static;
  transform: none;
  color: var(--ep-dark);
  pointer-events: auto;
  margin-right: auto;
}

.aurae-mobile-panel__top .aurae-mobile-close,
.aurae-mobile-panel__top .ep-close-btn {
  margin-left: auto;
  margin-right: -5px;
  flex: 0 0 auto;
}

.aurae-mobile-panel__top .hh-logo--hamburger .logo-svg,
.aurae-mobile-panel__top .hh-logo--hamburger svg {
  display: block;
}

/* Xonte 로고 사이즈 반영 */

.hh-logo svg {
  display: inline-block;
  vertical-align: middle;
  width: 130px;
  height: auto;
  max-width: 100%;
  fill: currentColor;
}

.ep-checkout-header .hh-logo svg {
  max-width: 120px;
  margin-top: -3px;
}

/* ── 무료 배송 badge ── */
.ep-free-badge {
  
  
  font-weight: 500;
  font-size: 13px;
}

/* ── 체크아웃 aurae-shell 패딩 제거 ── */

/* v5 checkout/cart/search fixes */
.ep-search-form {
  display: flex;
  gap: 12px;
  align-items: flex-end;
}

.ep-search-form label {
  margin-bottom: 0;
  flex: 1 1 auto;
  min-width: 0;
}

.ep-search-form .search-field {
  width: 100%;
  max-width: 100%;
}

.ep-search-form button[type=submit] {
  flex: 0 0 80px;
  width: 80px;
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.woocommerce ul.products li.product {
  width: 100%;
  min-width: 0;
  max-width: none;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
}

.ep-checkout-page-wrap .woocommerce>form.checkout.woocommerce-checkout,
form.checkout.woocommerce-checkout {
  float: none;
  width: 100%;
  max-width: none;
}

.ep-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 64px;
  align-items: start;
}

.ep-checkout-col--summary,
.ep-checkout-col--fields {
  min-width: 0;
}

.ep-checkout-col--fields #payment .place-order {
  padding-bottom: 0;
}

.ep-checkout-customer-details .col2-set,
.ep-checkout-customer-details .col2-set .col-1 {
  float: none;
  width: 100%;
}

.ep-checkout-customer-details .col2-set .col-2 {
  display: none !important;
}

#customer_details .woocommerce-billing-fields>h3 {
  margin: 0 0 28px;
}

.ep-order-review.woocommerce-checkout-review-order-table {
  display: block;
}

.ep-cart-option-label {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--ep-muted);
}

/* === v7 checkout layout fix (keep v5 option logic) === */
.ep-checkout-col--summary {
  display: block;
}

.ep-checkout-summary-body {
  display: block;
}

/* v19 fixes */

/* v21 tweaks */

.aurae-header__actions .aurae-cart-link .aurae-cart-count,
.aurae-header__actions .aurae-cart-link .ep-cart-count {
  top: 9px;
  right: 2px;
  width: 6px;
  height: 6px;
  min-width: 6px;
  min-height: 6px;
  padding: 0;
  border-radius: 100px;
  background: var(--ep-ink);
  color: transparent;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
  overflow: hidden;
}

#header-account {
  margin-right: 15px;
}

/*
 * HHTH — add.css
 * 원본 theme.css / hh.css 를 건드리지 않고
 * 신규·재정의 스타일을 이곳에만 작성합니다.
 *
 * 목차
 *  1.  Search Overlay 비활성화
 *  2.  헤더 인라인 검색
 *  3.  상품 카드 호버 버튼
 *  4.  모바일/PC 사이드 패널
 *  5.  어카운트 호버 드롭다운
 *  6.  미니카트 사이드 패널
 *  7.  Perfect Scrollbar (미니카트 전용)
 *  8.  WC CSS 초기화 + 버튼 시스템
 *  9.  AJAX 검색 드롭다운
 * 10.  주문 내역 페이지
 * 11.  주문 상세 페이지
 * 12.  검색 결과 없음 페이지
 * 14.  미니카트 수량 컨트롤
 * 15.  체크아웃 readonly 주소
 * 16.  바텀시트 (ep-buy-panel 옵션창)
 * 17.  스티키카트 바
 * 18.  일반상품 바텀시트 패널
 */

/* ─────────────────────────────────────────────────────
   1. Search Overlay 비활성화 (새 인라인 검색으로 대체)
───────────────────────────────────────────────────── */
.aurae-search-overlay {
  display: none;
}

/* ─────────────────────────────────────────────────────
/* ─────────────────────────────────────────────────────
   2. 헤더 인라인 검색 — xonte .icon 방식 그대로 이식
   아이콘(z-index:1 고정) + input(position:absolute, width transition)
   아이콘은 절대 이동하지 않고, input이 아이콘 뒤에서 오른쪽으로 펼쳐짐
───────────────────────────────────────────────────── */
#header-search {
  margin-left: 16px;
  display: inline-flex;
  align-items: center;
  position: relative;
}

#header-search svg {
  width: 18px;
  height: 18px;
}

/* 아이콘: z-index:2로 항상 input 위에, 제자리 고정 */
.ep-header-search__icon {
  position: relative;
  z-index: 2;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  line-height: 1;
}

/* form: position:relative — input absolute의 기준점 */
.ep-header-search__form {
  position: relative;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

/* input: position:absolute, left:0
   기본: width:0, border 투명 (아이콘 뒤에 숨음)
   is-open: width 펼쳐지며 border-bottom 나타남
   transition: width + border-color만 */
.ep-header-search__input {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  font-size: 13px;
  color: var(--ep-ink);
  background: transparent;
  border: none;
  border-bottom: 1.5px solid transparent;
  outline: none;
  padding: 6px 4px;
  transition: width .4s cubic-bezier(.22, 1, .36, 1),
    border-color .35s ease;
  -webkit-appearance: none;
  appearance: none;
  white-space: nowrap;
  caret-color: var(--ep-ink);
  pointer-events: none;
}

.ep-header-search.is-open .ep-header-search__input {
  
  width: 280px;
  border-bottom-color: var(--ep-ink);
  pointer-events: auto;
}

.ep-header-search__input::placeholder {
  color: currentColor;
  opacity: 0;
  transition: opacity .25s .15s;
}

.ep-header-search.is-open .ep-header-search__input::placeholder {
  opacity: 1;
}

.ep-header-search__input::-webkit-search-cancel-button,
.ep-header-search__input::-webkit-search-decoration {
  display: none;
}

/* 3. 상품 카드 호버 → 장바구니 버튼 슬라이드업 */
───────────────────────────────────────────────────── */ .aurae-product-card {
  overflow: visible;
  position: relative;
}

.aurae-product-card__media {
  overflow: hidden;
}

.aurae-product-card__actions {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 16px 14px;
  transform: translateY(8px);
  opacity: 0;
  pointer-events: none;
  transition: transform .32s cubic-bezier(.22, 1, .36, 1), opacity .25s ease;
  background: linear-gradient(to top, rgba(255, 255, 255, 1) 55%, rgba(255, 255, 255, 0));
}

.aurae-product-card:hover .aurae-product-card__actions {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.aurae-product-card__actions .button {
  width: 100%;
  text-align: center;
  padding: 8px 0;
  
}

/* ─────────────────────────────────────────────────────
   4. 모바일/PC 사이드 패널
───────────────────────────────────────────────────── */
.aurae-mobile-panel {
  background: transparent;
}

.aurae-mobile-panel__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(30, 28, 26, .45);
  opacity: 0;
  transition: opacity .45s cubic-bezier(.22, 1, .36, 1);
  cursor: pointer;
  z-index: 0;
}

.aurae-mobile-panel.is-active .aurae-mobile-panel__backdrop {
  opacity: 1;
}

.aurae-mobile-panel__top {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 28px;
}

/* 패널 검색창: label relative + 아이콘 absolute + input padding-left */
.ep-panel-search {
  margin-bottom: 36px;
  margin-top: 12px;
}

/* xonte mobile-menu__search-form 방식 그대로 */
.ep-panel-search__label {
  display: block;
  position: relative;
  border-bottom: 2px solid #ededed;
  transition: .4s;
}

.ep-panel-search__label:focus-within {
  border-bottom-color: var(--ep-ink);
}

.ep-panel-search__icon {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: var(--ep-ink);
  display: block;
  width: 20px;
  height: 20px;
}

.ep-panel-search__input {
  font-size: 14px;
  width: 100%;
  padding: 13px 0 13px 30px;
  border: none;
  background: none;
  outline: none;
  color: var(--ep-ink);
  display: block;
  -webkit-appearance: none;
  appearance: none;
  font-weight: 500;
}

.ep-panel-search__input::placeholder {
  color: #b4b4b4;
  font-weight: 500;
}

.ep-panel-search__input::-webkit-search-cancel-button {
  display: none;
}

.ep-panel-logout {
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 15px;
}

/* 메뉴 링크 — xonte3 심플 텍스트 방식 */
.aurae-mobile-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.aurae-mobile-menu>li>a {
  font-size: 15px;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 500;
  color: var(--ep-ink);
  margin: 0 0 12px;
  padding: 4px 0;
  justify-content: flex-start;
  display: flex;
  align-items: center;
  text-decoration: none;
  transition: opacity .4s;
}

.aurae-mobile-menu>li>a:hover {
  opacity: .55;
  color: var(--ep-ink);
}

.aurae-mobile-menu .sub-menu {
  list-style: none;
  padding: 6px 0 6px 14px;
  margin: 0;
  border-left: 1px solid var(--ep-rule);
  display: none;
}

.aurae-mobile-menu .sub-menu.is-open {
  display: block;
}

.aurae-mobile-menu .sub-menu li a {
  font-size: 13px;
  color: var(--ep-muted);
  padding: 9px 0;
  display: block;
  text-decoration: none;
  transition: color .4s;
}

.aurae-mobile-menu .sub-menu li a:hover {
  color: var(--ep-accent);
}

.aurae-mobile-menu li.menu-item-has-children>a::after {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  border-right: 1.2px solid currentColor;
  border-bottom: 1.2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .4s;
  flex-shrink: 0;
  margin-left: auto;
}

.aurae-mobile-menu li.menu-item-has-children.is-open>a::after {
  transform: rotate(-135deg) translateY(-2px);
}

/* 구분선 */
.ep-panel-section-divider {
  height: 1px;
  background: var(--ep-muted);
  opacity: .2;
  margin: 20px 0;
  border: none;
}

/* 서비스/footer 링크 */
.ep-panel-service {
  padding: 4px 0;
}

.ep-panel-footer {
  padding-top: 4px;
}

.ep-panel-nav-link {
  display: flex;
  align-items: center;
  font-size: 15px;
  font-weight: 500;
  color: var(--ep-ink);
  margin: 0 0 12px;
  padding: 4px 0;
  text-decoration: none;
  transition: opacity .4s;
  letter-spacing: 0;
  text-transform: none;
}

.ep-panel-cart-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--ep-ink);
  color: #fff;
  font-size: 11px;
  font-weight: 500;
  margin-left: auto;
}

/* ─────────────────────────────────────────────────────
   5. 어카운트 호버 드롭다운
───────────────────────────────────────────────────── */
.ep-account-wrap {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
}

.ep-account-dropdown {
  white-space: nowrap;
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 160px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: transform .35s cubic-bezier(.22, 1, .36, 1), opacity .28s ease;
  z-index: 200;
  padding-top: 8px;
}

.ep-account-wrap:hover .ep-account-dropdown {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.ep-account-dropdown__inner {
  background: var(--ep-white);
  box-shadow: 0 8px 32px rgba(30, 28, 26, .12);
  padding: 8px 0;
}

.ep-account-dropdown__inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ep-account-dropdown__inner li a {
  display: block;
  padding: 10px 20px;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ep-dark);
  text-decoration: none;
  transition: color .4s, background .4s;
  white-space: nowrap;
}

.ep-account-dropdown__inner li a:hover {
  color: var(--ep-ink);
  background: var(--ep-light);
}

/* ─────────────────────────────────────────────────────
   6. 미니카트 사이드 패널
───────────────────────────────────────────────────── */
.ep-minicart-panel {
  position: fixed;
  inset: 0;
  z-index: 400;
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s cubic-bezier(.22, 1, .36, 1);
}

.ep-minicart-panel.is-open {
  opacity: 1;
  pointer-events: auto;
}

.ep-minicart-panel__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(22, 22, 25, .2);
  cursor: pointer;
}

.ep-minicart-panel__inner {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 500px;
  max-width: 100%;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, .1);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform .5s cubic-bezier(.16, 1, .3, 1);
  overflow: hidden;
}

.ep-minicart-panel.is-open .ep-minicart-panel__inner {
  transform: translateX(0);
}

/* 헤더 */
.ep-minicart-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 35px 40px;
  flex-shrink: 0;
}

.ep-minicart-panel__title {
  font-size: 19px;
  font-weight: 500;
  color: var(--ep-ink);
}

.ep-minicart-panel__count {
  font-size: 16px;
  font-weight: 400;
  color: var(--ep-muted);
  margin-left: 4px;
  display: none;
}

.ep-minicart-panel__close {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  
  
  transition: color .4s;
  margin-right: -5px;
}

.ep-minicart-panel__close-text {
  display: none
}

.ep-minicart-panel__close-text {
  font-size: 12px;
  letter-spacing: .03em;
}

.ep-minicart-panel__close img {
  width: 16px;
  height: 16px;
  display: block;
  
  
  
}

.ep-minicart-panel__close:hover img {
  opacity: 1;
}

/* body — PS 컨테이너 */
.ep-minicart-panel__body {
  flex: 1;
  position: relative;
  overflow: hidden;
  padding: 0 40px;
}

.ep-minicart-panel__body .woocommerce-mini-cart {
  list-style: none;
  margin: 0;
  padding: 0;

}

.ep-minicart-panel__body .woocommerce-mini-cart li:first-child {
  padding-top: 20px;
}

/* 아이템 */
.ep-minicart-panel__body .woocommerce-mini-cart-item.mini_cart_item {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 30px 0;
  border-bottom: 1px solid var(--ep-rule, #e8e8e8);
  position: relative;
}

.ep-minicart-panel__body .woocommerce-mini-cart-item.mini_cart_item:last-child {
  border-bottom: 0;
}

/* 썸네일 120px */
.ep-minicart-panel__body .woocommerce-mini-cart-item__thumbnail {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  overflow: hidden;
  background: var(--ep-light, #f5f4f2);
}

.ep-minicart-panel__body .woocommerce-mini-cart-item__thumbnail a {
  display: block;
  width: 100%;
  height: 100%;
}

.ep-minicart-panel__body .woocommerce-mini-cart-item__thumbnail img {
  width: 100%;
  height: 100%;
  max-width: none;
  float: none;
  margin: 0;
  object-fit: cover;
  display: block;
}

/* 상품 정보 */
.ep-minicart-panel__body .woocommerce-mini-cart-item__summary {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-right: 23px;
}

/* 상품명 */
.ep-minicart-panel__body .woocommerce-mini-cart-item__name {
  font-size: 14px;
  color: var(--ep-ink);
  font-weight: 500;
  line-height: 1.4;
  word-break: keep-all;
}

.ep-minicart-panel__body .woocommerce-mini-cart-item__name a {
  color: inherit;
  text-decoration: none;
}

.ep-minicart-panel__body .woocommerce-mini-cart-item__name a:hover {
  opacity: .7;
}

/* 옵션 데이터 — "::" 이중 콜론 방지 */
.woocommerce-mini-cart-item__data {
  margin: 0;
}

.woocommerce-mini-cart-item__data .variation,
.woocommerce-mini-cart-item__data dl {
  margin: 4px 0;
  padding: 0;
  font-size: 12px;
  color: var(--ep-muted);
}

.woocommerce-mini-cart-item__data dl dt {
  display: inline;
  font-weight: 400;
  margin-right: 2px;
}

.woocommerce-mini-cart-item__data dl dd {
  display: inline;
  margin: 0;
  margin-right: 6px;
}

.woocommerce-mini-cart-item__data dl dd::before {
  content: ' ';
}

.woocommerce-mini-cart-item__data p {
  font-size: 12px;
  color: var(--ep-muted);
  margin: 0;
}

/* 가격 (수량 위) */
.ep-mc-price-row {
  font-size: 14px;
  font-weight: 500;
  color: var(--ep-ink);
  margin: 2px 0 4px;
}

/* 수량 행 */
.woocommerce-mini-cart-item__qty {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ep-mc-qty-label {
  font-size: 11px;
  color: var(--ep-muted);
  letter-spacing: .04em;
  flex-shrink: 0;
}

/* 삭제 버튼 */
.ep-mc-remove {
  position: absolute;
  
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  text-decoration: none;
  color: var(--ep-muted);
  transition: opacity .4s;
  opacity: .5;
}

.ep-mc-remove:hover {
  opacity: .8;
}

.ep-mc-remove-svg {
  width: 17px;
  height: 17px;
  display: block;
  
}

/* 빈 카트 */
.woocommerce-mini-cart__empty-message {
  font-size: 13px;
  color: var(--ep-muted);
  text-align: center;
  padding: 60px 0;
  margin: 0;
}

/* footer */
.ep-minicart-panel__foot {
  padding: 0 40px 40px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
  border-top: 1px solid var(--ep-rule, #e8e8e8);
}

/* 소계 */
.ep-minicart-panel__subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0 4px;
}

.ep-minicart-panel__subtotal-label {
  font-size: 12px;
  color: var(--ep-muted);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.ep-minicart-panel__subtotal-price {
  font-size: 16px;
  font-weight: 500;
  color: var(--ep-ink);
}

/* 미니카트 버튼 — button / button alt 클래스 사용 */
.ep-minicart-btn--cart,
.ep-minicart-btn--checkout {
  display: block;
  width: 100%;
  text-align: center;
}

/* lock */
body.ep-panel-lock,
body.ep-minicart-lock {
  overflow: hidden;
}

a.aurae-cart-link[data-minicart-open] {
  cursor: pointer;
}

/* 카트 dot badge 6×6 */

/* ─────────────────────────────────────────────────────
   7. Perfect Scrollbar
───────────────────────────────────────────────────── */
.ps__rail-y {
  width: 3px;
  background: transparent;
  opacity: 1;
  right: 0;
}

.ps__thumb-y {
  width: 3px;
  right: 0;
  border-radius: 2px;
  background: var(--ep-rule, #e0deda);
}

.ps__rail-y:hover .ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
  background: var(--ep-muted);
  width: 3px;
}

.ps__rail-x {
  display: none;
}

/* ─────────────────────────────────────────────────────
   8. WC CSS 초기화 + 버튼 시스템
───────────────────────────────────────────────────── */

/* WC 미니카트 이미지 32px 강제 override */
.ep-minicart-panel ul.cart_list li img,
.ep-minicart-panel ul.product_list_widget li img {
  width: 100%;
  height: 100%;
  max-width: none;
  float: none;
  margin: 0;
  object-fit: cover;
  display: block;
}

/* WC 기본 mini-cart 버튼 초기화 */
.ep-minicart-panel .woocommerce-mini-cart__buttons,
.ep-minicart-panel .woocommerce-mini-cart__buttons a,
.ep-minicart-panel .wc-forward {
  all: unset;
}

/* 기본 버튼 */

.button,
a.button,
button.button,
input.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ep-dark);
  color: var(--ep-white, #fff);
  border: 1px solid var(--ep-dark);
  padding: 14px 60px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
  text-decoration: none;
  cursor: pointer;
  transition: .4s;
  
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  white-space: nowrap;
  flex-shrink: 0;
  position: relative;
  border-radius: 100px;
}

/* alt 버튼 */

a.button.alt,
button.button.alt,
.button.alt {
  background: var(--ep-white);
  color: var(--ep-dark);
  
  border-color: #d0d0d0;
}

a.button.alt:hover,
button.button.alt:hover,
.button.alt:hover {
  border-color: var(--ep-dark);
  background: #fff;
  color: var(--ep-dark);
}

.woocommerce-checkout .form-row {
  margin-bottom: 24px;
}

p#billing_postcode_search_field,
p#shipping_postcode_search_field,
p#billing_address_1_field {
  margin-bottom: 12px;
}

/* 우편번호 찾기 버튼 — button.alt 스타일 */
.ep-postcode-search-btn.button.alt {
  display: block;
  width: 100%;
  max-width: 150px;
  padding: 10px 30px;
  text-align: center;
  font-size: 13px;
}

p#billing_postcode_search_field {
  margin-top: 30px;
}

/* 장바구니 결제 버튼 — alt여도 dark 강제 */
.checkout-button,
a.checkout-button,
.wc-proceed-to-checkout a.checkout-button,
.ep-cart-checkout-btn a {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--ep-dark);
  color: var(--ep-white, #fff);
  border: 1px solid var(--ep-dark);
  padding: 15px 24px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  border-radius: 200px;
  text-decoration: none;
  transition: .4s;
  box-shadow: none;
}

.ep-cart-checkout-btn {
  margin-top: 12px;
}

.btn-m::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 100%);
  transition: all 1s ease;
}

.btn-m:hover::before {
  left: 100%;
}

/* 구매하기 / 담기 버튼 full-width */
.ep-buy-trigger.button,
.single_add_to_cart_button {
  width: 100%;
  justify-content: center;
}

/* spellcheck 빨간 밑줄 제거 */
input,
textarea,
[contenteditable] {
  -webkit-spellcheck: false;
  spellcheck: false;
}

/* ─────────────────────────────────────────────────────
   9. AJAX 검색 드롭다운
───────────────────────────────────────────────────── */
@keyframes ep-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* 로딩 중 스피너 */
#header-search.ep-search-loading .ep-header-search__icon .aurae-icon-search {
  opacity: 0;
}

#header-search.ep-search-loading .ep-header-search__icon::after {
  content: '';
  position: absolute;
  width: 14px;
  height: 14px;
  top: calc(50% - 7px);
  left: calc(50% - 7px);
  border-radius: 50%;
  border: 1.8px solid var(--ep-rule, #e0deda);
  border-top-color: var(--ep-ink);
  animation: ep-spin .8s linear infinite;
}

/* 결과 드롭다운 */
.ep-search-results {
  position: absolute;
  top: calc(100% + 14px);
  left: 0;
  width: calc(36px + min(280px, 38vw));
  background: #fff;
  box-shadow: 0 8px 32px rgba(30, 28, 26, .12);
  z-index: 500;
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
  overflow: hidden;
}

.ep-search-results.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* 리스트 PS 래퍼 */
.ep-search-list-wrap {
  position: relative;
  max-height: 360px;
  overflow: hidden;
}

.ep-search-list {
  list-style: none;
  margin: 0;
  padding: 8px 0;
}

/* 결과 아이템 */
.ep-search-item a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  text-decoration: none;
  transition: background .15s;
}

.ep-search-item a:hover {
  background: var(--ep-light, #f5f4f2);
}

.ep-search-item__thumb {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  overflow: hidden;
  background: var(--ep-light, #f5f4f2);
}

.ep-search-item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ep-search-item__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.ep-search-item__title {
  font-size: 12px;
  color: var(--ep-ink);
  line-height: 1.4;
  font-weight: 500;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.ep-search-item__price {
  font-size: 11px;
  color: var(--ep-muted);
}

.ep-search-more {
  border-top: 1px solid var(--ep-rule, #eee);
  padding: 10px 16px 12px;
}

.ep-search-more a {
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: none;
  transition: color .4s;
}

.ep-search-more a:hover {
  color: var(--ep-ink);
}

.ep-search-empty {
  font-size: 12px;
  color: var(--ep-muted);
  padding: 16px;
  margin: 0;
  text-align: center;
}

/* ─────────────────────────────────────────────────────
   10. 주문 내역 페이지
───────────────────────────────────────────────────── */

.ep-orders-list {
  display: flex;
  flex-direction: column;
}

.ep-order-row {
  border-bottom: 1px solid var(--ep-rule, #eee);
  padding: 0 0 32px;
  margin-bottom: 32px;
}

.ep-order-row__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 16px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--ep-rule, #eee);
}

.ep-order-row__date {
  font-size: 13px;
  color: var(--ep-muted);
}

.ep-order-row__date strong {
  color: var(--ep-ink);
  font-weight: 500;
}

.ep-order-row__body {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

.ep-order-row__thumb {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  overflow: hidden;
  background: var(--ep-light, #f5f4f2);
}

.ep-order-row__thumb a {
  display: block;
  width: 100%;
  height: 100%;
}

.ep-order-row__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ep-order-row__thumb-placeholder {
  width: 100%;
  height: 100%;
}

.ep-order-row__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  
}

.ep-order-row__name {
  font-size: 14px;
  font-weight: 500;
  color: var(--ep-ink);
  line-height: 1.4;
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #eee;
  margin-bottom: 8px;
}

.ep-order-row__num,
.ep-order-row__total {
  font-size: 13px;
  color: var(--ep-muted);
  margin: 0;
}

.ep-order-row__num strong,
.ep-order-row__total strong {
  color: var(--ep-ink);
  font-weight: 500;
  padding-left: 8px;
}

.ep-order-row__actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

/* 상태 */
.ep-order-row__status,
.ep-view-order__status {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--ep-muted);
}

.ep-status-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #b1bdc9;
  flex-shrink: 0;
}

.ep-status-dot--sm {
  width: 6px;
  height: 6px;
}


/* 주문 버튼 */
.ep-btn-s {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 20px;
  font-size: 12px;
  color: var(--ep-ink);
  border: 1px solid #dfdfdf;
  border-radius: 200px;
  text-decoration: none;
  background: transparent;
  transition: border-color .4s;
  white-space: nowrap;
  font-weight: 500;
  cursor: pointer;
}

.ep-btn-s.ep-btn-s--back {
  padding: 12px 36px;
  font-size: 13px;
}

.ep-btn-s:hover {
  border-color: var(--ep-ink);
}

.ep-btn-s--cancel {
  color: var(--ep-muted);
}

/* 페이지네이션 */
.ep-orders-pagination {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 32px;
}

.ep-orders-empty {
  padding: 60px 0;
  text-align: center;
}

.ep-orders-empty__msg {
  font-size: 14px;
  color: var(--ep-muted);
  margin-bottom: 24px;
}

/* ─────────────────────────────────────────────────────
   11. 주문 상세 페이지
───────────────────────────────────────────────────── */
.ep-view-order {
  max-width: 1080px;
  margin: 0 auto;
}

.ep-view-order__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--ep-muted);
  background: var(--ep-light, #f5f4f2);
  padding: 5px 12px;
  border-radius: 200px;
  margin-bottom: 20px;
}

.ep-view-order__title {
  font-size: 22px;
  color: var(--ep-ink);
  margin: 0 0 16px;
}

.ep-view-order__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: var(--ep-muted);
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ep-rule, #eee);
}

.ep-view-order__meta strong {
  color: var(--ep-ink);
  padding-left: 4px
}

.ep-view-items {
  display: flex;
  flex-direction: column;
  margin-bottom: 40px;
}

.ep-view-item {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid var(--ep-rule, #eee);
}

.ep-view-item__img {
  flex-shrink: 0;
  width: 150px;
  height: 150px;
  overflow: hidden;
  background: var(--ep-light, #f5f4f2);
}

.ep-view-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ep-view-item__info {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.ep-view-item__name {
  font-size: 14px;
  font-weight: 500;
  color: var(--ep-ink);
  line-height: 1.4;
  margin: 0;
}

.ep-view-item__meta {
  display: flex;
  flex-direction: row;
  margin-bottom: 12px;
  border-bottom: 1px solid #eee;
  padding: 8px 0 12px;
  font-size: 12px;
  color: var(--ep-muted);
}

.ep-view-item__row {
  font-size: 13px;
  color: var(--ep-muted);
  margin: 0;
  display: flex;
  padding-bottom: 4px;
  gap: 10px;
}

.wc-item-meta-label {
  padding-right: 4px;
}

.ep-view-item__row strong {
  color: var(--ep-ink);
  font-weight: 500;
}

.ep-view-order__prow:first-child {
  padding-top: 0;
}

.ep-view-order__info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  margin-bottom: 40px;
}

.ep-view-order__section-title {
  font-size: 16px;
  color: var(--ep-ink);
  margin: 0 0 20px;
}

.ep-view-order__address {
  font-style: normal;
  font-size: 14px;
  color: var(--ep-ink);
  line-height: 1.8;
}

.ep-view-order__address span {
  display: block;
  
  font-size: 13px;
  margin-top: 4px;
  
}

.ep-view-order__payment-rows {
  display: flex;
  flex-direction: column;
}

.ep-view-order__prow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  font-size: 14px;
  color: var(--ep-ink);
  border-bottom: 1px solid var(--ep-rule, #eee);
}

.ep-view-order__prow:last-child {
  border-bottom: 0;
}

.ep-view-order__prow span:first-child {
  
  font-size: 13px;
}

.ep-view-order__prow span:last-child {
  color: var(--ep-ink);
  font-weight: 500;
}

.ep-view-order__prow--total {
  font-size: 15px;
}

.ep-view-order__back {
  margin-top: 48px;
  text-align: center;
}

.ep-view-order__notes {
  margin: 32px 0;
}

.ep-view-order__notes-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ep-view-order__notes-list li {
  padding: 16px;
  background: var(--ep-light, #f5f4f2);
}

.ep-view-order__notes-list p {
  font-size: 13px;
  color: var(--ep-ink);
  margin: 0 0 4px;
}

.ep-view-order__notes-list time {
  font-size: 12px;
  color: var(--ep-muted);
}

@media (max-width: 640px) {
  .ep-view-order__info-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ep-order-row__thumb {
    width: 88px;
    height: 88px;
  }

  .ep-view-item__img {
    width: 120px;
    height: 120px;
  }
}

/* ─────────────────────────────────────────────────────
   12. 검색 결과 없음 페이지
───────────────────────────────────────────────────── */
/* 검색 시 shop-head h1 크게 + kicker 숨김 */

.woocommerce-product-search .aurae-shop-head h1,
.search-no-results .aurae-shop-head h1 {
  font-size: 28px;

  color: var(--ep-ink);
  letter-spacing: -.01em;
  margin: 0;
}

.woocommerce-product-search .aurae-shop-head p:not(.aurae-kicker) {
  font-size: 13px;
  color: var(--ep-muted);
  margin: 8px 0 0;
}

.ep-no-results {
  padding: 20px 0 60px;
}

.ep-no-results__query {
  display: none;
}

/* h1이 이미 출력하므로 숨김 */
.ep-no-results__msg {
  font-size: 22px;

  color: var(--ep-ink);
  margin: 0 0 28px;
  letter-spacing: -.01em;
}

.ep-no-results__form {
  max-width: 500px;
  margin: 0 auto;
}

.ep-no-results__label {
  display: block;
  position: relative;
  border-bottom: 2px solid #ededed;
  transition: .4s;
  cursor: text;
}

.ep-no-results__label:focus-within {
  border-bottom-color: var(--ep-ink);
}

.ep-no-results__icon {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--ep-ink);
  pointer-events: none;
  display: block;
  width: 20px;
  height: 20px;
}

.ep-no-results__input {
  font-size: 14px;
  width: 100%;
  padding: 13px 0 13px 30px;
  border: none;
  background: none;
  outline: none;
  color: var(--ep-ink);
  display: block;
  font-weight: 500;
  -webkit-appearance: none;
  appearance: none;
  caret-color: var(--ep-ink);
}

.ep-no-results__input::placeholder {
  color: #b4b4b4;
  font-weight: 500;
}

.ep-no-results__input::-webkit-search-cancel-button,
.ep-no-results__input::-webkit-search-decoration {
  display: none;
}

/* ─────────────────────────────────────────────────────
/* ─────────────────────────────────────────────────────
   14. 미니카트 수량 컨트롤
───────────────────────────────────────────────────── */
.ep-mc-qty-control {
  display: flex;
  align-items: center;
  border: 1px solid var(--ep-rule, #e8e8e8);
  flex-shrink: 0;
}

.ep-mc-qty-btn {
  background: none;
  border: none;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  color: var(--ep-ink);
  transition: background .15s;
  padding: 0;
  line-height: 1;
}

.ep-mc-qty-btn:hover {
  background: var(--ep-light, #f5f4f2);
}

.ep-mc-qty-btn:disabled {
  opacity: .3;
  cursor: default;
}

.ep-mc-qty-val {
  font-size: 13px;
  font-weight: 500;
  color: var(--ep-ink);
  min-width: 28px;
  text-align: center;
  line-height: 28px;
  display: block;
}

.ep-mc-qty-control.is-loading {
  opacity: .5;
  pointer-events: none;
}

/* ─────────────────────────────────────────────────────
   15. 체크아웃 readonly 주소 필드
───────────────────────────────────────────────────── */

/* WC 초록색 알림 숨김 */

/* 우편번호 찾기 버튼 — 라벨과 address input 사이 */

/* ─────────────────────────────────────────────────────
   16. 바텀시트 (ep-buy-panel 옵션창)
───────────────────────────────────────────────────── */

/* 전체 오버레이 */
.ep-bottom-sheet {
  position: fixed;
  inset: 0;
  z-index: 399;
  pointer-events: none;
}

.ep-bottom-sheet.ep-bottom-sheet--open {
  pointer-events: auto;
}

/* 백드롭 */
.ep-bs-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(30, 28, 26, .5);
  opacity: 0;
  transition: opacity .35s ease;
}

.ep-bottom-sheet--open .ep-bs-backdrop {
  opacity: 1;
}

/* 드로어 */
.ep-bs-drawer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-radius: 16px 16px 0 0;
  max-height: 90vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateY(calc(100% + 1px));
  transition: transform .38s cubic-bezier(.22, 1, .36, 1), visibility 0s .38s;
  padding-bottom: env(safe-area-inset-bottom, 0px);
  visibility: hidden;
}

.ep-bottom-sheet--open .ep-bs-drawer {
  transform: translateY(0);
  visibility: visible;
  transition: transform .38s cubic-bezier(.22, 1, .36, 1), visibility 0s 0s;
}

/* 핸들 */
.ep-bs-handle-wrap {
  display: flex;
  justify-content: center;
  padding: 16px 0 20px;
  cursor: pointer;
  touch-action: none;
}

.ep-bs-handle {
  width: 36px;
  height: 4px;
  background: var(--ep-rule, #e0deda);
  border-radius: 99px;
  pointer-events: none;
}

/* 바텀시트 내부 body (ep-buy-panel이 이 안으로 이동됨) */
.ep-bs-body {
  padding: 8px 20px 32px;
}

/* 바텀시트 안에서 ep-buy-panel 스타일 재정의 */
.ep-bs-body .ep-buy-panel {
  display: block !important;
  max-width: 500px;
  margin: 0 auto;
}

/* 바텀시트 안의 옵션 테이블 */
.ep-bs-body .variations {
  width: 100%;
  
}

.ep-bs-body .variations th.label {
  display: block;
}

.ep-bs-body .variations td.value {
  width: 100%;
  display: block;
  padding: 0;
}

.ep-bs-body .variations select,
.ep-bs-body .ep-select-wrap {
  width: 100%;
}

/* 바텀시트 안의 ep-ms-wrap (선택목록+버튼) */
.ep-bs-body .ep-ms-wrap {
  margin-top: 0;
}

/* ep-buy-panel-anchor: 원위치 placeholder (보이지 않음) */
.ep-buy-panel-anchor {
  display: none;
}

/* ─────────────────────────────────────────────────────
   17. 스티키카트 바 (상품 상세 페이지)
───────────────────────────────────────────────────── */

/* 바 자체: 전폭 고정 */
.ep-sticky-cart {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 398;
  background: #fff;
  border-top: 1px solid var(--ep-rule, #e8e8e8);
  transform: translateY(100%);
  transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}

.ep-sticky-cart--visible {
  transform: translateY(0);
}

/* 내부 래퍼: max-width 990px, 가운데 정렬, 패딩/레이아웃 */
.ep-sticky-cart__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  height: 80px;
}

/* 스티키 상품 정보 */
.ep-sticky-cart__info {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.ep-sticky-cart__thumb {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: 4px;
  overflow: hidden;
}

.ep-sticky-cart__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ep-sticky-cart__name {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

.ep-sticky-cart__title {
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--ep-ink);
}

.ep-sticky-cart__atr1 {
  font-size: 11px;
  color: #beaf9e;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: .4px;
}

.ep-sticky-cart__price {
  font-size: 13px;
  font-weight: 500;
  color: var(--ep-ink);
  white-space: nowrap;
  flex-shrink: 0;
}

/* 스티키 구매하기 버튼 */
.ep-sticky-buy-btn {
  padding: 12px 150px;
  min-width: 320px;
}

/* 모바일: 상품 정보 숨기고 버튼만, 버튼 전폭 */
@media (max-width: 767px) {
  .ep-sticky-cart__inner {
    padding: 10px 16px;
  }

  .ep-sticky-cart__info {
    display: none;
  }

  .ep-sticky-buy-btn {
    width: 100%;
    padding: 13px 16px;
    font-size: 13px;
    justify-content: center;
  }
}

/* ─────────────────────────────────────────────────────
   18. 일반상품 바텀시트 패널
───────────────────────────────────────────────────── */

/* 수량 행 */
.ep-simple-qty-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.ep-simple-qty-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--ep-ink);
}

/* WooCommerce 기본 .quantity 래퍼를 ep-ms-qwrap 스타일로 통일 */
.ep-simple-panel .quantity,
.ep-bs-body .ep-simple-panel .quantity {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--ep-rule, #e8e8e8);
  background: var(--ep-white, #fff);
  overflow: hidden;
  flex-shrink: 0;
  width: auto;
}

/* +/- 버튼 */
.ep-simple-panel .quantity .ep-qty-btn,
.ep-simple-panel .quantity .plus,
.ep-simple-panel .quantity .minus {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  font-size: 20px;
  font-weight: 300;
  color: var(--ep-ink);
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: background .15s;
  flex-shrink: 0;
}

.ep-simple-panel .quantity .ep-qty-btn:hover:not([disabled]),
.ep-simple-panel .quantity .plus:hover,
.ep-simple-panel .quantity .minus:hover {
  background: var(--ep-off, #f7f6f4);
}

/* qty input */
.ep-simple-panel .quantity input.qty {
  width: 48px;
  min-height: 44px;
  border: none;
  border-left: 1px solid var(--ep-rule, #e8e8e8);
  border-right: 1px solid var(--ep-rule, #e8e8e8);
  background: transparent;
  font-size: 14px;
  text-align: center;
  padding: 0;
  outline: none;
  -moz-appearance: textfield;
  color: var(--ep-ink);
}

.ep-simple-panel .quantity input.qty::-webkit-outer-spin-button,
.ep-simple-panel .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* 총액 블록 */
.ep-simple-total {
  margin-bottom: 0;
}

/* 액션 버튼 행 */
.ep-simple-panel .ep-simple-actions {
  display: flex;
  gap: 8px;
  
}

.ep-simple-panel .ep-simple-actions button {
  flex: 1;
  min-height: 52px;
}

.ep-simple-total .ep-ms-total {
  border-top: 1px solid var(--ep-rule);
}

.ep-panel-footer .ep-panel-nav-link:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.ep-panel-service .ep-panel-nav-link,
.ep-panel-footer .ep-panel-nav-link,
.aurae-mobile-menu>li>a,
.aurae-mobile-menu .sub-menu li a {
  font-weight: 500;
}

/* --- ChatGPT patch: mobile panel footer, shop breadcrumb, shop grid, auth link --- */

.ep-panel-footer {
  margin-top: auto;
  position: sticky;
  bottom: 0;
  padding-top: 10px;
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 4px);
}

.ep-panel-cart-link {
  justify-content: space-between;
}

.ep-panel-cart-link__meta {
  display: inline-flex;
  align-items: center;
  
  position: relative;
}

.ep-panel-cart-link__icon {
  width: 18px;
  height: 18px;
}

/* s */

.ep-panel-auth-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ep-panel-auth-link__meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.ep-panel-search__icon {
  width: 16px;
  height: 16px;
  display: block;
  flex-shrink: 0;
}

.ep-panel-service {
  padding-bottom: 12px;
}

.ep-shop-breadcrumb {
  margin: 0 0 18px;
  font-size: 12px;
  color: var(--ep-muted);
}

.ep-shop-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.ep-shop-breadcrumb a:hover {
  color: var(--ep-ink);
}

@media (max-width: 520px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }
}

/* --- mobile overlay stability patch --- */
body.ep-panel-lock,
body.ep-minicart-lock,
body.ep-bs-lock {
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
}

.aurae-mobile-panel,
.ep-minicart-panel {
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  overscroll-behavior: none;
}

.aurae-mobile-panel__backdrop,
.ep-minicart-panel__backdrop {
  position: absolute;
  inset: 0;
}

.aurae-mobile-panel__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-bottom: 12px;
}

.ep-minicart-panel__inner {
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  overscroll-behavior: none;
}

.ep-minicart-panel__body {
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.ep-bs-drawer {
  max-height: 90vh;
  max-height: 90dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  overscroll-behavior: none;
}

.ep-bs-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.ep-simple-product {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 0 16px;
  margin: 0 0 16px;
  border-bottom: 1px solid rgba(30, 28, 26, 0.08);
}

.ep-simple-product__thumb {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 6px;
  overflow: hidden;
  background: rgba(30, 28, 26, 0.04);
}

.ep-simple-product__img,
.ep-simple-product__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ep-simple-product__title {
  min-width: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--ep-ink);
}

/* Shop card rating — cleaner e-review style */
.aurae-product-card__rating.ep-entry-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 6px 0;
  line-height: 1;
}

.aurae-product-card__rating .ep-entry-rating__hearts {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.aurae-product-card__rating .ep-entry-rating__heart {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.aurae-product-card__rating .ep-entry-rating__heart--on {
  color: #ff0000;
}

.aurae-product-card__rating .ep-entry-rating__heart--off {
  color: #e8e8e8;
}

.aurae-product-card__rating .ep-entry-rating__score {
  font-size: 12px;
  
  color: #838889;
}

.aurae-product-card__rating .ep-heart-icon {
  width: 16px;
  height: 16px;
  display: block;
  fill: currentColor;
  pointer-events: none;
  flex-shrink: 0;
}

@media (max-width: 1199px) {
  .hh-logo svg {
    width: 120px;
  }

  #product-103 .custom-attrs-overlay {
    top: 84%;
  }

  .aurae-header {
    padding: 20px 30px 24px;
  }

  

  .aurae-products,
  .aurae-membership,
  .aurae-generic-page,
  .aurae-wrap,
  .aurae-shop-head,
  .aurae-cart-page,
  .aurae-checkout-page {
    padding: 80px 45px 120px;
  }

  .ep-checkout-grid {
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 48px;
  }

  .woocommerce form.checkout {
    padding: 0 40px;
  }
}

@media (max-width: 1099px) {
  .aurae-single-product {
    grid-template-columns: 1fr 390px;
    gap: 40px;
  }

}

/* ══════════════════════════════════════
   17. RESPONSIVE
══════════════════════════════════════ */

/* Header layout override: use flex instead of grid and keep logo perfectly centered */
.aurae-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  gap: 20px;
}

.aurae-header__left,
.aurae-header__actions--right {
  flex: 1 1 0;
  min-width: 0;
}

.aurae-branding--center {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
}

.aurae-branding--center .aurae-logo {
  pointer-events: auto;
}

/* ════════════════════════════════
   체크아웃 WC 에러 노티스 — 모달 스타일
   ════════════════════════════════ */

/* backdrop */
/* 체크아웃 notices-wrapper — 에러는 인라인(ep-checkout-inline-error)으로 처리하므로 숨김 */
.woocommerce-checkout .woocommerce-notices-wrapper {
  display: none !important;
}

/* 체크아웃 인라인 에러 */
.ep-checkout-inline-error {
  display: none;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 20px;
  padding: 11px 14px;
  border-radius: 6px;
  border: 1px solid rgba(180, 35, 24, .18);
  background: rgba(180, 35, 24, .04);
  color: #8f1d2c;
  font-size: 13px;
  line-height: 1.6;
}

.ep-checkout-inline-error.is-visible {
  display: flex;
}

.ep-checkout-inline-error::before {
  content: '';
  flex-shrink: 0;
  display: block;
  width: 15px;
  height: 15px;
  margin-top: 2px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg transform='rotate(180 8 8)'%3E%3Cpath fill='none' stroke='%238f1d2c' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round' d='m14.5,8c0,3.59-2.91,6.5-6.5,6.5S1.5,11.59,1.5,8,4.41,1.5,8,1.5s6.5,2.91,6.5,6.5Zm-6.5-1v4m0-6h0'/%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

/* ── 주소 편집 폼 — 저장 버튼 중앙정렬 ── */
.ep-address-actions .form-row {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.ep-address-actions .aurae-button,
.ep-address-actions .woocommerce-Button {
  min-width: 160px;
}

/* ─────────────────────────────────────────────────────
   이용약관 / 개인정보처리방침 모달
───────────────────────────────────────────────────── */
.ep-terms-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 270;
  align-items: center;
  justify-content: center;
}

.ep-terms-modal.is-open {
  display: flex;
}

.ep-terms-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .45);
}

.ep-terms-modal__box {
  position: relative;
  z-index: 1;
  background: #fff;
  width: 90vw;
  max-width: 510px;
  border-radius: 8px;
  box-shadow: 0 12px 48px rgba(0, 0, 0, .18);
  display: flex;
  flex-direction: column;
  max-height: 80vh;
  animation: ep-modal-in .2s cubic-bezier(.22, 1, .36, 1);
}

@keyframes ep-modal-in {
  from {
    opacity: 0;
    transform: translateY(10px) scale(.97);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.ep-terms-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--ep-border, #e8e8e8);
  flex-shrink: 0;
}

.ep-terms-modal__title {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .04em;
  color: var(--ep-accent, #243953);
}

.ep-terms-modal__close {
  background: none;
  border: none;
  padding: 0;
  width: 28px;
  height: 28px;
  margin-right: -5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  color: var(--ep-muted, #8a8a8a);
  cursor: pointer;
  border-radius: 4px;
  transition: color .15s;
}

.ep-terms-modal__close:hover {
  color: var(--ep-accent, #243953);
}

/* 스크롤 영역 — PerfectScrollbar */
.ep-terms-modal__body {
  position: relative;
  overflow: hidden;
  height: 300px;
  padding: 20px 24px;
  font-size: 13px;
  color: var(--ep-ink, #243953);
}

.ep-terms-modal__body h4 {
  font-size: 13px;
  font-weight: 500;
  margin: 16px 0 4px;
  color: var(--ep-accent, #243953);
}

.ep-terms-modal__body h4:first-child {
  margin-top: 0;
}

.ep-terms-modal__body p {
  margin: 0 0 8px;
  color: #555;
}

/* 약관 트리거 버튼 */
.ep-terms-modal-trigger {
  background: none;
  border: none;
  padding: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: currentColor;
}

.ep-terms-modal-trigger:hover {
  opacity: .7;
}

button.ep-buy-trigger.button {
  margin-top: 14px;
}

/* account-kicker — 돌아가기 */
.account-kicker {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  letter-spacing: 2px;
  gap: 6px;
  font-size: 11px;
  color: var(--ep-muted);
  cursor: pointer;
  text-decoration: none;
  margin-bottom: 15px;
}

.account-kicker:hover {
  color: var(--ep-ink);
}

.account-kicker svg {
  flex-shrink: 0;
}

/* ─────────────────────────────────────────────────────
   비밀번호 강도 규칙 표시
───────────────────────────────────────────────────── */
.ep-pw-rules {
  display: none;
  flex-direction: column;
  gap: 4px;
  margin-top: 8px;
}

.ep-pw-rules.is-visible {
  display: flex;
}

.ep-pw-rule {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--ep-muted);
  transition: color .4s;
}

.ep-pw-rule__icon {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1.5px solid currentColor;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .4s, border-color .4s;
}

/* ok — 초록 체크 */
.ep-pw-rule--ok {
  color: #2d7a4f;
}

.ep-pw-rule--ok .ep-pw-rule__icon {
  background: #2d7a4f;
  border-color: #2d7a4f;
}

.ep-pw-rule--ok .ep-pw-rule__icon::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMiAxMiI+PHBvbHlnb24gZmlsbD0id2hpdGUiIHBvaW50cz0iNC4xNzcsMTAuNTQzIDAuNDM0LDYuOCAxLjU2Niw1LjY2OCA0LjE3Nyw4LjI3OSAxMC40MzUsMi4wMjMgMTEuNTY1LDMuMTU1Ii8+PC9zdmc+");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* err — 빨간 x */
.ep-pw-rule--err {
  color: #b42318;
}

.ep-pw-rule--err .ep-pw-rule__icon {
  background: #b42318;
  border-color: #b42318;
}

.ep-pw-rule--err .ep-pw-rule__icon::after {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cline x1='1' y1='1' x2='11' y2='11' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='11' y1='1' x2='1' y2='11' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* warn — 노란 (조합 권장) */
.ep-pw-rule--warn {
  color: #92610a;
}

.ep-pw-rule--warn .ep-pw-rule__icon {
  border-color: #92610a;
}

/* ─────────────────────────────────────────────────────
   체크아웃 단계 표시
───────────────────────────────────────────────────── */
.ep-checkout-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 12px 24px;
  background: var(--ep-dark);
  width: 100%;
}

.ep-checkout-step {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .35);
}

.ep-checkout-step--done {
  color: rgba(255, 255, 255, .55);
}

.ep-checkout-step--active {
  color: rgba(255, 255, 255, .95);
}

.ep-checkout-step__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  border: 1.5px solid currentColor;
  flex-shrink: 0;
}

.ep-checkout-step--done .ep-checkout-step__dot {
  background: currentColor;
}

.ep-checkout-step--active .ep-checkout-step__dot {
  background: #fff;
  border-color: #fff;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .15);
}

.ep-checkout-step__line {
  width: 28px;
  height: 1px;
  background: rgba(255, 255, 255, .2);
  margin: 0 8px;
  flex-shrink: 0;
}

/* ─────────────────────────────────────────────────────
   검색 결과 페이지 헤드
───────────────────────────────────────────────────── */
.ep-search-kicker {
  text-align: center;
  margin-bottom: 8px;
}

.ep-search-title {
  text-align: center;
  margin: 0 0 12px;
}

.ep-search-count {
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  color: var(--ep-muted);
  margin: 0 0 24px;
}

.ep-search-reform {
  display: flex;
  justify-content: center;
  margin: 0 auto 48px;
}

.ep-search-reform__label {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 500px;
  width: 100%;
  border-bottom: 1px solid var(--ep-rule, #eee);
  padding-bottom: 8px;
  color: var(--ep-muted);
}

.ep-search-reform__input {
  flex: 1;
  border: none;
  outline: none;
  background: none;
  font-size: 14px;
  font-weight: 500;
  color: var(--ep-ink);
}

.cart-empty .ep-notice-close {
  display: none;
}

.required {
  color: #dda232;
}

.button:hover {
  background: #2f4c6c;
}

.ep-search-page {
  margin-bottom: 48px;
}

.ep-edit-account-form {
  max-width: 610px;
  margin: 0 auto;
}

.ep-search-item__atr1 {
  font-size: 10px;
  letter-spacing: .2px;
  color: #beaf9e;
  display: block;
  margin-bottom: 2px;
}

.ep-search-item__price {
  display: none;
}

.ep-terms-modal__close-icon {
  width: 14px;
  height: 14px;
  display: block;
}

/* ep-lostpw-back-link */
.ep-lostpw-back-link {
  display: block;
  text-align: center;
  margin-top: 16px;
  font-size: 12px;
  color: var(--ep-muted);
  text-decoration: none;
  transition: color .4s;
}

.ep-lostpw-back-link:hover {
  color: var(--ep-ink);
}

div#ep-tab-lost-password {
  max-width: 510px;
  margin: 0 auto;
}

/* ══════════════════════════════════════
   WooCommerce 전역 알럿/노티스 — Fixed 중앙 모달
══════════════════════════════════════ */

/* notices-wrapper가 비어있지 않을 때 고정 오버레이 */
.woocommerce-notices-wrapper:not(:empty):not(.ep-hidden-notices) {
  position: fixed;
  inset: 0;
  z-index: 280;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, .35);
  padding: 20px;
  pointer-events: auto;
}

.woocommerce-notices-wrapper.ep-hidden-notices {
  display: none !important;
}

/* 에러/메시지/인포 공통 박스 */
.woocommerce-notices-wrapper:not(.ep-hidden-notices) .woocommerce-error,
.woocommerce-notices-wrapper:not(.ep-hidden-notices) .woocommerce-message,
.woocommerce-notices-wrapper:not(.ep-hidden-notices) .woocommerce-info {
  position: relative;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 40px rgba(0, 0, 0, .16);
  padding: 28px 52px;
  width: min(480px, 92vw);
  list-style: none;
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  color: var(--ep-ink, #243953);
  text-align: center;
  animation: ep-wc-notice-in .22s cubic-bezier(.22, 1, .36, 1);
}

@keyframes ep-wc-notice-in {
  from {
    opacity: 0;
    transform: scale(.95) translateY(8px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

/* 닫기 버튼 */
.woocommerce-notices-wrapper:not(.ep-hidden-notices) .woocommerce-error::after,
.woocommerce-notices-wrapper:not(.ep-hidden-notices) .woocommerce-message::after,
.woocommerce-notices-wrapper:not(.ep-hidden-notices) .woocommerce-info::after {
  display: none;
  content: none;
}

/* li 스타일 */
.woocommerce-notices-wrapper:not(.ep-hidden-notices) .woocommerce-error li,
.woocommerce-notices-wrapper:not(.ep-hidden-notices) .woocommerce-message li {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 닫기 버튼 — JS로 주입 */
.ep-wc-notice-close {
  position: absolute;
  right: 14px;
  top: 14px;
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ep-muted, #999);
  border-radius: 4px;
  transition: color .4s;
}

.ep-wc-notice-close:hover {
  color: var(--ep-ink);
}

.ep-wc-notice-close img {
  width: 12px;
  height: 12px;
  display: block;
}

/* 메시지/인포 — 왼쪽 초록/파란 아이콘 */
.woocommerce-notices-wrapper:not(.ep-hidden-notices) .woocommerce-message::before {
  content: '';
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='none' stroke='%232d7a4f' stroke-width='1.5'/%3E%3Cpolyline points='6,10 9,13 14,7' fill='none' stroke='%232d7a4f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* 주소 폼 form-row label-input 간격 */
.ep-address-form .form-row label,
.woocommerce-address-fields .form-row label {
  display: block;
  margin-bottom: 6px;
  margin-top: 15px;
}

/* btn-xs */
.btn-xs {
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ep-white);
  background: var(--ep-dark);
  padding: 4px 16px;
  display: inline-flex;
  align-items: center;
  height: 30px;
  text-decoration: none;
  transition: background .4s, border-color .4s;
  white-space: nowrap;
  border-radius: 4px;
}

.btn-xs:hover {
  background: #2f4c6c;
  border-color: var(--ep-dark);
}

.ep-edit-address-wrap {
  width: 100%;
  max-width: 610px;
  margin: 0 auto;
}

.ep-edit-address-header {
  padding-bottom: 12px;
  margin-bottom: 20px;
  border-bottom: 1px solid #eee;
}

#place_order,
#ep .wc-forward {
  background: var(--ep-dark);
  color: var(--ep-white, #fff);
  border: 1px solid var(--ep-dark);
}

#ep .wc-forward:hover,
#place_order:hover {
  background: #2f4c6c;
}

.npay_type_A_1 {
  min-width: 100%;
}

.ep-account-address-display__addr {
  margin-bottom: 4px;
}

.ep-account-content ul li::before {
  content: '•';
  flex-shrink: 0;
}

#ep-pw-inline-error {
  margin-top: 16px;
  text-align: center;
}

/* ── 추가 스타일 ── */
.aurae-page-title {
  text-align: center;
}

.postcode-button.ep-postcode-search-btn {
  width: 100%;
  height: 40px;
}

#shipping_method label {
  color: var(--ep-ink);
}

#npay_btn_cart .npay_button_sdk_wrapper {
  padding-top: 6px !important;
}

.policy .mf3 {
  margin: 1em 0 6px;
}

select.orderby {
  max-width: 180px;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, padding 0.25s ease;
  font-size: 13px;
  color: #505e72;
  padding-top: 0;
}

.faq-answer .warn {
  color: #b43b3b;
  font-weight: 500;
}

.faq-answer li {
  margin: 4px 0;
}

.faq-answer p {
  margin: 6px 0 10px;
}

.faq-answer ul {
  margin: 8px 0 10px;
}

.faq-category {
  background: #f9f9f9;
  padding: 30px;
  border-radius: 12px;
}

.faq-category h2 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 20px;
}

.faq-container {
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.faq-item {
  border-bottom: 1px solid #ddd;
  padding: 15px 0;
}

.faq-item.active .faq-answer {
  max-height: 2000px;
  padding-top: 10px;
}

.faq-item.active .faq-question .icon::before {
  content: "－";
}

.faq-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 500;
  font-size: 14px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  gap: 10px;
}

.faq-question .icon::before {
  content: "＋";
  font-weight: 600;
  font-size: 16px;
}

.ep-section-divider {
  height: 1px;
  background: var(--ep-muted);
  opacity: .2;
  margin: 20px 0;
  border: none;
}

.hhqa__metaRow {
  margin-top: 12px;
}

select.hhqa__select {
  font-size: 14px;
}

.wcsl-btn-naver {
  background: #03C75A;
  color: #fff;
}

@media (max-width: 1199px) {
  .ep-checkout-page-wrap {
    padding-top: 80px;
  }

  .aurae-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
  }
}

@media (max-width: 1024px) {
  .ep-header__inner {
    grid-template-columns: 120px 1fr auto;
  }

  .ep-nav {
    display: none;
  }

  .aurae-story-grid {
    grid-template-columns: 1fr;
  }

  .aurae-tier-grid {
    grid-template-columns: 1fr;
  }

  .aurae-tier-card--featured {
    transform: none;
  }

  

  .aurae-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }

  .aurae-post-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 991px) {

  .ep-header-search.is-open .ep-header-search__input {
    
    width: 160px;
  }

  .ep-minicart-panel__foot {
    padding: 0 30px 30px;
  }

  .ep-minicart-panel__head {
    padding: 25px 30px;
  }

  .ep-minicart-panel__body {
    padding: 0 30px;
  }

  .ep-minicart-panel__foot {
    padding: 0 30px 30px;
  }

  .ep-checkout-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .ep-checkout-col--fields {
    order: 2;
    position: static;
  }

  .ep-checkout-col--summary {
    order: 1;
    border-right: 0;
    padding: 0;
  }

  .woocommerce form.checkout {
    
    
    padding: 40px 40px;
    max-width: 720px;
  }

  .aurae-single-product__summary {
    padding: 24px 24px 0;
  }

  .ep-cart-layout .ep-cart-body {
    flex-direction: column;
  }

  .ep-cart-layout .ep-cart-body .ep-cart-right {
    
    position: static;
    top: unset;

  }

  .aurae-single-product {
    grid-template-columns: 1fr;
    gap: 0;
    max-width: 750px;
  }

  .ep-cart-layout .ep-cart-body .ep-cart-left,
  .ep-cart-layout .ep-cart-body .ep-cart-right {
    width: 100%;
  }

  

}

@media (max-width: 768px) {

  .ep-checkout-page-wrap {
    padding-top: 60px;
  }

  #header-search,
  #header-account {
    display: none;
  }

  .ep-cart-item__subtotal-group {
    display: none;
  }

  .ep-order-review__item {
    gap: 0 14px;
  }

  .aurae-shell {
    width: 100%;
  }

  .aurae-product-card__body {
    padding: 14px 10px 20px;
  }

  .woocommerce ul.products {
    gap: 20px;
  }

  .aurae-wrap.aurae-generic-page h1 {
    padding-top: 28px;
  }

  .aurae-wrap.aurae-generic-page h1 {
    padding-top: 30px;
  }

  .hh-logo svg {
    width: 110px;
  }

  .ep-cart-layout .ep-cart-main {
    margin-top: 10px;
  }

  .aurae-header {
    padding: 10px 15px 14px;
  }

  .aurae-header__inner {
    grid-template-columns: auto 1fr auto;
    gap: 0;
  }

  .ep-minicart-panel__head {
    padding: 20px 30px;

  }

  .aurae-header__left,
  .aurae-header__actions--right {
    gap: 2px;
  }

  button.aurae-mobile-toggle {
    margin-left: -4px;
  }

  .aurae-products,
  .aurae-membership,
  .aurae-generic-page,
  .aurae-wrap,
  .aurae-shop-head,
  .aurae-cart-page,
  .aurae-checkout-page {
    padding: 60px 25px 120px;
  }

  .aurae-search-overlay__inner {
    top: 70px;
    padding: 24px;
  }

  .site-footer-info {
    text-align: left;
  }

  .aurae-footer {
    padding: 60px 25px 55px;
  }

  .woocommerce form.checkout {
    padding: 32px 24px;
  }

  .aurae-mobile-panel__inner {
    padding: 22px 25px;
  }

  .aurae-mobile-panel .ep-close-icon {
    width: 17px;
    height: 17px;
  }

  .ep-header {
    padding: 14px 0;
  }

  .ep-header__inner {
    grid-template-columns: auto 1fr auto;
    gap: 10px;
  }

  .ep-logo {
    font-size: 22px;
  }

  .aurae-hero {
    padding: 100px 24px 56px;
  }

  .aurae-hero h1 {
    font-size: clamp(46px, 14vw, 72px);
  }

  .aurae-hero__cta {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .aurae-manifesto {
    padding: 90px 0;
  }

  .aurae-manifesto h2 {
    font-size: clamp(36px, 9vw, 54px);
  }

  .aurae-section-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .aurae-story-card {
    padding: 36px 28px;
  }

  .aurae-story-card h3 {
    font-size: 28px;
  }

  .single .aurae-wrap {
    padding-left: 0;
    padding-right: 0;
  }

  .ep-search-overlay__inner {
    top: 70px;
    padding: 24px;
  }

  .aurae-post-grid {
    grid-template-columns: 1fr;
  }

  .ep-order-address-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .ep-cart-item {
    grid-template-columns: 160px 1fr;
    gap: 0 14px;
    padding: 16px 0;
  }

  .ep-cart-item__image img {
    width: 160px;
    height: 160px;
  }

  .ep-cart-item__qty-wrap {
    flex-direction: column;
    gap: 4px;
  }

  .ep-ms-qbtn {
    width: 38px;
    height: 38px;
  }

  .ep-ms-qval {
    min-width: 38px;
    height: 38px;
  }

  .ep-dashboard-cards {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 640px) {
  .aurae-mobile-panel__inner {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .ep-cart-item__price {
    padding-top: 8px;
    margin-bottom: 6px;
    margin-top: 8px;
  }

  .ep-cart-item__name a {
    font-size: 13px;
  }

  dl.variation dt {
    display: none;
  }

  dl.variation dd:before {
    content: "선택옵션: ";
    font-weight: 500;
  }

  dl.variation dd {
    margin-left: 0;
    margin-right: 0;
  }

  .ep-order-review__item-name {
    font-size: 13px;
  }

  .ep-cart-item__qty-wrap {
    padding-top: 0;
  }
}

@media (max-width: 414px) {
  body {
    font-size: 14px;
  }
}

/* readonly 대체: 우편번호/주소1 직접 수정 방지 (pointer-events + user-select) */
[data-ep-readonly] {
  background: var(--ep-bg, #f9f9f9);
  cursor: pointer;
}

/* ── KOM 커스텀 주문 상태 ── */

/* ═══════════════════════════════════════════════════════════════
   iOS Safari 호환성 수정 (theme.css)
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. 버튼 내 SVG flex 축소 방지 ── */
.ep-icon-btn svg,
.ep-close-btn svg,
.ep-mobile-close svg,
.ep-search-close svg {
  flex-shrink: 0;
}

/* ── 2. iOS input 자동 줌 방지 (전역) ── */
@supports (-webkit-touch-callout: none) {

  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="search"],
  input[type="tel"],
  input[type="number"],
  input[type="url"],
  select,
  textarea {
    font-size: 16px !important;
  }
}

/* ── 3. iOS 포지션 fixed 요소 안정화 ── */
@supports (-webkit-touch-callout: none) {
  .ep-header {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* ── 4. 모바일 패널 iOS 스크롤 안정화 ── */
.aurae-mobile-panel,
.ep-minicart-panel,
.ep-minicart-panel__inner {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* ── 5. iOS Safari backdrop-filter 렌더링 보강 ── */
.ep-search-overlay,
.ep-minicart-backdrop {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

/* ── 6. iOS Safari select 화살표 커스텀 안정화 ── */
select {
  -webkit-appearance: none;
  appearance: none;
}

/* ── 7. iOS Safari smooth-scroll 보강 ── */
html {
  -webkit-overflow-scrolling: touch;
}

/* ════════════════════════════════
   Sticky Checkout Bar (장바구니 페이지)
   ════════════════════════════════ */
.ep-sticky-checkout {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 290;
  background: #fff;
  border-top: 1px solid var(--ep-rule, #e8e8e8);
  transform: translateY(100%);
  transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}

.ep-sticky-checkout--visible {
  transform: translateY(0);
}

.ep-sticky-checkout__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.ep-sticky-checkout__info {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.ep-sticky-checkout__total-label {
  font-size: 13px;
  color: var(--ep-muted, #888);
  white-space: nowrap;
}

.ep-sticky-checkout__total-price {
  font-size: 18px;
  font-weight: 600;
  color: var(--ep-ink, #1a1a1a);
  white-space: nowrap;
}

.ep-sticky-checkout__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 480px;
  background: var(--ep-dark);
  color: var(--ep-white, #fff);
  border: 1px solid var(--ep-dark);
  padding: 14px 24px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 200px;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity .3s;
}

.ep-sticky-checkout__btn:hover {
  opacity: .85;
  color: var(--ep-white, #fff);
}

.ep-sticky-checkout__npay-slot {
  width: 100%;
  max-width: 480px;
}

.ep-sticky-checkout__npay-slot:empty {
  display: none;
}

.ep-sticky-checkout__npay-slot .npay-wrap {
  min-width: auto !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .ep-sticky-checkout__inner {
    padding: 10px 16px;
    gap: 8px;
  }

  .ep-sticky-checkout__total-label {
    font-size: 11px;
  }

  .ep-sticky-checkout__total-price {
    font-size: 16px;
  }

  .ep-sticky-checkout__btn {
    padding: 13px 16px;
    font-size: 13px;
  }
}