body.single-product div.product {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 60px !important;
  max-width: 1300px !important;
  margin: 60px auto !important;
  padding: 0 30px !important;
  align-items: flex-start !important;
}

body.single-product div.product::before,
body.single-product div.product::after {
  display: none !important;
}

body.single-product,
body.single-product #wrapper,
body.single-product #inner-wrap,
body.single-product .site-main,
body.single-product .site-content,
body.single-product .content-area,
body.single-product .content-container,
body.single-product .entry-content-wrap {
  overflow: visible !important;
  overflow-x: clip !important;
}

body.single-product .woocommerce-breadcrumb,
body.single-product .woocommerce-notices-wrapper {
  width: 100% !important;
  margin-bottom: 20px !important;
}

body.single-product .woocommerce-product-gallery {
  width: calc(50% - 30px) !important;
  margin: 0 !important;
  float: none !important;
  position: sticky !important;
  top: 120px !important;
  height: max-content !important;
}

body.single-product .tm-sticky-parent.wrap-summary {
  gap: 30px !important;
}

body.single-product .summary.entry-summary {
  width: calc(50% - 30px) !important;
  margin: 0 !important;
  float: none !important;
  padding: 0 !important;
  font-family: "Inter", sans-serif !important;
  position: sticky !important;
  top: 120px !important;
  height: max-content !important;
}

body.single-product .woocommerce-tabs,
body.single-product section.up-sells,
body.single-product section.related {
  width: 100% !important;
  clear: both !important;
}

body.single-product .woocommerce-product-gallery {
  display: flex !important;
  flex-direction: column !important;
  gap: 15px !important;
  align-items: flex-start !important;
  position: sticky !important;
  top: 100px !important;
}

body.single-product .woocommerce-product-gallery__trigger {
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
}

body.single-product .flex-control-thumbs {
  position: static !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  order: 2 !important;
  width: 100% !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  height: auto !important;
  overflow-x: auto !important;
}

body.single-product .flex-control-thumbs li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 80px !important;
  height: 80px !important;
  flex-shrink: 0 !important;
  position: static !important;
  display: block !important;
}

body.single-product .flex-control-thumbs li img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  transition: border-color 0.25s ease !important;
  display: block !important;
  box-sizing: border-box !important;
}

body.single-product .flex-control-thumbs li img.flex-active,
body.single-product .flex-control-thumbs li img:hover {
  border-color: #000 !important;
}

body.single-product .flex-viewport {
  flex: 1 !important;
  min-width: 0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  cursor: zoom-in !important;
  width: 100% !important;
  order: 1 !important;
}

body.single-product .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
}

body.single-product .woocommerce-product-gallery__image a,
body.single-product .woocommerce-product-gallery__image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 20px !important;
  background: #f4f4f6 !important;
  object-fit: cover !important;
  cursor: zoom-in !important;
}

body.single-product .flex-direction-nav {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-product .flex-direction-nav a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 55px !important;
  height: 55px !important;
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 50% !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 99 !important;
  text-decoration: none !important;
  opacity: 1 !important;
  overflow: hidden !important;
}

body.single-product .flex-direction-nav a.flex-prev {
  left: 20px !important;
}

body.single-product .flex-direction-nav a.flex-next {
  right: 20px !important;
}

body.single-product .flex-direction-nav a::before {
  display: none !important;
}

body.single-product .flex-direction-nav a .btn-fill {
  display: block !important;
  position: absolute !important;
  width: 160% !important;
  height: 220% !important;
  top: -60% !important;
  left: -30% !important;
  border-radius: 50% !important;
  background: rgb(var(--color-btn, 17, 17, 17)) !important;
  transform: translate3d(0, 76%, 0);
  pointer-events: none !important;
  z-index: 0 !important;
}

body.single-product .flex-direction-nav a .btn-text {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgb(var(--color-btn, 17, 17, 17));
  line-height: 0 !important;
  background: none !important;
  transition: color 0.3s ease;
  pointer-events: none !important;
}

body.single-product .summary.entry-summary {
  width: calc(50% - 30px) !important;
  margin: 0 !important;
  float: none !important;
  padding: 0 !important;
  font-family: "Inter", sans-serif !important;
  position: sticky !important;
  top: 120px !important;
  height: max-content !important;
}

body.single-product .summary .product_title {
  font-size: 40px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #000 !important;
  margin: 0 0 20px !important;
  line-height: 1.1 !important;
}

