/* W MART Lite — 시안 "Proposta visual 01"(ChatGPT) 토큰 그대로 + 우커머스 기본 마크업에 입힘
   우커머스 기본 CSS는 끔(functions.php). 웹폰트·애니메이션 없음. */

/* ───────── 1. 디자인 토큰 (시안 그대로) ───────── */
:root {
  --brown: #3e2110; --taupe: #8f7f66; --olive: #466448; --olive-dark: #344d36;
  --ink: #302b27; --muted: #70685f; --white: #ffffff; --cream: #f8f6f1;
  --sand: #eee9df; --line: #e4dfd6; --photo: #ffffff; --photo-line: #d4d0c8;
  --green-wash: #edf2e9; --red: #aa4035; --red-wash: #faf0ed;
  --blue: #3d5e70; --blue-wash: #edf3f6; --disabled: #e5e2dd; --disabled-ink: #858079;
  --focus: #466448; --overlay: #ffffffed;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --fs-xs: .75rem; --fs-sm: .8125rem; --fs-base: .9375rem; --fs-md: 1rem;
  --fs-lg: 1.125rem; --fs-xl: 1.375rem; --fs-2xl: 1.75rem; --fs-3xl: 2.25rem;
  --fs-display: 3.625rem; --fs-hero-mobile: 2.5rem;
  --lh-tight: 1.12; --lh-heading: 1.25; --lh-label: 1.4; --lh-body: 1.65;
  --tracking: -.035em; --tracking-small: -.015em; --tracking-wide: .12em;
  --s-1: .25rem; --s-2: .5rem; --s-3: .75rem; --s-4: 1rem; --s-5: 1.25rem; --s-6: 1.5rem;
  --s-8: 2rem; --s-10: 2.5rem; --s-12: 3rem; --s-16: 4rem; --s-20: 5rem; --s-24: 6rem;
  --radius-sm: .25rem; --radius: .5rem; --radius-lg: 1rem; --radius-pill: 99rem;
  --page-max: 1180px; --page-gutter: 1.125rem; --page-gutter-wide: 2rem;
  --tap: 44px; --icon: 21px; --icon-sm: 16px; --icon-lg: 34px;
  --sidebar: 350px; --prose-max: 64ch;
}

