/* ============================================================
   EK Theme - main stylesheet
   Original implementation. Design tokens reflect the demo's
   monochrome system: #212121 ink on white, Inter, sharp corners.
   ============================================================ */

/* ---------- Fonts ---------- */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZ9hiA.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZBhiI2B.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZFhiI2B.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZJhiI2B.woff2') format('woff2');unicode-range:U+1F00-1FFF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZNhiI2B.woff2') format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZthiI2B.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZxhiI2B.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Tokens ---------- */
:root{
	--ek-bg:#ffffff;
	--ek-ink:#212121;
	--ek-muted:#757575;
	--ek-meta:#666666;
	--ek-placeholder:#848484;
	--ek-border:#eaeaea;
	--ek-divider:#dddddd;
	--ek-soft:#f5f5f5;
	--ek-card:#f2f2f2;
	--ek-badge:#ff5858;
	--ek-accent:#212121;
	--ek-accent-hover:#757575;
	--ek-on-accent:#ffffff;
	--ek-radius:0;
	--ek-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
	--ek-container:1320px;
	--ek-content:1140px;
	--ek-wide:1320px;
	--ek-h1:42px;
	--ek-h2:32px;
	--ek-h3:26px;
	--ek-h4:20px;
	--ek-h5:18px;
	--ek-h6:16px;
	--ek-body:16px;
	--ek-small:14px;
	--ek-tiny:13px;
	--ek-btn-fs:12px;
	--ek-btn-pad:13px 24px;
	--ek-space:80px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
	margin:0;
	background:var(--ek-bg);
	color:var(--ek-ink);
	font-family:var(--ek-font);
	font-size:var(--ek-body);
	line-height:1.68;
	overflow-x:hidden;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;border:0}
