:root {
  --cerejita-ink: #201a1a;
  --cerejita-muted: #756b6b;
  --cerejita-line: #eadfdf;
  --cerejita-soft: #fff8f8;
  --cerejita-accent: #c60537;
  --cerejita-accent-dark: #9f042c;
  --cerejita-success: #23824f;
  --cerejita-danger: #c60537;
  --cerejita-radius: 10px;
}

/* Estrutura global editavel no Elementor (template Single Product #281). */
.single-product .cerejita-product-main > .e-con-inner {
  align-items: flex-start;
}

.single-product .cerejita-product-gallery,
.single-product .cerejita-product-summary {
  min-width: 0;
  height: auto;
}

.single-product .cerejita-product-gallery .woocommerce-product-gallery {
  float: none;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}

.single-product .cerejita-product-summary {
  align-self: flex-start;
  border-radius: var(--cerejita-radius) !important;
}

.single-product .cerejita-product-breadcrumb .woocommerce-breadcrumb {
  margin: 0;
}

body.single-product main.site-main {
  width: min(1360px, calc(100% - clamp(32px, 4vw, 64px)));
  max-width: none;
  margin-inline: auto;
  padding-block: 24px 72px;
}

.single-product .cerejita-breadcrumb {
  margin: 0 0 28px;
  color: var(--cerejita-muted);
  font-size: var(--cerejita-type-breadcrumb-size);
  line-height: var(--cerejita-type-breadcrumb-line);
}

.cerejita-breadcrumb a { color: inherit; text-decoration: none; }
.cerejita-breadcrumb a:hover { color: var(--cerejita-accent); }
.cerejita-breadcrumb span[aria-hidden] { margin-inline: 9px; color: #b7aaaa; }

body.single-product main.site-main > div.product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(420px, 36vw, 480px);
  column-gap: clamp(32px, 4vw, 64px);
  align-items: start;
}

/* O clearfix do WooCommerce nao deve ocupar uma celula do grid. */
body.single-product main.site-main > div.product::before,
body.single-product main.site-main > div.product::after { display: none; }

body.single-product main.site-main > div.product .woocommerce-product-gallery,
body.single-product main.site-main > div.product .summary {
  float: none;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  box-sizing: border-box;
}

body.single-product main.site-main > div.product .woocommerce-product-gallery {
  justify-self: center;
  max-width: 760px;
}

.single-product .woocommerce-product-gallery__wrapper,
.single-product .flex-viewport {
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}

.single-product .woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.single-product .flex-control-thumbs { display: flex; gap: 10px; margin-top: 14px !important; }
.single-product .flex-control-thumbs li { width: 76px !important; padding: 0 !important; }
.single-product .flex-control-thumbs img {
  border: 1px solid var(--cerejita-line);
  border-radius: 6px;
  opacity: .65;
  transition: opacity .2s, border-color .2s;
}
.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover { opacity: 1; border-color: var(--cerejita-accent); }

.single-product .summary.entry-summary {
  position: sticky;
  top: 24px;
  height: auto;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid var(--cerejita-line);
  border-radius: var(--cerejita-radius);
  background: #fff;
}

.single-product .product_title {
  margin: 0 0 10px;
  color: var(--cerejita-ink);
  font-size: var(--cerejita-type-h1-size) !important;
  font-weight: 700;
  line-height: var(--cerejita-type-h1-line) !important;
  letter-spacing: -.025em;
  overflow-wrap: break-word;
  text-wrap: balance;
}
.single-product .cerejita-product-summary .elementor-widget-woocommerce-product-title {
  margin-bottom: 0 !important;
}
.single-product .cerejita-product-brand {
  margin-top: 0;
  color: var(--cerejita-muted);
  font-size: var(--cerejita-type-small-size);
  line-height: var(--cerejita-type-small-line);
}
.single-product .cerejita-product-brand span { font-weight: 600; }
.single-product .cerejita-product-brand a {
  color: var(--cerejita-ink);
  font-weight: 600;
  text-decoration: none;
}
.single-product .cerejita-product-brand a:hover { color: var(--cerejita-accent); }
.single-product .cerejita-product-summary .elementor-widget-woocommerce-product-add-to-cart {
  margin-top: 0;
}

