/*
 * Single Product Page — Complete CSS (User Custom Design Mapping)
 * Theme: Astra (Custom) | Version: 4.0 (2026-07-09)
 *
 * Mapped to the exact design and class names requested:
 *   - .checout_main_section
 *   - .checout_main_div
 *   - .checkout_left_section
 *   - .checkout_right_section
 *   - .price-new
 *   - .description
 *   - .product-options
 *   - .quantity-control
 *   - .actions
 *   - .customer_review_section
 *   - .product_list_section
 */

/* =========================================================
   1. BOX-SIZING RESET
   ========================================================= */
.single-product *,
.single-product *::before,
.single-product *::after {
  box-sizing: border-box;
}

/* Remove Astra-specific icons (shopping bag/cart icons) from details and related products */
.single-product .ast-icon,
.single-product .ast-icon-shopping-bag,
.single-product .ast-icon-shopping-cart,
.single-product .icon-bag,
.single-product svg[class*="ast-icon"] {
  display: none !important;
}

/* Hide the gallery zoom/fullscreen trigger button */
.single-product .woocommerce-product-gallery__trigger {
  display: none !important;
}

/* Hide the review submission form */
.single-product #review_form_wrapper,
.customer_review_section #review_form_wrapper,
.customer_review_section .mytheme-review-form-container {
  display: none !important;
}

/* =========================================================
   1b. BREADCRUMB BAR
   ========================================================= */
.product-breadcrumb-wrap {
  background: #f8f8f8 !important;
  border-bottom: 1px solid #eee !important;
  padding: 12px 0 !important;
}

.product-breadcrumb-wrap .woocommerce-breadcrumb {
  font-size: 13px !important;
  color: #666 !important;
  font-family: 'Poppins', sans-serif !important;
  margin: 0 !important;
}

.product-breadcrumb-wrap .woocommerce-breadcrumb a {
  color: #555 !important;
  text-decoration: none !important;
}

.product-breadcrumb-wrap .woocommerce-breadcrumb a:hover {
  color: #111 !important;
  text-decoration: underline !important;
}

/* =========================================================
   2. MAIN PRODUCT SECTION & COLUMN LAYOUT
   ========================================================= */
.checout_main_section {
  font-family: 'Poppins', 'Arial', sans-serif !important;
  padding: 40px 20px !important;
  background: #fff !important;
  color: #111 !important;
}

.checout_main_div {
  display: flex !important;
  gap: 30px !important;
  flex-direction: row !important;
  align-items: start !important;
  width: 100% !important;
  float: none !important;
}

.checkout_left_section {
  width: 45% !important;
  overflow: hidden !important;
  float: none !important;
}

