/* =============================================
   ZANPU VER3 — MAIN CSS
   ============================================= */

/* ── TOP BAR ─────────────────────────────── */
.zanpu-topbar {
  background: var(--zanpu-white);
  border-bottom: 1px solid var(--zanpu-gray-light);
  font-size: 12px;
  padding: 6px 0;
}
.zanpu-topbar .container { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.zanpu-topbar__left { display: flex; align-items: center; gap: 16px; }
.zanpu-topbar__delivery { color: var(--zanpu-black); }
.zanpu-topbar__delivery strong { color: var(--zanpu-red); }
.zanpu-topbar__phone { color: var(--zanpu-gray); font-size: 11px; }

.zanpu-lang-switch { display: flex; align-items: center; gap: 6px; }
.zanpu-lang-switch__item { font-size: 11px; font-weight: 500; color: var(--zanpu-gray); letter-spacing: .04em; }
.zanpu-lang-switch__item.active { color: var(--zanpu-black); font-weight: 600; }

/* ── MAIN HEADER ─────────────────────────── */
.zanpu-header { position: sticky; top: 0; z-index: 1000; background: var(--zanpu-white); box-shadow: var(--shadow-sm); }
.zanpu-header__main { padding: 0; }
.zanpu-header__inner { display: flex; align-items: center; height: 64px; gap: 32px; }

.zanpu-logo { flex-shrink: 0; }
.zanpu-logo a { display: flex; align-items: center; }
.zanpu-logo__img { height: 44px; width: auto; object-fit: contain; }
.zanpu-logo__text { font-size: 22px; font-weight: 700; letter-spacing: .2em; color: var(--zanpu-black); text-transform: uppercase; font-family: var(--font-en); }

.zanpu-nav { flex: 1; display: flex; justify-content: center; }
.zanpu-nav__menu { display: flex; align-items: center; gap: 0; list-style: none; margin: 0; padding: 0; }
.zanpu-nav__menu li a { display: block; padding: 8px 16px; font-size: 12.5px; font-weight: 500; letter-spacing: .05em; color: var(--zanpu-black); transition: color var(--transition); white-space: nowrap; }
.zanpu-nav__menu li a:hover,
.zanpu-nav__menu li.current-menu-item > a { color: var(--zanpu-green); }
.zanpu-nav__menu li.zanpu-sale > a,
.zanpu-nav__menu li:last-child > a[href*="sale"] { color: var(--zanpu-red) !important; font-weight: 600; }

/* Dropdown */
.zanpu-nav__menu .sub-menu { position: absolute; top: 100%; left: 0; background: var(--zanpu-white); min-width: 200px; box-shadow: var(--shadow-md); border-top: 2px solid var(--zanpu-green); padding: 8px 0; opacity: 0; visibility: hidden; transition: all var(--transition); z-index: 100; }
.zanpu-nav__menu li:hover > .sub-menu { opacity: 1; visibility: visible; }
.zanpu-nav__menu li { position: relative; }
.zanpu-nav__menu .sub-menu li a { padding: 8px 20px; font-size: 12px; }

.zanpu-header__actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.zanpu-action-btn { background: none; border: none; cursor: pointer; padding: 6px; color: var(--zanpu-black); display: flex; align-items: center; justify-content: center; transition: color var(--transition); position: relative; }
.zanpu-action-btn:hover { color: var(--zanpu-green); }

.zanpu-cart-btn { position: relative; }
.zanpu-cart-count { position: absolute; top: -2px; right: -4px; background: var(--zanpu-green); color: var(--zanpu-white); font-size: 9px; font-weight: 700; width: 16px; height: 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center; line-height: 1; }

.zanpu-mobile-toggle { display: none; background: none; border: none; cursor: pointer; padding: 4px; flex-direction: column; gap: 5px; }
.zanpu-mobile-toggle span { display: block; width: 22px; height: 2px; background: var(--zanpu-black); border-radius: 2px; transition: all var(--transition); }

/* ── SEARCH BAR ─────────────────────────── */
.zanpu-search-bar { background: var(--zanpu-cream); padding: 16px 0; border-top: 1px solid var(--zanpu-gray-light); }
.zanpu-search-form { display: flex; align-items: center; gap: 12px; max-width: 560px; margin: 0 auto; }
.zanpu-search-form input[type="search"] { flex: 1; border: 1px solid var(--zanpu-gray-light); border-radius: var(--radius-pill); padding: 10px 20px; font-size: 14px; outline: none; font-family: var(--font-en); background: var(--zanpu-white); }
.zanpu-search-form input[type="search"]:focus { border-color: var(--zanpu-green); }
.zanpu-search-form button { background: none; border: none; cursor: pointer; color: var(--zanpu-black); display: flex; align-items: center; justify-content: center; padding: 6px; }
.zanpu-search-form button:hover { color: var(--zanpu-green); }

/* ── MOBILE MENU ────────────────────────── */
.zanpu-mobile-menu { position: fixed; top: 0; right: -320px; width: 300px; height: 100vh; background: var(--zanpu-white); z-index: 2000; transition: right .3s ease; overflow-y: auto; box-shadow: var(--shadow-lg); }
.zanpu-mobile-menu.is-open { right: 0; }
.zanpu-mobile-menu__inner { padding: 24px 20px; }
.zanpu-mobile-menu__close { background: none; border: none; cursor: pointer; color: var(--zanpu-black); padding: 4px; margin-bottom: 24px; display: block; }
.zanpu-mobile-menu__nav { list-style: none; margin: 0; padding: 0; }
.zanpu-mobile-menu__nav li { border-bottom: 1px solid var(--zanpu-gray-light); }
.zanpu-mobile-menu__nav li a { display: block; padding: 14px 0; font-size: 14px; font-weight: 500; color: var(--zanpu-black); }
.zanpu-mobile-menu__actions { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; }
.zanpu-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 1500; opacity: 0; visibility: hidden; transition: all var(--transition); }
.zanpu-overlay.is-active { opacity: 1; visibility: visible; }

