.kl-product-detail { padding: 0px 0px 35px; background: var(--kl-cream); }
.kl-product-top { display: grid; grid-template-columns: minmax(0px, 1.18fr) minmax(390px, 0.82fr); gap: 28px; align-items: start; }
.kl-product-gallery { display: grid; grid-template-columns: 82px minmax(0px, 1fr); gap: 12px; min-width: 0px; }
.kl-product-thumbs { display: flex; flex-direction: column; gap: 10px; }
.kl-product-thumb { position: relative; overflow: hidden; width: 82px; aspect-ratio: 1 / 1; display: grid; place-items: center; padding: 4px; border: 1px solid var(--kl-line); border-radius: 14px; background: rgb(255, 255, 255); cursor: pointer; transition: border-color 0.2s, transform 0.2s; }
.kl-product-thumb:hover, .kl-product-thumb.is-active { border: 2px solid var(--kl-red); transform: translateY(-1px); }
.kl-product-thumb img { width: 100%; height: 100%; object-fit: contain; border-radius: 10px; }
.kl-product-thumb--video { min-height: 82px; background: linear-gradient(145deg, rgb(255, 241, 217), rgb(255, 229, 198)); }
.kl-product-thumb--video span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, 0.92); color: var(--kl-red); box-shadow: var(--kl-shadow-sm); }
.kl-product-thumb--video small { position: absolute; bottom: 5px; font-size: 8px; font-weight: 800; }
.kl-product-main-media { position: relative; min-width: 0px; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid var(--kl-line); border-radius: 24px; background: rgb(255, 255, 255); box-shadow: var(--kl-shadow-sm); }
.kl-product-main-media__image, .kl-product-main-media__video { width: 100%; height: 100%; display: grid; place-items: center; background: linear-gradient(145deg, rgb(255, 255, 255), rgb(255, 247, 236)); }
.kl-product-main-media__image img { width: 100%; height: 100%; object-fit: contain; padding: 18px; }
.kl-product-main-media__video iframe, .kl-product-main-media__video video { width: 100%; height: 100%; border: 0px; object-fit: contain; background: rgb(0, 0, 0); }
.kl-product-badge { position: absolute; z-index: 3; top: 17px; left: 17px; display: inline-flex; align-items: center; gap: 5px; min-height: 32px; padding: 7px 12px; border-radius: 999px; background: var(--kl-red); color: rgb(255, 255, 255); font-size: 11px; font-weight: 900; }
.kl-product-badge svg { width: 15px; height: 15px; }
.kl-gallery-zoom { position: absolute; z-index: 4; top: 15px; right: 15px; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--kl-line); border-radius: 50%; background: rgba(255, 255, 255, 0.95); color: var(--kl-ink); cursor: pointer; }
.kl-gallery-zoom svg { width: 19px; height: 19px; }
.kl-gallery-arrow { position: absolute; z-index: 3; top: 50%; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--kl-line); border-radius: 50%; background: rgba(255, 255, 255, 0.93); color: var(--kl-ink); transform: translateY(-50%); cursor: pointer; box-shadow: var(--kl-shadow-sm); }
.kl-gallery-arrow--prev { left: 13px; }
.kl-gallery-arrow--next { right: 13px; }
.kl-gallery-arrow svg { width: 18px; height: 18px; }
.kl-buy-card { position: sticky; top: 18px; padding: 24px; border: 1px solid var(--kl-line); border-radius: 24px; background: rgb(255, 255, 255); box-shadow: var(--kl-shadow); }
.admin-bar .kl-buy-card { top: 50px; }
.kl-buy-card__badge { display: inline-flex; align-items: center; gap: 5px; margin-bottom: 8px; padding: 6px 10px; border-radius: 999px; background: rgb(255, 240, 223); color: var(--kl-red); font-size: 10px; font-weight: 900; }
.kl-buy-card__badge svg { width: 14px; height: 14px; }
.kl-buy-card h1 { margin: 0px 0px 9px; font-size: clamp(28px, 2.7vw, 42px); line-height: 1.05; }
.kl-buy-card > .kl-stars { margin-bottom: 14px; font-size: 16px; }
.kl-product-price { margin: 0px 0px 4px; color: var(--kl-red); font-family: "Baloo 2", sans-serif; font-size: clamp(30px, 3vw, 42px); font-weight: 900; line-height: 1; }
.kl-product-price del { color: rgb(158, 141, 132); font-size: 15px; font-weight: 500; }
.kl-product-price ins { text-decoration: none; }
.kl-installments { font-size: 12px; margin: 8px 0px 7px !important; color: var(--kl-ink) !important; }
.kl-pix-price { display: inline-flex; align-items: center; gap: 5px; padding: 7px 10px; border-radius: 9px; background: rgb(239, 249, 240); font-size: 11px; margin: 0px 0px 15px !important; color: var(--kl-success) !important; }
.kl-pix-price span { font-size: 16px; }
.kl-product-bullets { display: flex; flex-direction: column; gap: 8px; margin: 5px 0px 18px; padding: 0px; list-style: none; }
.kl-product-bullets li { display: flex; align-items: flex-start; gap: 8px; color: var(--kl-ink); font-size: 12px; line-height: 1.35; }
.kl-product-bullets svg { flex: 0 0 auto; width: 17px; height: 17px; color: var(--kl-orange); }
.kl-native-cart-form { display: flex; flex-direction: column; gap: 10px; }
.kl-native-cart-form form.cart { align-items: stretch; gap: 10px; display: flex !important; margin: 0px !important; }
.kl-native-cart-form .quantity { min-width: 104px; align-items: center; border: 1px solid var(--kl-line); border-radius: 14px; background: rgb(255, 255, 255); display: flex !important; }
.kl-native-cart-form .quantity input.qty { width: 100% !important; height: 48px !important; border: 0px !important; background: transparent !important; text-align: center !important; }
.kl-native-cart-form .single_add_to_cart_button { min-height: 50px !important; flex: 1 1 0% !important; border-radius: 14px !important; background: var(--kl-red) !important; color: rgb(255, 255, 255) !important; font-size: 14px !important; }
.kl-native-cart-form .variations_form { display: block !important; }
.kl-native-cart-form table.variations { width: 100%; margin: 0px 0px 10px; border: 0px; }
.kl-native-cart-form table.variations tr { display: block; margin-bottom: 10px; }
.kl-native-cart-form table.variations th, .kl-native-cart-form table.variations td { display: block; padding: 0px !important; border: 0px !important; }
.kl-native-cart-form table.variations label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 900; }
.kl-native-cart-form table.variations select { height: 45px; padding: 0px 12px !important; }
.kl-native-cart-form .reset_variations { display: inline-block; margin-top: 5px; color: var(--kl-red); font-size: 10px; }
.kl-native-cart-form .woocommerce-variation-price { margin-bottom: 8px; }
.kl-native-cart-form .stock { margin: 4px 0px; color: var(--kl-success); font-size: 11px; font-weight: 800; }
.kl-buy-now { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 2px solid rgb(239, 140, 113); border-radius: 14px; background: rgb(255, 255, 255); color: var(--kl-red); font-weight: 900; cursor: pointer; }
.kl-buy-now:hover { background: rgb(255, 244, 239); }
.kl-buy-now svg { width: 18px; height: 18px; }
.kl-shipping-calculator { margin-top: 15px; padding: 14px; border: 1px solid var(--kl-line); border-radius: 15px; background: rgb(255, 250, 243); }
.kl-shipping-calculator h2 { margin: 0px 0px 8px; font-family: inherit; font-size: 12px; }
.kl-shipping-calculator > div { display: flex; gap: 8px; }
.kl-shipping-calculator input { min-width: 0px; flex: 1 1 0%; height: 42px; padding: 0px 12px; border: 1px solid var(--kl-line); border-radius: 10px; background: rgb(255, 255, 255); }
.kl-shipping-calculator button { min-width: 90px; border: 1px solid var(--kl-line); border-radius: 10px; background: rgb(255, 255, 255); color: var(--kl-ink); font-size: 11px; font-weight: 900; cursor: pointer; }
.kl-shipping-result { font-size: 10px; line-height: 1.45; margin: 8px 0px 0px !important; }
.kl-shipping-result.is-error { color: rgb(166, 52, 43) !important; }
.kl-shipping-result.is-success { color: var(--kl-success) !important; }
.kl-buy-assurance { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 14px; }
.kl-buy-assurance span { display: flex; align-items: center; gap: 7px; padding: 9px; border-radius: 11px; background: rgb(255, 250, 244); }
.kl-buy-assurance svg { flex: 0 0 auto; width: 20px; height: 20px; color: var(--kl-red); }
.kl-buy-assurance b { display: flex; flex-direction: column; font-size: 9px; line-height: 1.25; }
.kl-buy-assurance small { margin-top: 2px; color: var(--kl-muted); font-size: 8px; font-weight: 500; }
.kl-product-summary-copy { display: grid; grid-template-columns: minmax(260px, 0.7fr) 1fr; gap: 25px; margin-top: 18px; padding: 19px 22px; border: 1px solid var(--kl-line); border-radius: 18px; background: rgb(255, 255, 255); }
.kl-product-summary-copy ul { display: flex; flex-direction: column; gap: 7px; margin: 0px; padding: 0px; list-style: none; }
.kl-product-summary-copy li { display: flex; gap: 8px; font-size: 12px; color: var(--kl-ink); }
.kl-product-summary-copy svg { flex: 0 0 auto; width: 17px; height: 17px; color: var(--kl-red); }
.kl-product-summary-copy p { margin: 0px; font-size: 12px; line-height: 1.65; }
.kl-product-info-grid { display: grid; grid-template-columns: minmax(0px, 1.45fr) minmax(300px, 0.75fr); gap: 20px; margin: 28px 0px; }
.kl-product-tabs, .kl-product-faq { border: 1px solid var(--kl-line); border-radius: 20px; background: rgb(255, 255, 255); box-shadow: var(--kl-shadow-sm); }
.kl-product-tabs__nav { display: flex; border-bottom: 1px solid var(--kl-line); }
.kl-product-tabs__nav button { position: relative; min-height: 56px; padding: 0px 24px; border: 0px; background: transparent; color: var(--kl-muted); font-size: 12px; font-weight: 900; cursor: pointer; }
.kl-product-tabs__nav button::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: -1px; height: 3px; border-radius: 999px; background: transparent; }
.kl-product-tabs__nav button.is-active { color: var(--kl-ink); }
.kl-product-tabs__nav button.is-active::after { background: var(--kl-red); }
.kl-product-tab { padding: 24px; color: var(--kl-muted); font-size: 13px; line-height: 1.7; }
.kl-product-tab > :first-child { margin-top: 0px; }
.kl-product-tab > :last-child { margin-bottom: 0px; }
.kl-spec-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0px; margin: 0px; border: 1px solid var(--kl-line); border-radius: 14px; overflow: hidden; }
.kl-spec-list div { display: grid; grid-template-columns: 140px 1fr; min-height: 48px; border-bottom: 1px solid var(--kl-line); }
.kl-spec-list div:nth-last-child(-n+2) { border-bottom: 0px; }
.kl-spec-list dt, .kl-spec-list dd { margin: 0px; padding: 12px; font-size: 11px; }
.kl-spec-list dt { background: rgb(255, 248, 239); color: var(--kl-ink); font-weight: 900; }
.kl-product-faq { padding: 22px; }
.kl-product-faq h2 { margin: 0px 0px 14px; font-size: 22px; }
.kl-related-products { margin: 34px 0px; }
.kl-related-grid { display: grid; grid-template-columns: repeat(6, minmax(0px, 1fr)); gap: 13px; }
.kl-mobile-buybar { display: none; }
.kl-lightbox { position: fixed; z-index: 999999; inset: 0px; display: grid; place-items: center; padding: 40px; background: rgba(25, 15, 10, 0.88); }
.kl-lightbox[hidden] { display: none; }
.kl-lightbox img { max-width: min(90vw, 1100px); max-height: 90vh; object-fit: contain; border-radius: 18px; background: rgb(255, 255, 255); }
.kl-lightbox button { position: fixed; top: 20px; right: 20px; width: 46px; height: 46px; display: grid; place-items: center; border: 0px; border-radius: 50%; background: rgb(255, 255, 255); color: var(--kl-ink); cursor: pointer; }
.kl-product-summary-copy--text { display: block; }
.kl-product-summary-copy--text > div { max-width: 920px; }
.kl-product-summary-copy--text p { font-size: 13px; }