.single-product .woocommerce-product-rating { margin-bottom: 14px; }
.single-product .woocommerce-review-link { color: var(--cerejita-muted); font-size: 14px; }
.single-product .star-rating { color: #d69421; }

/* Widgets dinamicos vazios nao devem preservar o espacamento do Elementor. */
.single-product .cerejita-product-summary .elementor-widget-woocommerce-product-rating:not(:has(.woocommerce-product-rating)),
.single-product .cerejita-product-summary .elementor-widget-woocommerce-product-price:not(:has(.price)),
.single-product .cerejita-product-summary .elementor-widget-woocommerce-product-stock:not(:has(.stock)),
.single-product .cerejita-product-summary .elementor-widget-woocommerce-product-short-description:not(:has(.woocommerce-product-details__short-description)) {
  display: none;
}

.single-product .summary .price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 8px;
  color: var(--cerejita-accent);
  font-size: var(--cerejita-type-product-price-size);
  font-weight: 700;
  line-height: var(--cerejita-type-product-price-line);
}
.single-product .summary .price del { color: #988d8d; font-size: 14px; font-weight: 400; line-height: 20px; }
.single-product .summary .price ins { text-decoration: none; }

.single-product .cerejita-product-summary .elementor-widget-woocommerce-product-price {
  margin: 14px 0 8px !important;
}
body.cerejita-product-simple .cerejita-product-summary
  .elementor-widget-woocommerce-product-title
  + .elementor-widget-woocommerce-product-price {
  margin-top: -12px !important;
}
.single-product .cerejita-product-summary .elementor-widget-woocommerce-product-price .price {
  margin: 0 0 5px;
}
body.cerejita-product-simple .cerejita-product-summary
  .elementor-widget-woocommerce-product-price .price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
}
.single-product .cerejita-product-summary .elementor-widget-woocommerce-product-price .price del {
  color: #817979;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  opacity: 1;
}
.single-product .cerejita-product-summary .elementor-widget-woocommerce-product-price .price ins {
  color: var(--cerejita-accent);
  font-size: var(--cerejita-type-product-price-size);
  font-weight: 700;
  line-height: var(--cerejita-type-product-price-line);
  border: 0 !important;
  text-decoration: none !important;
}
.single-product .cerejita-product-summary .elementor-widget-woocommerce-product-price
  .price > .woocommerce-Price-amount {
  color: var(--cerejita-accent) !important;
  font-size: var(--cerejita-type-product-price-size) !important;
  font-weight: 700 !important;
  line-height: var(--cerejita-type-product-price-line) !important;
}
.single-product .cerejita-product-summary .elementor-widget-woocommerce-product-price .price ins * {
  border: 0 !important;
  text-decoration: none !important;
}
.single-product .cerejita-payment-conditions {
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: #403939;
  font-size: 14px;
  line-height: 20px;
}
.single-product .cerejita-payment-conditions strong {
  color: var(--cerejita-ink);
  font-weight: 700;
}

.cerejita-stock { display: flex; align-items: center; gap: 8px; margin: 10px 0 18px; color: var(--cerejita-muted); font-size: 14px; }
.cerejita-stock__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--cerejita-success); }
.cerejita-stock--unavailable .cerejita-stock__dot { background: var(--cerejita-danger); }
.cerejita-stock .stock { margin: 0; color: inherit !important; }