/* ── HERO BANNER ────────────────────────── */
.zanpu-hero { width: 100%; }
.zanpu-hero__bg { min-height: 520px; background-size: cover; background-position: center top; background-repeat: no-repeat; display: flex; align-items: flex-end; padding-bottom: 60px; position: relative; }
.zanpu-hero__bg::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,.4) 0%, rgba(0,0,0,.1) 60%, transparent 100%); }
.zanpu-hero__content { position: relative; z-index: 1; max-width: 520px; }
.zanpu-hero__eyebrow { font-size: 13px; font-weight: 400; color: rgba(255,255,255,.9); letter-spacing: .08em; margin: 0 0 8px; }
.zanpu-hero__title { font-size: clamp(28px, 4vw, 52px); font-weight: 700; color: var(--zanpu-white); line-height: 1.1; margin: 0 0 24px; letter-spacing: .02em; text-transform: uppercase; }
.zanpu-hero__title em, .zanpu-hero__title strong { font-style: normal; }
.zanpu-hero__btns { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

/* ── SERVICE BAR ────────────────────────── */
.zanpu-service-bar { padding: 24px 0; background: var(--zanpu-white); border-bottom: 1px solid var(--zanpu-gray-light); }
.zanpu-service-bar__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.zanpu-service-item { display: flex; align-items: center; gap: 14px; }
.zanpu-service-item__icon { width: 56px; height: 56px; flex-shrink: 0; }
.zanpu-service-item__icon img { width: 100%; height: 100%; object-fit: contain; }
.zanpu-service-item__text { display: flex; flex-direction: column; }
.zanpu-service-item__text strong { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 2px; }
.zanpu-service-item__text span { font-size: 11px; color: var(--zanpu-gray); line-height: 1.4; }

/* ── MEMBERSHIP BANNER ───────────────────── */
.zanpu-membership-banner { padding: 8px 0 24px; }
.zanpu-membership-banner__inner { background: var(--zanpu-green); border-radius: var(--radius-md); padding: 20px 32px; display: flex; align-items: center; justify-content: space-between; gap: 16px; text-decoration: none !important; transition: opacity var(--transition); }
.zanpu-membership-banner__inner:hover { opacity: .92; }
.zanpu-membership-banner__text { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.zanpu-membership-banner__label { font-size: 12px; font-weight: 600; letter-spacing: .1em; color: rgba(255,255,255,.8); text-transform: uppercase; }
.zanpu-membership-banner__offer { font-size: clamp(20px, 3vw, 30px); font-weight: 700; color: var(--zanpu-white); }
.zanpu-membership-banner__offer strong { font-size: clamp(28px, 4vw, 40px); }

/* ── CATEGORY SECTION ───────────────────── */
.zanpu-category-section { padding: 48px 0; background: var(--zanpu-cream); overflow: hidden; }
.zanpu-category-section__inner { max-width: var(--max-width); margin: 0 auto; padding: 0 24px; display: flex; align-items: stretch; gap: 32px; }
.zanpu-category-section__label { display: flex; flex-direction: column; justify-content: center; gap: 20px; flex-shrink: 0; width: 160px; }
.zanpu-category-section__label h2 { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 0; }
.zanpu-category-section__nav { display: flex; align-items: center; gap: 8px; }
.zanpu-category-slider { display: flex; gap: 12px; overflow-x: hidden; flex: 1; }
.zanpu-category-card { flex: 0 0 auto; width: 200px; }
.zanpu-category-card__link { display: block; text-decoration: none; }
.zanpu-category-card__img-wrap { width: 100%; aspect-ratio: 3/4; overflow: hidden; background: var(--zanpu-gray-light); border-radius: var(--radius-sm); }
.zanpu-category-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.zanpu-category-card:hover .zanpu-category-card__img-wrap img { transform: scale(1.04); }
.zanpu-category-card__name { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; text-align: center; margin: 10px 0 0; color: var(--zanpu-black); }

/* ── PROMO DOUBLE BANNER ─────────────────── */
.zanpu-promo-double { padding: 0 0 32px; }
.zanpu-promo-double__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.zanpu-promo-card { position: relative; border-radius: var(--radius-sm); overflow: hidden; background-size: cover; background-position: center; min-height: 280px; display: flex; align-items: flex-end; }
.zanpu-promo-card::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.3); transition: background var(--transition); }
.zanpu-promo-card:hover::before { background: rgba(0,0,0,.4); }
.zanpu-promo-card__content { position: relative; z-index: 1; padding: 28px; }
.zanpu-promo-card__title { font-size: clamp(22px, 3vw, 40px); font-weight: 800; color: var(--zanpu-white); line-height: 1.1; margin: 0 0 16px; letter-spacing: .02em; }

/* ── SUSTAINABILITY BANNER ───────────────── */
.zanpu-sustain-banner { padding: 0 0 32px; }
.zanpu-sustain-banner__inner { border-radius: var(--radius-sm); overflow: hidden; background-size: cover; background-position: center; min-height: 240px; display: flex; align-items: center; padding: 40px 60px; position: relative; }
.zanpu-sustain-banner__inner::before { content: ''; position: absolute; inset: 0; background: rgba(255,255,255,.75); }
.zanpu-sustain-banner__content { position: relative; z-index: 1; max-width: 400px; }
.zanpu-sustain-banner__content h2 { font-size: clamp(20px, 2.5vw, 30px); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 12px; }
.zanpu-sustain-banner__content p { font-size: 13px; color: var(--zanpu-gray); line-height: 1.6; margin: 0; }

/* ── PRODUCT GRID ────────────────────────── */
.zanpu-products-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.zanpu-products-grid--4col { grid-template-columns: repeat(4, 1fr); }

.zanpu-product-card { position: relative; }
.zanpu-product-card__img-wrap { position: relative; overflow: hidden; background: var(--zanpu-gray-light); border-radius: var(--radius-sm); aspect-ratio: 3/4; }
.zanpu-product-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; display: block; }
.zanpu-product-card:hover .zanpu-product-card__img-wrap img { transform: scale(1.04); }

.zanpu-new-badge, .zanpu-sale-badge { position: absolute; top: 10px; left: 10px; z-index: 2; font-size: 10px; font-weight: 700; letter-spacing: .08em; padding: 3px 8px; border-radius: var(--radius-sm); line-height: 1.4; }
.zanpu-new-badge { background: var(--zanpu-green); color: var(--zanpu-white); }
.zanpu-sale-badge { background: var(--zanpu-red); color: var(--zanpu-white); top: 34px; }