/* ───────── 2. 기본 ───────── */
* { box-sizing: border-box; }
body { margin: 0; font-family: var(--font); font-size: var(--fs-base); line-height: var(--lh-body); color: var(--ink); background: var(--white); }
button, input, select, textarea { font: inherit; }
button, select, summary { cursor: pointer; }
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
img, svg { max-width: 100%; vertical-align: middle; }
img { height: auto; }
figure, p, h1, h2, h3, h4 { margin: 0; }
h1, h2, h3, h4 { color: var(--brown); font-weight: 600; line-height: var(--lh-heading); letter-spacing: var(--tracking-small); }
h1 { font-size: var(--fs-2xl); } h2 { font-size: var(--fs-xl); } h3 { font-size: var(--fs-lg); }
small { font-size: var(--fs-xs); }
ul { padding-left: var(--s-5); }
svg.icon { width: var(--icon); height: var(--icon); fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.svg-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.screen-reader-text, .skip-link:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link:focus { position: absolute; z-index: 20; top: var(--s-2); left: var(--s-2); background: var(--white); padding: var(--s-2) var(--s-4); border-radius: var(--radius); }
.wrap { width: min(100%, var(--page-max)); margin-inline: auto; padding-inline: var(--page-gutter); }
.screen-pad { padding-block: var(--s-8) var(--s-12); }
.eyebrow { color: var(--olive); font-size: var(--fs-xs); font-weight: 700; text-transform: uppercase; letter-spacing: var(--tracking-wide); }
.muted { color: var(--muted); } .small { font-size: var(--fs-sm); }
.text-link, .page-content a, .woocommerce-privacy-policy-text a, .woocommerce-terms-and-conditions-link { color: var(--brown); text-decoration: underline; text-underline-offset: var(--s-1); }
.stack { display: grid; gap: var(--s-5); } .stack-sm { display: grid; gap: var(--s-3); }
.section-title { display: flex; align-items: end; justify-content: space-between; gap: var(--s-4); margin-bottom: var(--s-6); }
.section-title a { white-space: nowrap; font-size: var(--fs-sm); color: var(--olive); font-weight: 600; }
.section-space { padding-block: var(--s-10); }
.page-title { margin-bottom: var(--s-6); }
.prose-page .page-content { max-width: var(--prose-max); }
.page-content > * + * { margin-top: var(--s-4); }

/* ───────── 3. 버튼 (시안 .btn + 우커머스 .button 전부) ───────── */
.btn, .button, button.button, input.button, a.button, #place_order, .checkout-button, .wc-forward,
.woocommerce-Button, .single_add_to_cart_button, button[type="submit"]:not(.icon-button) {
  min-height: var(--tap); display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2);
  padding: var(--s-3) var(--s-6); border: 1px solid var(--olive); border-radius: var(--radius);
  color: var(--white); background: var(--olive); font-size: var(--fs-base); font-weight: 600;
  line-height: var(--lh-label); text-align: center; text-decoration: none; cursor: pointer;
}
.btn:hover, .button:hover, #place_order:hover, .single_add_to_cart_button:hover, button[type="submit"]:not(.icon-button):hover { background: var(--olive-dark); border-color: var(--olive-dark); }
.btn-secondary, .button.wc-backward, .woocommerce-cart-form button[name="update_cart"], .coupon .button, a.added_to_cart {
  background: var(--white); color: var(--brown); border-color: var(--line);
}
.btn-secondary:hover, .woocommerce-cart-form button[name="update_cart"]:hover, .coupon .button:hover, a.added_to_cart:hover { background: var(--cream); border-color: var(--taupe); color: var(--brown); }
.btn-brown { background: var(--brown); border-color: var(--brown); }
.btn-brown:hover { background: var(--ink); border-color: var(--ink); }
.btn:disabled, .button:disabled, .button.disabled, [aria-disabled="true"].btn { cursor: not-allowed; color: var(--disabled-ink); background: var(--disabled); border-color: var(--disabled); }
.button.loading { opacity: .6; }
.btn-full, #place_order, .checkout-button { width: 100%; }
.icon-button { display: inline-flex; position: relative; align-items: center; justify-content: center; gap: var(--s-2); min-width: var(--tap); min-height: var(--tap); background: transparent; border: 1px solid transparent; padding: var(--s-2); color: var(--brown); border-radius: var(--radius); }
.icon-button:hover { background: var(--cream); }
.badge-count { position: absolute; top: 0; right: 0; background: var(--olive); color: var(--white); border-radius: var(--radius-pill); min-width: var(--icon-sm); padding-inline: var(--s-1); font-size: var(--fs-xs); line-height: var(--lh-label); text-align: center; }
.badge-count[hidden] { display: none; }

/* ───────── 4. 헤더 / 안내 띠 / 푸터 ───────── */
.announcement { text-align: center; background: var(--green-wash); color: var(--olive-dark); padding: var(--s-2) var(--page-gutter); font-size: var(--fs-xs); }
.store-header { background: var(--white); border-bottom: 1px solid var(--line); position: relative; z-index: 5; }
.header-top { display: grid; grid-template-columns: auto 1fr auto; gap: var(--s-2); align-items: center; padding-block: var(--s-3); }
.brand { display: inline-flex; align-items: center; justify-self: start; }
.brand img { width: clamp(110px, 40vw, 170px); display: block; }
.header-actions { display: flex; align-items: center; gap: var(--s-1); }
.account-label { display: none; }
.search { grid-column: 1 / -1; display: flex; align-items: center; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); }
.search input[type="search"] { width: 100%; border: 0; background: transparent; padding: var(--s-3) var(--s-4); min-height: var(--tap); color: var(--ink); min-width: 0; font-size: var(--fs-md); }
.search input[type="search"]:focus { outline: none; }
.search:focus-within { border-color: var(--olive); }
.mobile-menu { position: relative; }
.mobile-menu summary { list-style: none; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu[open] .menu-content { position: absolute; top: 100%; left: 0; width: min(84vw, var(--sidebar)); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); z-index: 6; padding: var(--s-3); box-shadow: 0 8px 24px #3e211014; }
.menu-content nav { display: grid; }
.menu-content a { padding: var(--s-3); border-bottom: 1px solid var(--line); }
.menu-content a:last-child { border-bottom: 0; }
.desktop-nav { display: none; border-top: 1px solid var(--line); }
.desktop-nav .wrap { display: flex; justify-content: space-between; gap: var(--s-5); }
.desktop-nav a { padding-block: var(--s-3); font-size: var(--fs-sm); white-space: nowrap; }
.desktop-nav a:hover { color: var(--olive); }

.footer { background: var(--cream); border-top: 1px solid var(--line); }
.footer-grid { display: grid; gap: var(--s-8); padding-block: var(--s-10); }
.footer-logo { width: 190px; margin-bottom: var(--s-4); }
.footer h3 { font-size: var(--fs-base); margin-bottom: var(--s-3); }
.footer p, .footer a, .footer address { font-style: normal; color: var(--muted); font-size: var(--fs-sm); }
.footer a:hover { color: var(--brown); }
.footer nav { display: grid; gap: var(--s-2); }
.footer-bottom { border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-3); padding-block: var(--s-5); color: var(--muted); font-size: var(--fs-xs); }