.single-product .woocommerce-product-details__short-description { color: #514747; line-height: 1.7; }
.single-product form.cart { margin: 10px 0 0 !important; }
.single-product table.variations { margin-bottom: 0 !important; background: transparent; }
.single-product table.variations tbody { background: transparent; }
.single-product table.variations tr { display: block; margin-bottom: 0; background: transparent; }
.single-product table.variations th,
.single-product table.variations td { display: block; padding: 0; border: 0; background: transparent; text-align: left; }
.single-product table.variations label { display: block; margin-bottom: 9px; color: var(--cerejita-ink); font-size: 14px; font-weight: 600; line-height: 20px; }
.single-product table.variations select {
  width: 100%;
  min-height: 46px;
  padding-inline: 16px 42px;
  border: 1px solid var(--cerejita-line);
  border-radius: 6px;
  background: #fff;
  color: var(--cerejita-ink);
  font: inherit;
}
.single-product select.cerejita-native-select { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Variation Swatches for WooCommerce: acabamento visual Cerejita. */
.single-product .cfvsw-product-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(108px, 1fr));
  gap: 10px;
  width: 100%;
}
.single-product .cfvsw-product-container .cfvsw-swatches-option {
  width: 100%;
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 8px 12px;
  border: 1px solid var(--cerejita-line);
  border-radius: 6px !important;
  color: var(--cerejita-ink);
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  transition: border-color .18s, box-shadow .18s, color .18s, background-color .18s;
}
.single-product .cfvsw-product-container .cfvsw-swatches-option:hover {
  border-color: var(--cerejita-accent);
}
.single-product .cfvsw-product-container .cfvsw-swatches-option.cfvsw-selected-swatch {
  border-color: var(--cerejita-accent) !important;
  color: #fff;
  background: var(--cerejita-accent);
  box-shadow: 0 0 0 1px var(--cerejita-accent);
}
.single-product .cfvsw-product-container .cfvsw-swatches-option:focus-visible {
  outline: 3px solid rgba(198, 5, 55, .25);
  outline-offset: 2px;
}
.single-product .cfvsw-product-container .cfvsw-swatches-disabled,
.single-product .cfvsw-product-container .cfvsw-swatches-out-of-stock {
  opacity: .42;
  cursor: not-allowed;
}