a{color:var(--ek-ink);text-decoration:none;transition:color .2s ease}
a:hover,a:focus{color:var(--ek-muted)}
h1,h2,h3,h4,h5,h6{color:var(--ek-ink);line-height:1.25;margin:0 0 .6em;font-weight:500}
h1{font-size:var(--ek-h1)}
h2{font-size:var(--ek-h2)}
h3{font-size:var(--ek-h3)}
h4{font-size:var(--ek-h4)}
h5{font-size:var(--ek-h5)}
h6{font-size:var(--ek-h6)}
p{margin:0 0 1.2em}
ul,ol{padding-left:1.3em}
blockquote{margin:0 0 1.5em;padding:0 0 0 1.5em;border-left:3px solid var(--ek-ink);color:var(--ek-muted);font-size:1.1em}
table{width:100%;border-collapse:collapse}
hr{border:0;border-top:1px solid var(--ek-border);margin:2em 0}
figure{margin:0}
code,kbd,pre,samp{font-family:Consolas,Monaco,monospace;font-size:.9em;background:var(--ek-soft);padding:.15em .4em}
pre{padding:1em;overflow:auto}
embed,iframe,object,video{max-width:100%}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);word-wrap:normal!important}
.skip-link{left:-9999px;position:absolute;top:0;background:var(--ek-ink);color:#fff;padding:.6em 1.2em;z-index:100000}
.skip-link:focus{left:8px;top:8px;color:#fff}

/* ---------- Layout ---------- */
.ek-container{max-width:var(--ek-container);margin:0 auto;padding:0 24px}
.ek-main{display:block;min-height:40vh}
.ek-section{padding:var(--ek-space) 0}
.ek-section--tight{padding:calc(var(--ek-space) * .6) 0}

/* ---------- Buttons ---------- */
.ek-btn,
button,
.button,
.wp-block-button__link,
input[type="submit"],
input[type="button"],
#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wc-block-components-button{
	display:inline-block;
	background:var(--ek-accent);
	color:var(--ek-on-accent);
	border:0;
	border-radius:var(--ek-radius);
	padding:var(--ek-btn-pad);
	font-family:var(--ek-font);
	font-size:var(--ek-btn-fs);
	font-weight:600;
	letter-spacing:.12em;
	text-transform:uppercase;
	line-height:1.4;
	cursor:pointer;
	transition:background .25s ease,color .25s ease;
	text-align:center;
}
.ek-btn:hover,
button:hover,
.button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:hover{
	background:var(--ek-accent-hover);
	color:#fff;
}
.ek-btn--outline{background:transparent;color:var(--ek-ink);box-shadow:inset 0 0 0 1px var(--ek-ink)}
.ek-btn--outline:hover{background:var(--ek-accent);color:#fff}
.ek-btn--sm{padding:9px 18px;font-size:11px}

/* ---------- Forms ---------- */
input[type="text"],input[type="email"],input[type="url"],input[type="password"],
input[type="search"],input[type="number"],input[type="tel"],textarea,select{
	width:100%;
	background:#fff;
	border:1px solid var(--ek-ink);
	border-radius:var(--ek-radius);
	padding:11px 14px;
	font-family:var(--ek-font);
	font-size:var(--ek-small);
	color:var(--ek-ink);
	transition:border-color .2s ease;
}
input::placeholder,textarea::placeholder{color:var(--ek-placeholder)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ek-muted)}
select{appearance:auto}
label{font-size:var(--ek-small);font-weight:500}
.ek-search-form{display:flex;gap:8px}
.ek-search-form input[type="search"]{flex:1}

/* ============================================================
   Header
   ============================================================ */
.ek-header{background:#fff;position:relative;z-index:999}
.ek-header__inner{
	display:grid;
	grid-template-columns:1fr auto 1fr;
	align-items:center;
	min-height:72px;
	gap:20px;
}
.ek-header__nav .menu{display:flex;list-style:none;margin:0;padding:0;gap:28px}
.ek-header__nav .menu > li{position:relative}
.ek-header__nav .menu > li > a{display:block;padding:6px 0;font-size:var(--ek-small);font-weight:500}
.ek-header__nav .sub-menu{
	position:absolute;left:0;top:100%;min-width:200px;background:#fff;
	box-shadow:0 8px 30px rgba(0,0,0,.08);border:1px solid var(--ek-border);
	list-style:none;margin:0;padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);
	transition:all .2s ease;z-index:99;
}
.ek-header__nav li:hover > .sub-menu,
.ek-header__nav li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.ek-header__nav .sub-menu a{display:block;padding:8px 18px;font-size:var(--ek-small)}
.ek-header__nav .sub-menu .sub-menu{left:100%;top:-8px}

.ek-header__brand{justify-self:center;text-align:center}
.ek-header__brand a{display:inline-block;font-size:17px;font-weight:600;letter-spacing:.42em;text-transform:uppercase;color:var(--ek-ink);text-indent:.42em}
.ek-header__brand img{max-height:44px;width:auto}
.ek-header__brand .custom-logo-link{display:inline-block}

.ek-header__actions{justify-self:end;display:flex;align-items:center;gap:18px}
.ek-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;border:0;padding:0;color:var(--ek-ink);cursor:pointer}
.ek-icon-btn:hover{color:var(--ek-muted)}
.ek-icon-btn svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.5}
.ek-cart-count{
	position:absolute;top:-2px;right:-4px;min-width:16px;height:16px;padding:0 4px;
	background:var(--ek-badge);color:#fff;border-radius:999px;
	font-size:10px;font-weight:600;line-height:16px;text-align:center;
}
.ek-cart-count:empty{display:none}

.ek-header__toggle{display:none}
.ek-search-bar{display:none;padding:6px 0 22px}
.ek-search-bar.is-open{display:block}
.ek-mobile-nav{display:none;border-top:1px solid var(--ek-border);padding:10px 0 18px}
.ek-mobile-nav .menu{list-style:none;margin:0;padding:0}
.ek-mobile-nav .menu a{display:block;padding:10px 0;font-size:15px;border-bottom:1px solid var(--ek-soft)}
.ek-mobile-nav .sub-menu{list-style:none;padding-left:18px}
.ek-header.is-menu-open .ek-mobile-nav{display:block}

/* 页头为文档流内 relative 定位, 管理栏会自然下推内容, 无需手动偏移 */

/* ---------- Page hero (archive / search / 404 titles) ---------- */
.ek-page-hero{padding:64px 0 8px;text-align:center}
.ek-page-hero h1{margin-bottom:.2em}
.ek-page-hero p{color:var(--ek-muted);font-size:var(--ek-small);max-width:640px;margin:0 auto}