/* ───────── 5. 메인 ───────── */
.hero { background: var(--cream); }
.hero-grid { display: grid; gap: var(--s-6); padding-block: var(--s-10); }
.hero h1 { font-size: var(--fs-hero-mobile); letter-spacing: var(--tracking); line-height: var(--lh-tight); margin-block: var(--s-4); }
.hero p { color: var(--muted); max-width: 36ch; margin-bottom: var(--s-6); }
.hero-art { border-radius: var(--radius-lg); background: var(--sand); aspect-ratio: 1.25; display: grid; place-items: center; overflow: hidden; }
.hero-art svg { width: min(100%, 460px); height: 100%; }
.hero-art .art-paper { fill: var(--cream); } .hero-art .art-olive { fill: var(--olive); } .hero-art .art-taupe { fill: var(--taupe); }
.hero-art .art-line { stroke: var(--brown); fill: none; stroke-width: 1.6; }
.benefit-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-4); border-bottom: 1px solid var(--line); padding-block: var(--s-5); color: var(--muted); font-size: var(--fs-xs); }
.benefit-row span { display: inline-flex; align-items: center; gap: var(--s-2); }
.category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-5) var(--s-3); }
.category-tile { display: grid; justify-items: center; text-align: center; gap: var(--s-3); font-size: var(--fs-xs); font-weight: 500; color: var(--brown); }
.category-symbol { display: grid; place-items: center; width: var(--s-16); height: var(--s-16); border-radius: var(--radius-lg); background: var(--cream); border: 1px solid var(--sand); }
.category-symbol .icon { width: var(--icon-lg); height: var(--icon-lg); }
.category-tile:hover .category-symbol { border-color: var(--taupe); background: var(--sand); }
.tinted-section { background: var(--cream); }

/* ───────── 6. 상품 카드·목록 (ul.products = 우커머스 목록) ───────── */
ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-6) var(--s-3); }
ul.products::before, ul.products::after { content: none; }
.product-card { display: flex; flex-direction: column; min-width: 0; position: relative; margin: 0; }
.product-photo { aspect-ratio: 1; position: relative; display: grid; place-items: center; border-radius: var(--radius); background: var(--photo); border: 1px solid var(--line); overflow: hidden; }
.product-photo img { width: 100%; height: 100%; object-fit: contain; }
.product-labels { position: absolute; top: .625rem; left: .625rem; display: flex; flex-wrap: wrap; gap: var(--s-1); z-index: 2; }
.badge { display: inline-flex; align-items: center; gap: var(--s-1); font-size: var(--fs-xs); font-weight: 600; line-height: var(--lh-label); padding: var(--s-1) var(--s-2); border-radius: var(--radius-sm); color: var(--olive-dark); background: var(--green-wash); white-space: nowrap; }
.badge-sale { background: var(--olive); color: var(--white); }
.badge-bbd { background: var(--brown); color: var(--white); }
.badge-neutral { background: var(--sand); color: var(--muted); }
.product-info { display: flex; flex-direction: column; flex-grow: 1; padding-top: var(--s-3); gap: var(--s-2); }
.product-name { font-weight: 400; color: var(--ink); font-size: var(--fs-sm); line-height: var(--lh-label); min-height: 2.8em; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.price-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s-2); margin-top: auto; }
.price-row .amount, .summary .price .amount { color: var(--brown); font-size: var(--fs-lg); font-weight: 700; letter-spacing: var(--tracking-small); font-variant-numeric: tabular-nums; }
.price-row del, .summary .price del { order: 2; color: var(--muted); }
.price-row del .amount, .summary .price del .amount { color: var(--muted); font-size: var(--fs-xs); font-weight: 400; }
.price-row ins, .summary .price ins { text-decoration: none; }
.unit-note { font-size: var(--fs-xs); color: var(--muted); }
.product-card .button, .product-card .btn { margin-top: var(--s-2); width: 100%; font-size: var(--fs-sm); padding-inline: var(--s-2); }
.product-card a.added_to_cart { margin-top: var(--s-1); width: 100%; min-height: 36px; font-size: var(--fs-xs); padding: var(--s-1); }
.sold-out .product-photo img { opacity: .45; }
.restock { position: absolute; align-self: center; background: var(--overlay); color: var(--muted); padding: var(--s-2) var(--s-4); font-size: var(--fs-sm); border-radius: var(--radius-pill); }

