/* Product page additions: section menu, seller card, ratings summary, more from this store. */
.ch-secnav{position:sticky;top:var(--ch-secnav-top,0);z-index:30;margin-inline:calc(50% - 50vw);margin-bottom:12px;background:var(--ch-surface,#fff);border-bottom:1px solid var(--ch-border,#dde3e0)}
.ch-secnav__in{max-width:var(--ch-container,1280px);margin-inline:auto;padding-inline:16px;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.ch-secnav__in::-webkit-scrollbar{display:none}
.ch-secnav a{flex:none;padding:12px 14px;font-weight:700;color:var(--ch-text,#1b2430);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.ch-secnav a.is-on{color:var(--ch-accent,#f58220);border-bottom-color:var(--ch-accent,#f58220)}
body.single-product{overflow-x:clip}
@media(max-width:699px){.ch-secnav{margin-bottom:8px}.ch-secnav a{padding:10px 12px;font-size:.9rem}.ch-secnav__in{padding-inline:8px}}
.ch-seller{background:var(--ch-surface,#fff);border:1px solid var(--ch-border,#dde3e0);border-radius:18px;padding:14px;margin:14px 0;scroll-margin-top:110px}
.ch-seller__top{display:flex;gap:12px;align-items:center}
.ch-seller__logo{flex:none;width:56px;height:56px;border-radius:16px;overflow:hidden;background:var(--ch-primary-soft,#e8f4ee);display:grid;place-items:center;font-weight:800;color:var(--ch-primary-dark,#074a34);font-size:1.3rem}
.ch-seller__logo img{width:100%;height:100%;object-fit:contain;padding:6px;display:block}
.ch-seller__name{min-width:0;flex:1;display:grid;gap:2px}
.ch-seller__name strong{font-size:1.05rem;overflow-wrap:anywhere}
.ch-seller__badge{display:inline-block;width:max-content;max-width:100%;padding:2px 9px;border-radius:99px;background:var(--ch-primary-soft,#e8f4ee);color:var(--ch-primary-dark,#074a34);font-size:.78rem;font-weight:700}
.ch-seller__stats{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
.ch-seller__stats li{background:var(--ch-bg,#f4f6f5);border-radius:12px;padding:8px;text-align:center;display:grid;gap:0;min-width:0}
.ch-seller__stats b{font-size:1.05rem;color:var(--ch-primary-dark,#074a34)}
.ch-seller__stats span{font-size:.78rem;color:var(--ch-muted,#5a6672);overflow-wrap:anywhere}
.ch-rsum{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;align-items:center;margin:0 0 16px}
.ch-rsum__big{text-align:center;display:grid;gap:4px;justify-items:center}
.ch-rsum__big b{font-size:2.4rem;line-height:1}
.ch-rsum__big span{font-size:.82rem;color:var(--ch-muted,#5a6672)}
.ch-rsum__bars{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ch-rsum__bars li{display:grid;grid-template-columns:28px minmax(0,1fr) 30px;gap:8px;align-items:center;font-size:.82rem}
.ch-rsum__bars progress{width:100%;height:8px;border:0;border-radius:99px;overflow:hidden;background:var(--ch-border,#dde3e0);appearance:none;-webkit-appearance:none}
.ch-rsum__bars progress::-webkit-progress-bar{background:var(--ch-border,#dde3e0);border-radius:99px}
.ch-rsum__bars progress::-webkit-progress-value{background:#f4a300;border-radius:99px}
.ch-rsum__bars progress::-moz-progress-bar{background:#f4a300;border-radius:99px}
@media(max-width:520px){.ch-rsum{grid-template-columns:1fr}}

.ch-seller__name{grid-template-columns:minmax(0,1fr)}
.ch-seller__badge{overflow-wrap:anywhere}
.ch-morestore .ch-section__head{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}
.ch-morestore .ch-section__head h2{min-width:0;margin:0;font-size:1.25rem;overflow-wrap:anywhere}
.ch-morestore .ch-link{overflow-wrap:anywhere}
.ch-morestore li.product,.ch-morestore li.product *{overflow-wrap:anywhere}
.ch-seller__stats li *{overflow-wrap:anywhere}

.ch-seller__logo--icon img{width:100%;height:100%;object-fit:cover;padding:0;border-radius:inherit}
.ch-seller--mall .ch-seller__top{align-items:center}

.ch-seller__metrics{list-style:none;margin:0;padding:10px 6px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--ch-bg,#f4f6f5);border-radius:14px}
.ch-seller__metrics li{display:grid;gap:2px;padding:2px 8px;border-inline-start:1px solid var(--ch-border,#dde3e0);min-width:0;align-content:start}
.ch-seller__metrics li:first-child{border-inline-start:0}
.ch-seller__metrics b{font-size:1.35rem;line-height:1.1}
.ch-seller__metrics span{font-size:.8rem;color:var(--ch-muted,#5a6672);overflow-wrap:anywhere}
.ch-lvl{font-style:normal;font-size:.72rem;font-weight:700;padding:1px 8px;border-radius:6px;width:max-content;max-width:100%}
.ch-lvl--hi{background:#d6f1e0;color:#0b5b34}.ch-lvl--mid{background:#fff4d6;color:#8a5b00}.ch-lvl--lo{background:#fbe3e4;color:#b32d2e}.ch-lvl--none{background:#e8ecea;color:#5a6672}
@media(max-width:480px){.ch-seller__metrics b{font-size:1.1rem}}

/* ---- 1.28: the product page as open sections, real numbers, the staff-only box, the wishlist heart, questions ---- */
.ch-pdp-sections { display: grid; gap: 16px; margin: 18px 0; }
.ch-pdp-sec { background: var(--ch-surface, #fff); border-radius: 16px; box-shadow: var(--ch-shadow, 0 4px 14px rgba(11,40,30,.08)); padding: 16px 18px; min-width: 0; }
.ch-pdp-sec h2 { font-size: 1.12rem; color: var(--ch-primary-dark, #074a34); margin: 14px 0 8px; padding-bottom: 6px; border-bottom: 2px solid var(--ch-primary-tint, #e2f1e9); }
.ch-pdp-sec h2:first-child { margin-top: 0; }
.ch-hl { display: grid; gap: 6px; list-style: none; padding: 0; margin: 0 0 6px; }
.ch-hl li { position: relative; padding-inline-start: 22px; }
.ch-hl li::before { content: ""; position: absolute; inset-inline-start: 4px; top: .6em; width: 8px; height: 8px; border-radius: 50%; background: var(--ch-accent, #f58220); }
.ch-prose { line-height: 1.7; overflow-wrap: anywhere; }
.ch-social { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: .86rem; color: var(--ch-muted, #5a6672); margin: 2px 0 8px; }
.ch-social b { color: var(--ch-text, #1b2430); } .ch-social a { color: var(--ch-primary, #0b6b4b); font-weight: 600; } .ch-dot { color: var(--ch-border, #dde3e0); }
.ch-staffbox { background: #fff4d6; border: 1.5px dashed #e8a317; border-radius: 12px; padding: 10px 12px; margin: 10px 0; font-size: .86rem; }
.ch-staffbox__h { font-weight: 700; color: #8a5b00; font-size: .78rem; margin-bottom: 6px; }
.ch-staffbox table { width: 100%; border-collapse: collapse; } .ch-staffbox td { padding: 4px 6px; border-top: 1px solid rgba(0,0,0,.08); } .ch-staffbox td:first-child { color: #6b5200; width: 38%; }
.ch-qa__item { border-top: 1px solid var(--ch-border, #dde3e0); padding: 10px 0; display: grid; gap: 4px; }
.ch-qa__q, .ch-qa__a { display: flex; gap: 8px; margin: 0; }
.ch-qa__i { flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: .75rem; font-weight: 700; background: #dbe8fb; color: #245c9a; }
.ch-qa__i--a { background: var(--ch-primary-tint, #e2f1e9); color: var(--ch-primary-dark, #074a34); }
.ch-qa__form { display: grid; gap: 8px; margin-top: 10px; }
.ch-qa__form textarea, .ch-qa__form input { border: 1.5px solid var(--ch-border, #dde3e0); border-radius: 12px; padding: 10px 12px; width: 100%; font: inherit; }
.ch-qa__msg { background: var(--ch-primary-tint, #e2f1e9); color: var(--ch-primary-dark, #074a34); border-radius: 10px; padding: 8px 12px; }

/* ---- 1.29.1: the questions section shows only the question list and one button ---- */
.ch-qa__empty { text-align: center; color: var(--ch-muted, #5a6672); padding: 18px 8px 14px; line-height: 1.6; }
.ch-qa__askrow { border-top: 1px solid var(--ch-border, #dde3e0); margin-top: 8px; text-align: center; }
.ch-qa__ask { background: none; border: 0; color: var(--ch-accent-dark, #d96a0e); font: inherit; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; padding: 14px 18px; min-height: 48px; cursor: pointer; width: 100%; }
.ch-qa__ask:hover { background: var(--ch-accent-tint, #ffe9d2); }
.ch-qa__sheet[hidden] { display: none; }
.ch-qa__sheet { position: fixed; inset: 0; z-index: 1000; }
.ch-qa__ov { position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.ch-qa__panel { position: absolute; left: 0; right: 0; bottom: 0; max-height: 86vh; overflow: auto; background: #fff; border-radius: 20px 20px 0 0; padding: 18px 18px 24px; display: grid; gap: 12px; }
.ch-qa__panel h3 { text-align: center; font-size: 1.1rem; margin: 0; }
.ch-qa__x { position: absolute; top: 10px; inset-inline-end: 12px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: #f0f2f1; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.ch-qa__quick { display: flex; flex-wrap: wrap; gap: 8px; }
.ch-qa__hintq { flex: 1 1 100%; color: var(--ch-muted, #5a6672); font-size: .86rem; }
body.ch-qa-lock { overflow: hidden; }
@media (min-width: 761px) { .ch-qa__panel { left: 50%; right: auto; bottom: auto; top: 12vh; transform: translateX(-50%); width: min(520px, 94vw); border-radius: 20px; } }

/* ---- 1.32: the product page like the approved design ---- */
.ch-pricerow { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin: 4px 0 2px; }
.ch-pricerow__p { min-width: 0; flex: 1; }
.ch-pricerow__a { display: flex; gap: 2px; flex: none; }
.ch-pricerow__a .ch-wish, .ch-share { position: static; width: 44px; height: 44px; border-radius: 50%; border: 0; background: transparent; color: var(--ch-muted, #5a6672); display: grid; place-items: center; cursor: pointer; box-shadow: none; padding: 0; }
.ch-pricerow__a .ch-wish.is-on { color: var(--ch-error, #d64545); }
.ch-share:hover, .ch-pricerow__a .ch-wish:hover { background: var(--ch-primary-tint, #e2f1e9); }
.ch-rows { margin: 12px 0; background: var(--ch-surface, #fff); border-radius: 14px; box-shadow: var(--ch-shadow, 0 4px 14px rgba(11,40,30,.08)); padding: 2px 14px; }
.ch-row { display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; gap: 10px; align-items: center; width: 100%; background: none; border: 0; border-top: 1px solid var(--ch-border, #dde3e0); padding: 12px 0; text-align: start; cursor: pointer; font: inherit; color: inherit; min-height: 52px; }
.ch-row:first-child { border-top: 0; }
.ch-row__l { color: var(--ch-muted, #5a6672); font-size: .9rem; }
.ch-row__v { display: grid; gap: 3px; min-width: 0; font-size: .9rem; overflow-wrap: anywhere; }
.ch-row__v small { color: var(--ch-muted, #5a6672); font-size: .82rem; } .ch-dlv__addr { color: var(--ch-accent-dark, #d96a0e); }
.ch-specl { display: grid; margin: 0; } .ch-specl dt { padding-top: 14px; } .ch-specl dd { margin: 6px 0 0; padding-inline-start: 18px; color: var(--ch-muted, #5a6672); position: relative; }
.ch-specl dd::before { content: ""; position: absolute; inset-inline-start: 2px; top: .6em; width: 7px; height: 7px; background: #b8c2bd; }
.ch-sharegrid { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; padding: 8px 0; }
.ch-sharebtn { display: grid; justify-items: center; gap: 6px; background: none; border: 0; font: inherit; color: inherit; text-decoration: none; cursor: pointer; min-width: 78px; min-height: 44px; }
.ch-sharebtn span { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-weight: 700; font-size: 1.3rem; }
.ch-qa__form label { display: grid; gap: 4px; font-weight: 600; font-size: .86rem; }
.ch-qa__form select { border: 1.5px solid var(--ch-border, #dde3e0); border-radius: 12px; padding: 10px 12px; font: inherit; width: 100%; background: #fff; }
/* colour pictures and sizes (Product Options) */
.single-product table.variations th.label, .single-product table.variations .label label { color: var(--ch-muted, #5a6672); font-weight: 600; }
.ch-swatch--img { width: 62px; height: 62px; padding: 0; border-radius: 10px; overflow: hidden; position: relative; background: #fff; }
.ch-swatch--img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ch-swatch--img.is-selected { border-color: var(--ch-accent, #f58220); }
.ch-swatch--img.is-selected::after { content: ""; position: absolute; right: 0; top: 0; border-style: solid; border-width: 0 14px 14px 0; border-color: transparent var(--ch-accent, #f58220) transparent transparent; }

/* ---- 1.32.1: the buy bar fits a phone: a small quantity, an icon-only Message button, and two buttons that show their words ---- */
@media (max-width: 768px) {
	body.single-product form.cart:not(.variations_form), body.single-product .woocommerce-variation-add-to-cart { gap: 6px; padding-inline: 8px; }
	body.single-product form.cart .quantity, body.single-product .woocommerce-variation-add-to-cart .quantity { display: inline-flex; align-items: stretch; width: auto; flex: none; }
	body.single-product .quantity .ch-qty-btn { width: 30px; min-width: 30px; padding: 0; }
	body.single-product .quantity input.qty { width: 30px; min-width: 0; padding: 0; text-align: center; }
	body.single-product .ch-msgbtn { min-width: 44px; width: 44px; padding: 0; flex: none; }
	body.single-product .ch-msgbtn span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	body.single-product form.cart .single_add_to_cart_button, body.single-product form.cart .ch-buynow { flex: 1 1 0; min-width: 0; padding: 0 4px; font-size: .84rem; line-height: 1.15; white-space: normal; text-align: center; overflow-wrap: anywhere; }
}
@media (max-width: 380px) { body.single-product form.cart .single_add_to_cart_button, body.single-product form.cart .ch-buynow { font-size: .78rem; } }
@media (max-width: 340px) {
	body.single-product form.cart:not(.variations_form), body.single-product .woocommerce-variation-add-to-cart { gap: 4px; padding-inline: 6px; }
	body.single-product .quantity .ch-qty-btn, body.single-product .quantity input.qty { width: 26px; min-width: 26px; }
	body.single-product .ch-msgbtn { width: 40px; min-width: 40px; }
}