.checkout_right_section {
  width: 55% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hover Zoom effect from user design */
.checkout_left_section .woocommerce-product-gallery__image img,
.checkout_left_section img {
  width: 100% !important;
  object-fit: cover !important;
  transition: transform 0.3s ease !important;
}

.checkout_left_section .woocommerce-product-gallery__image img:hover,
.checkout_left_section img:hover {
  transform: scale(1.05) !important;
}

/* =========================================================
   3. PRODUCT GALLERY — Slider & Thumbnails (Restored natively)
   ========================================================= */
.single-product .woocommerce-product-gallery {
  opacity: 1 !important;
  display: block !important;
  width: 100% !important;
}

.single-product .woocommerce-product-gallery__wrapper {
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 12px !important;
}

.single-product .woocommerce-product-gallery__image {
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Thumbnail strip styled horizontally below main image */
.single-product .flex-control-nav.flex-control-thumbs {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

.single-product .flex-control-thumbs li {
  flex: 0 0 auto !important;
  width: 72px !important;
  height: 72px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .flex-control-thumbs li img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, opacity 0.2s ease !important;
  opacity: 0.7 !important;
}

.single-product .flex-control-thumbs li img:hover {
  border-color: #777 !important;
  opacity: 1 !important;
}

.single-product .flex-control-thumbs li img.flex-active {
  border-color: #111 !important;
  opacity: 1 !important;
}

/* =========================================================
   4. PRODUCT INFO & DETAILS
   ========================================================= */

/* Product Title */
.checkout_right_section h1.product_title.entry-title,
.checkout_right_section h2 {
  font-family: 'Stangith', sans-serif !important;
  font-size: 35px !important;
  margin: 0 0 15px !important;
  font-weight: 400 !important;
  color: #111 !important;
  line-height: 1.2 !important;
  border: none !important;
  padding: 0 !important;
}

/* Reviews */
.checkout_right_section .woocommerce-product-rating,
.checkout_right_section .reviews {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 15px !important;
  gap: 10px !important;
}

.checkout_right_section .star-rating {
  font-size: 14px !important;
  color: #f5c518 !important;
  width: 5.4em !important;
}

.checkout_right_section .star-rating span::before {
  color: #f5c518 !important;
}

.checkout_right_section .woocommerce-review-link,
.checkout_right_section .reviews span:last-child {
  margin-left: 5px !important;
  font-size: 14px !important;
  color: #000 !important;
  font-family: 'Poppins', sans-serif !important;
  text-decoration: none !important;
}

/* Price */
.checkout_right_section .price,
.checkout_right_section .price-new p {
  font-family: 'Poppins', sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  margin: 0 0 15px !important;
  line-height: 28px !important;
  color: #111 !important;
  display: block !important;
}

.checkout_right_section .price del {
  color: #aaa !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  margin-right: 8px !important;
}

.checkout_right_section .price ins {
  text-decoration: none !important;
  color: #111 !important;
}

/* Description */
.checkout_right_section .woocommerce-product-details__short-description,
.checkout_right_section .description {
  font-size: 14px !important;
  color: #A0A0A0 !important;
  line-height: 1.6 !important;
  margin-bottom: 20px !important;
  font-weight: 400 !important;
  font-family: 'Poppins', sans-serif !important;
}

.checkout_right_section .woocommerce-product-details__short-description p {
  margin: 0 0 8px !important;
  color: inherit !important;
  font-size: inherit !important;
}

/* =========================================================
   5. VARIATIONS (Product Options)
   ========================================================= */
.checkout_right_section .variations_form {
  margin-bottom: 20px !important;
}

.checkout_right_section .variations {
  width: 100% !important;
  border: none !important;
  border-collapse: collapse !important;
  margin-bottom: 16px !important;
}

.checkout_right_section .variations th,
.checkout_right_section .variations td {
  padding: 8px 0 !important;
  text-align: left !important;
  vertical-align: middle !important;
}

.checkout_right_section .variations label {
  display: block !important;
  margin-bottom: 8px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: #111 !important;
}

.checkout_right_section .variations select {
  width: 100% !important;
  max-width: 240px !important;
  padding: 8px 14px !important;
  border: 1px solid #ddd !important;
  background: #fff !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  color: #333 !important;
  cursor: pointer !important;
  transition: 0.3s !important;
  font-family: 'Poppins', sans-serif !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: 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='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  padding-right: 36px !important;
}

.checkout_right_section .variations select:hover {
  border-color: #010101 !important;
}

.checkout_right_section .reset_variations {
  font-size: 12px !important;
  color: #999 !important;
  text-decoration: none !important;
  margin-left: 10px !important;
}

/* =========================================================
   6. QUANTITY CONTROL
   ========================================================= */
.checkout_right_section .quantity {
  margin-bottom: 20px !important;
  display: block !important;
  border: none !important;
  width: auto !important;
  padding: 0 !important;
}

.checkout_right_section .quantity label {
  display: block !important;
  font-weight: 500 !important;
  margin-bottom: 8px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  color: #111 !important;
}

.checkout_right_section .quantity .quantity-control,
.checkout_right_section .quantity-control {
  display: flex !important;
  align-items: center !important;
}

.checkout_right_section .quantity button.qty-minus,
.checkout_right_section .quantity button.qty-plus,
.checkout_right_section .quantity button.minus,
.checkout_right_section .quantity button.plus {
  width: 35px !important;
  height: 35px !important;
  border: 1px solid #ddd !important;
  background: #fff !important;
  cursor: pointer !important;
  font-size: 18px !important;
  color: #111 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: 0.2s !important;
}

.checkout_right_section .quantity button:hover {
  background: #f5f5f5 !important;
  border-color: #aaa !important;
}

.checkout_right_section .quantity input.qty {
  width: 50px !important;
  height: 35px !important;
  text-align: center !important;
  border: 1px solid #ddd !important;
  margin: 0 5px !important;
  font-size: 16px !important;
  padding: 0 !important;
  color: #111 !important;
  -moz-appearance: textfield !important;
}

.checkout_right_section .quantity input.qty::-webkit-inner-spin-button,
.checkout_right_section .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* =========================================================
   7. ACTIONS (Add to Cart & Buy Now Buttons)
   ========================================================= */
.checkout_right_section form.cart {
  display: flex !important;
  flex-direction: row !important;
  gap: 15px !important;
  margin-top: 25px !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
}

.checkout_right_section form.cart button.single_add_to_cart_button,
.checkout_right_section form.cart .buy-now-button,
.checkout_right_section form.cart #buy-now-btn {
  flex: 1 !important;
  padding: 12px 20px !important;
  font-size: 16px !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: 0.3s !important;
  font-weight: 500 !important;
  text-align: center !important;
  text-decoration: none !important;
  height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Poppins', sans-serif !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Add to Cart - Styled like .add-to-cart-new */
.checkout_right_section form.cart button.single_add_to_cart_button {
  border: 1px solid #111 !important;
  background: #fff !important;
  color: #111 !important;
}

.checkout_right_section form.cart button.single_add_to_cart_button:hover {
  background: #111 !important;
  color: #fff !important;
}

.checkout_right_section form.cart button.single_add_to_cart_button::before {
  content: "\f07a" !important;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  margin-right: 8px !important;
}

/* Buy Now - Styled like .buy-now */
.checkout_right_section form.cart .buy-now-button,
.checkout_right_section form.cart #buy-now-btn {
  border: none !important;
  background: #111 !important;
  color: #fff !important;
}

.checkout_right_section form.cart .buy-now-button:hover,
.checkout_right_section form.cart #buy-now-btn:hover {
  background: #333 !important;
}

.checkout_right_section form.cart .buy-now-button::before,
.checkout_right_section form.cart #buy-now-btn::before {
  content: "\f290" !important;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  margin-right: 8px !important;
}