/* 목록 화면 머리 */
.breadcrumb, .woocommerce-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); color: var(--muted); font-size: var(--fs-xs); margin-bottom: var(--s-5); }
.woocommerce-products-header { margin-bottom: var(--s-3); }
.woocommerce-products-header .page-title { margin-bottom: var(--s-2); }
.term-description { color: var(--muted); }
.woocommerce-result-count { color: var(--muted); font-size: var(--fs-sm); margin: 0 0 var(--s-4); }
.woocommerce-ordering { margin: 0 0 var(--s-5); }
.woocommerce-ordering select { width: auto; }
.chips { display: flex; gap: var(--s-2); overflow-x: auto; padding-block: var(--s-1) var(--s-4); margin-bottom: var(--s-2); scrollbar-width: thin; }
.chip { display: inline-flex; align-items: center; min-height: 40px; padding: var(--s-2) var(--s-4); border: 1px solid var(--line); border-radius: var(--radius-pill); white-space: nowrap; font-size: var(--fs-sm); background: var(--white); }
.chip[aria-current="page"] { color: var(--white); background: var(--brown); border-color: var(--brown); }
.woocommerce-pagination ul, .nav-links { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: var(--s-2); list-style: none; padding: 0; margin: var(--s-10) 0 0; }
.woocommerce-pagination .page-numbers, .nav-links .page-numbers { display: inline-flex; min-width: var(--tap); min-height: var(--tap); align-items: center; justify-content: center; border-radius: var(--radius); border: 1px solid var(--line); background: var(--white); font-size: var(--fs-sm); padding-inline: var(--s-2); }
.woocommerce-pagination .page-numbers.current, .nav-links .page-numbers.current { background: var(--brown); border-color: var(--brown); color: var(--white); }
.woocommerce-pagination li { display: contents; }
.woocommerce-no-products-found { margin-top: var(--s-6); }

/* ───────── 7. 입력칸 ───────── */
select, .input, input.input-text, textarea, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"] {
  min-height: var(--tap); border: 1px solid var(--line); border-radius: var(--radius); padding: var(--s-2) var(--s-3);
  background: var(--white); color: var(--ink); width: 100%; font-size: var(--fs-md);
}
textarea { min-height: 6rem; }
input:focus, select:focus, textarea:focus { border-color: var(--olive); outline: none; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--olive); width: 18px; height: 18px; margin: var(--s-1) 0 0; flex-shrink: 0; }
label { font-size: var(--fs-sm); }
.required { color: var(--red); text-decoration: none; border: 0; }
.form-row { margin: 0 0 var(--s-4); display: grid; gap: var(--s-2); }
.form-row label { font-weight: 500; color: var(--brown); }
.form-row label.checkbox, .form-row .woocommerce-form__label-for-checkbox { display: flex; gap: var(--s-3); align-items: start; font-weight: 400; color: var(--ink); }
.woocommerce-invalid input.input-text, .woocommerce-invalid select { border-color: var(--red); background: var(--red-wash); }
.woocommerce-input-wrapper { display: block; }
.optional { color: var(--muted); font-weight: 400; }
/* 국가 선택(select2) 단순 모양 */
.select2-container .select2-selection--single { height: var(--tap); border: 1px solid var(--line); border-radius: var(--radius); }
.select2-container .select2-selection--single .select2-selection__rendered { line-height: calc(var(--tap) - 2px); padding-left: var(--s-3); }
.select2-container .select2-selection--single .select2-selection__arrow { height: calc(var(--tap) - 2px); }
.quantity { display: inline-flex; }
.quantity input.qty { width: 4.5rem; text-align: center; }

