/* Compre Junto — layout .zhf-combo */
.zhf-combo {
  --zhf-hairline: rgba(0, 0, 0, 0.1);
  --zhf-hairline-strong: rgba(0, 0, 0, 0.28);
  --zhf-tile: #f6f6f4;
  --zhf-max: 1170px;
  max-width: var(--zhf-max);
  margin: 2rem auto;
  color: inherit;
  font-family: inherit;
}

.zhf-combo__eyebrow {
  margin: 0 0 4px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.55;
}

.zhf-combo__heading {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}

.zhf-combo__title {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.3;
}

.zhf-combo__subtitle {
  margin: 0;
  font-size: 0.875em;
  opacity: 0.7;
}

.zhf-combo__grid.zhf-pack-products {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 0.95fr);
  gap: 40px;
  align-items: start;
}

.zhf-combo__media {
  aspect-ratio: 1 / 1;
  background: var(--zhf-tile);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 14px;
}

.zhf-combo__media a {
  display: block;
  height: 100%;
}

.zhf-combo__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 5px;
}

.zhf-combo__name {
  margin: 0 0 8px;
  font-size: inherit;
  line-height: 1.5;
  font-weight: inherit;
}

.zhf-combo__name a {
  color: inherit;
  text-decoration: none;
}

.zhf-combo__name a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.zhf-combo__options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.zhf-combo__price {
  margin: 0;
}

.zhf-combo__summary {
  padding-top: 8px;
}

.zhf-combo__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 10px 0;
  border-bottom: 1px solid var(--zhf-hairline);
  font-size: 13px;
}

.zhf-combo__row dt {
  opacity: 0.65;
}

.zhf-combo__row dd {
  margin: 0;
}

.zhf-combo__strike {
  opacity: 0.55;
  text-decoration: line-through;
}

.zhf-combo__row--total {
  border-bottom: 0;
  padding: 14px 0 22px;
}

.zhf-combo__total {
  font-size: 1.35em;
  font-weight: 500;
}

.zhf-combo__cta {
  width: 100%;
}

.zhf-pack-products .woocommerce-variation-availability {
  min-height: 0;
  font-size: 0.8125rem;
}

/* Compre Junto: sempre select nativo, sem swatches de terceiros */
.zhf-pack-products .rtwpvs,
.zhf-pack-products .rtwpvs-terms-wrapper,
.zhf-pack-products div.cgkit-as-wrap,
.zhf-pack-products .cgkit-attribute-swatches {
  display: none !important;
}

.zhf-pack-products select.zhf-product-pack {
  display: block !important;
  visibility: visible !important;
  position: static !important;
  clip: auto !important;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 2.25rem;
  padding: 0.4rem 2rem 0.4rem 0.75rem;
  font-size: inherit;
  font-family: inherit;
  color: inherit;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236b6b6b' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")
    no-repeat right 10px center / 10px 6px,
    #fff;
  border: 1px solid var(--zhf-hairline-strong);
  cursor: pointer;
}


.zhf-pack-products  button.zhf-buy-pack {
  width: 100%;
  margin-left: 0px;
}

@media (max-width: 900px) {
  .zhf-combo {
    padding: 32px 20px;
  }

  .zhf-combo__grid.zhf-pack-products {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
  }

  .zhf-combo__summary {
    grid-column: 1 / -1;
    padding-top: 12px;
    margin-top: 4px;
    border-top: 1px solid var(--zhf-hairline);
  }

  .zhf-combo__row {
    font-size: 12.5px;
    padding: 8px 0;
  }

  .zhf-combo__row--total {
    padding: 12px 0 18px;
  }
}

.zhf-order-bumps--mini-cart {
  flex-shrink: 0;
}

.shoptimizer-mini-cart-wrap .zhf-order-bumps--mini-cart {
  margin: 0;
  padding: 1rem 0 0.75rem;
  border-top: 1px solid #e2e2e2;
}