.zanpu-wishlist-btn { position: absolute; bottom: 10px; right: 10px; z-index: 2; background: var(--zanpu-white); border: none; border-radius: 50%; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; cursor: pointer; opacity: 0; transition: all var(--transition); box-shadow: var(--shadow-sm); color: var(--zanpu-black); }
.zanpu-product-card:hover .zanpu-wishlist-btn { opacity: 1; }
.zanpu-wishlist-btn:hover { color: var(--zanpu-red); transform: scale(1.1); }
.zanpu-wishlist-btn.is-wishlisted { opacity: 1; color: var(--zanpu-red); }
.zanpu-wishlist-btn.is-wishlisted svg { fill: var(--zanpu-red); stroke: var(--zanpu-red); }

.zanpu-product-card__info { padding: 10px 4px 0; }
.zanpu-product-card__name { font-size: 12.5px; font-weight: 500; margin: 0 0 2px; line-height: 1.3; }
.zanpu-product-card__name a { color: var(--zanpu-black); }
.zanpu-product-card__name a:hover { color: var(--zanpu-green); }
.zanpu-product-card__sku { font-size: 11px; color: var(--zanpu-gray); margin: 0 0 4px; }
.zanpu-product-card__price { font-size: 13px; font-weight: 600; color: var(--zanpu-black); }

.zanpu-card-swatches { display: flex; gap: 4px; margin-top: 6px; flex-wrap: wrap; }
.zanpu-swatch { display: inline-block; width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid rgba(0,0,0,.15); cursor: pointer; transition: transform var(--transition); }
.zanpu-swatch:hover { transform: scale(1.2); }