/* ============================================================
   Blog loop
   ============================================================ */
.ek-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 30px;padding:44px 0}
.ek-post-card{text-align:center}
.ek-post-card__thumb{display:block;overflow:hidden;background:var(--ek-card)}
.ek-post-card__thumb img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .4s ease}
.ek-post-card__thumb:hover img{transform:scale(1.04)}
.ek-post-card__meta{margin:16px 0 6px;font-size:12px;letter-spacing:.04em;color:var(--ek-meta)}
.ek-post-card__meta a{color:var(--ek-meta)}
.ek-post-card__title{font-size:17px;font-weight:500;margin:0}
.ek-post-card__excerpt{margin-top:8px;color:var(--ek-muted);font-size:var(--ek-small)}
.ek-post-card__more{margin-top:10px;font-size:var(--ek-tiny);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
/* 4-column variant (homepage blog section) */
.ek-posts-grid--4{grid-template-columns:repeat(4,1fr);padding:0}

/* ---------- Pagination ---------- */
.ek-pagination{margin:40px 0 0;text-align:center}
.ek-pagination .nav-links{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:center}
.ek-pagination .page-numbers{
	display:inline-block;min-width:40px;padding:9px 12px;
	border:1px solid var(--ek-border);font-size:var(--ek-small);line-height:1.4;
}
.ek-pagination .page-numbers.current,
.ek-pagination .page-numbers:hover{background:var(--ek-ink);color:#fff;border-color:var(--ek-ink)}

/* ---------- Single post / page ---------- */
.ek-content-area{padding:56px 0}
.ek-content-area--narrow{max-width:820px;margin:0 auto}
.ek-single-hero{text-align:center;padding:56px 0 0}
.ek-single-hero h1{margin:0 auto .3em;max-width:900px}
.ek-single-hero__meta{font-size:12px;color:var(--ek-meta);letter-spacing:.04em}
.ek-single-hero__meta a{color:var(--ek-meta)}
.ek-single-hero__meta > * + *::before{content:" · "}
.ek-single-thumb{margin:36px auto 0;max-width:var(--ek-content)}
.ek-single-thumb img{width:100%}

.entry-content{font-size:1rem}
.entry-content::after{content:"";display:block;clear:both}
.entry-content a{text-decoration:underline;text-underline-offset:2px}
.entry-content h2,.entry-content h3,.entry-content h4{margin-top:1.6em}
.entry-content ul,.entry-content ol{margin:0 0 1.4em}
.entry-tags{margin-top:2.4em;font-size:var(--ek-tiny);color:var(--ek-meta)}
.entry-tags a{display:inline-block;border:1px solid var(--ek-border);padding:4px 10px;margin:0 6px 6px 0}
.ek-author-box,.ek-post-nav{margin-top:44px;border-top:1px solid var(--ek-border);padding-top:28px}
.ek-post-nav{display:flex;justify-content:space-between;gap:20px;font-size:var(--ek-small)}
.ek-post-nav a{font-weight:500}

/* ---------- Comments ---------- */
.comments-area{margin-top:52px;border-top:1px solid var(--ek-border);padding-top:36px}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list .comment{border-bottom:1px solid var(--ek-soft);padding:18px 0}
.comment-list .children{list-style:none;padding-left:34px}
.comment-author img{border-radius:999px;margin-right:10px;vertical-align:middle}
.comment-metadata{font-size:12px;color:var(--ek-meta)}
.comment-content{margin-top:8px}
.reply{font-size:var(--ek-tiny);text-transform:uppercase;letter-spacing:.08em}
.comment-respond{margin-top:32px}
.comment-form p{margin:0 0 16px}
.comment-form textarea{min-height:140px}
.comment-form-author,.comment-form-email{display:inline-block;width:calc(50% - 8px)}
.comment-form-email{margin-left:16px}

/* ---------- Widgets / sidebar ---------- */
.ek-layout-with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px}
.widget{margin-bottom:36px;font-size:var(--ek-small)}
.widget-title,.widget .widgettitle{font-size:16px;font-weight:600;margin:0 0 16px}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{padding:7px 0;border-bottom:1px solid var(--ek-soft)}
.widget a:hover{color:var(--ek-muted)}

/* ---------- Search / none ---------- */
.ek-no-results{text-align:center;padding:40px 0}
.ek-no-results h1{font-size:56px;margin-bottom:.1em}

/* ============================================================
   Footer
   ============================================================ */
.ek-footer{background:var(--ek-soft);margin-top:var(--ek-space);font-size:var(--ek-small)}
.ek-footer__grid{
	display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;
	padding:64px 0 48px;
}
.ek-footer .widget{margin-bottom:0}
.ek-footer .widget-title{font-size:16px;margin-bottom:18px}
.ek-footer ul{list-style:none;margin:0;padding:0}
.ek-footer li{border:0;padding:5px 0}
.ek-footer a{color:var(--ek-meta)}
.ek-footer a:hover{color:var(--ek-ink)}
.ek-footer__brand img{display:block;margin-bottom:14px;max-height:24px;width:auto}
.ek-footer__brand-text{font-size:16px;font-weight:600;letter-spacing:.4em;text-transform:uppercase;margin-bottom:14px}
.ek-footer__brand p{color:var(--ek-meta);margin:0;max-width:340px}
.ek-footer__bottom{border-top:1px solid var(--ek-border)}
.ek-footer__bottom-inner{
	display:flex;align-items:center;justify-content:space-between;gap:16px;
	padding:20px 0;font-size:var(--ek-tiny);color:var(--ek-meta);flex-wrap:wrap;
}
.ek-social{display:flex;gap:14px;list-style:none;margin:0;padding:0}
.ek-social a{display:inline-flex;color:var(--ek-meta)}
.ek-social a:hover{color:var(--ek-ink)}
.ek-social svg{width:16px;height:16px;fill:currentColor}

/* ============================================================
   WooCommerce
   ============================================================ */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-info,.woocommerce-error{
	border-top-color:var(--ek-ink);background:var(--ek-soft);
	padding:14px 18px;font-size:var(--ek-small);list-style:none;
}

/* Sale badge */
.woocommerce span.onsale,
.wc-block-grid__product-onsale{
	background:var(--ek-ink)!important;color:#fff!important;
	font-size:11px!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
	min-width:0!important;min-height:0!important;line-height:1!important;
	padding:6px 12px!important;margin:0!important;border-radius:0!important;
	position:absolute;top:14px;left:14px;z-index:2;
}
.wc-block-grid__product-onsale{left:14px!important;top:14px!important;right:auto!important}

/* Product loops (classic + blocks) */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 30px;margin:44px 0;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}