.shoptimizer-mini-cart-wrap .widget_shopping_cart_content:has(.zhf-order-bumps--mini-cart:not(.zhf-order-bumps--loading)) .woocommerce-mini-cart__total {
  border-top: 0;
  padding-top: 0.75rem;
}

.shoptimizer-mini-cart-wrap .zhf-order-bumps--mini-cart .pdp-complementary-carousel {
  padding-top: 0;
}

.shoptimizer-mini-cart-wrap .zhf-order-bumps--mini-cart .pdp-complementary--heading {
  font-size: 15px;
}

.shoptimizer-mini-cart-wrap .zhf-order-bumps-notices {
  flex-shrink: 0;
  margin-bottom: 0.75rem;
}

.shoptimizer-mini-cart-wrap .woocommerce-mini-cart__empty-message + .zhf-order-bumps-notices,
.shoptimizer-mini-cart-wrap .zhf-order-bumps-notices + .woocommerce-mini-cart__empty-message {
  margin-top: 0;
}

.shoptimizer-mini-cart-wrap li.zhf-order-bumps-mini-cart-fallback {
  list-style: none;
  padding: 1rem 0 0.75rem;
  margin: 0;
  border-top: 1px solid #e2e2e2;
  border-bottom: 0;
}

.shoptimizer-mini-cart-wrap li.zhf-order-bumps-mini-cart-fallback .zhf-order-bumps--mini-cart {
  border-top: 0;
  padding: 0;
}

/* Order Bumps — layout Shoptimizer complementary */
.zhf-order-bumps {
  clear: both;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.zhf-order-bumps-notices:empty {
  display: none;
}

.zhf-order-bumps-notices .zhf-bump-notice {
  position: relative;
  margin: 0 0 0.75rem;
  padding: 0.65em 2rem 0.65em 0.85em;
  font-size: 13px;
  line-height: 1.4;
  border-radius: 4px;
}

.zhf-order-bumps-notices .zhf-bump-notice--success {
  background: #ecf7ed;
  color: #1e7e34;
  border: 1px solid #c3e6cb;
}

.zhf-order-bumps-notices .zhf-bump-notice--error {
  background: #fbeaec;
  color: #a61e00;
  border: 1px solid #f5c6cb;
}

.zhf-order-bumps-notices .zhf-bump-notice--info {
  background: #f0f6fc;
  color: #1d4ed8;
  border: 1px solid #bee3f8;
}

.zhf-order-bumps-notices .zhf-notice-dismiss {
  position: absolute;
  top: 0.4em;
  right: 0.4em;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.65;
}

.zhf-order-bumps-notices .zhf-notice-dismiss:hover {
  opacity: 1;
}

.zhf-order-bumps .pdp-complementary-carousel {
  clear: both;
  padding-top: 0;
}

.zhf-order-bumps .pdp-complementary--header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.zhf-order-bumps .pdp-complementary--header button {
  margin-left: 0.75rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  border: none;
  background: none;
  cursor: pointer;
  color: #111;
}

.zhf-order-bumps .pdp-complementary--header button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.zhf-order-bumps .pdp-complementary--header svg {
  width: 16px;
  height: 16px;
}

.zhf-order-bumps .pdp-complementary--heading {
  font-size: 16px;
  font-weight: 600;
  color: #111;
}

.zhf-order-bumps .pdp-complementary--nav {
  display: flex;
  flex-shrink: 0;
}

.zhf-order-bumps__carousel:not([data-count="1"]) .pdp-complementary--nav {
  display: flex;
}

.zhf-order-bumps__carousel[data-count="1"] .pdp-complementary--nav,
.zhf-order-bumps__carousel:not([data-count]) .pdp-complementary--nav {
  display: none;
}

.zhf-order-bumps .tns-carousel,
.zhf-order-bumps .zhf-order-bumps__track {
  overflow: hidden;
}

.zhf-order-bumps .pdp-complementary--container {
  display: flex;
  opacity: 1;
}

.zhf-order-bumps .pdp-complementary-item img {
  max-width: 75px;
  height: auto;
  margin-right: 1.25rem;
  margin-left: 1px;
}

.zhf-order-bumps .pdp-complementary--single {
  display: flex;
  align-items: center;
}

.zhf-order-bumps .pdp-complementary--content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin-top: -5px;
}