/* Reference-matched product composition (v2.1). */
.kl-product-top {
  grid-template-columns: minmax(0, 1.28fr) minmax(430px, .72fr);
  gap: 30px;
}
.kl-product-visual-column { min-width: 0; }
.kl-product-gallery { grid-template-columns: 84px minmax(0, 1fr); gap: 14px; }
.kl-product-main-media { border-radius: 20px; box-shadow: none; }
.kl-product-main-media__image img { padding: 22px; }
.kl-buy-card { padding: 22px; border-radius: 20px; box-shadow: 0 12px 32px rgba(86,50,28,.08); }
.kl-buy-card h1 {
  display: -webkit-box;
  overflow: hidden;
  margin-bottom: 8px;
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.08;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.kl-product-price { font-size: clamp(30px, 2.5vw, 38px); }
.kl-native-cart-form .wd-buy-now-btn { display: none !important; }
.kl-native-cart-form .single_add_to_cart_button { min-height: 52px !important; }
.kl-buy-now { min-height: 50px; }
.kl-buy-assurance { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 5px; }
.kl-buy-assurance span { flex-direction: column; justify-content: flex-start; padding: 9px 5px; text-align: center; }
.kl-buy-assurance svg { width: 22px; height: 22px; }
.kl-buy-assurance b { font-size: 8px; }
.kl-buy-assurance small { font-size: 7px; }
.kl-product-benefits { padding: 18px 8px 2px 4px; }
.kl-product-benefits ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.kl-product-benefits li { display: flex; align-items: flex-start; gap: 9px; color: var(--kl-ink); font-size: 12px; line-height: 1.45; }
.kl-product-benefits li svg { flex: 0 0 auto; width: 17px; height: 17px; color: var(--kl-orange); }
.kl-product-benefits p { margin: 15px 0 0; color: var(--kl-muted); font-size: 12px; line-height: 1.65; }
.kl-product-summary-copy--text { margin-top: 22px; }