/* Block-content sections: keep text and grids inside the page container.
   Only the .wp-block-group wrapper is constrained, so alignfull covers
   (hero / highlighted) still bleed edge to edge. */
.entry-content > .wp-block-group{
	max-width:var(--ek-container);
	margin-left:auto;margin-right:auto;
	padding-left:24px;padding-right:24px;
	box-sizing:border-box;
}
/* Belt and braces: any WooCommerce grid placed directly in block content */
.entry-content .woocommerce ul.products{
	max-width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box;
}
.woocommerce ul.products li.product{
	float:none;width:auto!important;margin:0!important;padding:0;text-align:center;position:relative;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block}
.woocommerce ul.products li.product img{width:100%;margin:0;background:#fff;aspect-ratio:4/5;object-fit:contain;padding:8% 11%;box-sizing:border-box;transition:transform .35s ease}
.woocommerce ul.products li.product:hover img{transform:translateY(-4px)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px;font-weight:500;padding:0;margin:16px 0 4px;color:var(--ek-ink)}
.woocommerce ul.products li.product .price{font-size:15px;color:var(--ek-ink);margin:0 0 14px}
.woocommerce ul.products li.product .price del{color:var(--ek-meta);opacity:1;font-weight:400;margin-right:6px}
.woocommerce ul.products li.product .price ins{text-decoration:none;font-weight:600}
.woocommerce ul.products li.product .button{margin:0}
.woocommerce ul.products li.product .added_to_cart{display:block;margin-top:10px;font-size:var(--ek-tiny);text-transform:uppercase;letter-spacing:.08em}
.woocommerce ul.products li.product .star-rating{margin:6px auto}

/* Woo block grids */
.wc-block-grid.wp-block-product-new .wc-block-grid__products,
.wp-block-query ul.wp-block-post-template{display:grid;gap:44px 30px;margin:0;padding:0;list-style:none}
.wc-block-grid.has-3-columns .wc-block-grid__products{grid-template-columns:repeat(3,1fr)}
.wc-block-grid.has-4-columns .wc-block-grid__products{grid-template-columns:repeat(4,1fr)}
.wc-block-grid.has-2-columns .wc-block-grid__products{grid-template-columns:repeat(2,1fr)}
.wc-block-grid__products li,
.wc-block-grid .wc-block-grid__product{
	list-style:none;text-align:center;position:relative;
	width:auto!important;max-width:none!important;min-width:0!important;
	flex:0 0 auto!important;margin:0!important;float:none;
}
.wc-block-grid__products{display:grid!important}
.wc-block-grid__product-image img{width:100%;background:var(--ek-card);aspect-ratio:4/5;object-fit:contain;padding:8% 11%;box-sizing:border-box}
.wc-block-grid__product-title{font-size:15px;font-weight:500;margin:16px 0 4px}
.wc-block-grid__product-title a{color:var(--ek-ink);text-decoration:none}
.wc-block-grid__product-price{font-size:15px;margin-bottom:14px}
.wc-block-grid__product-price del{color:var(--ek-meta);margin-right:6px}
.wc-block-grid__product-price ins{text-decoration:none;font-weight:600}
.wc-block-grid__product-add-to-cart .wp-block-button__link{font-size:var(--ek-btn-fs)}
.wc-block-grid__product-rating .wc-block-grid__product-rating__stars{margin:6px auto}

/* Shop / archive head */
.woocommerce-page .page-title{font-size:var(--ek-h1);text-align:center;padding:56px 0 0;margin:0}
.woocommerce-products-header{text-align:center;padding:56px 0 0}
.woocommerce-products-header__title{margin-bottom:.2em}
.term-description,.woocommerce-products-header p{color:var(--ek-muted);font-size:var(--ek-small);max-width:640px;margin:0 auto}
.woocommerce .woocommerce-result-count{margin:36px 0 0;font-size:var(--ek-small);color:var(--ek-meta)}
.woocommerce .woocommerce-ordering{float:none;margin:36px 0 0;font-size:var(--ek-small)}
.woocommerce .woocommerce-ordering select{width:auto;padding:8px 12px}
.ek-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:36px}

