/*
Theme Name: Fingerlicking Store
Theme URI: https://example.invalid/fingerlicking-staging
Author: 舔手指日本小舖
Description: 官網測試站佈景主題，沿用 WACA 店舖標誌與主題圖片。
Version: 1.0.0
Requires at least: 7.0
Requires PHP: 8.3
Text Domain: fingerlicking
*/

:root {
  color-scheme: light;
  --ink: #232320;
  --muted: #5d625c;
  --paper: #fffdf7;
  --sand: #f5f0e5;
  --line: #d7d5cb;
  --accent: #346d62;
  --accent-dark: #26564e;
  --notice: #fff0d9;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: system-ui, -apple-system, "Noto Sans TC", sans-serif; line-height: 1.7; }
a { color: var(--accent-dark); text-underline-offset: 0.2em; }
a:hover { color: var(--accent-dark); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #e9a92b; outline-offset: 3px; }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.screen-reader-text:focus { position: static; width: auto; height: auto; }
.container { width: min(1160px, calc(100% - 2.5rem)); margin-inline: auto; }
.staging-bar { background: #2e3330; color: #fff; font-size: .88rem; padding: .55rem 0; text-align: center; }
.site-header { border-bottom: 1px solid var(--line); background: rgba(255, 253, 247, .96); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1.15rem; }
.brand { font-size: 1.35rem; font-weight: 800; text-decoration: none; color: var(--ink); letter-spacing: .04em; white-space: nowrap; }
.brand { display: inline-flex; align-items: center; gap: .65rem; }
.brand img { display: block; width: 64px; height: 64px; object-fit: contain; }
.site-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 1.25rem; }
.site-nav a { color: var(--ink); text-decoration: none; font-weight: 600; }
.site-nav a:hover { text-decoration: underline; }
.site-main { min-height: 60vh; }
.hero { padding-block: clamp(3.5rem, 8vw, 7rem); background: radial-gradient(circle at 75% 30%, #e2e6d7, transparent 27%), linear-gradient(125deg, #f7eadb, #f3f3ea 60%, #e9f0e6); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(250px, .8fr); gap: 3rem; align-items: center; }
.hero-photo { margin: 0; position: relative; overflow: hidden; border-radius: 1.2rem; box-shadow: 0 20px 45px rgba(41, 52, 43, .16); }
.hero-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.hero-photo figcaption { position: absolute; inset: auto 0 0; padding: 2.7rem 1rem 1rem; background: linear-gradient(transparent, rgba(22, 30, 29, .78)); color: #fff; font-size: .9rem; }
.eyebrow { color: var(--accent-dark); font-size: .85rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3 { line-height: 1.25; letter-spacing: .01em; }
h1 { font-size: clamp(2.5rem, 5vw, 4.8rem); margin: .55rem 0 1rem; }
h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); }
.lede { font-size: clamp(1.05rem, 1.6vw, 1.25rem); color: #394039; max-width: 44rem; }
.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .8rem 1.25rem; background: var(--accent); color: white; border: 2px solid var(--accent); border-radius: .45rem; text-decoration: none; font: inherit; font-weight: 700; cursor: pointer; }
.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover { background: var(--accent-dark); color: white; border-color: var(--accent-dark); }
.button-secondary { background: transparent; color: var(--accent-dark); }
.button-secondary:hover { background: #e6eee9; color: var(--accent-dark); }
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.8rem; }
.hero-note, .info-card, .demo-card { border: 1px solid var(--line); border-radius: 1rem; background: rgba(255, 253, 247, .85); padding: 1.5rem; box-shadow: 0 10px 30px rgba(41, 52, 43, .06); }
.hero-note { margin-top: 2rem; }
.hero-note strong { font-size: 1.2rem; }
.hero-note ul { padding-left: 1.3rem; margin-bottom: 0; }
.section { padding-block: clamp(3rem, 6vw, 5rem); }
.waca-brand-section { background: #fff9f3; }
.waca-banner-track { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: .25rem .1rem 1rem; }
.waca-banner-track img { flex: 0 0 min(75vw, 560px); width: min(75vw, 560px); height: auto; align-self: flex-start; border-radius: .8rem; scroll-snap-align: start; }
.section-muted { background: var(--sand); }
.section-head { max-width: 48rem; margin-bottom: 2rem; }
.section-head p { color: var(--muted); }
.journey-section { background: #f9f7f0; }
.journey-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: 1rem; align-items: end; }
.journey-photo { margin: 0; }
.journey-photo img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 1rem; }
.journey-photo:last-child img { aspect-ratio: 3 / 4; object-position: center 60%; }
.journey-photo figcaption { margin-top: .55rem; color: var(--muted); font-size: .92rem; }
.text-link { display: inline-block; margin-top: 1.5rem; font-weight: 700; }
.gallery-intro { padding-block: clamp(3.5rem, 7vw, 6rem); }
.gallery-intro h1 { margin-bottom: .6rem; }
.gallery-disclaimer { max-width: 52rem; padding: 1rem 1.2rem; border-left: 4px solid #a96b20; background: #fff8ed; }
.photo-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 1rem; align-items: start; }
.photo-card { min-width: 0; margin: 0; border: 1px solid var(--line); border-radius: 1rem; overflow: hidden; background: #fff; box-shadow: 0 6px 24px rgba(41, 52, 43, .06); }
.photo-card img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--sand); }
.photo-card figcaption { display: flex; flex-direction: column; gap: .2rem; padding: .8rem 1rem 1rem; }
.photo-card figcaption strong { line-height: 1.4; }
.photo-card figcaption span { color: var(--muted); font-size: .84rem; }
.info-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.info-card h3 { margin-top: 0; }
.info-card p { margin-bottom: 0; color: var(--muted); }
.demo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.demo-card { display: flex; flex-direction: column; }
.demo-card h3 { margin-top: .5rem; }
.demo-card .button { margin-top: auto; align-self: start; }
.demo-pill { display: inline-block; width: fit-content; border-radius: 99px; padding: .2rem .65rem; background: var(--notice); font-size: .82rem; font-weight: 700; }
.content-wrap { padding-block: 3rem 5rem; }
.content-wrap > h1 { font-size: clamp(2rem, 4vw, 3rem); }
.site-footer { background: #263d36; color: #f4f4ee; padding-block: 3rem; }
.site-footer a { color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.site-footer h2 { font-size: 1.2rem; }
.site-footer p { color: #dbe4dd; }
.fl-order-note, .fl-product-note { border-left: 4px solid #a96b20; padding: .85rem 1rem; background: var(--notice); margin-block: 1rem; }
.fl-order-note p, .fl-product-note p { margin: .25rem 0; }
.fl-cart-lead { display: block; font-size: .87rem; color: var(--muted); }
.woocommerce .products { display: grid; gap: 1rem; }
.woocommerce .products li.product { width: auto !important; margin: 0 !important; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 1.5rem; }
.woocommerce img.woocommerce-placeholder { display: block; width: min(100%, 280px) !important; max-height: 220px; object-fit: contain; margin-inline: auto; }
.woocommerce div.product div.images.woocommerce-product-gallery--without-images { max-width: 290px; }
.woocommerce div.product div.images.woocommerce-product-gallery--without-images img { display: block; width: min(100%, 290px) !important; height: 220px !important; object-fit: contain; background: var(--sand); }
@media (max-width: 760px) {
  .header-inner { align-items: flex-start; flex-direction: column; }
  .site-nav { gap: .6rem 1rem; }
  .hero-grid, .info-grid, .demo-grid, .footer-grid, .journey-grid { grid-template-columns: 1fr; }
  .hero { padding-block: 3rem; }
  .hero-photo { max-width: 32rem; }
  .journey-photo:last-child img { aspect-ratio: 4 / 3; }
  .photo-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .container { width: min(100% - 1.5rem, 1160px); }
  .woocommerce img.woocommerce-placeholder { width: min(100%, 230px) !important; max-height: 190px; }
  .woocommerce div.product div.images.woocommerce-product-gallery--without-images { float: none !important; width: min(100%, 230px) !important; max-width: 230px; margin: 0 auto 1rem !important; }
  .woocommerce div.product div.images.woocommerce-product-gallery--without-images img { width: 100% !important; height: 170px !important; }
}
@media (max-width: 520px) {
  .brand { font-size: 1.05rem; }
  .brand img { width: 48px; height: 48px; }
  .photo-gallery { grid-template-columns: 1fr; }
  .photo-card img { aspect-ratio: 4 / 4.5; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.waca-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}.waca-product-card{min-width:0;border:1px solid var(--line);border-radius:.8rem;overflow:hidden;background:#fff}.waca-product-image{display:block;background:#fff}.waca-product-image img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.waca-product-copy{padding:1rem}.waca-product-copy h3{font-size:1rem;line-height:1.6;margin:.65rem 0}.waca-product-copy h3 a{text-decoration:none;color:var(--ink)}.waca-product-copy p{font-size:.85rem;color:var(--muted)}.waca-review-title{font-size:clamp(1.8rem,3vw,3rem);line-height:1.5}.waca-review-search{display:flex;gap:1rem;align-items:end;flex-wrap:wrap;margin:1.5rem 0}.waca-review-search label{display:grid;gap:.4rem}.waca-review-search input{padding:.7rem;border:1px solid var(--line);border-radius:.4rem;max-width:100%;font:inherit}.waca-review-pagination{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.waca-review-pagination a[aria-current=page]{font-weight:800}.waca-detail-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.waca-detail-images img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:white}.waca-review-table{overflow:auto}.waca-review-table table{width:100%;border-collapse:collapse;text-align:left}.waca-review-table td,.waca-review-table th{padding:.7rem;border-bottom:1px solid var(--line)}.waca-source-description img{max-width:100%;height:auto}.waca-source-description{overflow-wrap:anywhere}@media(max-width:900px){.waca-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.waca-product-grid,.waca-detail-images{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.waca-product-grid{grid-template-columns:1fr}}

/* SEO content framework */
.seo-lede { font-size: 1.2rem; max-width: 48rem; color: var(--muted); }
.seo-directory { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-block: 2rem; }
.seo-directory-card { min-width: 0; padding: 1.4rem; border: 1px solid var(--line); border-radius: .8rem; background: #fff; }
.seo-directory-card h2 { margin-top: 0; font-size: 1.35rem; }
.seo-directory-card p { color: var(--muted); }
.seo-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; list-style: none; padding: 0; }
.seo-links a { display: block; height: 100%; padding: 1rem 1.25rem; border: 1px solid var(--line); border-radius: .7rem; background: #fff; font-weight: 650; }
.seo-feature-image { max-width: 760px; margin: 2rem 0; }
.seo-feature-image img { display: block; width: 100%; border-radius: .8rem; }
.seo-feature-image figcaption { font-size: .85rem; color: var(--muted); }
.seo-breadcrumbs { margin-bottom: 1.5rem; font-size: .9rem; }
.seo-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .6rem; list-style: none; padding: 0; }
.seo-breadcrumbs li + li::before { content: "/"; margin-right: .6rem; color: var(--muted); }
.seo-review-note { padding: 1rem; border-left: 3px solid #b58332; background: #fff8e8; }
.seo-product-specs { margin-block: 2rem; }
.seo-product-specs table { width: 100%; border-collapse: collapse; }
.seo-product-specs th, .seo-product-specs td { padding: .8rem; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; }
.content-wrap article > h1 { font-size: clamp(1.9rem,4vw,3rem); overflow-wrap: anywhere; }
.content-wrap details { padding: 1rem; margin-block: .8rem; border: 1px solid var(--line); border-radius: .6rem; }
.content-wrap summary { cursor: pointer; font-weight: 700; }
@media (max-width: 800px) { .seo-directory { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 540px) { .seo-directory, .seo-links { grid-template-columns: minmax(0,1fr); } .seo-product-specs th { width: 28%; } }

/* WACA reference: centered brand, theme banners, original category hierarchy. */
:root { --paper:#fff; --sand:#faf6f3; --line:#e8e3df; --accent:#bd5155; --accent-dark:#923b40; --muted:#696361; }
body { background:#fff; }
.staging-bar { background:#f4ece8;color:#6b4d47;padding:.35rem 0;font-size:.8rem; }
.store-header { background:#fafafa; border-bottom:1px solid var(--line); }
.store-utility {display:flex;justify-content:flex-end;gap:1.25rem;font-size:.85rem;padding:.6rem 0; }
.store-utility a {color:var(--muted);text-decoration:none; }
.store-brand-row {display:flex;justify-content:center;padding:.6rem 0 1.25rem; }
.store-brand-row .brand {font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:500;color:var(--accent);letter-spacing:.08em; }
.store-menu-row {display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:#fff;padding:1.15rem 1.5rem; }
.site-nav {gap:1.25rem; }
.site-nav a {font-weight:500;font-size:.98rem;white-space:nowrap; }
.store-search {display:flex;border:1px solid #ddd;border-radius:3px;max-width:245px; }
.store-search input {width:180px;min-width:0;border:0;background:transparent;padding:.5rem .7rem;font:inherit;font-size:.88rem; }
.store-search button {border:0;border-left:1px solid #ddd;padding:.4rem .6rem;background:#fff;color:var(--accent-dark);font:inherit;font-size:.88rem;cursor:pointer; }
.store-category-menu,.store-category-menu ul {padding:0;margin:0;list-style:none; }
.store-category-menu {display:flex;justify-content:center;flex-wrap:wrap;gap:.1rem 1.3rem;padding:.7rem 0;font-size:.88rem; }
.store-category-menu>li {position:relative; }
.store-category-menu a {text-decoration:none;display:block;color:var(--muted);padding:.25rem 0; }
.store-category-menu a:hover {color:var(--accent-dark); }
.site-nav a[aria-current="page"],.store-utility a[aria-current="page"],.store-category-menu a[aria-current="page"],.catalog-category-list a[aria-current="page"] {color:var(--accent-dark);font-weight:600;text-decoration:underline;text-underline-offset:.45rem; }
.store-category-menu>li>a {display:inline-block; }
.store-subcategory-toggle {margin-left:.25rem;padding:.1rem .3rem;background:transparent;border:1px solid transparent;color:var(--muted);font:inherit;cursor:pointer; }
.store-subcategory-toggle:focus-visible {outline:2px solid var(--accent);outline-offset:2px; }
.store-category-menu>li.is-open>ul {display:block; }
.store-category-menu ul {display:none;position:absolute;top:100%;left:-.8rem;padding:.6rem 1rem;min-width:165px;background:#fff;border:1px solid var(--line);z-index:20; }
.store-category-menu>li:hover ul,.store-category-menu>li:focus-within ul {display:block; }
.store-category-menu>li.is-closed>ul {display:none; }
.store-banner-section {margin-top:2rem; }
.store-banner-track {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none; }
.store-banner-track::-webkit-scrollbar {display:none; }
.store-banner-slide {flex:0 0 100%;width:100%;scroll-snap-align:start; }
.store-banner-slide img {width:100%;display:block;aspect-ratio:16/7;object-fit:cover; }
.store-banner-controls {display:flex;align-items:center;justify-content:center;gap:1rem;padding:.6rem;font-size:.8rem;color:var(--muted); }
.store-banner-controls button {border:1px solid var(--line);border-radius:50%;height:30px;width:30px;background:#fff;color:var(--accent-dark);cursor:pointer; }
.store-intro {display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:.4rem 0 1rem;margin-bottom:2rem; }
.store-intro p {margin:0; }.store-intro a {font-size:.9rem; }
.catalog-layout {display:grid;grid-template-columns:180px minmax(0,1fr);gap:2rem; }
.home-catalog {padding-bottom:4rem; }
.catalog-sidebar {padding-top:.4rem; }.catalog-sidebar h2 {font-size:1.15rem;font-weight:600;border-bottom:2px solid var(--accent);padding-bottom:.8rem;margin:0 0 .5rem; }
.catalog-category-list,.catalog-category-list ul {list-style:none;padding:0;margin:0; }
.catalog-category-list>li>a,.catalog-all-link {display:block;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.93rem;text-decoration:none;color:var(--ink); }
.catalog-category-list ul {padding:.3rem 0 .4rem 1rem; }.catalog-category-list ul a {display:block;padding:.3rem 0;font-size:.82rem;text-decoration:none;color:var(--muted); }
.catalog-category-note {font-size:.76rem;color:var(--muted);margin-top:1rem; }
.catalog-main {min-width:0; }.catalog-heading {display:flex;justify-content:space-between;align-items:center;gap:1rem; }
.catalog-heading h1 {font-size:clamp(1.5rem,2.7vw,2rem);font-weight:600;margin:.4rem 0 .7rem; }.catalog-heading .eyebrow {font-size:.7rem; }.catalog-heading .text-link {font-size:.85rem;margin:0;white-space:nowrap; }
.catalog-preview-note {padding:.65rem .85rem;border-left:3px solid var(--accent);background:#fcf7f4;font-size:.84rem;color:#73544d; }
.woocommerce ul.products {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.7rem 1.1rem;padding:0; }
.woocommerce ul.products::before,.woocommerce ul.products::after {display:none!important; }
.woocommerce ul.products li.product {float:none!important;min-width:0;border:0;background:#fff;display:flex;flex-direction:column; }
.woocommerce ul.products li.product a img {aspect-ratio:1;object-fit:contain;margin:0 0 .6rem; }.woocommerce ul.products li.product .woocommerce-loop-product__title {font-size:.87rem;line-height:1.65;font-weight:500;margin:0;padding:.3rem 0;overflow-wrap:anywhere; }
.woocommerce ul.products li.product .price {color:var(--accent-dark);font-size:.94rem;margin:.3rem 0 .6rem;font-weight:600; }
.woocommerce ul.products li.product a.button {font-size:.8rem;padding:.4rem .7rem;margin-top:auto;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:3px;align-self:flex-start;font-weight:500; }
.woocommerce ul.products li.product a.button:hover {border-color:var(--accent);color:var(--accent); }
.catalog-see-all {text-align:center;margin-top:2rem; }.catalog-price-pending {color:#837069;font-size:.88rem; }
.woocommerce .woocommerce-products-header__title {font-size:2rem;margin:.3rem 0 1rem; }.woocommerce .woocommerce-result-count {font-size:.85rem; }.woocommerce .woocommerce-ordering select {max-width:100%;padding:.5rem;border:1px solid var(--line);background:#fff; }
.woocommerce nav.woocommerce-pagination {margin-top:2rem; }.woocommerce .term-description {font-size:.9rem;color:var(--muted); }
.catalog-spec-picker label {display:block;margin-bottom:.5rem;font-weight:600; }.catalog-spec-picker select {width:100%;padding:.8rem;border:1px solid #ccc;border-radius:3px;font:inherit;font-size:.92rem;background:#fff; }
#catalog-spec-price {color:var(--accent-dark);font-weight:600; }.catalog-spec-details {font-size:.9rem; }.catalog-spec-details table {min-width:280px; }
.woocommerce div.product .product_title {font-size:clamp(1.4rem,2.5vw,2.2rem);line-height:1.5; }.woocommerce div.product p.price {color:var(--accent-dark); }.woocommerce div.product .woocommerce-tabs .panel img {max-width:100%;height:auto; }.woocommerce div.product .woocommerce-tabs .panel {overflow-wrap:anywhere; }
.site-footer {background:#453d39;color:#fff; }.site-footer p {color:#e8dfda; }
@media(max-width:1000px) {.store-menu-row{flex-direction:column;gap:.9rem;}.store-search{max-width:400px;width:100%;}.store-search input{flex:1;}.catalog-layout{grid-template-columns:155px minmax(0,1fr);gap:1.3rem;}.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:760px) {.store-brand-row{padding:.4rem 0 1rem;}.store-brand-row .brand img{width:48px;height:48px;}.store-menu-row{padding:.9rem;}.site-nav{justify-content:center;gap:.4rem 1rem;}.site-nav a{font-size:.88rem;}.store-category-menu{gap:.2rem 1rem;font-size:.78rem;}.store-category-menu ul{left:0;}.store-banner-section{margin-top:1rem;}.store-banner-slide img{aspect-ratio:16/9;}.store-intro{flex-direction:column;align-items:flex-start;gap:.3rem;font-size:.9rem;margin-bottom:1.3rem;}.catalog-layout{grid-template-columns:minmax(0,1fr);gap:1rem;}.catalog-sidebar{background:#faf8f6;padding:.8rem 1rem;border:1px solid var(--line);}.catalog-sidebar h2{font-size:1rem;padding-bottom:.4rem;}.catalog-category-list{display:flex;flex-wrap:wrap;gap:0 1rem;}.catalog-category-list>li>a,.catalog-all-link{font-size:.85rem;padding:.4rem 0;border:0;}.catalog-category-list ul{padding:0 0 .3rem .5rem;}.catalog-category-list ul a{font-size:.75rem;}.catalog-category-note{margin:.4rem 0 0;}.catalog-heading{align-items:flex-start;}.catalog-heading .text-link{white-space:normal;max-width:90px;}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem .9rem;}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.83rem;}.woocommerce ul.products li.product .price{font-size:.87rem;}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{float:none;display:block;}.content-wrap{padding-block:1.5rem 3rem;}.brand span{letter-spacing:.03em;}}
.catalog-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;padding:16px;border:1px solid #eee;background:#fafafa}.catalog-filters label{display:flex;flex-direction:column;gap:6px;font-size:13px}.catalog-filters input,.catalog-filters select{min-width:0;width:100%;box-sizing:border-box;padding:8px;border:1px solid #ccc;border-radius:4px}.catalog-filters button{background:#9d252b;color:white;border:0;padding:10px;cursor:pointer}.catalog-filter-note{font-size:12px;color:#666}.customer-product-info{padding:16px;background:#fafafa;border:1px solid #eee;margin:18px 0}.customer-product-info h3{margin-top:0}@media(max-width:600px){.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Journal: readable articles and a consistent storefront card layout. */
.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;}
.journal-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;}
.journal-card-image{display:block;background:var(--sand);aspect-ratio:16/9;overflow:hidden;}
.journal-card-image img{display:block;width:100%;height:100%;object-fit:contain;padding:1rem;}
.journal-card-image:empty{background:linear-gradient(130deg,#f1e2d9,#f7eae7 55%,#e6eee9);}
.journal-card-body{padding:1.5rem;}.journal-card h2{font-size:1.35rem;line-height:1.5;margin:.5rem 0;}
.journal-card h2 a{text-decoration:none;color:var(--ink);}.journal-card p{color:var(--muted);}
.journal-index-intro{font-size:1.1rem;max-width:48rem;margin-bottom:2rem;}
.journal-article-heading{padding-block:2.5rem 1.5rem;max-width:900px;}
.journal-article-heading h1{font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.45;}
.journal-meta{color:var(--muted);font-size:.85rem;}.journal-deck{font-size:1.1rem;color:var(--muted);}
.journal-breadcrumb{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem;font-size:.85rem;}
.journal-cover{max-width:900px;}.journal-cover img{width:100%;max-height:360px;object-fit:contain;background:var(--sand);border-radius:12px;}
.journal-article-layout{display:grid;grid-template-columns:minmax(0,740px) minmax(200px,1fr);gap:3rem;padding-block:2.5rem 4rem;}
.journal-prose{font-size:1.04rem;line-height:1.95;overflow-wrap:anywhere;}.journal-prose h2{font-size:1.6rem;line-height:1.5;margin-top:2.5rem;scroll-margin-top:1rem;}
.journal-prose li{margin:.6rem 0;}.journal-toc,.journal-note{padding:1.2rem 1.5rem;background:var(--sand);border-radius:10px;border-left:3px solid var(--accent);}
.journal-toc ol{margin-bottom:0;}.journal-note p{margin-bottom:0;}
.journal-aside{align-self:start;padding:1.5rem;background:var(--sand);border-radius:12px;}.journal-aside h2{font-size:1.3rem;line-height:1.5;}.journal-aside ul{padding-left:1.2rem;}.journal-aside li{margin:.75rem 0;}
@media(max-width:760px){.journal-grid,.journal-article-layout{grid-template-columns:minmax(0,1fr);gap:1.25rem;}.journal-article-heading{padding-top:1.5rem;}.journal-card-body{padding:1.2rem;}.journal-article-layout{padding-top:1.5rem;}.journal-prose{font-size:1rem;}.journal-prose h2{font-size:1.35rem;}.journal-breadcrumb{margin-bottom:1rem;}}

/* Storefront usability pass: preserve WACA identity and full product names. */
:root { --focus: #923b40; --control-height: 44px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline-color: var(--focus);
}
.store-utility a, .site-nav a {
  display: inline-flex; align-items: center; min-height: var(--control-height);
}
.site-nav { gap: .4rem 1.1rem; }
.site-nav a { border-bottom: 2px solid transparent; }
.site-nav a[aria-current="page"] { border-bottom-color: var(--accent-dark); text-decoration: none; }
.site-nav a:hover { color: var(--accent-dark); border-bottom-color: var(--line); text-decoration: none; }
.store-search { border-color: var(--line); background: #fff; }
.store-search:focus-within { border-color: var(--accent-dark); box-shadow: 0 0 0 1px var(--accent-dark); }
.store-search input { min-height: var(--control-height); font-size: 1rem; }
.store-search button { min-width: 56px; min-height: var(--control-height); font-size: .95rem; }
.store-search button:hover, .store-search button:active { background: var(--sand); }
.store-subcategory-toggle { min-width: var(--control-height); min-height: var(--control-height); }
.store-category-menu > li > a { min-height: var(--control-height); line-height: var(--control-height); padding-block: 0; }
.store-category-menu ul a { min-height: var(--control-height); display: flex; align-items: center; }
.store-banner-controls button { width: var(--control-height); height: var(--control-height); font-size: 1.25rem; }
.store-banner-controls button:hover { background: var(--sand); border-color: var(--accent-dark); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .95rem; line-height: 1.65; }
.woocommerce ul.products li.product a.button { min-height: var(--control-height); padding: .5rem .8rem; font-size: .9rem; color: var(--accent-dark); }
.woocommerce ul.products li.product a.button:active { background: var(--sand); }
.catalog-filters input, .catalog-filters select, .catalog-filters button { min-height: var(--control-height); font: inherit; font-size: 1rem; }
@media (max-width: 760px) {
  .store-brand-row .brand { font-size: clamp(1.4rem, 6vw, 1.9rem); }
  .store-menu-row { gap: .75rem; }
  .site-nav { gap: .25rem .75rem; }
  .site-nav a { font-size: .94rem; }
  .store-category-menu { gap: .25rem .8rem; font-size: .88rem; }
  .catalog-category-list a, .catalog-all-link { min-height: var(--control-height); display: flex; align-items: center; }
  .catalog-category-list ul a { font-size: .88rem; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .95rem; }
  .woocommerce ul.products li.product .price { font-size: 1rem; }
}


/* Japanese shop reference: own content, compact navigation and calm merchandising. */
:root { --ink:#292926; --paper:#fff; --sand:#f7f7f5; --line:#e4e4df; --muted:#62625d; --accent:#923b40; --accent-dark:#783036; --focus:#923b40; }
body { font-family:"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif; }
.container { width:min(1200px,calc(100% - 4rem)); }
.staging-bar { background:var(--sand); color:var(--muted); font-size:.75rem; padding:.3rem 0; }
.store-header { background:#fff; }
.store-brand-row { display:grid; grid-template-columns:auto minmax(220px,430px) auto; align-items:center; gap:2.5rem; padding:1.25rem 0; justify-content:space-between; }
.store-brand-row .brand { font-size:1.5rem; font-weight:650; letter-spacing:.09em; color:var(--ink); gap:.8rem; }
.store-brand-row .brand img { width:56px; height:56px; }
.brand-copy { display:flex; flex-direction:column; gap:.15rem; }
.brand-copy small { font-size:.7rem; font-weight:400; color:var(--muted); letter-spacing:.12em; }
.store-search { width:100%; max-width:none; border:1px solid var(--line); border-radius:0; }
.store-search input { width:100%; flex:1; padding:.6rem .85rem; }
.store-search button { min-width:48px; display:flex; align-items:center; justify-content:center; border-left:0; color:var(--ink); background:var(--sand); }
.store-icon { display:inline-block; flex-shrink:0; vertical-align:middle; }
.store-header-actions { display:flex; align-items:center; gap:1.5rem; }
.store-header-actions a { color:var(--ink); text-decoration:none; min-height:44px; display:inline-flex; align-items:center; gap:.5rem; font-size:.85rem; white-space:nowrap; }
.store-menu-toggle { display:none; min-width:48px; min-height:48px; font:inherit; color:var(--ink); background:#fff; border:0; cursor:pointer; }
.store-menu-row { display:block; padding:0; background:#fff; }
.site-nav { justify-content:center; gap:2.75rem; padding:.3rem 0; }
.site-nav a { font-size:.9rem; font-weight:400; }
.store-category-nav { border-top:1px solid var(--line); }
.store-category-menu { padding:0; gap:.1rem 1.6rem; font-size:.83rem; }
.store-category-menu > li > a { line-height:44px; }
.store-subcategory-toggle { margin-left:0; }
.store-banner-section { margin-top:1.75rem; }
.store-banner-slide { display:grid; grid-template-columns:38% 62%; min-width:0; background:var(--sand); }
.store-banner-copy { padding:clamp(2rem,4vw,4rem); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.store-banner-copy .store-banner-label { font-size:.85rem; letter-spacing:.12em; margin:0 0 1.25rem; color:var(--muted); }
.store-banner-copy h1,.store-banner-copy h2 { font-size:clamp(1.8rem,3vw,2.35rem); line-height:1.5; font-weight:500; letter-spacing:.07em; margin:0 0 1.25rem; text-wrap:balance; }
.store-banner-copy h1 span { display:block; }
.store-banner-copy > p:not(.store-banner-label) { font-size:.92rem; color:var(--muted); margin:0 0 1.75rem; line-height:1.9; max-width:30rem; }
.store-banner-slide img { height:100%; width:100%; aspect-ratio:3/2; object-fit:cover; }
.button,.woocommerce a.button,.woocommerce button.button { border-radius:0; font-weight:500; min-height:48px; }
.button-secondary { border:1px solid var(--ink); color:var(--ink); background:transparent; }
.button-secondary:hover { background:var(--ink); border-color:var(--ink); color:#fff; }
.button .store-icon { width:20px; height:20px; margin-left:.55rem; }
.store-banner-controls { gap:1rem; padding:.6rem 0; }
.store-banner-controls > button { border:0; color:var(--ink); background:#fff; }
.store-banner-dots { display:flex; gap:0; }
.store-banner-dots button { border-radius:0; border:0; background:transparent; width:44px; height:44px; padding:12px; display:grid; place-items:center; }
.store-banner-dots button span { display:block; width:20px; height:2px; background:#c4c4bd; }
.store-banner-dots button[aria-current="true"] span { background:var(--ink); height:3px; }
.store-banner-dots button:hover { background:var(--sand); }
.store-category-section { padding:2rem 0 3.5rem; }
.store-section-heading { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-bottom:1.75rem; }
.store-section-heading h2 { font-size:clamp(1.3rem,2.1vw,1.65rem); line-height:1.5; font-weight:600; letter-spacing:.05em; margin:0; }
.store-section-heading p { margin:.5rem 0 0; color:var(--muted); font-size:.9rem; }
.store-section-heading > a { color:var(--ink); font-size:.85rem; min-height:44px; display:flex; align-items:center; white-space:nowrap; }
.store-category-tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); gap:1.5rem; padding:0; margin:0; list-style:none; }
.store-category-tiles li { min-width:0; }
.store-category-tiles a { display:flex; flex-direction:column; align-items:center; gap:.9rem; color:var(--ink); text-decoration:none; text-align:center; font-size:.88rem; }
.store-category-image { display:block; width:min(100%,130px); aspect-ratio:1; border-radius:50%; overflow:hidden; background:var(--sand); border:1px solid transparent; }
.store-category-image img { display:block; width:100%; height:100%; object-fit:contain; padding:12%; mix-blend-mode:multiply; }
.store-category-tiles a:hover .store-category-image { border-color:var(--accent); }
.store-category-tiles a:hover > span:last-child { text-decoration:underline; }
.home-catalog { display:block; padding-top:1.5rem; padding-bottom:4rem; }
.woocommerce ul.products { gap:2.5rem 1.4rem; }
.woocommerce ul.products li.product a img { background:var(--sand); padding:.5rem; margin-bottom:.7rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:.95rem; line-height:1.7; color:var(--ink); }
.woocommerce ul.products li.product .price { color:var(--ink); font-size:1rem; margin:.5rem 0 .7rem; }
.woocommerce ul.products li.product a.button { border-radius:0; color:var(--ink); background:#fff; font-size:.85rem; padding:.5rem .8rem; }
.woocommerce ul.products li.product a.button:hover { background:var(--sand); border-color:var(--ink); color:var(--ink); }
.catalog-see-all { margin-top:2.5rem; }
.catalog-see-all .button { min-width:220px; }
.store-topics { background:var(--sand); }
.store-topic-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.5rem; }
.store-topic-card { color:var(--ink); text-decoration:none; background:#fff; min-width:0; }
.store-topic-image { display:block; aspect-ratio:4/3; overflow:hidden; background:#fff; }
.store-topic-image img { width:100%; height:100%; object-fit:contain; padding:1.25rem; }
.store-topic-copy { display:block; padding:1.5rem; }
.store-topic-copy small { color:var(--muted); font-size:.8rem; }
.store-topic-copy h3 { font-size:1.2rem; line-height:1.6; font-weight:500; margin:.5rem 0 1rem; }
.store-topic-copy > span { display:flex; justify-content:space-between; align-items:center; font-size:.85rem; }
.store-topic-card:hover .store-topic-copy > span { color:var(--accent); text-decoration:underline; }
.journey-section { background:#fff; }
.journey-feature { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:4rem; }
.journey-feature-photo { display:block; }
.journey-feature-photo img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.journey-feature-copy h2 { font-size:clamp(1.5rem,2.8vw,2.2rem); font-weight:500; line-height:1.5; }
.journey-feature-copy p { color:var(--muted); font-size:.95rem; max-width:29rem; }
.journey-feature-copy .button { margin-top:1rem; }
.journal-teasers { padding-top:1rem; }
.journal-teasers .section-head .eyebrow { display:none; }
.journal-teasers .section-head h2 { font-size:1.65rem; font-weight:600; line-height:1.5; margin:.5rem 0; }
.journal-card { border:0; border-radius:0; }
.journal-card-image { background:var(--sand); }
.journal-card-body { padding:1.25rem 0; }
.journal-card-body .eyebrow { font-size:.75rem; font-weight:500; letter-spacing:.04em; color:var(--muted); }
.journal-card h2 { font-size:1.2rem; font-weight:500; }
.journal-card-body p { font-size:.9rem; }
.store-shopping-guides { background:var(--sand); }
.store-shopping-guides .seo-links { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin:0; }
.store-shopping-guides .seo-links a { border-radius:0; padding:1.25rem; font-size:.95rem; font-weight:500; text-decoration:none; color:var(--ink); }
.store-shopping-guides .seo-links a:hover { border-color:var(--ink); }
.site-footer { background:#fff; color:var(--ink); border-top:1px solid var(--line); padding:3.5rem 0 1.5rem; }
.footer-grid { grid-template-columns:2fr repeat(3,1fr); gap:3rem; }
.site-footer h2 { font-size:.95rem; font-weight:600; margin:0 0 1rem; }
.site-footer p { font-size:.85rem; color:var(--muted); }
.site-footer a { color:var(--muted); font-size:.85rem; display:flex; align-items:center; min-height:44px; text-decoration:none; }
.site-footer a:hover { color:var(--accent); text-decoration:underline; }
.footer-bottom { border-top:1px solid var(--line); margin-top:2rem; padding-top:1.5rem; display:flex; justify-content:space-between; gap:1rem; font-size:.75rem; color:var(--muted); }
.catalog-sidebar { border-right:1px solid var(--line); padding-right:1.25rem; }
.catalog-sidebar h2 { border-bottom:1px solid var(--ink); }
.content-wrap .catalog-category-disclosure,.content-wrap .catalog-filter-disclosure { padding:0; margin:0; border:0; border-radius:0; }
.catalog-category-disclosure > summary,.catalog-filter-disclosure > summary { display:none; }
.catalog-filters { background:var(--sand); border-color:var(--line); }
.catalog-filters input,.catalog-filters select { border-radius:0; border-color:var(--line); }
.catalog-filters button { background:var(--accent); border-radius:0; }
@media(max-width:1100px) {
  .store-brand-row { gap:1.5rem; grid-template-columns:auto minmax(150px,1fr) auto; }
  .store-brand-row .brand { font-size:1.25rem; }
  .store-header-actions { gap:1rem; }
  .store-guide-link { display:none!important; }
  .site-nav { gap:1.75rem; }
  .store-category-menu { gap:.1rem 1.1rem; }
  .store-banner-copy { padding:2rem; }
  .store-banner-copy h1,.store-banner-copy h2 { font-size:2rem; }
  .store-banner-copy h1 { font-size:clamp(1.4rem,2.65vw,2rem); }
}
@media(max-width:900px) {
  .container { width:calc(100% - 2.5rem); }
  .store-brand-row { grid-template-columns:1fr auto; gap:1rem; padding:1rem 0; }
  .store-brand-row .brand { font-size:1.3rem; }
  .store-search { grid-row:2; grid-column:1/-1; }
  .store-header-actions { grid-row:1; grid-column:2; gap:.7rem; }
  .store-cart-link,.store-menu-toggle { flex-direction:column; justify-content:center; gap:.05rem!important; font-size:.65rem!important; }
  .store-menu-toggle { display:none; }
  .has-menu-script .store-menu-toggle { display:flex; }
  .has-menu-script .store-navigation { display:none; }
  .has-menu-script.is-menu-open .store-navigation { display:block; border-top:1px solid var(--line); }
  .store-menu-row { padding:.75rem 0; }
  .site-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1rem; justify-content:start; }
  .site-nav a { padding:.5rem 0; border-bottom:1px solid var(--line); }
  .store-category-nav { padding:.5rem 0 1rem; }
  .store-category-menu { justify-content:flex-start; gap:0 1.5rem; }
  .store-category-menu ul { position:static; border:0; padding:.25rem 0; }
  .store-banner-copy { padding:1.5rem; }
  .store-banner-copy h1,.store-banner-copy h2 { font-size:1.65rem; }
  .store-banner-slide { grid-template-columns:45% 55%; }
  .store-banner-copy h1 { font-size:1.4rem; }
  .store-banner-copy > p:not(.store-banner-label) { font-size:.85rem; }
  .store-banner-copy .button { font-size:.85rem; padding:.65rem .8rem; }
  .store-category-tiles { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem 1rem; }
  .journey-feature { gap:2rem; }
  .footer-grid { grid-template-columns:1.5fr 1fr 1fr; gap:2rem; }
  .footer-brand { grid-column:1/-1; }
  .store-shopping-guides .seo-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .container { width:calc(100% - 2rem); }
  .staging-bar { font-size:.68rem; }
  .store-brand-row { padding:.75rem 0; gap:.75rem; }
  .store-brand-row .brand { font-size:1rem; gap:.5rem; letter-spacing:.03em; }
  .store-brand-row .brand img { width:42px; height:42px; }
  .brand-copy small { font-size:.58rem; letter-spacing:.04em; }
  .store-header-actions { gap:.4rem; }
  .store-cart-link { min-width:44px; }
  .store-menu-toggle { min-width:44px; min-height:44px; padding:0; }
  .store-search input { min-height:44px; padding:.45rem .7rem; font-size:1rem; }
  .store-banner-section { margin-top:1rem; }
  .store-banner-slide { display:flex; flex-direction:column; }
  .store-banner-slide img { order:-1; aspect-ratio:3/2; height:auto; }
  .store-banner-copy { padding:1.3rem; min-height:257px; }
  .store-banner-copy .store-banner-label { font-size:.72rem; margin-bottom:.5rem; }
  .store-banner-copy h1,.store-banner-copy h2 { font-size:1.6rem; margin-bottom:.7rem; letter-spacing:.035em; }
  .store-banner-copy > p:not(.store-banner-label) { font-size:.88rem; margin-bottom:1.1rem; line-height:1.8; }
  .store-banner-copy .button { font-size:.9rem; }
  .store-banner-controls { gap:.4rem; padding:.3rem 0; }
  .store-banner-dots button { width:44px; min-width:44px; padding:12px; }
  .store-section-heading { gap:1rem; align-items:flex-start; margin-bottom:1.25rem; }
  .store-section-heading h2 { font-size:1.2rem; }
  .store-section-heading > a { font-size:.8rem; }
  .store-category-section { padding:1.5rem 0 2rem; }
  .store-category-tiles { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.4rem .75rem; }
  .store-category-tiles a { font-size:.8rem; gap:.6rem; }
  .store-category-image { max-width:100px; }
  .home-catalog { padding-top:1rem; padding-bottom:2rem; }
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem .9rem; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:.9rem; }
  .woocommerce ul.products li.product a.button { font-size:.8rem; }
  .section { padding-block:2.5rem; }
  .store-topic-grid { grid-template-columns:1fr; gap:1rem; }
  .store-topic-card { display:grid; grid-template-columns:40% 60%; align-items:center; }
  .store-topic-image { aspect-ratio:1; }
  .store-topic-image img { padding:.75rem; }
  .store-topic-copy { padding:1rem; }
  .store-topic-copy h3 { font-size:1.05rem; margin:.35rem 0 .75rem; }
  .journey-feature { grid-template-columns:1fr; gap:1.5rem; }
  .journey-feature-copy h2 { margin:.5rem 0; }
  .journal-teasers { padding-top:1rem; }
  .journal-teasers .section-head h2 { font-size:1.3rem; }
  .catalog-sidebar { border-right:0; padding:1rem; }
  .catalog-category-list { display:block; }
  .catalog-category-list > li > a { border-bottom:1px solid var(--line); }
  .catalog-sidebar .catalog-category-note { font-size:.8rem; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
  .footer-bottom { flex-direction:column; gap:.5rem; }
}
@media(max-width:760px) {
  .content-wrap .catalog-category-disclosure,.content-wrap .catalog-filter-disclosure { border:1px solid var(--line); background:var(--sand); }
  .content-wrap .catalog-filter-disclosure { margin-block:1rem; }
  .catalog-category-disclosure > summary,.catalog-filter-disclosure > summary { display:flex; min-height:48px; align-items:center; justify-content:space-between; padding:.65rem 1rem; cursor:pointer; font-size:.95rem; }
  .catalog-category-disclosure > summary::-webkit-details-marker,.catalog-filter-disclosure > summary::-webkit-details-marker { display:none; }
  .catalog-category-disclosure[open] > summary span,.catalog-filter-disclosure[open] > summary span { transform:rotate(45deg); }
  .catalog-category-disclosure .catalog-sidebar { border:0; background:transparent; }
  .catalog-category-disclosure .catalog-sidebar h2 { display:none; }
  .catalog-category-disclosure > summary:focus-visible,.catalog-filter-disclosure > summary:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
  .catalog-filter-disclosure .catalog-filters { border:0; margin:0; padding:1rem; }
  .catalog-filter-disclosure .catalog-filter-note { padding:0 1rem; }
}
@media(max-width:360px) { .store-banner-controls > button { display:none; } }

/* Product discovery, member center and private wholesale portal. */
.store-member-link{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--ink)}
.store-header-actions{gap:14px}
.store-menu-row .site-nav{flex-wrap:wrap;row-gap:0}
.content-wrap .catalog-filter-disclosure{margin-bottom:28px}
.discovery-filters{display:block;padding:24px;background:var(--sand);border:1px solid var(--line)}
.discovery-controls{display:grid;grid-template-columns:1.3fr 1fr .9fr;gap:24px}
.discovery-controls fieldset{padding:0;margin:0;border:0;min-width:0}
.discovery-controls legend{font-size:16px;font-weight:600;padding:0;margin-bottom:14px}
.discovery-controls label{font-size:13px;display:block;margin-bottom:10px}
.discovery-controls input[type=search],.discovery-controls select{width:100%;min-height:44px;padding:9px;border:1px solid var(--line);background:#fff;font:inherit}
.brand-checkbox-list{max-height:220px;overflow:auto;margin:12px 0;border-top:1px solid var(--line)}
.brand-checkbox-list label,.category-checkbox-list label{display:flex;flex-direction:row;align-items:flex-start;gap:9px;padding:10px 3px;margin:0;border-bottom:1px solid var(--line);line-height:1.5;min-height:44px}
.brand-checkbox-list label[hidden]{display:none}
.brand-checkbox-list label span{flex:1;overflow-wrap:anywhere}
.brand-checkbox-list label small{color:var(--muted)}
.brand-checkbox-list input,.category-checkbox-list input{flex:0 0 18px;width:18px;height:18px;margin:1px 0;accent-color:var(--accent)}
.discovery-price-range{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.discovery-submit{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:18px;margin-top:18px;flex-wrap:wrap}
.discovery-submit button{background:var(--accent);color:#fff;padding:12px 24px;border:0;font:inherit;min-height:44px;cursor:pointer}
.discovery-submit span{font-size:12px;color:var(--muted)}
.home-ranking{margin:52px auto 62px}
.ranking-tabs{display:flex;align-items:center;gap:30px;overflow:auto;margin:20px 0 22px;border-bottom:1px solid var(--line)}
.ranking-tabs a{padding:12px 2px;white-space:nowrap;text-decoration:none;border-bottom:2px solid transparent;font-size:14px}
.ranking-tabs a[aria-current=true]{color:var(--accent);border-color:var(--accent);font-weight:600}
.ranking-products{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:20px 0 0}
.ranking-products a{display:block;text-decoration:none}
.ranking-image{display:block;position:relative;background:var(--sand);aspect-ratio:1;overflow:hidden}
.ranking-image img{width:100%;height:100%;object-fit:cover;display:block}
.rank-badge{position:absolute;top:0;left:0;z-index:1;padding:5px 10px;font-size:15px;color:#fff;background:#292926;min-width:28px;text-align:center}
.rank-1{background:#a88628}.rank-2{background:#858882}.rank-3{background:#9a6844}.rank-demo{background:#62625d;font-size:11px}
.ranking-brand{display:block;font-size:11px;letter-spacing:.06em;margin-top:12px;min-height:17px;color:var(--muted)}
.ranking-products h3{font-weight:400;font-size:13px;line-height:1.7;margin:5px 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ranking-price{font-size:14px}.ranking-quantity{display:block;color:var(--muted);font-size:11px;margin-top:6px}
.ranking-empty,.ranking-preview-note{font-size:13px;color:var(--muted);line-height:1.8}
.brand-directory .seo-directory-card{text-decoration:none;display:block}
.brand-directory h2{font-size:17px}.brand-directory p,.brand-directory span{font-size:13px}
.member-intro{text-align:center;padding:25px 0 34px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.member-intro h2{font-weight:400;font-size:30px;margin:10px 0}.member-intro p{max-width:620px;margin:12px auto}
.member-note{color:var(--muted);font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.line-login-button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:0;padding:13px 26px;min-height:48px;background:#06c755;color:#fff;text-decoration:none;font:inherit;font-weight:600}
.line-login-button[disabled]{background:#ebeeeb;color:#596459;cursor:not-allowed}
.member-company-fields{border:0;border-top:1px solid var(--line);margin:24px 0 0;padding:20px 0 0}
.member-company-fields legend{font-weight:600;font-size:15px;padding:0 10px 0 0}
.member-company-fields select{padding:10px;min-height:44px;background:#fff;width:100%;border:1px solid var(--line);font:inherit}
.member-consent{display:flex;gap:10px;font-size:13px;align-items:flex-start;line-height:1.8}
.member-consent input{margin-top:5px;flex:0 0 18px;width:18px;height:18px}
.woocommerce-account .woocommerce-MyAccount-navigation{border:1px solid var(--line);background:var(--sand)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation a{padding:14px 20px;display:block;border-bottom:1px solid var(--line);text-decoration:none;font-size:14px}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{color:var(--accent);font-weight:600;border-left:3px solid var(--accent)}
.woocommerce form.login,.woocommerce form.register{border:1px solid var(--line);border-radius:0;padding:28px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row input[type=text],.woocommerce form .form-row input[type=password],.woocommerce form .form-row input[type=email]{min-height:44px;padding:10px;border:1px solid var(--line);background:#fff;font:inherit}
.member-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:25px 0}
.member-shortcuts>a,.member-shortcuts>div{display:block;padding:22px;border:1px solid var(--line);background:var(--sand);text-decoration:none}
.member-shortcuts strong,.member-shortcuts span{display:block}.member-shortcuts span{font-size:13px;color:var(--muted);margin-top:10px}
.member-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.member-stats>div{padding:20px;background:var(--sand);border:1px solid var(--line)}
.member-stats small,.member-stats strong{display:block}.member-stats small{color:var(--muted);font-size:12px}.member-stats strong{font-size:21px;font-weight:500;margin-top:10px;overflow-wrap:anywhere}
.member-empty{padding:24px;border:1px solid var(--line);font-size:14px}.member-empty a{display:block;margin-top:10px}
.member-table-wrap{overflow:auto}.member-table-wrap table{min-width:300px}
.member-success{background:#eff5ed;border-left:3px solid #507044;padding:14px 18px}
.trade-form{border-top:1px solid var(--line);padding-top:26px;margin-top:28px;max-width:720px}
.trade-form label{display:block;margin-bottom:16px;font-size:14px;font-weight:500}
.trade-form input,.trade-form textarea{display:block;width:100%;max-width:100%;padding:12px;margin-top:8px;min-height:44px;border:1px solid var(--line);font:inherit;background:#fff;border-radius:0}
.trade-form textarea{resize:vertical;font-weight:400}.trade-form button[disabled]{opacity:.65;cursor:wait}
.trade-thread-list{border:1px solid var(--line);padding:20px;margin:24px 0}
.trade-thread-list h3{margin-top:0}.trade-thread-list>a{display:flex;justify-content:space-between;gap:16px;align-items:center;text-decoration:none;border-top:1px solid var(--line);padding:16px 0;min-height:48px}
.trade-thread-list span{font-size:12px;color:var(--muted);flex-shrink:0}
.trade-messages{padding:0;list-style:none;max-width:720px;margin:24px 0}
.trade-messages li{padding:20px;background:var(--sand);border:1px solid var(--line);margin:14px 0;max-width:90%}
.trade-messages .from-store{margin-left:auto;background:#f1f4ee;border-color:#dce4d7}
.trade-messages li>div{display:flex;justify-content:space-between;gap:14px;font-size:12px;color:var(--muted)}
.trade-messages p{margin:12px 0 0;white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.9}
.product-wholesale-link{font-size:14px;border-top:1px solid var(--line);padding-top:20px}
.wholesale-intro{max-width:960px;margin:25px auto 50px}.wholesale-intro h2{font-size:30px;font-weight:400;line-height:1.5}
.wholesale-intro .member-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.store-guide-link{display:none}.discovery-controls{grid-template-columns:1fr 1fr}.discovery-controls fieldset:last-child{grid-column:1/-1}.category-checkbox-list{display:flex;gap:14px;flex-wrap:wrap}.ranking-products{gap:14px}}
@media(max-width:760px){.discovery-filters{padding:18px}.discovery-controls{grid-template-columns:1fr;gap:25px}.category-checkbox-list{display:block}.brand-checkbox-list{max-height:200px}.ranking-products{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;gap:16px}.ranking-products li{flex:0 0 42%;scroll-snap-align:start}.ranking-tabs{gap:24px}.home-ranking{margin:36px auto 40px}.member-shortcuts,.wholesale-intro .member-shortcuts{grid-template-columns:1fr}.member-stats{grid-template-columns:1fr;gap:8px}.member-stats>div{padding:16px}.member-intro h2,.wholesale-intro h2{font-size:25px}.woocommerce-account .woocommerce-MyAccount-navigation{width:100%;float:none;margin-bottom:24px}.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap}.woocommerce-account .woocommerce-MyAccount-navigation a{padding:12px 14px}.woocommerce-account .woocommerce-MyAccount-content{width:100%;float:none}.trade-thread-list>a{display:block}.trade-thread-list span{display:block;margin-top:8px}.trade-messages li{max-width:95%}.store-header-actions{gap:12px}.store-header-actions .store-icon{width:21px;height:21px}.store-member-link{gap:3px}}
@media(prefers-reduced-motion:reduce){.ranking-products{scroll-behavior:auto}}
