/* AUTO-GENERATED 1:1 VITRINE STYLESHEET — DO NOT EDIT DIRECTLY */


/* ==========================================================================
   FONTES TIKTOK SHOP & BASE RESET (1:1 site-standalone)
   ========================================================================== */
@font-face {
  font-family: "TikTokFont";
  src: url("/fonts/TikTokFont-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TikTokFont";
  src: url("/fonts/TikTokFont-Semibold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TikTokFont";
  src: url("/fonts/TikTokFont-Bold.woff2") format("woff2");
  font-weight: 700 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --checkout-surface: #f5f5f5;
  --checkout-panel: #ffffff;
  --checkout-ink: #161823;
  --checkout-muted: #8a8b91;
  --checkout-line: #ececec;
  --checkout-brand: #fe2c55;
  --checkout-cyan: #00a085;
  --border: #ececec;
}

*, *::before, *::after, ::backdrop, ::file-selector-button {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
  -webkit-tap-highlight-color: transparent;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  font-family: "TikTokFont", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: #ffffff;
  color: #161823;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  touch-action: manipulation;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

ol, ul, menu {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: inherit;
}

img, svg, video, canvas {
  display: block;
  vertical-align: middle;
}

img, video {
  max-width: 100%;
  height: auto;
}

button, input, select, optgroup, textarea, ::file-selector-button {
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
  background-image: none;
  opacity: 1;
}

button, input:where([type="button"], [type="reset"], [type="submit"]) {
  appearance: button;
  -webkit-appearance: button;
  background-color: transparent;
  border: 0;
  cursor: pointer;
}

button:disabled {
  cursor: default;
}

input[type="checkbox"], input[type="radio"] {
  appearance: auto;
  -webkit-appearance: auto;
}

[hidden] {
  display: none !important;
}

/* Zero-flicker utility para atualizações in-place de sheets/modals já abertos */
.tk-no-anim,
.tk-no-anim .tk-sheet,
.tk-no-anim .tk-drawer,
.tk-no-anim .tk-dialog-card,
.tk-reviews-full.tk-no-anim {
  animation: none !important;
}

body:has(.olhar-pdp) > #vitrine-root {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
}

body:has(.olhar-pdp) > #vitrine-root > .olhar-pdp {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  width: 100%;
}

.ts-scope.olhar-pdp .options-row {
  width: 100%;
  text-align: left;
}

/* ==========================================================================
   RESUME ORDER BANNER (Faixa superior de pedidos pendentes)
   ========================================================================== */
.tk-resume-banner {
  position: sticky;
  top: 0;
  z-index: 80;
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
  background: #161823;
  color: #fff;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 12.5px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
@media (max-width: 520px), (hover: none), (pointer: coarse) {
  .tk-resume-banner { max-width: none; }
}
.tk-resume-left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1;
}
.tk-resume-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fe2c55;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(254,44,85,0.25);
}
.tk-resume-dot.paid {
  background: #14b8a6;
  box-shadow: 0 0 0 3px rgba(20,184,166,0.25);
}
.tk-resume-txt {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 600;
}
.tk-resume-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.tk-resume-btn {
  background: #fe2c55;
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 5px 11px;
  font-size: 11.5px;
  font-weight: 700;
}
.tk-resume-btn.paid {
  background: #0d9488;
}
.tk-resume-close {
  background: transparent;
  border: 0;
  color: rgba(255,255,255,0.65);
  font-size: 17px;
  line-height: 1;
  padding: 2px 4px;
}

/* ==========================================================================
   STORE LEGAL INFO (Rodapé institucional /loja & PDP)
   ========================================================================== */
.tk-legal {
  color: inherit;
  font-size: 12px;
}
.tk-legal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  border-bottom: 1px solid #ececec;
  padding-bottom: 18px;
}
.ts-dark .tk-legal-grid { border-bottom-color: #2a2b36; }
.tk-legal h3 {
  font-size: 13px;
  font-weight: 700;
  margin: 0 0 10px;
}
.tk-legal-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 11px;
  color: #8a8b91;
  line-height: 1.4;
}
.tk-legal-list a, .tk-legal-list p {
  margin: 0;
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: flex-start;
  gap: 6px;
  word-break: break-word;
}
.tk-legal-mid {
  padding: 18px 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.tk-trust-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.tk-trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  border: 1px solid #ececec;
  background: #f7f7f8;
  padding: 4px 11px;
  font-size: 11px;
  font-weight: 600;
  color: #55575f;
}
.ts-dark .tk-trust-pill {
  background: #22232d;
  border-color: #323442;
  color: #c9cad1;
}
.tk-prot-link {
  background: none;
  border: 0;
  color: #00a085;
  font-size: 11.5px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
}
.tk-track-link {
  color: inherit;
  font-size: 12px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.tk-legal-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 12px;
  font-size: 11px;
  color: #8a8b91;
}
.tk-legal-foot {
  border-top: 1px solid #ececec;
  padding-top: 14px;
  text-align: center;
  font-size: 10.5px;
  line-height: 1.55;
  color: #8a8b91;
}
.ts-dark .tk-legal-foot { border-top-color: #2a2b36; }

/* ==========================================================================
   MODAIS & DRAWERS DA PDP (Variantes, Kit, Bumps, Frete, Proteção, Carrinho, Avaliações)
   ========================================================================== */
.tk-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  background: rgba(0, 0, 0, 0.58);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  animation: tkFadeIn 0.18s ease-out;
}
.tk-overlay.center {
  align-items: center;
  padding: 16px;
}
@keyframes tkFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes tkSlideUp {
  from { transform: translateY(28px); opacity: 0.7; }
  to { transform: translateY(0); opacity: 1; }
}
.tk-sheet {
  width: 100%;
  max-width: 448px;
  max-height: 90vh;
  background: #fff;
  color: #161823;
  border-radius: 22px 22px 0 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: tkSlideUp 0.22s ease-out;
}
.tk-sheet.prot-bg {
  background: #fffdf8;
}
.tk-sheet-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 18px 18px 20px;
}
.tk-sheet-foot {
  flex-shrink: 0;
  border-top: 1px solid #f1f1f2;
  padding: 12px 16px calc(env(safe-area-inset-bottom, 0px) + 14px);
  background: #fff;
}
.tk-sheet-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.tk-sheet-prod {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.tk-sheet-thumb {
  width: 88px;
  height: 88px;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid #f1f1f2;
  background: #f8f8f9;
  flex-shrink: 0;
}
.tk-sheet-price-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}
.tk-sheet-off {
  background: #fe2c55;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
}
.tk-sheet-price {
  color: #fe2c55;
  font-weight: 800;
  font-size: 23px;
  line-height: 1.1;
}
.tk-sheet-price small {
  font-size: 14px;
  font-weight: 700;
}
.tk-sheet-old {
  font-size: 13px;
  color: #b0b0b4;
  text-decoration: line-through;
  margin-top: 2px;
}
.tk-sheet-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.tk-pill-teal {
  background: #e6fbf9;
  color: #0d9488;
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 7px;
  border-radius: 4px;
}
.tk-pill-pink {
  background: #fef0f3;
  color: #fe2c55;
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 7px;
  border-radius: 4px;
}
.tk-close-x {
  background: #f4f4f5;
  border: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #6b7280;
  font-size: 18px;
  flex-shrink: 0;
}
.tk-sec-label {
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #161823;
  margin: 14px 0 10px;
}
.tk-var-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.tk-var-card {
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  padding: 0;
  text-align: center;
  position: relative;
  transition: border-color 0.15s;
}
.tk-var-card.active {
  border-color: #fe2c55;
  box-shadow: 0 0 0 1px #fe2c55;
}
.tk-var-img-wrap {
  position: relative;
  aspect-ratio: 1;
  background: #f7f7f8;
}
.tk-var-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.tk-var-zoom {
  position: absolute;
  top: 5px;
  left: 5px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(255,255,255,0.92);
  border: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #374151;
}
.tk-var-check {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(255,255,255,0.92);
  border: 1.5px solid #d1d5db;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: transparent;
}
.tk-var-card.active .tk-var-check {
  background: #fe2c55;
  border-color: #fe2c55;
  color: #fff;
}
.tk-var-name {
  padding: 6px 5px;
  font-size: 12px;
  font-weight: 600;
  color: #1f2937;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tk-var-card.active .tk-var-name {
  color: #fe2c55;
}
.tk-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tk-opt-chip {
  height: 40px;
  padding: 0 14px;
  border-radius: 9px;
  border: 1.5px solid #e5e7eb;
  background: #fff;
  color: #161823;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.tk-opt-chip.active {
  border-color: #fe2c55;
  background: #fef0f3;
  color: #fe2c55;
}
.tk-color-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,0.15);
}
.tk-qty-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
}
.tk-qty-ctrl {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.tk-qty-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #e5e7eb;
  background: #fff;
  font-size: 17px;
  font-weight: 700;
  color: #374151;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tk-sheet-btns {
  display: flex;
  gap: 10px;
}
.tk-btn-outline {
  flex: 1;
  height: 48px;
  border-radius: 999px;
  border: 2px solid #fe2c55;
  background: #fff;
  color: #fe2c55;
  font-size: 14.5px;
  font-weight: 700;
}
.tk-btn-primary {
  flex: 1;
  height: 48px;
  border-radius: 999px;
  border: 0;
  background: #fe2c55;
  color: #fff;
  font-size: 14.5px;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.tk-btn-primary:disabled, .tk-btn-outline:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* Order Bump Card (Modal & Checkout V1/V2) */
.tk-bump-card {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 11px 12px;
  border-radius: 12px;
  border: 2px dashed #fcd34d;
  background: rgba(254, 252, 232, 0.75);
  cursor: pointer;
  margin-top: 10px;
  transition: all 0.15s;
}
.tk-bump-card.checked {
  border-color: #fe2c55;
  background: rgba(255, 229, 235, 0.45);
}
.tk-bump-card input[type="checkbox"] {
  width: 19px;
  height: 19px;
  accent-color: #fe2c55;
  margin-top: 3px;
  flex-shrink: 0;
}
.tk-bump-img {
  width: 52px;
  height: 52px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
  background: #f3f4f6;
}
.tk-bump-info {
  flex: 1;
  min-width: 0;
}
.tk-bump-tag {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #d97706;
}
.tk-bump-title {
  font-size: 13px;
  font-weight: 700;
  color: #111827;
  margin: 2px 0;
  line-height: 1.25;
}
.tk-bump-desc {
  font-size: 11.5px;
  color: #6b7280;
  margin: 0 0 3px;
  line-height: 1.3;
}
.tk-bump-prices {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.tk-bump-price {
  font-size: 14.5px;
  font-weight: 800;
  color: #fe2c55;
}
.tk-bump-old {
  font-size: 11.5px;
  color: #9ca3af;
  text-decoration: line-through;
}
.tk-bump-sizes {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}
.tk-bump-sz {
  border-radius: 999px;
  border: 1px solid #d1d5db;
  background: #fff;
  color: #374151;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 9px;
}
.tk-bump-sz.active {
  border-color: #fe2c55;
  background: #fe2c55;
  color: #fff;
}

/* Fullscreen Reviews & Lightbox */
.tk-reviews-full {
  position: fixed;
  inset: 0;
  z-index: 130;
  background: #fff;
  color: #161823;
  display: flex;
  flex-direction: column;
  max-width: 480px;
  margin: 0 auto;
  box-shadow: 0 0 40px rgba(0,0,0,0.18);
}
@media (max-width: 520px) {
  .tk-reviews-full { max-width: none; }
}
.tk-reviews-top {
  height: 54px;
  border-bottom: 1px solid #f1f1f2;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  flex-shrink: 0;
}
.tk-reviews-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 11px 14px;
  border-bottom: 1px solid #f1f1f2;
  scrollbar-width: none;
  flex-shrink: 0;
}
.tk-rev-filter {
  flex-shrink: 0;
  height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #374151;
  font-size: 12px;
  font-weight: 600;
}
.tk-rev-filter.active {
  background: #161823;
  color: #fff;
  border-color: #161823;
}
.tk-reviews-scroll {
  flex: 1 1 auto;
  overflow-y: auto;
}
.tk-rev-card {
  padding: 15px 16px;
  border-bottom: 1px solid #f1f1f2;
}
.tk-rev-user {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 6px;
}
.tk-rev-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #f1f1f2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
  color: #4b5563;
  overflow: hidden;
  flex-shrink: 0;
}
.tk-rev-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tk-rev-photos {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  margin-top: 9px;
}
.tk-rev-photos img {
  width: 78px;
  height: 78px;
  border-radius: 7px;
  object-fit: cover;
  cursor: pointer;
  background: #f3f4f6;
}
.tk-lightbox {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(0, 0, 0, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.tk-lightbox img {
  max-width: 100%;
  max-height: 88vh;
  border-radius: 10px;
  object-fit: contain;
}
.tk-lightbox-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 0;
  background: rgba(255,255,255,0.14);
  color: #fff;
  font-size: 22px;
}

/* ==========================================================================
   TIKTOK SHOP V2 CHECKOUT (1:1 checkout.tsx checkoutTheme === "tiktok_v2")
   ========================================================================== */
.tkv2-shell {
  max-width: 512px;
  min-height: 100vh;
  margin: 0 auto;
  background: #f5f5f5;
  color: #111827;
  display: flex;
  flex-direction: column;
  padding-bottom: 96px;
}
.tkv2-top {
  position: sticky;
  top: 0;
  z-index: 25;
  height: 48px;
  background: #fff;
  border-bottom: 1px solid #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
}
.tkv2-back {
  position: absolute;
  left: 10px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #111827;
}
.tkv2-rating-badge {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 13.5px;
  font-weight: 700;
  color: #b45309;
}
.tkv2-title {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0;
}
.tkv2-free-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #e8faf6;
  color: #119982;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
}
.tkv2-addr-btn {
  width: 100%;
  background: #fff;
  border: 0;
  padding: 14px 16px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
}
.tkv2-addr-left {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  flex: 1;
}
.tkv2-card {
  margin-top: 8px;
  background: #fff;
  padding: 15px 16px;
}
.tkv2-store-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.tkv2-store-name {
  font-size: 14.5px;
  font-weight: 800;
  color: #111827;
  margin: 0;
}
.tkv2-note-btn {
  background: none;
  border: 0;
  color: #9ca3af;
  font-size: 12.5px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 0;
}
.tkv2-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 6px 0;
}
.tkv2-item + .tkv2-item {
  margin-top: 8px;
  border-top: 1px solid #f9fafb;
  padding-top: 12px;
}
.tkv2-item-img {
  width: 76px;
  height: 76px;
  border-radius: 8px;
  border: 1px solid #f3f4f6;
  object-fit: cover;
  flex-shrink: 0;
}
.tkv2-item-body {
  flex: 1;
  min-width: 0;
}
.tkv2-item-title {
  font-size: 13.5px;
  font-weight: 600;
  color: #111827;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tkv2-item-sub {
  font-size: 12px;
  color: #9ca3af;
  margin: 2px 0 0;
}
.tkv2-item-row {
  margin-top: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.tkv2-item-price {
  font-size: 16px;
  font-weight: 800;
  color: #fe2c55;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.tkv2-qty {
  display: inline-flex;
  align-items: center;
  height: 28px;
  border-radius: 6px;
  background: #f3f4f6;
  padding: 0 4px;
  font-size: 13px;
  font-weight: 700;
}
.tkv2-qty button {
  border: 0;
  background: transparent;
  padding: 0 8px;
  font-size: 15px;
  color: #374151;
}
.tkv2-qty button:disabled {
  opacity: 0.35;
}
.tkv2-ship-green {
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 12px;
  border: 1px solid #b2f0e8;
  background: #eefcf9;
  padding: 11px 14px;
}
.tkv2-ship-opt {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  padding: 10px 13px;
  text-align: left;
  margin-top: 8px;
}
.tkv2-ship-opt.active {
  border-color: #14b8a6;
  background: #eefcf9;
}
.tkv2-radio {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  border: 2px solid #d1d5db;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.tkv2-ship-opt.active .tkv2-radio {
  border-color: #fe2c55;
  background: #fe2c55;
}
.tkv2-ship-opt.active .tkv2-radio::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
}
.tkv2-discount-bar {
  margin-top: 8px;
  background: #fff;
  padding: 13px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.tkv2-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: #6b7280;
  margin-top: 7px;
}
.tkv2-summary-row.bold {
  font-size: 13.5px;
  font-weight: 700;
  color: #111827;
  margin-top: 10px;
}
.tkv2-pay-row {
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #f3f4f6;
  padding: 12px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
}
.tkv2-pay-row:last-child {
  border-bottom: 0;
  padding-bottom: 2px;
}
.tkv2-check-pink {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fe2c55;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.tkv2-footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  max-width: 512px;
  margin: 0 auto;
  background: #fff;
  border-top: 1px solid #e5e7eb;
  padding: 10px 16px calc(env(safe-area-inset-bottom, 0px) + 10px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.tkv2-submit {
  min-width: 215px;
  min-height: 48px;
  border-radius: 999px;
  border: 0;
  background: #fe2c55;
  color: #fff;
  padding: 7px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.tkv2-submit span {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.15;
}
.tkv2-submit small {
  font-size: 10.5px;
  font-weight: 500;
  opacity: 0.95;
  margin-top: 2px;
}

/* V2 Form Fields */
.tkv2-form-sec-title {
  padding: 12px 16px 6px;
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: #6b7280;
}
.tkv2-form-group {
  background: #fff;
}
.tkv2-form-row {
  padding: 13px 16px;
  border-bottom: 1px solid #f3f4f6;
  display: flex;
  align-items: center;
  gap: 10px;
}
.tkv2-form-row:last-child {
  border-bottom: 0;
}
.tkv2-form-input {
  width: 100%;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 14.5px;
  color: #111827;
}
.tkv2-form-input::placeholder {
  color: #9ca3af;
}
.tkv2-form-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid #f3f4f6;
}
.tkv2-form-2col > div:first-child {
  border-right: 1px solid #f3f4f6;
}
.tkv2-switch {
  width: 44px;
  height: 24px;
  border-radius: 999px;
  border: 0;
  background: #e5e7eb;
  position: relative;
  padding: 2px;
  transition: background 0.18s;
}
.tkv2-switch.on {
  background: #14b8a6;
}
.tkv2-switch i {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  transition: transform 0.18s;
}
.tkv2-switch.on i {
  transform: translateX(20px);
}

/* ==========================================================================
   EXIT WARNING DIALOG & PRE-PIX CONFIRM PROMPT MODAL
   ========================================================================== */
.tk-dialog-card {
  width: 100%;
  max-width: 384px;
  background: #fff;
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.25);
  animation: tkSlideUp 0.2s ease-out;
}
.tk-exit-urgency {
  margin: 12px 0;
  border-radius: 12px;
  border: 1px solid rgba(254, 44, 85, 0.25);
  background: #fff5f7;
  padding: 12px;
}
.tk-exit-timer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 700;
  color: #1f2937;
}
.tk-exit-timer-pill {
  background: #fe2c55;
  color: #fff;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px;
  font-weight: 900;
  padding: 2px 8px;
  border-radius: 6px;
}
.tk-exit-bar {
  margin-top: 8px;
  height: 7px;
  border-radius: 999px;
  background: rgba(254, 44, 85, 0.15);
  overflow: hidden;
}
.tk-exit-bar > div {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #fe2c55, #ff6b8b);
  transition: width 0.6s ease;
}

/* ==========================================================================
   TELA DO PIX 1:1 (pix.tsx) + POST-PAYMENT DATA FORM
   ========================================================================== */
.tkpix-shell {
  position: relative;
  max-width: 512px;
  min-height: 100vh;
  margin: 0 auto;
  background: #fff;
  color: #111827;
  overflow-x: hidden;
  padding-bottom: 104px;
}
.tkpix-glow {
  pointer-events: none;
  position: absolute;
  inset: 0;
  height: 360px;
  background:
    radial-gradient(ellipse 120% 70% at -8% -5%, rgba(37,244,238,0.52) 0%, rgba(37,244,238,0.16) 35%, transparent 62%),
    radial-gradient(ellipse 110% 65% at 108% -8%, rgba(254,44,85,0.45) 0%, rgba(254,44,85,0.14) 38%, transparent 64%);
}
.tkpix-header {
  position: sticky;
  top: 0;
  z-index: 40;
  height: 54px;
  display: flex;
  align-items: center;
  padding: 0 8px;
}
.tkpix-header h1 {
  flex: 1;
  margin: 0 36px 0 0;
  text-align: center;
  font-size: 17px;
  font-weight: 700;
  color: #111827;
}
.tkpix-main {
  position: relative;
  padding: 18px 20px 24px;
}
.tkpix-status-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.tkpix-status-title {
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.25px;
  color: #111827;
}
.tkpix-amount {
  margin-top: 8px;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.35px;
  color: #111827;
}
.tkpix-clock-circle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #ff7a00;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(255, 122, 0, 0.35);
}
.tkpix-paid-circle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #e6fbf9;
  color: #2ba095;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.tkpix-exp-wrap {
  margin-top: 18px;
}
.tkpix-exp-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #8a8a8e;
}
.tkpix-exp-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #e21836;
  color: #fff;
  font-size: 13.5px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  padding: 5px 11px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(226, 24, 54, 0.25);
}
.tkpix-deadline {
  margin: 8px 0 0;
  font-size: 13.5px;
  color: #8a8a8e;
}
.tkpix-code-box {
  margin-top: 22px;
  border-radius: 16px;
  border: 1px solid rgba(0, 0, 0, 0.05);
  background: rgba(245, 245, 246, 0.93);
  backdrop-filter: blur(6px);
  padding: 18px 16px 16px;
}
.tkpix-brand-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.5px;
}
.tkpix-brcode {
  margin: 0 0 14px;
  font-size: 16.5px;
  font-weight: 700;
  line-height: 1.35;
  color: #111827;
  word-break: break-all;
  user-select: all;
  cursor: pointer;
}
.tkpix-copy-btn {
  width: 100%;
  height: 50px;
  border-radius: 999px;
  border: 0;
  background: #fe2c55;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(254, 44, 85, 0.28);
  transition: background 0.15s, transform 0.1s;
}
.tkpix-copy-btn.copied {
  background: #16994a;
  box-shadow: 0 4px 16px rgba(22, 153, 74, 0.28);
}
.tkpix-note-cream {
  margin-top: 16px;
  border-radius: 10px;
  border: 1px solid #f2e6c9;
  background: #fdf9ec;
  padding: 12px;
  font-size: 12.5px;
  line-height: 1.5;
  color: #6b7280;
}
.tkpix-shield-box {
  margin-top: 18px;
  border-radius: 12px;
  border: 1px solid #f2e6c9;
  background: #fdf9ec;
  padding: 13px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13.5px;
  font-weight: 600;
  color: #1f2937;
}
.tkpix-yellow-notice {
  margin-top: 14px;
  border-radius: 12px;
  border: 1px solid #fde047;
  background: #fefce8;
  padding: 13px 14px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  color: #854d0e;
}
.tkpix-receipt-toggle {
  margin-top: 14px;
  width: 100%;
  height: 50px;
  border-radius: 12px;
  border: 1.5px solid #16994a;
  background: #fff;
  color: #16994a;
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.tkpix-receipt-box {
  margin-top: 12px;
  border-radius: 16px;
  border: 1px solid #bbf7d0;
  background: #f4fbf7;
  padding: 16px;
}
.tkpix-sandbox-btn {
  margin-top: 14px;
  width: 100%;
  height: 46px;
  border-radius: 12px;
  border: 1.5px dashed #0d9488;
  background: #eefcf9;
  color: #0f766e;
  font-size: 13.5px;
  font-weight: 800;
}
.tkpix-footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 45;
  max-width: 512px;
  margin: 0 auto;
  padding: 12px 16px calc(env(safe-area-inset-bottom, 0px) + 16px);
  background: linear-gradient(to top, rgba(255,255,255,0.97) 70%, rgba(255,255,255,0));
}
.tkpix-order-btn {
  width: 100%;
  height: 50px;
  border-radius: 10px;
  border: 0;
  background: #2f2f33;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}
.tkpix-order-btn.paid {
  background: #fe2c55;
}

/* Post-Payment Data Form */
.tk-postpay-card {
  margin-top: 18px;
  border-radius: 18px;
  border: 1.5px solid #fe2c55;
  background: #fff;
  padding: 18px 16px;
  box-shadow: 0 10px 28px rgba(254, 44, 85, 0.08);
}
.tk-postpay-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
}
.tk-input {
  width: 100%;
  height: 46px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  padding: 0 13px;
  font-size: 14.5px;
  color: #111827;
  outline: none;
}
.tk-input:focus {
  border-color: #fe2c55;
  background: #fff;
}
.tk-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* ==========================================================================
   PÁGINAS DE PEDIDO (/pedido/:id) & RASTREIO (/rastreio)
   ========================================================================== */
.tkord-shell {
  max-width: 512px;
  min-height: 100vh;
  margin: 0 auto;
  background: #f5f5f5;
  color: #111827;
  padding-bottom: 48px;
}
.tkord-card {
  background: #fff;
  margin-top: 8px;
  padding: 16px;
}
.tkord-steps {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 12px;
}
.tkord-step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  position: relative;
}
.tkord-dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #e5e7eb;
  color: #9ca3af;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.tkord-step.done .tkord-dot {
  background: #14b8a6;
  color: #fff;
}
.tkord-step.current .tkord-dot {
  background: #fe2c55;
  color: #fff;
  box-shadow: 0 0 0 4px rgba(254, 44, 85, 0.16);
}

/* Toast Flutuante */
.tk-toast {
  position: fixed;
  left: 50%;
  bottom: 84px;
  transform: translateX(-50%);
  z-index: 300;
  background: rgba(34, 34, 38, 0.95);
  color: #fff;
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 600;
  box-shadow: 0 8px 24px rgba(0,0,0,0.22);
  white-space: nowrap;
  max-width: 92vw;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  animation: tkFadeIn 0.15s ease-out;
}


/* --- site-standalone/src/styles/storefront.css --- */