/* Single product */
.woocommerce div.product{position:relative}
.woocommerce div.product .product_title{font-size:var(--ek-h2);font-weight:500}
.woocommerce div.product p.price{font-size:24px;color:var(--ek-ink);margin:10px 0 20px}
.woocommerce div.product p.price del{color:var(--ek-meta);font-size:.72em;margin-right:8px}
.woocommerce div.product p.price ins{text-decoration:none;font-weight:600}
.woocommerce div.product div.images{margin-bottom:36px}
.woocommerce div.product div.images img{background:var(--ek-card)}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px;padding:0;list-style:none;clear:both}
.woocommerce div.product div.images .flex-control-thumbs li{float:none;width:auto}
.woocommerce div.product div.images .flex-control-thumbs img{width:100%;opacity:.6;cursor:pointer;transition:opacity .2s ease}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover{opacity:1;outline:2px solid var(--ek-ink);outline-offset:-2px}
.woocommerce div.product div.summary{margin-bottom:36px}
.woocommerce div.product form.cart{margin:22px 0}
.woocommerce div.product form.cart div.quantity{margin-right:12px}
.woocommerce div.product form.cart .button{vertical-align:top}
.woocommerce div.product .woocommerce-tabs{margin:52px 0}
.woocommerce div.product .woocommerce-tabs ul.tabs{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--ek-border);display:flex;gap:26px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:12px 0;font-size:var(--ek-small);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ek-muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ek-ink);border-bottom-color:var(--ek-ink)}
.woocommerce div.product .woocommerce-Tabs-panel{padding-top:24px;font-size:var(--ek-small);max-width:820px}
.woocommerce div.product .related.products,.woocommerce div.product .up-sells{margin-top:40px}
.woocommerce div.product .related.products > h2{font-size:var(--ek-h3);text-align:center;margin-bottom:10px}
.woocommerce .quantity .qty{border:1px solid var(--ek-ink);padding:9px;width:64px;text-align:center}

