/* Staging product-page design. Astra, WooCommerce and YITH retain their native markup/behaviour. */
body.kls-pdp {
    --pdp-ink:#24406a; --pdp-blue:#127395; --pdp-line:#dce4eb;
    --pdp-soft:#edf7fb; --pdp-yellow:#ffdb3b; --pdp-muted:#536170;
}
body.kls-pdp #content {background:#fff}
body.kls-pdp #content > .ast-container {max-width:1280px; padding:0 24px}
body.kls-pdp #primary {width:100%; margin:32px 0 56px!important; padding:0!important}
body.kls-pdp .ast-woocommerce-container {padding:0!important; background:transparent}
body.kls-pdp .woocommerce-breadcrumb {display:none;font-size:13px; line-height:1.6; margin:0 0 16px; color:var(--pdp-muted)}
body.kls-pdp .kls-pdp-hero {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.06fr); gap:44px;
    padding:0; background:#fff; border:0; border-radius:0;
    align-items:start; margin-bottom:28px;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang TC","Microsoft JhengHei",sans-serif;
}
body.kls-pdp .kls-pdp-hero::before, body.kls-pdp .kls-pdp-hero::after {display:none}
body.kls-pdp #page .kls-pdp-hero > .images,
body.kls-pdp #page .kls-pdp-hero > .summary {float:none!important; width:100%!important; min-width:0; margin:0!important}
body.kls-pdp .kls-pdp-hero .woocommerce-product-gallery__wrapper {margin:0}
body.kls-pdp .kls-pdp-hero .woocommerce-product-gallery__image img:not(.zoomImg) {aspect-ratio:1; object-fit:contain; width:100%; height:auto}
body.kls-pdp .kls-pdp-hero .ast-single-product-thumbnails {margin-top:12px}
body.kls-pdp .kls-pdp-hero .ast-woocommerce-product-gallery__image {border:1px solid var(--pdp-line); border-radius:4px; overflow:hidden; cursor:pointer}
body.kls-pdp .kls-pdp-hero .ast-woocommerce-product-gallery__image.flex-active-slide {border:2px solid var(--pdp-blue)}
body.kls-pdp #page .summary h1.product_title {font-family:inherit; color:var(--pdp-ink); font-size:28px; font-weight:700; line-height:1.3; margin:0 0 16px; overflow-wrap:anywhere}
body.kls-pdp .kls-pdp-social {display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; margin:0 0 18px; font-size:13px; color:var(--pdp-muted)}
body.kls-pdp .summary .woocommerce-product-rating {display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0; font-size:13px; line-height:1.5}
body.kls-pdp .summary .woocommerce-product-rating .star-rating {margin:0; color:var(--pdp-blue)}
body.kls-pdp .summary .woocommerce-review-link {color:var(--pdp-ink); text-underline-offset:3px}
body.kls-pdp .kls-pdp-sold {border-left:1px solid var(--pdp-line); padding-left:18px; white-space:nowrap}
body.kls-pdp #page .summary > .price {background:var(--pdp-soft); color:var(--pdp-blue); padding:16px 20px; font-size:30px; font-weight:750; line-height:1.4; margin:0 0 16px; border-radius:4px}
body.kls-pdp .summary .price .woocommerce-Price-currencySymbol {font-size:.66em}
body.kls-pdp .summary .price .subscription-details {font-size:15px; font-weight:500}
body.kls-pdp .kls-pdp-services {display:flex; flex-wrap:wrap; gap:8px 24px; margin:0 0 22px; font-size:14px}
body.kls-pdp .kls-pdp-services a {color:var(--pdp-ink); text-decoration:underline; text-underline-offset:4px}
body.kls-pdp #page .summary .ywdpd-table-discounts-wrapper {margin:0 0 22px}
body.kls-pdp .ywdpd-table-discounts-label {font-size:14px; color:var(--pdp-ink); margin:0 0 8px}
body.kls-pdp #page .summary #ywdpd-quantity-table {width:100%; border:1px solid var(--pdp-line); font-size:14px; margin:0; border-collapse:collapse; table-layout:fixed}
body.kls-pdp #page #ywdpd-quantity-table :is(th,td) {padding:8px 12px; border:1px solid var(--pdp-line); text-align:center; background:#fff}
body.kls-pdp #page #ywdpd-quantity-table th {background:#fff; font-weight:500; color:var(--pdp-muted)}
body.kls-pdp #page #ywdpd-quantity-table .price_row td {font-weight:700; color:var(--pdp-blue)}
body.kls-pdp #page .summary form.cart {margin:0 0 22px; padding:0; border:0}
body.kls-pdp .summary form.cart:not(.variations_form):not(.grouped_form),
body.kls-pdp .summary .woocommerce-variation-add-to-cart {display:flex; flex-wrap:wrap; gap:12px; align-items:center}
body.kls-pdp #page .quantity {display:inline-flex; flex:0 0 auto; margin:0; height:48px}
body.kls-pdp #page .quantity :is(.minus,.plus,.qty) {width:44px; min-width:44px; height:48px; margin:0; padding:0; display:inline-flex; align-items:center; justify-content:center; font-size:17px; line-height:48px; border:1px solid var(--pdp-line); background:#fff; color:var(--pdp-ink); border-radius:0; text-align:center}
body.kls-pdp #page .quantity .qty {width:52px; border-left:0; border-right:0}
body.kls-pdp #page .single_add_to_cart_button {min-height:48px; padding:12px 24px; background:var(--pdp-yellow); color:var(--pdp-ink); border:1px solid var(--pdp-yellow); border-radius:4px; font-size:16px; line-height:1.4; font-weight:700; text-transform:none; transition:background-color .15s,color .15s}
body.kls-pdp .summary .single_add_to_cart_button {flex:1; max-width:330px; margin:0!important}
body.kls-pdp #page .single_add_to_cart_button:hover {background:var(--pdp-ink); border-color:var(--pdp-ink); color:#fff}
body.kls-pdp .summary .woocommerce-product-details__short-description {border:0; border-left:4px solid var(--pdp-blue); padding:16px 18px; margin:0 0 24px; background:var(--pdp-soft); border-radius:0 8px 8px 0; font-size:18px; line-height:1.65; font-weight:500; color:var(--pdp-ink)}
body.kls-pdp .summary .woocommerce-product-details__short-description p:last-child {margin-bottom:0}
body.kls-pdp .woocommerce-breadcrumb a,
body.kls-pdp .summary .woocommerce-product-details__short-description a,
body.kls-pdp .summary .yith-par-message a,
body.kls-pdp .woocommerce-tabs .panel a {color:var(--pdp-blue); text-underline-offset:3px}
body.kls-pdp #page .summary .variations {margin:0 0 16px; width:100%}
body.kls-pdp #page .summary .variations :is(th,td) {display:block; width:100%; padding:0; text-align:left}
body.kls-pdp .summary .variations label {font-size:14px; color:var(--pdp-ink); font-weight:600}
body.kls-pdp #page .summary .ast-variation-button-group {display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 16px; width:100%}
body.kls-pdp #page .summary .ast-variation-button-group .ast-single-variation {margin:0; min-height:44px; padding:10px 14px; border:1px solid var(--pdp-line); border-radius:4px; font-size:14px; line-height:1.5; color:var(--pdp-ink); background:#fff; max-width:100%; white-space:normal}
body.kls-pdp #page .summary .ast-variation-button-group .ast-single-variation.active {border-color:var(--pdp-blue); background:var(--pdp-soft); box-shadow:inset 0 0 0 1px var(--pdp-blue)}
body.kls-pdp .summary .woocommerce-variation-price {margin:0 0 14px; font-size:22px; color:var(--pdp-blue)}
body.kls-pdp .summary .yith-par-message {font-size:13px; line-height:1.7; padding:12px 14px; border-radius:4px; margin:0}
body.kls-pdp #page .woocommerce-tabs {clear:both; background:#fff; border:1px solid var(--pdp-line); border-radius:8px; padding:0 28px 28px; margin:0 0 32px; width:100%}
body.kls-pdp #page .woocommerce-tabs ul.tabs {display:flex; flex-wrap:wrap; float:none; width:100%; margin:0 0 24px; padding:0; border:0; border-bottom:1px solid var(--pdp-line)}
body.kls-pdp #page .woocommerce-tabs ul.tabs li {display:block; float:none; width:auto; margin:0; padding:0; border:0; border-radius:0; background:transparent}
body.kls-pdp #page .woocommerce-tabs ul.tabs li::before,
body.kls-pdp #page .woocommerce-tabs ul.tabs li::after {display:none}
body.kls-pdp #page .woocommerce-tabs ul.tabs li a {min-height:52px; padding:16px; display:block; font-size:15px; line-height:1.5; font-weight:600; color:var(--pdp-muted); border-bottom:3px solid transparent}
body.kls-pdp #page .woocommerce-tabs ul.tabs li.active a {color:var(--pdp-blue); border-bottom-color:var(--pdp-blue)}
body.kls-pdp #page .woocommerce-tabs .panel {float:none; width:100%; border:0; padding:0; margin:0; font-size:16px; line-height:1.8; overflow-wrap:anywhere}
body.kls-pdp .woocommerce-tabs :is(h2,h3,h4) {color:var(--pdp-ink)}
body.kls-pdp .woocommerce-tabs img {max-width:100%; height:auto}
body.kls-pdp .woocommerce-tabs :is(iframe,video) {max-width:100%}
body.kls-pdp .related > h2, body.kls-pdp .up-sells > h2 {font-size:24px; color:var(--pdp-ink); margin:0 0 20px}
body.kls-pdp #page :is(a,button,input,select):focus-visible,
body.kls-pdp .kls-pdp-purchase {scroll-margin-top:28px}
body.kls-pdp .wpcpv-item {width:44px; height:44px; line-height:44px}
body.kls-pdp .wpcpv-item::before {width:44px; height:44px; line-height:44px}
@media(max-width:767px) {
    body.kls-pdp #content > .ast-container {padding:0 12px}
    body.kls-pdp #primary {margin:12px 0 32px!important}
    body.kls-pdp .woocommerce-breadcrumb {display:none;font-size:12px; margin-bottom:12px}
    body.kls-pdp .kls-pdp-hero {grid-template-columns:minmax(0,1fr); gap:20px; padding:0; border-radius:0; margin-bottom:16px}
    body.kls-pdp #page .summary h1.product_title {font-size:22px; line-height:1.4; margin-bottom:12px}
    body.kls-pdp .kls-pdp-social {gap:8px 12px; margin-bottom:14px; font-size:12px}
    body.kls-pdp .summary .woocommerce-product-rating {font-size:12px}
    body.kls-pdp .kls-pdp-sold {padding-left:12px}
    body.kls-pdp #page .summary > .price {font-size:27px; padding:12px 14px; margin-bottom:14px}
    body.kls-pdp .summary .single_add_to_cart_button {max-width:none; min-width:120px; padding:12px}
    body.kls-pdp .kls-pdp-services {gap:8px 20px; margin-bottom:20px; font-size:13px}
    body.kls-pdp #page .woocommerce-tabs {padding:0 16px 20px; border-radius:6px; margin-bottom:24px}
    body.kls-pdp #page .woocommerce-tabs ul.tabs {margin-bottom:20px}
    body.kls-pdp #page .woocommerce-tabs ul.tabs li a {font-size:13px; padding:12px 10px; min-height:46px}
    body.kls-pdp #page .woocommerce-tabs .panel {font-size:15px}
}
@media(prefers-reduced-motion:reduce) {body.kls-pdp #page .single_add_to_cart_button {transition:none}}

/* Clear hierarchy within the existing Kefir identity; no font downloads. */
body.kls-pdp .kls-pdp-badges {display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px}
body.kls-pdp .kls-pdp-badge {display:inline-flex; align-items:center; padding:4px 10px; border:1px solid #b7d7e4; border-radius:4px; color:#245c75; background:#f0f9fc; font-size:12px; font-weight:650; line-height:1.5}
body.kls-pdp .kls-pdp-badge--best {background:#fff1af; color:#674d00; border-color:#e9ca56}
body.kls-pdp #page .summary > .price {background:transparent; padding:0; margin-bottom:18px; font-size:32px; color:var(--pdp-blue)}
body.kls-pdp .summary .woocommerce-product-details__short-description ul {margin:0 0 0 20px}
body.kls-pdp .summary .woocommerce-product-details__short-description :is(p,li) {margin-bottom:6px}
body.kls-pdp #page .summary #ywdpd-quantity-table {border-color:#e2c75d; border-radius:6px; overflow:hidden}
body.kls-pdp #page #ywdpd-quantity-table th {background:#fff7d5; color:var(--pdp-ink)}
body.kls-pdp .ywdpd-table-discounts-label {font-size:15px; font-weight:700}
body.kls-pdp .kls-pdp-services {display:block; margin:0 0 22px; font-size:13px}
body.kls-pdp .kls-pdp-services a {text-decoration:none}
body.kls-pdp .kls-pdp-service-row {display:grid; grid-template-columns:58px minmax(0,1fr) 12px; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid var(--pdp-line); min-height:58px}
body.kls-pdp .kls-pdp-service-row:hover {background:#f5fbfd}
body.kls-pdp .kls-pdp-service-label {font-size:13px; font-weight:700; color:var(--pdp-ink)}
body.kls-pdp .kls-pdp-provider-list {display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; color:var(--pdp-muted); line-height:1.5}
body.kls-pdp .kls-pdp-provider-list img {width:48px; height:28px; object-fit:contain; margin:0!important; flex:none}
body.kls-pdp .kls-pdp-provider-list > span {flex-basis:100%; font-size:12px}
body.kls-pdp .kls-pdp-policy-note {margin:12px 0 0; font-size:12px; line-height:1.7}
body.kls-pdp .kls-pdp-policy-note a {text-decoration:underline}
body.kls-pdp #page .woocommerce-tabs {padding:0 0 28px; border:0; border-top:0; border-radius:0; margin-top:40px}
body.kls-pdp #page .woocommerce-tabs ul.tabs {display:flex; gap:4px; background:var(--pdp-ink); padding:6px; border:0; border-radius:8px; margin:0 0 28px}
body.kls-pdp #page .woocommerce-tabs ul.tabs li {flex:1; text-align:center}
body.kls-pdp #page .woocommerce-tabs ul.tabs li a {color:#fff; border:0; border-radius:4px; padding:13px 10px; min-height:48px; font-size:14px}
body.kls-pdp #page .woocommerce-tabs ul.tabs li.active a {background:var(--pdp-yellow); color:var(--pdp-ink); border:0}
body.kls-pdp #page .woocommerce-tabs ul.tabs li:not(.active) a:hover {background:#36557e}
body.kls-pdp #page .woocommerce-tabs .panel {padding:0 12px; scroll-margin-top:20px}
body.kls-pdp #page .woocommerce-tabs .panel > h2:first-child {font-size:25px; margin-bottom:24px}

@media(max-width:767px) {
 body.kls-pdp #content > .ast-container {padding:0 16px}
 body.kls-pdp #primary {margin:16px 0 32px!important}
 body.kls-pdp .kls-pdp-hero {gap:22px}
 body.kls-pdp #page .summary h1.product_title {font-size:24px; margin-bottom:12px}
 body.kls-pdp #page .summary > .price {font-size:28px; padding:0; margin-bottom:16px}
 body.kls-pdp .summary .woocommerce-product-details__short-description {font-size:17px; padding:14px; margin-bottom:20px}
 body.kls-pdp #page .woocommerce-tabs ul.tabs {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; padding:6px}
 body.kls-pdp #page .woocommerce-tabs ul.tabs li a {font-size:14px; padding:12px 6px; min-height:46px}
 body.kls-pdp #page .woocommerce-tabs .panel {padding:0}
 body.kls-pdp #page .woocommerce-tabs {margin-top:28px}
 body.kls-pdp .kls-pdp-purchase {scroll-margin-top:24px}
 body.kls-pdp .kls-pdp-provider-list {gap:6px 8px}
}

body.kls-pdp .woo-breadcrumbs {display:none!important}

@media(max-width:767px) {
 body.kls-pdp .kls-pdp-hero > .images {margin-bottom:0!important}
}
/* Reserve the square gallery before FlexSlider measures its long slide strip. */
body.kls-pdp .kls-pdp-hero > .images > .flex-viewport {aspect-ratio:1; height:auto!important; contain:size; overflow:hidden}
/* Flexslider adds a 17px bottom margin when it starts, which pushed the whole summary down (CLS). */
body.kls-pdp .kls-pdp-hero > .images > .flex-viewport {margin-bottom:0!important}
/* Before Astra's thumbnail slider starts, its wrapper is a direct child and every thumbnail renders full width
   (the gallery was 4,000–95,000px tall for a moment). Lay the first four out the way the slider will. */
body.kls-pdp .ast-single-product-thumbnails > .woocommerce-product-gallery-thumbnails__wrapper {display:flex; gap:15px; overflow:hidden}
body.kls-pdp .ast-single-product-thumbnails > .woocommerce-product-gallery-thumbnails__wrapper > * {flex:0 0 calc((100% - 45px) / 4)}
/* While the slider measures, thumbnails briefly stack full size; the strip never needs more than one row. */
body.kls-pdp .kls-pdp-hero > .images {container-type:inline-size}
body.kls-pdp .ast-single-product-thumbnails {height:calc((100cqw - 45px) / 4 + 2px); overflow:hidden}
/* Fixed strip height, and the strip stays invisible until the slider has placed it, so nothing jumps (CLS). */
body.kls-pdp .ast-single-product-thumbnails:not(:has(> .flex-viewport)) {visibility:hidden}
body.kls-pdp .kls-pdp-hero > .images > .woocommerce-product-gallery__wrapper {aspect-ratio:1; overflow:hidden; width:100%!important}
body.kls-pdp .kls-pdp-hero > .images > .woocommerce-product-gallery__wrapper > :not(:first-child) {display:none}
@media(max-width:767px) {
 body.kls-pdp .ast-single-product-thumbnails {margin-top:12px!important; margin-bottom:0!important}
}

@media(min-width:768px) and (max-width:1023px) {
 body.kls-pdp #page .woocommerce-tabs ul.tabs {display:grid; grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Supporting information stays below the selling points in visual emphasis. */
body.kls-pdp .kls-pdp-services {border-top:1px solid var(--pdp-line);padding-top:12px}
body.kls-pdp .kls-pdp-delivery {display:flex;align-items:center;gap:12px;padding:6px 0;margin:0}
body.kls-pdp .kls-pdp-delivery > img {width:36px;height:26px;object-fit:contain;flex:none}
body.kls-pdp .kls-pdp-delivery > div {min-width:0;flex:1}
body.kls-pdp .kls-pdp-eyebrow {display:block;font-size:14px;line-height:1.5;color:var(--pdp-ink);font-weight:500}
body.kls-pdp .kls-pdp-arrival {display:block;color:#b42318;font-size:16px;line-height:1.5;font-weight:700}
body.kls-pdp .kls-pdp-countdown {display:block;color:#b42318;font-size:13px;line-height:1.5;font-weight:400;font-variant-numeric:tabular-nums;min-height:20px}
body.kls-pdp .kls-pdp-countdown:empty {display:none}
body.kls-pdp .kls-pdp-estimate-note {display:flex;align-items:center;min-height:44px;font-size:12px;line-height:1.5;color:var(--pdp-muted);margin:0 0 8px;text-decoration:underline}
body.kls-pdp .kls-pdp-pickup {display:flex;align-items:center;gap:10px;background:var(--pdp-soft);padding:10px 12px;border-radius:4px;color:var(--pdp-ink);min-height:56px}
body.kls-pdp .kls-pdp-pickup-icons {display:flex;gap:5px;align-items:center;flex:none}
body.kls-pdp .kls-pdp-pickup-icons img {width:56px;height:24px;object-fit:contain}
body.kls-pdp .kls-pdp-pickup-icons svg {width:18px;height:18px;color:var(--pdp-blue)}
body.kls-pdp .kls-pdp-pickup > svg {width:24px;height:24px;flex:none}
body.kls-pdp .kls-pdp-pickup strong {display:block;font-size:14px;line-height:1.5}
body.kls-pdp .kls-pdp-pickup strong+span {display:block;font-size:12px;line-height:1.5;margin-top:2px}
body.kls-pdp .kls-pdp-pickup > span:last-child {margin-left:auto}
body.kls-pdp .kls-pdp-payment-options {display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 0;margin-top:4px;color:var(--pdp-ink);min-height:44px}
body.kls-pdp .kls-pdp-pay-icon {display:inline-flex;align-items:center;justify-content:center;min-height:32px}
body.kls-pdp .kls-pdp-pay-icon img {width:38px;height:24px;object-fit:contain}
body.kls-pdp .kls-pdp-pay-labelled {gap:6px}
body.kls-pdp .kls-pdp-pay-labelled span {font-size:12px;line-height:1.5}
body.kls-pdp .kls-pdp-pay-icon img.kls-pdp-cash-note {width:38px;height:24px}
body.kls-pdp .kls-pdp-pay-icon img.kls-pdp-bank-logo {width:72px;height:24px}
body.kls-pdp #page .summary :is(.yith-par-message-product,.yith-par-message-variation) {padding:10px 12px!important;border:1px solid #ead889;background:#fff9e5!important;border-radius:4px;color:var(--pdp-ink)!important;font-size:14px;width:100%;box-sizing:border-box}
body.kls-pdp .kls-pdp-rewards {display:flex;gap:10px;align-items:flex-start}
body.kls-pdp .kls-pdp-rewards > svg {width:20px;height:20px;margin-top:2px;flex:none;color:#8d6900}
body.kls-pdp .kls-pdp-rewards strong {display:block;font-size:14px;line-height:1.5}
body.kls-pdp .kls-pdp-rewards strong+span {display:block;margin-top:2px;font-size:13px;line-height:1.5}
body.kls-pdp .kls-pdp-rewards .kls-pdp-join {display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:600;text-decoration:underline;color:var(--pdp-blue);text-underline-offset:3px}
body.kls-pdp .ast-single-product-thumbnails .ast-woocommerce-product-gallery__image {aspect-ratio:1;height:auto!important}
body.kls-pdp .ast-single-product-thumbnails img {aspect-ratio:1;height:auto!important;width:100%;object-fit:contain}
body.kls-pdp .kls-pdp-hero > .images {contain:inline-size;max-width:100%!important}
body.kls-pdp .kls-pdp-hero > .images > .flex-viewport {width:100%;max-width:100%}
@media(max-width:767px) {
 body.kls-pdp #page .woocommerce-tabs .panel {font-size:16px}
 body.kls-pdp #page .woocommerce-tabs .panel :is(ul,ol) {margin-left:0!important;margin-right:0;padding-left:1.2em!important;padding-inline-start:1.2em!important}
 body.kls-pdp #page .woocommerce-tabs .panel li {padding-left:0;margin-bottom:.55em}
 body.kls-pdp #wp-bottom-menu, body.kls-pdp .xoo-wsc-basket {display:none!important}
}

/* Badges in the Taiwanese marketplace style: a red-orange ranking ribbon and icon tags. */
body.kls-pdp .kls-pdp-badges {gap:8px; margin:0 0 14px; align-items:center}
body.kls-pdp .kls-pdp-badge {gap:6px; height:30px; padding:0 12px 0 10px; border-radius:6px; font-size:13.5px; font-weight:800; letter-spacing:.02em; line-height:1}
body.kls-pdp .kls-pdp-badge svg {width:18px; height:18px; flex:none}
body.kls-pdp .kls-pdp-badge--best {position:relative; padding-right:20px; border:0; border-radius:6px 0 0 6px; color:#fff; background:linear-gradient(100deg,#E8432B 0%,#F26B1D 55%,#F9A11B 100%); box-shadow:0 2px 0 #B8331F; clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%); text-shadow:0 1px 0 rgba(122,46,0,.35)}
body.kls-pdp .kls-pdp-badge--best b {font-size:12px; font-weight:900; background:#FFE27A; color:#7A2E00; border-radius:4px; padding:3px 5px; text-shadow:none; font-style:italic}
body.kls-pdp .kls-pdp-badge--best::after {content:""; position:absolute; top:0; left:-40%; width:30%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent); animation:kls-shine 3.2s ease-in-out 1s 2}
@keyframes kls-shine {to {left:120%}}
@media (prefers-reduced-motion:reduce) {body.kls-pdp .kls-pdp-badge--best::after {animation:none; display:none}}
body.kls-pdp .kls-pdp-badge--cold {color:#fff; background:#2D86D2; border:0; box-shadow:0 2px 0 #1D5F9C}
body.kls-pdp .kls-pdp-badge--sub {color:#24406A; background:#FFE27A; border:0; box-shadow:0 2px 0 #D9AE12}
/* WooCommerce keeps the gallery at opacity 0 until its slider script runs, so the product photo (the page's
   largest element) only appeared after JavaScript. The layout above is already reserved, so show it at once. */
body.kls-pdp .kls-pdp-hero > .woocommerce-product-gallery {opacity:1!important}