/* Vitrine da loja - tema proprio da marca. Escopo: .ts-scope */
.ts-scope{--color-primary:#fe2c55;--color-secondary:#0F7F8C;--color-accent:#FF6B35;--color-bg:#ffffff;--color-text:#222222;--color-muted:#777777;--font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--font-heading:var(--font-body);}
.ts-scope .container--narrow{ max-width: 800px; margin: 0 auto; }
.ts-scope .empty-state{ text-align: center; padding: 3rem 1rem; color: var(--color-muted, #777); }
.ts-scope .empty-state .btn{ margin-top: 1rem; }
.ts-scope .btn-icon{ width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #e2e8f0; border-radius: 4px; background: transparent; cursor: pointer; }
.ts-scope .btn-text{ background: none; border: none; padding: 0; cursor: pointer; font-size: .875rem; font-weight: 500; color: var(--color-primary, #333); text-decoration: none; }
.ts-scope .btn-text:hover{ text-decoration: underline; }
.ts-scope .btn-text--danger{ color: #dc2626; }
.ts-scope .breadcrumb{ padding: .75rem 0 .25rem; font-size: .82rem; color: var(--color-muted, #888); }
.ts-scope .breadcrumb__list{ display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .5rem; list-style: none; padding: 0; margin: 0; }
.ts-scope .breadcrumb__item{ display: inline-flex; align-items: center; }
.ts-scope .breadcrumb__item + .breadcrumb__item::before{ content: '/'; margin-right: .5rem; color: #cbd5e1; }
.ts-scope .breadcrumb__link{ color: var(--color-muted, #888); text-decoration: none; }
.ts-scope .breadcrumb__link:hover{ color: var(--color-primary); text-decoration: underline; }
.ts-scope .breadcrumb__item--active{ color: var(--color-text, #333); font-weight: 600; }
.ts-scope .product-page{ display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 768px){.ts-scope .product-page{ grid-template-columns: 1fr 1fr; align-items: start; }}
.ts-scope .product-page__gallery{ min-width: 0; overflow: hidden; }
.ts-scope .product-page__title{ font-size: 1.75rem; margin-bottom: .75rem; }
.ts-scope .product-page__description{ margin: 1.5rem 0; color: var(--color-muted, #666); }
.ts-scope .product-sku{ font-size: .8rem; color: var(--color-muted, #888); margin-bottom: .5rem; }
.ts-scope .product-gallery{ overflow: hidden; }
.ts-scope .product-gallery__slider-wrap{ position: relative; }
.ts-scope .product-gallery__slider{ display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.ts-scope .product-gallery__slider::-webkit-scrollbar{ display: none; }
.ts-scope .product-gallery__slide{ flex: 0 0 100%; scroll-snap-align: start; }
.ts-scope .product-gallery__slide img, .ts-scope .product-gallery__slide video{ width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; display: block; }
.ts-scope .product-gallery__arrow{ position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; background: rgba(255,255,255,.85); border: none; font-size: 1.5rem; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,.15); }
.ts-scope .product-gallery__arrow--prev{ left: .5rem; }
.ts-scope .product-gallery__arrow--next{ right: .5rem; }
.ts-scope .product-gallery__dots{ display: flex; justify-content: center; gap: .5rem; margin-top: .75rem; }
.ts-scope .product-gallery__dot{ width: 8px; height: 8px; border-radius: 50%; border: none; background: #cbd5e1; cursor: pointer; padding: 0; }
.ts-scope .product-gallery__dot.active{ background: var(--color-primary); }
.ts-scope .product-gallery__main{ width: 100%; max-width: 100%; aspect-ratio: 1; border-radius: 8px; overflow: hidden; display: none; }
.ts-scope .product-gallery__main img, .ts-scope .product-gallery__main video{ width: 100%; height: 100%; object-fit: cover; display: block; }
.ts-scope .product-gallery__thumbs{ display: none !important; gap: .5rem; margin-top: .75rem; overflow-x: auto; scrollbar-width: none; }
.ts-scope .product-gallery__thumbs::-webkit-scrollbar{ display: none; }
.ts-scope .product-gallery__thumb{ position: relative; width: 64px; height: 64px; border: 2px solid transparent; border-radius: 6px; overflow: hidden; padding: 0; background: none; cursor: pointer; flex-shrink: 0; }
.ts-scope .product-gallery__thumb.active{ border-color: var(--color-primary); }
.ts-scope .product-gallery__thumb img, .ts-scope .product-gallery__thumb video{ width: 100%; height: 100%; object-fit: cover; }
.ts-scope .product-gallery__thumb-play{ position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 12px; text-shadow: 0 1px 4px rgba(0,0,0,.7); pointer-events: none; }
.ts-scope .product-gallery__placeholder{ aspect-ratio: 1; background: #f1f5f9; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
@media (min-width: 768px){.ts-scope .product-gallery__slider-wrap{ display: none !important; }
.ts-scope .product-gallery__dots{ display: none !important; }
.ts-scope .product-gallery__main{ display: block !important; }
.ts-scope .product-gallery__thumbs{ display: flex !important; }}
.ts-scope :where(.product-page) .product-form{ margin-top: 1.5rem; }
.ts-scope :where(.product-page) .product-form__variants{ margin-bottom: 1rem; }
.ts-scope :where(.product-page) .variant-group{ margin-bottom: .75rem; }
.ts-scope :where(.product-page) .variant-group label{ display: block; font-size: .875rem; font-weight: 600; margin-bottom: .25rem; }
.ts-scope :where(.product-page) .variant-group select{ width: 100%; padding: .5rem; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 1rem; }
.ts-scope :where(.product-page) .product-form__quantity{ margin-bottom: 1rem; }
.ts-scope :where(.product-page) .product-form__quantity label{ display: block; font-size: .875rem; font-weight: 600; margin-bottom: .5rem; }
.ts-scope .qty-selector{ display: flex; align-items: center; border: 2px solid #e2e8f0; border-radius: 8px; overflow: hidden; width: fit-content; }
.ts-scope .qty-selector__btn{ width: 48px; height: 44px; display: flex; align-items: center; justify-content: center; background: transparent; border: none; font-size: 1.25rem; color: var(--color-text, #222); cursor: pointer; }
.ts-scope .qty-selector__btn:hover{ background: #f1f5f9; }
.ts-scope .qty-selector__input{ width: 48px; height: 44px; text-align: center; border: none; font-size: 1.125rem; font-weight: 600; background: transparent; color: var(--color-text, #222); -moz-appearance: textfield; }
.ts-scope .qty-selector__input::-webkit-outer-spin-button, .ts-scope .qty-selector__input::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
.ts-scope .share-btn{ margin-top: .5rem; gap: .5rem; font-size: .875rem; }
.ts-scope .free-shipping-banner{ display: flex; align-items: center; gap: .5rem; margin-top: .75rem; padding: .625rem .875rem; border-radius: 8px; font-size: .8rem; line-height: 1.4; background: #fef9c3; color: #854d0e; border: 1px solid #fde68a; }
.ts-scope .free-shipping-banner--success{ background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.ts-scope .free-shipping-banner svg{ flex-shrink: 0; }
.ts-scope .shipping-calc{ margin-top: 1.5rem; border: 1px solid #e2e8f0; border-radius: 8px; padding: 1rem; }
.ts-scope .shipping-calc__title{ font-size: .9rem; font-weight: 600; margin-bottom: .75rem; }
.ts-scope .shipping-calc__form{ display: flex; gap: .5rem; }
.ts-scope .shipping-calc__input{ flex: 1; padding: .5rem .75rem; border: 1px solid #e2e8f0; border-radius: 6px; font-size: .875rem; }
.ts-scope .shipping-calc__input:focus{ outline: none; border-color: var(--color-primary); }
.ts-scope .shipping-calc__btn{ padding: .5rem 1rem; background: var(--color-primary); color: #fff; border: none; border-radius: 6px; font-size: .875rem; font-weight: 600; cursor: pointer; white-space: nowrap; }
.ts-scope .cart{ display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 768px){.ts-scope .cart{ grid-template-columns: 2fr 1fr; align-items: start; }}
.ts-scope .cart-item{ display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #e2e8f0; }
.ts-scope .cart-item__image{ width: 80px; height: 80px; border-radius: 6px; object-fit: cover; flex-shrink: 0; }
.ts-scope .cart-item__details{ flex: 1; min-width: 0; }
.ts-scope .cart-item__name{ font-size: .9rem; font-weight: 600; }
.ts-scope .cart-item__name a:hover{ color: var(--color-primary); }
.ts-scope .cart-item__variant{ font-size: .8rem; color: var(--color-muted, #888); }
.ts-scope .cart-item__price{ font-weight: 600; margin-top: .25rem; }
.ts-scope .cart-item__actions{ display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; }
.ts-scope .cart-quantity{ display: inline-flex; align-items: center; border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; }
.ts-scope .cart-quantity .btn-icon{ width: 32px; height: 34px; border: 0; border-radius: 0; background: #fff; font-size: 16px; font-weight: 700; cursor: pointer; }
.ts-scope .cart-quantity .btn-icon:hover{ background: #f1f5f9; }
.ts-scope .cart-quantity__value{ min-width: 34px; text-align: center; font-weight: 700; }
.ts-scope .cart-item__total{ font-weight: 800; }
.ts-scope .cart-item__total--sale{ display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; }
.ts-scope .cart-item__total-compare{ font-size: .8rem; font-weight: 600; text-decoration: line-through; opacity: .55; }
.ts-scope .cart-item__total-now{ font-weight: 800; }
.ts-scope .cart-item--gift{ background: #f0fdf4; border-radius: 8px; padding: .75rem; border-bottom: none; margin-bottom: .5rem; }
.ts-scope .gift-item-badge{ display: inline-block; background: #16a34a; color: #fff; font-size: .625rem; font-weight: 700; padding: .125rem .5rem; border-radius: 9999px; text-transform: uppercase; letter-spacing: .05em; margin-top: .25rem; }
.ts-scope .cart-item__price--free{ color: #16a34a; }
.ts-scope .cart-summary{ background: #f8fafc; padding: 1.5rem; border-radius: 8px; height: fit-content; border: 1px solid #e2e8f0; }
.ts-scope .cart-summary__row{ display: flex; justify-content: space-between; font-size: 1.125rem; font-weight: 700; margin-bottom: .75rem; }
.ts-scope .cart-summary__note{ font-size: .8rem; color: var(--color-muted, #888); margin-bottom: 1rem; }
.ts-scope .cart-coupon{ margin: 1rem 0; padding: 1rem; border: 1px solid #e2e8f0; border-radius: 8px; }
.ts-scope .cart-coupon__form{ display: flex; gap: .5rem; }
.ts-scope .cart-coupon__input{ flex: 1; padding: .5rem; border: 1px solid #e2e8f0; border-radius: 6px; }
.ts-scope .cart-coupon__error{ color: #dc2626; font-size: .85rem; margin-top: .5rem; }
.ts-scope .checkout{ margin-top: 1.5rem; }
.ts-scope .checkout-section{ background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 1.5rem; margin-bottom: 1.5rem; }
.ts-scope .checkout-section h2{ font-size: 1.1rem; margin-bottom: 1rem; padding-bottom: .5rem; border-bottom: 1px solid #f1f5f9; }
.ts-scope .checkout-error{ background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; border-radius: 8px; padding: 1rem; margin-bottom: 1rem; }
.ts-scope .form-group{ margin-bottom: 1rem; }
.ts-scope .form-group label{ display: block; font-size: .875rem; font-weight: 600; margin-bottom: .25rem; }
.ts-scope .form-group input, .ts-scope .form-group textarea, .ts-scope .form-group select{ width: 100%; padding: .55rem .75rem; border: 1px solid #d1d5db; border-radius: 6px; font-size: 1rem; }
.ts-scope .form-group input:focus, .ts-scope .form-group textarea:focus{ outline: none; border-color: var(--color-primary); }
.ts-scope .form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 640px){.ts-scope .form-row{ grid-template-columns: 1fr; }}
.ts-scope .form-group--small{ max-width: 140px; }
.ts-scope .checkout-items{ border-top: 1px solid #f1f5f9; padding-top: .75rem; }
.ts-scope .checkout-item{ display: flex; align-items: center; gap: .6rem; padding: .5rem 0; font-size: .9rem; }
.ts-scope .checkout-item__img{ width: 44px; height: 44px; border-radius: 6px; object-fit: cover; background: #f1f5f9; flex-shrink: 0; }
.ts-scope .checkout-item__info{ display: flex; flex-direction: column; min-width: 0; flex: 1; }
.ts-scope .checkout-item__name{ font-weight: 500; }
.ts-scope .checkout-item__var, .ts-scope .checkout-item__qty{ font-size: .78rem; color: var(--color-muted); }
.ts-scope .checkout-item__price{ font-weight: 600; white-space: nowrap; margin-left: auto; }
.ts-scope .checkout-summary-row{ display: flex; justify-content: space-between; padding: .35rem 0; font-size: .92rem; color: var(--color-muted); }
.ts-scope .checkout-summary-row--discount{ color: #16a34a; }
.ts-scope .checkout-total{ display: flex; justify-content: space-between; padding-top: .75rem; margin-top: .5rem; border-top: 2px solid #e2e8f0; font-weight: 700; font-size: 1.1rem; }
.ts-scope .checkout-shipping{ border-top: 1px solid #f1f5f9; padding-top: .75rem; margin: .25rem 0; }
.ts-scope .checkout-shipping__label{ font-size: .78rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--color-muted); margin-bottom: .5rem; }
.ts-scope .checkout-shipping__opt{ display: flex; align-items: center; gap: .6rem; padding: .6rem .75rem; border: 1px solid #e2e8f0; border-radius: 8px; margin-bottom: .5rem; cursor: pointer; font-size: .9rem; }
.ts-scope .checkout-shipping__opt:has(input:checked){ border-color: var(--color-primary); background: #fafbff; }
.ts-scope .checkout-shipping__info{ flex: 1; }
.ts-scope .checkout-shipping__info small{ color: var(--color-muted); }
.ts-scope .checkout-shipping__price{ font-weight: 600; white-space: nowrap; }
.ts-scope .checkout-payment .checkout-pay{ display: flex; align-items: center; gap: .75rem; padding: .5rem 0; }
.ts-scope .checkout-pay__icon{ color: var(--color-primary); flex-shrink: 0; display: flex; }
.ts-scope .checkout-pay__text{ display: flex; flex-direction: column; }
.ts-scope .checkout-pay__text strong{ font-size: .95rem; }
.ts-scope .checkout-pay__text span{ font-size: .82rem; color: var(--color-muted); }
.ts-scope .checkout-trust{ display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 1.25rem; margin-top: 1rem; }
.ts-scope .checkout-trust__item{ display: flex; align-items: center; gap: .4rem; font-size: .8rem; color: var(--color-muted); }
.ts-scope .checkout-trust__item svg{ color: var(--color-primary); flex-shrink: 0; }
.ts-scope .steps-nav{ display: flex; list-style: none; padding: 0; margin: 0 0 1.5rem; gap: .25rem; }
.ts-scope .steps-nav__item{ flex: 1; display: flex; align-items: center; justify-content: center; gap: .35rem; text-align: center; font-size: .78rem; color: var(--color-muted); padding: .5rem .25rem; border-bottom: 2px solid #e2e8f0; }
.ts-scope .steps-nav__num{ display: inline-flex; align-items: center; justify-content: center; width: 1.35rem; height: 1.35rem; border-radius: 50%; background: #e2e8f0; color: #64748b; font-size: .72rem; font-weight: 700; flex-shrink: 0; }
.ts-scope .steps-nav__item.is-active{ color: var(--color-primary); border-color: var(--color-primary); font-weight: 600; }
.ts-scope .steps-nav__item.is-active .steps-nav__num, .ts-scope .steps-nav__item.is-done .steps-nav__num{ background: var(--color-primary); color: #fff; }
.ts-scope .steps-nav__item.is-done{ color: var(--color-primary); border-color: var(--color-primary); cursor: pointer; }
@media (max-width: 560px){.ts-scope .steps-nav__item{ font-size: 0; gap: 0; }}
.ts-scope .step[hidden]{ display: none; }
.ts-scope .step-actions{ display: flex; gap: .75rem; margin-top: 1rem; }
.ts-scope .step-actions .btn{ flex: 1; }
.ts-scope .step-actions .btn--outline{ flex: 0 0 auto; }
.ts-scope .account-auth{ display: grid; grid-template-columns: 1fr; gap: 2rem; margin-top: 1.5rem; }
@media (min-width: 768px){.ts-scope .account-auth{ grid-template-columns: 1fr auto 1fr; }}
.ts-scope .account-auth__panel h2{ font-size: 1.25rem; margin-bottom: 1rem; }
.ts-scope .account-auth__divider{ display: none; }
@media (min-width: 768px){.ts-scope .account-auth__divider{ display: block; width: 1px; background: #e2e8f0; }}
.ts-scope .account-auth__forgot{ display: block; text-align: center; margin-top: .75rem; font-size: .875rem; color: var(--color-primary); }
.ts-scope .account-alert{ border-radius: 8px; padding: .75rem 1rem; margin-bottom: 1rem; font-size: .9rem; }
.ts-scope .account-alert--error{ background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }
.ts-scope .account-alert--success{ background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
.ts-scope .account-header{ display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 1.5rem; }
.ts-scope .account-header h1{ font-size: 1.5rem; }
.ts-scope .account-info{ background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 1.25rem; margin-bottom: 2rem; }
.ts-scope .account-info__name{ font-weight: 700; font-size: 1.1rem; }
.ts-scope .account-info__email{ color: var(--color-muted, #888); font-size: .9rem; margin-top: .25rem; }
.ts-scope .account-section{ margin-bottom: 2rem; }
.ts-scope .account-section__header{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.ts-scope .account-section__header h2{ font-size: 1.1rem; }
.ts-scope .account-orders-table-wrap{ overflow-x: auto; border: 1px solid #e2e8f0; border-radius: 8px; }
.ts-scope .account-orders-table{ width: 100%; border-collapse: collapse; }
.ts-scope .account-orders-table th{ text-align: left; font-size: .75rem; font-weight: 700; color: var(--color-muted, #888); text-transform: uppercase; letter-spacing: .03em; padding: .65rem .75rem; border-bottom: 2px solid #e2e8f0; white-space: nowrap; }
.ts-scope .account-orders-table td{ padding: .75rem; border-bottom: 1px solid #f1f5f9; font-size: .9rem; white-space: nowrap; }
.ts-scope .account-orders-table tr:last-child td{ border-bottom: none; }
.ts-scope .account-orders-table tr:hover td{ background: #f8fafc; }
.ts-scope .order-status{ display: inline-block; padding: .2rem .625rem; border-radius: 9999px; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; background: #f1f5f9; color: #475569; }
.ts-scope .order-status--pending{ background: #fef3c7; color: #92400e; }
.ts-scope .order-status--confirmed, .ts-scope .order-status--separating{ background: #dbeafe; color: #1e40af; }
.ts-scope .order-status--awaiting_pickup, .ts-scope .order-status--shipped{ background: #e0e7ff; color: #3730a3; }
.ts-scope .order-status--delivered{ background: #dcfce7; color: #166534; }
.ts-scope .order-status--cancelled{ background: #fee2e2; color: #991b1b; }
.ts-scope .order-detail{ margin-top: 1rem; }
.ts-scope .order-detail__meta{ display: flex; flex-wrap: wrap; gap: 2rem; margin-bottom: 1.5rem; padding: 1rem; background: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0; }
.ts-scope .order-detail__meta-item{ display: flex; flex-direction: column; gap: .25rem; }
.ts-scope .order-detail__label{ font-size: .75rem; font-weight: 700; color: var(--color-muted, #888); text-transform: uppercase; }
.ts-scope .order-detail__items{ border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; margin-top: .75rem; }
.ts-scope .order-detail__item{ display: flex; gap: 1rem; padding: 1rem; border-bottom: 1px solid #f1f5f9; align-items: center; }
.ts-scope .order-detail__item:last-child{ border-bottom: none; }
.ts-scope .order-detail__item-image{ width: 64px; height: 64px; border-radius: 6px; object-fit: cover; flex-shrink: 0; }
.ts-scope .order-detail__item-placeholder{ width: 64px; height: 64px; border-radius: 6px; background: #f1f5f9; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ts-scope .order-detail__item-info{ flex: 1; min-width: 0; }
.ts-scope .order-detail__item-name{ font-weight: 600; }
.ts-scope .order-detail__item-variant, .ts-scope .order-detail__item-qty{ font-size: .8rem; color: var(--color-muted, #888); margin-top: .125rem; }
.ts-scope .order-detail__item-price{ font-weight: 700; white-space: nowrap; }
.ts-scope .order-detail__totals{ margin-top: 1.25rem; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 1.25rem; }
.ts-scope .order-detail__total-row{ display: flex; justify-content: space-between; padding: .35rem 0; font-size: .9rem; }
.ts-scope .order-detail__total-row--final{ border-top: 2px solid #e2e8f0; margin-top: .5rem; padding-top: .75rem; font-weight: 700; font-size: 1.1rem; }
.ts-scope .order-detail__address, .ts-scope .order-detail__notes{ margin-top: 1.25rem; }
.ts-scope .order-detail__address h3, .ts-scope .order-detail__notes h3{ font-size: .95rem; margin-bottom: .5rem; }
.ts-scope .order-detail__address p, .ts-scope .order-detail__notes p{ font-size: .9rem; color: var(--color-muted, #888); line-height: 1.5; }
.ts-scope .order-paybar{ display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; background: #fff7ed; border: 1px solid #fed7aa; border-radius: 8px; padding: 1rem 1.25rem; margin-bottom: 1.25rem; }
.ts-scope .order-paybar__txt strong{ display: block; font-weight: 700; color: #9a3412; }
.ts-scope .order-paybar__txt span{ font-size: .85rem; color: var(--color-muted, #888); }
.ts-scope .pagination{ display: flex; justify-content: center; gap: .5rem; margin-top: 2rem; }
.ts-scope .pagination__link{ padding: .5rem .75rem; border: 1px solid #e2e8f0; border-radius: 6px; font-size: .875rem; }
.ts-scope .pagination__link:hover{ background: #f1f5f9; }
.ts-scope .pagination__link--active{ background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
.ts-scope{
  --ts-green: #00B517;          
  --ts-off-bg: #FFE3EA;         
  --ts-frete-bg: #E1FFFF;       
  --ts-bg-soft: #F7F7F7;
  --ts-bg-input: #F5F5F5;
  --ts-border: #E8E8E8;
  --ts-border-2: #DDDDDD;
  --ts-text-2: #555555;
  --ts-text-3: #777777;
  --ts-text-light: #999999;
  --ts-flash: linear-gradient(to right, #F0803C, #fe2c55);
  --ts-radius: 6px;
  --ts-radius-badge: 4px;
  --ts-radius-toast: 12px;
  --ts-shell: 480px;            
}
.ts-scope *{ box-sizing: border-box; }
.ts-scope{
  margin: 0;
  padding: 0;
}
.ts-scope{
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.4;
  color: var(--color-text);
  background: var(--ts-bg-soft);
  -webkit-font-smoothing: antialiased;
}
.ts-scope a{ color: inherit; text-decoration: none; }
.ts-scope img{ max-width: 100%; display: block; }
.ts-scope button{ font-family: inherit; cursor: pointer; }
.ts-scope .flash-bar, .ts-scope .ts-header, .ts-scope .ts-store, .ts-scope .ts-coupons, .ts-scope .ts-tabs, .ts-scope .ts-page, .ts-scope .footer, .ts-scope .ts-footer, .ts-scope #main-content > *{
  max-width: var(--ts-shell);
  margin-left: auto;
  margin-right: auto;
}
.ts-scope #main-content{
  background: var(--color-bg);
  max-width: var(--ts-shell);
  margin: 0 auto;
  min-height: 40vh;
}
.ts-scope .flash-bar{
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--ts-flash);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 8px 16px;
}
.ts-scope .flash-bolt{ display: inline-flex; }
.ts-scope .flash-label{ letter-spacing: 0.02em; }
.ts-scope .flash-sep{ opacity: 0.6; }
.ts-scope .flash-timer{ margin-left: auto; font-weight: 500; }
.ts-scope .flash-timer strong{ font-weight: 700; }
.ts-scope .ts-header{
  background: var(--color-bg);
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid var(--ts-border);
}
.ts-scope .ts-header__inner{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
}
.ts-scope .ts-header__back{
  display: inline-flex;
  color: var(--color-text);
  flex-shrink: 0;
}
.ts-scope .ts-search{
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
}
.ts-scope .ts-search__icon{
  position: absolute;
  left: 12px;
  color: var(--ts-text-3);
  pointer-events: none;
}
.ts-scope .ts-header .ts-search input{
  width: 100%;
  height: 38px;
  border: none;
  background: var(--ts-bg-input);
  border-radius: var(--ts-radius);
  padding: 9px 16px 9px 40px;
  font-size: 15px;
  color: var(--color-text);
  outline: none;
}
.ts-scope .ts-header .ts-search input::placeholder{ color: var(--ts-text-light); }
.ts-scope .ts-header__actions{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.ts-scope .ts-icon-btn{
  display: inline-flex;
  position: relative;
  color: var(--color-text);
}
.ts-scope .ts-cart-count{
  position: absolute;
  top: -6px;
  right: -8px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--color-primary);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}
.ts-scope .ts-store{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  background: var(--color-bg);
}
.ts-scope .ts-store__id{ display: flex; align-items: center; gap: 10px; min-width: 0; }
.ts-scope .ts-store__logo{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid var(--ts-border);
}
.ts-scope .ts-store__logo--mark{
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
  color: #fff;
  font-weight: 800;
  font-size: 20px;
  border: none;
}
.ts-scope .ts-store__meta{ display: flex; flex-direction: column; min-width: 0; }
.ts-scope .ts-store__name{
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ts-scope .ts-store__sales{ font-size: 12px; color: var(--ts-text-3); }
.ts-scope .ts-store__btns{ display: flex; gap: 8px; flex-shrink: 0; }
.ts-scope .ts-btn{
  border: none;
  border-radius: var(--ts-radius);
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}
.ts-scope .ts-btn--primary{ background: var(--color-primary); color: #fff; }
.ts-scope .ts-follow-btn.is-following{
  background: var(--color-bg);
  color: var(--ts-text-2);
  border: 0.8px solid var(--ts-border-2);
}
.ts-scope .ts-btn--outline{
  background: var(--color-bg);
  color: var(--ts-text-2);
  font-weight: 700;
  border: 0.8px solid var(--ts-border-2);
}
.ts-scope .ts-coupons{
  display: flex;
  gap: 12px;
  padding: 4px 16px 14px;
  background: var(--color-bg);
}
.ts-scope .ts-coupon{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: var(--ts-secondary-light, #E8F9FF);
  border: 1px dashed var(--color-secondary);
  border-radius: var(--ts-radius);
  padding: 10px 12px;
}
.ts-scope .ts-coupon--pink{
  background: var(--ts-off-bg);
  border-color: var(--color-primary);
}
.ts-scope .ts-coupon__txt{ display: flex; flex-direction: column; min-width: 0; }
.ts-scope .ts-coupon__txt strong{ font-size: 14px; font-weight: 600; color: #333; }
.ts-scope .ts-coupon__txt span{ font-size: 11px; color: var(--ts-text-3); }
.ts-scope .ts-coupon__btn{
  border: none;
  background: var(--color-secondary);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  border-radius: var(--ts-radius);
  padding: 7px 12px;
  flex-shrink: 0;
}
.ts-scope .ts-coupon--pink .ts-coupon__btn{ background: var(--color-primary); }
.ts-scope .ts-coupon__btn.is-claimed{
  background: #e5e7eb;
  color: #6b7280;
  cursor: default;
  opacity: 1;
}
.ts-scope .ts-tabs{
  display: flex;
  justify-content: center;
  gap: 28px;
  padding: 0 16px;
  background: var(--color-bg);
  border-bottom: 1px solid var(--ts-border);
  position: sticky;
  top: 59px;
  z-index: 20;
  overflow-x: auto;
}
.ts-scope .ts-tab{
  font-size: 13px;
  color: #949191;
  padding: 12px 0;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
}
.ts-scope .ts-tab.is-active{
  color: var(--color-text);
  font-weight: 600;
  border-bottom-color: var(--color-primary);
}
.ts-scope .ts-page{ background: var(--color-bg); padding-bottom: 24px; }
.ts-scope .ts-section{ padding: 14px 16px 4px; }
.ts-scope .ts-section__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.ts-scope .ts-section__head h2{
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
}
.ts-scope .ts-section__tag{
  font-size: 11px;
  font-weight: 600;
  color: var(--color-primary);
  background: var(--ts-off-bg);
  border-radius: var(--ts-radius-badge);
  padding: 2px 8px;
}
.ts-scope .ts-section__see{ font-size: 12px; color: var(--ts-text-3); }
.ts-scope .ts-empty{
  text-align: center;
  color: var(--ts-text-3);
  padding: 48px 16px;
  font-size: 14px;
}
.ts-scope .ts-grid{
  display: grid;
  grid-template-columns: repeat(var(--ts-cols, 3), 1fr);
  gap: 8px;
}
.ts-scope .ts-card[hidden]{ display: none; }
.ts-scope .ts-grid--list{ grid-template-columns: 1fr; }
.ts-scope .ts-grid--list .ts-card{ flex-direction: row; }
.ts-scope .ts-grid--list .ts-card__img{ flex: 0 0 120px; width: 120px; }
.ts-scope .ts-grid--list .ts-card__body{ flex: 1; justify-content: center; }
.ts-scope .ts-card{
  display: flex;
  flex-direction: column;
  background: var(--color-bg);
  border-radius: var(--ts-radius);
  overflow: hidden;
}
.ts-scope .ts-card__img{
  position: relative;
  aspect-ratio: 1 / 1;
  background: var(--ts-bg-soft);
}
.ts-scope .ts-card__img img{ width: 100%; height: 100%; object-fit: cover; }
.ts-scope .ts-card__placeholder{
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ts-scope .ts-rank{
  position: absolute;
  top: 6px;
  left: 6px;
  font-size: 11px;
  font-weight: 800;
  color: #fff;
  padding: 2px 7px;
  border-radius: 0 8px 8px 0;
  letter-spacing: 0.02em;
}
.ts-scope .ts-rank--1{ background: var(--color-accent); }
.ts-scope .ts-rank--2{ background: #9aa0a6; }
.ts-scope .ts-rank--3{ background: #cd7f32; }
.ts-scope .ts-card__body{ padding: 6px 8px 10px; display: flex; flex-direction: column; gap: 4px; }
.ts-scope .ts-card__title{
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
}
.ts-scope .ts-card__price{ display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.ts-scope .ts-card__cur{
  color: var(--color-primary);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}
.ts-scope .ts-card__rs{ font-size: 12px; font-weight: 700; margin-right: 1px; }
.ts-scope .ts-card__old{
  color: var(--ts-text-light);
  font-size: 12px;
  font-weight: 400;
  text-decoration: line-through;
}
.ts-scope .ts-card__badges{ display: flex; flex-wrap: wrap; gap: 4px; }
.ts-scope .ts-badge{
  font-size: 12px;
  border-radius: var(--ts-radius-badge);
  padding: 1px 5px;
  line-height: 1.5;
}
.ts-scope .ts-badge--off{ background: var(--ts-off-bg); color: var(--color-primary); font-weight: 600; }
.ts-scope .ts-badge--frete{ background: var(--ts-frete-bg); color: var(--ts-green); font-weight: 500; }
.ts-scope .ts-card__sales{ font-size: 12px; color: var(--ts-text-light); }
.ts-scope .social-toast{
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 90;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 320px;
  background: var(--color-bg);
  border-radius: var(--ts-radius-toast);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
  padding: 12px 18px 12px 14px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.ts-scope .social-toast.is-visible{ opacity: 1; transform: translateY(0); }
.ts-scope .social-toast__avatar{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  flex-shrink: 0;
}
.ts-scope .social-toast__text{ font-size: 13px; color: var(--ts-text-2); }
.ts-scope .social-toast__text strong{ color: var(--color-text); font-weight: 600; }
.ts-scope .container{ max-width: var(--ts-shell); margin: 0 auto; padding: 0 16px; }
.ts-scope .section{ padding: 16px 0; }
.ts-scope .section--alt{ background: var(--ts-bg-soft); }
.ts-scope .section-header{ margin-bottom: 12px; }
.ts-scope .section-header h2{ margin: 0; font-size: 16px; font-weight: 600; color: var(--color-text); }
.ts-scope .product-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.ts-scope .product-card{ background: var(--color-bg); border-radius: var(--ts-radius); overflow: hidden; }
.ts-scope .product-card__image{ position: relative; aspect-ratio: 1/1; background: var(--ts-bg-soft); }
.ts-scope .product-card__image img{ width: 100%; height: 100%; object-fit: cover; }
.ts-scope .product-card__placeholder{ width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.ts-scope .product-card__badge{
  position: absolute; top: 6px; left: 6px;
  background: var(--color-primary); color: #fff;
  font-size: 11px; font-weight: 600; padding: 2px 7px; border-radius: var(--ts-radius-badge);
}
.ts-scope .product-card__info{ padding: 6px 8px 10px; }
.ts-scope .product-card__title{ margin: 0 0 4px; font-size: 14px; font-weight: 500; line-height: 1.3; }
.ts-scope .price{ display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.ts-scope .price__current, .ts-scope .price--sale{ color: var(--color-primary); font-size: 18px; font-weight: 700; }
.ts-scope .price__compare, .ts-scope .price__original{ color: var(--ts-text-light); font-size: 12px; text-decoration: line-through; }
.ts-scope .btn, .ts-scope .button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary);
  color: #fff;
  border: none;
  border-radius: var(--ts-radius);
  padding: 12px 20px;
  font-size: 15px;
  font-weight: 600;
}
.ts-scope .btn--secondary{ background: var(--color-secondary); }
.ts-scope .btn--outline{ background: var(--color-bg); color: var(--ts-text-2); border: 0.8px solid var(--ts-border-2); }
.ts-scope input[type="text"], .ts-scope input[type="email"], .ts-scope input[type="password"], .ts-scope input[type="search"], .ts-scope input[type="tel"], .ts-scope input[type="number"], .ts-scope textarea, .ts-scope select{
  width: 100%;
  border: 1px solid var(--ts-border-2);
  border-radius: var(--ts-radius);
  padding: 10px 12px;
  font-size: 15px;
  font-family: inherit;
  outline: none;
  background: var(--color-bg);
}
.ts-scope input:focus, .ts-scope textarea:focus, .ts-scope select:focus{ border-color: var(--color-primary); }
.ts-scope table{ width: 100%; border-collapse: collapse; }
.ts-scope th, .ts-scope td{ padding: 10px 8px; text-align: left; border-bottom: 1px solid var(--ts-border); font-size: 13px; }
.ts-scope h1{ font-size: 20px; }
.ts-scope h2{ font-size: 16px; }
.ts-scope h3{ font-size: 14px; }
.ts-scope .footer{
  background: var(--color-bg);
  border-top: 1px solid var(--ts-border);
  padding: 20px 16px 28px;
  margin-top: 16px;
}
.ts-scope .footer a{ color: var(--ts-text-2); }
.ts-scope .footer a:hover{ color: var(--color-primary); }
.ts-scope .footer h4{ font-size: 13px; font-weight: 600; color: var(--color-text); margin: 0 0 8px; }
.ts-scope .footer ul{ list-style: none; padding: 0; margin: 0 0 16px; }
.ts-scope .footer li{ font-size: 13px; padding: 3px 0; }
.ts-scope .footer-inner{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ts-scope .footer-base{
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--ts-border);
  font-size: 11px;
  color: var(--ts-text-light);
}
.ts-scope .payment-icons{ display: flex; flex-wrap: wrap; gap: 6px; }
.ts-scope .payment-icons .pi{
  font-size: 10px;
  font-weight: 700;
  color: var(--ts-text-3);
  border: 1px solid var(--ts-border);
  border-radius: 4px;
  padding: 3px 6px;
}
.ts-scope .payment-icons .pix-pi{ color: var(--ts-green); border-color: var(--ts-green); }
.ts-scope .container--narrow{ max-width: 560px; margin: 0 auto; }
.ts-scope .account-header{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.ts-scope .account-header h1{ font-size: 20px; font-weight: 700; margin: 0; }
.ts-scope .account-info{
  background: #fff; border: 1px solid var(--ts-border, #ececec);
  border-radius: 12px; padding: 16px 18px; margin-bottom: 18px;
}
.ts-scope .account-info__name{ font-weight: 700; margin: 0 0 2px; }
.ts-scope .account-info__email{ color: var(--color-muted, #777); font-size: 14px; margin: 0; }
.ts-scope .account-section__header{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.ts-scope .account-section__header h2{ font-size: 16px; font-weight: 700; margin: 0; }
.ts-scope .btn-text{ color: var(--color-primary); font-weight: 600; font-size: 13px; text-decoration: none; }
.ts-scope .account-orders-table-wrap{ overflow-x: auto; border: 1px solid var(--ts-border, #ececec); border-radius: 12px; background: #fff; }
.ts-scope .account-orders-table{ width: 100%; border-collapse: collapse; font-size: 14px; }
.ts-scope .account-orders-table th{ text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--color-muted, #777); padding: 12px 14px; border-bottom: 1px solid var(--ts-border, #ececec); white-space: nowrap; }
.ts-scope .account-orders-table td{ padding: 12px 14px; border-bottom: 1px solid #f3f3f5; white-space: nowrap; }
.ts-scope .account-orders-table tr:last-child td{ border-bottom: none; }
.ts-scope .order-status{ display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; background: #f1f1f3; color: #444; }
.ts-scope .order-status--pago, .ts-scope .order-status--paid, .ts-scope .order-status--enviado, .ts-scope .order-status--entregue{ background: #e6f6ec; color: #1a7f43; }
.ts-scope .order-status--pendente, .ts-scope .order-status--pending{ background: #fff3e0; color: #a85b00; }
.ts-scope .order-status--cancelado, .ts-scope .order-status--cancelled{ background: #fdeaea; color: #c0392b; }
.ts-scope .empty-state{ text-align: center; padding: 48px 16px; background: #fff; border: 1px solid var(--ts-border, #ececec); border-radius: 12px; }
.ts-scope .empty-state p{ color: var(--color-muted, #777); margin: 0 0 16px; }
.ts-scope .account-alert{ padding: 12px 16px; border-radius: 10px; margin-bottom: 16px; font-size: 14px; }
.ts-scope .account-alert--error{ background: #fdeaea; color: #c0392b; }
.ts-scope .account-alert--success{ background: #e6f6ec; color: #1a7f43; }
.ts-scope .order-detail{ background: #fff; border: 1px solid var(--ts-border, #ececec); border-radius: 12px; padding: 18px; }
.ts-scope .order-detail__meta{ display: flex; gap: 24px; padding-bottom: 16px; margin-bottom: 4px; border-bottom: 1px solid var(--ts-border, #ececec); }
.ts-scope .order-detail__meta-item{ display: flex; flex-direction: column; gap: 3px; }
.ts-scope .order-detail__label{ font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--color-muted, #777); }
.ts-scope .order-detail h3{ font-size: 14px; font-weight: 700; margin: 18px 0 10px; }
.ts-scope .order-detail__item{ display: flex; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid #f3f3f5; }
.ts-scope .order-detail__item-image, .ts-scope .order-detail__item-placeholder{ width: 52px; height: 52px; border-radius: 8px; object-fit: cover; background: #f1f1f3; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.ts-scope .order-detail__item-info{ flex: 1; min-width: 0; }
.ts-scope .order-detail__item-name{ font-weight: 600; font-size: 14px; margin: 0 0 2px; }
.ts-scope .order-detail__item-variant, .ts-scope .order-detail__item-qty{ font-size: 12px; color: var(--color-muted, #777); margin: 0; }
.ts-scope .order-detail__item-price{ font-weight: 700; white-space: nowrap; }
.ts-scope .order-detail__totals{ margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--ts-border, #ececec); }
.ts-scope .order-detail__total-row{ display: flex; justify-content: space-between; padding: 4px 0; font-size: 14px; }
.ts-scope .order-detail__total-row--final{ font-weight: 700; font-size: 16px; margin-top: 6px; padding-top: 10px; border-top: 1px solid var(--ts-border, #ececec); }
.ts-scope .order-detail__address p, .ts-scope .order-detail__notes p{ font-size: 14px; margin: 2px 0; }
.ts-scope .trust-badges{ display: none; }
.ts-scope .ts-pdp{ background: var(--color-bg); padding: 0 16px 20px; }
.ts-scope .ts-pdp__gallery{ margin: 0 -16px; }
.ts-scope .ts-gallery{ position: relative; background: var(--color-bg); }
.ts-scope .ts-gallery__viewport{ position: relative; overflow: hidden; }
.ts-scope .ts-gallery__track{ display: flex; cursor: grab; touch-action: pan-y; }
.ts-scope .ts-gallery__track.is-dragging{ cursor: grabbing; }
.ts-scope .ts-gallery__slide{ flex: 0 0 100%; aspect-ratio: 1 / 1; }
.ts-scope .ts-gallery__slide img, .ts-scope .ts-gallery__slide video{ width: 100%; height: 100%; object-fit: cover; display: block; }
.ts-scope .ts-gallery__arrow{
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 34px; height: 34px; border-radius: 50%; border: none; cursor: pointer;
  background: rgba(255,255,255,.85); color: #333; font-size: 20px; line-height: 1;
  display: flex; align-items: center; justify-content: center; box-shadow: 0 1px 4px rgba(0,0,0,.15);
}
.ts-scope .ts-gallery__arrow--prev{ left: 8px; }
.ts-scope .ts-gallery__arrow--next{ right: 8px; }
.ts-scope .ts-gallery__count{ position: absolute; bottom: 12px; right: 12px; z-index: 2; background: rgba(0,0,0,.6); color: #fff; font-size: 12px; font-weight: 600; padding: 2px 8px; border-radius: 12px; }
.ts-scope .ts-gallery--empty{ display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; background: var(--ts-bg-soft); }
.ts-scope .ts-pdp__pricebar{
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  background: linear-gradient(100deg, #F5473C 0%, #FA6247 58%, #FF7B57 100%);
  color: #fff;
  margin: 0 -16px 10px; padding: 12px 16px;
}
.ts-scope .ts-pdp__flash-wm{ position: absolute; right: 88px; top: 50%; transform: translateY(-50%); width: 120px; height: 120px; pointer-events: none; z-index: 0; }
.ts-scope .ts-pdp__price-left, .ts-scope .ts-pdp__flash-right{ position: relative; z-index: 1; }
.ts-scope .ts-pdp__price-left{ display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ts-scope .ts-pdp__price-row{ display: flex; align-items: center; gap: 8px; }
.ts-scope .ts-pdp__off{ background: #fff; color: #F5473C; font-size: 14px; font-weight: 700; padding: 2px 7px; border-radius: 4px; }
.ts-scope .ts-pdp__price{ font-size: 30px; font-weight: 800; line-height: 1; color: #fff; white-space: nowrap; }
.ts-scope .ts-pdp__rs{ font-size: 19px; font-weight: 700; margin-right: 2px; }
.ts-scope .ts-pdp__ticket{ color: rgba(255,255,255,.9); flex: 0 0 auto; }
.ts-scope .ts-pdp__old{ font-size: 15px; color: rgba(255,255,255,.85); text-decoration: line-through; }
.ts-scope .ts-pdp__flash-right{ display: flex; align-items: center; gap: 8px; flex: 0 0 auto; padding-left: 14px; }
.ts-scope .ts-pdp__flash-right::before{
  content: ""; position: absolute; inset: -18px -20px -18px 0;
  background: rgba(255,255,255,.14); transform: skewX(-16deg); transform-origin: left center;
  border-left: 2px solid rgba(255,255,255,.35); z-index: -1;
}
.ts-scope .ts-pdp__flash-bolt{ display: inline-flex; align-items: center; }
.ts-scope .ts-pdp__flash-bolt svg{ fill: currentColor; }
.ts-scope .ts-pdp__flash-txt{ display: flex; flex-direction: column; line-height: 1.35; text-align: left; }
.ts-scope .ts-pdp__flash-label{ font-size: 11.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ts-scope .ts-pdp__flash-timer{ font-size: 11.5px; }
.ts-scope .ts-pdp__flash-timer strong{ font-variant-numeric: tabular-nums; font-weight: 700; }

.ts-scope .ts-pdp__offbadge{ display: inline-flex; align-items: center; gap: 5px; background: var(--ts-off-bg); color: var(--color-primary); font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 4px; margin-bottom: 10px; }
.ts-scope .ts-pdp__title{ font-size: 16px; font-weight: 700; line-height: 1.4; color: var(--color-text); margin: 0 0 8px; }
.ts-scope .ts-pdp__meta{ display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ts-text-2); padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid #F0F0F0; }
.ts-scope .ts-pdp__rating{ display: inline-flex; align-items: center; gap: 4px; font-weight: 700; }
.ts-scope .ts-pdp__meta-sub{ color: var(--ts-text-3); font-weight: 400; }
.ts-scope .ts-pdp__meta-dot{ color: var(--ts-border-2); }
.ts-scope .ts-pdp__sold{ color: var(--ts-text-3); }
.ts-scope .ts-pdp__ship{ display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; font-size: 12px; color: var(--ts-text-2); margin-bottom: 12px; }
.ts-scope .ts-pdp__ship-badge{ display: inline-flex; align-items: center; gap: 4px; color: var(--ts-green); font-weight: 700; }
.ts-scope .ts-pdp__ship-fee s{ color: var(--ts-text-light); }
.ts-scope .ts-pdp__urgency{ display: flex; align-items: center; gap: 6px; color: #fe2c55; font-size: 14px; font-weight: 700; margin: 10px 0 14px; }
.ts-scope .ts-pdp__urgency--inline{ display: flex; align-items: center; gap: 6px; background: transparent; border: none; padding: 0; color: #fe2c55; font-size: 15px; font-weight: 700; letter-spacing: -0.01em; }
.ts-scope .ts-pdp__urgency--inline b{ color: #fe2c55; font-weight: 800; }
.ts-scope.ts-dark .ts-pdp__urgency--inline{ color: #FF6B87; }
.ts-scope.ts-dark .ts-pdp__urgency--inline b{ color: #FF6B87; }
.ts-scope .ts-pdp__urgency-flame{ color: #fe2c55; flex: none; width: 15px; height: 15px; }
@keyframes ts-flame-pulse{ 0%,100%{ transform: scale(1); opacity: 1; } 50%{ transform: scale(1.18); opacity: .8; } }
.ts-scope .ts-pdp__urgency-sep{ color: #F3A6A9; }
.ts-scope .ts-pdp__pulse{ width: 8px; height: 8px; border-radius: 50%; background: #fe2c55; flex: 0 0 auto; animation: ts-pulse 1.4s infinite; }
@keyframes ts-pulse{ 0% { box-shadow: 0 0 0 0 rgba(229,57,53,.5); } 70% { box-shadow: 0 0 0 6px rgba(229,57,53,0); } 100% { box-shadow: 0 0 0 0 rgba(229,57,53,0); } }
.ts-scope .ts-pdp__variants{ margin-bottom: 12px; display: flex; flex-direction: column; gap: 10px; }
.ts-scope .ts-pdp__variants label{ font-size: 13px; font-weight: 600; display: block; margin-bottom: 4px; }
.ts-scope .ts-pdp__trust{ border-top: 8px solid #F5F5F5; border-bottom: 8px solid #F5F5F5; margin: 0 -16px 14px; padding: 12px 16px; }
.ts-scope .ts-pdp__cashback{ display: flex; align-items: center; gap: 9px; width: 100%; padding: 12px 14px; background: none; border: none; text-align: left; cursor: pointer; color: var(--ts-text-2); }
.ts-scope .ts-pdp__cashback svg{ color: #C99A3D; flex: 0 0 auto; }
.ts-scope .ts-pdp__cash-text{ flex: 1; font-size: 14.5px; color: var(--color-text); }
.ts-scope .ts-pdp__cash-text b{ color: #C99A3D; font-weight: 700; }
.ts-scope .ts-pdp__cash-chev{ color: #B0B0B4; flex: 0 0 auto; }
.ts-scope .ts-pdp__trust-head{ display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: #8B4D0B; margin-bottom: 8px; }
.ts-scope .ts-pdp__trust-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ts-scope .ts-pdp__trust-grid span{ display: flex; align-items: center; gap: 5px; font-size: 12px; color: var(--ts-text-2); }
.ts-scope .ts-pdp__trust-grid svg{ width: 14px; height: 14px; color: #8B4D0B; flex: 0 0 auto; }
.ts-scope .ts-pdp__section{ margin-top: 18px; }
.ts-scope .ts-pdp__h2{ font-size: 16px; font-weight: 800; color: var(--color-text); margin: 0 0 8px; }
.ts-scope .ts-pdp__desc{ font-size: 13px; line-height: 1.7; color: var(--ts-text-2); }
.ts-scope .ts-pdp__desc p{ margin: 0 0 10px; }
.ts-scope .ts-pdp__desc img{ border-radius: var(--ts-radius); margin: 8px 0; }
.ts-scope .ts-pdp__barspace{ height: 68px; }
.ts-scope .ts-buybar{
  position: fixed; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 100%; max-width: var(--ts-shell); z-index: 90;
  display: flex; align-items: stretch; gap: 8px;
  background: var(--color-bg); box-shadow: 0 -2px 8px rgba(0,0,0,.05); padding: 8px 12px;
}
.ts-scope .ts-buybar__ico{ display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; font-size: 10px; color: var(--ts-text-2); min-width: 42px; }
.ts-scope .ts-buybar__cart{ background: none; border: 1px solid var(--ts-border-2); border-radius: 6px; display: flex; align-items: center; justify-content: center; color: var(--color-text); min-width: 46px; cursor: pointer; }
.ts-scope .ts-buybar__buy{ flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--color-primary); color: #fff; border: none; border-radius: 6px; padding: 6px 16px; cursor: pointer; line-height: 1.15; }
.ts-scope .ts-buybar__buy-price{ font-size: 16px; font-weight: 800; }
.ts-scope .ts-buybar__buy-label{ font-size: 11px; font-weight: 600; opacity: .95; }
.ts-scope .ts-buybar__buy-sep{ opacity: .6; }
.ts-scope .ts-toast{ position: fixed; left: 50%; bottom: 84px; transform: translateX(-50%) translateY(8px); z-index: 10001; display: flex; align-items: center; gap: 7px; background: rgba(0,0,0,.86); color: #fff; padding: 10px 18px; border-radius: 999px; font-size: 13px; font-weight: 600; max-width: 90%; opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.ts-scope .ts-toast.is-show{ opacity: 1; transform: translateX(-50%) translateY(0); }
.ts-scope .ts-toast svg{ color: #4ADE80; flex: 0 0 auto; }
.ts-scope .ts-toast.is-error svg{ color: #FF6B6B; }
.ts-scope .ts-pdp-related{ background: #F5F5F5; border-top: 8px solid #EEEEEE; padding: 14px 16px; }
.ts-scope .ts-rv{ border-top: 8px solid #F5F5F5; margin: 4px -16px 0; padding: 14px 16px 18px; }
.ts-scope .ts-rv__title{ font-size: 14px; font-weight: 600; color: var(--color-text); margin: 0 0 10px; }
.ts-scope .ts-rv__avg{ display: flex; align-items: center; gap: 6px; margin-bottom: 14px; }
.ts-scope .ts-rv__avg-num{ font-size: 15px; font-weight: 700; color: var(--color-text); }
.ts-scope .ts-rv__avg-max{ font-size: 13px; color: #666; margin-right: 4px; }
.ts-scope .ts-rv__stars, .ts-scope .ts-rv__cstars{ display: inline-flex; gap: 1px; }
.ts-scope .ts-rv__star{ position: relative; display: inline-block; width: 14px; height: 14px; line-height: 0; }
.ts-scope .ts-rv__star svg{ width: 14px; height: 14px; display: block; }
.ts-scope .ts-rv__star--full svg{ fill: #FBBA08; }
.ts-scope .ts-rv__star--empty svg{ fill: #E0E0E0; }
.ts-scope .ts-rv__star--half svg{ fill: #E0E0E0; }
.ts-scope .ts-rv__star--half::after{ content: ''; position: absolute; top: 0; left: 0; height: 100%; width: 50%; overflow: hidden; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FBBA08'%3E%3Cpath d='M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E") left center / 14px 14px no-repeat; }
.ts-scope .ts-rv__list{ display: flex; flex-direction: column; gap: 14px; }
.ts-scope .ts-rv__card.is-hidden{ display: none; }
.ts-scope .ts-rv__card{ border-bottom: 1px solid #F0F0F0; padding-bottom: 14px; }
.ts-scope .ts-rv__card:last-child{ border-bottom: none; padding-bottom: 0; }
.ts-scope .ts-rv__head{ display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.ts-scope .ts-rv__avatar{ width: 28px; height: 28px; border-radius: 50%; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 12px; font-weight: 700; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }
.ts-scope .ts-rv__who{ display: flex; flex-direction: column; min-width: 0; }
.ts-scope .ts-rv__name{ font-size: 13px; font-weight: 600; color: var(--color-text); }
.ts-scope .ts-rv__verified{ font-size: 11px; font-weight: 600; color: #28A745; }
.ts-scope .ts-rv__date{ margin-left: auto; font-size: 12px; color: #666; flex: 0 0 auto; }
.ts-scope .ts-rv__cstars{ margin-bottom: 6px; }
.ts-scope .ts-rv__comment{ font-size: 13px; line-height: 1.5; color: var(--ts-text-2); margin: 0; }
.ts-scope .ts-rv__media{ display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; }
.ts-scope .ts-rv__thumb{ position: relative; width: 84px; height: 84px; flex: 0 0 auto; border: none; padding: 0; border-radius: var(--ts-radius); overflow: hidden; background: var(--ts-bg-soft); cursor: pointer; }
.ts-scope .ts-rv__thumb img, .ts-scope .ts-rv__thumb video{ width: 100%; height: 100%; object-fit: cover; }
.ts-scope .ts-rv__play{ position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; background: rgba(0,0,0,.35); font-size: 20px; }
.ts-scope .ts-rv__more{ width: 100%; margin-top: 14px; padding: 10px; background: none; border: 1px solid #E0E0E0; border-radius: var(--ts-radius); font-size: 14px; font-weight: 500; color: var(--color-text); cursor: pointer; }
.ts-scope .ts-rv__more:hover{ background: #F5F5F5; }
.ts-scope .ts-lb{ position: fixed; inset: 0; z-index: 10000; background: rgba(0,0,0,.94); display: flex; flex-direction: column; }
.ts-scope .ts-lb[hidden]{ display: none; }
.ts-scope .ts-lb__close{ position: absolute; top: 12px; right: 12px; z-index: 3; background: none; border: none; color: #fff; cursor: pointer; padding: 4px; line-height: 0; }
.ts-scope .ts-lb__stage{ position: relative; flex: 1; overflow: hidden; display: flex; align-items: center; min-height: 0; }
.ts-scope .ts-lb__track{ display: flex; width: 100%; height: 100%; cursor: grab; touch-action: pan-y; }
.ts-scope .ts-lb__track.is-dragging{ cursor: grabbing; }
.ts-scope .ts-lb__slide{ flex: 0 0 100%; display: flex; align-items: center; justify-content: center; padding: 0 8px; }
.ts-scope .ts-lb__slide img, .ts-scope .ts-lb__slide video{ max-width: 100%; max-height: 72vh; object-fit: contain; }
.ts-scope .ts-lb__arrow{ position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 38px; height: 38px; border-radius: 50%; border: none; background: rgba(255,255,255,.18); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.ts-scope .ts-lb__arrow--prev{ left: 10px; }
.ts-scope .ts-lb__arrow--next{ right: 10px; }
.ts-scope .ts-lb__count{ position: absolute; top: 14px; left: 50%; transform: translateX(-50%); z-index: 3; color: #fff; font-size: 13px; font-weight: 600; background: rgba(0,0,0,.4); padding: 2px 10px; border-radius: 12px; }
.ts-scope .ts-lb__info{ padding: 14px 18px 22px; color: #fff; }
.ts-scope .ts-lb__who{ display: flex; align-items: center; gap: 10px; }
.ts-scope .ts-lb__avatar{ width: 34px; height: 34px; border-radius: 50%; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; font-weight: 700; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }
.ts-scope .ts-lb__name{ display: block; font-size: 14px; font-weight: 600; }
.ts-scope .ts-lb__stars{ color: #FBBA08; font-size: 13px; letter-spacing: 1px; margin-top: 2px; }
.ts-scope .ts-lb__stars .empty{ color: rgba(255,255,255,.3); }
.ts-scope .ts-lb__comment{ margin: 10px 0 0; font-size: 13px; line-height: 1.5; opacity: .95; }
.ts-scope .collection-header{ padding: 14px 16px 0; }
.ts-scope .collection-header__title{ font-size: 20px; font-weight: 800; color: var(--color-text); margin: 0 0 6px; }
.ts-scope .collection-header__desc{ font-size: 13px; color: var(--ts-text-3); line-height: 1.6; }
.ts-scope .collection-header__desc p{ margin: 0 0 6px; }
.ts-scope .collection-header__image{ width: 100%; border-radius: var(--ts-radius); margin-top: 10px; object-fit: cover; }
.ts-scope .section-header{ padding: 14px 16px 0; }
.ts-scope .section-header h1{ font-size: 20px; font-weight: 800; color: var(--color-text); margin: 0; }
.ts-scope .section-description{ font-size: 13px; color: var(--ts-text-3); margin-top: 4px; }
.ts-scope .collection-filters{
  margin: 12px 16px;
  background: var(--color-bg);
  border: 1px solid var(--ts-border);
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.ts-scope .collection-filters__form{ width: 100%; }
.ts-scope .collection-filters__row{ display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.ts-scope .collection-filters__group{ display: flex; flex-direction: column; gap: 6px; flex: 1 1 calc(50% - 6px); min-width: 140px; order: 2; }
.ts-scope .collection-filters__group--price{ flex: 1 1 100%; order: 3; }
.ts-scope .collection-filters__group--actions{ flex: 1 1 100%; order: 4; flex-direction: row; align-items: center; gap: 12px; }
.ts-scope .collection-filters__label{
  font-size: 11px; font-weight: 700; color: var(--ts-text-3);
  text-transform: uppercase; letter-spacing: 0.04em;
}
.ts-scope .collection-filters__select, .ts-scope .collection-filters__input{
  width: 100%; height: 42px; padding: 0 12px;
  border: 1px solid var(--ts-border-2); border-radius: 8px;
  font-size: 14px; font-family: inherit; color: var(--color-text);
  background: var(--color-bg); outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.ts-scope .collection-filters__select{
  -webkit-appearance: none; appearance: none; cursor: pointer; padding-right: 34px;
  background: var(--color-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;
}
.ts-scope .collection-filters__select:focus, .ts-scope .collection-filters__input:focus{
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);
}
.ts-scope .collection-filters__price-inputs{ display: flex; align-items: center; gap: 8px; }
.ts-scope .collection-filters__separator{ color: var(--ts-text-light); }
.ts-scope .collection-filters__btn{
  flex: 1; height: 42px; padding: 0 20px;
  background: var(--color-primary); color: #fff; border: none;
  border-radius: 8px; font-size: 14px; font-weight: 700; cursor: pointer;
}
.ts-scope .collection-filters__btn:hover{ opacity: 0.93; }
.ts-scope .collection-filters__clear{
  font-size: 13px; color: var(--ts-text-3);
  text-decoration: underline; white-space: nowrap;
}
.ts-scope .collection-filters__clear:hover{ color: var(--color-primary); }
.ts-scope .collection-toolbar{ display: flex; justify-content: flex-end; padding: 0 16px 8px; }
.ts-scope .collection-toolbar__count{ font-size: 12px; color: var(--ts-text-3); }
.ts-scope .ts-search-page{ padding: 14px 16px 20px; }
.ts-scope .ts-search-page__bar{ display: flex; align-items: center; gap: 8px; background: var(--ts-bg-input); border-radius: 999px; padding: 5px 5px 5px 14px; margin-bottom: 16px; }
.ts-scope .ts-search-page__ico{ color: var(--ts-text-3); flex: 0 0 auto; }
.ts-scope .ts-search-page__input{ flex: 1; min-width: 0; border: none; background: none; outline: none; font-size: 15px; color: var(--color-text); }
.ts-scope .ts-search-page__input::placeholder{ color: var(--ts-text-light); }
.ts-scope .ts-search-page__btn{ flex: 0 0 auto; background: var(--color-primary); color: #fff; border: none; border-radius: 999px; padding: 9px 18px; font-size: 14px; font-weight: 700; cursor: pointer; }
.ts-scope .ts-search-page__count{ font-size: 13px; color: var(--ts-text-2); margin-bottom: 12px; }
.ts-scope .ts-search-page__count strong{ color: var(--color-text); font-weight: 700; }
.ts-scope .ts-search-page__empty{ text-align: center; padding: 44px 20px; }
.ts-scope .ts-search-page__empty-ico{ display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; background: var(--ts-bg-soft); color: var(--ts-text-light); margin-bottom: 14px; }
.ts-scope .ts-search-page__empty-title{ font-size: 15px; font-weight: 700; color: var(--color-text); margin: 0 0 4px; }
.ts-scope .ts-search-page__empty-sub{ font-size: 13px; color: var(--ts-text-3); margin: 0 0 16px; }
.ts-scope .ts-search-page__empty-cta{ display: inline-block; background: var(--color-primary); color: #fff; border-radius: 999px; padding: 9px 20px; font-size: 14px; font-weight: 600; }
.ts-scope .ts-cart{ padding-bottom: 20px; }
.ts-scope .ts-cart__freeship{ display: flex; align-items: center; gap: 8px; background: var(--ts-frete-bg); color: #0B8A8A; font-size: 13px; padding: 12px 16px; }
.ts-scope .ts-cart__freeship strong{ font-weight: 700; }
.ts-scope .ts-cart__items{ background: var(--color-bg); }
.ts-scope .ts-cart-item{ display: flex; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--ts-border); }
.ts-scope .ts-cart-item__img{ width: 80px; height: 80px; flex: 0 0 80px; border-radius: var(--ts-radius); object-fit: cover; background: var(--ts-bg-soft); }
.ts-scope .ts-cart-item__img--ph{ display: flex; align-items: center; justify-content: center; }
.ts-scope .ts-cart-item__main{ flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ts-scope .ts-cart-item__name{ font-size: 13px; line-height: 1.35; color: var(--color-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ts-scope .ts-cart-item__variant{ font-size: 11px; color: var(--ts-text-3); margin-top: 2px; }
.ts-scope .ts-cart-item__price-row{ display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.ts-scope .ts-cart-item__price{ font-size: 17px; font-weight: 800; color: var(--color-primary); }
.ts-scope .ts-cart-item__old{ font-size: 12px; color: var(--ts-text-light); text-decoration: line-through; }
.ts-scope .ts-cart-item__off{ font-size: 11px; font-weight: 700; color: var(--color-primary); background: var(--ts-off-bg); padding: 1px 5px; border-radius: var(--ts-radius-badge); }
.ts-scope .ts-cart-item__bottom{ display: flex; align-items: center; justify-content: space-between; margin-top: auto; }
.ts-scope .ts-qty{ display: inline-flex; align-items: center; background: var(--ts-bg-soft); border-radius: 8px; overflow: hidden; }
.ts-scope .ts-qty__btn{ width: 30px; height: 30px; border: none; background: none; font-size: 18px; color: var(--color-text); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.ts-scope .ts-qty__val{ min-width: 30px; text-align: center; font-size: 14px; font-weight: 600; }
.ts-scope .ts-cart-item__rm{ margin: 0; }
.ts-scope .ts-cart-item__remove{ background: none; border: none; font-size: 12px; color: var(--ts-text-3); cursor: pointer; }
.ts-scope .ts-cart-item__remove:hover{ color: var(--color-primary); }
.ts-scope .ts-cart__trust{ margin: 8px 0 14px; }
.ts-scope .ts-cart__barspace{ height: 118px; }
.ts-scope .ts-cart__bar{ position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: var(--ts-shell); z-index: 90; background: var(--color-bg); box-shadow: 0 -2px 8px rgba(0,0,0,.06); padding: 10px 16px 14px; }
.ts-scope .ts-cart__total{ display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 8px; }
.ts-scope .ts-cart__total-lbl{ font-size: 13px; color: var(--ts-text-2); }
.ts-scope .ts-cart__total-val{ font-size: 20px; font-weight: 800; color: var(--color-primary); }
.ts-scope .ts-cart__checkout{ display: block; text-align: center; background: var(--color-primary); color: #fff; font-size: 15px; font-weight: 700; padding: 13px; border-radius: 8px; }
.ts-scope .ts-cart__empty{ text-align: center; padding: 56px 20px; }
.ts-scope .ts-cart__empty-ico{ display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 50%; background: var(--ts-bg-soft); color: var(--ts-text-light); margin-bottom: 14px; }
.ts-scope .ts-cart__empty-title{ font-size: 15px; font-weight: 700; color: var(--color-text); margin: 0 0 4px; }
.ts-scope .ts-cart__empty-sub{ font-size: 13px; color: var(--ts-text-3); margin: 0 0 16px; }
.ts-scope .ts-cart__empty-cta{ display: inline-block; background: var(--color-primary); color: #fff; border-radius: 999px; padding: 10px 22px; font-size: 14px; font-weight: 600; }
.ts-scope .ts-co{ padding: 12px 16px 20px; }
.ts-scope .ts-co__error{ background: #FFF0F0; color: #C0392B; border: 1px solid #F5C6C6; border-radius: 8px; padding: 10px 14px; font-size: 13px; margin-bottom: 12px; }
.ts-scope .ts-co__card{ background: var(--color-bg); border: 1px solid var(--ts-border); border-radius: 10px; padding: 14px; margin-bottom: 12px; }
.ts-scope .ts-co__h2{ font-size: 14px; font-weight: 700; color: var(--color-text); margin: 0 0 12px; }
.ts-scope .ts-co__store{ display: flex; align-items: baseline; gap: 6px; margin-bottom: 12px; }
.ts-scope .ts-co__store-name{ font-size: 14px; font-weight: 700; color: var(--color-text); }
.ts-scope .ts-co__count{ font-size: 13px; font-weight: 500; color: var(--ts-text-3); }
.ts-scope .ts-co__freeship{ display: flex; align-items: center; gap: 7px; background: var(--ts-frete-bg); color: #0B8A8A; font-size: 12px; padding: 8px 10px; border-radius: 8px; margin-bottom: 12px; }
.ts-scope .ts-co__freeship strong{ font-weight: 700; }
.ts-scope .ts-co__items{ display: flex; flex-direction: column; gap: 12px; }
.ts-scope .ts-co__item{ display: flex; align-items: center; gap: 10px; }
.ts-scope .ts-co__item-img{ width: 48px; height: 48px; flex: 0 0 48px; border-radius: 6px; object-fit: cover; background: var(--ts-bg-soft); }
.ts-scope .ts-co__item-img--ph{ display: flex; align-items: center; justify-content: center; }
.ts-scope .ts-co__item-main{ flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.ts-scope .ts-co__item-name{ font-size: 13px; color: var(--color-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ts-scope .ts-co__item-var, .ts-scope .ts-co__item-qty{ font-size: 11px; color: var(--ts-text-3); }
.ts-scope .ts-co__item-price{ font-size: 14px; font-weight: 700; color: var(--color-text); flex: 0 0 auto; }
.ts-scope .ts-co__field{ margin-bottom: 10px; }
.ts-scope .ts-co__field:last-child{ margin-bottom: 0; }
.ts-scope .ts-co__field label{ display: block; font-size: 12px; font-weight: 600; color: var(--ts-text-2); margin-bottom: 5px; }
.ts-scope .ts-co__field input, .ts-scope .ts-co__field textarea{
  width: 100%; height: 42px; padding: 0 12px;
  border: 1px solid var(--ts-border-2); border-radius: 8px;
  font-size: 14px; font-family: inherit; color: var(--color-text);
  background: var(--color-bg); outline: none; transition: border-color .15s, box-shadow .15s;
}
.ts-scope .ts-co__field textarea{ height: auto; padding: 10px 12px; resize: vertical; }
.ts-scope .ts-co__field input:focus, .ts-scope .ts-co__field textarea:focus{ border-color: var(--color-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent); }
.ts-scope .ts-co__row{ display: flex; gap: 10px; }
.ts-scope .ts-co__row .ts-co__field{ flex: 1; }
.ts-scope .ts-co__field--sm{ flex: 0 0 42%; }
.ts-scope .ts-co__totals .ts-co__trow{ display: flex; justify-content: space-between; font-size: 13px; color: var(--ts-text-2); padding: 5px 0; }
.ts-scope .ts-co__trow--disc span:last-child{ color: var(--ts-green); }
.ts-scope .ts-co__free{ color: var(--ts-green); font-weight: 600; }
.ts-scope .ts-co__trow--total{ border-top: 1px solid var(--ts-border); margin-top: 4px; padding-top: 10px; font-size: 15px; font-weight: 700; color: var(--color-text); }
.ts-scope .ts-co__trow--total span:last-child{ color: var(--color-primary); font-size: 18px; }
.ts-scope .ts-co__tax{ font-size: 11px; color: var(--ts-text-light); margin: 6px 0 0; }
.ts-scope .ts-co__barspace{ height: 132px; }
.ts-scope .ts-co__bar{ position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: var(--ts-shell); z-index: 90; background: var(--color-bg); box-shadow: 0 -2px 8px rgba(0,0,0,.06); padding: 10px 16px 14px; }
.ts-scope .ts-co__savings{ display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ts-green); margin-bottom: 8px; }
.ts-scope .ts-co__bar-total{ display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 8px; }
.ts-scope .ts-co__bar-total span{ font-size: 13px; color: var(--ts-text-2); }
.ts-scope .ts-co__bar-total strong{ font-size: 20px; font-weight: 800; color: var(--color-primary); }
.ts-scope .ts-co__submit{ display: block; width: 100%; text-align: center; background: var(--color-primary); color: #fff; font-weight: 700; padding: 10px 13px; border: none; border-radius: 8px; cursor: pointer; line-height: 1.25; }
.ts-scope .ts-co__submit-main{ display: block; font-size: 15px; font-weight: 700; }
.ts-scope .ts-co__submit-sub{ display: block; font-size: 11px; font-weight: 500; opacity: .92; margin-top: 1px; }
.ts-scope .ts-co__ship-opt, .ts-scope .ts-co__pay{ display: flex; align-items: center; gap: 12px; border: 1.5px solid var(--ts-border-2); border-radius: 10px; padding: 12px; }
.ts-scope .ts-co__ship-opt{ cursor: pointer; }
.ts-scope .ts-co__ship-opt + .ts-co__ship-opt{ margin-top: 8px; }
.ts-scope .ts-co__ship-opt.is-selected, .ts-scope .ts-co__pay.is-selected{ border-color: var(--color-primary); }
.ts-scope .ts-co__radio{ flex: 0 0 20px; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--ts-border-2); position: relative; }
.ts-scope .ts-co__ship-opt.is-selected .ts-co__radio, .ts-scope .ts-co__radio--on{ border-color: var(--color-primary); }
.ts-scope .ts-co__ship-opt.is-selected .ts-co__radio::after, .ts-scope .ts-co__radio--on::after{ content: ''; position: absolute; inset: 3px; border-radius: 50%; background: var(--color-primary); }
.ts-scope .ts-co__ship-info{ flex: 1; display: flex; flex-direction: column; }
.ts-scope .ts-co__ship-info strong{ font-size: 14px; color: var(--color-text); }
.ts-scope .ts-co__ship-info span{ font-size: 12px; color: var(--ts-text-3); }
.ts-scope .ts-co__ship-val{ font-size: 14px; font-weight: 700; color: var(--color-text); }
.ts-scope .ts-co__ship-val--free{ color: var(--ts-green); }
.ts-scope .ts-co__pay-ico{ flex: 0 0 40px; width: 40px; height: 40px; border-radius: 10px; background: var(--ts-bg-soft, #f5f5f7); display: flex; align-items: center; justify-content: center; }
.ts-scope .ts-co__pay-info{ flex: 1; display: flex; flex-direction: column; }
.ts-scope .ts-co__pay-info strong{ font-size: 14px; color: var(--color-text); }
.ts-scope .ts-co__pay-info span{ font-size: 12px; color: var(--ts-text-3); line-height: 1.35; }
.ts-scope .ts-co__badges{ display: flex; justify-content: space-around; gap: 8px; background: var(--ts-bg-soft, #f5f5f7); border-radius: 12px; padding: 14px 8px; margin-bottom: 12px; }
.ts-scope .ts-co__badge{ display: flex; flex-direction: column; align-items: center; gap: 6px; flex: 1; }
.ts-scope .ts-co__badge svg{ color: var(--color-text); }
.ts-scope .ts-co__badge span{ font-size: 11px; font-weight: 600; color: var(--ts-text-2); text-align: center; }
.ts-scope .ts-co__social{ display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 12px; color: var(--ts-text-2); margin-bottom: 10px; }
.ts-scope .ts-co__social strong{ color: var(--color-text); }
.ts-scope .ts-co__avatars{ display: inline-flex; }
.ts-scope .ts-co__avatars span{ width: 22px; height: 22px; border-radius: 50%; background: var(--color-primary); color: #fff; font-size: 10px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--color-bg); margin-left: -6px; }
.ts-scope .ts-co__avatars span:first-child{ margin-left: 0; }
.ts-scope .ts-co__action{ display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; background: var(--color-bg); border: 1px solid var(--ts-border-2); border-radius: 12px; padding: 16px; font-size: 15px; font-weight: 700; color: var(--color-text); cursor: pointer; margin-bottom: 12px; transition: border-color .15s; }
.ts-scope .ts-co__action:hover{ border-color: var(--color-primary); }
.ts-scope .ts-co__action-ico{ font-size: 20px; font-weight: 400; line-height: 1; }
.ts-scope .ts-co__addrcard{ display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; background: var(--color-bg); border: 1px solid var(--ts-border); border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; }
.ts-scope .ts-co__action[hidden], .ts-scope .ts-co__addrcard[hidden], .ts-scope .ts-co__pay[hidden], .ts-scope .ts-co__ship-opt[hidden]{ display: none; }
.ts-scope .ts-co__addrcard-info{ display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: var(--ts-text-3); min-width: 0; }
.ts-scope .ts-co__addrcard-info strong{ font-size: 14px; color: var(--color-text); }
.ts-scope .ts-co__addrcard-edit{ flex: 0 0 auto; background: none; border: none; color: var(--color-primary); font-size: 13px; font-weight: 700; cursor: pointer; padding: 0; }
.ts-scope .ts-co__dash{ height: 2px; margin: 2px 0 14px; background: repeating-linear-gradient(to right, var(--color-primary) 0 14px, transparent 14px 24px); opacity: .45; border-radius: 2px; }
.ts-scope .ts-co__step-head{ display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.ts-scope .ts-co__step-prog{ display: flex; gap: 6px; margin-bottom: 16px; }
.ts-scope .ts-co__step-prog span{ flex: 1; height: 4px; border-radius: 2px; background: var(--ts-border-2); }
.ts-scope .ts-co__step-prog span.is-on{ background: var(--color-primary); }
.ts-scope .ts-co__cep-status{ display: block; margin-top: 6px; font-size: 12px; font-weight: 600; }
.ts-scope .ts-co__cep-status[hidden]{ display: none; }
.ts-scope .ts-co__cep-status.is-loading{ color: var(--ts-text-3); }
.ts-scope .ts-co__cep-status.is-ok{ color: var(--ts-green); }
.ts-scope .ts-co__cep-status.is-err{ color: var(--color-primary); }
.ts-scope .ts-co__step-back{ width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: none; border: none; cursor: pointer; color: var(--color-text); margin-left: -6px; }
.ts-scope .ts-co__step-title{ font-size: 18px; font-weight: 800; color: var(--color-text); margin: 0; }
.ts-scope .ts-co__step-err{ font-size: 12px; color: var(--color-primary); font-weight: 600; margin: 0 0 10px; text-align: center; }
.ts-scope .ts-co__step-save{ display: block; width: 100%; background: var(--color-primary); color: #fff; font-size: 15px; font-weight: 700; padding: 14px; border: none; border-radius: 10px; cursor: pointer; margin-top: 6px; }
.ts-scope .ts-oc{ max-width: var(--ts-shell); margin: 0 auto; padding: 24px 16px 30px; text-align: center; }
.ts-scope .ts-oc__check{ width: 68px; height: 68px; border-radius: 50%; background: var(--ts-green); color: #fff; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; box-shadow: 0 8px 22px rgba(0,181,23,.28); }
.ts-scope .ts-oc__title{ font-size: 22px; font-weight: 800; color: var(--color-text); margin: 0; }
.ts-scope .ts-oc__msg{ font-size: 14px; color: var(--ts-text-2); line-height: 1.5; margin: 8px 0 0; }
.ts-scope .ts-oc__num{ display: inline-block; background: var(--ts-bg-soft); border-radius: 8px; padding: 8px 14px; font-size: 13px; color: var(--ts-text-2); margin: 14px 0 0; }
.ts-scope .ts-oc__num strong{ color: var(--color-text); }
.ts-scope .ts-oc__card{ background: var(--color-bg); border: 1px solid var(--ts-border); border-radius: 12px; padding: 16px; margin-top: 18px; text-align: left; }
.ts-scope .ts-oc__card-title{ font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--ts-text-3); margin: 0 0 12px; }
.ts-scope .ts-oc__items{ display: flex; flex-direction: column; gap: 8px; }
.ts-scope .ts-oc__item{ display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--ts-text-2); }
.ts-scope .ts-oc__item-qty{ color: var(--ts-text-light); }
.ts-scope .ts-oc__item-price{ white-space: nowrap; font-weight: 600; color: var(--color-text); }
.ts-scope .ts-oc__total{ display: flex; justify-content: space-between; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--ts-border); }
.ts-scope .ts-oc__total span{ font-weight: 700; color: var(--color-text); }
.ts-scope .ts-oc__total strong{ font-size: 18px; font-weight: 800; color: var(--color-primary); }
.ts-scope .ts-oc__info{ display: flex; flex-direction: column; gap: 10px; margin-top: 18px; text-align: left; }
.ts-scope .ts-oc__info-card{ display: flex; align-items: center; gap: 12px; background: var(--color-bg); border: 1px solid var(--ts-border); border-radius: 12px; padding: 12px 14px; }
.ts-scope .ts-oc__info-ico{ width: 38px; height: 38px; border-radius: 50%; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; }
.ts-scope .ts-oc__info-ico--mail{ background: #E3F2FD; color: #2196F3; }
.ts-scope .ts-oc__info-ico--ship{ background: #FFF3E0; color: #FF9800; }
.ts-scope .ts-oc__info-ico--supp{ background: #F3E5F5; color: #9C27B0; }
.ts-scope .ts-oc__info-txt{ display: flex; flex-direction: column; min-width: 0; }
.ts-scope .ts-oc__info-txt strong{ font-size: 13px; color: var(--color-text); }
.ts-scope .ts-oc__info-txt span{ font-size: 12px; color: var(--ts-text-3); overflow: hidden; text-overflow: ellipsis; }
.ts-scope .ts-oc__actions{ display: flex; flex-direction: column; gap: 10px; margin-top: 22px; }
.ts-scope .ts-oc__btn{ display: block; text-align: center; padding: 13px; border-radius: 8px; font-size: 15px; font-weight: 700; }
.ts-scope .ts-oc__btn--dark{ background: var(--color-text); color: #fff; }
.ts-scope .ts-oc__btn--outline{ background: none; border: 1px solid var(--ts-border-2); color: var(--color-text); }
.ts-scope .ts-pixp{ max-width: var(--ts-shell); margin: 0 auto; padding: 18px 16px 30px; }
.ts-scope .ts-pixp__head{ text-align: center; margin-bottom: 16px; }
.ts-scope .ts-pixp__pixbadge{ display: inline-flex; align-items: center; gap: 6px; font-weight: 800; font-size: 12px; letter-spacing: .1em; color: #0A8F7E; background: rgba(50,188,173,.12); padding: 5px 12px; border-radius: 999px; margin-bottom: 10px; }
.ts-scope .ts-pixp__head h1{ font-size: 20px; font-weight: 800; color: var(--color-text); margin: 0; }
.ts-scope .ts-pixp__order{ color: var(--ts-text-3); font-size: 13px; margin: 6px 0 0; }
.ts-scope .ts-pixp__confirmed{ align-items: center; gap: 10px; background: linear-gradient(135deg, #4CAF50, #45A049); color: #fff; border-radius: 12px; padding: 12px 14px; margin-bottom: 12px; }
.ts-scope .ts-pixp__check{ width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%; background: rgba(255,255,255,.25); display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; }
.ts-scope .ts-pixp__confirmed-txt{ display: flex; flex-direction: column; line-height: 1.25; }
.ts-scope .ts-pixp__confirmed-txt span{ font-size: 12px; opacity: .9; }
.ts-scope .ts-pixp__card{ background: var(--color-bg); border: 1px solid var(--ts-border); border-radius: 12px; padding: 14px; margin-bottom: 12px; }
.ts-scope .ts-pixp__amount-row{ display: flex; align-items: baseline; justify-content: space-between; }
.ts-scope .ts-pixp__amount-row > span{ font-size: 13px; color: var(--ts-text-2); }
.ts-scope .ts-pixp__amount{ font-size: 26px; font-weight: 800; color: var(--color-text); }
.ts-scope .ts-pixp__timer{ margin-top: 10px; font-size: 13px; color: var(--ts-text-2); text-align: center; }
.ts-scope .ts-pixp__timer strong{ display: inline-block; background: color-mix(in srgb, var(--color-primary) 12%, transparent); color: var(--color-primary); font-weight: 800; padding: 2px 10px; border-radius: 999px; font-variant-numeric: tabular-nums; }
.ts-scope .ts-pixp__card-h{ font-size: 14px; font-weight: 700; color: var(--color-text); margin: 0 0 10px; }
.ts-scope .ts-pixp__copy{ display: flex; border: 1px solid var(--ts-border-2); border-radius: 8px; overflow: hidden; }
.ts-scope .ts-pixp__copy input{ flex: 1; min-width: 0; border: none; outline: none; padding: 11px 12px; font-size: 12px; font-family: ui-monospace, monospace; color: var(--color-text); background: var(--ts-bg-input); }
.ts-scope .ts-pixp__copy button{ flex: 0 0 auto; border: none; cursor: pointer; padding: 0 18px; font-size: 14px; font-weight: 700; background: var(--color-primary); color: #fff; }
.ts-scope .ts-pixp__copy button.is-copied{ background: var(--ts-green); }
.ts-scope .ts-pixp__qr{ text-align: center; margin-top: 14px; }
.ts-scope .ts-pixp__qr img{ display: inline-block; border: 1px solid var(--ts-border); border-radius: 10px; padding: 8px; background: #fff; }
.ts-scope .ts-pixp__qr-hint{ text-align: center; font-size: 12px; color: var(--ts-text-3); margin: 8px 0 0; }
.ts-scope .ts-pixp__steps{ margin: 0; padding: 0; list-style: none; counter-reset: pixp; display: flex; flex-direction: column; gap: 10px; }
.ts-scope .ts-pixp__steps li{ position: relative; padding-left: 34px; counter-increment: pixp; font-size: 13px; color: var(--ts-text-2); line-height: 1.4; }
.ts-scope .ts-pixp__steps li::before{ content: counter(pixp); position: absolute; left: 0; top: -1px; width: 24px; height: 24px; border-radius: 50%; background: var(--ts-off-bg); color: var(--color-primary); font-weight: 800; font-size: 12px; display: flex; align-items: center; justify-content: center; }
.ts-scope .ts-pixp__status{ display: flex; align-items: center; justify-content: center; gap: 10px; padding: 12px; border-radius: 12px; background: var(--ts-bg-soft); font-size: 13px; font-weight: 600; color: var(--ts-text-2); }
.ts-scope .ts-pixp__spinner{ width: 18px; height: 18px; flex: 0 0 auto; border: 2px solid color-mix(in srgb, var(--color-primary) 35%, transparent); border-top-color: var(--color-primary); border-radius: 50%; animation: ts-spin .8s linear infinite; }
@keyframes ts-spin{ to { transform: rotate(360deg); } }
.ts-scope .ts-footer{
  background: var(--color-bg);
  padding: 24px 16px 28px;
  border-top: 1px solid var(--ts-border);
}
.ts-scope .ts-footer__brand{ text-align: center; margin-bottom: 20px; }
.ts-scope .ts-footer__logo{ font-size: 18px; font-weight: 800; color: var(--color-primary); }
.ts-scope .ts-footer__logo-img{ height: 32px; margin: 0 auto; }
.ts-scope .ts-footer__tag{ font-size: 12px; color: var(--ts-text-3); margin: 6px 0 12px; }
.ts-scope .ts-footer__social{ display: flex; justify-content: center; gap: 10px; }
.ts-scope .ts-footer__social a{
  width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
  border-radius: 50%; background: var(--ts-bg-soft); color: var(--color-text);
  transition: background .15s, color .15s;
}
.ts-scope .ts-footer__social svg{ width: 18px; height: 18px; }
.ts-scope .ts-footer__social a:hover{ background: var(--color-primary); color: #fff; }
.ts-scope .ts-footer__cols{
  display: flex; gap: 16px; justify-content: space-between;
  margin-bottom: 18px; padding: 0 4px;
}
.ts-scope .ts-footer__col{ display: flex; flex-direction: column; gap: 6px; }
.ts-scope .ts-footer__col h4{ font-size: 13px; font-weight: 700; margin: 0 0 4px; color: var(--color-text); }
.ts-scope .ts-footer__col a{ font-size: 12px; color: var(--ts-text-3); }
.ts-scope .ts-footer__col a:hover{ color: var(--color-primary); }
.ts-scope .ts-footer__pays{
  display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-bottom: 16px;
}
.ts-scope .ts-footer__pays span{
  font-size: 10px; font-weight: 600; color: var(--ts-text-2);
  background: var(--ts-bg-soft); border: 1px solid var(--ts-border);
  border-radius: var(--ts-radius-badge); padding: 3px 8px;
}
.ts-scope .ts-footer__bottom{
  text-align: center; font-size: 11px; color: var(--ts-text-light);
  border-top: 1px solid var(--ts-border); padding-top: 14px;
}
@media (max-width: 380px){.ts-scope .ts-grid, .ts-scope .product-grid{ gap: 6px; }
.ts-scope .ts-store__btns .ts-btn{ padding: 8px 14px; }}

/* Ajustes de integracao com o app (evita que o flex/grid estique a imagem) */
.ts-scope .ts-card { align-self: start; }
.ts-scope .ts-card__img { flex: 0 0 auto; }
.ts-scope .ts-card__img img { height: 100%; }
.ts-scope input, .ts-scope button, .ts-scope select, .ts-scope textarea { font-family: inherit; }

/* ============================================================
   Tema escuro da página de produto (referência: fotos enviadas)
   Escopo: .ts-scope.ts-dark — não afeta a vitrine clara.
   ============================================================ */
.ts-scope.ts-dark{
  --ts-bg-soft: #000000;
  --ts-bg-input: #1F1F1F;
  --ts-border: #262626;
  --ts-border-2: #333333;
  --ts-text-2: #C9C9C9;
  --ts-text-3: #9A9A9A;
  --ts-text-light: #7A7A7A;
  --color-bg: #000000;
  --color-text: #F2F2F2;
  --color-primary: #FE2C55;
  --ts-off-bg: rgba(254,44,85,.14);
  background: #000;
  color: #F2F2F2;
}
.ts-scope.ts-dark .flash-bar{ display: none; }
.ts-scope.ts-dark .ts-header{ background: #000; border-bottom: 1px solid var(--ts-border); color: #F2F2F2; }
.ts-scope.ts-dark .ts-header__back,
.ts-scope.ts-dark .ts-icon-btn{ color: #F2F2F2; }
.ts-scope.ts-dark .ts-search{ background: #1C1C1C; }
.ts-scope.ts-dark .ts-search input{ background: transparent; color: #E5E5E5; }
.ts-scope.ts-dark .ts-tabs{ background: #000; border-bottom: 1px solid var(--ts-border); }
.ts-scope.ts-dark .ts-tab{ color: var(--ts-text-3); }
.ts-scope.ts-dark .ts-tab.is-active{ color: #fff; }
.ts-scope.ts-dark .ts-pdp,
.ts-scope.ts-dark .ts-rv,
.ts-scope.ts-dark .ts-section{ background: #000; color: #F2F2F2; }
.ts-scope.ts-dark .ts-gallery,
.ts-scope.ts-dark .ts-gallery__viewport,
.ts-scope.ts-dark .ts-gallery__slide{ background: #000; }
.ts-scope.ts-dark .ts-gallery__count{ background: rgba(0,0,0,.65); color: #fff; }

/* Faixa de preço */
.ts-scope.ts-dark .ts-pdp__pricebar{
  background: #141414; color: #F2F2F2;
  display: block; padding: 12px 16px 10px; margin: 0 -16px 12px;
  border-bottom: 1px solid var(--ts-border);
}
.ts-scope.ts-dark .ts-pdp__price-row{ display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; }
.ts-scope.ts-dark .ts-pdp__off{
  background: var(--color-primary); color: #fff; font-size: 13px; font-weight: 800;
  padding: 2px 6px; border-radius: 4px; align-self: center;
}
.ts-scope.ts-dark .ts-pdp__from{ color: var(--color-primary); font-size: 13px; font-weight: 600; }
.ts-scope.ts-dark .ts-pdp__price{ color: var(--color-primary); font-size: 30px; font-weight: 800; line-height: 1; }
.ts-scope.ts-dark .ts-pdp__cents{ font-size: 19px; font-weight: 800; }
.ts-scope.ts-dark .ts-pdp__old{ color: var(--ts-text-light); font-size: 14px; text-decoration: line-through; }
.ts-scope.ts-dark .ts-pdp__inst{
  display: flex; align-items: center; gap: 7px; width: 100%;
  background: none; border: none; padding: 9px 0 4px;
  color: var(--ts-text-2); font-size: 13px; text-align: left; cursor: pointer;
}
.ts-scope.ts-dark .ts-pdp__inst-arrow{ margin-left: auto; color: var(--ts-text-3); }
.ts-scope.ts-dark .ts-pdp__chips{
  display: flex; align-items: center; gap: 8px; padding-top: 6px;
  overflow-x: auto; scrollbar-width: none;
}
.ts-scope.ts-dark .ts-pdp__chips::-webkit-scrollbar{ display: none; }
.ts-scope.ts-dark .ts-pdp__chip{
  display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto;
  border: 1px solid var(--ts-border-2); border-radius: 6px;
  padding: 6px 9px; font-size: 12px; color: #E2E2E2; white-space: nowrap;
}
.ts-scope.ts-dark .ts-pdp__chip svg{ color: var(--color-primary); }
.ts-scope.ts-dark .ts-pdp__chips-arrow{ color: var(--ts-text-3); flex: 0 0 auto; }

/* Título / meta */
.ts-scope.ts-dark .ts-pdp__title{
  display: flex; align-items: flex-start; gap: 10px; color: #F5F5F5;
}
.ts-scope.ts-dark .ts-pdp__save{ color: var(--ts-text-3); flex: 0 0 auto; margin-top: 2px; }
.ts-scope.ts-dark .ts-pdp__meta{ border-bottom-color: var(--ts-border); color: var(--ts-text-2); }
.ts-scope.ts-dark .ts-pdp__rating{ color: #FFD24D; }
.ts-scope.ts-dark .ts-pdp__urgency{ background: rgba(254,44,85,.1); border-color: rgba(254,44,85,.35); color: #FF6B87; }
.ts-scope.ts-dark .ts-pdp__section{ border-top: 1px solid var(--ts-border); }
.ts-scope.ts-dark .ts-pdp__h2{ color: #F2F2F2; }
.ts-scope.ts-dark .ts-pdp__desc, .ts-scope.ts-dark .ts-pdp__desc p{ color: var(--ts-text-2); }
.ts-scope.ts-dark .ts-pdp__trust{ background: #141414; border: 1px solid var(--ts-border); border-radius: 8px; padding: 10px 12px; }
.ts-scope.ts-dark .ts-pdp__trust-head{ color: #F2F2F2; }
.ts-scope.ts-dark .ts-pdp__trust-grid{ color: var(--ts-text-2); }

/* Ofertas / cupons */
.ts-scope.ts-dark .ts-pdp__offers{ margin: 12px 0; }
.ts-scope.ts-dark .ts-pdp__offers-head{
  display: flex; align-items: center; justify-content: space-between;
  font-size: 15px; font-weight: 700; color: #F2F2F2; margin-bottom: 8px;
}
.ts-scope.ts-dark .ts-pdp__offers-head svg{ color: var(--ts-text-3); }
.ts-scope.ts-dark .ts-pdp__offers-row{ display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; }
.ts-scope.ts-dark .ts-pdp__offers-row::-webkit-scrollbar{ display: none; }
.ts-scope.ts-dark .ts-pdp__cupom{
  flex: 0 0 82%; display: flex; align-items: center; gap: 10px;
  background: #16211F; border: 1px solid #1F3A36; border-radius: 8px; padding: 10px 12px;
}
.ts-scope.ts-dark .ts-pdp__cupom-txt{ display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ts-scope.ts-dark .ts-pdp__cupom-txt strong{ font-size: 14px; color: #F2F2F2; }
.ts-scope.ts-dark .ts-pdp__cupom-txt span{ font-size: 11.5px; color: #9FB8B4; line-height: 1.35; }
.ts-scope.ts-dark .ts-pdp__cupom button{
  margin-left: auto; flex: 0 0 auto; background: #2CD4C0; color: #06231F;
  border: none; border-radius: 6px; padding: 6px 12px; font-size: 12.5px; font-weight: 700; cursor: pointer;
}

/* Card da loja */
.ts-scope.ts-dark .ts-pdp__store{
  display: flex; align-items: center; gap: 10px; margin-top: 14px;
  padding-top: 14px; border-top: 1px solid var(--ts-border);
}
.ts-scope.ts-dark .ts-pdp__store-logo{ width: 42px; height: 42px; border-radius: 999px; object-fit: cover; flex: 0 0 auto; }
.ts-scope.ts-dark .ts-pdp__store-meta{ display: flex; flex-direction: column; min-width: 0; }
.ts-scope.ts-dark .ts-pdp__store-meta strong{ font-size: 14.5px; color: #F2F2F2; }
.ts-scope.ts-dark .ts-pdp__store-meta span{ font-size: 12px; color: var(--ts-text-3); }
.ts-scope.ts-dark .ts-pdp__store-btn{
  margin-left: auto; background: var(--color-primary); color: #fff; border: none;
  border-radius: 999px; padding: 7px 20px; font-size: 13px; font-weight: 700; cursor: pointer;
}
.ts-scope.ts-dark .ts-pdp__store-stats{
  display: flex; gap: 18px; padding: 8px 0 2px; font-size: 12px; color: var(--ts-text-3);
}
.ts-scope.ts-dark .ts-pdp__store-stats b{ color: #F2F2F2; }

/* Avaliações e recomendados */
.ts-scope.ts-dark .ts-rv__title, .ts-scope.ts-dark .ts-section__head h2{ color: #F2F2F2; }
.ts-scope.ts-dark .ts-rv__card{ background: #0F0F0F; border: 1px solid var(--ts-border); }
.ts-scope.ts-dark .ts-rv__name{ color: #E8E8E8; }
.ts-scope.ts-dark .ts-rv__comment{ color: var(--ts-text-2); }
.ts-scope.ts-dark .ts-rv__avg-num, .ts-scope.ts-dark .ts-rv__avg-max{ color: #F2F2F2; }
.ts-scope.ts-dark .ts-rv__star--full{ color: #FFD24D; }
.ts-scope.ts-dark .ts-card{ background: #101010; border: 1px solid var(--ts-border); }
.ts-scope.ts-dark .ts-card__title{ color: #EDEDED; }
.ts-scope.ts-dark .ts-card__old{ color: var(--ts-text-light); }
.ts-scope.ts-dark .ts-card__sales{ color: var(--ts-text-3); }
.ts-scope.ts-dark .ts-footer{ background: #0A0A0A; color: var(--ts-text-2); border-top: 1px solid var(--ts-border); }
.ts-scope.ts-dark .ts-footer__logo, .ts-scope.ts-dark .ts-footer__col h4{ color: #F2F2F2; }

/* Barra de compra */
.ts-scope.ts-dark .ts-buybar{ background: #101010; border-top: 1px solid var(--ts-border); }
.ts-scope.ts-dark .ts-buybar__ico{ color: #E5E5E5; }
.ts-scope.ts-dark .ts-buybar__cart{
  position: relative; background: #2A1520; border: 1px solid rgba(254,44,85,.4);
  border-radius: 999px; color: var(--color-primary); min-width: 52px; height: 44px;
}
.ts-scope.ts-dark .ts-buybar__cart-badge{
  position: absolute; top: 2px; right: 4px; background: var(--color-primary); color: #fff;
  border-radius: 999px; font-size: 10px; font-weight: 700; padding: 0 4px; min-width: 15px; text-align: center;
}
.ts-scope.ts-dark .ts-buybar__buy{
  background: var(--color-primary); border-radius: 999px; padding: 7px 18px; gap: 1px;
}
.ts-scope.ts-dark .ts-buybar__buy-price{ font-size: 15.5px; font-weight: 800; }
.ts-scope.ts-dark .ts-buybar__buy-label{ font-size: 10.5px; font-weight: 600; opacity: .95; }

/* ============================================================
   Estrutura compartilhada do PDP (tema claro = tema escuro)
   Estas regras usam apenas .ts-scope, então valem nos dois temas.
   O bloco .ts-scope.ts-dark acima tem especificidade maior e
   continua sobrescrevendo SOMENTE as cores.
   ============================================================ */
.ts-scope .ts-pdp__pricebar{
  display: block; position: static; overflow: visible;
  background: #FFF1F4; color: #161823;
  padding: 12px 16px 10px; margin: 0 -16px 12px;
  border-bottom: 1px solid #F0DDE2;
}
.ts-scope .ts-pdp__price-row{ display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; }
.ts-scope .ts-pdp__off{
  background: var(--color-primary); color: #fff; font-size: 13px; font-weight: 800;
  padding: 2px 6px; border-radius: 4px; align-self: center;
}
.ts-scope .ts-pdp__from{ color: var(--color-primary); font-size: 13px; font-weight: 600; }
.ts-scope .ts-pdp__price{ color: var(--color-primary); font-size: 30px; font-weight: 800; line-height: 1; white-space: nowrap; }
.ts-scope .ts-pdp__cents{ font-size: 19px; font-weight: 800; }
.ts-scope .ts-pdp__old{ color: var(--ts-text-light); font-size: 14px; text-decoration: line-through; }
.ts-scope .ts-pdp__inst{
  display: flex; align-items: center; gap: 7px; width: 100%;
  background: none; border: none; padding: 9px 0 4px;
  color: var(--ts-text-2); font-size: 13px; text-align: left; cursor: pointer;
}
.ts-scope .ts-pdp__inst-arrow{ margin-left: auto; color: var(--ts-text-3); }
.ts-scope .ts-pdp__chips{
  display: flex; align-items: center; gap: 8px; padding-top: 6px;
  overflow-x: auto; scrollbar-width: none;
}
.ts-scope .ts-pdp__chips::-webkit-scrollbar{ display: none; }
.ts-scope .ts-pdp__chip{
  display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto;
  background: #fff; border: 1px solid #F0DDE2; border-radius: 6px;
  padding: 6px 9px; font-size: 12px; color: #3A3A3A; white-space: nowrap;
}
.ts-scope .ts-pdp__chip svg{ color: var(--color-primary); }
.ts-scope .ts-pdp__chips-arrow{ color: var(--ts-text-3); flex: 0 0 auto; }

.ts-scope .ts-pdp__title{ display: flex; align-items: flex-start; gap: 10px; }
.ts-scope .ts-pdp__save{ color: var(--ts-text-3); flex: 0 0 auto; margin-top: 2px; }

.ts-scope .ts-pdp__offers{ margin: 12px 0; }
.ts-scope .ts-pdp__offers-head{
  display: flex; align-items: center; justify-content: space-between;
  font-size: 15px; font-weight: 700; color: var(--color-text); margin-bottom: 8px;
}
.ts-scope .ts-pdp__offers-head svg{ color: var(--ts-text-3); }
.ts-scope .ts-pdp__offers-row{ display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; }
.ts-scope .ts-pdp__offers-row::-webkit-scrollbar{ display: none; }
.ts-scope .ts-pdp__cupom{
  flex: 0 0 82%; display: flex; align-items: center; gap: 10px;
  background: #EAFBF7; border: 1px solid #C5EFE7; border-radius: 8px; padding: 10px 12px;
}
.ts-scope .ts-pdp__cupom-txt{ display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ts-scope .ts-pdp__cupom-txt strong{ font-size: 14px; color: #14322D; }
.ts-scope .ts-pdp__cupom-txt span{ font-size: 11.5px; color: #4C736C; line-height: 1.35; }
.ts-scope .ts-pdp__cupom button{
  margin-left: auto; flex: 0 0 auto; background: #12C2A8; color: #fff;
  border: none; border-radius: 6px; padding: 6px 12px; font-size: 12.5px; font-weight: 700; cursor: pointer;
}

.ts-scope .ts-pdp__store{
  display: flex; align-items: center; gap: 10px; margin-top: 14px;
  padding-top: 14px; border-top: 1px solid var(--ts-border);
}
.ts-scope .ts-pdp__store-logo{ width: 42px; height: 42px; border-radius: 999px; object-fit: cover; flex: 0 0 auto; }
.ts-scope .ts-pdp__store-meta{ display: flex; flex-direction: column; min-width: 0; }
.ts-scope .ts-pdp__store-meta strong{ font-size: 14.5px; color: var(--color-text); }
.ts-scope .ts-pdp__store-meta span{ font-size: 12px; color: var(--ts-text-3); }
.ts-scope .ts-pdp__store-btn{
  margin-left: auto; background: var(--color-primary); color: #fff; border: none;
  border-radius: 999px; padding: 7px 20px; font-size: 13px; font-weight: 700; cursor: pointer;
}
.ts-scope .ts-pdp__store-stats{
  display: flex; gap: 18px; padding: 8px 0 2px; font-size: 12px; color: var(--ts-text-3);
}
.ts-scope .ts-pdp__store-stats b{ color: var(--color-text); }

.ts-scope .ts-buybar__cart{
  position: relative; background: #FFF1F4; border: 1px solid rgba(254,44,85,.35);
  border-radius: 999px; color: var(--color-primary); min-width: 52px; height: 44px;
}
.ts-scope .ts-buybar__cart-badge{
  position: absolute; top: 2px; right: 4px; background: var(--color-primary); color: #fff;
  border-radius: 999px; font-size: 10px; font-weight: 700; padding: 0 4px; min-width: 15px; text-align: center;
}
.ts-scope .ts-buybar__buy{
  background: var(--color-primary); border-radius: 999px; padding: 7px 18px; gap: 1px;
}
.ts-scope .ts-buybar__buy-price{ font-size: 15.5px; font-weight: 800; }
.ts-scope .ts-buybar__buy-label{ font-size: 10.5px; font-weight: 600; opacity: .95; }

/* ============================================================
   PDP mobile fiel à referência — mesma geometria em claro/escuro
   ============================================================ */
.ts-scope{
  --pdp-surface: #FFFFFF;
  --pdp-surface-raised: #F6F6F6;
  --pdp-divider: #EEEEEE;
  --pdp-border: #E4E4E4;
  --pdp-text: #161616;
  --pdp-text-soft: #5F5F5F;
  --pdp-text-faint: #8C8C8C;
  --pdp-rose: #FF2D55;
  --pdp-rose-soft: #FFF0F3;
  --pdp-orange: #FF5722;
  --pdp-teal: #21B9B3;
  --pdp-coupon: #ECFAF8;
}
.ts-scope.ts-dark{
  --pdp-surface: #0D0D0D;
  --pdp-surface-raised: #1F1F1F;
  --pdp-divider: #050505;
  --pdp-border: #2C2C2C;
  --pdp-text: #F4F4F4;
  --pdp-text-soft: #C6C6C6;
  --pdp-text-faint: #929292;
  --pdp-rose: #FF2D55;
  --pdp-rose-soft: #3B1A23;
  --pdp-orange: #FF5722;
  --pdp-teal: #2DC7C0;
  --pdp-coupon: #102522;
}
.ts-scope:has(.ts-pdp){ background: var(--pdp-divider); color: var(--pdp-text); }
.ts-scope:has(.ts-pdp) .flash-bar{ display: none; }
.ts-scope:has(.ts-pdp) .ts-header,
.ts-scope:has(.ts-pdp) .ts-tabs,
.ts-scope:has(.ts-pdp) #main-content,
.ts-scope:has(.ts-pdp) .ts-pdp,
.ts-scope:has(.ts-pdp) .ts-rv,
.ts-scope:has(.ts-pdp) .ts-section{ background: var(--pdp-surface); color: var(--pdp-text); }
.ts-scope:has(.ts-pdp) .ts-header{ position: sticky; top: 0; height: 58px; border-bottom: 0; }
.ts-scope:has(.ts-pdp) .ts-header__inner{ height: 58px; gap: 12px; padding: 9px 16px; }
.ts-scope:has(.ts-pdp) .ts-header__back,
.ts-scope:has(.ts-pdp) .ts-icon-btn{ color: var(--pdp-text); }
.ts-scope:has(.ts-pdp) .ts-search{ background: var(--pdp-surface-raised); border-radius: 7px; }
.ts-scope:has(.ts-pdp) .ts-header .ts-search input{ height: 40px; background: transparent; color: var(--pdp-text); border-radius: 7px; }
.ts-scope:has(.ts-pdp) .ts-tabs{
  top: 58px; justify-content: flex-start; gap: 0; padding: 0 16px;
  border-top: 1px solid var(--pdp-border); border-bottom: 1px solid var(--pdp-border);
}
.ts-scope:has(.ts-pdp) .ts-tab{ flex: 0 0 auto; min-width: 25%; padding: 13px 9px 12px; text-align: center; color: var(--pdp-text-faint); font-size: 13px; }
.ts-scope:has(.ts-pdp) .ts-tab.is-active{ color: var(--pdp-text); border-bottom-color: var(--pdp-text); }
.ts-scope:has(.ts-pdp) .ts-pdp{ padding: 0 16px 16px; }
.ts-scope:has(.ts-pdp) .ts-pdp__gallery{ background: #D9D9D9; }
.ts-scope:has(.ts-pdp) .ts-gallery,
.ts-scope:has(.ts-pdp) .ts-gallery__viewport,
.ts-scope:has(.ts-pdp) .ts-gallery__slide{ background: #D9D9D9; }
.ts-scope:has(.ts-pdp) .ts-gallery__slide img{ object-fit: contain; }
.ts-scope:has(.ts-pdp) .ts-gallery__arrow{ display: none; }
.ts-scope:has(.ts-pdp) .ts-gallery__count{ bottom: 12px; right: 12px; padding: 4px 9px; background: rgb(0 0 0 / 52%); border-radius: 999px; color: #FFFFFF; }
.ts-scope:has(.ts-pdp) .ts-pdp__pricebar{
  margin: 0 -16px; padding: 0; border: 0; background: var(--pdp-surface); color: var(--pdp-text); overflow: hidden;
}
.ts-scope:has(.ts-pdp) .ts-pdp__deal{
  position: relative; min-height: 72px; display: flex; align-items: stretch; justify-content: space-between;
  background: linear-gradient(90deg, #FF5B22 0%, #FF8A1E 100%); color: #FFFFFF; overflow: hidden;
}
/* Brilho diagonal discreto (sem faixas escuras marcadas) */
.ts-scope:has(.ts-pdp) .ts-pdp__deal::after{
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: linear-gradient(108deg, rgb(255 255 255 / 7%) 0 34%, transparent 34% 100%);
}
.ts-scope:has(.ts-pdp) .ts-pdp__price-left{ position: relative; z-index: 1; min-width: 0; display: flex; flex: 1; flex-direction: column; justify-content: center; padding: 9px 8px 9px 14px; }
.ts-scope:has(.ts-pdp) .ts-pdp__price-row{ flex-wrap: nowrap; gap: 7px; align-items: baseline; }
.ts-scope:has(.ts-pdp) .ts-pdp__off{ background: #FFFFFF; color: #FF2C55; border-radius: 999px; padding: 3px 9px; font-size: 14px; font-weight: 800; line-height: 1.2; letter-spacing: -0.2px; align-self: center; }
.ts-scope:has(.ts-pdp) .ts-pdp__from{ color: #FFFFFF; font-size: 13px; font-weight: 700; white-space: nowrap; }
.ts-scope:has(.ts-pdp) .ts-pdp__price{ color: #FFFFFF; font-size: 30px; font-weight: 800; line-height: 1; letter-spacing: -0.5px; }
.ts-scope:has(.ts-pdp) .ts-pdp__cents{ font-size: 19px; font-weight: 800; }
.ts-scope:has(.ts-pdp) .ts-pdp__coupon-ico{ color: #FFFFFF; display: inline-flex; align-items: center; align-self: center; opacity: .9; }
.ts-scope:has(.ts-pdp) .ts-pdp__coupon-ico svg{ width: 16px; height: 16px; }
.ts-scope:has(.ts-pdp) .ts-pdp__old{ display: block; color: rgb(255 255 255 / 78%); font-size: 12.5px; font-weight: 500; margin-top: 3px; text-decoration: line-through; }
.ts-scope:has(.ts-pdp) .ts-pdp__flash-right{
  position: relative; z-index: 1; min-width: 152px; display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 10px 12px 10px 20px; color: #FFFFFF; overflow: hidden;
}
.ts-scope:has(.ts-pdp) .ts-pdp__flash-right::before{
  content: ""; position: absolute; inset: -20px -18px -20px 0; background: rgb(255 255 255 / 10%);
  border-left: 0; transform: skewX(-12deg); z-index: 0;
}
.ts-scope:has(.ts-pdp) .ts-pdp__flash-bolt,
.ts-scope:has(.ts-pdp) .ts-pdp__flash-txt{ position: relative; z-index: 1; }
.ts-scope:has(.ts-pdp) .ts-pdp__flash-bolt{ fill: currentColor; width: 20px; height: 20px; }
.ts-scope:has(.ts-pdp) .ts-pdp__flash-txt{ display: flex; flex-direction: column; gap: 2px; font-size: 12px; line-height: 1.25; white-space: nowrap; }
.ts-scope:has(.ts-pdp) .ts-pdp__flash-txt b{ font-size: 14px; font-weight: 800; }

.ts-scope:has(.ts-pdp) .ts-pdp__inst{ margin: 0; padding: 11px 12px; border-bottom: 0; color: var(--pdp-text-soft); }
.ts-scope:has(.ts-pdp) .ts-pdp__chips{ padding: 0 12px 11px; border-bottom: 0; }
.ts-scope:has(.ts-pdp) .ts-pdp__chip{ padding: 5px 8px; background: transparent; border-color: var(--pdp-border); color: var(--pdp-text-soft); }
.ts-scope:has(.ts-pdp) .ts-pdp__title{ margin: 0 -16px; padding: 14px 16px 7px; font-size: 17px; font-weight: 600; color: var(--pdp-text); }
.ts-scope:has(.ts-pdp) .ts-pdp__save{ margin-left: auto; color: var(--pdp-text); }
.ts-scope:has(.ts-pdp) .ts-pdp__meta{ margin: 0 -16px; padding: 8px 16px 14px; border-bottom: 8px solid var(--pdp-divider); color: var(--pdp-text-soft); }
.ts-scope:has(.ts-pdp) .ts-pdp__rating{ color: var(--pdp-text); }
.ts-scope:has(.ts-pdp) .ts-pdp__rating svg{ color: #FFC414; }
.ts-scope:has(.ts-pdp) .ts-pdp__section{ margin: 0 -16px; padding: 12px 16px; border-top: 0; border-bottom: 8px solid var(--pdp-divider); }
.ts-scope:has(.ts-pdp) .ts-pdp__section button,
.ts-scope:has(.ts-pdp) .ts-pdp__section p{ color: var(--pdp-text-soft) !important; }
.ts-scope:has(.ts-pdp) .ts-pdp__section b{ color: var(--pdp-text) !important; }
.ts-scope:has(.ts-pdp) .ts-pdp__trust{
  margin: 0 -16px; padding: 13px 16px 15px; border: 0; border-bottom: 8px solid var(--pdp-divider); border-radius: 0; background: var(--pdp-surface);
}
.ts-scope:has(.ts-pdp) .ts-pdp__trust-head{ color: #C78C5D; font-size: 14px; }
.ts-scope:has(.ts-pdp) .ts-pdp__trust-grid span{ color: var(--pdp-text-soft); }
.ts-scope:has(.ts-pdp) .ts-pdp__offers{ margin: 0 -16px; padding: 15px 16px 18px; border-bottom: 8px solid var(--pdp-divider); }
.ts-scope:has(.ts-pdp) .ts-pdp__offers-head{ color: var(--pdp-text); font-size: 17px; }
.ts-scope:has(.ts-pdp) .ts-pdp__cupom{ flex-basis: 88%; background: var(--pdp-coupon); border-color: color-mix(in srgb, var(--pdp-teal) 25%, transparent); }
.ts-scope:has(.ts-pdp) .ts-pdp__cupom-txt strong{ color: var(--pdp-text); }
.ts-scope:has(.ts-pdp) .ts-pdp__cupom-txt span{ color: var(--pdp-text-soft); }
.ts-scope:has(.ts-pdp) .ts-pdp__cupom button{ background: var(--pdp-teal); color: #FFFFFF; }
.ts-scope:has(.ts-pdp) .ts-pdp__store,
.ts-scope:has(.ts-pdp) .ts-pdp__store-stats{ display: none; }
.ts-scope:has(.ts-pdp) .ts-rv{ border-top: 8px solid var(--pdp-divider); margin-top: 0; padding: 16px; }
.ts-scope:has(.ts-pdp) .ts-rv__title{ font-size: 17px; color: var(--pdp-text); }
.ts-scope:has(.ts-pdp) .ts-rv__card{ padding: 12px 0; background: transparent; border: 0; border-bottom: 1px solid var(--pdp-border); border-radius: 0; }
.ts-scope:has(.ts-pdp) .ts-rv__name,
.ts-scope:has(.ts-pdp) .ts-rv__avg-num,
.ts-scope:has(.ts-pdp) .ts-rv__avg-max{ color: var(--pdp-text); }
.ts-scope:has(.ts-pdp) .ts-rv__comment{ color: var(--pdp-text-soft); }
.ts-scope:has(.ts-pdp) .ts-rv__thumb{ width: 92px; height: 92px; }

/* Recomendações no estilo do app */
.ts-scope:has(.ts-pdp) .ts-section{
  background: var(--pdp-surface); border-top: 8px solid var(--pdp-gap, var(--pdp-border));
  padding: 14px 12px 18px; margin: 0;
}
.ts-scope:has(.ts-pdp) .ts-section__head{ padding: 0 0 12px; }
.ts-scope:has(.ts-pdp) .ts-section__head h2{ font-size: 18px; font-weight: 800; color: var(--pdp-text); }
.ts-scope:has(.ts-pdp) .ts-section__see{ color: var(--pdp-text-faint); font-size: 13px; font-weight: 600; }
.ts-scope:has(.ts-pdp) .ts-grid--reco{ gap: 10px; }
.ts-scope:has(.ts-pdp) .ts-grid--reco .ts-card{
  background: var(--pdp-surface-raised); border: 0; border-radius: 10px; overflow: hidden;
}
.ts-scope:has(.ts-pdp) .ts-grid--reco .ts-card__img{ border-radius: 10px 10px 0 0; aspect-ratio: 1 / 1; }
.ts-scope:has(.ts-pdp) .ts-grid--reco .ts-card__body{ padding: 8px 10px 12px; gap: 5px; }
.ts-scope:has(.ts-pdp) .ts-grid--reco .ts-card__title{
  color: var(--pdp-text); font-size: 14px; font-weight: 500; line-height: 1.3;
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.ts-scope:has(.ts-pdp) .ts-grid--reco .ts-card__cur{ color: var(--pdp-rose); font-size: 19px; font-weight: 800; }
.ts-scope:has(.ts-pdp) .ts-grid--reco .ts-card__rs{ font-size: 12px; }
.ts-scope:has(.ts-pdp) .ts-grid--reco .ts-card__old{ color: var(--pdp-text-faint); font-size: 12px; text-decoration: line-through; }
.ts-scope:has(.ts-pdp) .ts-badge--flash{
  display: inline-flex; align-items: center; gap: 3px; background: #E8541F; color: #fff;
  font-size: 11px; font-weight: 700; border-radius: 3px; padding: 2px 5px;
}
.ts-scope:has(.ts-pdp) .ts-badge__timer{ font-weight: 600; letter-spacing: .3px; margin-left: 3px; }
.ts-scope:has(.ts-pdp) .ts-grid--reco .ts-card__sales{
  display: flex; align-items: center; gap: 4px; color: var(--pdp-text-faint); font-size: 12px; font-weight: 600;
}
.ts-scope:has(.ts-pdp) .ts-card__star{ color: #F5B301; fill: #F5B301; }
.ts-scope:has(.ts-pdp) .ts-card__sep{ opacity: .5; }
.ts-scope:has(.ts-pdp) .ts-pdp__barspace{ height: 76px; }
.ts-scope:has(.ts-pdp) .ts-buybar{
  min-height: 72px; gap: 7px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
  background: var(--pdp-surface-raised); border-top: 1px solid var(--pdp-border); box-shadow: none;
}
.ts-scope:has(.ts-pdp) .ts-buybar__ico{ min-width: 38px; color: var(--pdp-text); font-size: 10px; }
.ts-scope:has(.ts-pdp) .ts-buybar__ico img{ filter: grayscale(1); }
.ts-scope:has(.ts-pdp) .ts-buybar__cart{
  flex: 1; min-width: 0; height: 48px; gap: 0; padding: 8px 6px;
  background: var(--pdp-cart-bg, #f1f1f2); border: 0; border-radius: 24px;
  color: var(--pdp-text); font-size: 14.5px; font-weight: 700; line-height: 1.2;
}
.ts-scope:has(.ts-pdp) .ts-buybar__cart-text{ display: block; }
.ts-scope:has(.ts-pdp) .ts-buybar__cart-badge{
  position: absolute; top: 3px; right: 10px;
  min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px;
  background: var(--pdp-rose); color: #FFFFFF; font-size: 10px; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
}
.ts-scope:has(.ts-pdp) .ts-buybar__buy{ flex: 1; min-height: 48px; background: var(--pdp-rose); border-radius: 999px; color: #FFFFFF; }
.ts-scope:has(.ts-pdp) .ts-buybar__buy-price{ font-size: 17px; }
.ts-scope:has(.ts-pdp) .ts-buybar__buy-label{ font-size: 11px; }

.ts-variant-overlay{ backdrop-filter: none; }
.ts-variant-sheet{ background: var(--pdp-surface) !important; color: var(--pdp-text); border: 1px solid var(--pdp-border); border-bottom: 0; border-radius: 24px 24px 0 0 !important; }
.ts-variant-sheet :where(.text-gray-900,.text-gray-800,.text-gray-700){ color: var(--pdp-text) !important; }
.ts-variant-sheet :where(.text-gray-600,.text-gray-500,.text-gray-400,.text-gray-300){ color: var(--pdp-text-faint) !important; }
.ts-variant-sheet :where(.bg-white,.bg-gray-50){ background: var(--pdp-surface-raised) !important; }
.ts-variant-sheet :where(.border-gray-100,.border-gray-200,.border-gray-300){ border-color: var(--pdp-border) !important; }
.ts-variant-sheet > div:first-child{ padding: 18px 20px 24px; }
.ts-variant-sheet .grid.grid-cols-3{ gap: 9px; }
.ts-variant-sheet .grid.grid-cols-3 > button{ border-radius: 9px; overflow: hidden; }
.ts-variant-sheet .grid.grid-cols-3 > button > div:first-child{ background: #D8D8D8 !important; }
.ts-variant-sheet > div:last-child{ background: var(--pdp-surface); border-color: var(--pdp-border) !important; }

@media (min-width: 481px){
  .ts-scope:has(.ts-pdp){ min-height: 100vh; }
  .ts-scope:has(.ts-pdp) #main-content,
  .ts-scope:has(.ts-pdp) .ts-header,
  .ts-scope:has(.ts-pdp) .ts-tabs,
  .ts-scope:has(.ts-pdp) .ts-buybar{ box-shadow: 0 0 0 1px var(--pdp-border); }
}
@media (max-width: 390px){
  .ts-scope:has(.ts-pdp) .ts-header__actions{ gap: 7px; }
  .ts-scope:has(.ts-pdp) .ts-pdp__flash-right{ min-width: 140px; padding-left: 18px; padding-right: 10px; }
  .ts-scope:has(.ts-pdp) .ts-pdp__flash-txt b{ font-size: 13px; }
  .ts-scope:has(.ts-pdp) .ts-pdp__price{ font-size: 25px; }
  .ts-scope:has(.ts-pdp) .ts-pdp__from{ font-size: 12px; }
}

/* Botão "Ver mais produtos" da seção de recomendações */
.ts-scope .ts-reco-more {
  display: block;
  width: calc(100% - 24px);
  margin: 14px auto 4px;
  padding: 11px 0;
  border: 1px solid var(--ts-border-2, rgba(0, 0, 0, 0.12));
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font-size: 14px;
  font-weight: 700;
}
.ts-scope .ts-reco-more:active { opacity: 0.7; }

/* Informações legais da loja no rodapé */
.ts-scope .ts-footer__legal{
  display: flex; flex-direction: column; gap: 4px;
  padding: 14px 4px 12px; margin-bottom: 12px;
  border-top: 1px solid var(--ts-border);
  text-align: center;
}
.ts-scope .ts-footer__legal h4{
  font-size: 13px; font-weight: 700; margin: 0 0 4px; color: var(--color-text);
}
.ts-scope .ts-footer__legal span{ font-size: 11px; line-height: 1.5; color: var(--ts-text-3); }
.ts-scope .ts-footer__legal-note{ margin-top: 6px; opacity: .85; }

/* ============================================================
   PDP — ajustes fiéis às prints (barra laranja, criadores,
   resumo de avaliações, "Mais desta loja")
   ============================================================ */
.ts-scope:has(.ts-pdp) .ts-pdp__coupon-ico{
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; border-radius: 3px;
  background: rgb(255 255 255 / 22%); color: #fff; align-self: center;
}
.ts-scope:has(.ts-pdp) .ts-pdp__chip{
  border-color: color-mix(in srgb, var(--pdp-rose) 45%, transparent);
  color: var(--pdp-rose); font-size: 11.5px; font-weight: 600; border-radius: 3px;
}
.ts-scope:has(.ts-pdp) .ts-pdp__chip svg{ color: var(--pdp-rose); }
.ts-scope:has(.ts-pdp) .ts-pdp__score{
  display: inline-block; background: var(--pdp-rose); color: #fff;
  font-size: 12px; font-weight: 800; line-height: 1; border-radius: 4px;
  padding: 3px 5px; margin-right: 6px; transform: translateY(-1px);
}

/* Vídeos de criadores */
.ts-scope:has(.ts-pdp) .ts-pdp__creators{
  margin: 0 -16px; padding: 14px 0 16px 16px; border-bottom: 8px solid var(--pdp-divider);
}
.ts-scope:has(.ts-pdp) .ts-pdp__creators-head{
  font-size: 17px; font-weight: 700; color: var(--pdp-text); margin-bottom: 10px;
}
.ts-scope:has(.ts-pdp) .ts-pdp__creators-row{
  display: flex; gap: 8px; overflow-x: auto; padding-right: 16px; scrollbar-width: none;
}
.ts-scope:has(.ts-pdp) .ts-pdp__creators-row::-webkit-scrollbar{ display: none; }
.ts-scope:has(.ts-pdp) .ts-pdp__creator{
  position: relative; flex: 0 0 116px; width: 116px; height: 168px;
  border: 0; padding: 0; border-radius: 8px; overflow: hidden; background: #D9D9D9;
}
.ts-scope:has(.ts-pdp) .ts-pdp__creator img{ width: 100%; height: 100%; object-fit: cover; }
.ts-scope:has(.ts-pdp) .ts-pdp__creator-play{
  position: absolute; top: 50%; left: 50%; width: 34px; height: 34px; margin: -17px 0 0 -17px;
  border-radius: 999px; background: rgb(0 0 0 / 45%);
}
.ts-scope:has(.ts-pdp) .ts-pdp__creator-play::after{
  content: ""; position: absolute; top: 10px; left: 13px;
  border-left: 11px solid #fff; border-top: 7px solid transparent; border-bottom: 7px solid transparent;
}
.ts-scope:has(.ts-pdp) .ts-pdp__creator-who{
  position: absolute; left: 6px; right: 6px; bottom: 6px;
  display: flex; align-items: center; gap: 5px; color: #fff; font-size: 11px;
  text-shadow: 0 1px 3px rgb(0 0 0 / 60%);
}
.ts-scope:has(.ts-pdp) .ts-pdp__creator-who img{
  width: 18px; height: 18px; border-radius: 999px; flex: 0 0 auto;
}
.ts-scope:has(.ts-pdp) .ts-pdp__creator-who span{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Resumo das avaliações */
.ts-scope:has(.ts-pdp) .ts-pdp__rvsum{
  margin: 0 -16px; padding: 14px 16px 4px; border-bottom: 8px solid var(--pdp-divider);
}
.ts-scope:has(.ts-pdp) .ts-pdp__rvsum-head{
  display: flex; align-items: center; gap: 6px; font-size: 17px; color: var(--pdp-text);
}
.ts-scope:has(.ts-pdp) .ts-pdp__rvsum-star{ color: #FFC414; }
.ts-scope:has(.ts-pdp) .ts-pdp__rvsum-bar{ color: var(--pdp-border); }
.ts-scope:has(.ts-pdp) .ts-pdp__rvsum-title{ font-size: 15px; font-weight: 600; }
.ts-scope:has(.ts-pdp) .ts-pdp__rvsum-more{
  margin-left: auto; display: inline-flex; align-items: center; gap: 2px;
  background: none; border: 0; color: var(--pdp-text-faint); font-size: 13px;
}
.ts-scope:has(.ts-pdp) .ts-pdp__rvsum-list{ padding-top: 4px; }
.ts-scope:has(.ts-pdp) .ts-pdp__rvrow{
  display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--pdp-divider);
}
.ts-scope:has(.ts-pdp) .ts-pdp__rvrow-main{ min-width: 0; flex: 1; }
.ts-scope:has(.ts-pdp) .ts-pdp__rvrow-top{
  display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--pdp-text-faint);
}
.ts-scope:has(.ts-pdp) .ts-pdp__rvrow-avatar{ width: 20px; height: 20px; border-radius: 999px; object-fit: cover; }
.ts-scope:has(.ts-pdp) .ts-pdp__rvrow-stars{ display: inline-flex; color: #FFC414; }
.ts-scope:has(.ts-pdp) .ts-pdp__rvrow-variant{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-scope:has(.ts-pdp) .ts-pdp__rvrow-text{
  margin: 6px 0 0; font-size: 13.5px; line-height: 1.45; color: var(--pdp-text-soft);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ts-scope:has(.ts-pdp) .ts-pdp__rvrow-thumb{
  position: relative; flex: 0 0 72px; width: 72px; height: 72px; padding: 0; border: 0;
  border-radius: 6px; overflow: hidden; background: var(--pdp-surface-raised);
}
.ts-scope:has(.ts-pdp) .ts-pdp__rvrow-thumb img{ width: 100%; height: 100%; object-fit: cover; }
.ts-scope:has(.ts-pdp) .ts-pdp__rvrow-plus{
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  background: rgb(0 0 0 / 45%); color: #fff; font-size: 14px; font-weight: 700;
}
.ts-scope:has(.ts-pdp) .ts-pdp__rvstore{ padding: 14px 0 12px; }
.ts-scope:has(.ts-pdp) .ts-pdp__rvstore-head{
  display: flex; align-items: center; justify-content: space-between;
  font-size: 15px; font-weight: 600; color: var(--pdp-text);
}
.ts-scope:has(.ts-pdp) .ts-pdp__rvstore-chips{
  display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; scrollbar-width: none;
}
.ts-scope:has(.ts-pdp) .ts-pdp__rvstore-chips::-webkit-scrollbar{ display: none; }
.ts-scope:has(.ts-pdp) .ts-pdp__rvstore-chip{
  flex: 0 0 auto; background: var(--pdp-surface-raised); color: var(--pdp-text-soft);
  border-radius: 999px; padding: 6px 12px; font-size: 12.5px; white-space: nowrap;
}

/* Loja + Mais desta loja */
.ts-scope:has(.ts-pdp) .ts-pdp__store{
  display: flex; margin: 0 -16px; padding: 14px 16px 6px; border-top: 0;
}
.ts-scope:has(.ts-pdp) .ts-pdp__store-stats{ display: flex; margin: 0 -16px; padding: 0 16px 12px; }
.ts-scope:has(.ts-pdp) .ts-pdp__more{
  margin: 0 -16px; padding: 0 0 16px 16px; border-bottom: 8px solid var(--pdp-divider);
}
.ts-scope:has(.ts-pdp) .ts-pdp__more-head{
  display: flex; align-items: center; justify-content: space-between;
  padding-right: 16px; font-size: 15px; font-weight: 600; color: var(--pdp-text); margin-bottom: 10px;
}
.ts-scope:has(.ts-pdp) .ts-pdp__more-head button{ background: none; border: 0; color: var(--pdp-text-faint); }
.ts-scope:has(.ts-pdp) .ts-pdp__more-row{
  display: flex; gap: 8px; overflow-x: auto; padding-right: 16px; scrollbar-width: none;
}
.ts-scope:has(.ts-pdp) .ts-pdp__more-row::-webkit-scrollbar{ display: none; }
.ts-scope:has(.ts-pdp) .ts-pdp__more-card{
  position: relative; flex: 0 0 108px; width: 108px; text-decoration: none;
}
.ts-scope:has(.ts-pdp) .ts-pdp__more-card img{
  width: 108px; height: 108px; object-fit: cover; border-radius: 8px; background: var(--pdp-surface-raised);
}
.ts-scope:has(.ts-pdp) .ts-pdp__more-price{
  display: block; margin-top: 5px; color: var(--pdp-rose); font-size: 14px; font-weight: 800;
}
.ts-scope:has(.ts-pdp) .ts-pdp__more-off{
  position: absolute; top: 6px; left: 6px; background: var(--pdp-rose); color: #fff;
  font-size: 10.5px; font-weight: 700; border-radius: 3px; padding: 1px 4px;
}
.ts-scope:has(.ts-pdp) .ts-pdp__details-label{
  margin-top: 14px; font-size: 15px; font-weight: 700; color: var(--pdp-text);
}


/* --- site-standalone/src/styles/loja-ttk.css --- */

/*
 * Vitrine /loja — espelho fiel do layout de referencia (ttkshop /loja/).
 *
 * Todas as classes sao prefixadas com `loja-` de proposito: as referencias
 * originais usam nomes genericos (.topbar, .icon-btn, .main, .search-bar) que
 * colidiriam com a PDP (.ts-*) e com o painel (shadcn). Aqui cada regra ja nasce
 * especifica, entao nao ha risco de vazar para outra superficie.
 *
 * Valores copiados 1:1 da referencia:
 *   css/styles.css + css/store-hub.css
 */

/* ---------- encaixe na tela (moldura do body) -----------------------------
   Mesmo esquema da PDP: a faixa do topo (ResumeOrderBanner) fica fora do
   shell e o shell pedia 100dvh — junto davam 100dvh + ~46px de documento,
   ou seja, uma rolagem "fantasma" que andava um pouco e travava. */
body:has(.loja-app) {
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
body:has(.loja-app) > .loja-app {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}

/* ---------- moldura ---------- */
.loja-app {
  position: relative;
  max-width: 440px;
  height: 100vh;
  height: 100dvh;
  margin: 0 auto;
  background: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 0 36px rgba(0, 0, 0, 0.16);
}

/* Qualquer aparelho com toque ocupa a tela inteira, igual a referencia. */
@media (hover: none), (pointer: coarse) {
  .loja-app {
    max-width: none;
    width: 100%;
    box-shadow: none;
  }
}
@media (max-width: 520px) {
  .loja-app {
    max-width: none;
    width: 100%;
    box-shadow: none;
  }
}

.loja-main {
  flex: 1 1 0%;
  overflow: hidden auto;
  background: #fff;
  scrollbar-width: none;
}
.loja-main::-webkit-scrollbar {
  display: none;
}

/* ---------- barra superior ---------- */
.loja-topbar {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 52px;
  padding: 0 6px;
  flex-shrink: 0;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid #f1f1f2;
}

.loja-icon-btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #161823;
  flex-shrink: 0;
  position: relative;
}

.loja-search {
  flex: 1 1 0%;
  min-width: 0;
  height: 36px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  border-radius: 18px;
  background: #f1f1f2;
}
.loja-search-ico {
  color: #8a8b91;
  flex-shrink: 0;
}
.loja-search-input {
  flex: 1;
  min-width: 0;
  background: none;
  border: 0;
  outline: none;
  font-size: 14px;
  color: #161823;
  padding: 0;
}
.loja-search-input::placeholder {
  color: #8a8b91;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* bolinha de contagem do carrinho */
.loja-icon-badge {
  position: absolute;
  top: 3px;
  right: 2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #fe2c55;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 16px;
  text-align: center;
  box-sizing: border-box;
}

/* ---------- perfil da loja ---------- */
.loja-profile {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 14px 12px;
  position: relative;
  z-index: 2;
}
.loja-avatar {
  width: 64px;
  height: 64px;
  flex: 0 0 auto;
  border: 3px solid #fff;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
  background: #f1f1f2;
}
.loja-profile-text {
  flex: 1;
  min-width: 0;
  padding-top: 4px;
}
.loja-name {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #161823;
  display: flex;
  align-items: center;
  gap: 4px;
}
.loja-sub {
  font-size: 12.5px;
  line-height: 1.35;
  margin-top: 2px;
  color: #8a8b91;
}
.loja-follow {
  margin-top: 8px;
  flex-shrink: 0;
  background: #fe2c55;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  padding: 8px 20px;
  border-radius: 4px;
  border: 0;
  cursor: pointer;
  font-family: inherit;
}
.loja-follow.is-following {
  background: #f1f1f2;
  color: #161823;
}

/* ---------- metricas de confianca ---------- */
.loja-metrics {
  display: flex;
  justify-content: space-around;
  padding: 4px 8px 14px;
  border-bottom: 8px solid #f7f7f8;
}
.loja-metric {
  text-align: center;
  flex: 1;
  font-size: 11px;
  color: #8a8b91;
}
.loja-metric b {
  display: block;
  font-size: 16px;
  font-weight: 800;
  color: #161823;
  margin-bottom: 2px;
}

/* ---------- tira de promocoes ---------- */
.loja-promo-strip {
  display: flex;
  gap: 8px;
  padding: 12px 14px;
  overflow-x: auto;
  scrollbar-width: none;
  border-bottom: 1px solid #ececec;
}
.loja-promo-strip::-webkit-scrollbar {
  display: none;
}
.loja-promo-pill {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 4px;
  background: #fef0f3;
  color: #fe2c55;
  border: 1px solid #fdd3dc;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.loja-promo-pill.soft {
  background: #f7f7f8;
  color: #161823;
  border-color: #ececec;
}

/* ---------- abas ---------- */
.loja-tabs {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid #ececec;
  position: sticky;
  top: 52px;
  z-index: 15;
  background: #fff;
}
.loja-tab {
  flex: 1;
  padding: 14px 8px 12px;
  font-size: 14.5px;
  font-weight: 600;
  color: #8a8b91;
  position: relative;
  border: 0;
  background: none;
  cursor: pointer;
  font-family: inherit;
}
.loja-tab.active {
  color: #161823;
  font-weight: 700;
}
.loja-tab.active::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 48px;
  height: 3px;
  border-radius: 2px 2px 0 0;
  background: #161823;
}

/* ---------- painéis ---------- */
.loja-panel {
  display: none;
}
.loja-panel.active {
  display: block;
}
.loja-panel-hint {
  padding: 14px;
  font-size: 13px;
  color: #8a8b91;
}

.loja-sort-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  padding: 10px 14px 6px;
  font-size: 13px;
  font-weight: 600;
  color: #161823;
}

/* ---------- grade de produtos ---------- */
.loja-feed {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 0 8px 16px;
}
.loja-feed-card {
  text-decoration: none;
  color: inherit;
  min-width: 0;
}
.loja-feed-img {
  position: relative;
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  background: #f1f1f2;
}
.loja-feed-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.loja-feed-badge {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 1;
  background: #fe2c55;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 5px;
  border-radius: 3px;
}
.loja-feed-body {
  padding: 8px 4px 10px;
}
.loja-feed-title {
  font-size: 12.5px;
  line-height: 1.35;
  font-weight: 500;
  color: #161823;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.65em;
  margin: 0;
}
.loja-feed-price {
  margin-top: 6px;
  color: #fe2c55;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}
.loja-from {
  font-size: 10px;
  font-weight: 500;
  color: #fe2c55;
  display: block;
  margin-bottom: 1px;
}
.loja-pi {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.03em;
}
.loja-pc {
  font-size: 12px;
  font-weight: 800;
}
.loja-feed-meta {
  margin-top: 4px;
  font-size: 11px;
  color: #8a8b91;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
}
.loja-stars {
  color: #f5b301;
  font-weight: 600;
}
.loja-dot {
  opacity: 0.6;
}
.loja-empty {
  padding: 32px 16px;
  text-align: center;
  font-size: 13px;
  color: #8a8b91;
}

/* ---------- sobre ---------- */
.loja-about {
  padding: 16px 14px 24px;
}
.loja-about h2 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #161823;
}
.loja-about p {
  font-size: 14px;
  line-height: 1.5;
  color: #161823;
  margin-bottom: 14px;
}
.loja-about-list {
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.55;
  color: #161823;
}
.loja-about-list li {
  padding: 6px 0;
  border-top: 1px solid #f1f1f2;
}
.loja-about-list b {
  font-weight: 700;
}

.loja-bottom-spacer {
  height: 24px;
}


/* --- site-standalone/src/styles/checkout-simple.css --- */

/*
 * Checkout simples espelhado 1:1 do checkout ativo do site de referencia
 * (reference-capture/styles.css -> blocos .co-* e .sc-*).
 * Tudo escopado em .checkout-reference para nao vazar para o resto do app.
 * Tokens com prefixo --tk-* para nao colidir com os tokens shadcn do Tailwind.
 */

.checkout-reference {
  --tk-red: #fe2c55;
  --tk-red-dark: #ea284e;
  --tk-black: #161823;
  --tk-gray: #8a8b91;
  --tk-gray-2: #b6b6bb;
  --tk-gray-bg: #f1f1f2;
  --tk-border: #ececec;
  --tk-green-frete: #00a085;
  --tk-pink-bg: #fef0f3;
  --tk-safe-b: env(safe-area-inset-bottom, 0px);
}

/* ---------- header / corpo ---------- */
.checkout-reference .co-header {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 2px 6px;
  background: #fff;
  border-bottom: 1px solid var(--tk-border);
  flex-shrink: 0;
}
.checkout-reference .co-header-title {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 15.5px;
  font-weight: 600;
}
.checkout-reference .co-header-spacer {
  width: 40px;
  flex-shrink: 0;
}
.checkout-reference .co-header .icon-btn {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--tk-black);
}
.checkout-reference .co-body {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.checkout-reference .co-body::-webkit-scrollbar {
  display: none;
}

/* ---------- checkout simples ---------- */
.checkout-reference.simple-checkout {
  background: #f2f2f4;
}
.checkout-reference .sc-body {
  padding: 12px 12px 20px;
}
.checkout-reference .sc-card {
  background: #fff;
  border-radius: 16px;
  padding: 16px 14px;
  margin-bottom: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
.checkout-reference .sc-form-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* campos do formulario de endereco (mesmo visual da referencia) */
.checkout-reference .sc-form-fields {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.checkout-reference .sc-input {
  width: 100%;
  border: 1.5px solid transparent;
  border-radius: 12px;
  background: #f5f5f7;
  padding: 15px 14px;
  font: inherit;
  font-size: 16px;
  color: #161823;
  outline: none;
}
.checkout-reference .sc-input::placeholder {
  color: #9a9aa0;
}
.checkout-reference .sc-input:focus {
  border-color: #161823;
  background: #fff;
}
.checkout-reference .sc-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.checkout-reference .sc-two-uf {
  grid-template-columns: 1fr 76px;
}
.checkout-reference .sc-save-btn {
  width: 100%;
  margin-top: 4px;
  padding: 15px;
  border: 0;
  border-radius: 12px;
  background: #fe2c55;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(254, 44, 85, 0.35);
}

.checkout-reference .sc-saved-bar {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14.5px;
}
.checkout-reference .sc-saved-check {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--tk-green-frete);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  flex-shrink: 0;
}
.checkout-reference .sc-edit-btn {
  margin-left: auto;
  padding: 7px 16px;
  border-radius: 999px;
  border: 1px solid #e3e3e6;
  background: #fff;
  color: var(--tk-gray);
  font-size: 12.5px;
  font-weight: 700;
}

/* cartao de endereco ainda nao salvo (mesmo padding do sc-card) */
.checkout-reference .sc-address-prompt {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  width: 100%;
  text-align: left;
  background: transparent;
}
.checkout-reference .sc-address-prompt .chev {
  margin-left: auto;
  margin-top: 3px;
  color: #b6b6bb;
}
.checkout-reference .sc-address-prompt p {
  flex: 1;
  min-width: 0;
  font-size: 14.5px;
  line-height: 1.4;
}
.checkout-reference .sc-address-prompt p + p {
  margin-top: 4px;
  color: var(--tk-gray);
  font-size: 13px;
}
.checkout-reference .sc-address-note {
  border-radius: 10px;
  background: #f5f5f7;
  padding: 10px 12px;
  font-size: 13px;
  color: var(--tk-gray);
}

/* separador pontilhado colorido */
.checkout-reference .sc-dashes {
  height: 5px;
  margin: 2px 4px 14px;
  background-image: repeating-linear-gradient(
    90deg,
    #25f4ee 0 14px,
    transparent 14px 24px,
    #fe2c55 24px 38px,
    transparent 38px 48px
  );
  border-radius: 3px;
}

.checkout-reference .sc-shop-title {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.2px;
  margin-bottom: 12px;
  color: var(--tk-black);
}
.checkout-reference .sc-shop-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
}
.checkout-reference .sc-shop-head .sc-shop-title {
  margin-bottom: 0;
}
.checkout-reference .sc-note-btn {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: var(--tk-gray);
  font-size: 13px;
  font-weight: 400;
  white-space: nowrap;
}

.checkout-reference .sc-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 6px 0;
}
.checkout-reference .sc-item + .sc-item {
  border-top: 1px solid #f1f1f2;
  padding-top: 12px;
  margin-top: 6px;
}
.checkout-reference .sc-item-img {
  width: 74px;
  height: 74px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  background: #f5f5f7;
  display: block;
}
.checkout-reference .sc-item-info {
  flex: 1;
  min-width: 0;
}
.checkout-reference .sc-item-title {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--tk-black);
}
.checkout-reference .sc-item-title .sc-variant {
  color: var(--tk-gray);
  font-weight: 500;
}
.checkout-reference .sc-item-flash {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--tk-red);
  font-size: 12px;
  font-weight: 700;
  margin-top: 4px;
}
.checkout-reference .sc-item-price-row {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 5px;
  flex-wrap: wrap;
}
.checkout-reference .sc-item-price {
  color: var(--tk-red);
  font-size: 17px;
  font-weight: 800;
}
.checkout-reference .sc-item-old {
  color: var(--tk-gray-2);
  font-size: 12.5px;
  text-decoration: line-through;
}
.checkout-reference .sc-item-off {
  background: var(--tk-pink-bg);
  color: var(--tk-red);
  font-size: 11.5px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 6px;
}
.checkout-reference .sc-item-qty {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #e3e3e6;
  border-radius: 999px;
  padding: 4px 10px;
  margin-top: 6px;
}
.checkout-reference .sc-item-qty button {
  font-size: 18px;
  width: 24px;
  height: 24px;
  line-height: 1;
  color: var(--tk-black);
}
.checkout-reference .sc-item-qty b {
  font-size: 14px;
  min-width: 16px;
  text-align: center;
}
.checkout-reference .sc-item-remove {
  margin-left: auto;
  color: var(--tk-gray-2);
}

.checkout-reference .sc-ship-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 10px;
  border-radius: 12px;
  background: #eefaf8;
  padding: 10px 12px;
  font-size: 12.5px;
}

/* ---------- pagamento ---------- */
.checkout-reference .sc-pay-title {
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 10px;
  color: var(--tk-black);
}
.checkout-reference .co-pay-opt {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  padding: 13px 0;
  border-bottom: 1px solid #f2f2f3;
  text-align: left;
}
.checkout-reference .co-pay-info {
  flex: 1;
  min-width: 0;
}
.checkout-reference .co-pay-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;
}
.checkout-reference .co-pay-ico {
  font-size: 16px;
}
.checkout-reference .pix-logo {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
  display: block;
}
.checkout-reference .co-cards {
  display: flex;
  gap: 5px;
  margin: 8px 0 0 26px;
}
.checkout-reference .co-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 20px;
  min-width: 32px;
  padding: 0 4px;
  border: 1px solid #e4e4e6;
  border-radius: 3px;
  font-size: 8.5px;
  font-weight: 800;
  background: #fff;
}
.checkout-reference .co-card.visa {
  color: #1a1f71;
}
.checkout-reference .co-card.elo {
  color: #fff;
  background: #221f20;
  border-color: #221f20;
  font-size: 9px;
}
.checkout-reference .co-card.amex {
  color: #fff;
  background: #2e77bc;
  border-color: #2e77bc;
  font-size: 7.5px;
}
.checkout-reference .co-card.mc {
  position: relative;
}
.checkout-reference .co-card.mc::before,
.checkout-reference .co-card.mc::after {
  content: "";
  width: 11px;
  height: 11px;
  border-radius: 50%;
}
.checkout-reference .co-card.mc::before {
  background: #eb001b;
  margin-right: -4px;
}
.checkout-reference .co-card.mc::after {
  background: #f79e1b;
  opacity: 0.9;
}
.checkout-reference .co-parcelas {
  display: inline-block;
  margin: 8px 0 0 26px;
  padding: 3px 8px;
  border-radius: 4px;
  background: #fdeef1;
  color: #d21f3c;
  font-size: 11.5px;
  font-weight: 600;
}
.checkout-reference .co-parcelas-sub {
  display: block;
  margin: 6px 0 0 26px;
  color: var(--tk-gray);
  font-size: 12.5px;
}
.checkout-reference .co-radio {
  width: 21px;
  height: 21px;
  border-radius: 50%;
  border: 1.5px solid #d0d0d4;
  flex-shrink: 0;
  margin-top: 1px;
  position: relative;
}
.checkout-reference .co-pay-opt.selected .co-radio {
  border-color: var(--tk-red);
  background: var(--tk-red);
}
.checkout-reference .co-pay-opt.selected .co-radio::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 3px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.checkout-reference .sc-pay-card .co-pay-opt {
  border: 1.5px solid #e7e7ea;
  border-radius: 12px;
  margin-bottom: 10px;
  padding: 14px 12px;
}
.checkout-reference .sc-pay-card .co-pay-opt:last-child {
  margin-bottom: 2px;
}
.checkout-reference .sc-pay-card .co-pay-opt.selected {
  border-color: var(--tk-red);
  background: #fffafb;
}

/* ---------- termos ---------- */
.checkout-reference .co-terms {
  padding: 14px;
  font-size: 12.5px;
  color: var(--tk-gray);
  line-height: 1.5;
  background: #fff;
  margin-top: 8px;
  border-radius: 16px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
.checkout-reference .co-terms b {
  color: var(--tk-black);
  font-weight: 600;
}

/* ---------- rodape ---------- */
.checkout-reference .co-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px calc(10px + var(--tk-safe-b));
  background: #fff;
  border-top: 1px solid var(--tk-border);
  flex-shrink: 0;
}
.checkout-reference .co-total-wrap {
  display: flex;
  flex-direction: column;
  gap: 1px;
  flex-shrink: 0;
}
.checkout-reference .co-total-label {
  font-size: 13px;
  font-weight: 700;
}
.checkout-reference .co-total {
  color: var(--tk-red);
  font-size: 18px;
  font-weight: 800;
}
.checkout-reference .co-order-btn {
  flex: 1;
  padding: 10px 8px;
}
.checkout-reference .co-order-btn small {
  font-size: 9.5px;
}
.checkout-reference .btn-buy {
  min-width: 0;
  border-radius: 24px;
  font-weight: 700;
  line-height: 1.2;
  background: var(--tk-red);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  opacity: 1;
  transition: transform 0.12s ease, background 0.2s ease;
}
.checkout-reference .btn-buy small {
  font-size: 10.5px;
  font-weight: 500;
  opacity: 0.95;
}
.checkout-reference .btn-buy:active {
  background: var(--tk-red-dark);
}
.checkout-reference .btn-buy:disabled {
  opacity: 0.55;
  pointer-events: none;
}

/* ---------- aviso de endereco ao entrar no checkout ---------- */
.checkout-reference .addr-prompt-overlay {
  position: fixed;
  inset: 0;
  z-index: 130;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 22px;
}
.checkout-reference .addr-prompt {
  width: 100%;
  max-width: 286px;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  text-align: center;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.2);
  animation: addr-prompt-pop 0.2s ease;
}
.checkout-reference .addr-prompt-title {
  margin: 22px 22px 8px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  color: #161823;
}
.checkout-reference .addr-prompt-text {
  margin: 0 20px 20px;
  font-size: 13.5px;
  line-height: 1.45;
  color: #8a8b91;
}
.checkout-reference .addr-prompt-actions {
  display: flex;
  border-top: 1px solid #ececee;
}
.checkout-reference .addr-prompt-actions button {
  flex: 1;
  height: 46px;
  font-size: 16px;
  color: #161823;
  background: #fff;
}
.checkout-reference .addr-prompt-actions button + button {
  border-left: 1px solid #ececee;
  font-weight: 700;
}

@keyframes addr-prompt-pop {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}


/* --- site-standalone/src/styles/pdp-olhar.css --- */

/* ============================================================
   PDP no visual de https://olharmoderno.com.br/mixer/
   GERADO a partir de reference-capture-olhar/mixer/styles.css
   (node scripts/gen-pdp-css.mjs) — seletores escopados em .olhar-pdp
   ============================================================ */
@font-face {
  font-family: TikTokFont;
  src: url("/fonts/TikTokFont-Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: TikTokFont;
  src: url("/fonts/TikTokFont-Semibold.woff2") format("woff2");
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: TikTokFont;
  src: url("/fonts/TikTokFont-Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
.olhar-pdp {
  font-family: TikTokFont, "TikTok Sans", Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.4;
  color: var(--black, #161823);
}
.olhar-pdp {

  --red: #fe2c55;
  --red-dark: #ea284e;
  --black: #161823;
  --gray: #8a8b91;
  --gray-2: #b0b0b4;
  --gray-bg: #f1f1f2;
  --border: #ececec;
  --teal: #26bfa6;
  --teal-bg: #eefaf8;
  --green-frete: #00a085;
  --green-frete-bg: #dff5ee;
  --star: #f5b301;
  --pink-bg: #fef0f3;
  --pink-border: #fdd3dc;
  --gold: #c99a3d;
  --safe-b: env(safe-area-inset-bottom, 0px);

}
/* ---------- encaixe na tela (moldura do body) -----------------------------
   O shell pedia 100dvh, mas a faixa do topo (ResumeOrderBanner, montada no
   __root ANTES da rota) vive fora dele: junto davam 100dvh + ~46px de
   documento. Dava a "página que anda um pouco e trava" e cortava o botão de
   compra embaixo. Agora o body é a moldura (coluna de altura fixa) e o shell
   ocupa exatamente o que sobra — sem rolagem fantasma no documento. */
body:has(.olhar-pdp) {
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
body:has(.olhar-pdp) > .olhar-pdp {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}
.olhar-pdp {

  position: relative;
  max-width: 440px;
  min-width: 0;
  height: 100vh; /* fallback p/ webviews sem dvh */
  height: 100dvh;
  margin: 0 auto;
  background: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 0 36px rgba(0, 0, 0, 0.16);

}
/* qualquer aparelho com toque (celular ou tablet, de qualquer tamanho):
   o app ocupa 100% da tela, igual ao TikTok */
@media (hover: none), (pointer: coarse)  {
.olhar-pdp {

    max-width: none;
    width: 100%;
    box-shadow: none;
  
}
}
/* fallback por largura p/ navegadores que não informam o toque */
@media (max-width: 520px)  {
.olhar-pdp {

    max-width: none;
    width: 100%;
    box-shadow: none;
  
}
}
/* ---------- placeholders (fotos entram depois) ---------- */
.olhar-pdp .ph {

  background: #ececee;
  position: relative;
  overflow: hidden;

}
.olhar-pdp .ph::after {

  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    115deg,
    transparent 30%,
    rgba(255, 255, 255, 0.55) 48%,
    transparent 65%
  );

}
.olhar-pdp .ph-avatar {

  background: #e2e2e4;
  border-radius: 50%;
  flex-shrink: 0;

}
.olhar-pdp .avatar-default {

  position: relative;
  border-radius: 50%;
  background: #ededef;
  overflow: hidden;
  flex-shrink: 0;

}
.olhar-pdp .avatar-default::before {

  content: "";
  position: absolute;
  top: 22%;
  left: 50%;
  width: 36%;
  height: 36%;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #c4c4c8;

}
.olhar-pdp .avatar-default::after {

  content: "";
  position: absolute;
  bottom: -12%;
  left: 50%;
  width: 68%;
  height: 46%;
  transform: translateX(-50%);
  border-radius: 50% 50% 0 0;
  background: #c4c4c8;

}
.olhar-pdp .muted {
 color: var(--gray); font-weight: 400; 
}
.olhar-pdp .chev {
 flex-shrink: 0; 
}
.olhar-pdp .chev.right-end {
 margin-left: auto; 
}
/* ============ TOPBAR ============ */
.olhar-pdp .topbar {

  display: flex;
  align-items: center;
  gap: 2px;
  height: 52px;
  padding: 0 6px;
  flex-shrink: 0;
  background: #fff;

}
.olhar-pdp .icon-btn {

  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--black);
  flex-shrink: 0;

}
.olhar-pdp .cart-icon-btn {
 position: relative; 
}
.olhar-pdp .cart-badge {

  position: absolute;
  top: 2px;
  right: 0;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  background: var(--red);
  border: 1.5px solid #fff;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 13px;
  text-align: center;

}
.olhar-pdp .cart-badge[hidden] {
 display: none !important; 
}
.olhar-pdp .search-bar {

  flex: 1;
  min-width: 0;
  height: 36px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  border-radius: 18px;
  background: var(--gray-bg);

}
.olhar-pdp .search-ico {
 color: #9a9aa0; flex-shrink: 0; 
}
.olhar-pdp .search-text {

  color: #9a9aa0;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

}
/* ============ TABS ============ */
.olhar-pdp .tabs {

  display: flex;
  width: 100%;
  flex-shrink: 0;
  background: #fff;
  border-bottom: 1px solid var(--border);

}
.olhar-pdp .tab {

  flex: 1;
  position: relative;
  padding: 11px 0 13px;
  font-size: 15px;
  color: var(--gray);
  text-align: center;
  white-space: nowrap;

}
.olhar-pdp .tab.active {

  color: var(--black);
  font-weight: 700;

}
.olhar-pdp .tab.active::after {

  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 6px;
  width: 56px;
  height: 3.5px;
  border-radius: 2px;
  background: var(--black);

}
/* ============ MAIN SCROLL ============ */
.olhar-pdp .main {

  flex: 1;
  min-width: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  scrollbar-width: none;
  -ms-overflow-style: none;

}
.olhar-pdp .main::-webkit-scrollbar {
 display: none; 
}
.olhar-pdp section {
 background: #fff; 
}
/* divisores finos entre blocos, como no app */
.olhar-pdp .shipping-block, .olhar-pdp .options-row, .olhar-pdp .cashback-row, .olhar-pdp .protection-block, .olhar-pdp .offers-block, .olhar-pdp .reviews-preview, .olhar-pdp .store-block, .olhar-pdp .about-block {

  border-top: 1px solid var(--border);

}
/* ============ HERO (galeria 9 fotos) ============ */
.olhar-pdp .hero {

  position: relative;

}
.olhar-pdp .hero-carousel {

  display: flex;
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  background: #f2f0ea;

}
.olhar-pdp .hero-carousel::-webkit-scrollbar {
 display: none; 
}
.olhar-pdp .hero-carousel img {

  flex: 0 0 100%;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  display: block;
  user-select: none;
  -webkit-user-drag: none;

}
.olhar-pdp .hero-counter {

  position: absolute;
  right: 12px;
  bottom: 14px;
  padding: 2px 10px;
  border-radius: 11px;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  font-size: 12px;
  z-index: 2;

}
/* ============ PREÇO ============ */
.olhar-pdp .price-block {

  padding: 12px 14px 10px;

}
.olhar-pdp .price-row {

  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;

}
.olhar-pdp .discount-badge {

  background: var(--red);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  line-height: 1.25;

}
.olhar-pdp .price-current {

  display: flex;
  align-items: baseline;
  color: var(--red);
  font-size: 16px;
  font-weight: 600;
  white-space: nowrap;

}
.olhar-pdp .price-int {

  font-size: 32px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.5px;

}
.olhar-pdp .price-int.sm {
 font-size: 26px; 
}
.olhar-pdp .price-cents {
 font-size: 17px; font-weight: 800; 
}
.olhar-pdp .coupon-glyph {
 flex-shrink: 0; 
}
.olhar-pdp .price-old {

  color: var(--gray-2);
  font-size: 14px;
  text-decoration: line-through;

}
.olhar-pdp .price-old.sm {
 font-size: 13px; 
}
.olhar-pdp .installments {

  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 9px;
  font-size: 14px;
  color: var(--black);

}
.olhar-pdp .inst-text em {

  font-style: normal;
  color: var(--gray);

}
.olhar-pdp .promo-tags {

  display: flex;
  gap: 7px;
  margin-top: 10px;
  overflow-x: auto;
  scrollbar-width: none;

}
.olhar-pdp .promo-tags::-webkit-scrollbar {
 display: none; 
}
.olhar-pdp .promo-tag {

  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  padding: 4px 8px;
  border-radius: 4px;
  background: var(--pink-bg);
  color: var(--red);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;

}
.olhar-pdp .promo-tag.flat {
 font-weight: 500; font-size: 12px; 
}
/* ============ TÍTULO ============ */
.olhar-pdp .title-block {

  padding: 6px 14px 12px;

}
.olhar-pdp .title-row {

  display: flex;
  align-items: flex-start;
  gap: 10px;

}
.olhar-pdp .product-title {

  flex: 1;
  font-size: 16.5px;
  font-weight: 700;
  line-height: 1.35;

}
.olhar-pdp .torcer-badge {

  display: inline-block;
  vertical-align: 2px;
  background: linear-gradient(90deg, #ff4d2d, #ff7a2d);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 1.5px 7px;
  border-radius: 3px;
  margin-right: 3px;

}
.olhar-pdp .bookmark-btn {
 padding: 2px; margin-top: 3px; flex-shrink: 0; 
}
.olhar-pdp .mixer-volt {

  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0 0 16px;

}
.olhar-pdp .mixer-kits-block {

  padding: 2px 14px 14px;
  background: #fff;

}
.olhar-pdp .mixer-kits-label {

  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 800;

}
.olhar-pdp .mixer-kits {

  display: grid;
  gap: 10px;

}
.olhar-pdp .mixer-kit {

  display: grid;
  grid-template-columns: 58px 1fr auto;
  grid-template-areas:
    "img title price"
    "img sub price"
    "img badge badge"
    "img scarce scarce";
  gap: 2px 12px;
  align-items: center;
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid #e6e6e8;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;

}
.olhar-pdp .mixer-kit-img {

  grid-area: img;
  width: 58px;
  height: 58px;
  object-fit: cover;
  border-radius: 10px;
  background: #f5f5f6;
  align-self: start;

}
.olhar-pdp .mixer-kit-img-combo {

  display: grid;
  grid-template-columns: 1.1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 2px;
  overflow: hidden;

}
.olhar-pdp .mixer-kit-img-combo img {

  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 4px;

}
.olhar-pdp .mixer-kit-img-combo img:first-child {

  grid-column: 1;
  grid-row: 1 / span 2;

}
.olhar-pdp .mixer-kit.is-best, .olhar-pdp .mixer-kit.is-selected {

  border-color: #00a085;
  background: #f3fbf9;
  box-shadow: 0 0 0 1px rgba(0, 160, 133, 0.12);

}
.olhar-pdp .mixer-kit-title {

  grid-area: title;
  font-size: 15px;
  font-weight: 800;

}
.olhar-pdp .mixer-kit-sub {

  grid-area: sub;
  font-size: 12.5px;
  color: #8a8b91;
  font-weight: 600;
  line-height: 1.3;

}
.olhar-pdp .mixer-kit-price {

  grid-area: price;
  font-size: 20px;
  font-weight: 800;
  color: #fe2c55;
  white-space: nowrap;
  align-self: center;

}
.olhar-pdp .mixer-kit-badge {

  grid-area: badge;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 800;
  color: #00a085;

}
.olhar-pdp .mixer-kit-scarce {

  grid-area: scarce;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 800;
  color: #fe2c55;

}
.olhar-pdp .mixer-kit.is-selected {

  border-color: #00a085;
  background: #f3fbf9;
  box-shadow: 0 0 0 1px rgba(0, 160, 133, 0.12);

}
.olhar-pdp .rating-row {

  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 9px;
  font-size: 14px;

}
.olhar-pdp .rating-row b {
 font-weight: 700; 
}
.olhar-pdp .star-glyph {

  color: var(--star);
  font-size: 15px;
  line-height: 1;

}
.olhar-pdp .star-glyph.big {
 font-size: 17px; 
}
.olhar-pdp .count-link {
 color: #3b6db2; 
}
.olhar-pdp .dot-sep {

  width: 1px;
  height: 12px;
  background: #ddd;
  margin: 0 3px;

}
/* ============ FRETE ============ */
.olhar-pdp .shipping-block {

  padding: 11px 14px 12px;

}
.olhar-pdp .shipping-row {

  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;

}
.olhar-pdp .frete-pill {

  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--green-frete-bg);
  color: var(--green-frete);
  font-size: 13px;
  font-weight: 600;
  padding: 2.5px 8px;
  border-radius: 3px;
  white-space: nowrap;

}
.olhar-pdp .shipping-eta {

  margin-top: 8px;
  font-size: 14.5px;
  color: var(--black);

}
/* ============ OPÇÕES ============ */
.olhar-pdp .options-row {

  display: flex;
  align-items: center;
  gap: 6px;
  padding: 11px 14px;
  cursor: pointer;

}
.olhar-pdp .opt-grid-ico {

  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-right: 2px;

}
.olhar-pdp .opt-thumb {

  width: 40px;
  height: 40px;
  border-radius: 4px;
  flex-shrink: 0;
  object-fit: cover;
  display: block;
  background: #f2f0ea;

}
.olhar-pdp .opt-thumb.half {
 width: 22px; 
}
.olhar-pdp .options-label {

  margin-left: auto;
  font-size: 13.5px;
  color: var(--black);
  white-space: nowrap;

}
/* ============ CASHBACK ============ */
.olhar-pdp .cashback-row {

  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px 14px;

}
.olhar-pdp .cash-text {
 flex: 1; font-size: 14.5px; 
}
.olhar-pdp .gold {
 color: var(--gold); font-weight: 700; 
}
/* ============ PROTEÇÃO ============ */
.olhar-pdp .protection-block {

  padding: 12px 14px 14px;

}
.olhar-pdp .protection-head {

  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;

}
.olhar-pdp .prot-title {

  flex: 1;
  text-align: left;
  font-size: 14.5px;
  font-weight: 600;
  color: #b0761e;

}
.olhar-pdp .protection-grid {

  display: grid;
  grid-template-columns: auto 1fr;
  gap: 7px 18px;
  margin: 11px 0 0 28px;

}
.olhar-pdp .prot-item {

  display: flex;
  align-items: baseline;
  gap: 5px;
  font-size: 13px;
  color: var(--black);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

}
.olhar-pdp .check-o {

  color: #e8a33d;
  font-weight: 700;
  font-size: 12px;

}
/* ============ OFERTAS ============ */
.olhar-pdp .offers-block {

  padding: 14px 0 16px;
  border-top: 8px solid #f7f7f8;

}
.olhar-pdp .section-head {

  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0 14px 12px;

}
.olhar-pdp .section-head h2 {
 font-size: 17px; font-weight: 700; 
}
.olhar-pdp .coupons-scroll {

  display: flex;
  gap: 10px;
  padding: 0 14px;
  overflow-x: auto;
  scrollbar-width: none;

}
.olhar-pdp .coupons-scroll::-webkit-scrollbar {
 display: none; 
}
.olhar-pdp .coupon {

  position: relative;
  flex: 0 0 300px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 12px;
  border-radius: 10px;

}
.olhar-pdp .coupon-teal {
 background: var(--teal-bg); 
}
.olhar-pdp .coupon-pink {
 background: var(--pink-bg); flex-basis: 220px; 
}
.olhar-pdp .coupon-x30 {

  position: absolute;
  top: 0;
  right: 0;
  background: var(--teal);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 9px;
  border-radius: 0 10px 0 10px;

}
.olhar-pdp .coupon-info {
 flex: 1; min-width: 0; 
}
.olhar-pdp .coupon-title {
 font-size: 15px; font-weight: 700; margin-bottom: 3px; 
}
.olhar-pdp .coupon-pink .coupon-title {
 color: var(--red); 
}
.olhar-pdp .coupon-desc {
 font-size: 12px; color: var(--gray); line-height: 1.35; 
}
.olhar-pdp .coupon-btn {

  flex-shrink: 0;
  background: var(--teal);
  color: #fff;
  font-size: 13.5px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 18px;

}
.olhar-pdp .coupon-btn.pink-btn {
 background: var(--red); 
}
.olhar-pdp .coupons-scroll {

  cursor: grab;

}
.olhar-pdp .coupons-scroll.dragging {

  cursor: grabbing;
  scroll-snap-type: none;

}
.olhar-pdp .coupons-scroll.dragging .coupon {
 pointer-events: none; 
}
.olhar-pdp .section-title {

  font-size: 17px;
  font-weight: 700;
  padding: 0 14px 12px;

}
.olhar-pdp .section-title.big {
 font-size: 18px; 
}
/* ============ AVALIAÇÕES (preview) ============ */
.olhar-pdp .reviews-preview {

  padding: 4px 14px 10px;
  border-top: 8px solid #f7f7f8;

}
.olhar-pdp .reviews-head {

  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 12px 0;

}
.olhar-pdp .rh-title {

  font-size: 15.5px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

}
.olhar-pdp .info-i {
 color: var(--gray-2); font-size: 13px; 
}
.olhar-pdp .ver-mais {

  margin-left: auto;
  color: var(--gray);
  font-size: 13.5px;
  white-space: nowrap;

}
.olhar-pdp .review-mini {

  display: flex;
  gap: 10px;
  padding: 9px 0;
  cursor: pointer;

}
.olhar-pdp .rm-left {
 flex: 1; min-width: 0; 
}
.olhar-pdp .rm-userline {

  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 6px;

}
.olhar-pdp .avatar {
 width: 30px; height: 30px; 
}
.olhar-pdp .avatar.lg {
 width: 34px; height: 34px; 
}
.olhar-pdp img.avatar {

  border-radius: 50%;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
  background: #e2e2e4;

}
.olhar-pdp .stars {

  color: var(--star);
  font-size: 13px;
  letter-spacing: 0.5px;
  line-height: 1;
  white-space: nowrap;

}
.olhar-pdp .stars.md {
 font-size: 14px; 
}
.olhar-pdp .variant {

  color: var(--gray);
  font-size: 12.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

}
.olhar-pdp .rm-line {

  font-size: 14.5px;
  line-height: 1.45;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

}
.olhar-pdp .rk {
 color: var(--gray); 
}
.olhar-pdp .rm-media {

  display: flex;
  flex-direction: column;
  gap: 5px;
  flex-shrink: 0;

}
.olhar-pdp .rm-thumb {

  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 6px;
  overflow: hidden;
  background: #f2f0ea;
  display: block;

}
.olhar-pdp .rm-thumb img {

  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

}
.olhar-pdp .thumb-badge {

  position: absolute;
  right: 4px;
  bottom: 4px;
  z-index: 2;
  padding: 0 5px;
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 11px;
  font-style: normal;

}
.olhar-pdp .play-sm {

  position: absolute;
  top: 5px;
  left: 5px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.38);
  z-index: 2;

}
.olhar-pdp .play-sm::after {

  content: "";
  position: absolute;
  top: 50%;
  left: 56%;
  transform: translate(-50%, -50%);
  border-left: 6px solid #fff;
  border-top: 3.5px solid transparent;
  border-bottom: 3.5px solid transparent;

}
/* ============ LOJA ============ */
.olhar-pdp .store-block {

  padding: 16px 14px;
  border-top: 8px solid #f7f7f8;

}
.olhar-pdp .store-top {

  display: flex;
  align-items: center;
  gap: 12px;

}
.olhar-pdp .store-logo {

  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  flex-shrink: 0;

}
.olhar-pdp .store-info {
 flex: 1; min-width: 0; 
}
.olhar-pdp .store-info h3 {
 font-size: 16.5px; font-weight: 700; 
}
.olhar-pdp .store-info .muted {
 font-size: 13px; margin-top: 3px; 
}
.olhar-pdp .btn-visitar {

  flex-shrink: 0;
  background: var(--gray-bg);
  font-size: 14.5px;
  font-weight: 600;
  padding: 9px 22px;
  border-radius: 6px;

}
.olhar-pdp .store-stats {

  margin-top: 13px;
  font-size: 13px;

}
.olhar-pdp .store-stats b {
 font-weight: 700; 
}
/* ============ SOBRE / DESCRIÇÃO ============ */
.olhar-pdp .about-block {

  padding: 18px 14px 10px;
  border-top: 8px solid #f7f7f8;

}
.olhar-pdp .about-block .section-title {
 padding: 0 0 14px; 
}
.olhar-pdp .sub-title {

  font-size: 15px;
  font-weight: 700;
  margin-bottom: 10px;

}
.olhar-pdp .specs-table {
 margin-bottom: 20px; 
}
.olhar-pdp .spec-row {

  display: flex;
  gap: 20px;
  padding: 5px 0;
  font-size: 14.5px;

}
.olhar-pdp .spec-k {

  flex: 0 0 130px;
  color: var(--gray);

}
.olhar-pdp .spec-v {
 flex: 1; 
}
.olhar-pdp .desc-content p {

  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 12px;

}
.olhar-pdp .desc-h {

  font-size: 15px;
  font-weight: 700;
  margin: 16px 0 10px;

}
.olhar-pdp .desc-list {

  list-style: none;
  margin-bottom: 12px;

}
.olhar-pdp .desc-list li {

  position: relative;
  padding-left: 16px;
  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 11px;

}
.olhar-pdp .desc-list li::before {

  content: "";
  position: absolute;
  left: 3px;
  top: 9px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gray-2);

}
.olhar-pdp .desc-list b {
 font-weight: 700; 
}
.olhar-pdp .ver-menos {

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 10px 0 6px;
  font-size: 15px;
  font-weight: 700;

}
.olhar-pdp .bottom-spacer {
 height: 128px; 
}
/* ============ VOLTAR AO TOPO ============ */
.olhar-pdp .scroll-top {

  position: absolute;
  right: 16px;
  bottom: 96px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 45;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;

}
.olhar-pdp .scroll-top.visible {

  opacity: 1;
  pointer-events: auto;

}
.olhar-pdp .scroll-top.rv {
 z-index: 66; 
}
/* ============ DOCK DE COMPRA (novos clientes) ============ */
.olhar-pdp .buy-dock {

  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  background: #fff;

}
.olhar-pdp .freight-expire {

  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #d9f4ee;
  color: #161823;
  font-size: 12.5px;

}
.olhar-pdp .freight-expire[hidden] {
 display: none !important; 
}
.olhar-pdp .freight-expire p {

  flex: 1;
  min-width: 0;
  line-height: 1.3;

}
.olhar-pdp .freight-expire .nc-timer {
 color: #00a085; 
}
.olhar-pdp .freight-expire button {

  font-size: 18px;
  line-height: 1;
  color: #8a8b91;
  padding: 0 2px;

}
.olhar-pdp .nc-buy-bar {

  position: relative;
  z-index: 1;

}
.olhar-pdp .nc-buy-bar .btn-buy {

  flex: 1.6;

}
.olhar-pdp .nc-buy-bar .cart-icon-btn {

  position: relative;

}
.olhar-pdp .badge-99 {

  display: inline-block;
  height: 18px;
  width: auto;
  vertical-align: -3px;
  margin-right: 6px;

}
.olhar-pdp .nc-flash {

  display: block;
  width: 100%;
  text-align: left;
  background: linear-gradient(180deg, #ffd6e3 0%, #ffe9ef 48%, #fff 100%);
  color: #161823;
  position: relative;
  overflow: hidden;
  border: 0;
  padding: 12px 14px 10px;

}
.olhar-pdp .nc-flash-mark {

  display: none;

}
.olhar-pdp .sku-actions .btn-cart, .olhar-pdp .sku-actions .btn-buy {

  min-height: 48px;
  justify-content: center;

}
.olhar-pdp .sku-actions .btn-cart {

  white-space: nowrap;
  font-size: 13.5px;

}
.olhar-pdp .sku-actions .btn-buy span {

  white-space: nowrap;

}
.olhar-pdp .size-grid[hidden] {

  display: none !important;

}
.olhar-pdp .nc-flash .flash-off {

  background: #ff4d7a;
  color: #fff;

}
.olhar-pdp .nc-flash .flash-price {

  color: #fe2c55;

}
.olhar-pdp .nc-flash .coupon-glyph {
 color: #ff4d7a; fill: #ff4d7a; 
}
.olhar-pdp .nc-flash-meta {

  margin-left: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  text-align: right;
  flex-shrink: 0;

}
.olhar-pdp .nc-flash-meta b {

  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.2;

}
.olhar-pdp .nc-flash-meta small {

  font-size: 11.5px;
  color: #8a8b91;
  font-weight: 600;

}
.olhar-pdp .nc-flash .flash-old {

  color: #b0b0b4;

}
.olhar-pdp .price-details-page {

  position: absolute;
  inset: 0;
  z-index: 86;
  background: #fff;
  display: flex;
  flex-direction: column;

}
.olhar-pdp .price-details-page[hidden] {
 display: none !important; 
}
.olhar-pdp .pd-header {

  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 0 8px 0 16px;
  border-bottom: 1px solid var(--border);

}
.olhar-pdp .pd-title {

  flex: 1;
  text-align: center;
  font-size: 16px;
  font-weight: 700;

}
.olhar-pdp .pd-body {
 padding: 8px 18px 24px; 
}
.olhar-pdp .pd-row, .olhar-pdp .pd-total {

  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0;
  font-size: 15px;
  border-bottom: 1px solid #f2f2f4;

}
.olhar-pdp .pd-red {
 color: #fe2c55; font-weight: 700; 
}
.olhar-pdp .pd-total {

  border-bottom: 0;
  padding-top: 18px;
  font-weight: 700;

}
.olhar-pdp .pd-total b {

  color: #fe2c55;
  font-size: 18px;

}
.olhar-pdp .pd-note {

  text-align: right;
  font-size: 12px;
  color: var(--gray);
  margin-top: 2px;

}
.olhar-pdp .pd-foot {

  margin-top: 10px;
  font-size: 12.5px;
  color: var(--gray);
  text-align: center;

}
.olhar-pdp .bottom-bar {

  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px calc(9px + var(--safe-b));
  background: #fff;
  border-top: 1px solid var(--border);

}
.olhar-pdp .reviews-page .bottom-bar {

  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 65;

}
.olhar-pdp .bb-ico {

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  font-size: 10.5px;
  min-width: 34px;
  flex-shrink: 0;

}
.olhar-pdp .btn-cart, .olhar-pdp .btn-buy {

  flex: 1;
  min-width: 0;
  border-radius: 24px;
  font-weight: 700;
  line-height: 1.2;
  padding: 8px 6px;

}
.olhar-pdp .btn-cart {

  background: var(--gray-bg);
  color: var(--black);
  font-size: 14.5px;

}
.olhar-pdp .btn-buy {

  background: var(--red);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 15px;

}
.olhar-pdp .btn-buy small {

  font-size: 10.5px;
  font-weight: 500;
  opacity: 0.95;

}
/* ---------- mais desta loja / também pode gostar ---------- */
.olhar-pdp .more-store, .olhar-pdp .also-like {

  padding: 16px 0 8px;
  border-top: 8px solid var(--gray-bg);
  min-width: 0;
  max-width: 100%;
  overflow: hidden;

}
.olhar-pdp .more-store .section-title, .olhar-pdp .also-like .section-title {

  padding: 0 14px 12px;

}
.olhar-pdp .more-scroll, .olhar-pdp .rec-swipe {

  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 14px 16px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  /* pan-y: o swipe vertical deixa a página rolar (antes só pan-x matava o
     gesto em cima do carrossel — zona morta no meio do conteúdo). */
  touch-action: pan-x pan-y;
  overscroll-behavior-x: contain;
  cursor: grab;

}
.olhar-pdp .more-scroll::-webkit-scrollbar, .olhar-pdp .rec-swipe::-webkit-scrollbar {
 display: none; 
}
.olhar-pdp .more-card {

  flex: 0 0 132px;
  width: 132px;
  max-width: 132px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  display: block;
  text-align: left;
  padding: 0;
  user-select: none;
  -webkit-user-select: none;

}
.olhar-pdp .more-name {

  margin-top: 6px;
  font-size: 12px;
  line-height: 1.25;
  color: #161823;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;

}
.olhar-pdp .more-card img {

  width: 132px;
  height: 132px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  background: #f2f0ea;
  pointer-events: none;
  -webkit-user-drag: none;

}
.olhar-pdp .more-mosaic {

  display: grid;
  grid-template-columns: 1.15fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 3px;
  width: 132px;
  height: 132px;
  padding: 4px;
  background: #f6f6f7;
  border-radius: 8px;
  overflow: hidden;

}
.olhar-pdp .more-mosaic img {

  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  border-radius: 5px;
  background: #fff;

}
.olhar-pdp .more-mosaic img:first-child {

  grid-column: 1;
  grid-row: 1 / span 2;

}
.olhar-pdp .more-card b {

  display: block;
  margin-top: 6px;
  font-size: 15px;

}
.olhar-pdp .more-off {

  display: inline-block;
  margin-top: 3px;
  background: #fe2c55;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 5px;
  border-radius: 3px;

}
.olhar-pdp .also-grid {

  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  padding: 0 14px 12px;

}
.olhar-pdp .also-card {

  text-decoration: none;
  color: inherit;
  display: block;

}
.olhar-pdp .also-card img {

  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  background: #f2f0ea;

}
.olhar-pdp .also-card p {

  margin-top: 6px;
  font-size: 12px;
  color: #161823;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;

}
.olhar-pdp .also-card b {

  display: block;
  margin-top: 4px;
  font-size: 15px;

}
.olhar-pdp .rm-thumb, .olhar-pdp .fr-thumb, .olhar-pdp .rev-photo {

  cursor: zoom-in;
  border: none;
  padding: 0;
  background: transparent;
  position: relative;
  display: block;

}
.olhar-pdp .rm-thumb img, .olhar-pdp .fr-thumb img {

  pointer-events: none;

}
.olhar-pdp .pix-code {

  width: 100%;
  box-sizing: border-box;
  resize: none;
  border: 1px dashed rgba(22, 24, 35, 0.18);
  border-radius: 12px;
  padding: 12px 12px;
  background: #fff;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13.5px;
  font-weight: 600;
  color: #161823;
  word-break: break-all;
  line-height: 1.4;
  min-height: 4.8em;
  cursor: pointer;
  -webkit-user-select: all;
  user-select: all;
  margin: 0 0 12px;

}
.olhar-pdp .pix-code:focus {

  outline: 2px solid rgba(254, 44, 85, 0.35);
  outline-offset: 1px;

}
.olhar-pdp .pix-copy-btn {

  min-height: 52px;
  font-size: 17px;
  letter-spacing: 0.01em;

}
.olhar-pdp .pix-copy-btn.is-copied {

  background: #12a150;
  box-shadow: 0 4px 16px rgba(18, 161, 80, 0.28);

}
.olhar-pdp .pix-copy-hint {

  margin: 10px 2px 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: #55575f;
  text-align: center;

}
.olhar-pdp .pix-code-box {

  cursor: pointer;

}
/* ============ FAIXA NOVOS CLIENTES (rosa, sobrepõe relâmpago) ============ */
.olhar-pdp .flash-block.nc-flash {

  display: block;
  width: 100%;
  text-align: left;
  background: linear-gradient(180deg, #ffd6e3 0%, #ffe9ef 48%, #fff 100%);
  color: #161823;
  position: relative;
  overflow: hidden;
  border: 0;
  padding: 12px 14px 10px;

}
.olhar-pdp .flash-block.nc-flash .flash-off {

  background: #ff4d7a;
  color: #fff;

}
.olhar-pdp .flash-block.nc-flash .flash-price {

  color: #fe2c55;

}
.olhar-pdp .flash-block.nc-flash .coupon-glyph {

  color: #ff4d7a;
  fill: #ff4d7a;

}
.olhar-pdp .flash-block.nc-flash .flash-old {

  color: #b0b0b4;

}
.olhar-pdp .flash-row {

  display: flex;
  align-items: center;
  gap: 7px;

}
.olhar-pdp .flash-off {

  background: #fff;
  color: #ff4d12;
  font-size: 13.5px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 3px;
  line-height: 1.25;
  flex-shrink: 0;

}
.olhar-pdp .flash-price {

  display: flex;
  align-items: baseline;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;

}
.olhar-pdp .flash-price .price-int {

  font-size: 31px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.5px;

}
.olhar-pdp .flash-price .price-cents {

  font-size: 17px;
  font-weight: 800;

}
.olhar-pdp .flash-tag {

  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13.5px;
  font-weight: 800;
  white-space: nowrap;
  flex-shrink: 0;

}
.olhar-pdp .flash-old {

  margin-top: 3px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.85);
  text-decoration: line-through;

}
/* ============ AVALIAÇÕES DA LOJA ============ */
.olhar-pdp .store-reviews {

  padding: 10px 14px 14px;
  border-top: 8px solid #f7f7f8;

}
.olhar-pdp .sr-head {

  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 6px 0 10px;
  font-size: 15.5px;
  font-weight: 700;

}
.olhar-pdp .sr-head .chev {
 margin-left: auto; 
}
.olhar-pdp .sr-chips {

  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;

}
.olhar-pdp .sr-chips::-webkit-scrollbar {
 display: none; 
}
.olhar-pdp .sr-chip {

  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  background: #fbf4dd;
  color: #8a6d1f;
  font-size: 13px;
  font-weight: 600;
  padding: 7px 11px;
  border-radius: 6px;
  white-space: nowrap;

}
.olhar-pdp .sr-chip .star-glyph {
 font-size: 13px; 
}
/* ============ ESTRELAS APAGADAS (nota 4) ============ */
.olhar-pdp .star-off {

  color: #e0e0e2;
  font-style: normal;

}
/* chip escuro (filtro ativo) na página de avaliações */
.olhar-pdp .chip.dark {

  background: #161823;
  color: #fff;

}
/* ============ Novos clientes — mesma faixa e preço do anúncio ============ */
.olhar-pdp .coupon-glyph {

  display: block;
  flex-shrink: 0;
  margin-left: 2px;

}
.olhar-pdp .nc-price-top {

  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;

}
.olhar-pdp .nc-price-left {

  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;

}
.olhar-pdp .flash-block.nc-flash {

  background: linear-gradient(180deg, #ffd0e0 0%, #ffe4ec 46%, #fff 100%);
  padding: 10px 12px 8px;

}
.olhar-pdp .nc-flash .flash-price {
 gap: 0; 
}
.olhar-pdp .nc-flash .flash-off, .olhar-pdp .sku-price-line .flash-off {

  background: #fe2c55;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 6px;
  line-height: 1.3;

}
.olhar-pdp .nc-flash .flash-price, .olhar-pdp .nc-flash .flash-price .price-int, .olhar-pdp .nc-flash .flash-price .price-cents {

  color: #fe2c55;
  font-family: TikTokDisplayFont, TikTokFont, sans-serif;
  font-weight: 700;

}
.olhar-pdp .nc-flash .flash-price .price-int {

  font-size: 32px;
  letter-spacing: -0.7px;

}
.olhar-pdp .nc-flash .flash-price .price-cents {

  font-size: 17px;

}
.olhar-pdp .nc-flash .coupon-glyph, .olhar-pdp .sku-price-line .coupon-glyph {
 color: #fe2c55; fill: #fe2c55; 
}
.olhar-pdp .nc-price-right {

  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  padding-top: 4px;
  flex-shrink: 0;

}
.olhar-pdp .nc-price-right b {

  font-family: TikTokFont, "TikTok Sans", sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.2;
  color: #161823;
  white-space: nowrap;

}
.olhar-pdp .nc-price-right small {

  margin-top: 2px;
  font-family: TikTokFont, "TikTok Sans", sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #8a8b91;

}
.olhar-pdp .nc-flash .flash-old {

  margin-top: 2px;
  color: #8a8b91;
  font-size: 13px;
  font-weight: 400;

}
.olhar-pdp .nc-flash .flash-old s {
 color: #8a8b91; 
}
.olhar-pdp .sku-price-line {

  display: flex;
  align-items: center;
  gap: 6px;

}
.olhar-pdp .sku-price-line .price-current, .olhar-pdp .sku-price-line .price-int, .olhar-pdp .sku-price-line .price-cents {

  color: #fe2c55;
  font-family: TikTokDisplayFont, TikTokFont, sans-serif;
  font-weight: 700;

}
.olhar-pdp .sku-price-line .price-current {
 font-size: 22px; 
}
.olhar-pdp .sku-price-line .price-int {
 font-size: 26px; letter-spacing: -0.4px; 
}
.olhar-pdp .sku-old-line .price-old {

  color: #8a8b91;
  text-decoration: line-through;
  font-size: 13px;
  font-weight: 400;

}
.olhar-pdp .sku-nc-bar {

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 12px 8px;
  padding: 8px 10px;
  border-radius: 4px;
  background: #ffdbe5;
  color: #161823;
  font-family: TikTokFont, "TikTok Sans", sans-serif;

}
.olhar-pdp .sku-nc-bar b {
 font-size: 13px; font-weight: 700; 
}
.olhar-pdp .sku-nc-bar span {
 font-size: 12px; color: #8a8b91; font-weight: 500; white-space: nowrap; 
}
.olhar-pdp .nc-buy-bar {

  gap: 6px;
  padding: 8px 12px calc(8px + var(--safe-b));
  font-family: TikTokFont, "TikTok Sans", sans-serif;

}
.olhar-pdp .nc-buy-bar .bb-bag {

  width: 42px;
  height: 42px;
  min-width: 42px;
  border-radius: 50%;
  background: #ffe8ee;
  display: flex;
  align-items: center;
  justify-content: center;

}
.olhar-pdp .nc-buy-bar .btn-buy {

  flex: 1;
  min-height: 48px;
  border-radius: 999px;
  background: #fe2c55;
  color: #fff;
  padding: 6px 16px;

}
.olhar-pdp .nc-buy-bar .btn-buy .js-buy-price, .olhar-pdp .sku-actions .btn-buy .js-buy-price {

  font-family: TikTokFont, "TikTok Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.2px;

}
.olhar-pdp .nc-buy-bar .btn-buy small, .olhar-pdp .sku-actions .btn-buy small {

  font-family: TikTokFont, "TikTok Sans", sans-serif;
  font-size: 11px;
  font-weight: 400;
  opacity: 1;
  letter-spacing: 0;

}
.olhar-pdp .more-card b {
 color: #fe2c55; 
}
.olhar-pdp .sku-opt-img.sku-opt-img-pair {

  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 3px;
  padding: 5px;
  background: #fff;

}
.olhar-pdp .sku-opt-img.sku-opt-img-pair img {

  position: static;
  inset: auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  border-radius: 6px;

}
.olhar-pdp .sku-opt-img.sku-opt-img-pair img:nth-child(1) {

  grid-column: auto;
  grid-row: auto;

}
.olhar-pdp .more-mosaic.more-mosaic-pair {

  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;

}
.olhar-pdp .more-mosaic.more-mosaic-pair img:first-child {

  grid-column: auto;
  grid-row: auto;

}
.olhar-pdp .kit-pair {

  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  padding: 3px;
  overflow: hidden;
  background: #f6f6f7;
  box-sizing: border-box;

}
.olhar-pdp .kit-pair img {

  width: 100% !important;
  height: 100% !important;
  min-height: 0;
  object-fit: cover;
  border-radius: 4px;
  display: block;
  position: static !important;
  inset: auto !important;
  border: 0;

}
.olhar-pdp .sku-thumb.is-hidden {
 display: none !important; 
}
.olhar-pdp .suc-item-img {

  width: 52px;
  height: 52px;
  border-radius: 9px;
  object-fit: cover;
  background: #f5f5f7;
  flex-shrink: 0;
  display: block;

}
.olhar-pdp .pix-promo-left {

  margin: 14px 0 4px;
  padding: 16px 14px 18px;
  border-radius: 16px;
  background: #fe2c55;
  color: #fff;
  text-align: center;
  box-shadow: 0 10px 28px rgba(254, 44, 85, 0.38);
  animation: pixPromoPulse 1.15s ease-in-out infinite;

}
.olhar-pdp .pix-promo-kicker {

  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;

}
.olhar-pdp .pix-promo-time {

  display: block;
  margin: 4px 0 6px;
  font-size: 46px;
  line-height: 0.95;
  font-weight: 800;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;

}
.olhar-pdp .pix-promo-copy {

  display: block;
  font-size: 14.5px;
  font-weight: 650;
  line-height: 1.35;

}
.olhar-pdp .pix-promo-left.is-over {

  animation: none;
  background: #161823;

}
.olhar-pdp .pix-promo-left.is-over .pix-promo-copy {

  font-weight: 700;

}
@keyframes pixPromoPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.02); box-shadow: 0 14px 34px rgba(254, 44, 85, 0.55); }
}
.olhar-pdp .pix-steps {

  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: pixstep;
  display: grid;
  gap: 8px;

}
.olhar-pdp .pix-steps li {

  position: relative;
  margin: 0;
  padding: 12px 12px 12px 48px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #f0d5dc;
  font-size: 14px;
  line-height: 1.45;
  color: #161823;

}
.olhar-pdp .pix-steps li::before {

  counter-increment: pixstep;
  content: counter(pixstep);
  position: absolute;
  left: 12px;
  top: 12px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fe2c55;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  display: grid;
  place-items: center;

}
.olhar-pdp .pix-steps b {
 font-weight: 700; 
}
/* ---------- ajustes próprios (não existem na referência) ---------- */
.olhar-pdp .title-score {
  display: inline-block;
  background: #fe2c55;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  border-radius: 4px;
  padding: 3px 5px;
  margin-right: 6px;
  vertical-align: 3px;
}

/* ==========================================================================
   FULL-WIDTH EDGE-TO-EDGE RESPONSIVE ENGINE (ANDROID, IOS, TABLETS & PC)
   + CARDS "ESCOLHA SEU KIT" 1:1 TIKTOK SHOP
   ========================================================================== */
#vitrine-root {
  width: 100%;
  max-width: 100%;
}

.ts-scope {
  --ts-shell: 100%;
}

body:has(.loja-app) > #vitrine-root {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
}

body:has(.loja-app) > #vitrine-root > .loja-app {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  width: 100%;
}

.olhar-pdp,
.loja-app,
.tk-resume-banner,
.tkv2-shell,
.tkv2-footer,
.checkout-reference.simple-checkout,
.checkout-reference .co-footer,
.tkpix-shell,
.tkpix-footer,
.tkord-shell,
.tk-reviews-full {
  width: 100% !important;
  max-width: 100% !important;
  box-shadow: none !important;
}

.tkv2-shell,
.checkout-reference.simple-checkout,
.tkpix-shell,
.tkord-shell {
  background: #f8f9fa;
}

@media (max-width: 767px) {
  .tk-sheet {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Grid wrapper transparente no mobile/tablet (< 960px) */
.pdp-hero-buy-grid,
.pdp-hero-col,
.pdp-buy-col {
  display: contents;
}

.pdp-hero-thumbs {
  display: none;
}

@media (min-width: 540px) and (max-width: 959px) {
  .olhar-pdp .hero {
    max-height: 72vh;
  }
  .olhar-pdp .hero-carousel img {
    max-height: 72vh;
    object-fit: contain;
    background: #fafafa;
  }
}

/* ============ BLOCO "ESCOLHA SEU KIT" (INLINE PDP & VARIANT SHEET) ============ */
.tk-choose-kit-block {
  padding: 14px 14px 16px;
  background: #ffffff;
  border-top: 8px solid #f7f7f8;
}

.tk-sheet-body .tk-choose-kit-block {
  padding: 4px 0 8px;
  border-top: 0;
  background: transparent;
}

.tk-choose-kit-heading {
  font-size: 16px;
  font-weight: 700;
  color: #161823;
  margin: 0 0 12px;
  line-height: 1.25;
}

.tk-choose-kit-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tk-choose-kit-card {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1.5px solid #e5e7eb;
  background: #ffffff;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease, transform 0.08s ease;
}

.tk-choose-kit-card:hover {
  border-color: #cbd5e1;
}

.tk-choose-kit-card:active {
  transform: scale(0.995);
}

.tk-choose-kit-card.is-best {
  border-color: #00a085;
  background: #f2fbf9;
}

.tk-choose-kit-card.is-selected {
  border-color: #fe2c55;
  background: #fff7f9;
  box-shadow: 0 0 0 1px #fe2c55;
}

.tk-choose-kit-card.is-best.is-selected {
  border-color: #00a085;
  background: #eafaf6;
  box-shadow: 0 0 0 1.5px #00a085;
}

.tk-choose-kit-left {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.tk-choose-kit-title {
  font-size: 17px;
  font-weight: 800;
  color: #111827;
  line-height: 1.25;
}

.tk-choose-kit-sub {
  font-size: 13.5px;
  font-weight: 400;
  color: #6b7280;
  line-height: 1.35;
}

.tk-choose-kit-badge {
  font-size: 13px;
  font-weight: 700;
  color: #009e73;
  line-height: 1.3;
  margin-top: 2px;
}

.tk-choose-kit-scarce {
  font-size: 13px;
  font-weight: 700;
  color: #fe2c55;
  line-height: 1.3;
}

.tk-choose-kit-right {
  flex-shrink: 0;
  text-align: right;
}

.tk-choose-kit-price {
  font-size: 20px;
  font-weight: 800;
  color: #0f172a;
  white-space: nowrap;
  letter-spacing: -0.3px;
}

/* Suporte Dark Mode Vitrine */
.ts-dark .tk-choose-kit-block {
  background: #161823;
  border-top-color: #0f1017;
}
.ts-dark .tk-choose-kit-heading,
.ts-dark .tk-choose-kit-title,
.ts-dark .tk-choose-kit-price {
  color: #f8fafc;
}
.ts-dark .tk-choose-kit-sub {
  color: #94a3b8;
}
.ts-dark .tk-choose-kit-card {
  background: #1e2130;
  border-color: #2e3348;
}
.ts-dark .tk-choose-kit-card.is-best {
  background: rgba(0, 160, 133, 0.14);
  border-color: #00a085;
}
.ts-dark .tk-choose-kit-card.is-selected {
  background: rgba(254, 44, 85, 0.14);
  border-color: #fe2c55;
}
.ts-dark .tk-choose-kit-card.is-best.is-selected {
  background: rgba(0, 160, 133, 0.22);
  border-color: #00c8a5;
}

/* ============ TABLETS / ANDROID WIDE (>= 640px) ============ */
@media (min-width: 640px) {
  .loja-app .loja-feed {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 0 16px 24px;
  }
}

@media (min-width: 768px) {
  .tk-overlay:not(.center) {
    align-items: center;
    justify-content: center;
    padding: 20px;
  }
  .tk-sheet {
    max-width: 540px !important;
    width: 100% !important;
    border-radius: 20px !important;
    max-height: 86vh;
  }
}

/* ============ DESKTOP & NOTEBOOKS (>= 960px — 100% TELA CHEIA E-COMMERCE) ============ */
@media (min-width: 960px) {
  body:has(.olhar-pdp),
  body:has(.loja-app) {
    height: auto !important;
    min-height: 100vh;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    display: block !important;
  }

  body:has(.olhar-pdp) > #vitrine-root > .olhar-pdp,
  body:has(.loja-app) > #vitrine-root > .loja-app,
  .olhar-pdp,
  .loja-app {
    height: auto !important;
    min-height: 100vh;
    overflow: visible !important;
  }

  .olhar-pdp .topbar {
    position: sticky;
    top: 0;
    z-index: 60;
    height: 58px;
    padding: 0 clamp(20px, 4vw, 56px);
    background: #ffffff;
    border-bottom: 1px solid #f1f1f2;
  }

  .ts-dark.olhar-pdp .topbar,
  .ts-dark.olhar-pdp .tabs {
    background: #161823;
    border-bottom-color: #262938;
  }

  .olhar-pdp .tabs {
    position: sticky;
    top: 58px;
    z-index: 59;
    padding: 0 clamp(20px, 4vw, 56px);
    background: #ffffff;
  }

  .olhar-pdp .main {
    overflow: visible !important;
    flex: none !important;
    padding-bottom: 96px;
  }

  .olhar-pdp .pdp-hero-buy-grid {
    display: grid;
    grid-template-columns: minmax(380px, 44%) minmax(0, 56%);
    gap: 36px;
    padding: 24px clamp(20px, 4vw, 56px);
    align-items: start;
    width: 100%;
  }

  .olhar-pdp .pdp-hero-col {
    display: block;
    position: sticky;
    top: 118px;
    min-width: 0;
  }

  .olhar-pdp .pdp-hero-col .hero {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #ececec;
    max-height: 600px;
  }

  .olhar-pdp .pdp-hero-col .hero-carousel img {
    max-height: 600px;
    object-fit: cover;
  }

  .olhar-pdp .pdp-hero-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 12px;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .olhar-pdp .pdp-hero-thumb {
    width: 68px;
    height: 68px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid #e5e7eb;
    opacity: 0.76;
    background: #f8fafc;
    transition: border-color 0.15s ease, opacity 0.15s ease;
  }

  .olhar-pdp .pdp-hero-thumb.is-active,
  .olhar-pdp .pdp-hero-thumb:hover {
    border-color: #fe2c55;
    opacity: 1;
  }

  .olhar-pdp .pdp-hero-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .olhar-pdp .pdp-buy-col {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid #ececec;
    border-radius: 16px;
    overflow: hidden;
    background: #ffffff;
  }

  .ts-dark.olhar-pdp .pdp-buy-col,
  .ts-dark.olhar-pdp .pdp-hero-col .hero {
    border-color: #262938;
    background: #161823;
  }

  .olhar-pdp .store-block,
  .olhar-pdp .about-block,
  .olhar-pdp .reviews-preview,
  .olhar-pdp .store-reviews,
  .olhar-pdp .more-store,
  .olhar-pdp .legal-footer {
    padding-left: clamp(20px, 4vw, 56px);
    padding-right: clamp(20px, 4vw, 56px);
  }

  .olhar-pdp .buy-dock {
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: 70;
    border-top: 1px solid #ececec;
    box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.06);
  }

  .olhar-pdp .freight-expire,
  .olhar-pdp .nc-buy-bar {
    padding-left: clamp(20px, 4vw, 56px);
    padding-right: clamp(20px, 4vw, 56px);
  }

  .olhar-pdp .nc-buy-bar .btn-buy {
    max-width: 480px;
    margin-left: auto;
  }

  /* /loja full-width desktop */
  .loja-app .loja-scroll {
    overflow: visible !important;
    flex: none !important;
  }

  .loja-app .loja-topbar {
    position: sticky;
    top: 0;
    z-index: 60;
    background: #ffffff;
    padding-left: clamp(20px, 4vw, 56px);
    padding-right: clamp(20px, 4vw, 56px);
  }

  .loja-app .loja-profile,
  .loja-app .loja-coupon-wrap,
  .loja-app .loja-tabs,
  .loja-app .loja-sort-row,
  .loja-app .loja-about,
  .loja-app .legal-footer {
    padding-left: clamp(20px, 4vw, 56px);
    padding-right: clamp(20px, 4vw, 56px);
  }

  .loja-app .loja-feed {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 18px;
    padding: 0 clamp(20px, 4vw, 56px) 36px;
  }

  /* Checkout, PIX, Pedido & Rastreio full-width sem barras laterais */
  .tkv2-top,
  .tkv2-free-bar,
  .tkv2-addr-btn,
  .tkv2-card,
  .tkv2-discount-bar,
  .tkv2-footer,
  .checkout-reference .co-header,
  .checkout-reference .sc-body,
  .checkout-reference .co-footer,
  .tkpix-header,
  .tkpix-main,
  .tkpix-footer,
  .tkord-shell > header,
  .tkord-shell > main {
    padding-left: clamp(24px, 8vw, 140px) !important;
    padding-right: clamp(24px, 8vw, 140px) !important;
  }
}

/* QR Code PIX Escaneável (Mobile & Desktop) */
.tkpix-qr-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 4px 0 12px;
  padding: 14px;
  background: #ffffff;
  border: 1px solid #ececef;
  border-radius: 14px;
}

.tkpix-qr-img {
  width: 196px;
  height: 196px;
  object-fit: contain;
  display: block;
  border-radius: 8px;
  background: #ffffff;
}

.tkpix-qr-caption {
  font-size: 12px;
  line-height: 1.4;
  color: #6b7280;
  text-align: center;
}