.cerejita-options { display: flex; flex-wrap: wrap; gap: 9px; }
.cerejita-option {
  min-width: 46px;
  min-height: 42px;
  padding: 8px 14px;
  border: 1px solid var(--cerejita-line);
  border-radius: 6px;
  color: var(--cerejita-ink);
  background: #fff;
  font: inherit;
  cursor: pointer;
  transition: border-color .18s, box-shadow .18s, background .18s;
}
.cerejita-options--color .cerejita-option { border-radius: 999px; }
.cerejita-option:hover { border-color: #c899a1; }
.cerejita-option:focus-visible { outline: 3px solid rgba(180, 35, 58, .24); outline-offset: 2px; }
.cerejita-option.is-selected { border-color: var(--cerejita-accent); background: var(--cerejita-soft); box-shadow: inset 0 0 0 1px var(--cerejita-accent); }
.cerejita-option:disabled { opacity: .38; cursor: not-allowed; text-decoration: line-through; }

.single-product .reset_variations { display: inline-block !important; margin-top: 6px; color: var(--cerejita-muted); font-size: 13px; line-height: 1.2; }
.single-product .reset_variations[style*="visibility: hidden"] { display: none !important; }
.single-product .woocommerce-variation-availability .stock { margin: 8px 0; color: var(--cerejita-success); }

.single-product .single_variation {
  width: 100%;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
}
.single-product .single_variation:empty { display: none !important; }
.single-product .single_variation_wrap { margin-top: 0; }
.single-product form.variations_form .single_variation_wrap {
  margin-top: 12px;
}
.single-product .single_variation .woocommerce-variation-price {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 0 10px;
}
.single-product .single_variation .woocommerce-variation-price .price {
  display: inline-flex;
  justify-content: center;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #000;
  background: transparent;
  font-size: var(--cerejita-type-product-price-size);
  font-weight: 700;
  line-height: var(--cerejita-type-product-price-line);
}

.single-product .elementor-add-to-cart,
.single-product form.cart,
.single-product .single_variation_wrap { width: 100%; }
.single-product .woocommerce-variation-add-to-cart,
.single-product form.cart:not(.variations_form) {
  display: flex;
  flex-wrap: wrap;
  justify-content: stretch !important;
  width: 100%;
  column-gap: 8px !important;
  row-gap: 12px;
  padding-inline: 0 !important;
}
.single-product .woocommerce-variation-add-to-cart { margin-top: 8px; }

.single-product .elementor-widget-woocommerce-product-add-to-cart .cart .quantity.cerejita-quantity {
  display: inline-grid;
  grid-template-columns: minmax(46px, 1fr) 26px;
  grid-template-rows: 30px 30px;
  flex: 0 0 72px;
  align-items: center;
  width: 72px !important;
  min-width: 72px;
  max-width: 72px;
  height: 60px;
  border: 0;
  border-radius: 6px;
  overflow: hidden;
  background: #f5f3f3;
  box-sizing: border-box;
}
.single-product .elementor-widget-woocommerce-product-add-to-cart .cart .quantity.cerejita-quantity .qty { display: block; grid-column: 1; grid-row: 1 / 3; width: 100% !important; min-width: 0; max-width: none; height: 60px; padding: 0 !important; border: 0; border-radius: 0 !important; color: var(--cerejita-ink); background: transparent; font: inherit; font-size: 18px; line-height: 60px; text-align: center; appearance: textfield; box-sizing: border-box; }
.single-product .quantity.cerejita-quantity .qty::-webkit-inner-spin-button { appearance: none; }
.single-product .elementor-widget-woocommerce-product-add-to-cart .cart button.cerejita-qty { position: relative; display: block; justify-self: stretch; width: 26px !important; min-width: 26px; max-width: 26px; height: 30px !important; min-height: 30px; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; color: #5f5959 !important; background: transparent !important; font-size: 0; line-height: 30px; text-align: center; transform: none !important; box-sizing: border-box; cursor: pointer; }
.single-product .elementor-widget-woocommerce-product-add-to-cart .cart button.cerejita-qty::before,
.single-product .elementor-widget-woocommerce-product-add-to-cart .cart button.cerejita-qty--plus::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  content: '';
  transform: translate(-50%, -50%);
}
.single-product .elementor-widget-woocommerce-product-add-to-cart .cart button.cerejita-qty--plus::after {
  width: 2px;
  height: 10px;
}
.single-product .elementor-widget-woocommerce-product-add-to-cart .cart button.cerejita-qty--plus { grid-column: 2; grid-row: 1; }
.single-product .elementor-widget-woocommerce-product-add-to-cart .cart button.cerejita-qty--minus { grid-column: 2; grid-row: 2; }
.single-product .elementor-widget-woocommerce-product-add-to-cart .cart button.cerejita-qty:hover { color: var(--cerejita-accent) !important; background: #eeeaea !important; }
.cerejita-qty:focus-visible { outline: 3px solid rgba(198, 5, 55, .25); outline-offset: -3px; }
.cerejita-qty:disabled { opacity: .45; cursor: not-allowed; }

.single-product .single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex: 1 1 250px;
  min-width: 0;
  min-height: 60px;
  border: 0 !important;
  border-radius: 6px !important;
  background: var(--cerejita-accent) !important;
  font-size: var(--cerejita-type-button-size) !important;
  font-weight: 600 !important;
  line-height: var(--cerejita-type-button-line) !important;
  letter-spacing: 0;
  text-transform: none;
}
.single-product .single_add_to_cart_button::before {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  background: currentColor;
  content: '';
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 8V6a5 5 0 0 1 10 0v2h3v14H4V8h3Zm2 0h6V6a3 3 0 0 0-6 0v2Zm-3 2v10h12V10H6Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 8V6a5 5 0 0 1 10 0v2h3v14H4V8h3Zm2 0h6V6a3 3 0 0 0-6 0v2Zm-3 2v10h12V10H6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.single-product .single_add_to_cart_button:hover { background: var(--cerejita-accent-dark) !important; transform: translateY(-1px); }
.single-product .single_add_to_cart_button.disabled { opacity: .5; transform: none; }
.single-product .cerejita-purchase-security {
  width: 100%;
  margin: 14px 0 0;
  color: var(--cerejita-ink);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}

.single-product .product_meta { margin-top: 0; padding-top: 0; border-top: 0; color: var(--cerejita-muted); font-size: 14px; line-height: 20px; }
.single-product .product_meta > span { display: block; margin: 4px 0; }
.single-product .product_meta a { color: var(--cerejita-ink); }

.single-product #wc-shipping-sim { width: 100%; max-width: none; margin-top: 6px; padding: 0; border-top: 0 !important; border-radius: 0; background: transparent; box-sizing: border-box; }
.single-product #wc-shipping-sim-form-title {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
  color: var(--cerejita-ink);
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
}
.single-product #wc-shipping-sim-form-title::before {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  background: var(--cerejita-accent);
  content: '';
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v11H3zM14 10h4l3 4v3h-3M14 17H9'/%3E%3Ccircle cx='6' cy='18' r='2'/%3E%3Ccircle cx='16' cy='18' r='2'/%3E%3Cpath d='M2 10h7M1 13h6'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v11H3zM14 10h4l3 4v3h-3M14 17H9'/%3E%3Ccircle cx='6' cy='18' r='2'/%3E%3Ccircle cx='16' cy='18' r='2'/%3E%3Cpath d='M2 10h7M1 13h6'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}
.single-product #wc-shipping-sim-form-fields {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  overflow: hidden;
  border: 1px solid #e8e5e5;
  border-radius: 4px;
  background: #fff;
}
.single-product #wc-shipping-sim-form-fields input {
  flex: 1 1 auto;
  width: auto !important;
  min-width: 0;
  max-width: none !important;
  min-height: 52px;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0;
  box-shadow: none !important;
  background: transparent !important;
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
}
.single-product #wc-shipping-sim-form-fields:focus-within { border-color: #c9bebe; }
.single-product #wc-shipping-sim-form-fields button { flex: 0 0 auto; }
.single-product #wc-shipping-sim-form-fields .button.submit {
  margin: 0 0 0 auto !important;
  min-height: 52px;
  padding: 0 16px;
  border: 0 !important;
  border-radius: 0;
  color: var(--cerejita-accent) !important;
  background: transparent !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  transition: background-color .18s, border-color .18s, transform .18s;
}
.single-product #wc-shipping-sim-form-fields .button.submit:hover {
  border-color: transparent;
  color: var(--cerejita-accent-dark) !important;
  background: var(--cerejita-soft) !important;
  transform: none;
}
.single-product #wc-shipping-sim-form-fields .button.submit:focus-visible {
  outline: 3px solid rgba(198, 5, 55, .25);
  outline-offset: 2px;
}
.single-product #wc-shipping-sim-br-cep-finder a { color: var(--cerejita-muted); }
.single-product #wc-shipping-sim-br-cep-finder a:hover { color: var(--cerejita-ink); }
.single-product #wc-shipping-sim-br-cep-finder { display: none !important; }