/* Common color swatches */
.zanpu-swatch--black, .zanpu-swatch--ดำ  { background: #1a1a1a; }
.zanpu-swatch--white, .zanpu-swatch--ขาว  { background: #fff; border-color: #ccc; }
.zanpu-swatch--red, .zanpu-swatch--แดง   { background: #c0392b; }
.zanpu-swatch--green, .zanpu-swatch--เขียว { background: #3A5648; }
.zanpu-swatch--navy, .zanpu-swatch--กรม  { background: #1b3a6b; }
.zanpu-swatch--brown, .zanpu-swatch--น้ำตาล { background: #8B5E3C; }
.zanpu-swatch--grey, .zanpu-swatch--gray, .zanpu-swatch--เทา { background: #888; }
.zanpu-swatch--cream, .zanpu-swatch--ครีม { background: #F5F0E8; border-color: #ccc; }
.zanpu-swatch--yellow, .zanpu-swatch--เหลือง { background: #E3B341; }
.zanpu-swatch--blue, .zanpu-swatch--น้ำเงิน  { background: #2B6CB0; }

/* ── SLIDER BUTTONS ─────────────────────── */
.zanpu-slider-prev, .zanpu-slider-next { background: var(--zanpu-white); border: 1.5px solid var(--zanpu-gray-light); border-radius: 50%; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; transition: all var(--transition); color: var(--zanpu-black); }
.zanpu-slider-prev:hover, .zanpu-slider-next:hover { background: var(--zanpu-green); border-color: var(--zanpu-green); color: var(--zanpu-white); }

/* ── NEW ARRIVALS ────────────────────────── */
.zanpu-new-arrivals { padding: 48px 0; }
.zanpu-products-slider-wrap { display: flex; align-items: center; gap: 16px; }
.zanpu-products-slider { flex: 1; display: flex; gap: 16px; overflow: hidden; }
.zanpu-products-slider .zanpu-product-card { flex: 0 0 calc(25% - 12px); }

/* ── STYLE GUIDE ─────────────────────────── */
.zanpu-style-guide { padding: 0 0 56px; background: var(--zanpu-green); color: var(--zanpu-white); }
.zanpu-style-guide__title { color: var(--zanpu-white); padding-top: 48px; }
.zanpu-style-guide__inner { display: flex; align-items: center; gap: 16px; }
.zanpu-style-guide__slider { flex: 1; display: flex; gap: 12px; overflow: hidden; }
.zanpu-style-guide__item { flex: 0 0 auto; width: 260px; }
.zanpu-style-guide__item img { width: 100%; height: 180px; object-fit: cover; border-radius: var(--radius-sm); }
.zanpu-style-guide__placeholder { width: 100%; height: 180px; border-radius: var(--radius-sm); background: rgba(255,255,255,.1); }
.zanpu-style-guide__desc { max-width: 600px; margin: 32px auto 0; text-align: center; }
.zanpu-style-guide__desc h3 { font-size: 20px; font-weight: 600; margin: 0 0 12px; }
.zanpu-style-guide__desc p { font-size: 13px; line-height: 1.7; opacity: .85; margin-bottom: 24px; }

.zanpu-style-guide .zanpu-slider-prev,
.zanpu-style-guide .zanpu-slider-next { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.3); color: var(--zanpu-white); }
.zanpu-style-guide .zanpu-slider-prev:hover,
.zanpu-style-guide .zanpu-slider-next:hover { background: rgba(255,255,255,.3); }

/* ── REVIEWS ─────────────────────────────── */
.zanpu-reviews { padding: 56px 0; background: var(--zanpu-cream-dark); }
.zanpu-reviews__slider-wrap { display: flex; align-items: center; gap: 16px; margin-top: 32px; }
.zanpu-reviews__slider { flex: 1; display: flex; gap: 16px; overflow: hidden; }

.zanpu-review-card { background: var(--zanpu-gold); border-radius: var(--radius-md); padding: 24px; flex: 0 0 calc(33.333% - 11px); min-width: 0; }
.zanpu-review-card:nth-child(3n+2) { background: var(--zanpu-green); }
.zanpu-review-card__header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.zanpu-review-card__avatar img, .zanpu-avatar-placeholder { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.zanpu-avatar-placeholder { background: rgba(255,255,255,.3); }
.zanpu-review-card__header strong { font-size: 13px; font-weight: 600; color: var(--zanpu-white); display: block; margin-bottom: 4px; }
.zanpu-stars { display: flex; gap: 2px; }
.zanpu-review-card__text { font-size: 12px; color: rgba(255,255,255,.9); line-height: 1.6; margin: 0; }

/* ── NEWSLETTER ─────────────────────────── */
.zanpu-newsletter { background: var(--zanpu-green); padding: 48px 0; }
.zanpu-newsletter__inner { text-align: center; max-width: 560px; margin: 0 auto; }
.zanpu-newsletter h3 { font-size: clamp(18px, 2.5vw, 26px); font-weight: 600; color: var(--zanpu-white); margin: 0 0 24px; }
.zanpu-newsletter__form { display: flex; gap: 0; border-radius: var(--radius-sm); overflow: hidden; background: var(--zanpu-white); box-shadow: var(--shadow-sm); }
.zanpu-newsletter__form input { flex: 1; border: none; padding: 14px 20px; font-size: 14px; outline: none; font-family: var(--font-en); background: transparent; }
.zanpu-newsletter__form .btn { border-radius: 0; }
.zanpu-newsletter__msg { font-size: 13px; color: rgba(255,255,255,.9); margin-top: 12px; }

/* ── FOOTER ──────────────────────────────── */
.zanpu-footer { }
.zanpu-footer__main { background: var(--zanpu-cream); padding: 48px 0; }
.zanpu-footer__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
.zanpu-footer__heading { font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; margin: 0 0 16px; color: var(--zanpu-black); }
.zanpu-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.zanpu-footer__links li a { font-size: 12px; color: var(--zanpu-gray); transition: color var(--transition); }
.zanpu-footer__links li a:hover { color: var(--zanpu-green); }
.zanpu-footer__faq-link { display: inline-block; margin-top: 12px; font-size: 12px; font-weight: 700; color: var(--zanpu-black); text-decoration: underline; }
.zanpu-footer__address { font-size: 12px; color: var(--zanpu-gray); font-style: normal; line-height: 1.7; margin-bottom: 12px; }
.zanpu-footer__address p { margin: 0; }
.zanpu-footer__store-link { display: inline-block; font-size: 12px; font-weight: 700; color: var(--zanpu-black); text-decoration: none; letter-spacing: .08em; text-transform: uppercase; }
.zanpu-footer__store-link:hover { color: var(--zanpu-green); }
.zanpu-footer__email { font-size: 12px; color: var(--zanpu-gray); }
.zanpu-footer__email:hover { color: var(--zanpu-green); }
.zanpu-footer__social { margin-top: 20px; }
.zanpu-footer__social h5 { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 10px; }
.zanpu-footer__social-icons { display: flex; gap: 10px; }
.zanpu-social-link { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1.5px solid var(--zanpu-gray-light); border-radius: 50%; color: var(--zanpu-black); transition: all var(--transition); }
.zanpu-social-link:hover { background: var(--zanpu-green); border-color: var(--zanpu-green); color: var(--zanpu-white); }

.zanpu-footer__bottom { background: var(--zanpu-cream-dark); padding: 14px 0; }
.zanpu-footer__copyright { font-size: 11px; color: var(--zanpu-gray); margin: 0; text-align: center; }

/* ── PAGE WRAP ───────────────────────────── */
#zanpu-page-wrap { min-height: 60vh; }

/* ── PLACEHOLDER ─────────────────────────── */
.zanpu-placeholder-bg { background: var(--zanpu-gray-light); }

/* ── SHOP PAGE ───────────────────────────── */
.zanpu-shop-main { padding-bottom: 0; }
.zanpu-shop-hero { height: 240px; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; }
.zanpu-shop-hero h1, .zanpu-shop-hero--no-img h1 { font-size: 28px; font-weight: 700; letter-spacing: .2em; color: var(--zanpu-black); text-align: center; }
.zanpu-woo-wrapper { padding: 40px 0; }

.zanpu-shop-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; gap: 16px; }
.zanpu-shop-toolbar__title { font-size: 22px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; margin: 0; }
.zanpu-shop-toolbar__right { display: flex; align-items: center; gap: 12px; }

.zanpu-filter-bar { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 32px; padding: 16px; background: var(--zanpu-cream); border-radius: var(--radius-md); }
.zanpu-filter-group { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.zanpu-filter-group__label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--zanpu-black); white-space: nowrap; }
.zanpu-filter-chip { font-size: 11px; padding: 4px 12px; border: 1.5px solid var(--zanpu-gray-light); border-radius: var(--radius-pill); color: var(--zanpu-black); background: var(--zanpu-white); transition: all var(--transition); cursor: pointer; }
.zanpu-filter-chip:hover, .zanpu-filter-chip.active { background: var(--zanpu-green); border-color: var(--zanpu-green); color: var(--zanpu-white); }

.zanpu-pagination { margin-top: 40px; display: flex; justify-content: center; }

/* ── SINGLE PRODUCT ─────────────────────── */
.zanpu-single-product { padding: 40px 0 0; }
.zanpu-product-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }

.zanpu-product-gallery { display: flex; gap: 16px; }
.zanpu-product-gallery__thumbs { display: flex; flex-direction: column; gap: 10px; width: 80px; flex-shrink: 0; }
.zanpu-product-gallery__thumb { width: 80px; height: 100px; overflow: hidden; border-radius: var(--radius-sm); cursor: pointer; border: 2px solid transparent; transition: border-color var(--transition); }
.zanpu-product-gallery__thumb:hover, .zanpu-product-gallery__thumb.active { border-color: var(--zanpu-green); }
.zanpu-product-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.zanpu-product-gallery__main { flex: 1; }
.zanpu-product-gallery__main-img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: var(--radius-sm); }

.zanpu-product-info__name { font-size: clamp(18px, 2.5vw, 26px); font-weight: 600; margin: 0 0 4px; line-height: 1.3; }
.zanpu-product-info__sku { font-size: 12px; color: var(--zanpu-gray); margin: 0 0 12px; }
.zanpu-product-info__short-desc { font-size: 13px; color: var(--zanpu-gray); line-height: 1.6; margin-bottom: 16px; }
.zanpu-product-info__price { margin-bottom: 20px; }
.zanpu-price-current, .zanpu-price-sale { font-size: 28px; font-weight: 700; color: var(--zanpu-black); }
.zanpu-price-original { font-size: 18px; color: var(--zanpu-gray); text-decoration: line-through; margin-right: 12px; }

.zanpu-variation-group { margin-bottom: 16px; }
.zanpu-variation-group label { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; display: block; margin-bottom: 8px; }
.zanpu-swatch-group { display: flex; gap: 8px; flex-wrap: wrap; }
.zanpu-swatch-lg { display: inline-block; width: 28px; height: 28px; border-radius: 50%; border: 2px solid transparent; cursor: pointer; transition: all var(--transition); outline: 2px solid transparent; outline-offset: 2px; }
.zanpu-swatch-lg:hover { outline-color: var(--zanpu-green); }
.zanpu-swatch-lg.active { outline-color: var(--zanpu-black); }
.zanpu-size-group { display: flex; gap: 8px; flex-wrap: wrap; }
.zanpu-size-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1.5px solid var(--zanpu-gray-light); border-radius: var(--radius-sm); font-size: 12px; font-weight: 600; cursor: pointer; transition: all var(--transition); background: var(--zanpu-white); }
.zanpu-size-btn:hover, .zanpu-size-btn.active { background: var(--zanpu-black); border-color: var(--zanpu-black); color: var(--zanpu-white); }
.zanpu-size-btn.disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }

.zanpu-add-to-cart-row { display: flex; gap: 12px; align-items: center; margin: 20px 0; }
.zanpu-quantity { display: flex; align-items: center; border: 1.5px solid var(--zanpu-gray-light); border-radius: var(--radius-sm); overflow: hidden; }
.zanpu-qty-btn { background: none; border: none; width: 36px; height: 44px; cursor: pointer; font-size: 18px; display: flex; align-items: center; justify-content: center; transition: background var(--transition); }
.zanpu-qty-btn:hover { background: var(--zanpu-gray-light); }
.zanpu-qty-input { width: 52px; height: 44px; border: none; border-left: 1.5px solid var(--zanpu-gray-light); border-right: 1.5px solid var(--zanpu-gray-light); text-align: center; font-size: 14px; font-weight: 600; outline: none; }
.zanpu-atc-btn { flex: 1; height: 44px; padding: 0 24px; }

.zanpu-product-info__badges { display: flex; gap: 20px; margin: 20px 0; }
.zanpu-eco-badge { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--zanpu-gray); }
.zanpu-eco-badge img { flex-shrink: 0; }

.zanpu-product-info__tabs { margin-top: 24px; border-top: 1px solid var(--zanpu-gray-light); }
.zanpu-accordion-item { border-bottom: 1px solid var(--zanpu-gray-light); }
.zanpu-accordion-trigger { width: 100%; background: none; border: none; display: flex; align-items: center; justify-content: space-between; padding: 14px 0; font-size: 13px; font-weight: 600; cursor: pointer; text-align: left; font-family: var(--font-en); color: var(--zanpu-black); }
.zanpu-accordion-trigger svg { transition: transform var(--transition); flex-shrink: 0; }
.zanpu-accordion-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.zanpu-accordion-content { padding: 0 0 16px; font-size: 13px; color: var(--zanpu-gray); line-height: 1.7; }

.zanpu-related-products { padding: 56px 0; background: var(--zanpu-cream); }

/* ── CHECKOUT ────────────────────────────── */
.zanpu-checkout-main { padding: 40px 0 60px; }
.zanpu-checkout-title { font-size: 28px; font-weight: 600; letter-spacing: .2em; text-align: center; text-transform: uppercase; margin-bottom: 32px; }
.zanpu-checkout-coupon-banner { display: grid; grid-template-columns: 1fr 1fr; border-radius: var(--radius-md); overflow: hidden; margin-bottom: 32px; }
.zanpu-checkout-coupon-banner__left { background: var(--zanpu-green); background-size: cover; background-position: center; min-height: 120px; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; }
.zanpu-checkout-coupon-banner__left h2 { font-size: 36px; font-weight: 900; color: var(--zanpu-white); margin: 0 0 4px; line-height: 1; }
.zanpu-checkout-coupon-banner__left p { font-size: 11px; color: rgba(255,255,255,.7); margin: 0; }
.zanpu-checkout-coupon-banner__right { background: var(--zanpu-white); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; text-align: center; border: 1.5px solid var(--zanpu-gray-light); border-left: none; border-radius: 0 var(--radius-md) var(--radius-md) 0; }
.zanpu-checkout-coupon-banner__right p { font-size: 12px; color: var(--zanpu-gray); margin: 0 0 4px; }
.zanpu-checkout-coupon-banner__amount { font-size: 48px; font-weight: 900; color: var(--zanpu-black); line-height: 1; }
.zanpu-checkout-coupon-banner__amount span { font-size: 18px; font-weight: 600; vertical-align: top; margin-top: 10px; display: inline-block; }
.zanpu-checkout-coupon-banner__code { display: flex; align-items: center; gap: 8px; margin-top: 12px; border: 1.5px solid var(--zanpu-gray-light); border-radius: var(--radius-sm); padding: 6px 14px; }
.zanpu-checkout-coupon-banner__code span { font-size: 11px; color: var(--zanpu-gray); }
.zanpu-checkout-coupon-banner__code strong { font-size: 16px; font-weight: 700; letter-spacing: .1em; }

.zanpu-checkout-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.zanpu-checkout-section-title { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 24px 0 16px; }
.zanpu-checkout-fields .form-row { margin-bottom: 12px; }
.zanpu-checkout-fields input { width: 100%; padding: 11px 14px; border: 1.5px solid var(--zanpu-gray-light); border-radius: var(--radius-sm); font-size: 13px; outline: none; font-family: var(--font-en); transition: border-color var(--transition); }
.zanpu-checkout-fields input:focus { border-color: var(--zanpu-green); }
.zanpu-checkout-login-notice { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; font-size: 13px; border-bottom: 1px solid var(--zanpu-gray-light); margin-bottom: 16px; }
.zanpu-checkout-login-notice a { color: var(--zanpu-green); font-weight: 600; }
.zanpu-checkout-login-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.zanpu-checkout-login-fields input { padding: 11px 14px; border: 1.5px solid var(--zanpu-gray-light); border-radius: var(--radius-sm); font-size: 13px; outline: none; font-family: var(--font-en); }

.zanpu-checkout-item { display: flex; gap: 12px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--zanpu-gray-light); }
.zanpu-checkout-item__img img { border-radius: var(--radius-sm); }
.zanpu-checkout-item__info { flex: 1; }
.zanpu-checkout-item__name { font-size: 13px; font-weight: 600; margin: 0 0 2px; }
.zanpu-checkout-item__sku { font-size: 11px; color: var(--zanpu-gray); margin: 0 0 8px; }
.zanpu-checkout-item__qty-price { display: flex; align-items: center; justify-content: space-between; }
.zanpu-qty-mini { display: flex; align-items: center; gap: 8px; }
.zanpu-qty-mini .zanpu-qty-btn { background: var(--zanpu-gray-light); border: none; border-radius: 50%; width: 24px; height: 24px; font-size: 14px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.zanpu-checkout-item__price { font-size: 14px; font-weight: 700; }
.zanpu-checkout-item__remove { background: none; border: none; cursor: pointer; color: var(--zanpu-gray); padding: 4px; flex-shrink: 0; }
.zanpu-checkout-item__remove:hover { color: var(--zanpu-red); }

.zanpu-checkout-coupon { display: flex; gap: 0; margin: 20px 0; border: 1.5px solid var(--zanpu-gray-light); border-radius: var(--radius-sm); overflow: hidden; }
.zanpu-checkout-coupon input { flex: 1; border: none; padding: 12px 16px; font-size: 13px; outline: none; }
.zanpu-checkout-coupon .btn { border-radius: 0; }

.zanpu-checkout-totals { width: 100%; border-collapse: collapse; margin: 16px 0; }
.zanpu-checkout-totals th, .zanpu-checkout-totals td { padding: 10px 0; font-size: 13px; }
.zanpu-checkout-totals th { font-weight: 600; text-align: left; letter-spacing: .06em; }
.zanpu-checkout-totals td { text-align: right; font-weight: 600; }
.zanpu-checkout-totals tr { border-bottom: 1px solid var(--zanpu-gray-light); }
.zanpu-checkout-totals__total th, .zanpu-checkout-totals__total td { font-size: 18px; font-weight: 700; border-bottom: none; }
.zanpu-checkout-trust { display: flex; gap: 20px; margin-top: 20px; flex-wrap: wrap; }
.zanpu-trust-item { display: flex; align-items: center; gap: 10px; flex: 1 1 200px; }
.zanpu-trust-item div { display: flex; flex-direction: column; }
.zanpu-trust-item strong { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.zanpu-trust-item span { font-size: 11px; color: var(--zanpu-gray); }
.zanpu-place-order-btn { width: 100%; margin-top: 16px; }

.zanpu-payment-methods { list-style: none; margin: 0; padding: 0; }
.zanpu-checkout-payment .woocommerce-checkout-payment { background: none; }
.zanpu-checkout-payment .payment_method_kbank_payment_gateway,
.zanpu-checkout-payment .payment_method_stripe,
.zanpu-checkout-payment .payment_method_cod { border: 1.5px solid var(--zanpu-gray-light); border-radius: var(--radius-sm); margin-bottom: 10px; padding: 14px; background: var(--zanpu-white); }
.zanpu-checkout-payment .payment_box { padding: 12px 0 4px; }

.zanpu-checkbox-label { display: flex; align-items: center; gap: 8px; font-size: 13px; cursor: pointer; margin-bottom: 12px; }
.zanpu-checkbox-label input { width: 16px; height: 16px; accent-color: var(--zanpu-green); cursor: pointer; }

/* ── MEMBERSHIP PAGE ─────────────────────── */
.zanpu-membership-main { }
.zanpu-membership-hero { min-height: 400px; background-size: cover; background-position: center; display: flex; align-items: center; padding: 60px 0; }
.zanpu-membership-hero__inner { background: var(--zanpu-green); border-radius: var(--radius-md); padding: 40px 48px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.zanpu-membership-hero__text h1 { font-size: clamp(28px, 4vw, 48px); font-weight: 800; color: var(--zanpu-white); text-transform: uppercase; line-height: 1.1; margin: 0 0 16px; }
.zanpu-membership-hero__text p { font-size: 13px; color: rgba(255,255,255,.85); line-height: 1.7; margin: 0; }
.zanpu-membership-hero__perks { display: flex; flex-direction: column; gap: 24px; }
.zanpu-membership-perk { display: flex; align-items: center; gap: 20px; border-left: 4px solid var(--zanpu-gold); padding-left: 20px; }
.zanpu-membership-perk div { display: flex; flex-direction: column; gap: 4px; }
.zanpu-membership-perk__highlight { font-size: 28px; font-weight: 800; color: var(--zanpu-gold); }
.zanpu-membership-perk span { font-size: 13px; color: rgba(255,255,255,.75); }

/* ── SUSTAINABILITY PAGE ─────────────────── */
.zanpu-sustain-main { }
.zanpu-sustain-hero { min-height: 400px; background-size: cover; background-position: center; display: flex; align-items: flex-end; padding-bottom: 60px; position: relative; }
.zanpu-sustain-hero::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.35); }
.zanpu-sustain-hero__content { position: relative; z-index: 1; }
.zanpu-sustain-hero__content h1 { font-size: clamp(24px, 3.5vw, 48px); font-weight: 700; color: var(--zanpu-white); margin: 0 0 8px; text-transform: uppercase; }
.zanpu-sustain-hero__content p { font-size: 14px; color: rgba(255,255,255,.85); margin: 0; }
.zanpu-sustain-content { padding: 56px 0; }
.zanpu-sustain-content__inner { max-width: 760px; margin: 0 auto; }
.zanpu-sustain-content__title { font-size: clamp(24px, 3vw, 40px); font-weight: 700; line-height: 1.2; margin: 0 0 24px; }
.zanpu-sustain-content__text { font-size: 14px; color: var(--zanpu-gray); line-height: 1.8; }
.zanpu-sustain-process { padding: 40px 0 60px; background: var(--zanpu-cream); }
.zanpu-sustain-process__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 32px; }
.zanpu-sustain-process__item { background: var(--zanpu-white); padding: 24px; border-radius: var(--radius-md); }
.zanpu-sustain-process__item h3 { font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 8px; color: var(--zanpu-green); }
.zanpu-sustain-process__item p { font-size: 13px; color: var(--zanpu-gray); line-height: 1.6; margin: 0; }

/* ── COLLECTION PAGE ─────────────────────── */
.zanpu-collection-header { padding: 48px 0 24px; text-align: center; }
.zanpu-collection-header h1 { font-size: 28px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; margin: 0 0 12px; }
.zanpu-collection-mosaic { padding: 0 0 40px; }
.zanpu-collection-mosaic__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.zanpu-collection-mosaic__item img { width: 100%; height: 320px; object-fit: cover; border-radius: var(--radius-sm); }
.zanpu-collection-mosaic__item--1 { grid-column: span 1; }
.zanpu-collection-mosaic__item--2 { grid-column: span 1; }

.zanpu-seasonal-collections { padding: 0 0 56px; }
.zanpu-seasonal-collections__slider-wrap { display: flex; align-items: center; gap: 16px; }
.zanpu-seasonal-collections__slider { flex: 1; display: flex; gap: 20px; overflow: hidden; }
.zanpu-seasonal-card { flex: 0 0 calc(25% - 15px); min-width: 0; }
.zanpu-seasonal-card__img-wrap { aspect-ratio: 3/4; overflow: hidden; border-radius: var(--radius-sm); }
.zanpu-seasonal-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.zanpu-seasonal-card:hover .zanpu-seasonal-card__img-wrap img { transform: scale(1.04); }
.zanpu-seasonal-card__info { padding: 12px 0; }
.zanpu-seasonal-card__info h3 { font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 8px; }
.zanpu-seasonal-card__info p { font-size: 12px; color: var(--zanpu-gray); margin: 0 0 10px; }

.zanpu-exclusive-collection { padding: 0 0 56px; }
.zanpu-exclusive-collection__inner { border-radius: var(--radius-sm); overflow: hidden; background-size: cover; background-position: center; min-height: 360px; display: flex; align-items: center; position: relative; }
.zanpu-exclusive-collection__inner::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.zanpu-exclusive-collection__content { position: relative; z-index: 1; padding: 48px; }
.zanpu-exclusive-collection__label { font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,.7); display: block; margin-bottom: 8px; }
.zanpu-exclusive-collection__content h2 { font-size: clamp(36px, 5vw, 64px); font-weight: 900; color: var(--zanpu-white); line-height: 1; margin: 0 0 16px; text-transform: uppercase; }
.zanpu-exclusive-collection__content h2 small { font-size: 40%; display: block; font-weight: 500; letter-spacing: .2em; }
.zanpu-exclusive-collection__content p { font-size: 13px; color: rgba(255,255,255,.8); line-height: 1.6; max-width: 400px; margin: 0 0 24px; }

/* ── BLOG ────────────────────────────────── */
.zanpu-blog-single { max-width: 800px; margin: 0 auto; padding: 40px 0; }
.zanpu-blog-single__hero img { width: 100%; height: 360px; object-fit: cover; border-radius: var(--radius-sm); margin-bottom: 32px; }
.zanpu-blog-single__title { font-size: clamp(22px, 3vw, 36px); font-weight: 700; margin: 0 0 12px; line-height: 1.3; }
.zanpu-blog-single__meta { display: flex; gap: 16px; font-size: 12px; color: var(--zanpu-gray); margin-bottom: 24px; }
.zanpu-blog-single__body { font-size: 15px; line-height: 1.8; color: var(--zanpu-black); }
.zanpu-blog-single__body p { margin-bottom: 20px; }

.zanpu-related-posts { padding: 56px 0; background: var(--zanpu-cream); }
.zanpu-related-posts__slider-wrap { display: flex; align-items: center; gap: 16px; }
.zanpu-blog-grid { flex: 1; display: flex; gap: 16px; overflow: hidden; }
.zanpu-blog-card { flex: 0 0 calc(33.333% - 11px); }
.zanpu-blog-card__img-link img { width: 100%; height: 200px; object-fit: cover; border-radius: var(--radius-sm); }
.zanpu-blog-card__placeholder { width: 100%; height: 200px; border-radius: var(--radius-sm); }
.zanpu-blog-card__info { padding: 12px 0 0; }
.zanpu-blog-card__info h3 { font-size: 14px; font-weight: 600; margin: 0 0 6px; }
.zanpu-blog-card__info h3 a { color: var(--zanpu-black); }
.zanpu-blog-card__info h3 a:hover { color: var(--zanpu-green); }
.zanpu-blog-card__info p { font-size: 12px; color: var(--zanpu-gray); line-height: 1.6; margin: 0; }
.zanpu-related-posts__read-more { margin-top: 32px; text-align: center; max-width: 560px; margin-left: auto; margin-right: auto; }
.zanpu-related-posts__read-more p { font-size: 13px; color: var(--zanpu-gray); line-height: 1.7; margin-bottom: 16px; }

.zanpu-blog-services { padding: 32px 0; background: var(--zanpu-white); }
.zanpu-blog-services .zanpu-service-bar__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

/* ── SORT ────────────────────────────────── */
.woocommerce-ordering select { border: 1.5px solid var(--zanpu-gray-light); border-radius: var(--radius-sm); padding: 8px 12px; font-size: 12px; outline: none; font-family: var(--font-en); cursor: pointer; }
.woocommerce-ordering select:focus { border-color: var(--zanpu-green); }

/* ── WC NOTICES ─────────────────────────── */
.woocommerce-message, .woocommerce-error, .woocommerce-info { border-radius: var(--radius-sm); padding: 14px 20px; margin-bottom: 20px; font-size: 13px; }
.woocommerce-message { background: #e8f5e9; border-left: 4px solid #4CAF50; }
.woocommerce-error { background: #fdecea; border-left: 4px solid #f44336; }
.woocommerce-info { background: #e3f2fd; border-left: 4px solid #2196F3; }

/* ── EMPTY STATES ────────────────────────── */
.zanpu-empty-state, .zanpu-empty { padding: 60px 20px; text-align: center; color: var(--zanpu-gray); }

/* =============================================
   ADDITIONS — Missing selectors (QA pass)
   ============================================= */

/* ── GLOBAL PAGE WRAPPERS ───────────────── */
.zanpu-main { display: block; }
.zanpu-home-main, .zanpu-shop-main, .zanpu-page-main,
.zanpu-blog-single-main, .zanpu-checkout-main,
.zanpu-membership-main, .zanpu-sustain-main,
.zanpu-collection-main, .zanpu-single-product { display: block; }

/* ── DEFAULT PAGE ────────────────────────── */
.zanpu-page-content { max-width: 800px; margin: 0 auto; padding: 48px 0; }
.zanpu-page-title { font-size: clamp(22px, 3vw, 36px); font-weight: 600; margin: 0 0 24px; letter-spacing: .04em; text-transform: uppercase; }
.zanpu-page-body { font-size: 14px; line-height: 1.8; color: var(--zanpu-black); }
.zanpu-page-body p { margin-bottom: 16px; }
.zanpu-page-links { display: flex; gap: 8px; margin: 24px 0; }
.zanpu-page-links a { font-size: 13px; color: var(--zanpu-green); }

/* ── TOPBAR ──────────────────────────────── */
.zanpu-topbar__right { display: flex; align-items: center; gap: 16px; }

/* ── HEADER BUTTONS ─────────────────────── */
.zanpu-search-toggle, .zanpu-search-close { }

/* ── SORT WRAP ───────────────────────────── */
.zanpu-sort-wrap { display: flex; align-items: center; }
.zanpu-sort-wrap .woocommerce-ordering { margin: 0; }

/* ── FILTER GROUP ITEMS ──────────────────── */
.zanpu-filter-group__items { display: flex; flex-wrap: wrap; gap: 6px; }
.zanpu-filter-toggle { } /* Already covered by .btn */

/* ── PROMO CARD VARIANTS ─────────────────── */
.zanpu-promo-card--sale { }   /* Inherits .zanpu-promo-card */
.zanpu-promo-card--online { } /* Inherits .zanpu-promo-card */

/* ── REVIEW CARD STATES ──────────────────── */
.zanpu-review-card--active { box-shadow: var(--shadow-sm); }

/* ── FOOTER COLUMN ───────────────────────── */
.zanpu-footer__col { } /* Inherits .zanpu-footer__grid > * */

/* ── COLLECTION PAGE ─────────────────────── */
.zanpu-collection-header__subtitle { font-size: 14px; color: var(--zanpu-gray); text-align: center; max-width: 560px; margin: 0 auto; }

/* ── PRODUCT INFO ────────────────────────── */
.zanpu-product-info { display: flex; flex-direction: column; }
.zanpu-product-info__add-to-cart { }
.zanpu-product-info__attrs { margin-bottom: 12px; }
.zanpu-product-info__color-label { font-size: 12px; font-weight: 600; margin-bottom: 8px; }
.zanpu-product-info__color-label span { font-weight: 400; color: var(--zanpu-gray); }
.zanpu-product-info__variations { margin-bottom: 16px; }

/* ── QUANTITY BUTTONS ────────────────────── */
/* .zanpu-qty-minus / .zanpu-qty-plus are children of .zanpu-quantity */
/* These selectors exist for JS-hook only; visual styles from .zanpu-qty-btn */
.zanpu-qty-minus, .zanpu-qty-plus { }

/* ── CHECKOUT LAYOUT ─────────────────────── */
.zanpu-checkout-form { width: 100%; }
.zanpu-checkout-left  { min-width: 0; }
.zanpu-checkout-right { min-width: 0; position: sticky; top: 80px; }
.zanpu-checkout-additional { margin: 16px 0; }
.zanpu-checkout-order-items { margin-bottom: 16px; }
.zanpu-checkout-place-order { }
.zanpu-cart-form { width: 100%; }

/* ── BLOG SINGLE ─────────────────────────── */
.zanpu-blog-single__content { } /* Inherits .zanpu-blog-single children */

/* ── BLOG ARCHIVE ────────────────────────── */
.zanpu-blog-archive-main { }
.zanpu-blog-archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; padding: 40px 0; }
.zanpu-blog-archive-item { }
.zanpu-blog-archive-item__img-link img { width: 100%; height: 220px; object-fit: cover; border-radius: var(--radius-sm); }
.zanpu-blog-archive-item__placeholder { width: 100%; height: 220px; border-radius: var(--radius-sm); }
.zanpu-blog-archive-item__meta { display: flex; gap: 12px; font-size: 11px; color: var(--zanpu-gray); margin: 12px 0 6px; }
.zanpu-blog-archive-item__title { font-size: 16px; font-weight: 600; margin: 0 0 8px; line-height: 1.3; }
.zanpu-blog-archive-item__title a { color: var(--zanpu-black); }
.zanpu-blog-archive-item__title a:hover { color: var(--zanpu-green); }
.zanpu-blog-archive-item__excerpt { font-size: 13px; color: var(--zanpu-gray); line-height: 1.6; margin: 0 0 16px; }

/* ── NEW ARRIVALS PAGE ──────────────────── */
.zanpu-new-arrivals-main { }
.zanpu-new-arrivals-intro { padding: 40px 0 24px; text-align: center; }
.zanpu-new-arrivals-intro__title { font-size: 22px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 12px; }
.zanpu-new-arrivals-intro__desc { font-size: 13px; color: var(--zanpu-gray); line-height: 1.7; max-width: 640px; margin: 0 auto; }
.zanpu-new-arrivals-footer-banner { min-height: 280px; background-size: cover; background-position: center; display: flex; align-items: center; position: relative; }
.zanpu-new-arrivals-footer-banner::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.35); }
.zanpu-new-arrivals-footer-banner .container { position: relative; z-index: 1; }
.zanpu-new-arrivals-footer-banner__content h2 { font-size: clamp(24px, 4vw, 48px); font-weight: 700; color: var(--zanpu-white); text-transform: uppercase; margin: 0 0 8px; }
.zanpu-new-arrivals-footer-banner__content p { font-size: 16px; color: rgba(255,255,255,.8); margin: 0; }