/* Single product: shipping note under the add-to-cart button */
.woocommerce div.product .ek-shipping-note,
.ek-shipping-note{display:flex;align-items:flex-start;gap:9px;margin:0 0 6px;font-size:15px;font-weight:600;color:var(--ek-ink);line-height:1.5}
.ek-shipping-note__icon{flex:0 0 auto;display:inline-flex}
.ek-shipping-note__icon svg{width:20px;height:20px;margin-top:1px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ek-shipping-note__text{display:inline-block}
.ek-shipping-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.ek-shipping-note a:hover{color:var(--ek-muted)}

/* Single product: stacked meta list (attributes + taxonomies) */
.woocommerce div.product .product_meta.ek-product-meta,
.ek-product-meta{display:block;margin:22px 0 0;padding-top:18px;border-top:1px solid var(--ek-border);font-size:var(--ek-small);line-height:1.6}
.ek-product-meta__row{display:block;margin:0 0 6px}
.ek-product-meta__row:last-child{margin-bottom:0}
.ek-product-meta__label{display:inline-block;font-weight:600;color:var(--ek-ink);margin-right:6px}
.ek-product-meta__value{color:var(--ek-meta)}
.ek-product-meta__value a{color:var(--ek-meta);text-decoration:underline;text-underline-offset:2px}
.ek-product-meta__value a:hover{color:var(--ek-ink)}

/* Cart / checkout / account */
.woocommerce table.shop_table{border:1px solid var(--ek-border);border-radius:0;font-size:var(--ek-small)}
.woocommerce table.shop_table th{font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.08em;padding:14px}
.woocommerce table.shop_table td{padding:14px;border-top:1px solid var(--ek-border)}
.woocommerce table.shop_table img{width:64px;background:var(--ek-card)}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{font-size:var(--ek-small)}
.woocommerce-checkout #payment{background:var(--ek-soft);border-radius:0}
.woocommerce form .form-row label{font-size:var(--ek-tiny)}
.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto;margin-bottom:32px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.woocommerce-account .woocommerce-MyAccount-navigation li{border:0;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:9px 16px;border:1px solid var(--ek-border);font-size:var(--ek-tiny);text-transform:uppercase;letter-spacing:.08em}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--ek-ink);color:#fff;border-color:var(--ek-ink)}
.woocommerce-account .woocommerce-MyAccount-content{float:none;width:100%}

/* WooCommerce layout wrappers */
.woocommerce .ek-woo{padding:20px 0}

/* WooCommerce pagination */
.woocommerce nav.woocommerce-pagination{margin-top:44px;text-align:center}
.woocommerce nav.woocommerce-pagination ul{border:0;display:inline-flex;gap:8px}
.woocommerce nav.woocommerce-pagination ul li{border:0;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
	min-width:40px;padding:9px 12px;border:1px solid var(--ek-border);font-size:var(--ek-small);line-height:1.4;border-radius:0;background:none;color:var(--ek-ink)
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--ek-ink);color:#fff;border-color:var(--ek-ink)}

/* ============================================================
   Gutenberg blocks
   ============================================================ */
.ek-content{width:100%;max-width:var(--ek-content);margin:0 auto;padding:0 24px}
.entry-content > *{max-width:none}
.ek-narrow-content .entry-content > *{max-width:var(--ek-content);margin-left:auto;margin-right:auto}
.ek-narrow-content .entry-content > .alignwide{max-width:var(--ek-wide)}
.ek-narrow-content .entry-content > .alignfull:not(.wp-block-group){max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}
.ek-wide-content .entry-content > *{max-width:var(--ek-wide);margin-left:auto;margin-right:auto}
.ek-wide-content .entry-content > .alignfull:not(.wp-block-group){max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}