.cerejita-benefits { display: grid; gap: 12px; margin-top: 4px; padding-top: 0; border-top: 0; }
.cerejita-benefit { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; }
.cerejita-benefit__icon { width: 30px; height: 30px; border-radius: 50%; background: var(--cerejita-soft); position: relative; }
.cerejita-benefit__icon::after {
  position: absolute;
  inset: 6px;
  background: var(--cerejita-accent);
  content: '';
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.cerejita-icon--lock::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10V7a5 5 0 0 1 10 0v3h2v12H5V10h2Zm2 0h6V7a3 3 0 0 0-6 0v3Zm-2 2v8h10v-8H7Zm5 2a2 2 0 0 1 1 3.7V19h-2v-1.3A2 2 0 0 1 12 14Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10V7a5 5 0 0 1 10 0v3h2v12H5V10h2Zm2 0h6V7a3 3 0 0 0-6 0v3Zm-2 2v8h10v-8H7Zm5 2a2 2 0 0 1 1 3.7V19h-2v-1.3A2 2 0 0 1 12 14Z'/%3E%3C/svg%3E");
}
.cerejita-icon--truck::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m22 2-7.4 20-4.2-7.8L2 10.5 22 2Zm-5.2 4.2L7.3 10.3l4.5 2 2.3 4.3 2.7-10.4Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m22 2-7.4 20-4.2-7.8L2 10.5 22 2Zm-5.2 4.2L7.3 10.3l4.5 2 2.3 4.3 2.7-10.4Z'/%3E%3C/svg%3E");
}
.cerejita-icon--chat::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 2h3l1.5 5-2 1.5a15.3 15.3 0 0 0 6.4 6.4l1.5-2 5 1.5v3A4.6 4.6 0 0 1 17.4 22 15.4 15.4 0 0 1 2 6.6 4.6 4.6 0 0 1 6.6 2Zm1.5 2H6.6A2.6 2.6 0 0 0 4 6.6 13.4 13.4 0 0 0 17.4 20a2.6 2.6 0 0 0 2.6-2.6v-1.5l-2.2-.7-1.7 2.2-.7-.3a17.3 17.3 0 0 1-8.5-8.5l-.3-.7 2.2-1.7L8.1 4Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 2h3l1.5 5-2 1.5a15.3 15.3 0 0 0 6.4 6.4l1.5-2 5 1.5v3A4.6 4.6 0 0 1 17.4 22 15.4 15.4 0 0 1 2 6.6 4.6 4.6 0 0 1 6.6 2Zm1.5 2H6.6A2.6 2.6 0 0 0 4 6.6 13.4 13.4 0 0 0 17.4 20a2.6 2.6 0 0 0 2.6-2.6v-1.5l-2.2-.7-1.7 2.2-.7-.3a17.3 17.3 0 0 1-8.5-8.5l-.3-.7 2.2-1.7L8.1 4Z'/%3E%3C/svg%3E");
}
.cerejita-benefit strong,
.cerejita-benefit small { display: block; }
.cerejita-benefit strong { color: var(--cerejita-ink); font-size: 14px; font-weight: 600; line-height: 20px; }
.cerejita-benefit small { margin-top: 2px; color: var(--cerejita-muted); font-size: 12px; font-weight: 400; line-height: 16px; }

