/*
Theme Name: Luxeave Shop
Theme URI: https://example.com/luxeave-shop
Author: OpenAI
Description: 새 상품 전용 프리미엄 패션 WooCommerce 쇼핑몰 테마. 랭킹, 신규입고, 여성, 남성, 브랜드, 세일, 최근 본 상품, 찜한 상품 중심으로 구성됩니다.
Version: 1.0.1
Requires at least: 5.8
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: luxeave-shop
License: GPL-2.0-or-later
*/

:root {
  --lx-black: #111111;
  --lx-text: #222222;
  --lx-muted: #717171;
  --lx-line: #e9e9e9;
  --lx-soft: #f7f6f4;
  --lx-accent: #9f2f25;
  --lx-width: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--lx-text);
  background: #fff;
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; }

.lx-container { width: min(calc(100% - 40px), var(--lx-width)); margin: 0 auto; }
.lx-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.lx-topbar { background: var(--lx-black); color: #fff; font-size: 12px; text-align: center; padding: 8px 16px; }
.lx-header-main { border-bottom: 1px solid var(--lx-line); background: rgba(255,255,255,.98); }
.lx-header-row { min-height: 82px; display: grid; grid-template-columns: 250px 1fr auto; align-items: center; gap: 30px; }
.lx-logo { font-family: Georgia, "Times New Roman", serif; font-size: 34px; letter-spacing: .24em; font-weight: 500; white-space: nowrap; }
.lx-search { position: relative; width: min(100%, 620px); justify-self: center; }
.lx-search input[type="search"] { width: 100%; height: 46px; border: 1px solid #d9d9d9; border-radius: 999px; padding: 0 54px 0 20px; background: #fff; }
.lx-search button { position: absolute; right: 7px; top: 6px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: transparent; cursor: pointer; font-size: 18px; }
.lx-header-actions { display: flex; gap: 20px; align-items: center; }
.lx-action { min-width: 48px; text-align: center; font-size: 11px; color: #333; }
.lx-action strong { display: block; font-size: 20px; line-height: 1.15; font-weight: 400; }
.lx-cart-count { display: inline-flex; min-width: 18px; height: 18px; border-radius: 50%; background: #111; color: #fff; align-items: center; justify-content: center; font-size: 10px; vertical-align: top; }
.lx-mobile-toggle { display: none; border: 0; background: transparent; font-size: 28px; cursor: pointer; }

.lx-primary-nav { border-bottom: 1px solid var(--lx-line); background: #fff; }
.lx-primary-nav ul { list-style: none; margin: 0; padding: 0; min-height: 54px; display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.1vw, 38px); font-size: 14px; font-weight: 650; }
.lx-primary-nav a { display: block; padding: 18px 0 14px; border-bottom: 2px solid transparent; }
.lx-primary-nav a:hover { border-color: var(--lx-black); }

.lx-hero { position: relative; min-height: 510px; overflow: hidden; background: linear-gradient(120deg, #e7dfd5 0%, #f5f1eb 46%, #cbc1b4 100%); }
.lx-hero::before { content:""; position:absolute; inset:0; background: url('assets/images/hero-fashion.svg') center right/auto 100% no-repeat; opacity:.96; }
.lx-hero-content { position: relative; z-index: 2; min-height: 510px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.lx-eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: 12px; margin-bottom: 16px; }
.lx-hero h1 { margin: 0 0 14px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 6vw, 88px); line-height: .98; font-weight: 500; }
.lx-hero p { max-width: 520px; margin: 0 0 28px; color: #3f3a35; font-size: 17px; }
.lx-button { display: inline-flex; min-height: 46px; padding: 0 24px; align-items: center; justify-content: center; border: 1px solid #111; background: #111; color: #fff; font-size: 13px; font-weight: 700; transition: .2s ease; }
.lx-button:hover { background: #fff; color: #111; }
.lx-button--light { background: #fff; color:#111; }

.lx-section { padding: 64px 0; }
.lx-section--compact { padding: 30px 0; }
.lx-section--soft { background: var(--lx-soft); }
.lx-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.lx-section-head h2 { margin:0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 3.5vw, 44px); font-weight:500; }
.lx-section-head p { margin:6px 0 0; color:var(--lx-muted); }
.lx-more { font-size:13px; font-weight:700; border-bottom:1px solid #111; padding-bottom:3px; white-space:nowrap; }

.lx-category-grid { display:grid; grid-template-columns:repeat(6, 1fr); gap:12px; }
.lx-category-card { min-height:150px; padding:22px; background:#f5f3f0; display:flex; flex-direction:column; justify-content:space-between; transition:.25s ease; overflow:hidden; position:relative; }
.lx-category-card:hover { transform: translateY(-4px); box-shadow:0 12px 28px rgba(0,0,0,.08); }
.lx-category-card span { font-size:14px; font-weight:700; z-index:2; }
.lx-category-card b { font-family:Georgia,serif; font-size:48px; font-weight:400; color:#c3b7aa; align-self:flex-end; }

.lx-brand-strip { display:grid; grid-template-columns:repeat(8, minmax(120px,1fr)); border:1px solid var(--lx-line); }
.lx-brand-strip a { min-height:92px; display:flex; align-items:center; justify-content:center; padding:16px; border-right:1px solid var(--lx-line); font-family:Georgia,serif; font-size:20px; letter-spacing:.08em; text-align:center; }
.lx-brand-strip a:last-child { border-right:0; }

.lx-product-grid, .woocommerce ul.products { display:grid!important; grid-template-columns:repeat(4, minmax(0,1fr)); gap:28px 18px!important; margin:0!important; padding:0!important; }
.lx-product-grid .product, .woocommerce ul.products li.product { width:auto!important; margin:0!important; float:none!important; list-style:none; position:relative; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none!important; }
.woocommerce ul.products li.product a img { margin:0 0 13px!important; aspect-ratio: 4/5; object-fit:cover; background:#f6f6f6; transition:.25s ease; }
.woocommerce ul.products li.product:hover a img { transform: translateY(-3px); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:14px!important; line-height:1.4; padding:0!important; margin:0 0 7px!important; font-weight:600; }
.woocommerce ul.products li.product .price { color:#111!important; font-size:14px!important; font-weight:800!important; }
.woocommerce ul.products li.product .price del { color:#999!important; font-weight:400; }
.woocommerce ul.products li.product .price ins { text-decoration:none; color:var(--lx-accent); }
.woocommerce span.onsale { min-width:auto!important; min-height:auto!important; border-radius:0!important; margin:0!important; top:10px!important; left:10px!important; padding:5px 8px!important; line-height:1!important; background:var(--lx-accent)!important; font-size:11px!important; }
.woocommerce ul.products li.product .button { width:100%; text-align:center; margin-top:12px!important; border-radius:0!important; background:#111!important; color:#fff!important; font-size:12px!important; padding:12px 14px!important; }

.lx-promo-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
.lx-promo { min-height:260px; padding:34px; display:flex; flex-direction:column; justify-content:flex-end; background:#e9e5df; position:relative; overflow:hidden; }
.lx-promo:nth-child(2) { background:#dedede; }
.lx-promo:nth-child(3) { background:#121212; color:#fff; }
.lx-promo::after { content:""; position:absolute; width:220px; height:220px; right:-40px; top:-40px; border-radius:50%; background:rgba(255,255,255,.35); }
.lx-promo h3 { margin:0 0 8px; font-family:Georgia,serif; font-size:34px; font-weight:500; z-index:2; }
.lx-promo p, .lx-promo a { z-index:2; }

.lx-trust-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--lx-line); border-bottom:1px solid var(--lx-line); }
.lx-trust-item { padding:28px 40px; display:flex; gap:18px; align-items:center; border-right:1px solid var(--lx-line); }
.lx-trust-item:last-child { border-right:0; }
.lx-trust-item strong { display:block; margin-bottom:3px; }
.lx-trust-icon { font-size:28px; }

.lx-content { padding:52px 0 80px; min-height:55vh; }
.lx-page-header { background:#f5f3f0; padding:46px 0; }
.lx-page-header h1 { margin:0; font-family:Georgia,serif; font-size:48px; font-weight:500; }
.lx-page-header p { color:var(--lx-muted); margin:8px 0 0; }

.lx-footer { background:#111; color:#d8d8d8; padding:54px 0 30px; }
.lx-footer-grid { display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:48px; }
.lx-footer-logo { color:#fff; font-family:Georgia,serif; font-size:30px; letter-spacing:.22em; margin-bottom:18px; }
.lx-footer h3 { color:#fff; font-size:14px; margin:0 0 14px; }
.lx-footer ul { margin:0; padding:0; list-style:none; display:grid; gap:8px; font-size:13px; }
.lx-footer p { margin:0 0 8px; font-size:12px; color:#aaa; }
.lx-footer-bottom { margin-top:40px; padding-top:22px; border-top:1px solid #333; font-size:11px; color:#777; }

.lx-mobile-bar { display:none; }

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb { color:#888; font-size:12px; margin-bottom:20px; }
.woocommerce div.product { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); gap:56px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width:auto!important; float:none!important; }
.woocommerce div.product .product_title { font-family:Georgia,serif; font-size:38px; font-weight:500; }
.woocommerce div.product p.price { color:#111; font-size:24px; }
.woocommerce div.product form.cart .button { min-height:50px; border-radius:0; background:#111; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius:0!important; }
.woocommerce table.shop_table { border-radius:0; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border-radius:0!important; }

@media (max-width: 1100px) {
  .lx-header-row { grid-template-columns:200px 1fr auto; gap:16px; }
  .lx-logo { font-size:28px; }
  .lx-header-actions { gap:12px; }
  .lx-action span { display:none; }
  .lx-category-grid { grid-template-columns:repeat(3,1fr); }
  .lx-brand-strip { grid-template-columns:repeat(4,1fr); }
  .lx-brand-strip a:nth-child(4n) { border-right:0; }
  .lx-brand-strip a:nth-child(-n+4) { border-bottom:1px solid var(--lx-line); }
  .lx-product-grid, .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  body { padding-bottom:68px; }
  .lx-container { width:min(calc(100% - 28px),var(--lx-width)); }
  .lx-header-row { min-height:64px; display:flex; justify-content:space-between; }
  .lx-logo { font-size:24px; }
  .lx-search, .lx-header-actions, .lx-primary-nav { display:none; }
  .lx-mobile-toggle { display:block; }
  .lx-primary-nav.is-open { display:block; position:absolute; left:0; right:0; z-index:50; box-shadow:0 12px 25px rgba(0,0,0,.12); }
  .lx-primary-nav.is-open ul { display:grid; grid-template-columns:1fr 1fr; padding:18px; gap:0 20px; justify-content:stretch; }
  .lx-primary-nav.is-open a { padding:13px 0; border-bottom:1px solid var(--lx-line); }
  .lx-hero, .lx-hero-content { min-height:480px; }
  .lx-hero::before { background-position:65% center; opacity:.48; }
  .lx-hero h1 { font-size:52px; }
  .lx-section { padding:46px 0; }
  .lx-category-grid { grid-template-columns:repeat(2,1fr); }
  .lx-product-grid, .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px!important; }
  .lx-promo-grid { grid-template-columns:1fr; }
  .lx-trust-grid { grid-template-columns:1fr; }
  .lx-trust-item { border-right:0; border-bottom:1px solid var(--lx-line); padding:22px 10px; }
  .lx-trust-item:last-child { border-bottom:0; }
  .lx-footer-grid { grid-template-columns:1fr 1fr; }
  .lx-footer-grid > div:first-child { grid-column:1 / -1; }
  .lx-mobile-bar { display:grid; position:fixed; z-index:100; bottom:0; left:0; right:0; height:68px; grid-template-columns:repeat(5,1fr); align-items:center; background:#fff; border-top:1px solid var(--lx-line); box-shadow:0 -6px 18px rgba(0,0,0,.05); }
  .lx-mobile-bar a { text-align:center; font-size:10px; }
  .lx-mobile-bar strong { display:block; font-size:20px; font-weight:400; line-height:1.1; }
  .woocommerce div.product { grid-template-columns:1fr; gap:24px; }
}

@media (max-width: 520px) {
  .lx-topbar { font-size:10px; }
  .lx-hero, .lx-hero-content { min-height:430px; }
  .lx-hero h1 { font-size:42px; }
  .lx-category-card { min-height:125px; padding:16px; }
  .lx-brand-strip { grid-template-columns:repeat(2,1fr); }
  .lx-brand-strip a { min-height:72px; font-size:16px; border-bottom:1px solid var(--lx-line); }
  .lx-brand-strip a:nth-child(2n) { border-right:0; }
  .lx-footer-grid { grid-template-columns:1fr; gap:28px; }
  .lx-footer-grid > div:first-child { grid-column:auto; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:13px!important; }
}