/* ───────── 8. 알림 (우커머스 메시지) ───────── */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .notice {
  list-style: none; margin: 0 0 var(--s-5); padding: var(--s-4); border-radius: var(--radius);
  background: var(--blue-wash); color: var(--blue); font-size: var(--fs-sm); display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; justify-content: space-between;
}
.woocommerce-message { background: var(--green-wash); color: var(--olive-dark); }
.woocommerce-error { background: var(--red-wash); color: var(--red); display: block; }
.woocommerce-error li + li { margin-top: var(--s-1); }
.woocommerce-message .button, .woocommerce-info .button { order: 2; min-height: 36px; padding: var(--s-1) var(--s-4); font-size: var(--fs-sm); background: var(--white); color: var(--olive-dark); border-color: var(--line); }
.woocommerce-notices-wrapper:empty { display: none; }

/* ───────── 9. 상품 상세 ───────── */
.single-product div.product { display: grid; gap: var(--s-8); position: relative; }
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery__wrapper { margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-3); }
.woocommerce-product-gallery__image { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--white); aspect-ratio: 1; display: grid; place-items: center; }
.woocommerce-product-gallery__image:first-child { grid-column: 1 / -1; }
.woocommerce-product-gallery__image img { width: 100%; height: 100%; object-fit: contain; }
.woocommerce-product-gallery__trigger { display: none; }
.single-product .summary { display: grid; gap: var(--s-4); align-content: start; }
.single-product .product_title { font-size: var(--fs-2xl); }
.single-product .summary .price { margin: 0; }
.single-product .summary .price .amount { font-size: var(--fs-3xl); }
.single-product .stock { display: flex; align-items: center; gap: var(--s-2); color: var(--olive-dark); font-size: var(--fs-sm); margin: 0; }
.single-product .stock::before { content: ""; width: var(--s-2); height: var(--s-2); background: currentColor; border-radius: 50%; }
.single-product .stock.out-of-stock { color: var(--red); }
.woocommerce-product-details__short-description { color: var(--muted); }
form.cart { display: flex; gap: var(--s-3); align-items: center; margin: 0; }
form.cart .single_add_to_cart_button { flex: 1; }
.product_meta { border-block: 1px solid var(--line); padding-block: var(--s-4); display: grid; gap: var(--s-2); font-size: var(--fs-sm); color: var(--muted); }
.product_meta a { color: var(--brown); }
.detail-help { border-bottom: 1px solid var(--line); padding-block: var(--s-2); font-size: var(--fs-sm); }
.detail-help summary { display: flex; justify-content: space-between; align-items: center; color: var(--brown); font-weight: 600; min-height: var(--tap); list-style: none; }
.detail-help summary::-webkit-details-marker { display: none; }
.detail-help p { padding-block: var(--s-2); color: var(--muted); }
.woocommerce-tabs { grid-column: 1 / -1; max-width: var(--prose-max); }
.woocommerce-tabs ul.tabs { list-style: none; padding: 0; margin: 0 0 var(--s-4); display: flex; gap: var(--s-4); }
.woocommerce-tabs ul.tabs li a { font-size: var(--fs-xl); color: var(--brown); font-weight: 600; }
.woocommerce-Tabs-panel > * + * { margin-top: var(--s-3); }
.related, .upsells { grid-column: 1 / -1; padding-top: var(--s-8); }
.related > h2, .upsells > h2 { margin-bottom: var(--s-5); }

/* ───────── 10. 장바구니 / 결제 / 내 계정 (우커머스 기본 표 마크업) ───────── */
table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
th, td { padding: var(--s-3); border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
th { color: var(--brown); font-weight: 600; }
.shop_table img { width: 64px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); }
.shop_table .product-remove a.remove { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: var(--muted); font-size: 1.25rem; }
.shop_table .product-remove a.remove:hover { background: var(--red-wash); color: var(--red); }
.woocommerce-cart-form .actions { padding-top: var(--s-5); }
.coupon { display: flex; gap: var(--s-2); flex-wrap: wrap; margin-bottom: var(--s-3); }
.coupon input.input-text { flex: 1 1 10rem; width: auto; }
.coupon label { display: none; }
.cart-collaterals { margin-top: var(--s-8); }
.cart_totals, .summary-card { background: var(--cream); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--s-6); }
.cart_totals h2 { font-size: var(--fs-xl); margin-bottom: var(--s-4); }
.cart_totals table th, .cart_totals table td, .woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding-inline: 0; }
.cart_totals .order-total .amount, .woocommerce-checkout-review-order-table .order-total .amount { font-size: var(--fs-xl); color: var(--brown); font-weight: 700; }
.wc-proceed-to-checkout { padding-top: var(--s-5); }
#shipping_method { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--s-2); }
#shipping_method li { display: flex; gap: var(--s-2); align-items: start; }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator { font-size: var(--fs-xs); color: var(--muted); }
.cart-empty.woocommerce-info { justify-content: center; }
.return-to-shop { text-align: center; }

