/* Every selector is scoped. Tapee Tea can never receive this body class. */
body.ts-catalogue-v1 {
  --ts-ink: #172622; --ts-paper: #f4efe4; --ts-porcelain: #fcfaf5;
  --ts-palm: #486b58; --ts-tamarind: #9c4e36; --ts-muted: #58655d;
  --ts-line: rgb(23 38 34 / 16%); --ts-photo: #faf6f1;
  background: var(--ts-porcelain); color: var(--ts-ink);
}
.ts-catalogue-v1 #content { background: var(--ts-porcelain); font: 17px/1.65 Arial, Helvetica, sans-serif; color: var(--ts-ink); }
.ts-catalogue-v1 #content .ast-container { max-width: 1320px; }
.ts-catalogue-v1 #primary { width: 100%; margin-block: 36px 64px; padding: 0; }
.ts-catalogue-v1 #secondary { display: none; }
.ts-catalogue-v1 #content :is(h1,h2,h3) { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.03em; color: var(--ts-ink); text-transform: none; text-wrap: balance; overflow-wrap: anywhere; }
.ts-catalogue-v1 #content h1 { font-size: clamp(2.4rem,4.2vw,3.6rem); line-height: 1.08; margin-bottom: 20px; }
.ts-catalogue-v1 #content h2 { font-size: clamp(1.8rem,3vw,2.7rem); line-height: 1.15; }
.ts-catalogue-v1 #content a { color: var(--ts-palm); text-underline-offset: 5px; }
.ts-catalogue-v1 #content :is(a,button,input,select,summary):focus-visible { outline: 3px solid var(--ts-tamarind); outline-offset: 4px; }
.ts-catalogue-v1 #content :is(button,input,select) { font-family: Arial, Helvetica, sans-serif; font-size: 16px; touch-action: manipulation; }
.ts-catalogue-v1 #content :is(.button,button.button,button.single_add_to_cart_button) { background: var(--ts-tamarind); color: var(--ts-porcelain); border: 1px solid var(--ts-tamarind); border-radius: 0; min-height: 52px; padding: 13px 24px; box-shadow: none; font-weight: 700; line-height: 1.4; }
.ts-catalogue-v1 #content .woocommerce-breadcrumb { color: var(--ts-muted); font: 13px/1.5 Arial, sans-serif; margin-bottom: 30px; }
.ts-catalogue-v1.single-product div.product.type-product { display: grid; grid-template-columns: minmax(0,1.06fr) minmax(0,1fr); column-gap: clamp(28px,4vw,56px); align-items: start; }
.ts-catalogue-v1.single-product div.product.type-product::before,
.ts-catalogue-v1.single-product div.product.type-product::after { display: none; }
.ts-catalogue-v1.single-product #content div.product.type-product > :is(.images,.summary) { width: 100%; float: none; min-width: 0; margin: 0 0 36px; }
.ts-catalogue-v1.single-product div.product.type-product > :is(.woocommerce-tabs,.related,.up-sells) { grid-column: 1 / -1; width: 100%; }
.ts-catalogue-v1 .woocommerce-product-gallery { background: transparent; }
.ts-catalogue-v1 .woocommerce-product-gallery :is(.wpgs-for img,.woocommerce-product-gallery__wrapper img) { aspect-ratio: 1; object-fit: contain; background: var(--ts-photo); width: 100%; border-radius: 0; }
.ts-catalogue-v1 .woocommerce-product-gallery .wpgs-nav { margin: 16px auto 0; max-width: 300px; }
.ts-catalogue-v1 .woocommerce-product-gallery .wpgs-nav img { aspect-ratio: 1; object-fit: contain; background: var(--ts-photo); }
.ts-catalogue-v1 #content .ts-catalogue-identity { display: inline-block; color: var(--ts-palm); margin: 0 18px 0 0; font-size: 15px; }
.ts-catalogue-v1 .summary .yith-ywar-product-rating-wrapper { display: inline-block; vertical-align: middle; }
.ts-catalogue-v1 #content .summary :is(p.price,span.price) { font: 2.1rem/1.3 Georgia, serif; color: var(--ts-ink); }
.ts-catalogue-v1 .summary .woocommerce-product-details__short-description { max-width: 52ch; margin-block: 18px 24px; font-size: 16px; }
.ts-catalogue-v1 .summary .woocommerce-product-details__short-description p { margin-bottom: 12px; }
.ts-catalogue-v1 .summary .woocommerce-product-details__short-description small { display: block; font-size: 12px; line-height: 1.6; color: var(--ts-muted); }
.ts-catalogue-v1 .summary .variations { border: 0; margin-block: 24px 18px; width: 100%; }
.ts-catalogue-v1 .summary .variations :is(th,td) { padding: 0 0 12px; border: 0; background: transparent; }
.ts-catalogue-v1 .summary .variations select { min-height: 48px; max-width: 100%; border: 1px solid var(--ts-palm); background: var(--ts-porcelain); color: var(--ts-ink); }
.ts-catalogue-v1 .cfvsw-swatches-container { display: flex; flex-wrap: wrap; gap: 6px; }
.ts-catalogue-v1 .cfvsw-swatches-option { flex: 1 1 auto; min-width: 64px; max-width: 100%; min-height: 64px; padding: 14px 10px; border: 1px solid transparent; border-radius: 0; background: var(--ts-paper); color: var(--ts-ink); }
.ts-catalogue-v1 .cfvsw-swatches-option .cfvsw-swatch-inner { white-space: normal; overflow-wrap: anywhere; text-align: center; }
.ts-catalogue-v1 .cfvsw-selected-swatch { background: var(--ts-palm); color: var(--ts-porcelain); border-color: var(--ts-palm); }
.ts-catalogue-v1 .summary form.cart .quantity { margin-right: 14px; }
.ts-catalogue-v1 #content .summary form.cart { position: static !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; border: 0; width: 100%; }
.ts-catalogue-v1 #content .summary form.cart button.single_add_to_cart_button { background: var(--ts-tamarind) !important; color: var(--ts-porcelain) !important; text-transform: none; letter-spacing: 0; }
.ts-catalogue-v1 .ast-sticky-add-to-cart-content { display: none !important; }
.ts-catalogue-v1 .summary form.cart input.qty { min-height: 52px; width: 90px; border: 1px solid var(--ts-palm); border-radius: 0; background: var(--ts-porcelain); color: var(--ts-ink); }
.ts-catalogue-v1 .ts-pack-output { margin-block: 2px 22px; font-size: 13px; color: var(--ts-muted); font-variant-numeric: tabular-nums; }
.ts-catalogue-v1 .ts-pack-output[hidden] { display: none; }
.ts-catalogue-v1 .ts-pack-output p { margin: 0 0 5px; }
.ts-catalogue-v1 .ts-pack-count { display: none; }
.ts-catalogue-v1 .ts-per-pack { font: 13px/1.5 Arial, sans-serif; margin-left: 12px; color: var(--ts-muted); }
.ts-catalogue-v1 .ts-pack-enhanced :is(.variations,.woocommerce-variation-price) { display: none; }
.ts-catalogue-v1 .ts-pack-choices { border: 0; margin: 0 0 20px; padding: 0; }
.ts-catalogue-v1 .ts-pack-choices legend { font: 700 15px/1.5 Arial, sans-serif; margin-bottom: 14px; padding: 0; }
.ts-catalogue-v1 .ts-pack-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(90px,1fr)); gap: 6px; }
.ts-catalogue-v1 .ts-pack-grid label { position: relative; min-width: 0; cursor: pointer; }
.ts-catalogue-v1 .ts-pack-grid input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ts-catalogue-v1 .ts-pack-card { display: flex; flex-direction: column; justify-content: center; gap: 6px; height: 100%; min-height: 104px; padding: 14px 6px; background: var(--ts-paper); border: 1px solid transparent; text-align: center; font: 12px/1.5 Arial, sans-serif; overflow-wrap: anywhere; }
.ts-catalogue-v1 .ts-pack-card strong { font: 18px/1.3 Georgia, serif; }
.ts-catalogue-v1 .ts-pack-grid input:checked + .ts-pack-card { background: var(--ts-palm); color: var(--ts-porcelain); }
.ts-catalogue-v1 .ts-pack-grid input:checked + .ts-pack-card::after { content: ''; position: absolute; right: 7px; top: 7px; width: 5px; height: 9px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.ts-catalogue-v1 .ts-pack-grid input:focus-visible + .ts-pack-card { outline: 3px solid var(--ts-tamarind); outline-offset: 3px; }
.ts-catalogue-v1 .ts-pack-grid input:disabled + .ts-pack-card { opacity: .5; text-decoration: line-through; cursor: not-allowed; }
.ts-catalogue-v1 .ts-catalogue-delivery { background: transparent; border-top: 1px solid var(--ts-line); padding: 20px 0 0; margin: 24px 0 0; font-size: 13px; }
.ts-catalogue-v1 #content .ts-catalogue-delivery h2 { font-size: 22px; margin: 0 0 6px; }
.ts-catalogue-v1 .ts-catalogue-delivery p { margin: 0 0 6px; }
.ts-catalogue-v1 #content .summary .ast-single-product-payments { display: none; }
.ts-catalogue-v1 #content .ts-purchase-panel { padding: clamp(18px,2.3vw,28px); background: var(--ts-ink); color: var(--ts-porcelain); }
.ts-catalogue-v1 #content .ts-purchase-panel p.price { color: var(--ts-porcelain); margin: 0 0 6px; font-size: 36px; }
.ts-catalogue-v1 #content .ts-purchase-panel :is(.ts-per-pack,.ts-pack-output,.ts-order-confirmation) { color: var(--ts-paper); }
.ts-catalogue-v1 #content .ts-purchase-panel .ts-pack-choices legend { color: var(--ts-porcelain); font-size: 14px; margin-bottom: 12px; }
.ts-catalogue-v1 #content .ts-purchase-panel .ts-pack-grid { grid-template-columns: repeat(auto-fit,minmax(78px,1fr)); }
.ts-catalogue-v1 #content .ts-purchase-panel .ts-pack-card { background: transparent; border-color: rgb(244 239 228 / 30%); color: var(--ts-porcelain); }
.ts-catalogue-v1 #content .ts-purchase-panel input:checked + .ts-pack-card { background: var(--ts-paper); color: var(--ts-ink); border-color: var(--ts-paper); }
.ts-catalogue-v1 #content .ts-purchase-panel input:focus-visible + .ts-pack-card { outline-color: var(--ts-porcelain); }
.ts-catalogue-v1 #content .ts-purchase-panel form.cart { margin: 0 !important; }
.ts-catalogue-v1 #content .ts-purchase-panel .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: 128px minmax(0,1fr); gap: 10px 12px; align-items: stretch; }
.ts-catalogue-v1 #content .ts-quantity-label { display: block; grid-column: 1 / -1; font: 13px/1.5 Arial,sans-serif; color: inherit; margin: 0; }
.ts-catalogue-v1 #content .ts-purchase-panel .quantity { display: flex; float: none; width: 128px; margin: 0; }
.ts-catalogue-v1 #content .ts-purchase-panel .quantity :is(.minus,.plus) { display: flex; align-items: center; justify-content: center; min-width: 32px; min-height: 52px; background: transparent; color: var(--ts-paper); border-color: rgb(244 239 228 / 45%); }
.ts-catalogue-v1 #content .ts-purchase-panel input.qty { width: 48px; min-width: 0; min-height: 52px; border-color: rgb(244 239 228 / 45%); background: transparent; color: var(--ts-paper); }
.ts-catalogue-v1 #content .ts-purchase-panel button.single_add_to_cart_button { float: none; width: 100%; min-width: 0; margin: 0 !important; padding: 13px 12px; }
.ts-catalogue-v1 #content .ts-order-confirmation { margin: 14px 0 0; font: 12px/1.5 Arial,sans-serif; font-variant-numeric: tabular-nums; }
.ts-catalogue-v1 #content .ts-order-confirmation:empty { display: none; }
.ts-catalogue-v1 .woocommerce-tabs { margin-top: 28px; padding: 32px 0 40px; background: transparent; border-top: 1px solid var(--ts-line); border-bottom: 1px solid var(--ts-line); }
.ts-catalogue-v1 .woocommerce-tabs .wc-tabs { display: flex; flex-wrap: wrap; gap: 20px; border-bottom: 1px solid var(--ts-line); }
.ts-catalogue-v1 .woocommerce-tabs .wc-tabs li { background: transparent; border: 0; }
.ts-catalogue-v1 .woocommerce-tabs .wc-tabs li a { min-height: 44px; font: 17px/1.5 Arial, sans-serif; }
.ts-catalogue-v1 .ts-product-copy { max-width: none; }
.ts-catalogue-v1 .ts-copy-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(28px,6vw,80px); padding-top: 24px; }
.ts-catalogue-v1 .ts-copy-overview { max-width: 52ch; }
.ts-catalogue-v1 .ts-product-copy section { margin-block: 30px; }
.ts-catalogue-v1 .ts-product-copy :is(h2,h3) { margin-bottom: 18px; }
.ts-catalogue-v1 .ts-product-copy p { margin-bottom: 18px; }
.ts-catalogue-v1 .ts-product-copy details { border-bottom: 1px solid var(--ts-line); padding-block: 18px; }
.ts-catalogue-v1 .ts-copy-disclosures details:first-child { border-top: 1px solid var(--ts-line); }
.ts-catalogue-v1 .ts-copy-overview section:first-child { margin-top: 0; }
.ts-catalogue-v1 #content .ts-copy-overview h3 { font-size: 22px; margin: 24px 0 12px; }
.ts-catalogue-v1 .ts-product-copy summary { min-height: 44px; cursor: pointer; font: 24px/1.4 Georgia, serif; }
.ts-catalogue-v1 .woocommerce-products-header { background: var(--ts-paper); padding: clamp(24px,4vw,48px); margin-bottom: 32px; }
.ts-catalogue-v1 #content .woocommerce-products-header__title { display: block !important; }
.ts-catalogue-v1 .woocommerce-products-header .term-description { max-width: 65ch; color: var(--ts-muted); }
.ts-catalogue-v1 .ts-catalogue-filters { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-bottom: 18px; margin-bottom: 24px; border-bottom: 1px solid var(--ts-line); clear: both; width: 100%; }
.ts-catalogue-v1 .ts-catalogue-filters strong { font: 700 14px/1.5 Arial, sans-serif; margin-right: 8px; }
.ts-catalogue-v1 #content .ts-catalogue-filters a { padding: 9px 14px; min-height: 44px; border: 1px solid var(--ts-line); text-decoration: none; font-size: 14px; }
.ts-catalogue-v1 #content .ts-catalogue-filters a[aria-current] { background: var(--ts-palm); color: var(--ts-porcelain); }
.ts-catalogue-v1 #content .ast-shop-toolbar-container { position: static !important; inset: auto !important; transform: none !important; display: block; background: transparent !important; box-shadow: none !important; padding: 0 !important; margin-bottom: 24px; width: 100%; }
.ts-catalogue-v1 #content .ast-sticky-shop-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; width: 100%; }
.ts-catalogue-v1 #content .ts-catalogue-filters { flex: 0 0 100%; order: -1; margin-bottom: 0; }
.ts-catalogue-v1 #content .woocommerce-ordering { float: none; margin: 0; }
.ts-catalogue-v1 #content .woocommerce-ordering select { min-height: 48px; max-width: 100%; background: var(--ts-porcelain); border: 1px solid var(--ts-line); padding: 10px; }
.ts-catalogue-v1 .ts-catalogue-filters .widget { margin: 0; }
.ts-catalogue-v1 #content .ts-catalogue-filters .widget-title { font: 700 14px/1.5 Arial, sans-serif; }
.ts-catalogue-v1 .ts-catalogue-filters ul { display: flex; flex-wrap: wrap; gap: 16px; margin: 0; }
.ts-catalogue-v1 .ts-catalogue-filters li { list-style: none; }
.ts-catalogue-v1 .ts-catalogue-filters a { display: inline-block; min-height: 44px; padding-block: 8px; }
.ts-catalogue-v1 #content ul.products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 28px; }
.ts-catalogue-v1 #content ul.products::before,
.ts-catalogue-v1 #content ul.products::after { display: none; }
.ts-catalogue-v1 #content ul.products li.product { float: none; width: 100%; margin: 0; min-width: 0; text-align: left; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.ts-catalogue-v1 #content ul.products li.product img { aspect-ratio: 1; object-fit: contain; background: var(--ts-photo); border-radius: 0; width: 100%; }
.ts-catalogue-v1 #content ul.products li.product .woocommerce-loop-product__title { font: 26px/1.2 Georgia, serif; margin-block: 18px 10px; }
.ts-catalogue-v1 #content ul.products li.product .price { color: var(--ts-ink); font: 18px/1.5 Arial, sans-serif; }
.ts-catalogue-v1 #content .related { margin: 44px 0 0; padding: 0; border: 0; }
.ts-catalogue-v1 #content .related > h2 { margin: 0 0 28px; }
.ts-catalogue-v1 #content .related ul.products { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.ts-catalogue-v1 #content .related ul.products li.product .woocommerce-loop-product__title { font-size: 20px !important; line-height: 1.3 !important; font-weight: 400 !important; margin: 16px 0 10px; }
.ts-catalogue-v1 #content .related ul.products li.product .price { font-size: 14px !important; line-height: 1.6; }
.ts-catalogue-v1 #content .related ul.products li.product .astra-shop-summary-wrap { padding: 0; }
.ts-catalogue-v1 #content .related .ast-on-card-button { display: none !important; }
.ts-catalogue-v1 #content .related img.show-on-hover { display: none !important; }
.ts-catalogue-v1 #content .related img.attachment-woocommerce_thumbnail { opacity: 1 !important; }
.ts-catalogue-v1 #content .onsale { box-shadow: none; border-radius: 0; font: 12px/1.5 Arial,sans-serif; background: var(--ts-porcelain); color: var(--ts-ink); }
.ts-catalogue-v1.single-product #content div.product.type-product > :is(.onsale,.ast-onsale-card) { display: none !important; }
.ts-catalogue-v1 #content ::selection { background: var(--ts-palm); color: var(--ts-porcelain); }
@media (max-width: 820px) {
  .ts-catalogue-v1 #primary { margin-top: 24px; }
  .ts-catalogue-v1.single-product div.product.type-product { grid-template-columns: minmax(0,1fr); }
  .ts-catalogue-v1 #content ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 18px; }
  .ts-catalogue-v1 #content ul.products li.product .woocommerce-loop-product__title { font-size: 21px; }
  .ts-catalogue-v1 .woocommerce-tabs { margin-top: 16px; }
  .ts-catalogue-v1 .ts-copy-layout { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .ts-catalogue-v1 #content .related ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 18px; }
  .ts-catalogue-v1.single-product #content div.product.type-product > .summary { margin-bottom: 16px; }
}
@media (max-width: 360px) {
  .ts-catalogue-v1 #content ul.products { grid-template-columns: minmax(0,1fr); }
  .ts-catalogue-v1 #content button.single_add_to_cart_button { padding-inline: 14px; }
  .ts-catalogue-v1 #content .related ul.products { grid-template-columns: minmax(0,1fr); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .ts-catalogue-v1 #content .button { transition: filter 140ms ease, transform 140ms cubic-bezier(.23,1,.32,1); }
  .ts-catalogue-v1 #content .button:hover { filter: brightness(.94); }
  .ts-catalogue-v1 #content .button:active { transform: translateY(1px); }
  .ts-catalogue-v1 #content .ts-pack-grid label:hover .ts-pack-card { border-color: var(--ts-porcelain); }
}

/* Siang Pure White Balm: keep native size/pack selection, repair its presentation. */
#product-6390 .summary .variations tr { display: block; margin-bottom: 20px; }
#product-6390 .summary .variations th.label,
#product-6390 .summary .variations td.value { display: block; width: 100%; padding: 0; }
#product-6390 .summary .variations th.label { margin-bottom: 10px; }
#product-6390 .summary .cfvsw-swatches-container { display: flex; flex-wrap: wrap; gap: 8px; }
#product-6390 .summary .cfvsw-swatches-container[swatches-attr="attribute_pack"] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
#product-6390 .summary .cfvsw-swatches-option {
  flex: 0 0 auto; width: auto; min-width: 76px !important; min-height: 48px !important;
  padding: 12px 16px; border-radius: 9px !important; border: 1px solid #d9dfd7;
  background: #fcfcf8; color: #233e34; box-shadow: none;
}
#product-6390 .summary .cfvsw-swatch-inner { white-space: nowrap; overflow-wrap: normal; line-height: 1.4; }
#product-6390 .summary .cfvsw-selected-swatch { background: #e5ecde; border-color: #233e34 !important; color: #233e34; }
#product-6390 .summary .cfvsw-swatches-option:hover { border-color: #233e34; }
#product-6390 .ts-purchase-panel .woocommerce-variation-price { display: none; }
#product-6390 .summary .reset_variations { display: inline-block; margin-top: 8px; }
@media (max-width: 480px) {
  #product-6390 .summary .cfvsw-swatches-container[swatches-attr="attribute_pack"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