.wp-block-image img{height:auto}
.wp-block-image.alignwide{max-width:var(--ek-wide)}
.wp-block-cover{min-height:480px;display:flex;align-items:center;overflow:hidden}
.wp-block-cover__inner-container{max-width:var(--ek-content);width:100%;margin:0 auto;padding:60px 24px}
.wp-block-cover h1,.wp-block-cover h2{font-size:clamp(30px,4vw,44px);font-weight:500;margin-bottom:.4em}
.wp-block-cover p{font-size:var(--ek-small);color:inherit}
.wp-block-separator{border:0;border-top:1px solid var(--ek-border);margin:2.4em auto;max-width:120px}
.wp-block-separator.is-style-wide{max-width:100%;border-color:var(--ek-border)}
.wp-block-quote{border-left:3px solid var(--ek-ink);padding-left:1.5em;font-size:1.1em}
.wp-block-quote.is-style-plain,.wp-block-quote.is-large{border:0;padding:0}
.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap}
.wp-block-button__link{border-radius:var(--ek-radius)!important}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent!important;color:var(--ek-ink)!important;box-shadow:inset 0 0 0 1px var(--ek-ink)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--ek-accent)!important;color:#fff!important}
.wp-block-group.has-background{padding:0}
.wp-block-columns{gap:32px}
.wp-block-latest-posts{list-style:none;padding:0}
.wp-block-latest-posts li{margin-bottom:18px}
.wp-block-table table{font-size:var(--ek-small)}
.wp-block-woocommerce-handpicked-products ul,.wp-block-woocommerce-product-best-sellers ul{list-style:none}

/* Centered section heading pattern (used by demo import) */
.ek-home-content{padding:0 0 24px}
.ek-home-content .entry-content > *{max-width:var(--ek-wide);margin-left:auto;margin-right:auto}
.ek-home-content .entry-content > .alignfull:not(.wp-block-group){max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}
.ek-home-content .entry-content > .alignwide{max-width:var(--ek-wide)}
.ek-heading{text-align:center;margin-bottom:12px}
.ek-subheading{text-align:center;color:var(--ek-muted);font-size:var(--ek-small);max-width:640px;margin:0 auto 46px}
.ek-heading--center{text-align:center}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:1080px){
	:root{--ek-space:60px;--ek-h1:36px;--ek-h2:28px;--ek-h3:24px}
	.woocommerce ul.products,.wc-block-grid.has-3-columns .wc-block-grid__products{grid-template-columns:repeat(2,1fr)}
	.ek-posts-grid--4{grid-template-columns:repeat(2,1fr)}
	.ek-layout-with-sidebar{grid-template-columns:1fr}
}
@media (max-width:860px){
	.ek-header__inner{grid-template-columns:auto 1fr auto;min-height:62px}
	.ek-header__nav{display:none}
	.ek-header__toggle{display:inline-flex}
	.ek-header__brand{justify-self:start;order:2;text-align:left}
	.ek-header__toggle{order:1;justify-self:start}
	.ek-header__actions{order:3}
	.ek-header__brand a{font-size:15px;letter-spacing:.3em;text-indent:.3em}
	.ek-footer__grid{grid-template-columns:1fr;gap:32px;padding:48px 0 36px}
	.ek-posts-grid{grid-template-columns:repeat(2,1fr);gap:34px 22px}
	.ek-post-card{text-align:left}
	.ek-post-card__thumb img{aspect-ratio:4/3}
}
@media (max-width:600px){
	:root{--ek-space:44px;--ek-h1:30px;--ek-h2:24px;--ek-h3:22px}
	/* 手机端增加左右留白 */
	.ek-container{padding-left:30px;padding-right:30px}
	.woocommerce ul.products,.wc-block-grid.has-3-columns .wc-block-grid__products,
	.wc-block-grid.has-4-columns .wc-block-grid__products,
	.wc-block-grid.has-2-columns .wc-block-grid__products{grid-template-columns:1fr}
	.ek-posts-grid{grid-template-columns:1fr}
	.ek-posts-grid--4{grid-template-columns:1fr}
	.ek-shop-toolbar{flex-direction:column;align-items:flex-start}
	.comment-form-author,.comment-form-email{display:block;width:100%}
	.comment-form-email{margin-left:0}
	.ek-footer__bottom-inner{justify-content:center;text-align:center}
	.wp-block-cover{min-height:360px}
}

/* ---------- Print & motion ---------- */
@media (prefers-reduced-motion:reduce){
	*{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