/* 결제 */
form.checkout { display: grid; gap: var(--s-8); align-items: start; }
.col2-set { display: grid; gap: var(--s-6); }
.woocommerce-billing-fields h3, .woocommerce-shipping-fields h3, .woocommerce-additional-fields h3, #order_review_heading { font-size: var(--fs-xl); margin-bottom: var(--s-5); }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s-4); }
.woocommerce-billing-fields__field-wrapper > .form-row, .woocommerce-shipping-fields__field-wrapper > .form-row, .woocommerce-address-fields__field-wrapper > .form-row { grid-column: 1 / -1; }
.woocommerce-billing-fields__field-wrapper > .form-row-first, .woocommerce-shipping-fields__field-wrapper > .form-row-first, .woocommerce-address-fields__field-wrapper > .form-row-first { grid-column: 1; }
.woocommerce-billing-fields__field-wrapper > .form-row-last, .woocommerce-shipping-fields__field-wrapper > .form-row-last, .woocommerce-address-fields__field-wrapper > .form-row-last { grid-column: 2; }
#ship-to-different-address { font-size: var(--fs-md); }
#ship-to-different-address label { display: flex; gap: var(--s-3); align-items: center; }
.checkout-summary #order_review_heading { margin-top: 0; }
#payment ul.payment_methods { list-style: none; padding: 0; margin: var(--s-5) 0; display: grid; gap: var(--s-2); }
#payment ul.payment_methods > li { padding: var(--s-4); border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
#payment ul.payment_methods > li:has(input:checked) { border-color: var(--olive); background: var(--green-wash); }
#payment ul.payment_methods > li > label { font-weight: 600; font-size: var(--fs-sm); margin-left: var(--s-2); }
#payment ul.payment_methods > li img { max-height: 24px; width: auto; margin-left: var(--s-2); }
.payment_box { margin-top: var(--s-3); font-size: var(--fs-sm); color: var(--muted); }
.place-order { display: grid; gap: var(--s-4); }
.woocommerce-terms-and-conditions-wrapper { font-size: var(--fs-xs); color: var(--muted); }
.woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-form-login-toggle .woocommerce-info { display: block; }
.checkout_coupon, .woocommerce-form-login { border: 1px solid var(--line); border-radius: var(--radius); padding: var(--s-5); margin-bottom: var(--s-5); }

/* 주문 완료 */
.woocommerce-order-overview { list-style: none; padding: 0; display: grid; gap: var(--s-2); margin: var(--s-5) 0; }
.woocommerce-order-overview li { padding: var(--s-3); background: var(--cream); border-radius: var(--radius); font-size: var(--fs-sm); }
.woocommerce-order-details, .woocommerce-customer-details { margin-top: var(--s-8); }

/* 내 계정 */
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 var(--s-6); display: flex; gap: var(--s-2); overflow-x: auto; }
.woocommerce-MyAccount-navigation a { display: inline-flex; align-items: center; min-height: 40px; padding: var(--s-2) var(--s-4); border: 1px solid var(--line); border-radius: var(--radius-pill); white-space: nowrap; font-size: var(--fs-sm); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--brown); border-color: var(--brown); color: var(--white); }
#customer_login { display: grid; gap: var(--s-6); }
#customer_login > div, .woocommerce-form-login.login, .woocommerce-ResetPassword { border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--s-6); }
.woocommerce-form-login__rememberme { display: flex; gap: var(--s-2); align-items: center; margin-bottom: var(--s-3); }
.lost_password { font-size: var(--fs-sm); margin-top: var(--s-3); }
.lost_password a { color: var(--brown); text-decoration: underline; }

/* 빈 장바구니·404 고양이 */
.empty-cart { text-align: center; max-width: var(--prose-max); margin-inline: auto; padding-block: var(--s-12); display: grid; justify-items: center; gap: var(--s-5); }
.mascot { width: 88px; height: 88px; background: url("logo.png") right center / 268px auto no-repeat; }
.empty-cart p { color: var(--muted); }