body.single-product main.site-main > div.product > .woocommerce-tabs,
body.single-product main.site-main > div.product > .related,
body.single-product main.site-main > div.product > .upsells { grid-column: 1 / -1; margin-top: clamp(56px, 8vw, 96px); }

/* Relacionados usa um intervalo menor; tabs e upsells mantem a separacao original. */
body.single-product main.site-main > div.product > .related {
  margin-top: 10px;
}
.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 28px; padding: 0 !important; border-bottom: 1px solid var(--cerejita-line); }
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.single-product .woocommerce-tabs ul.tabs li a { padding: 14px 0 !important; color: var(--cerejita-muted) !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--cerejita-accent) !important; box-shadow: inset 0 -2px var(--cerejita-accent); }
.single-product .woocommerce-Tabs-panel { max-width: 850px; padding-top: 26px !important; color: #514747; font-size: 16px; font-weight: 400; line-height: 24px; }
.single-product .woocommerce-Tabs-panel h2,
.single-product .related > h2 { color: var(--cerejita-ink); font-size: 28px; font-weight: 700; line-height: 36px; }

.single-product ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.single-product ul.products::before,
.single-product ul.products::after { display: none; }
.single-product ul.products li.product { width: auto !important; margin: 0 !important; }
.single-product ul.products li.product img { border-radius: 6px; }
.single-product ul.products li.product .woocommerce-loop-product__title { color: var(--cerejita-ink); font-size: 16px; }
.single-product ul.products li.product .button { border-radius: 6px; background: var(--cerejita-accent); color: #fff; }

@media (max-width: 1199px) and (min-width: 960px) {
  body.single-product main.site-main > div.product { grid-template-columns: minmax(0, 1.12fr) minmax(380px, .88fr); column-gap: clamp(28px, 3.5vw, 42px); }
  .single-product .summary.entry-summary { padding: 24px; }
}

@media (max-width: 959px) {
  body.single-product main.site-main { width: min(760px, calc(100% - 32px)); }
  body.single-product main.site-main > div.product { display: block; }
  .single-product .summary.entry-summary { position: static; margin-top: 28px; }
  .single-product ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  .single-product .cerejita-product-gallery,
  .single-product .cerejita-product-gallery .elementor-widget-woocommerce-product-images,
  .single-product .cerejita-product-gallery .elementor-widget-container,
  .single-product .cerejita-product-gallery .woocommerce-product-gallery,
  .single-product .cerejita-product-gallery .flex-viewport,
  .single-product .cerejita-product-gallery .woocommerce-product-gallery__wrapper {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    box-sizing: border-box;
  }
  .single-product .cerejita-product-gallery .flex-control-thumbs {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    transform: none !important;
    box-sizing: border-box;
  }
  .single-product .cerejita-product-gallery .flex-control-thumbs li {
    float: none !important;
    margin: 0 !important;
  }
  .single-product .cerejita-product-main > .e-con-inner {
    gap: 14px !important;
    row-gap: 14px !important;
  }
  .single-product .cerejita-product-gallery,
  .single-product .cerejita-product-gallery .elementor-widget-woocommerce-product-images,
  .single-product .cerejita-product-gallery .elementor-widget-container,
  .single-product .cerejita-product-gallery .woocommerce-product-gallery,
  .single-product .cerejita-product-gallery .flex-control-thumbs {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  body.single-product main.site-main { width: min(100% - 24px, 600px); padding-top: 16px; }
  .single-product .cerejita-breadcrumb {
    margin-bottom: 18px;
    white-space: normal;
    overflow-x: visible;
    overflow-wrap: anywhere;
    line-height: 1.55;
  }
  .single-product .summary.entry-summary { position: static; margin-top: 0; padding: 22px 18px; }
  .single-product .product_title { font-size: var(--cerejita-type-h1-size); }
  .single-product .summary .price { font-size: var(--cerejita-type-product-price-size); }
  .single-product .single_add_to_cart_button { flex: 1 1 0; }
  .single-product .cfvsw-product-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .single-product #wc-shipping-sim-form-fields { align-items: stretch; }
  .single-product #wc-shipping-sim-form-fields input { flex-basis: 150px; }
  .single-product .woocommerce-tabs ul.tabs { gap: 18px; overflow-x: auto; white-space: nowrap; }
  .single-product .woocommerce-tabs,
  .single-product .upsells { margin-top: 52px; }
  .single-product .related { margin-top: 0; }
  .single-product ul.products { gap: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .single-product *, .single-product *::before, .single-product *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Carrossel de produtos relacionados: dois cards visiveis por pagina. */
.single-product .cerejita-related-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.single-product .cerejita-related-carousel > h2 {
  margin: 0 0 10px;
  color: var(--cerejita-ink);
  font-size: 16px !important;
  font-weight: 700;
  line-height: 22px !important;
  text-align: center;
  transform: translateY(36px);
}
.single-product .cerejita-related-carousel ul.products {
  display: grid !important;
  grid-auto-columns: calc((100% - 18px) / 2);
  grid-auto-flow: column;
  grid-template-columns: none !important;
  gap: 18px !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.single-product .cerejita-related-carousel ul.products::-webkit-scrollbar { display: none; }
.single-product .cerejita-related-carousel ul.products li.product {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  padding: 0 6px 4px;
  text-align: center;
  scroll-snap-align: start;
}
.single-product .cerejita-related-carousel .woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}
.single-product .cerejita-related-carousel ul.products li.product img {
  width: 100%;
  aspect-ratio: 1 / 1;
  margin: 0 0 14px !important;
  object-fit: contain;
}
.single-product .cerejita-related-carousel .woocommerce-loop-product__title {
  min-height: 44px;
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: var(--cerejita-ink) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 22px !important;
  text-align: center;
}
.single-product .cerejita-related-carousel .price {
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 2px;
  align-items: flex-end;
  justify-content: center;
  min-height: 2.8em;
  margin: 0 0 14px !important;
  color: var(--cerejita-accent) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
  white-space: nowrap;
}
/* Somente a promocao usa duas linhas; ranges de variacoes ficam na horizontal. */
.single-product .cerejita-related-carousel .price:has(del) {
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}
.single-product .cerejita-related-carousel .price del {
  color: #817979 !important;
  font-size: 14px !important;
  font-weight: 400;
  line-height: 20px !important;
  opacity: 1;
}
.single-product .cerejita-related-carousel .price ins {
  color: var(--cerejita-accent) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
  text-decoration: none !important;
}
.single-product .cerejita-related-carousel .price del .woocommerce-Price-amount,
.single-product .cerejita-related-carousel .price ins .woocommerce-Price-amount {
  color: inherit !important;
  font-size: 1em !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}
.single-product .cerejita-related-carousel .star-rating {
  margin: 0 auto 12px !important;
}
.single-product .cerejita-related-carousel .onsale {
  position: absolute;
  top: 8px;
  right: 6px;
  left: auto;
  z-index: 2;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 7px 12px;
  border-radius: 999px;
  color: #fff;
  background: var(--cerejita-accent);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}
.single-product .cerejita-related-carousel .woocommerce-loop-product__buttons {
  width: 100%;
  margin-top: auto;
}
.single-product .cerejita-related-carousel ul.products li.product .button {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  width: 90%;
  min-height: 36px;
  margin: 0 auto !important;
  padding: 7px 8px;
  border: 0;
  border-radius: 6px;
  color: #fff;
  background: var(--cerejita-accent);
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
}
.single-product .cerejita-related-carousel ul.products li.product .button::before {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  background: currentColor;
  content: '';
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 8V6a5 5 0 0 1 10 0v2h3v14H4V8h3Zm2 0h6V6a3 3 0 0 0-6 0v2Zm-3 2v10h12V10H6Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 8V6a5 5 0 0 1 10 0v2h3v14H4V8h3Zm2 0h6V6a3 3 0 0 0-6 0v2Zm-3 2v10h12V10H6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.single-product .cerejita-carousel-controls {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
}
.single-product .cerejita-carousel-arrow,
.single-product .cerejita-carousel-dot {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.single-product .cerejita-carousel-arrow {
  position: relative;
  width: 30px;
  height: 30px;
  color: var(--cerejita-muted);
}
.single-product .cerejita-carousel-arrow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: '';
}
.single-product .cerejita-carousel-arrow--previous::before { transform: translate(-35%, -50%) rotate(-135deg); }
.single-product .cerejita-carousel-arrow--next::before { transform: translate(-65%, -50%) rotate(45deg); }
.single-product .cerejita-carousel-arrow:disabled { opacity: .25; cursor: default; }
.single-product .cerejita-carousel-dots { display: flex; gap: 8px; align-items: center; }
.single-product .cerejita-carousel-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #d4d0d0;
}
.single-product .cerejita-carousel-dot.is-active { background: #777171; }

@media (max-width: 520px) {
  .single-product .cerejita-related-carousel ul.products {
    grid-auto-columns: calc((100% - 12px) / 2);
    gap: 12px !important;
  }
  .single-product .cerejita-related-carousel ul.products li.product { padding-inline: 2px; }
  .single-product .cerejita-related-carousel > h2 { margin-bottom: 8px; }
  .single-product .cerejita-related-carousel > h2 { transform: translateY(52px); }
  .single-product .cerejita-related-carousel .onsale { right: 2px; padding: 6px 8px; font-size: 11px; }
}