/* =========================================================
   8. TABS & DETAILED SECTIONS
   ========================================================= */
/* Hide entire tabs section (description + additional info) */
.single-product .woocommerce-tabs {
  display: none !important;
}

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

.single-product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
  display: block !important;
  padding: 12px 24px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #888 !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px !important;
  transition: color 0.2s, border-color 0.2s !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-family: 'Poppins', sans-serif !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover {
  color: #111 !important;
  border-bottom-color: #111 !important;
}

.single-product .woocommerce-tabs .panel {
  padding: 0 !important;
  border: none !important;
}

/* =========================================================
   9. CUSTOMER REVIEWS (Styled like .customer_review_section)
   ========================================================= */
.single-product #reviews {
  padding: 0 !important;
  margin: 20px 0 !important;
}

.single-product #reviews .woocommerce-Reviews-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #111 !important;
  margin-bottom: 24px !important;
  font-family: 'Poppins', sans-serif !important;
}

.single-product ol.commentlist {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 20px !important;
  padding: 0 !important;
  list-style: none !important;
  margin: 20px 0 !important;
}

.single-product ol.commentlist li.comment {
  background: #fff !important;
  padding: 20px !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  border: none !important;
}

.single-product ol.commentlist li.comment img.avatar {
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  margin-right: 15px !important;
  float: none !important;
}