/* ───────── 11. 모바일 장바구니 표 → 카드 ───────── */
@media (max-width: 767px) {
  .woocommerce-cart-form table.cart thead { display: none; }
  .woocommerce-cart-form table.cart tr.cart_item { display: grid; grid-template-columns: 72px 1fr auto; gap: var(--s-1) var(--s-3); padding-block: var(--s-4); border-bottom: 1px solid var(--line); position: relative; }
  .woocommerce-cart-form table.cart td { border: 0; padding: 0; }
  .woocommerce-cart-form table.cart td.product-thumbnail { grid-row: 1 / span 3; }
  .woocommerce-cart-form table.cart td.product-name { grid-column: 2 / 3; font-size: var(--fs-sm); }
  .woocommerce-cart-form table.cart td.product-price { display: none; }
  .woocommerce-cart-form table.cart td.product-quantity { grid-column: 2; }
  .woocommerce-cart-form table.cart td.product-subtotal { grid-column: 3; grid-row: 2; text-align: right; font-weight: 700; color: var(--brown); }
  .woocommerce-cart-form table.cart td.product-remove { grid-column: 3; grid-row: 1; text-align: right; }
  .woocommerce-cart-form table.cart td.actions { display: block; }
  .woocommerce-cart-form table.cart tr:not(.cart_item) { display: block; }
  .woocommerce-billing-fields__field-wrapper > .form-row-first, .woocommerce-billing-fields__field-wrapper > .form-row-last,
  .woocommerce-shipping-fields__field-wrapper > .form-row-first, .woocommerce-shipping-fields__field-wrapper > .form-row-last,
  .woocommerce-address-fields__field-wrapper > .form-row-first, .woocommerce-address-fields__field-wrapper > .form-row-last { grid-column: 1 / -1; }
}

/* ───────── 12. 넓은 화면 ───────── */
@media (min-width: 600px) {
  ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  ul.products.featured-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #customer_login { grid-template-columns: 1fr 1fr; }
  .woocommerce-order-overview { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
  .wrap { padding-inline: var(--page-gutter-wide); }
  .header-top { grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--s-10); padding-block: var(--s-4); }
  .brand { grid-column: 1; grid-row: 1; }
  .brand img { width: 210px; }
  .search { grid-column: 2; grid-row: 1; }
  .header-actions { grid-column: 3; grid-row: 1; gap: var(--s-4); }
  .account-label { display: inline; font-size: var(--fs-sm); }
  .mobile-menu { display: none; } .desktop-nav { display: block; }
  h1 { font-size: var(--fs-3xl); } h2 { font-size: var(--fs-2xl); }
  .hero-grid { grid-template-columns: 1fr 1fr; align-items: center; padding-block: var(--s-12); gap: var(--s-12); }
  .hero h1 { font-size: var(--fs-display); }
  .category-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .category-tile { font-size: var(--fs-sm); }
  .category-symbol { width: var(--s-20); height: var(--s-20); }
  .section-space { padding-block: var(--s-12); }
  ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s-8) var(--s-5); }
  ul.products.featured-grid, .related ul.products, .upsells ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .product-name { font-size: var(--fs-base); }
  .single-product div.product { grid-template-columns: 1fr 1fr; gap: var(--s-16); }
  .single-product .product_title { font-size: var(--fs-3xl); }
  .archive .woocommerce-result-count { float: left; }
  .archive .woocommerce-ordering { float: right; }
  .archive ul.products { clear: both; }
  .woocommerce-cart .page-content > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) var(--sidebar); gap: var(--s-12); align-items: start; }
  .woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
  .woocommerce-cart .cart-collaterals { margin-top: 0; }
  form.checkout { grid-template-columns: minmax(0, 1fr) var(--sidebar); gap: var(--s-12); }
  form.checkout > .col2-set { grid-column: 1; grid-row: 1 / span 3; }
  form.checkout > .checkout-summary { grid-column: 2; position: sticky; top: var(--s-4); }
  form.checkout .col2-set { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr .85fr; }
  .woocommerce-account .page-content > .woocommerce { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: var(--s-10); }
  .woocommerce-account:not(.logged-in) .page-content > .woocommerce { display: block; }
  .woocommerce-MyAccount-navigation ul { flex-direction: column; overflow: visible; }
}