body.single-product .woocommerce-product-rating {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 25px !important;
  line-height: 1 !important;
}

body.single-product .woocommerce-product-rating .star-rating {
  color: #facc15 !important;
  font-size: 15px !important;
  width: 75px !important;
}

.ao-rating-average {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #111 !important;
  line-height: 1 !important;
}

.ao-rating-sep {
  color: #ccc !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

body.single-product .woocommerce-product-rating .woocommerce-review-link {
  color: #555 !important;
  font-size: 16px !important;
  text-decoration: none !important;
}

body.single-product .summary .price {
  display: block !important;
  margin: 0 0 25px !important;
}

body.single-product .summary .price .ao-discount-badge {
  display: block !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  background: #000 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 6px 10px !important;
  border-radius: 2px !important;
  margin-bottom: 12px !important;
  line-height: 1 !important;
  letter-spacing: 0.5px !important;
}

body.single-product .summary .price ins,
body.single-product .summary .price > .amount,
body.single-product .summary .price > span.amount {
  display: inline-block !important;
  text-decoration: none !important;
  color: #000 !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  margin-right: 12px !important;
}

body.single-product .summary .price del,
body.single-product .summary .price del .amount {
  display: inline-block !important;
  color: #999 !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
}

body.single-product .summary .woocommerce-product-details__short-description {
  font-size: 16px !important;
  color: #555 !important;
  line-height: 1.6 !important;
  margin-bottom: 30px !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

body.single-product .variations {
  width: 100% !important;
  border: none !important;
  margin-bottom: 5px !important;
}

body.single-product .variations tr {
  display: block !important;
  margin-bottom: 5px !important;
}

body.single-product .variations td,
body.single-product .variations th {
  display: block !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

body.single-product .variations .label label {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #000 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-bottom: 12px !important;
  display: block !important;
}

body.single-product .variations select {
  display: none !important;
}

.ao-custom-swatches {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-bottom: 5px !important;
}

.ao-swatch {
  min-width: 50px !important;
  height: 50px !important;
  padding: 0 15px !important;
  background: #f4f4f6 !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #000 !important;
  transition: all 0.2s ease !important;
  border: 1px solid transparent !important;
  user-select: none !important;
}

.ao-swatch:hover {
  background: #eaeaec !important;
}

.ao-swatch.active {
  background: #1a1a1a !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

body.single-product .variations select:focus {
  background: #ebebeb !important;
  outline: none !important;
}

body.single-product .quantity {
  display: inline-flex !important;
  align-items: center !important;
  background: #fff !important;
  border: 1px #1717171a solid;
  border-radius: 30px !important;
  padding: 5px !important;
  margin-bottom: 30px !important;
  width: auto !important;
  gap: 0 !important;
}

body.single-product .quantity input[type="number"] {
  width: 40px !important;
  text-align: center !important;
  border: none !important;
  background: transparent !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  font-family: "Inter", sans-serif !important;
  color: #000 !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
  padding: 0 !important;
}

body.single-product .quantity input[type="number"]::-webkit-inner-spin-button,
body.single-product .quantity input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
}

body.single-product .quantity .qty-btn,
body.single-product .quantity button.minus,
body.single-product .quantity button.plus {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: none !important;
  font-size: 22px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #000 !important;
  transition: opacity 0.2s !important;
  box-shadow: none !important;
}

body.single-product .quantity button.minus:hover,
body.single-product .quantity button.plus:hover {
  background: transparent !important;
  color: #000 !important;
  opacity: 0.6 !important;
}

body.single-product .single_add_to_cart_button,
body.single-product button.single_add_to_cart_button {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border: 2px #000 solid !important;
  border-radius: 50px !important;
  padding: 16px 50px 16px 16px !important;
  min-height: 56px !important;
  background-color: #222 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
  font-family: "Inter", sans-serif !important;
  cursor: pointer !important;
  margin-top: 20px !important;
}

body.single-product .ao-inline-atc.single_add_to_cart_button {
  position: relative !important;
  overflow: hidden !important;
  flex: 1 !important;
  margin-top: 0 !important;
  padding: 12px 24px !important;
  min-height: 56px !important;
}

body.single-product .ao-inline-atc .btn-fill {
  display: block !important;
  position: absolute !important;
  width: 150% !important;
  height: 220% !important;
  top: -60% !important;
  left: -25% !important;
  border-radius: 50% !important;
  background: #fff !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

body.single-product .ao-inline-atc .btn-text {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff;
  transition: color 0.5s cubic-bezier(0.7, 0, 0.3, 1);
}

body.single-product .ao-cart-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

body.single-product .ao-cart-row .quantity {
  margin-bottom: 0 !important;
}

body.single-product .ao-buy-now-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border-radius: 50px !important;
  padding: 16px !important;
  min-height: 56px !important;
  border: 2px solid #222 !important;
  background: transparent !important;
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-family: "Inter", sans-serif !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  letter-spacing: 0 !important;
}

body.single-product .ao-buy-now-button:hover {
  background: #222 !important;
  color: #fff !important;
}

/* ── Mobile / Tablet: inline ATC shows cart icon only ─────────── */
@media (max-width: 991px) {
  body.single-product .ao-inline-atc .btn-text {
    padding: 0;
  }
  body.single-product .ao-inline-atc .ao-fc-atc-label {
    display: none;
  }
  body.single-product .ao-inline-atc .ao-fc-atc-icon {
    display: block;
    width: 20px;
    height: 20px;
  }
}

body.single-product .woocommerce-tabs {
  margin-top: 60px !important;
}

body.single-product .woocommerce-tabs .tabs {
  display: none !important;
}

body.single-product .woocommerce-tabs .panel {
  display: none !important;
}

.ao-product-accordion {
  margin-top: 40px !important;
  border-top: none !important;
}

.ao-product-accordion-item {
  border-bottom: 1px solid #f0f0f2 !important;
}

.ao-product-accordion-trigger {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 22px 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #000 !important;
  cursor: pointer !important;
  background: none !important;
  border: none !important;
  width: 100% !important;
  text-align: left !important;
  font-family: "Inter", sans-serif !important;
  transition: color 0.2s !important;
  text-transform: none !important;
}

.ao-product-accordion-trigger .ao-acc-arrow {
  transition: transform 0.3s ease !important;
  flex-shrink: 0 !important;
}

.ao-product-accordion-trigger.active .ao-acc-arrow {
  transform: rotate(90deg) !important;
}

.ao-product-accordion-body {
  max-height: 0 !important;
  overflow: hidden !important;
  transition:
    max-height 0.35s ease,
    padding 0.35s ease !important;
}

.ao-product-accordion-body.open {
  max-height: 800px !important;
  padding-bottom: 20px !important;
}

.ao-product-accordion-body p,
.ao-product-accordion-body ul,
.ao-product-accordion-body ol {
  font-size: 15px !important;
  color: #555 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

body.single-product .onsale {
  display: none !important;
}

body.single-product .product_meta {
  margin-top: 20px !important;
  padding-top: 20px !important;
  border-top: 1px solid #f0f0f2 !important;
  font-size: 13px !important;
  color: #888 !important;
}

body.single-product .product_meta a {
  color: #000 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body.single-product .product_meta a:hover {
  color: #000 !important;
}

body.single-product .related {
  margin-top: 100px !important;
  padding-top: 60px !important;
  border-top: 1px solid #f0f0f2 !important;
  position: relative !important;
}

.ao-related-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 40px !important;
}

body.single-product .related > h2 {
  font-size: 42px !important;
  font-weight: 700 !important;
  color: #000 !important;
  margin: 0 !important;
  text-transform: none !important;
  letter-spacing: -0.03em !important;
  border: none !important;
  padding: 0 !important;
}

.ao-related-arrows {
  display: flex !important;
  gap: 12px !important;
}

.ao-mobile-bottom-arrows {
  margin-top: 24px !important;
  justify-content: center !important;
}

.ao-related-arrow {
  width: 54px !important;
  height: 54px !important;
  background: #1a1a1a !important;
  color: #fff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.ao-related-arrow:hover {
  background: #000 !important;
  transform: scale(1.08) !important;
}

.ao-related-arrow svg {
  stroke-width: 2.5px !important;
}

body.single-product .related ul.products {
  display: flex !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-product .related ul.products li.product.splide__slide,
body.single-product .related ul.products li.product {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  min-width: 0 !important;
  list-style: none !important;
}

body.single-product .related .splide__track {
  overflow: hidden !important;
}

body.single-product .related .splide__list {
  display: flex !important;
  flex-wrap: nowrap !important;
}

body.single-product .related .splide__slide {
  flex-shrink: 0 !important;
}

body.single-product .related .product-thumbnail,
body.single-product .related .woocommerce-loop-product__link {
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #f4f4f6 !important;
  margin-bottom: 20px !important;
  position: relative !important;
  display: block !important;
}

body.single-product .related .product-thumbnail img,
body.single-product .related .woocommerce-loop-product__link img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

body.single-product .related li.product:hover img {
  transform: scale(1.06) !important;
}

.ao-sale-tag {
  position: absolute !important;
  top: 15px !important;
  background: #000 !important;
  color: #fff !important;
  padding: 3px 14px !important;
  border-radius: 0 20px 20px 0 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  z-index: 5 !important;
  letter-spacing: 0.05em !important;
}

body.single-product .related li.product .woocommerce-loop-product__title {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #444 !important;
  margin: 0 0 10px !important;
  font-family: "Inter", sans-serif !important;
  line-height: 1.4 !important;
}

body.single-product .related .star-rating {
  font-size: 14px !important;
  margin-bottom: 12px !important;
  color: #222 !important;
  width: 70px !important;
}

body.single-product .related .price {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #000 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

body.single-product .related .price del {
  font-size: 14px !important;
  color: #999 !important;
  font-weight: 400 !important;
}

body.single-product .related .price ins {
  text-decoration: none !important;
}

body.single-product .related .product-actions,


.ao-highlight {
  color: var(--sb-hl, #000) !important;
}

.reset_variations {
  display: inline-block !important;
  margin-top: 15px !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  color: #000 !important;
  text-decoration: none !important;
  background: #f5f5f5 !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.reset_variations:hover {
  background: #000 !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

.woocommerce-variation-availability {
  margin: 20px 0 10px !important;
}

.woocommerce-variation-availability .stock {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #0a873f !important;
  background: rgba(10, 135, 63, 0.08) !important;
  padding: 10px 18px !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.woocommerce-variation-availability .stock::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  background: currentColor !important;
  border-radius: 50% !important;
  display: inline-block !important;
  box-shadow: 0 0 0 3px rgba(10, 135, 63, 0.2) !important;
}

.woocommerce-variation-availability .stock.out-of-stock {
  color: #bf1b1b !important;
  background: rgba(191, 27, 27, 0.08) !important;
}

.woocommerce-variation-availability .stock.out-of-stock::before {
  box-shadow: 0 0 0 3px rgba(191, 27, 27, 0.2) !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-left: 4px solid #000 !important;
  color: #000 !important;
  padding: 18px 24px !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
  margin-bottom: 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 15px !important;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  background: #000 !important;
  color: #fff !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  transition: all 0.3s ease !important;
  order: 2 !important;
  margin: 0 !important;
  text-decoration: none !important;
}

.woocommerce-message .button:hover {
  background: #333 !important;
  transform: translateY(-1px) !important;
}

.woocommerce-message::before {
  display: none !important;
}

@media (max-width: 1024px) {
  body.single-product div.product {
    gap: 40px !important;
  }
}

@media (max-width: 991px) {
  body.single-product div.product {
    display: block !important;
    padding: 0 20px !important;
    margin: 20px auto !important;
  }

  body.single-product .woocommerce-product-gallery,
  body.single-product .summary.entry-summary {
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
    margin-bottom: 40px !important;
  }

  body.single-product .flex-direction-nav {
    display: none !important;
  }

  body.single-product .flex-control-thumbs {
    flex-direction: row !important;
    width: 100% !important;
    overflow-x: auto !important;
    order: 2 !important;
    padding: 10px 0 !important;
    gap: 10px !important;
  }

  body.single-product .flex-control-thumbs li {
    width: 70px !important;
    height: 70px !important;
    flex: 0 0 70px !important;
  }

  body.single-product .flex-control-thumbs li img {
    width: 70px !important;
    height: 70px !important;
  }

  body.single-product .summary .product_title {
    font-size: 28px !important;
  }

  body.single-product .summary .price {
    font-size: 24px !important;
  }

  .ao-cat-grid {
  }
}

@media (max-width: 767px) {
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
  }

  .woocommerce-message .button {
    width: 100% !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  body.single-product .flex-control-thumbs li {
    width: 60px !important;
    height: 60px !important;
    flex: 0 0 60px !important;
  }
}

.single-product-extras,
.single-product-payments,
fieldset.single-product-payments,
.product-above,
.entry-hero.product-hero-section {
  display: none !important;
}

/* =============================================================
   PRODUCT REVIEWS — redesigned UI
   ============================================================= */

/* ── Section wrapper ── */
.ao-product-reviews {
  width: 100% !important;
}

.ao-product-reviews #reviews {
  margin: 0 !important;
  max-width: 100% !important;
}

/* Strip any base-theme margin/padding from the Reviews section wrapper */
.ao-product-reviews .woocommerce-Reviews {
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide WooCommerce default title — we render our own */
.ao-product-reviews .woocommerce-Reviews-title {
  display: none !important;
}

/* ── Section heading ── */
.ao-reviews-section-title {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #111 !important;
  text-align: center !important;
  margin: 0 0 36px !important;
  letter-spacing: -0.02em !important;
}

/* ── Summary header (3-column) ── */
.ao-reviews-header {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 32px !important;
  padding: 32px 0 !important;
  border-top: 1px solid #f0f0f0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  margin-bottom: 32px !important;
}

/* Left — average score block */
.ao-reviews-avg {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
}

.ao-reviews-avg-score {
  font-size: 48px !important;
  font-weight: 800 !important;
  color: #111 !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
}

.ao-reviews-avg-out-of {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #888 !important;
  margin-left: 3px !important;
}

.ao-reviews-avg .star-rating {
  font-size: 20px !important;
  color: #facc15 !important;
  width: auto !important;
  float: none !important;
  display: block !important;
  margin: 4px 0 2px !important;
}

.ao-reviews-avg-count {
  font-size: 13px !important;
  color: #888 !important;
  font-weight: 400 !important;
}

/* Centre — histogram */
.ao-reviews-histogram {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  width: 260px !important;
}

.ao-reviews-bar-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.ao-reviews-bar-label {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #555 !important;
  white-space: nowrap !important;
  min-width: 70px !important;
  justify-content: flex-end !important;
}

.ao-reviews-bar-label svg {
  color: #facc15 !important;
  flex-shrink: 0 !important;
}

.ao-reviews-bar-track {
  flex: 1 !important;
  height: 8px !important;
  background: #f0f0f0 !important;
  border-radius: 99px !important;
  overflow: hidden !important;
}

.ao-reviews-bar-fill {
  height: 100% !important;
  background: #111 !important;
  border-radius: 99px !important;
  width: 0;
  transition: width 0.7s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.ao-reviews-bar-count {
  font-size: 13px !important;
  color: #888 !important;
  font-weight: 500 !important;
  min-width: 16px !important;
  text-align: right !important;
}

/* Right — write-a-review CTA */
.ao-reviews-cta {
  display: flex !important;
  justify-content: flex-end !important;
}

.ao-reviews-write-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 14px 28px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-family: "Inter", sans-serif !important;
  border: 2px solid #111 !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  transition:
    background 0.25s ease,
    color 0.25s ease !important;
  white-space: nowrap !important;
}

.ao-reviews-write-btn:hover {
  background: transparent !important;
  color: #111 !important;
}

.ao-reviews-write-btn svg {
  flex-shrink: 0 !important;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.ao-reviews-write-btn:hover svg,
.ao-reviews-write-btn.ao-form-active svg {
  transform: rotate(45deg) !important;
}

/* Active (form open) state — invert button */
.ao-reviews-write-btn.ao-form-active {
  background: transparent !important;
  color: #111 !important;
}

/* ── Sort bar ── */
.ao-reviews-sort-bar {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 24px !important;
}

.ao-reviews-sort-bar label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #555 !important;
}

.ao-reviews-sort-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: #fff
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")
    no-repeat right 10px center !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 20px !important;
  padding: 7px 32px 7px 14px !important;
  font-size: 13px !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 500 !important;
  color: #222 !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease !important;
}

.ao-reviews-sort-select:focus {
  outline: none !important;
  border-color: #111 !important;
}

/* ── Review list ── */
.ao-product-reviews,
.ao-product-reviews * {
  font-family: "Inter", sans-serif !important;
}
.ao-product-reviews .comment-form {
  background-color: transparent !important;
}
.ao-product-reviews #reviews #comments {
  width: 100% !important;
  float: none !important;
}
.ao-product-reviews .woocommerce-Reviews .commentlist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  border: none !important;
  border-radius: 0 !important;
}

/* ── Individual review item (custom template — no .comment_container / .comment-text) ── */
.ao-product-reviews .ao-review-item {
  margin: 0 !important;
  padding: 28px 0 !important;
  border: none !important;
  border-bottom: 1px solid #f0f0f0 !important;
  background: none !important;
  list-style: none !important;
}
.ao-product-reviews .ao-review-item:first-child {
  border-top: 1px solid #f0f0f0 !important;
}

.ao-product-reviews .ao-review-card {
  border: none !important;
  box-shadow: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ao-product-reviews .ao-review-content {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  overflow: visible !important;
}

.ao-product-reviews .woocommerce-Reviews .ao-review-card img.avatar {
  display: none !important;
}

/* Hide the default star-rating WooCommerce renders inside .comment-text
   (JS clones it into .ao-review-top-row and hides original via style) */
.ao-product-reviews .woocommerce-Reviews .comment-text > .star-rating {
  display: none !important;
}

/* ── Row 1: Stars (left) + Date (right) ── */
.ao-review-top-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 12px !important;
}

/* SVG stars container in top row */
.ao-review-stars {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  line-height: 1 !important;
}

.ao-review-stars svg {
  display: block !important;
  flex-shrink: 0 !important;
}

/* Date — subtle grey, top-right */
.ao-review-date {
  font-size: 13px !important;
  color: #aaa !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
  letter-spacing: 0.01em !important;
}

/* ── Row 2: Author left group + Bookmark right ── */
.ao-review-author-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  /* pushes bookmark to far right */
  margin-bottom: 12px !important;
  gap: 0 !important;
}

/* Left cluster: avatar + name + badge */
.ao-review-author-left {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Circular avatar icon */
.ao-review-avatar {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  border: 1.5px solid #e0e0e0 !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  color: #bbb !important;
}

/* Author name */
.ao-review-name {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #222 !important;
}

/* Verified badge — yellow pill, matches screenshot "مؤكد" style */
.ao-review-verified {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: #111 !important;
  padding: 2px 9px !important;
  border-radius: 20px !important;
  letter-spacing: 0.01em !important;
  line-height: 1.6 !important;
}

/* Bookmark icon — dark, far right of author row */
.ao-review-bookmark {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #222 !important;
  flex-shrink: 0 !important;
  cursor: default !important;
  opacity: 0.75 !important;
}

/* ── Review title (bold line below author row) ── */
.ao-review-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #111 !important;
  margin: 0 0 8px !important;
  line-height: 1.4 !important;
  display: block !important;
}

/* ── Review body text ── */
.ao-product-reviews .woocommerce-Reviews .description,
.ao-product-reviews .woocommerce-Reviews .description p {
  font-size: 14px !important;
  color: #444 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* Hide WooCommerce's default meta block — we render our own rows */
.ao-product-reviews .woocommerce-Reviews .meta {
  display: none !important;
}

/* ── Review form — accordion ── */
/* Collapsed by default; JS adds .ao-form-open to expand */
.ao-product-reviews #review_form_wrapper {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.55s cubic-bezier(0.25, 1, 0.5, 1) !important;
  margin-top: 0 !important;
  border-top: none !important;
  padding-top: 0 !important;
}

.ao-product-reviews #review_form_wrapper.ao-form-open {
  max-height: 1200px !important;
  /* tall enough for any form */
  margin-top: 24px !important;
  border-top: none !important;
  padding-top: 0 !important;
}

/* Inner panel — card-like container revealed when open */
.ao-product-reviews #review_form_wrapper .ao-form-panel {
  margin-top: 10px !important;
  max-width: 650px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ao-product-reviews .comment-reply-title {
  display: block !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #111 !important;
  margin-bottom: 24px !important;
  text-align: center !important;
}

.ao-product-reviews .comment-form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

.ao-product-reviews .comment-form > * {
  grid-column: 1 / -1 !important;
}

.ao-product-reviews .comment-form .comment-form-author,
.ao-product-reviews .comment-form .comment-form-email {
  grid-column: span 1 !important;
}

.ao-product-reviews .comment-form label {
  display: block !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #111 !important;
  margin-bottom: 8px !important;
  text-align: center !important;
}

.ao-product-reviews .comment-form input[type="text"],
.ao-product-reviews .comment-form input[type="email"] {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1px solid #e4e4e4 !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-family: "Inter", sans-serif !important;
  background: #fafafa !important;
  color: #111 !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease !important;
}

.ao-product-reviews .comment-form input[type="text"]:focus,
.ao-product-reviews .comment-form input[type="email"]:focus {
  outline: none !important;
  border-color: #111 !important;
  background: #fff !important;
}

.ao-product-reviews .comment-form textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1px solid #e4e4e4 !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-family: "Inter", sans-serif !important;
  background: #fafafa !important;
  color: #111 !important;
  min-height: 120px !important;
  box-sizing: border-box !important;
  resize: vertical !important;
  transition: border-color 0.2s ease !important;
}

.ao-product-reviews .comment-form textarea:focus {
  outline: none !important;
  border-color: #111 !important;
  background: #fff !important;
}

.ao-product-reviews .comment-form .comment-form-rating {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  text-align: center !important;
}

.ao-product-reviews .comment-form .comment-form-rating label {
  margin-bottom: 0 !important;
  font-size: 14px !important;
}

.ao-product-reviews .comment-form .stars {
  margin: 0 !important;
}

.ao-product-reviews .comment-form .stars a {
  font-size: 18px !important;
}

.ao-product-reviews .comment-form .form-submit {
  margin-top: 10px !important;
  display: flex !important;
  justify-content: center !important;
}

.ao-product-reviews .comment-form .submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 180px !important;
  padding: 13px 32px !important;
  border: 2px solid #111 !important;
  border-radius: 50px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-family: "Inter", sans-serif !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  transition:
    background 0.25s ease,
    color 0.25s ease !important;
}