.single-product ol.commentlist li.comment .comment-text {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.single-product ol.commentlist li.comment .comment-text .meta {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 8px !important;
}

.single-product ol.commentlist li.comment .comment-text .woocommerce-review__author {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #111 !important;
  font-family: 'Poppins', sans-serif !important;
}

.single-product ol.commentlist li.comment .comment-text .woocommerce-review__dash {
  display: none !important;
}

.single-product ol.commentlist li.comment .comment-text time {
  font-size: 12px !important;
  color: #aaa !important;
}

.single-product ol.commentlist li.comment .description {
  font-size: 14px !important;
  color: #555 !important;
  line-height: 1.7 !important;
  margin: 15px 0 0 0 !important;
  font-family: 'Poppins', sans-serif !important;
}

/* =========================================================
   10. RELATED PRODUCTS (Styled like .product_list_section)
   ========================================================= */
.single-product section.related.products,
.single-product .up-sells {
  padding: 50px 0 !important;
  background: #fff !important;
}

.single-product section.related.products h2,
.single-product .up-sells h2 {
  font-size: 28px !important;
  margin-bottom: 30px !important;
  font-family: 'Stangith', sans-serif !important;
  font-weight: 400 !important;
  border: none !important;
  color: #111 !important;
  padding: 0 !important;
}

.single-product section.related.products ul.products,
.single-product .up-sells ul.products {
  display: grid !important;
  gap: 20px !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.single-product section.related.products ul.products li.product,
.single-product .up-sells ul.products li.product {
  background: #fff !important;
  border: 1px solid #ddd !important;
  width: 100% !important;
  position: relative !important;
  text-align: center !important;
  transition: transform 0.3s ease !important;
  padding: 15px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-between !important;
  float: none !important;
  margin: 0 !important;
}

.single-product section.related.products ul.products li.product:hover,
.single-product .up-sells ul.products li.product:hover {
  transform: translateY(-5px) !important;
}

.single-product section.related.products ul.products li.product img,
.single-product .up-sells ul.products li.product img {
  max-width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  margin-bottom: 15px !important;
  border-radius: 6px !important;
}

.single-product section.related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .up-sells ul.products li.product .woocommerce-loop-product__title {
  font-size: 16px !important;
  margin: 10px 0 !important;
  font-weight: 500 !important;
  color: #111 !important;
  font-family: 'Poppins', sans-serif !important;
}

.single-product section.related.products ul.products li.product .price,
.single-product .up-sells ul.products li.product .price {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #111 !important;
  margin-bottom: 15px !important;
}

.single-product section.related.products ul.products li.product .button,
.single-product .up-sells ul.products li.product .button {
  background: #111 !important;
  color: #fff !important;
  border: none !important;
  padding: 8px 16px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  font-family: 'Poppins', sans-serif !important;
  display: inline-block !important;
}

.single-product section.related.products ul.products li.product .button:hover,
.single-product .up-sells ul.products li.product .button:hover {
  background: #333 !important;
}

/* Hide star ratings in related products */
.single-product section.related.products .review-rating,
.single-product section.related.products .star-rating,
.single-product .up-sells .review-rating,
.single-product .up-sells .star-rating,
.single-product section.related.products .woocommerce-product-rating,
.single-product .up-sells .woocommerce-product-rating {
  display: none !important;
}

/* Hide product category label in related products */
.single-product section.related.products .ast-woo-product-category,
.single-product .up-sells .ast-woo-product-category {
  display: none !important;
}

/* Make Add to Cart button full width in related products */
.single-product section.related.products ul.products li.product .button,
.single-product .up-sells ul.products li.product .button {
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  box-sizing: border-box !important;
}


/* =========================================================
   11. MOBILE / TABLET RESPONSIVE
   ========================================================= */

/* Tablet: stack gallery + summary */
@media (max-width: 900px) {
  .checout_main_div {
    flex-direction: column !important;
    gap: 32px !important;
  }

  .checkout_left_section,
  .checkout_right_section {
    width: 100% !important;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .checout_main_section {
    padding: 20px 10px !important;
  }

  .checkout_right_section h1.product_title.entry-title,
  .checkout_right_section h2 {
    font-size: 28px !important;
  }

  .checkout_right_section .price,
  .checkout_right_section .price-new p {
    font-size: 18px !important;
  }

  .checkout_right_section form.cart {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .checkout_right_section form.cart button.single_add_to_cart_button,
  .checkout_right_section form.cart .buy-now-button,
  .checkout_right_section form.cart #buy-now-btn {
    width: 100% !important;
  }

  .single-product .woocommerce-tabs ul.tabs {
    flex-direction: column !important;
  }

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

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