.zhf-order-bumps .pdp-complementary--title {
  font-size: 14px;
  font-weight: 600;
}

.zhf-order-bumps .pdp-complementary--title a,
.zhf-order-bumps .pdp-complementary--title a:hover {
  color: #111;
  text-decoration: none;
}

.zhf-order-bumps .pdp-complementary--content .price {
  font-size: 13px;
}

.zhf-order-bumps .pdp-complementary--content .price ins {
  font-weight: bold;
  text-decoration: none;
}

.zhf-order-bumps .pdp-complementary--add-to-cart {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 0.35rem;
  flex-wrap: wrap;
}

.zhf-order-bumps .pdp-complementary--add-to-cart .zhf-order-bumps__add-btn {
  padding: 5px 14px;
  font-size: 12px;
  color: #111;
  border: 1px solid #e2e2e2;
  background: linear-gradient(180deg, white, #eee 130%) no-repeat;
  border-radius: 4px;
  transition: 0.2s all;
  margin: 0;
  white-space: nowrap;
  line-height: 1.4;
  height: auto;
}

.zhf-order-bumps .pdp-complementary--add-to-cart .zhf-order-bumps__add-btn:hover:not(:disabled) {
  color: #111;
  border-color: #ccc;
}

.zhf-order-bumps .pdp-complementary--add-to-cart .zhf-order-bumps__add-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.zhf-order-bumps__carousel[data-count]:not([data-count="1"]) .pdp-complementary-item {
  flex: 0 0 100%;
  min-width: 100%;
  box-sizing: border-box;
}

.zhf-order-bumps__carousel[data-count]:not([data-count="1"]) .zhf-order-bumps__list {
  transition: transform 0.3s ease;
  will-change: transform;
}

.zhf-order-bumps__carousel[data-count]:not([data-count="1"]) .zhf-order-bumps__track {
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
}

.zhf-order-bumps__carousel[data-count]:not([data-count="1"]) .zhf-order-bumps__track.is-dragging {
  cursor: grabbing;
}

.zhf-order-bumps__cart-badge {
  display: inline-block;
  background: #e74c3c;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 3px;
  margin-right: 4px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.zhf-order-bumps__variation-form {
  display: inline-flex;
  margin: 0;
}

.zhf-order-bumps--loading .zhf-order-bumps__carousel,
.zhf-order-bumps--loading .pdp-complementary-carousel {
  display: none;
}

.zhf-order-bumps__skeleton {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.zhf-order-bumps__skeleton-card {
  height: 95px;
  background: linear-gradient(90deg, #eee 25%, #f5f5f5 50%, #eee 75%);
  background-size: 200% 100%;
  animation: zhf-bump-skeleton 1.2s ease-in-out infinite;
  border-radius: 6px;
}

.zhf-order-bumps:not(.zhf-order-bumps--loading) .zhf-order-bumps__skeleton {
  display: none;
}

@keyframes zhf-bump-skeleton {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.zhf-order-bumps .rtwpvs,
.zhf-order-bumps .cgkit-as-wrap {
  display: none !important;
}

.zhf-order-bumps select.zhf-order-bump-variation-select {
  display: block !important;
  max-width: 130px;
  min-width: 90px;
  height: 28px;
  font-size: 12px;
  padding: 5px 8px;
  border: 1px solid #e2e2e2;
  border-radius: 4px;
  background: #fff;
  color: #111;
  margin: 0;
}

.zhf-order-bumps select.zhf-order-bump-variation-select:disabled,
.zhf-order-bumps select.zhf-order-bump-variation-select option:disabled {
  color: #999;
}

.woocommerce-cart .zhf-order-bumps {
  width: 100%;
  margin: 1.5rem 0 0;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.woocommerce-checkout .zhf-order-bumps {
  margin: 0 0 1.5rem;
  clear: both;
}