.ao-product-reviews .comment-form .submit:hover {
  background: transparent !important;
  color: #111 !important;
}

/* No reviews state */
.ao-product-reviews .woocommerce-noreviews {
  font-size: 15px !important;
  color: #888 !important;
  margin: 0 0 16px !important;
  text-align: center !important;
  padding: 24px 0 !important;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .ao-reviews-header {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
  }

  .ao-reviews-cta {
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 600px) {
  .ao-reviews-header {
    grid-template-columns: 1fr !important;
  }

  .ao-reviews-avg-score {
    font-size: 36px !important;
  }

  .ao-reviews-histogram {
    width: 100% !important;
  }

  .ao-reviews-section-title {
    font-size: 20px !important;
  }

  .ao-product-reviews .comment-form {
    grid-template-columns: 1fr !important;
  }

  .ao-product-reviews .comment-form .comment-form-author,
  .ao-product-reviews .comment-form .comment-form-email {
    grid-column: 1 / -1 !important;
  }
}

/* ── Related Products (You may also like) ───────────────────── */
.ao-related-section {
  width: 100% !important;
  max-width: 1300px !important;
  margin: 60px auto 0 !important;
  padding: 0 30px !important;
  overflow: hidden !important;
}
.ao-related-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 30px !important;
}
.ao-related-title {
  font-size: 28px !important;
  font-weight: 700 !important;
  font-family: var(--sb-font-heading), sans-serif !important;
  margin: 0 !important;
  letter-spacing: -0.03em !important;
}
.ao-related-nav {
  display: flex !important;
  gap: 10px !important;
}
.ao-related-slider {
  overflow: hidden !important;
}
.ao-related-slider:not(.is-initialized) .splide__list {
  display: flex !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow-x: auto !important;
}
.ao-related-slider:not(.is-initialized) .splide__slide {
  margin-right: 0 !important;
}
.ao-related-slider .splide__slide {
  flex-shrink: 0 !important;
  width: calc(25% - 15px);
  margin-right: 20px !important;
}
.ao-related-section .ao-fc-btn[disabled] {
  opacity: .35 !important;
  cursor: default !important;
  pointer-events: none !important;
}
@media (max-width: 1024px) {
  .ao-related-slider .splide__slide {
    width: calc(33.333% - 13.333px);
  }
}
@media (max-width: 768px) {
  .ao-related-slider .splide__slide {
    width: calc(50% - 10px);
  }
}
@media (max-width: 480px) {
  .ao-related-slider .splide__slide {
    width: calc(100% - 0px);
  }
}
.ao-related-slider .splide__track {
  overflow: hidden !important;
}
@media (max-width: 768px) {
  .ao-related-header {
    flex-direction: column !important;
    gap: 16px !important;
    align-items: flex-start !important;
  }
  .ao-related-title {
    font-size: 22px !important;
  }
}
