.jb-design-system .widget,
.jb-design-system .ast-archive-description,
.jb-design-system .ast-separate-container .site-main > article,
.jb-design-system .ast-separate-container .comments-area,
.jb-design-system .ast-separate-container .ast-article-single,
.jb-design-system .ast-separate-container .woocommerce-MyAccount-content,
.jb-design-system .ast-separate-container .woocommerce-cart-form,
.jb-design-system .ast-separate-container .cart_totals,
.jb-design-system .ast-separate-container .woocommerce-checkout-review-order {
  background: var(--jb-color-surface);
  border: 1px solid var(--jb-color-border);
  border-radius: var(--jb-radius-xl);
  box-shadow: var(--jb-shadow-sm);
}

.jb-design-system .wp-block-button__link,
.jb-design-system .is-style-fill .wp-element-button {
  border-radius: var(--jb-radius-md);
}

.jb-design-system .is-style-outline > .wp-block-button__link,
.jb-design-system .is-style-outline > .wp-element-button {
  border: 1px solid var(--jb-color-border-strong);
  background: rgba(255, 255, 255, 0.75);
  color: var(--jb-color-text);
}

.jb-design-system .uagb-buttons-repeater.wp-block-button .wp-block-button__link,
.jb-design-system .uagb-buttons__outer-wrap .uagb-button__link {
  min-height: 50px;
  padding: 0 22px;
  border-radius: var(--jb-radius-md);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.jb-design-system .woocommerce ul.products li.product,
.jb-design-system .wc-block-grid__product,
.jb-design-system .wp-block-post.product {
  overflow: hidden;
  border: 1px solid var(--jb-color-border);
  border-radius: var(--jb-radius-lg);
  background: var(--jb-color-surface);
  box-shadow: var(--jb-shadow-sm);
  transition: transform var(--jb-transition-base), box-shadow var(--jb-transition-base), border-color var(--jb-transition-fast);
}

.jb-design-system .woocommerce ul.products li.product:hover,
.jb-design-system .wc-block-grid__product:hover,
.jb-design-system .wp-block-post.product:hover {
  transform: translateY(-4px);
  border-color: rgba(15, 76, 129, 0.22);
  box-shadow: var(--jb-shadow-md);
}

.jb-design-system .woocommerce ul.products li.product .woocommerce-loop-product__title,
.jb-design-system .wc-block-grid__product-title,
.jb-design-system .wp-block-post-title {
  font-family: var(--jb-font-heading);
  font-size: 1.55rem;
  line-height: 1;
}

.jb-design-system .price,
.jb-design-system .wc-block-components-product-price {
  color: var(--jb-color-primary-strong);
  font-weight: 700;
}

.jb-design-system .onsale,
.jb-design-system .wc-block-components-sale-badge {
  border: 0;
  border-radius: var(--jb-radius-pill);
  background: linear-gradient(135deg, var(--jb-color-primary) 0%, #ef4444 100%);
  color: #fff;
  font-weight: 700;
  box-shadow: var(--jb-shadow-sm);
}

.jb-design-system .wp-block-group,
.jb-design-system .wp-block-cover,
.jb-design-system .wp-block-uagb-container,
.jb-design-system .uagb-container-inner-blocks-wrap {
  border-radius: inherit;
}

.jb-design-system .wp-block-search__inside-wrapper,
.jb-design-system .wp-block-group.is-style-default,
.jb-design-system .uagb-container-inner-blocks-wrap > .wp-block-group {
  gap: var(--jb-space-4);
}

.jb-design-system .wp-block-uagb-info-box.uagb-infobox__content-wrap {
  height: 100%;
  border: 1px solid var(--jb-color-border);
  border-radius: var(--jb-radius-lg);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 248, 250, 0.96) 100%);
  box-shadow: var(--jb-shadow-sm);
  transition: transform var(--jb-transition-base), box-shadow var(--jb-transition-base), border-color var(--jb-transition-fast);
}

.jb-design-system .wp-block-uagb-info-box.uagb-infobox__content-wrap:hover {
  transform: translateY(-4px);
  border-color: rgba(15, 76, 129, 0.22);
  box-shadow: var(--jb-shadow-md);
}

.jb-design-system .uagb-ifb-title,
.jb-design-system .uagb-infobox__content-wrap .uagb-ifb-title-prefix {
  font-family: var(--jb-font-heading);
  letter-spacing: 0.03em;
}

.jb-design-system .uagb-ifb-title {
  color: var(--jb-color-text);
}

.jb-design-system .uagb-ifb-title-prefix {
  color: var(--jb-color-primary);
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
}

.jb-design-system .uagb-ifb-desc {
  color: var(--jb-color-text-soft);
}

.jb-design-system .wp-block-uagb-testimonial {
  height: 100%;
  border: 1px solid rgba(15, 76, 129, 0.1);
  border-radius: var(--jb-radius-lg);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--jb-shadow-sm);
}

.jb-design-system .uagb-blockquote__content {
  color: var(--jb-color-text-soft);
}

.jb-design-system .uagb-testimonial__author,
.jb-design-system .uagb-testimonial__author-name {
  font-family: var(--jb-font-heading);
  letter-spacing: 0.03em;
}

.jb-design-system .wp-block-uagb-star-rating .uag-star {
  color: var(--jb-color-accent);
}

.jb-design-system .wp-block-uagb-advanced-heading .uagb-heading-text {
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.jb-design-system .wp-block-uagb-advanced-heading .uagb-separator {
  opacity: 0.9;
}

.jb-design-system .wp-block-quote,
.jb-design-system blockquote {
  padding: 24px 24px 24px 28px;
  border-left: 4px solid var(--jb-color-primary);
  border-radius: var(--jb-radius-lg);
  background: linear-gradient(180deg, rgba(255, 248, 240, 0.96) 0%, rgba(249, 250, 251, 0.94) 100%);
  box-shadow: var(--jb-shadow-sm);
}

.jb-design-system .wp-block-table table,
.jb-design-system table {
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--jb-color-border);
  border-radius: var(--jb-radius-lg);
  background: #fff;
  box-shadow: var(--jb-shadow-sm);
}

.jb-design-system .wp-block-table th,
.jb-design-system table th {
  background: rgba(15, 76, 129, 0.08);
  color: var(--jb-color-text);
  font-family: var(--jb-font-heading);
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.jb-design-system .wp-block-table th,
.jb-design-system .wp-block-table td,
.jb-design-system table th,
.jb-design-system table td {
  padding: 14px 16px;
  border-color: var(--jb-color-border);
}

.jb-design-system details,
.jb-design-system .wp-block-details {
  border: 1px solid var(--jb-color-border);
  border-radius: var(--jb-radius-lg);
  background: rgba(255, 255, 255, 0.95);
  box-shadow: var(--jb-shadow-sm);
}

.jb-design-system details summary,
.jb-design-system .wp-block-details summary {
  cursor: pointer;
  padding: 18px 20px;
  color: var(--jb-color-text);
  font-family: var(--jb-font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.jb-design-system details > :not(summary),
.jb-design-system .wp-block-details > :not(summary) {
  padding: 0 20px 18px;
}
