.tppb-product-page { background: var(--tppb-page, #fff); }
.tppb-page, .tppb-page * { box-sizing: border-box; }
.tppb-page { width: 100%; max-width: none; margin: 0; padding: 0; color: var(--tppb-text); background: var(--tppb-page); font-family: var(--tppb-font); font-size: var(--tppb-font-size, 16px); line-height: var(--tppb-line-height, 1.55); }
.tppb-section { width: 100%; padding: var(--tppb-pt) 22px var(--tppb-pb); }
.tppb-section-inner { display: flex; align-items: flex-start; gap: var(--tppb-gap); width: 100%; max-width: var(--tppb-max); margin: 0 auto; }
.tppb-column { flex: 1 1 var(--tppb-column-width); width: var(--tppb-column-width); min-width: 0; }
.tppb-block { margin: 0 0 18px; }
.tppb-block:last-child { margin-bottom: 0; }
.tppb-block-title:not(.tppb-has-custom-border) { border: 0 !important; outline: 0 !important; }
.tppb-page a { color: inherit; }
.tppb-page img { max-width: 100%; height: auto; }
.tppb-page h1, .tppb-page h2, .tppb-page h3 { color: var(--tppb-text); font-family: var(--tppb-heading-font, var(--tppb-font)); font-weight: var(--tppb-heading-weight, 700); }
.tppb-block.tppb-custom-font-family * { font-family: inherit !important; }
.tppb-block.tppb-custom-font-size * { font-size: inherit !important; }
.tppb-block.tppb-custom-font-weight * { font-weight: inherit !important; }
.tppb-block.tppb-custom-font-style * { font-style: inherit !important; }
.tppb-block.tppb-custom-line-height * { line-height: inherit !important; }
.tppb-block.tppb-custom-letter-spacing * { letter-spacing: inherit !important; }
.tppb-block.tppb-custom-text-transform * { text-transform: inherit !important; }
.tppb-block.tppb-custom-text-align * { text-align: inherit !important; }
.tppb-block.tppb-custom-text-color * { color: inherit !important; }
.tppb-notices { width: 100%; max-width: var(--tppb-max); margin: 0 auto; padding: 0 22px; }
body.tppb-notice-modal-open { overflow: hidden; }
.tppb-cart-notice-modal, .tppb-cart-notice-modal * { box-sizing: border-box; }
.tppb-cart-notice-modal { position: fixed; z-index: 10050; inset: 0; display: grid; padding: 20px; place-items: center; background: rgba(15,23,42,.48); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); visibility: hidden; opacity: 0; transition: opacity .18s ease, visibility .18s ease; }
.tppb-cart-notice-modal[hidden] { display: none !important; }
.tppb-cart-notice-modal.is-visible { visibility: visible; opacity: 1; }
.tppb-cart-notice-dialog { position: relative; display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 16px; width: min(470px, 100%); padding: 26px 54px 26px 24px; border: 1px solid rgba(255,255,255,.72); border-radius: 18px; background: #fff; box-shadow: 0 24px 70px rgba(15,23,42,.28), 0 6px 20px rgba(15,23,42,.12); opacity: 0; transform: translateY(14px) scale(.97); transition: opacity .18s ease, transform .22s cubic-bezier(.22,1,.36,1); }
.tppb-cart-notice-modal.is-visible .tppb-cart-notice-dialog { opacity: 1; transform: translateY(0) scale(1); }
.tppb-cart-notice-close { position: absolute; top: 12px; right: 12px; display: grid; width: 34px; height: 34px; margin: 0; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #4b5563; background: #f3f4f6; box-shadow: none; font: 400 25px/1 Arial,sans-serif; cursor: pointer; transition: color .16s ease, background-color .16s ease, transform .16s ease; }
.tppb-cart-notice-close:hover { color: #111827; background: #e5e7eb; transform: rotate(4deg); }
.tppb-cart-notice-close:focus-visible { outline: 3px solid rgba(255,0,59,.3); outline-offset: 2px; }
.tppb-cart-notice-icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; color: #c62828; background: #fff0f0; }
.tppb-cart-notice-icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.tppb-cart-notice-content { min-width: 0; padding-top: 2px; }
.tppb-cart-notice-content h2 { margin: 0 0 7px; color: #111827; font-family: inherit; font-size: 20px; font-weight: 750; line-height: 1.25; }
.tppb-cart-notice-content p { margin: 0; color: #4b5563; font-family: inherit; font-size: 15px; font-weight: 400; line-height: 1.55; unicode-bidi: plaintext; }
@media (max-width: 480px) {
  .tppb-cart-notice-modal { padding: 16px; }
  .tppb-cart-notice-dialog { grid-template-columns: 44px minmax(0,1fr); gap: 13px; padding: 22px 46px 22px 18px; border-radius: 15px; }
  .tppb-cart-notice-icon { width: 44px; height: 44px; }
  .tppb-cart-notice-icon svg { width: 25px; height: 25px; }
  .tppb-cart-notice-content h2 { font-size: 18px; }
  .tppb-cart-notice-content p { font-size: 14px; }
}
.tppb-breadcrumb-section .woocommerce-breadcrumb { margin: 0; color: var(--tppb-muted); font-size: 13px; }
.tppb-breadcrumb-section .woocommerce-breadcrumb a { color: var(--tppb-muted); text-decoration: none; }
.tppb-breadcrumb-section .woocommerce-breadcrumb a:hover { color: var(--tppb-text); }
.tppb-hero .tppb-section-inner { align-items: stretch; }
.tppb-block-gallery { position: sticky; top: var(--tppb-gallery-sticky-top, 24px); z-index: 3; }
.admin-bar .tppb-block-gallery { top: calc(var(--tppb-gallery-sticky-top, 24px) + 32px); }

.tppb-gallery { display: flex; align-items: flex-start; gap: 14px; width: 100%; }
.tppb-gallery-rail { display: flex; flex: 0 0 var(--tppb-thumb-size); flex-direction: column; gap: 10px; min-height: 0; }
.tppb-gallery-viewport { flex: 1 1 auto; min-height: 0; overflow: hidden; scroll-behavior: smooth; scrollbar-width: none; cursor: grab; touch-action: none; user-select: none; }
.tppb-gallery-viewport.is-dragging { cursor: grabbing; scroll-behavior: auto; }
.tppb-gallery-viewport::-webkit-scrollbar { display: none; }
.tppb-gallery-thumbs { display: flex; flex-direction: column; gap: 10px; }
.tppb-gallery-thumb { flex: 0 0 var(--tppb-thumb-size); width: var(--tppb-thumb-size); height: var(--tppb-thumb-size); padding: 2px; border: 1px solid var(--tppb-border); border-radius: calc(var(--tppb-radius) * .65); background: var(--tppb-card); cursor: pointer; overflow: hidden; transition: border-color .18s ease, box-shadow .18s ease, opacity .18s ease; }
.tppb-gallery-thumb:hover, .tppb-gallery-thumb.is-active { border-color: var(--tppb-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--tppb-accent) 25%, transparent); }
.tppb-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: calc(var(--tppb-radius) * .45); pointer-events: none; -webkit-user-drag: none; }
.tppb-gallery-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; flex: 0 0 auto; }
.tppb-gallery-nav[hidden] { display: none; }
.tppb-gallery-nav button { display: grid; place-items: center; width: 100%; height: 42px; padding: 0; border: 1px solid color-mix(in srgb, var(--tppb-border) 75%, #aab1ba); border-radius: 12px; color: #273142; background: linear-gradient(180deg, #fff 0%, #f3f5f7 100%); box-shadow: 0 3px 10px rgba(17,24,39,.08), inset 0 1px 0 #fff; cursor: pointer; line-height: 1; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, opacity .18s ease; }
.tppb-gallery-nav button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.tppb-gallery-nav button:hover:not(:disabled) { border-color: color-mix(in srgb, var(--tppb-accent) 70%, #9ca3af); box-shadow: 0 5px 14px rgba(17,24,39,.12), 0 0 0 2px color-mix(in srgb, var(--tppb-accent) 18%, transparent); transform: translateY(-1px); }
.tppb-gallery-nav button:active:not(:disabled) { transform: translateY(0); }
.tppb-gallery-nav button:disabled { opacity: .28; cursor: default; }
.tppb-gallery-main { --tppb-zoom-x: 50%; --tppb-zoom-y: 50%; position: relative; display: grid; flex: 1 1 auto; place-items: center; aspect-ratio: 1 / 1; min-width: 0; overflow: hidden; overflow: clip; border-radius: var(--tppb-radius); background: #f7f7f8; cursor: zoom-in; touch-action: pan-y; user-select: none; -webkit-user-select: none; isolation: isolate; }
.tppb-gallery-main:focus-visible { outline: 3px solid color-mix(in srgb, var(--tppb-accent) 75%, #ff003b); outline-offset: 3px; }
.tppb-gallery-main > [data-gallery-main], .tppb-gallery-main > .tppb-gallery-swipe-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border-radius: inherit; -webkit-clip-path: inset(0 round var(--tppb-radius)); clip-path: inset(0 round var(--tppb-radius)); object-fit: contain; image-rendering: auto; backface-visibility: hidden; pointer-events: none; user-select: none; -webkit-user-drag: none; will-change: transform; }
.tppb-gallery-main > [data-gallery-main] { z-index: 2; transform: scale(1); transform-origin: var(--tppb-zoom-x) var(--tppb-zoom-y); transition: transform .28s cubic-bezier(.2,.65,.3,1); }
.tppb-gallery-main > .tppb-gallery-swipe-image { z-index: 1; visibility: hidden; transform: translate3d(var(--tppb-swipe-preview-x, 100%), 0, 0); transition: transform .28s cubic-bezier(.2,.65,.3,1); }
.tppb-gallery-main > .tppb-gallery-swipe-image.is-active { visibility: visible; }
.tppb-gallery-main.is-zooming > [data-gallery-main] { transform: scale(var(--tppb-zoom-scale)); }
.tppb-gallery-main.is-tap-zoomed > [data-gallery-main] { transform: scale(var(--tppb-zoom-scale)); }
.tppb-gallery-main.is-swiping { cursor: grabbing; }
.tppb-gallery-main.is-swiping > [data-gallery-main] { transform: translate3d(var(--tppb-swipe-x, 0), 0, 0); transition: none; }
.tppb-gallery-main.is-swiping > .tppb-gallery-swipe-image { transition: none; }
.tppb-gallery-main.is-swiping.is-swipe-settling > [data-gallery-main], .tppb-gallery-main.is-swiping.is-swipe-settling > .tppb-gallery-swipe-image { transition: transform .34s cubic-bezier(.22,1,.36,1); }
.tppb-gallery-main.is-swipe-finalizing > [data-gallery-main] { transform: translate3d(0,0,0) scale(1) !important; transition: none !important; }
.tppb-gallery-main.is-touch-zooming > [data-gallery-main] { transform: scale(var(--tppb-touch-scale, 1)); transform-origin: var(--tppb-zoom-x) var(--tppb-zoom-y); transition: none; }

.tppb-product-title { margin: 0; font-size: clamp(24px, 2vw, 34px); font-weight: 700; line-height: 1.18; letter-spacing: -.025em; }
.tppb-page .tppb-block.tppb-block-rating, .tppb-page .tppb-block.tppb-block-add_to_cart { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.tppb-page .tppb-section .tppb-section-inner .tppb-column .tppb-block.tppb-block-rating { display: block !important; }
.tppb-page .tppb-section .tppb-section-inner .tppb-column .tppb-block.tppb-block-rating::before, .tppb-page .tppb-section .tppb-section-inner .tppb-column .tppb-block.tppb-block-rating::after, .tppb-page .tppb-block-rating > .woocommerce-product-rating::before, .tppb-page .tppb-block-rating > .woocommerce-product-rating::after { display: none !important; content: none !important; }
.tppb-page .tppb-section .tppb-section-inner .tppb-column .tppb-block.tppb-block-rating > .woocommerce-product-rating { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.tppb-page .tppb-block-rating .tppb-rating-summary-link { display: inline-flex !important; align-items: center !important; justify-content: flex-start !important; gap: 8px !important; margin: 0 !important; padding: 0 !important; color: inherit !important; text-decoration: none !important; cursor: pointer; transform: none !important; }
.tppb-page .tppb-block-rating .tppb-rating-average { flex: 0 0 auto; margin: 0 !important; padding: 0 !important; color: var(--tppb-text); font-weight: 700; line-height: 1; }
.tppb-page .tppb-block-rating .tppb-rating-summary-link > .star-rating { position: relative !important; left: auto !important; right: auto !important; float: none !important; flex: 0 0 auto; margin: 0 !important; padding: 0 !important; color: #f0b429; transform: none !important; }
.tppb-page .tppb-block-rating .tppb-rating-divider { flex: 0 0 auto; color: var(--tppb-border); line-height: 1; }
.tppb-page .tppb-block-rating .tppb-rating-count { flex: 0 1 auto; margin: 0 !important; padding: 0 !important; color: var(--tppb-accent, #ff003b); font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.tppb-price-row { display: block; width: 100%; }
.tppb-page .tppb-block-price .tppb-price { display: flex; flex-flow: row wrap; align-items: baseline; gap: 8px 12px; color: var(--tppb-text); font-size: var(--tppb-price-current-size, clamp(34px, 3.2vw, 56px)) !important; font-weight: 700; letter-spacing: -.03em; line-height: 1.05; }
.tppb-price p { margin: 0; }
.tppb-price-current { flex: 0 0 auto; color: var(--tppb-text); font: inherit; letter-spacing: inherit; line-height: inherit; white-space: nowrap; }
.tppb-price-current .amount, .tppb-price-current .woocommerce-Price-currencySymbol { color: inherit; font: inherit; }
.tppb-page .tppb-block-price .tppb-price-compare { display: inline-flex; flex: 0 0 auto; align-items: baseline; gap: 7px; margin: 0; color: var(--tppb-muted); font-size: clamp(15px, 1.25vw, 20px) !important; font-weight: 400 !important; letter-spacing: 0 !important; line-height: 1.25 !important; white-space: nowrap; }
.tppb-page .tppb-block-price .tppb-price-compare * { line-height: inherit !important; }
.tppb-page .tppb-block-price .tppb-price-was { color: var(--tppb-muted); font-size: var(--tppb-price-was-size, 1em) !important; }
.tppb-page .tppb-block-price .tppb-price-compare del { color: var(--tppb-muted); font-size: var(--tppb-price-regular-size, 1em) !important; opacity: 1; }
.tppb-price-compare del .amount, .tppb-price-compare del .woocommerce-Price-currencySymbol { color: inherit; font-weight: 400; }
.tppb-page .tppb-block-price .tppb-price-compare .woocommerce-Price-currencySymbol { display: none; }
.tppb-page .tppb-block-price .tppb-price.is-price-wrapped .tppb-price-compare .woocommerce-Price-currencySymbol { display: inline; }
.tppb-page .tppb-block-price .tppb-sale-percentage { margin: 0; color: #20a817 !important; font-size: var(--tppb-price-discount-size, 1em) !important; font-weight: 700 !important; text-decoration: none; }
.tppb-short-description { color: var(--tppb-muted); }
.tppb-short-description p:first-child { margin-top: 0; }
.tppb-short-description p:last-child { margin-bottom: 0; }

.tppb-block-add_to_cart { border: 0; background: transparent; }
.tppb-page .tppb-block-add_to_cart form.cart { display: flex !important; width: 100% !important; max-width: none !important; box-sizing: border-box; flex-flow: row wrap !important; align-items: stretch; justify-content: flex-start; gap: 10px !important; margin: 0 !important; padding: 0 !important; }
.tppb-page .tppb-block-add_to_cart form.cart:not(.variations_form):not(.grouped_form) { flex-wrap: nowrap !important; }
.tppb-page .tppb-block-add_to_cart form.cart::before, .tppb-page .tppb-block-add_to_cart form.cart::after { display: none !important; content: none !important; }
.tppb-page .tppb-block-add_to_cart form.cart .quantity, .tppb-page .tppb-sticky-cart .quantity { position: relative !important; left: auto !important; right: auto !important; display: grid !important; float: none !important; flex: 0 0 88px !important; grid-template-columns: minmax(46px, 1fr) 40px; align-items: stretch; width: 88px !important; min-width: 88px !important; max-width: 88px !important; height: 50px; margin: 0 !important; padding: 0 !important; overflow: visible; border: 1px solid var(--tppb-border); border-radius: var(--tppb-radius); background: #fff; box-shadow: 0 1px 3px rgba(17,24,39,.06); direction: ltr; transform: none !important; transition: flex-basis .2s ease, width .2s ease, min-width .2s ease, max-width .2s ease; }
.tppb-page .tppb-block-add_to_cart form.cart .quantity.has-decrease, .tppb-page .tppb-sticky-cart .quantity.has-decrease { flex-basis: 132px !important; grid-template-columns: 40px minmax(38px, 1fr) 40px; width: 132px !important; min-width: 132px !important; max-width: 132px !important; }
.tppb-page .tppb-block-add_to_cart form.cart .quantity .qty, .tppb-page .tppb-sticky-cart .quantity .qty { display: none !important; }
.tppb-page .tppb-quantity-value { grid-column: 1; grid-row: 1; display: grid; min-width: 0; height: 48px; margin: 0; padding: 0 3px; place-items: center; color: var(--tppb-text); background: #fff; background-clip: padding-box; font-size: 16px; font-weight: 700; line-height: 48px; text-align: center; user-select: none; }
.tppb-page .quantity:not(.has-decrease) .tppb-quantity-value { border-radius: calc(var(--tppb-radius) - 1px) 0 0 calc(var(--tppb-radius) - 1px); }
.tppb-page .quantity.has-decrease .tppb-quantity-value { grid-column: 2; }
.tppb-page .tppb-quantity-button { position: relative; display: grid !important; place-items: center; min-width: 0 !important; min-height: 0 !important; width: 40px !important; height: 48px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; color: var(--tppb-text) !important; background: transparent !important; box-shadow: none !important; line-height: 1 !important; cursor: pointer; transition: color .16s ease, background-color .16s ease, opacity .16s ease; }
.tppb-page .tppb-quantity-decrease { grid-column: 1; grid-row: 1; border-right: 1px solid color-mix(in srgb, var(--tppb-border) 70%, transparent) !important; border-radius: calc(var(--tppb-radius) - 1px) 0 0 calc(var(--tppb-radius) - 1px) !important; }
.tppb-page .tppb-block-add_to_cart .tppb-quantity-increase, .tppb-page .tppb-sticky-cart .tppb-quantity-increase { grid-column: 2; grid-row: 1; border-left: 1px solid color-mix(in srgb, var(--tppb-border) 70%, transparent) !important; border-radius: 0 calc(var(--tppb-radius) - 1px) calc(var(--tppb-radius) - 1px) 0 !important; }
.tppb-page .tppb-block-add_to_cart .quantity.has-decrease .tppb-quantity-increase, .tppb-page .tppb-sticky-cart .quantity.has-decrease .tppb-quantity-increase { grid-column: 3; }
.tppb-page .tppb-quantity-button:hover { color: #111827 !important; background: #f3f4f6 !important; }
.tppb-page .tppb-quantity-button:focus-visible { z-index: 3; outline: 2px solid color-mix(in srgb, var(--tppb-accent) 70%, #ff003b); outline-offset: -3px; }
.tppb-page .tppb-quantity-button:disabled { cursor: default; opacity: .35; }
.tppb-page .tppb-quantity-button.is-hidden { visibility: hidden; pointer-events: none; }
.tppb-page .tppb-quantity-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tppb-page .tppb-quantity-decrease .tppb-quantity-bin-icon { display: none; }
.tppb-page .tppb-quantity-decrease.is-bin { color: #b42318 !important; }
.tppb-page .tppb-quantity-decrease.is-bin .tppb-quantity-minus-icon { display: none; }
.tppb-page .tppb-quantity-decrease.is-bin .tppb-quantity-bin-icon { display: block; }
.tppb-page .tppb-quantity-increase.is-limit-reached { color: var(--tppb-muted) !important; cursor: not-allowed; }
.tppb-page .tppb-quantity-increase.is-limit-reached::before { position: absolute; z-index: 21; bottom: calc(100% + 4px); left: 18px; width: 0; height: 0; border: 5px solid transparent; border-top-color: var(--tppb-limit-message-background, #1f2937); content: ''; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .16s ease, visibility .16s ease; }
.tppb-page .tppb-quantity-increase.is-limit-reached::after { position: absolute; z-index: 20; bottom: calc(100% + 13px); left: 10px; width: 230px; max-width: calc(100vw - 24px); padding: 8px 11px; border-radius: 7px; color: var(--tppb-limit-message-color, #fff); background: var(--tppb-limit-message-background, #1f2937); box-shadow: 0 5px 16px rgba(17,24,39,.22); content: attr(data-limit-message); direction: ltr; font-size: 12px; font-weight: 600; line-height: 1.35; text-align: center; white-space: normal; visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(4px); transition: opacity .16s ease, visibility .16s ease, transform .16s ease; }
.tppb-page .tppb-quantity-increase.is-limit-reached:hover::before, .tppb-page .tppb-quantity-increase.is-limit-reached:focus-visible::before, .tppb-page .tppb-quantity-increase.is-limit-reached:hover::after, .tppb-page .tppb-quantity-increase.is-limit-reached:focus-visible::after { visibility: visible; opacity: var(--tppb-limit-message-opacity, .6); }
.tppb-page .tppb-quantity-increase.is-limit-reached:hover::after, .tppb-page .tppb-quantity-increase.is-limit-reached:focus-visible::after { transform: translateY(0); }
.tppb-page .tppb-block-add_to_cart form.cart .single_add_to_cart_button, .tppb-page .button.alt { position: static; left: auto; right: auto; float: none !important; flex: 1 1 0 !important; width: auto !important; max-width: none !important; min-width: 0; min-height: 50px; margin: 0 !important; padding: 12px 22px !important; border: 1px solid color-mix(in srgb, var(--tppb-accent) 82%, #111) !important; border-radius: var(--tppb-radius) !important; color: var(--tppb-button-text) !important; background: var(--tppb-accent) !important; font-weight: 700 !important; line-height: 1.2 !important; text-align: center; transition: filter .18s ease, transform .18s ease; }
.tppb-block-add_to_cart .single_add_to_cart_button:hover, .tppb-page .button.alt:hover { filter: brightness(.95); transform: translateY(-1px); }
.tppb-block-add_to_cart .single_add_to_cart_button.is-loading { opacity: .7; cursor: wait; }
.tppb-block-add_to_cart .single_add_to_cart_button.is-added { background: #2d8a45 !important; border-color: #2d8a45 !important; color: #fff !important; }
.tppb-block-add_to_cart a.added_to_cart { display: none !important; }
.tppb-block-add_to_cart .single_add_to_cart_button.added::after { display: none !important; content: none !important; }
.tppb-block-add_to_cart .stock { width: 100%; margin: 0 0 8px; color: #27863a; font-size: 13px; font-weight: 600; }
.tppb-block-add_to_cart .variations { width: 100%; margin: 0 0 14px; }
.tppb-block-add_to_cart .variations th, .tppb-block-add_to_cart .variations td { display: block; padding: 4px 0; text-align: left; }
.tppb-block-add_to_cart .variations select { width: 100%; min-height: 44px; border: 1px solid var(--tppb-border); border-radius: var(--tppb-radius); }
.tppb-block-add_to_cart .woocommerce-variation { width: 100%; }
.tppb-page .tppb-block-add_to_cart .single_variation_wrap, .tppb-page .tppb-block-add_to_cart .woocommerce-variation { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.tppb-page .tppb-block-add_to_cart .woocommerce-variation-add-to-cart { display: flex !important; width: 100% !important; max-width: none !important; flex-flow: row nowrap !important; align-items: stretch; gap: 10px !important; margin: 0 !important; padding: 0 !important; }

.tppb-sticky-cart { position: fixed; z-index: 1001; left: 50%; bottom: 0; width: min(1247px, calc(100vw - 32px)); max-width: 1247px; visibility: hidden; opacity: 0; pointer-events: none; transform: translate3d(-50%, calc(100% + 18px), 0); transition: opacity .24s ease, visibility .24s ease, transform .32s cubic-bezier(.22,1,.36,1); }
.tppb-sticky-cart.is-visible { visibility: visible; opacity: 1; pointer-events: auto; transform: translate3d(-50%, 0, 0); }
.tppb-sticky-cart-inner { display: flex; align-items: center; gap: 24px; width: 100%; height: 95px; min-height: 95px; padding: 12px 16px; border: 1px solid color-mix(in srgb, var(--tppb-border) 82%, #cbd0d8); border-bottom: 0; border-radius: calc(var(--tppb-radius) * 1.8) calc(var(--tppb-radius) * 1.8) 0 0; background: rgba(255,255,255,.97); box-shadow: 0 -10px 38px rgba(17,24,39,.16), 0 -2px 8px rgba(17,24,39,.06); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.tppb-sticky-cart-product { display: flex; flex: 1 1 auto; align-items: center; gap: 13px; min-width: 0; }
.tppb-sticky-cart-image { display: grid; flex: 0 0 58px; width: 58px; height: 58px; overflow: hidden; place-items: center; border: 1px solid var(--tppb-border); border-radius: calc(var(--tppb-radius) * .8); background: #fff; }
.tppb-sticky-cart-image img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; }
.tppb-sticky-cart-title { display: block; min-width: 0; overflow: hidden; color: var(--tppb-text); font-size: 15px; font-weight: 700; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.tppb-sticky-cart-price { flex: 0 0 auto; min-width: 150px; text-align: right; }
.tppb-sticky-cart-price .tppb-price { display: flex; flex-flow: column nowrap; align-items: flex-end; justify-content: center; gap: 3px; }
.tppb-sticky-cart-price .tppb-price-current { font-size: 22px !important; font-weight: 750; letter-spacing: -.02em; line-height: 1.05; white-space: nowrap; }
.tppb-sticky-cart-price .tppb-price-compare { justify-content: flex-end; gap: 4px; margin: 0; font-size: 12px !important; line-height: 1.2 !important; white-space: nowrap; direction: ltr !important; unicode-bidi: isolate; }
.tppb-sticky-cart-price .tppb-price-compare .woocommerce-Price-currencySymbol { display: inline; }
.tppb-sticky-cart-price .tppb-price-compare del { order: 1; unicode-bidi: isolate; }
.tppb-sticky-cart-price .tppb-price-compare .tppb-sale-percentage { order: 2; margin-inline: 3px 0; }
.tppb-sticky-cart-price .tppb-sale-percentage, .tppb-sticky-sale-percentage { color: #20a817 !important; font-size: 13px !important; font-weight: 800 !important; }
.tppb-sticky-variation-price { display: flex; flex-flow: column nowrap; align-items: flex-end; justify-content: center; gap: 3px; color: var(--tppb-text); font-size: 20px; font-weight: 750; line-height: 1.2; direction: ltr !important; unicode-bidi: isolate; }
.tppb-sticky-variation-price .price { display: inline-flex; align-items: baseline; gap: 4px; margin: 0; color: inherit; font: inherit; direction: ltr !important; unicode-bidi: isolate; }
.tppb-sticky-variation-price:has(.price del) { display: grid; grid-template-columns: auto auto; align-items: baseline; justify-content: end; column-gap: 7px; row-gap: 3px; }
.tppb-sticky-variation-price:has(.price del) .price { display: contents; }
.tppb-sticky-variation-price .price del { order: 2; grid-column: 1; grid-row: 2; }
.tppb-sticky-variation-price .price ins { order: 1; grid-column: 1 / -1; grid-row: 1; justify-self: end; }
.tppb-sticky-variation-price .tppb-sticky-sale-percentage { order: 3; grid-column: 2; grid-row: 2; margin: 0; }
.tppb-sticky-variation-price del { color: var(--tppb-muted); font-size: 12px; font-weight: 500; opacity: 1; }
.tppb-sticky-variation-price ins { color: var(--tppb-text); font: inherit; text-decoration: none; }
.tppb-sticky-cart-controls { display: flex; flex: 0 0 auto; align-items: stretch; gap: 10px; }
.tppb-page .tppb-sticky-add-to-cart { flex: 0 0 190px !important; width: 190px !important; min-width: 190px !important; min-height: 50px; margin: 0 !important; padding: 11px 20px !important; font-size: var(--tppb-sticky-button-size, 13px) !important; font-weight: var(--tppb-sticky-button-weight, 700) !important; text-transform: var(--tppb-sticky-button-transform, uppercase) !important; }
.tppb-page .tppb-sticky-add-to-cart.is-loading { opacity: .7; cursor: wait; }
.tppb-page .tppb-sticky-add-to-cart.is-added { border-color: #2d8a45 !important; color: #fff !important; background: #2d8a45 !important; }

body.tppb-cart-drawer-open { overflow: hidden; }
.tppb-cart-drawer, .tppb-cart-drawer * { box-sizing: border-box; }
.tppb-cart-drawer { position: fixed; z-index: 10040; inset: 0; visibility: hidden; }
.tppb-cart-drawer[hidden] { display: none !important; }
.tppb-cart-drawer.is-open { visibility: visible; }
.tppb-cart-drawer-backdrop { position: absolute; inset: 0; background: var(--tppb-drawer-overlay,#0f172a); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); opacity: 0; transition: opacity .26s ease; cursor: pointer; }
.tppb-cart-drawer.is-open .tppb-cart-drawer-backdrop { opacity: var(--tppb-drawer-overlay-opacity,.66); }
.tppb-cart-drawer-panel { position: absolute; top: 0; right: 0; display: flex; flex-direction: column; width: min(var(--tppb-drawer-width,340px),100vw); max-width: 340px; height: 100%; height: 100dvh; overflow: hidden; color: var(--tppb-drawer-text,#202532); background: var(--tppb-drawer-background,#fff); box-shadow: -18px 0 55px rgba(15,23,42,.24); transform: translate3d(102%,0,0); transition: transform .32s cubic-bezier(.22,1,.36,1); }
.tppb-cart-drawer.is-open .tppb-cart-drawer-panel { transform: translate3d(0,0,0); }
.tppb-cart-drawer-header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 12px; min-height: 78px; padding: 16px 18px; border-bottom: 1px solid var(--tppb-drawer-border,#e2e5e9); background: var(--tppb-drawer-header,#fff); }
.tppb-cart-drawer-header h2 { margin: 0 !important; color: var(--tppb-drawer-text,#202532) !important; font-family: inherit !important; font-size: 25px !important; font-weight: 750 !important; letter-spacing: -.02em; line-height: 1.15; }
.tppb-cart-drawer-close { display: inline-flex !important; align-items: center; gap: 5px; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 7px 0 7px 5px !important; border: 0 !important; border-radius: 8px !important; color: var(--tppb-drawer-text,#2d3138) !important; background: transparent !important; box-shadow: none !important; font-family: inherit !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1 !important; cursor: pointer; }
.tppb-cart-drawer-close svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.tppb-cart-drawer-close:hover { color: #000 !important; background: #f4f5f6 !important; }
.tppb-cart-drawer-close:focus-visible { outline: 3px solid rgba(255,0,59,.28); outline-offset: 2px; }
.tppb-cart-drawer-items { flex: 1 1 auto; min-height: 0; overflow-x: hidden; overflow-y: auto; padding: 4px 18px 20px; overscroll-behavior: contain; scrollbar-color: #858b94 #eef0f2; scrollbar-width: thin; }
.tppb-cart-drawer-items::-webkit-scrollbar { width: 9px; }
.tppb-cart-drawer-items::-webkit-scrollbar-track { border-radius: 999px; background: #eef0f2; }
.tppb-cart-drawer-items::-webkit-scrollbar-thumb { border: 2px solid #eef0f2; border-radius: 999px; background: #858b94; }
.tppb-cart-drawer-item { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 12px; padding: 20px 0; border-bottom: 1px solid var(--tppb-drawer-border,#e2e5e9); transition: opacity .18s ease; }
.tppb-cart-drawer-item.is-updating { opacity: .5; pointer-events: none; }
.tppb-cart-drawer-item.is-optimistic, .tppb-cart-drawer-item.is-optimistic-update { opacity: .72; pointer-events: none; }
.tppb-cart-drawer-image { display: grid; width: 76px; height: 76px; overflow: hidden; place-items: center; border-radius: 9px; background: #f7f7f8; }
.tppb-cart-drawer-image a { display: block; width: 100%; height: 100%; }
.tppb-cart-drawer-image img { display: block; width: 100%; height: 100%; margin: 0; object-fit: contain; }
.tppb-cart-drawer-item-content { min-width: 0; }
.tppb-cart-drawer-item-heading { display: flex; align-items: flex-start; gap: 8px; }
.tppb-cart-drawer-item-title { display: -webkit-box; flex: 1 1 auto; min-width: 0; overflow: hidden; color: var(--tppb-drawer-text,#202532) !important; font-family: inherit; font-size: 14px; font-weight: 650; line-height: 1.35; text-decoration: none !important; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.tppb-cart-drawer-item.is-title-expanded .tppb-cart-drawer-item-title { display: block; overflow: visible; text-overflow: clip; -webkit-line-clamp: unset; }
.tppb-cart-drawer-item-title:hover { color: #000 !important; text-decoration: underline !important; text-underline-offset: 2px; }
.tppb-cart-drawer-title-toggle { display: grid !important; flex: 0 0 30px; width: 30px !important; min-width: 30px !important; height: 30px !important; min-height: 30px !important; margin: -2px 0 0 !important; padding: 0 !important; place-items: center; border: 0 !important; border-radius: 7px !important; color: var(--tppb-drawer-text,#202532) !important; background: #f1f3f6 !important; box-shadow: none !important; cursor: pointer; }
.tppb-cart-drawer-title-toggle[hidden] { display: none !important; }
.tppb-cart-drawer-title-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.tppb-cart-drawer-item.is-title-expanded .tppb-cart-drawer-title-toggle svg { transform: rotate(180deg); }
.tppb-cart-drawer-title-toggle:hover { background: #e8ebef !important; }
.tppb-cart-drawer-title-toggle:focus-visible, .tppb-cart-drawer-remove:focus-visible { outline: 3px solid rgba(255,0,59,.24); outline-offset: 2px; }
.tppb-cart-drawer-item-data { margin-top: 7px; color: #737985; font-size: 12px; line-height: 1.4; }
.tppb-cart-drawer-item-data dl { margin: 0; }
.tppb-cart-drawer-item-data dt, .tppb-cart-drawer-item-data dd { display: inline; margin: 0 4px 0 0; }
.tppb-cart-drawer-item-data p { margin: 0; }
.tppb-cart-drawer-optimistic-status { display: flex; align-items: center; gap: 8px; margin-top: 12px; color: #737985; font-size: 12px; font-weight: 600; }
.tppb-cart-drawer-optimistic-status span { width: 15px; height: 15px; border: 2px solid #d7dbe1; border-top-color: var(--tppb-drawer-text,#202532); border-radius: 50%; animation: tppb-cart-drawer-spin .72s linear infinite; }
@keyframes tppb-cart-drawer-spin { to { transform: rotate(360deg); } }
.tppb-cart-drawer-item-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 11px 16px; margin-top: 16px; }
.tppb-cart-drawer-quantity-actions { display: inline-flex; align-items: stretch; gap: 8px; }
.tppb-cart-drawer-quantity { display: inline-grid; grid-template-columns: 42px minmax(42px,auto) 42px; height: 46px; overflow: hidden; border: 1px solid #d9dde3; border-radius: 8px; background: #fff; }
.tppb-cart-drawer-quantity button { display: grid !important; width: 42px !important; min-width: 0 !important; height: 44px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; place-items: center; border: 0 !important; border-radius: 0 !important; color: #202532 !important; background: transparent !important; box-shadow: none !important; font: 600 20px/1 Arial,sans-serif !important; cursor: pointer; }
.tppb-cart-drawer-quantity button:first-child { border-right: 1px solid #eaecf0 !important; }
.tppb-cart-drawer-quantity button:last-child { border-left: 1px solid #eaecf0 !important; }
.tppb-cart-drawer-quantity button:hover:not(:disabled) { background: #f4f5f6 !important; }
.tppb-cart-drawer-quantity button:disabled, .tppb-cart-drawer-quantity button.is-limit-reached { color: #abb0b8 !important; cursor: not-allowed; }
.tppb-cart-drawer-quantity span { display: grid; min-width: 42px; padding: 0 5px; place-items: center; color: #202532; font-size: 16px; font-weight: 650; line-height: 44px; }
.tppb-cart-drawer-remove { display: grid !important; flex: 0 0 46px; width: 46px !important; min-width: 46px !important; height: 46px !important; min-height: 46px !important; margin: 0 !important; padding: 0 !important; place-items: center; border: 1px solid #f4d6da !important; border-radius: 10px !important; color: #c0263d !important; background: #fff7f8 !important; box-shadow: 0 1px 2px rgba(122,20,36,.04) !important; cursor: pointer; transition: color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.tppb-cart-drawer-remove svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.tppb-cart-drawer-remove:hover { border-color: #efb5bd !important; color: #a61129 !important; background: #ffedef !important; box-shadow: 0 5px 14px rgba(166,17,41,.12) !important; transform: translateY(-1px); }
.tppb-cart-drawer-remove:active { box-shadow: 0 1px 3px rgba(166,17,41,.08) !important; transform: translateY(0) scale(.96); }
.tppb-cart-drawer-line-price { display: inline-flex; align-items: baseline; gap: 4px; color: #9a9fa7; font-size: 13px; line-height: 1.25; direction: ltr; unicode-bidi: isolate; }
.tppb-cart-drawer-line-price strong { color: #3e4655; font-size: 14px; font-weight: 650; }
.tppb-cart-drawer-empty { display: grid; min-height: 430px; padding: 54px 12px 80px; place-items: center; align-content: start; gap: 19px; color: #69707c; text-align: center; }
.tppb-cart-drawer-empty-icon { width: 112px; height: 104px; margin: 4px 0 2px; fill: none; stroke: color-mix(in srgb,var(--tppb-drawer-text,#202532) 11%,transparent); stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; }
.tppb-cart-drawer-empty strong { color: var(--tppb-drawer-text,#202532); font-size: 18px; font-weight: 700; line-height: 1.35; }
.tppb-cart-drawer-return-shop { display: grid; min-height: 48px; margin-top: 3px; padding: 12px 19px; place-items: center; border-radius: 7px; color: var(--tppb-drawer-view-text,#ffffff) !important; background: var(--tppb-drawer-view-background,#ff003b); font-size: 14px; font-weight: 750; line-height: 1.2; text-decoration: none !important; text-transform: uppercase; transition: filter .16s ease, transform .16s ease; }
.tppb-cart-drawer-return-shop:hover { filter: brightness(.95); transform: translateY(-1px); }
.tppb-cart-drawer-footer { flex: 0 0 auto; padding: 0 18px 18px; border-top: 1px solid var(--tppb-drawer-border,#e2e5e9); background: var(--tppb-drawer-background,#fff); box-shadow: 0 -12px 30px rgba(17,24,39,.045); }
.tppb-cart-drawer-subtotal { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--tppb-drawer-border,#e2e5e9); }
.tppb-cart-drawer-subtotal strong { color: var(--tppb-drawer-text,#202532); font-size: 19px; font-weight: 700; }
.tppb-cart-drawer-subtotal span { color: #3e4655; font-size: 24px; font-weight: 700; line-height: 1.15; direction: ltr; unicode-bidi: isolate; }
.tppb-cart-drawer-shipping { padding: 20px 0 18px; }
.tppb-cart-drawer-shipping p { margin: 0 0 13px; color: #777d86; font-size: 15px; line-height: 1.4; }
.tppb-cart-drawer-progress { width: 100%; height: 10px; overflow: hidden; border-radius: 999px; background: #eceef1; }
.tppb-cart-drawer-progress span { display: block; height: 100%; border-radius: inherit; background: repeating-linear-gradient(135deg,#ff9d00 0 9px,#ffb626 9px 18px); transition: width .35s ease; }
.tppb-cart-drawer-button { display: grid !important; width: 100% !important; min-height: 52px; margin: 0 !important; padding: 13px 20px !important; place-items: center; border: 1px solid transparent !important; border-radius: 8px !important; font-family: inherit !important; font-size: 15px !important; font-weight: 750 !important; line-height: 1.2 !important; text-align: center; text-decoration: none !important; text-transform: uppercase; transition: filter .16s ease, transform .16s ease; }
.tppb-cart-drawer-button + .tppb-cart-drawer-button { margin-top: 10px !important; }
.tppb-cart-drawer-view-cart { border-color: color-mix(in srgb,var(--tppb-drawer-view-background,#ff003b) 80%,#111) !important; color: var(--tppb-drawer-view-text,#ffffff) !important; background: var(--tppb-drawer-view-background,#ff003b) !important; }
.tppb-cart-drawer-checkout { color: var(--tppb-drawer-checkout-text,#fff) !important; background: var(--tppb-drawer-checkout-background,#404757) !important; }
.tppb-cart-drawer-button:hover { filter: brightness(.95); transform: translateY(-1px); }
.tppb-cart-drawer.is-updating .tppb-cart-drawer-panel { cursor: wait; }

.tppb-linked-group { padding: 18px 20px; border: 1px solid var(--tppb-border); border-radius: calc(var(--tppb-radius) * 1.4); background: var(--tppb-card); }
.tppb-linked-group h2 { margin: 0 0 12px; font-size: 18px; line-height: 1.25; }
.tppb-linked-products { display: flex; gap: 14px; overflow-x: auto; padding: 1px 1px 5px; scrollbar-width: thin; }
.tppb-linked-product { display: grid; flex: 0 0 108px; gap: 4px; padding: 7px; border: 1px solid var(--tppb-border); border-radius: var(--tppb-radius); color: var(--tppb-text); background: #fff; text-align: center; text-decoration: none !important; }
.tppb-linked-product:hover, .tppb-linked-product.is-current { border-color: #72777f; box-shadow: 0 0 0 1px #72777f; }
.tppb-linked-product img { width: 92px; height: 92px; margin: 0 auto; border-radius: calc(var(--tppb-radius) * .65); object-fit: cover; }
.tppb-linked-product strong { overflow: hidden; font-size: 12px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.tppb-free-shipping { padding: 20px 24px; border: 2px dashed var(--tppb-border); border-radius: calc(var(--tppb-radius) * 1.15); background: var(--tppb-card); }
.tppb-free-shipping-message { color: var(--tppb-muted); font-size: clamp(15px, 1.25vw, 19px); }
.tppb-free-shipping-message strong { color: var(--tppb-text); }
.tppb-free-shipping.is-eligible .tppb-free-shipping-message strong { color: #237a36; }
.tppb-shipping-progress { width: 100%; height: 12px; margin-top: 14px; overflow: hidden; border-radius: 999px; background: #eef0f2; }
.tppb-shipping-progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: repeating-linear-gradient(135deg, #ff9d00 0 9px, #ffb626 9px 18px); transition: width .45s ease; }
.tppb-free-shipping.is-eligible .tppb-shipping-progress span { background: #43b654; }
.tppb-coupon-carousel { min-width: 0; }
.tppb-coupon-carousel__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 10px; }
.tppb-coupon-carousel__header > span { color: var(--tppb-muted); font-size: 14px; letter-spacing: .06em; text-transform: uppercase; }
.tppb-coupon-carousel__header nav { display: flex; gap: 6px; }
.tppb-coupon-carousel__header button { display: grid; width: 34px; height: 34px; place-items: center; padding: 0; border: 1px solid var(--tppb-border); border-radius: 50%; background: #fff; color: var(--tppb-text); cursor: pointer; transition: border-color .18s, color .18s, transform .18s; }
.tppb-coupon-carousel__header button:hover { border-color: var(--tppb-primary); color: var(--tppb-primary); transform: translateY(-1px); }
.tppb-coupon-carousel__viewport { display: grid; grid-auto-columns: minmax(min(100%, 420px), 1fr); grid-auto-flow: column; gap: 12px; overflow-x: auto; padding: 1px 1px 7px; scrollbar-width: thin; scroll-behavior: smooth; scroll-snap-type: x mandatory; }
.tppb-coupon-card { display: grid; min-width: 0; min-height: 82px; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid #dce8df; border-radius: 16px; background: linear-gradient(105deg, #fff 0%, #f2fff5 100%); box-shadow: 0 7px 20px rgba(22, 101, 52, .05); scroll-snap-align: start; }
.tppb-coupon-card__icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: #daf5df; color: #15803d; }
.tppb-coupon-card__icon svg { width: 23px; height: 23px; }
.tppb-coupon-card__copy { display: grid; min-width: 0; gap: 3px; }
.tppb-coupon-card__copy strong { overflow: hidden; color: var(--tppb-text); font-size: 16px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.tppb-coupon-card__copy small { overflow: hidden; color: var(--tppb-muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.tppb-coupon-card__code { display: inline-flex; min-width: 108px; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 8px 12px; border: 1.5px dashed #16853c; border-radius: 12px; background: rgba(255,255,255,.78); color: #16853c; font: inherit; font-weight: 800; cursor: pointer; transition: background .18s, transform .18s; }
.tppb-coupon-card__code:hover { background: #fff; transform: translateY(-1px); }
.tppb-coupon-card__code svg { width: 20px; height: 20px; flex: 0 0 auto; }
.tppb-coupon-card__code.is-copied { border-style: solid; background: #16853c; color: #fff; }

.tppb-features ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.tppb-features li { position: relative; padding-left: 25px; color: var(--tppb-text); }
.tppb-features li::before { content: "✓"; position: absolute; left: 0; top: .05em; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; color: #26723a; background: #eaf7ed; font-size: 11px; font-weight: 800; }
.tppb-block-meta .product_meta { display: flex; flex-wrap: wrap; gap: 7px 18px; padding-top: 14px; border-top: 1px solid var(--tppb-border); color: var(--tppb-muted); font-size: 12px; }
.tppb-block-meta .product_meta > span { display: inline-block; }
.tppb-block-meta a { color: var(--tppb-text); text-decoration: none; }
.tppb-meta-hide-tags .tagged_as { display: none !important; }

.tppb-side-title { margin: 0 0 14px; font-size: 20px; line-height: 1.25; }
.tppb-trust-card { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; padding: 16px; border: 1px solid var(--tppb-border); border-radius: var(--tppb-radius); background: var(--tppb-card); box-shadow: 0 1px 2px rgba(17,24,39,.03); }
.tppb-trust-icon { display: grid; flex: 0 0 34px; place-items: center; min-height: 34px; border-radius: 50%; background: color-mix(in srgb, var(--tppb-accent) 18%, #fff); font-size: 19px; }
.tppb-trust-content { flex: 1 1 auto; min-width: 0; }
.tppb-trust-card > .tppb-trust-content > strong { display: block; color: var(--tppb-text); font-size: 14px; line-height: 1.3; }
.tppb-trust-card > .tppb-trust-content > p { margin: 5px 0 0; color: var(--tppb-muted); font-size: 12px; line-height: 1.45; }
.tppb-trust-card-link { color: inherit; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.tppb-trust-card-link:hover, .tppb-trust-card-link:focus-visible { border-color: color-mix(in srgb, var(--tppb-accent) 75%, var(--tppb-border)); box-shadow: 0 7px 20px rgba(17,24,39,.09); transform: translateY(-1px); outline: none; }

.tppb-details { background: color-mix(in srgb, var(--tppb-page) 97%, #eef1f5); }
.tppb-section.tppb-has-tabs { border-top: var(--tppb-tabs-separator-height, 8px) solid var(--tppb-tabs-separator-color, #f3f4f9); }
.tppb-block-tabs .woocommerce-tabs { margin: 0; }
.tppb-block-tabs .tabs { display: flex; box-sizing: border-box; gap: 6px; margin: 0 0 22px !important; padding: 0 8px 0 var(--tppb-tabs-inline-start, 8px) !important; border-bottom: 1px solid var(--tppb-border); background: var(--tppb-tab-background, var(--tppb-page)); list-style: none; }
.tppb-tabs-placeholder { display: none; width: 100%; }
.tppb-block-tabs.tppb-tabs-sticky.is-tabs-docked .tppb-tabs-placeholder { display: block; }
.tppb-block-tabs.tppb-tabs-sticky.is-tabs-docked .tabs { position: fixed !important; z-index: 999; margin: 0 !important; padding: 6px 8px 0 max(8px, var(--tppb-tabs-docked-inline-start, 8px)) !important; border-radius: 0; box-shadow: 0 7px 18px rgba(17,24,39,.12); }
.tppb-block-tabs .tabs::before, .tppb-block-tabs .tabs li::before, .tppb-block-tabs .tabs li::after { display: none !important; }
.tppb-block-tabs { border: 0 !important; outline: 0 !important; }
.tppb-block-tabs .tabs li { display: flex !important; flex: 0 0 auto !important; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.tppb-block-tabs .woocommerce-tabs > .tabs > li > a { display: inline-flex !important; align-items: center; justify-content: center; width: auto !important; max-width: none !important; height: auto !important; margin: 6px 3px !important; padding: 9px 16px !important; border-width: var(--tppb-tab-active-border-width, 2px) !important; border-style: var(--tppb-tab-active-border-style, solid) !important; border-color: var(--tppb-tab-inactive-border-color, #d1d5db) !important; border-radius: var(--tppb-tab-active-radius, 999px) !important; color: var(--tppb-tab-color, var(--tppb-muted)) !important; background: var(--tppb-tab-inactive-background, #fff) !important; box-shadow: none !important; font-family: var(--tppb-tab-font, var(--tppb-font)) !important; font-size: var(--tppb-tab-size, inherit) !important; font-weight: var(--tppb-tab-weight, 600) !important; font-style: var(--tppb-tab-style, normal) !important; letter-spacing: var(--tppb-tab-spacing, normal) !important; text-transform: var(--tppb-tab-transform, none) !important; text-decoration: none !important; transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.tppb-block-tabs .woocommerce-tabs > .tabs > li.tppb-is-active-tab > a, .tppb-block-tabs .woocommerce-tabs > .tabs > li.active > a { border-color: var(--tppb-tab-active-border-color, #c4002d) !important; border-style: var(--tppb-tab-active-border-style, solid) !important; border-radius: var(--tppb-tab-active-radius, 999px) !important; color: var(--tppb-tab-active, var(--tppb-accent, #ff003b)) !important; background: var(--tppb-tab-active-background, #fff) !important; box-shadow: var(--tppb-tab-active-shadow, 0 2px 8px rgba(0,0,0,.14)) !important; }
.tppb-block-tabs.tppb-tab-indicator-underline .tabs { gap: 18px; }
.tppb-block-tabs.tppb-tab-indicator-underline .woocommerce-tabs > .tabs > li > a { margin: 0 !important; padding: 13px 20px 11px !important; border: 0 !important; border-bottom: var(--tppb-tab-active-border-width, 2px) var(--tppb-tab-active-border-style, solid) transparent !important; border-radius: 0 !important; color: var(--tppb-tab-color, var(--tppb-muted)) !important; background: transparent !important; box-shadow: none !important; }
.tppb-block-tabs.tppb-tab-indicator-underline .woocommerce-tabs > .tabs > li.tppb-is-active-tab > a, .tppb-block-tabs.tppb-tab-indicator-underline .woocommerce-tabs > .tabs > li.active > a { border-bottom-color: var(--tppb-tab-active-border-color, #c4002d) !important; color: var(--tppb-tab-active, var(--tppb-accent, #ff003b)) !important; background: transparent !important; box-shadow: none !important; }
.tppb-block-tabs .woocommerce-Tabs-panel { --tppb-panel-padding: 24px; margin: 0 !important; padding: var(--tppb-panel-padding); border: 0 !important; border-radius: var(--tppb-radius); background: var(--tppb-card); }
.tppb-block-tabs #tab-reviews { display: none !important; }
.tppb-product-reviews-section { --tppb-panel-padding: 24px; position: relative; margin: 0 !important; padding: var(--tppb-panel-padding); border: 0; border-radius: var(--tppb-radius); background: var(--tppb-card); }
.tppb-product-reviews-section::before { content: ""; position: relative; display: block; height: var(--tppb-tabs-separator-height, 8px); margin: calc(0px - var(--tppb-panel-padding)) calc(0px - var(--tppb-panel-padding)) var(--tppb-panel-padding); background: var(--tppb-tabs-separator-color, #f3f4f9); box-shadow: 0 0 0 100vmax var(--tppb-tabs-separator-color, #f3f4f9); clip-path: inset(0 -100vmax); clear: both; }
.tppb-product-reviews-section::after { content: ""; position: relative; display: block; height: var(--tppb-reviews-bottom-gap, var(--tppb-tabs-separator-height, 8px)); margin: var(--tppb-panel-padding) calc(0px - var(--tppb-panel-padding)) calc(0px - var(--tppb-panel-padding)); background: var(--tppb-tabs-separator-color, #f3f4f9); box-shadow: 0 0 0 100vmax var(--tppb-tabs-separator-color, #f3f4f9); clip-path: inset(0 -100vmax); clear: both; }
.tppb-product-reviews-section { --tppb-review-green: #087b0b; --tppb-review-light-green: #62bd00; --tppb-review-amber: #e6a000; --tppb-review-orange: #eb6900; scroll-margin-top: 120px; }
.tppb-reviews-section-header, .tppb-review-modal-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.tppb-reviews-section-header { margin-bottom: 22px; }
.tppb-reviews-section-header > div > span, .tppb-review-modal-header > div > span { display: block; margin-bottom: 4px; color: var(--tppb-accent); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tppb-reviews-section-header h2, .tppb-review-modal-header h2 { margin: 0; color: var(--tppb-text); font-size: clamp(24px, 3vw, 34px); line-height: 1.15; }
.tppb-write-review-button, .tppb-view-all-reviews { min-height: 46px; padding: 11px 20px; border: 1px solid var(--tppb-accent); border-radius: 12px; color: #fff; background: var(--tppb-accent); font: inherit; font-weight: 750; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease; }
.tppb-write-review-button:hover, .tppb-view-all-reviews:hover { transform: translateY(-1px); box-shadow: 0 9px 22px color-mix(in srgb, var(--tppb-accent) 25%, transparent); }
.tppb-review-summary { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(320px, 1.35fr); gap: 34px; align-items: center; padding: 24px; border: 1px solid var(--tppb-border); border-radius: 18px; background: color-mix(in srgb, var(--tppb-card) 94%, #f5f7fb); }
.tppb-review-score { display: grid; justify-items: start; gap: 8px; padding-right: 28px; border-right: 1px solid var(--tppb-border); }
.tppb-review-score > strong { color: #3e4556; font-size: clamp(44px, 7vw, 64px); font-weight: 700; line-height: 1; }
.tppb-review-score > span:last-child { color: var(--tppb-text); font-size: 16px; }
.tppb-review-stars { position: relative; display: inline-block; width: max-content; color: #d8dde5; font-size: 24px; font-weight: 900; letter-spacing: 3px; line-height: 1; white-space: nowrap; }
.tppb-review-stars-fill { position: absolute; inset: 0 auto 0 0; width: var(--tppb-review-rating, 0%); overflow: hidden; color: var(--tppb-review-green); }
.tppb-review-breakdown { display: grid; gap: 9px; }
.tppb-review-breakdown > button { display: grid; grid-template-columns: 46px minmax(100px, 1fr) 50px; gap: 12px; align-items: center; width: 100%; padding: 2px 0; border: 0; color: #3f4657; background: transparent; font: inherit; cursor: pointer; }
.tppb-review-breakdown-label { font-weight: 750; text-align: right; }
.tppb-review-breakdown > button:nth-child(1) .tppb-review-breakdown-label span { color: var(--tppb-review-green); }
.tppb-review-breakdown > button:nth-child(2) .tppb-review-breakdown-label span { color: var(--tppb-review-green); }
.tppb-review-breakdown > button:nth-child(3) .tppb-review-breakdown-label span { color: var(--tppb-review-light-green); }
.tppb-review-breakdown > button:nth-child(4) .tppb-review-breakdown-label span { color: var(--tppb-review-amber); }
.tppb-review-breakdown > button:nth-child(5) .tppb-review-breakdown-label span { color: var(--tppb-review-orange); }
.tppb-review-breakdown-track { height: 14px; overflow: hidden; border-radius: 999px; background: #e9ecf2; }
.tppb-review-breakdown-track > span { display: block; height: 100%; border-radius: inherit; background: var(--tppb-review-green); transition: width .3s ease; }
.tppb-review-breakdown > button:nth-child(3) .tppb-review-breakdown-track > span { background: var(--tppb-review-light-green); }
.tppb-review-breakdown > button:nth-child(4) .tppb-review-breakdown-track > span { background: var(--tppb-review-amber); }
.tppb-review-breakdown > button:nth-child(5) .tppb-review-breakdown-track > span { background: var(--tppb-review-orange); }
.tppb-review-breakdown > button strong { text-align: right; }
.tppb-reviews-preview { margin-top: 28px; }
.tppb-reviews-preview > h3 { margin: 0 0 14px; font-size: 20px; }
.tppb-review-list, .tppb-review-modal-list { display: grid; gap: 0; }
.tppb-review-card { padding: 22px 2px; border-bottom: 1px solid var(--tppb-border); }
.tppb-review-card:first-child { border-top: 1px solid var(--tppb-border); }
.tppb-review-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 10px; }
.tppb-review-author { display: flex; align-items: center; gap: 12px; min-width: 0; }
.tppb-review-avatar { width: 52px; height: 52px; border-radius: 50%; background: #f0f3fb; object-fit: cover; }
.tppb-review-author > div { display: grid; gap: 2px; }
.tppb-review-author strong { color: var(--tppb-text); font-size: 16px; }
.tppb-review-author span { color: var(--tppb-muted); font-size: 13px; }
.tppb-review-verified { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; color: var(--tppb-review-green); background: color-mix(in srgb, var(--tppb-review-green) 9%, #fff); font-size: 12px; font-weight: 750; }
.tppb-review-card-rating { margin: 4px 0 10px 64px; }
.tppb-review-card-rating .tppb-review-stars { font-size: 19px; letter-spacing: 2px; }
.tppb-review-content { margin-left: 64px; color: #404657; line-height: 1.7; }
.tppb-review-content p { margin: 0 0 10px; }
.tppb-review-helpful { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; margin: 8px 0 0 64px; padding: 7px 12px; border: 1px solid #9299aa; border-radius: 8px; color: #747c91; background: #fff; font: inherit; font-size: 14px; cursor: pointer; }
.tppb-review-helpful svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.tppb-review-helpful.is-voted { border-color: var(--tppb-accent); color: var(--tppb-accent); background: color-mix(in srgb, var(--tppb-accent) 7%, #fff); }
.tppb-review-helpful:disabled { cursor:wait; opacity:.72; }
.tppb-view-all-reviews { display: block; min-width: 220px; margin: 24px auto 0; }
.tppb-reviews-empty { padding: 30px 20px; border: 1px dashed var(--tppb-border); border-radius: 14px; text-align: center; }
.tppb-reviews-empty p { margin: 5px 0 0; color: var(--tppb-muted); }
.tppb-review-form-panel { margin: 22px 0 0; padding: 22px; border: 1px solid var(--tppb-border); border-radius: 16px; background: #fff; }
.tppb-review-form-panel[hidden] { display: none !important; }
.tppb-review-form-panel .comment-reply-title { display: block; margin: 0 0 18px; font-size: 22px; }
.tppb-review-form-panel label { display: block; margin-bottom: 7px; font-weight: 700; }
.tppb-review-form-panel select, .tppb-review-form-panel textarea, .tppb-review-form-panel input[type="text"], .tppb-review-form-panel input[type="email"] { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--tppb-border); border-radius: 10px; background: #fff; }
.tppb-review-form-panel textarea { min-height: 145px; resize: vertical; }
.tppb-review-form-panel .form-submit input { min-height: 46px; padding: 10px 20px; border: 0; border-radius: 10px; color: #fff; background: var(--tppb-accent); font-weight: 750; cursor: pointer; }
body.tppb-review-modal-open { overflow: hidden; }
.tppb-review-modal[hidden] { display: none !important; }
.tppb-review-modal { position: fixed; inset: 0; z-index: 100050; display: grid; place-items: center; padding: 20px; }
.tppb-review-modal-backdrop { position: absolute; inset: 0; background: rgba(17,24,39,.68); backdrop-filter: blur(4px); }
.tppb-review-modal-panel { position: relative; display: flex; flex-direction: column; width: min(960px, 100%); max-height: min(900px, calc(100vh - 40px)); overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 28px 90px rgba(15,23,42,.3); }
.tppb-review-modal-header { flex: 0 0 auto; padding: 20px 24px; border-bottom: 1px solid #e8eaf0; background: #fff; }
.tppb-review-modal-header h2 { font-size: 26px; }
.tppb-review-modal-header > button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid #e0e4eb; border-radius: 50%; color: #3f4657; background: #fff; cursor: pointer; }
.tppb-review-modal-header > button svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 2; }
.tppb-review-modal-body { overflow: auto; overscroll-behavior: contain; padding: 24px; }
.tppb-review-modal-body .tppb-review-summary { margin-bottom: 24px; }
.tppb-review-controls { display: flex; flex-wrap: wrap; gap: 14px 24px; padding: 18px 0; border-block: 1px solid #e8eaf0; }
.tppb-review-controls label { display: flex; align-items: center; gap: 10px; color: #42495a; font-weight: 750; text-transform: uppercase; }
.tppb-review-controls select { min-width: 220px; min-height: 50px; padding: 10px 44px 10px 15px; border: 1px solid #cfd4df; border-radius: 12px; color: #414858; background-color: #fff; font: inherit; font-weight: 500; text-transform: none; cursor: pointer; }
.tppb-review-controls select:focus { border-color: var(--tppb-accent); outline: 2px solid color-mix(in srgb, var(--tppb-accent) 22%, transparent); outline-offset: 1px; }
.tppb-review-results-status { min-height: 24px; padding: 14px 0 4px; color: var(--tppb-muted); font-size: 13px; }
.tppb-review-pagination { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 28px 0 8px; }
.tppb-review-pagination button { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 10px; border: 1px solid #e0e4eb; border-radius: 8px; color: #697187; background: #fff; font: inherit; font-size: 16px; cursor: pointer; }
.tppb-review-pagination button.is-current { border-color: var(--tppb-accent); color: var(--tppb-accent); box-shadow: 0 0 0 1px var(--tppb-accent); }
.tppb-review-pagination button:disabled { opacity: .38; cursor: default; }
.tppb-review-pagination button svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
.tppb-review-pagination-gap { padding: 0 5px; color: #7d8497; }
.tppb-review-loading { display: grid; gap: 14px; padding-top: 16px; }
.tppb-review-loading span { display: block; height: 118px; border-radius: 14px; background: linear-gradient(90deg,#f1f3f7 25%,#fafbfc 45%,#f1f3f7 65%); background-size: 220% 100%; animation: tppb-review-shimmer 1.1s linear infinite; }
@keyframes tppb-review-shimmer { to { background-position: -220% 0; } }
.tppb-block-tabs .woocommerce-Tabs-panel > h2:first-child { margin-top: 0; }
.tppb-block-tabs table { width: 100%; border-collapse: collapse; }
.tppb-block-tabs table th, .tppb-block-tabs table td { padding: 10px 12px; border: 1px solid var(--tppb-border); text-align: left; }

.tppb-related-section .related > h2, .tppb-related-section .upsells > h2 { margin: 0 0 20px; font-size: 25px; }
.tppb-page ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0 !important; padding: 0 !important; }
.tppb-page ul.products::before, .tppb-page ul.products::after { display: none !important; }
.tppb-page ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 12px !important; border: 1px solid var(--tppb-border); border-radius: var(--tppb-radius); background: var(--tppb-card); }
.tppb-page ul.products li.product a { text-decoration: none; }
.tppb-page ul.products li.product img { border-radius: calc(var(--tppb-radius) * .7); }
.tppb-page ul.products li.product .woocommerce-loop-product__title { min-height: 3.6em; padding: 10px 0 4px !important; font-size: 15px !important; line-height: 1.35; }
.tppb-page ul.products li.product .price { color: var(--tppb-text) !important; font-weight: 700; }
.tppb-page ul.products li.product .button { display: block; margin-top: 10px; padding: 10px 12px; border-radius: calc(var(--tppb-radius) * .7); color: var(--tppb-button-text); background: var(--tppb-accent); text-align: center; }
.tppb-page ul.products li.product:has(> .toby-product-card) { padding: 0 !important; border: 0; border-radius: 0; background: transparent; }
.tppb-page ul.products li.product:has(> .toby-product-card) a { text-decoration: inherit; }
.tppb-page ul.products li.product:has(> .toby-product-card) img { border-radius: inherit; }
.tppb-page ul.products li.product:has(> .toby-product-card) .woocommerce-loop-product__title { min-height: 0; padding: 0 !important; font-size: inherit !important; line-height: inherit; }
.tppb-page ul.products li.product:has(> .toby-product-card) .price { color: inherit !important; font-weight: inherit; }
.tppb-page ul.products li.product:has(> .toby-product-card) .button { display: initial; margin-top: 0; padding: 0; border-radius: 0; color: inherit; background: transparent; text-align: inherit; }
.tppb-related-section, .tppb-related-section .tppb-column, .tppb-product-carousel { min-width: 0; max-width: 100%; }
.tppb-product-carousel { --tppb-carousel-gap: 18px; --tppb-carousel-arrow-top: 50%; position: relative; }
.tppb-product-carousel .related { position: relative; min-width: 0; max-width: 100%; }
.tppb-page .tppb-product-carousel ul.products.tppb-product-carousel__track { display: flex !important; width: 100% !important; max-width: 100% !important; grid-template-columns: none !important; gap: var(--tppb-carousel-gap) !important; overflow-x: auto; overflow-y: hidden; padding: 1px 1px 5px !important; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.tppb-page .tppb-product-carousel ul.products.tppb-product-carousel__track::-webkit-scrollbar { display: none; }
.tppb-page .tppb-product-carousel ul.products.tppb-product-carousel__track > li.product { flex: 0 0 var(--tppb-carousel-item-width, calc(25% - 13.5px)) !important; width: var(--tppb-carousel-item-width, calc(25% - 13.5px)) !important; max-width: none !important; min-width: 0; scroll-snap-align: start; scroll-snap-stop: normal; }
.tppb-carousel-arrow { position: absolute; z-index: 5; top: var(--tppb-carousel-arrow-top); display: grid; width: 46px; height: 46px; margin: -23px 0 0; padding: 0; place-items: center; border: 1px solid var(--tppb-border); border-radius: 50%; color: var(--tppb-text); background: rgba(255,255,255,.96); box-shadow: 0 7px 22px rgba(17,24,39,.17); opacity: 0; pointer-events: none; transform: scale(.9); transition: opacity .18s ease, transform .18s ease, background-color .18s ease; cursor: pointer; }
.tppb-carousel-arrow svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tppb-carousel-prev { left: -22px; }
.tppb-carousel-next { right: -22px; }
.tppb-product-carousel.has-overflow:hover .tppb-carousel-arrow:not([hidden]), .tppb-product-carousel.has-overflow .tppb-carousel-arrow:focus-visible:not([hidden]) { opacity: 1; pointer-events: auto; transform: scale(1); }
.tppb-carousel-arrow:hover { background: #fff; transform: scale(1.06) !important; }
.tppb-carousel-arrow:focus-visible { outline: 3px solid color-mix(in srgb, var(--tppb-accent) 75%, #ff003b); outline-offset: 2px; }
.tppb-carousel-arrow:disabled { opacity: 0 !important; cursor: default; }
.tppb-product-carousel.has-overflow:hover .tppb-carousel-arrow:disabled:not([hidden]) { opacity: .32 !important; }
.tppb-carousel-dots { display: flex; min-height: 14px; align-items: center; justify-content: center; gap: 8px; margin-top: 20px; }
.tppb-carousel-dots[hidden] { display: none !important; }
.tppb-carousel-dots button { width: 9px; height: 9px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: #c5c8ce; transition: width .18s ease, background-color .18s ease; cursor: pointer; }
.tppb-carousel-dots button.is-active { width: 22px; border-radius: 999px; background: var(--tppb-text); }
.tppb-carousel-scrollbar { position: relative; width: 70px; height: 4px; margin: 16px auto 0; overflow: hidden; border-radius: 999px; background: #e6e9ee; cursor: pointer; touch-action: none; }
.tppb-carousel-scrollbar[hidden] { display: none !important; }
.tppb-carousel-scrollbar > span { position: absolute; top: 0; left: 0; width: var(--tppb-carousel-thumb-width, 30%); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #303746, #111827); box-shadow: 0 1px 3px rgba(17,24,39,.22); transform: translate3d(var(--tppb-carousel-thumb-x, 0), 0, 0); transition: transform .12s linear; }
.tppb-carousel-scrollbar.is-dragging > span { transition: none; }
.tppb-carousel-scrollbar:focus-visible { outline: 2px solid color-mix(in srgb, var(--tppb-accent) 75%, #ff003b); outline-offset: 3px; }
.tppb-carousel-indicator-scrollbar .tppb-carousel-dots, .tppb-carousel-indicator-none .tppb-carousel-dots, .tppb-carousel-indicator-none .tppb-carousel-scrollbar { display: none !important; }
.tppb-spacer { display: block; }

@media (max-width: 1100px) {
  .tppb-section-inner { flex-wrap: wrap; }
  .tppb-hero .tppb-section-inner { flex-wrap: nowrap; }
  .tppb-hero .tppb-column { width: auto; min-width: 0; }
  .tppb-hero .tppb-column:first-child { flex: 38 1 0; width: auto; }
  .tppb-hero .tppb-column:nth-child(2) { flex: 36 1 0; width: auto; }
  .tppb-hero .tppb-column:last-child { display: block; flex: 26 1 0; width: auto; }
  .tppb-hero .tppb-column:last-child .tppb-side-title { margin-bottom: 11px; font-size: 18px; }
  .tppb-hero .tppb-column:last-child .tppb-trust-card { margin: 0 0 10px; padding: 12px; }
  .tppb-page .tppb-product-carousel ul.products.tppb-product-carousel__track > li.product { flex-basis: var(--tppb-carousel-tablet-item-width, calc(33.333333% - 12px)) !important; width: var(--tppb-carousel-tablet-item-width, calc(33.333333% - 12px)) !important; }
  .tppb-product-carousel .tppb-carousel-arrow { display: none !important; }
}
@media (max-width: 700px) {
  .tppb-cart-drawer-panel { width: min(var(--tppb-drawer-mobile-width,300px),100vw); max-width: 300px; }
  .tppb-cart-drawer-header { min-height: 76px; padding: 16px 18px; }
  .tppb-cart-drawer-header h2 { font-size: 25px !important; }
  .tppb-cart-drawer-close span { display: none; }
  .tppb-cart-drawer-items { padding: 2px 18px 20px; }
  .tppb-cart-drawer-item { grid-template-columns: 78px minmax(0,1fr); gap: 13px; padding: 21px 0; }
  .tppb-cart-drawer-image { width: 78px; height: 78px; }
  .tppb-cart-drawer-item-title { font-size: 14px; -webkit-line-clamp: 2; }
  .tppb-cart-drawer-item-bottom { margin-top: 12px; }
  .tppb-cart-drawer-quantity { grid-template-columns: 36px minmax(36px,auto) 36px; height: 42px; }
  .tppb-cart-drawer-quantity button { width: 36px !important; height: 40px !important; }
  .tppb-cart-drawer-quantity span { min-width: 36px; line-height: 40px; }
  .tppb-cart-drawer-remove { flex-basis: 42px; width: 42px !important; min-width: 42px !important; height: 42px !important; min-height: 42px !important; }
  .tppb-cart-drawer-footer { padding: 0 18px 18px; }
  .tppb-cart-drawer-subtotal { padding: 17px 0; }
  .tppb-cart-drawer-subtotal strong { font-size: 19px; }
  .tppb-cart-drawer-subtotal span { font-size: 20px; }
  .tppb-cart-drawer-shipping { padding: 16px 0 15px; }
  .tppb-cart-drawer-button { min-height: 48px; font-size: 14px !important; }
  .tppb-section { padding-right: 16px; padding-left: 16px; }
  .tppb-section-inner { display: block; }
  .tppb-column, .tppb-hero .tppb-column, .tppb-hero .tppb-column:first-child, .tppb-hero .tppb-column:last-child { display: block; width: 100%; }
  .tppb-column + .tppb-column { margin-top: 26px; }
  .tppb-block-gallery, .admin-bar .tppb-block-gallery { position: static; top: auto; }
  .tppb-gallery { flex-direction: column-reverse; }
  .tppb-gallery-rail { flex: 0 0 auto; width: 100%; height: auto !important; }
  .tppb-gallery-viewport { width: 100%; overflow-x: auto; overflow-y: hidden; touch-action: pan-y; }
  .tppb-gallery-thumbs { flex-direction: row; width: max-content; }
  .tppb-gallery-thumb { flex: 0 0 58px; width: 58px; height: 58px; }
  .tppb-gallery-nav { display: none !important; }
  .tppb-gallery-main { flex: 0 0 auto; width: 100%; min-height: 0; background: transparent; }
  .tppb-gallery-main > [data-gallery-main], .tppb-gallery-main > .tppb-gallery-swipe-image { border-radius: var(--tppb-radius) !important; -webkit-clip-path: inset(0 round var(--tppb-radius)); clip-path: inset(0 round var(--tppb-radius)); object-fit: cover; }
  .tppb-product-title { font-size: 27px; }
  .tppb-trust-card { margin-bottom: 10px; }
  .tppb-block-tabs .tabs { overflow-x: auto; }
  .tppb-block-tabs .tabs li { flex: 0 0 auto; }
  .tppb-block-tabs .woocommerce-Tabs-panel, .tppb-product-reviews-section { --tppb-panel-padding: 17px; }
  .tppb-reviews-section-header { align-items: flex-start; flex-direction: column; }
  .tppb-write-review-button { width: 100%; }
  .tppb-review-summary { grid-template-columns: 1fr; gap: 20px; padding: 18px; }
  .tppb-review-score { padding: 0 0 19px; border-right: 0; border-bottom: 1px solid var(--tppb-border); }
  .tppb-review-breakdown > button { grid-template-columns: 42px minmax(80px,1fr) 42px; gap: 8px; }
  .tppb-review-card { padding: 19px 0; }
  .tppb-review-card-header { align-items: flex-start; }
  .tppb-review-verified { display: none; }
  .tppb-review-card-rating, .tppb-review-content, .tppb-review-helpful { margin-left: 0; }
  .tppb-review-modal { padding: 0; }
  .tppb-review-modal-panel { width: 100%; height: 100%; max-height: none; border-radius: 0; }
  .tppb-review-modal-header { padding: 15px 17px; }
  .tppb-review-modal-body { padding: 17px; }
  .tppb-review-modal-body .tppb-review-summary { margin-bottom: 18px; }
  .tppb-review-controls { display: grid; gap: 12px; }
  .tppb-review-controls label { display: grid; grid-template-columns: 90px minmax(0,1fr); }
  .tppb-review-controls select { width: 100%; min-width: 0; }
  .tppb-review-pagination { gap: 4px; }
  .tppb-review-pagination button { min-width: 38px; height: 40px; }
  .tppb-page ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  .tppb-product-carousel { --tppb-carousel-gap: 10px; }
  .tppb-page .tppb-product-carousel ul.products.tppb-product-carousel__track > li.product { flex-basis: var(--tppb-carousel-mobile-item-width, calc(50% - 5px)) !important; width: var(--tppb-carousel-mobile-item-width, calc(50% - 5px)) !important; }
}
@media (max-width: 768px) {
  .tppb-sticky-cart { bottom: 0; width: 100vw; }
  .tppb-sticky-cart-inner { height: 70px; min-height: 70px; padding: 10px 12px max(10px, env(safe-area-inset-bottom)); border-right: 0; border-bottom: 0; border-left: 0; border-radius: 18px 18px 0 0; }
  .tppb-sticky-cart-product, .tppb-sticky-cart-price { display: none; }
  .tppb-sticky-cart-controls { width: 100%; }
  .tppb-page .tppb-sticky-add-to-cart { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; }
}
@media (max-width: 480px) {
  .tppb-breadcrumb-section { padding-top: 14px; }
  .tppb-gallery-main { aspect-ratio: 1 / 1.04; }
  .tppb-page .tppb-block-add_to_cart form.cart .quantity, .tppb-page .tppb-sticky-cart .quantity { flex-basis: 84px !important; grid-template-columns: minmax(46px, 1fr) 36px; width: 84px !important; min-width: 84px !important; max-width: 84px !important; }
  .tppb-page .tppb-block-add_to_cart form.cart .quantity.has-decrease, .tppb-page .tppb-sticky-cart .quantity.has-decrease { flex-basis: 116px !important; grid-template-columns: 36px minmax(36px, 1fr) 36px; width: 116px !important; min-width: 116px !important; max-width: 116px !important; }
  .tppb-page .tppb-quantity-button { width: 36px !important; }
  .tppb-page .tppb-block-add_to_cart form.cart .single_add_to_cart_button { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; padding-right: 12px !important; padding-left: 12px !important; }
  .tppb-coupon-carousel__viewport { grid-auto-columns: 88%; }
  .tppb-coupon-card { grid-template-columns: 40px minmax(0, 1fr); }
  .tppb-coupon-card__icon { width: 40px; height: 40px; }
  .tppb-coupon-card__code { grid-column: 1 / -1; width: 100%; }
  .tppb-page ul.products { grid-template-columns: 1fr; }
  .tppb-carousel-dots { margin-top: 14px; }
  .tppb-carousel-scrollbar { margin-top: 14px; }
}
