/* GAIHA WooCommerce Store v1.0.0 — intentionally scoped to its own pages. */
.gws-root,
.gaiha-wcs-product .woocommerce div.product { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", Arial, sans-serif; }
.gws-root { --gws-text:#172333; --gws-muted:#687587; --gws-blue:#1664d9; --gws-border:#e5e9ef; --gws-paper:#fff; --gws-soft:#f6f8fb; color:var(--gws-text); width:100%; max-width:1260px; margin:24px auto 48px; box-sizing:border-box; font-size:15px; line-height:1.65; }
.gws-root *, .gws-root *::before, .gws-root *::after { box-sizing:border-box; }
.gws-root a { color:inherit; text-decoration:none; }
.gws-root a:hover { color:var(--gws-blue); }
.gws-root button, .gws-root input, .gws-root select { font:inherit; }
.gws-root svg.gws-icon, .gaiha-wcs-product svg.gws-icon { width:19px; height:19px; display:inline-block; vertical-align:middle; flex:0 0 auto; }
.gws-root .gws-topbar { min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--gws-border); margin-bottom:22px; }
.gws-root .gws-wordmark { font-size:25px; font-weight:900; letter-spacing:.06em; line-height:1; color:var(--gws-text); display:inline-flex; align-items:baseline; gap:9px; }
.gws-root .gws-wordmark span { font-weight:650; letter-spacing:.12em; color:var(--gws-blue); font-size:11px; }
.gws-root .gws-topnav { display:flex; align-items:center; flex-wrap:wrap; gap:clamp(12px, 2.8vw, 32px); }
.gws-root .gws-topnav a { display:inline-flex; min-height:42px; align-items:center; font-size:13px; font-weight:650; color:#526074; border-bottom:2px solid transparent; }
.gws-root .gws-topnav a[aria-current="page"] { color:var(--gws-blue); border-color:var(--gws-blue); }
.gws-root .gws-hero { min-height:290px; padding:42px clamp(23px,5vw,62px); display:flex; align-items:center; justify-content:space-between; gap:26px; background:linear-gradient(110deg,#f6f9fd 0%,#f1f6fc 80%); border:1px solid #e9edf4; border-radius:16px; overflow:hidden; }
.gws-root .gws-hero-main { max-width:675px; position:relative; z-index:1; }
.gws-root .gws-eyebrow { display:inline-block; font-size:11px; font-weight:800; letter-spacing:.13em; color:#3c6ab0; }
.gws-root .gws-hero h1 { font-size:clamp(27px, 3vw, 40px); font-weight:850; line-height:1.25; margin:13px 0 17px; color:var(--gws-text); letter-spacing:-.025em; }
.gws-root .gws-hero p { color:#596779; max-width:570px; font-size:15px; margin:0 0 24px; }
.gws-root .gws-hero-link, .gws-root .gws-primary-link { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--gws-text); border:1px solid var(--gws-text); color:#fff; font-weight:700; font-size:13px; padding:11px 18px; border-radius:9px; line-height:1.3; }
.gws-root .gws-hero-link:hover, .gws-root .gws-primary-link:hover { background:var(--gws-blue); border-color:var(--gws-blue); color:#fff; }
.gws-root .gws-hero-aside { display:flex; align-items:center; justify-content:center; min-width:192px; flex:0 0 27%; }
.gws-root .gws-orbit { border-radius:50%; border:1px solid #d8e6f5; width:205px; height:205px; display:flex; align-items:center; justify-content:center; position:relative; background:radial-gradient(circle at 48% 42%,#fff,#e6eff9); box-shadow:0 12px 50px rgba(42,82,133,.06); }
.gws-root .gws-orbit::before { content:""; position:absolute; inset:16px; border-radius:50%; border:1px dashed #b9cee4; }
.gws-root .gws-orbit-mark { font-weight:900; font-size:94px; color:#316fc3; line-height:1; }
.gws-root .gws-orbit-label { position:absolute; right:-14px; bottom:28px; font-size:9px; color:#677b93; letter-spacing:.1em; background:#fff; padding:7px 10px; border-radius:8px; border:1px solid #dee9f4; font-weight:800; }
.gws-root .gws-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:19px 0 50px; }
.gws-root .gws-benefits>div { display:flex; gap:10px; align-items:center; justify-content:center; padding:13px 8px; color:#607086; font-weight:600; font-size:12px; border:1px solid var(--gws-border); border-radius:9px; background:#fff; }
.gws-root .gws-benefits svg { color:#3969a7; }
.gws-root .gws-section-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:19px; }
.gws-root .gws-section-heading h2 { font-size:27px; line-height:1.35; font-weight:850; margin:6px 0 0; }
.gws-root .gws-section-heading>p { font-size:12px; color:var(--gws-muted); margin:0 0 5px; }
.gws-root .gws-filters { display:grid; grid-template-columns:minmax(155px,1.7fr) minmax(118px,.85fr) minmax(130px,.9fr) auto; align-items:stretch; gap:10px; margin-bottom:21px; }
.gws-root .gws-search { display:flex; align-items:center; gap:8px; min-width:0; border:1px solid var(--gws-border); border-radius:9px; padding:0 12px; background:#fff; color:#718098; }
.gws-root .gws-search input { width:100%; min-width:0; border:0!important; background:transparent!important; box-shadow:none!important; outline:0; color:var(--gws-text); font-size:13px; min-height:46px; padding:0!important; margin:0!important; }
.gws-root .gws-select-label { min-width:0; }
.gws-root .gws-select-label select { appearance:auto; display:block; width:100%; min-width:0; height:48px; border:1px solid var(--gws-border); border-radius:9px; padding:0 9px; background:#fff; color:#3c4c60; font-size:13px; margin:0; }
.gws-root .gws-filter-button { border:1px solid var(--gws-blue); background:var(--gws-blue); color:#fff; border-radius:9px; font-size:13px; font-weight:700; padding:0 19px; cursor:pointer; min-height:48px; white-space:nowrap; }
.gws-root .gws-filter-button:hover { background:#0c4eae; }
.gws-root .gws-products-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.gws-root .gws-product-card { min-width:0; margin:0; overflow:hidden; background:var(--gws-paper); border:1px solid var(--gws-border); border-radius:12px; display:flex; flex-direction:column; transition:border-color .18s ease,box-shadow .18s ease; }
.gws-root .gws-product-card:hover { border-color:#bdd2ed; box-shadow:0 5px 20px rgba(35,53,79,.045); }
.gws-root .gws-product-media { display:flex; justify-content:center; align-items:center; width:100%; aspect-ratio:1/1; padding:0; background:#fff; overflow:hidden; }
.gws-root .gws-product-media img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; border:0; box-shadow:none; margin:0 auto; }
.gws-root .gws-product-placeholder { width:108px; height:108px; display:flex; align-items:center; justify-content:center; background:linear-gradient(130deg,#f7faff,#e0ebf9); border:1px solid #d5e3f2; color:#2864ab; border-radius:24px; font-weight:800; font-size:68px; line-height:1; }
.gws-root .gws-product-content { display:flex; flex:1; min-width:0; flex-direction:column; padding:24px 22px 21px; }
.gws-root .gws-product-tag { color:#4878b0; letter-spacing:.02em; font-size:11px; font-weight:700; }
.gws-root .gws-product-content h3 { margin:8px 0 11px; font-size:21px; font-weight:800; line-height:1.35; overflow-wrap:anywhere; }
.gws-root .gws-product-content p { color:#738094; margin:0 0 24px; font-size:13px; line-height:1.75; min-height:44px; overflow-wrap:anywhere; }
.gws-root .gws-product-bottom { display:flex; gap:12px; align-items:center; justify-content:space-between; margin-top:auto; padding-top:17px; border-top:1px solid var(--gws-border); }
.gws-root .gws-price { font-size:20px; font-weight:850; white-space:normal; line-height:1.3; }
.gws-root .gws-price del { font-size:12px; color:#a4acb6; font-weight:500; }
.gws-root .gws-price ins { background:transparent; text-decoration:none; }
.gws-root .gws-product-link { display:inline-flex; gap:6px; align-items:center; color:var(--gws-blue); font-size:12px; font-weight:750; white-space:nowrap; }
.gws-root .gws-product-link svg { width:16px; height:16px; }
.gws-root .gws-empty { border:1px dashed #d8e2ef; background:#fafcff; text-align:center; padding:70px 18px; border-radius:12px; }
.gws-root .gws-empty svg { color:#6f91ba; width:38px; height:38px; }
.gws-root .gws-empty h3 { font-size:18px; margin:16px 0 7px; }
.gws-root .gws-empty p { color:var(--gws-muted); font-size:13px; }
.gws-root .gws-empty a { color:var(--gws-blue); font-weight:700; }
.gws-root .gws-pagination { display:flex; justify-content:center; gap:8px; padding:28px 0 4px; }
.gws-root .gws-pagination a { display:flex; min-width:38px; height:38px; align-items:center; justify-content:center; border:1px solid var(--gws-border); border-radius:7px; font-weight:700; font-size:13px; }
.gws-root .gws-pagination a[aria-current="page"] { color:#fff; background:var(--gws-blue); border-color:var(--gws-blue); }
.gws-root .gws-footer { margin-top:52px; padding:22px 0; border-top:1px solid var(--gws-border); display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:11px; font-weight:750; color:#738094; letter-spacing:.06em; }
.gws-root .gws-footer>a { display:inline-flex; align-items:center; gap:6px; color:var(--gws-blue); font-size:12px; letter-spacing:0; }
.gws-root .gws-footer svg { width:16px; height:16px; }
.gws-root .gws-purchases-header { padding:35px 32px; border-radius:13px; border:1px solid #e6ecf3; background:#f5f8fc; margin-top:20px; margin-bottom:22px; }
.gws-root .gws-purchases-header h1 { font-size:31px; font-weight:850; line-height:1.35; margin:10px 0; }
.gws-root .gws-purchases-header p { color:var(--gws-muted); max-width:750px; margin:0; font-size:13px; }
.gws-root .gws-signin { text-align:center; padding:65px 20px; border:1px solid var(--gws-border); border-radius:13px; }
.gws-root .gws-signin>svg { width:38px; height:38px; color:var(--gws-blue); }
.gws-root .gws-signin h2 { margin:15px 0 8px; font-weight:800; font-size:22px; }
.gws-root .gws-signin p { margin:0 0 23px; color:var(--gws-muted); font-size:13px; }
.gws-root .gws-account-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:26px; }
.gws-root .gws-account-links a { display:flex; gap:12px; align-items:center; border:1px solid var(--gws-border); border-radius:10px; padding:18px 17px; font-size:14px; font-weight:750; }
.gws-root .gws-account-links a:hover { border-color:#a8c5e8; }
.gws-root .gws-account-links a>svg:first-child { color:var(--gws-blue); }
.gws-root .gws-account-links a span { flex:1; }
.gws-root .gws-account-links a>svg:last-child { color:#8a9aaf; width:16px; height:16px; }
.gws-root .gws-list-panel { margin:20px 0; border:1px solid var(--gws-border); border-radius:12px; padding:24px 25px 15px; background:#fff; }
.gws-root .gws-list-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; }
.gws-root .gws-list-heading h2 { font-size:20px; font-weight:800; margin:0; line-height:1.4; }
.gws-root .gws-list-heading a { display:inline-flex; align-items:center; gap:5px; color:var(--gws-blue); font-size:12px; font-weight:750; }
.gws-root .gws-list-heading a>svg { width:15px; height:15px; }
.gws-root .gws-table-scroll { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.gws-root table.gws-data-table { width:100%; table-layout:auto; border-collapse:collapse; border:0; background:#fff; font-size:13px; border-radius:0; }
.gws-root table.gws-data-table th { padding:13px 15px; text-align:left; border:0; background:#f5f7fa; color:#57677c; white-space:nowrap; font-size:12px; font-weight:750; }
.gws-root table.gws-data-table td { padding:15px; border:0; border-bottom:1px solid #edf0f3; white-space:nowrap; }
.gws-root table.gws-data-table tr:last-child td { border-bottom:0; }
.gws-root table.gws-data-table td a { display:inline-flex; align-items:center; gap:6px; font-weight:750; color:var(--gws-blue); }
.gws-root table.gws-data-table td svg { width:16px; height:16px; }
.gws-root .gws-no-records { padding:15px 0 18px; color:var(--gws-muted); font-size:13px; }
.gws-notice { padding:20px; border:1px solid #e8be7c; background:#fffaf0; border-radius:10px; }
/* Single product: add only contained styles without altering theme header/footer. */
.gaiha-wcs-product .woocommerce div.product { max-width:1260px; margin-left:auto; margin-right:auto; }
.gaiha-wcs-product .woocommerce div.product .product_title { font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; font-weight:800; line-height:1.35; letter-spacing:-.015em; }
.gaiha-wcs-product .woocommerce div.product .summary .price { color:#1c65c6; font-weight:800; }
.gaiha-wcs-product .woocommerce div.product form.cart { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.gaiha-wcs-product .woocommerce div.product form.cart .quantity { margin:0 2px 0 0; }
.gaiha-wcs-product .woocommerce div.product form.cart button.single_add_to_cart_button { border-radius:7px; min-height:46px; padding:12px 20px; font-weight:700; }
.gaiha-wcs-product .woocommerce div.product form.cart .gws-buy-now-button { appearance:none; padding:12px 25px; min-height:46px; border:1px solid #165fcd; background:#165fcd; color:#fff; border-radius:7px; font:700 14px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; cursor:pointer; }
.gaiha-wcs-product .woocommerce div.product form.cart .gws-buy-now-button:hover { background:#0e4ba3; border-color:#0e4ba3; }
.gaiha-wcs-product .woocommerce div.product .gws-product-facts { clear:both; padding:18px 0; border-top:1px solid #e5e9ef; border-bottom:1px solid #e5e9ef; margin:16px 0; color:#273648; }
.gaiha-wcs-product .woocommerce div.product .gws-product-facts>div { display:flex; gap:12px; font-size:13px; margin:6px 0; line-height:1.65; }
.gaiha-wcs-product .woocommerce div.product .gws-product-facts strong { flex:0 0 76px; color:#687687; font-weight:650; }
.gaiha-wcs-product .woocommerce div.product .gws-changelog { white-space:normal; line-height:1.8; font-size:14px; }
@media (max-width:900px) {
 .gws-root { padding:0 18px; }
 .gws-root .gws-products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gws-root .gws-hero-aside { flex-basis:22%; }
 .gws-root .gws-orbit { width:145px; height:145px; }
 .gws-root .gws-orbit-mark { font-size:66px; }
 .gws-root .gws-orbit-label { display:none; }
 .gws-root .gws-benefits { gap:8px; }
 .gws-root .gws-benefits>div { font-size:11px; padding:11px 8px; }
}
@media (max-width:640px) {
 .gws-root { margin-top:8px; margin-bottom:30px; padding:0 13px; }
 .gws-root .gws-topbar { align-items:flex-start; flex-direction:column; padding:14px 0 7px; gap:3px; }
 .gws-root .gws-wordmark { font-size:21px; }
 .gws-root .gws-topnav { display:flex; width:100%; flex-wrap:nowrap; overflow-x:auto; gap:22px; scrollbar-width:none; }
 .gws-root .gws-topnav::-webkit-scrollbar { display:none; }
 .gws-root .gws-topnav a { font-size:12px; white-space:nowrap; min-height:39px; }
 .gws-root .gws-hero { padding:30px 23px; min-height:auto; border-radius:12px; }
 .gws-root .gws-hero-aside { display:none; }
 .gws-root .gws-hero h1 { margin:10px 0 12px; }
 .gws-root .gws-hero p { font-size:13px; }
 .gws-root .gws-benefits { grid-template-columns:1fr 1fr; margin:14px 0 33px; }
 .gws-root .gws-benefits>div { justify-content:flex-start; padding:10px; line-height:1.35; }
 .gws-root .gws-benefits>div:last-child { grid-column:1/-1; }
 .gws-root .gws-section-heading h2 { font-size:23px; }
 .gws-root .gws-filters { grid-template-columns:1fr 1fr; }
 .gws-root .gws-search { grid-column:1/-1; }
 .gws-root .gws-filter-button { grid-column:1/-1; }
 .gws-root .gws-products-grid { grid-template-columns:1fr; gap:15px; }
 .gws-root .gws-product-media { aspect-ratio:1/1; }
 .gws-root .gws-product-content { padding:19px; }
 .gws-root .gws-product-content h3 { font-size:19px; }
 .gws-root .gws-product-content p { min-height:0; margin-bottom:18px; }
 .gws-root .gws-purchases-header { padding:25px 19px; }
 .gws-root .gws-purchases-header h1 { font-size:25px; }
 .gws-root .gws-account-links { grid-template-columns:1fr; gap:9px; }
 .gws-root .gws-account-links a { padding:13px 15px; }
 .gws-root .gws-list-panel { padding:16px 12px; }
 .gws-root .gws-list-heading h2 { font-size:17px; }
 .gws-root .gws-table-scroll { overflow-x:visible; }
 .gws-root table.gws-data-table, .gws-root table.gws-data-table tbody, .gws-root table.gws-data-table tr, .gws-root table.gws-data-table td { display:block; width:100%; box-sizing:border-box; }
 .gws-root table.gws-data-table thead { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
 .gws-root table.gws-data-table tr { border:1px solid #e8edf4; border-radius:8px; margin-bottom:10px; padding:8px 9px; }
 .gws-root table.gws-data-table td { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:7px 3px; white-space:normal; overflow-wrap:anywhere; font-size:12px; border:0; text-align:right; }
 .gws-root table.gws-data-table td::before { content:attr(data-label); font-weight:700; color:#7b8797; flex:0 0 58px; text-align:left; }
 .gws-root table.gws-data-table td a { justify-content:flex-end; }
 .gws-root .gws-footer { font-size:10px; }
 .gaiha-wcs-product .woocommerce div.product form.cart .gws-buy-now-button { flex:1; }
}
@media (prefers-reduced-motion:reduce) { .gws-root *, .gws-root *::before, .gws-root *::after { transition:none!important; scroll-behavior:auto!important; } }

/* v1.4.1: administrator-only guidance when no published products are visible. */
.gws-root .gws-empty-admin { margin-top: 18px; display: flex; justify-content: center; align-items: center; gap: 14px; flex-wrap: wrap; }
.gws-root .gws-empty-admin p { width: 100%; max-width: 640px; margin: 0 auto 3px; font-size: 13px; line-height: 1.7; }
.gws-root .gws-empty-admin a { display: inline-flex; align-items: center; justify-content: center; padding: 6px 11px; }
/* v1.4.2: Points merchandise is a filter in /store/, never a second storefront. */
.gws-root .gws-type-filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-4px 0 18px;border-bottom:1px solid var(--gws-border);padding-bottom:13px}
.gws-root .gws-type-filter a{font-size:13px;font-weight:700;color:#52647c;padding:8px 14px;border-radius:7px}
.gws-root .gws-type-filter a[aria-current="page"]{color:var(--gws-blue);background:#edf4fd}
.gws-root .gws-points-inline{margin-left:auto;font-size:12px;color:#5f7287}
.gws-root .gws-legacy-card-hint{font-size:11px!important;color:#9a6579!important;min-height:0!important;margin:10px 0 0!important}
.gws-root .gws-legacy-detail-inner{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:28px;padding:22px;border:1px solid var(--gws-border);border-radius:12px;background:#fff}
.gws-root .gws-legacy-detail-image{display:flex;align-items:center;justify-content:center;min-height:200px;background:#f6f8fb;border-radius:9px;overflow:hidden}
.gws-root .gws-legacy-detail-image img{display:block;width:auto;max-width:100%;max-height:420px;object-fit:contain}
.gws-root .gws-legacy-detail h1{font-size:28px;font-weight:800;margin:8px 0 14px}
.gws-root .gws-legacy-detail-cost{font-size:24px;font-weight:800;color:#1764c0}
.gws-root .gws-legacy-detail-notice{font-size:13px;line-height:1.8;color:#81562b;border:1px solid #f2e5cf;background:#fdfaf4;padding:12px 14px;border-radius:7px}
.gws-root .gws-detail-back{font-size:13px;margin:8px 0 18px}
.gws-root .gws-legacy-detail-description{line-height:1.8;overflow-wrap:anywhere}
.gws-root .gws-old-history-link{margin:20px 0;color:#1764c0;font-size:13px}
.gws-root .gws-mall-history{overflow:auto}.gws-root .gws-mall-history table{width:100%;border-collapse:collapse;font-size:13px}.gws-root .gws-mall-history th,.gws-root .gws-mall-history td{padding:10px 12px;border-bottom:1px solid var(--gws-border);text-align:left}
@media(max-width:700px){.gws-root .gws-type-filter a{padding:7px 10px}.gws-root .gws-points-inline{width:100%;margin-left:0}.gws-root .gws-legacy-detail-inner{grid-template-columns:1fr;padding:14px;gap:14px}}
