/**
 * Theme Name:     Astra Child
 * Author:         Ahmed Sultanline
 * Template:       astra
 * Text Domain:	   astra-child
 * Description:    The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
 */

 a {
  text-decoration: none !important;
 }

.site-header {
  transition: all 0.3s ease;
  box-shadow: none;
}

.site-header.is-fixed {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  background-color: #377a00;
}

/* Make site-header same color as sections on all pages except homepage */
body:not(.home) .site-header {
  background-color: #377a00;
}

body:not(.home) .site-header.is-fixed {
  background-color: #377a00;
}

.woocommerce-breadcrumb {
  color: black;
}

/* Custom Product Page Styles */
.woocommerce .product {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

/* Product Layout - Match image and summary heights */
.woocommerce div.product {
  display: flex;
  gap: 40px;
  align-items: stretch;
}

.woocommerce .woocommerce-product-gallery {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.woocommerce .woocommerce-product-gallery__wrapper {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.woocommerce .summary.entry-summary {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
  height: 100%;
}

/* Ensure gallery and summary have equal height */
.woocommerce .woocommerce-product-gallery,
.woocommerce .summary.entry-summary {
  min-height: 400px;
}

/* Product Title */
.woocommerce .product_title {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #333;
}

/* Short Description */
.woocommerce .woocommerce-product-details__short-description {
  font-size: 16px;
  line-height: 20px;
  color: #666;
  max-width: 600px;
}

/* Price */
.woocommerce .price {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px;
}

.woocommerce .price .amount {
  font-size: 24px;
}

/* Custom Quantity Input */
.custom-quantity-wrapper {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  max-width: 150px;
}

.woocommerce-product-gallery__trigger {
  display: none;
}

.custom-quantity-wrapper .quantity-minus {
  width: 40px;
  height: 40px;
  border: 2px solid #ddd;
  border-right: none;
  background: #fff;
  color: #333;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px 0 0 4px;
}

.custom-quantity-wrapper .quantity-plus {
  width: 40px;
  height: 40px;
  border: 2px solid #ddd;
  border-left: none;
  background: #fff;
  color: #333;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 4px 4px 0;
}

.custom-quantity-wrapper .quantity-minus:hover,
.custom-quantity-wrapper .quantity-plus:hover {
  background: #f8f8f8;
}

.custom-quantity-wrapper input[type='number'] {
  width: 50px;
  height: 40px;
  text-align: center;
  border: 2px solid #ddd;
  border-left: none;
  border-right: none;
  font-size: 16px;
  font-weight: 600;
  background: #fff;
}

.custom-quantity-wrapper input[type='number']:focus {
  outline: none;
}

/* Shop/Category Page Layout */
.woocommerce.archive .products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.woocommerce.archive .product {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.woocommerce.archive .product:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.woocommerce.archive .product .product-wrapper {
  display: flex;
  align-items: stretch;
  min-height: 200px;
}

.woocommerce.archive .product .product-image {
  display: flex;
  flex-direction: row-reverse;
  width: 200px;
  flex-shrink: 0;
  overflow: hidden;
}

.woocommerce.archive .product .product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.woocommerce.archive .product:hover .product-image img {
  transform: scale(1.05);
}

.woocommerce.archive .product .product-info {
  flex: 1;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.woocommerce.archive .product .woocommerce-loop-product__title {
  font-size: 18px;
  font-weight: 600;
  color: #333;
  margin-bottom: 10px;
  line-height: 1.3;
}

.woocommerce.archive .product .price {
  font-size: 20px;
  font-weight: 700;
  margin: 10px 0;
}

.woocommerce.archive .product .product-add-to-cart {
  margin-top: auto;
}

.woocommerce.archive .product .add_to_cart_button {
  color: #fff;
  border: none;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 10px rgba(231, 76, 60, 0.3);
  width: 100%;
  text-align: center;
}

.woocommerce.archive .product .add_to_cart_button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(231, 76, 60, 0.4);
}

/* Remove default WooCommerce link wrapping */
.woocommerce.archive .product a:not(.add_to_cart_button) {
  text-decoration: none;
  color: inherit;
}

.woocommerce.archive .product .woocommerce-loop-product__link {
  display: none;
}

/* Large desktop adjustments */
@media (min-width: 1200px) {
  .woocommerce.archive .products {
    grid-template-columns: repeat(2, 1fr);
    max-width: 1000px;
  }
}

/* Sarbox Menu Page Styles */
.sarbox-subcategories {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.sarbox-subcategories .subcategory-title {
  font-size: 24px;
  font-weight: 600;
  color: #333;
  margin: 30px 0 20px 0;
  padding-bottom: 10px;
}

.sarbox-menu-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
  gap: 20px;
  margin-bottom: 40px;
}

/* Sarbox product card styling */
.sarbox-menu-grid .ast-grid-common-col {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.sarbox-menu-grid .ast-grid-common-col:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.sarbox-menu-grid .product-wrapper {
  background-color: white;
  padding: 10px;
  min-height: 200px;
}

.sarbox-product-info {
  flex: 1;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sarbox-product-info .woocommerce-loop-product__title {
  font-size: 18px;
  font-weight: 600;
  color: #333;
  margin: 0 0 10px 0;
  line-height: 1.3;
}

.sarbox-product-info .woocommerce-loop-product__title a {
  text-decoration: none;
  color: inherit;
  transition: color 0.3s ease;
}

.sarbox-product-info .ast-woo-product-category {
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
  display: block;
}

.sarbox-product-info .price {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 15px;
  display: block;
}

.sarbox-product-info .product-add-to-cart {
  margin-bottom: 15px;
}

.sarbox-product-info .ast-on-card-button {
  display: inline-flex;
  align-items: center;
  color: #fff;
  border: none;
  border-radius: 25px;
  padding: 10px 20px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(255, 107, 53, 0.3);
}

.sarbox-product-info .ast-on-card-button:hover {
  transform: translateY(-2px);
  box-shadow: lightgreen;
  color: #fff;
}

.sarbox-product-info .ast-card-action-tooltip {
  margin-right: 8px;
}

.sarbox-product-info .ahfb-svg-iconset {
  display: flex;
  align-items: center;
}

.sarbox-product-info .ast-icon.icon-bag svg {
  width: 16px;
  height: 16px;
  fill: #fff;
}

.sarbox-product-description {
  font-size: 14px;
  color: #666;
  line-height: 1.5;
  margin-top: 15px;
}

.sarbox-menu-grid .product-image {
  width: 200px;
  flex-shrink: 0;
  overflow: hidden;
}

.sarbox-menu-grid .product-image img {
  width: 100%;
  height: 100%;
  max-height: 300px;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.sarbox-menu-grid .ast-grid-common-col:hover .product-image img {
  transform: scale(1.05);
}

/* Mobile responsive for sarbox menu */
@media (max-width: 768px) {
  .sarbox-menu-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .sarbox-menu-grid .product-wrapper {
    flex-direction: row;
    min-height: auto;
  }

  .sarbox-product-info {
    padding: 15px;
  }

  .sarbox-menu-grid .product-image {
    width: 100%;
    height: 200px;
  }

  .sarbox-menu-grid .product-image img {
    height: 200px;
  }

  .sarbox-subcategories {
    padding: 15px;
  }

  .sarbox-subcategories .subcategory-title {
    font-size: 20px;
    margin: 20px 0 15px 0;
  }

  .woocommerce.archive .products {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 15px;
  }

  .woocommerce.archive .product .product-wrapper {
    flex-direction: column;
    min-height: auto;
  }

  .woocommerce.archive .product .product-image {
    width: 100%;
    height: 200px;
  }

  .woocommerce.archive .product .product-info {
    padding: 15px;
  }

  .woocommerce.archive .product .woocommerce-loop-product__title {
    font-size: 16px;
  }

  .woocommerce.archive .product .price {
    font-size: 18px;
  }

  /* Product page mobile adjustments */
  .woocommerce div.product {
    flex-direction: column;
    gap: 20px;
  }

  .woocommerce .woocommerce-product-gallery,
  .woocommerce .summary.entry-summary {
    min-height: auto;
  }

  .custom-quantity-wrapper {
    max-width: 120px;
  }

  .custom-quantity-wrapper .quantity-minus,
  .custom-quantity-wrapper .quantity-plus {
    width: 35px;
    height: 35px;
    font-size: 16px;
  }

  .custom-quantity-wrapper input[type='number'] {
    width: 40px;
    height: 35px;
    font-size: 14px;
  }

  .restaurant-products-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .product-card-content {
    flex-direction: column;
    gap: 15px;
    padding: 15px;
  }

  .product-card-image {
    width: 100%;
    height: 200px;
    align-self: center;
  }

  .product-plus-button {
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    font-size: 20px;
  }

  .restaurant-product-layout {
    flex-direction: column !important;
  }

  .restaurant-add-to-cart {
    width: 100%;
    min-width: auto;
  }

  .restaurant-category-title {
    font-size: 24px;
    margin-bottom: 15px;
  }
}

/* Restaurant Menu Styles */
.restaurant-menu {
  max-width: 1200px;
  margin: 0 auto;
}

/* Search Results Page */
.restaurant-search-header {
  margin-bottom: 30px;
  padding: 20px 0;
}

.restaurant-search-title {
  font-size: 28px;
  font-weight: 700;
  color: #333;
  margin-bottom: 10px;
}

.restaurant-search-title span {
  color: #377a00;
}

.restaurant-search-count {
  font-size: 16px;
  color: #666;
  margin: 0;
}

.restaurant-no-results {
  text-align: center;
  padding: 40px 20px;
}

.restaurant-no-results h2 {
  font-size: 24px;
  color: #333;
  margin-bottom: 15px;
}

.restaurant-no-results p {
  color: #666;
  margin-bottom: 20px;
}

.restaurant-pagination {
  margin-top: 30px;
  text-align: center;
}

.restaurant-pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.restaurant-pagination .page-numbers {
  display: inline-block;
  padding: 10px 15px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  color: #333;
  text-decoration: none;
  transition: all 0.3s ease;
}

.restaurant-pagination .page-numbers:hover,
.restaurant-pagination .page-numbers.current {
  background: #377a00;
  color: #fff;
  border-color: #377a00;
}

.restaurant-category {
  margin-bottom: 40px;
}

.restaurant-category-title {
  font-size: 28px;
  font-weight: 700;
  color: #333;
  margin-bottom: 20px;
  padding-bottom: 10px;
}

.restaurant-products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

/* Restaurant Product Card */
.restaurant-product-card {
  max-height: 200px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: all 0.3s ease;
  border: 1px solid #f0f0f0;
}

.restaurant-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.product-card-content {
  display: flex !important;
  flex-direction: row !important;
  padding: 20px;
  gap: 20px;
  align-items: flex-start;
}

.product-card-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.product-card-info .add-to-cart-bottom {
  margin-top: auto;
  align-self: flex-start;
}

.product-title {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  line-height: 1.3;
}

.product-title a {
  text-decoration: none;
  color: inherit;
  transition: color 0.2s ease;
}

.product-title a:hover {
}

.product-price {
  font-size: 20px;
  font-weight: 700;
  margin: 5px 0;
}

.product-description {
  font-size: 14px;
  color: #666;
  line-height: 1.5;
  margin-top: 8px;
}

.product-card-image {
  position: relative;
  width: 120px;
  height: 120px;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 8px;
}

.product-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.restaurant-product-card:hover .product-card-image img {
  transform: scale(1.05);
}

.product-plus-button {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 32px;
  height: 32px;
  color: #fff;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 2px 10px rgba(255, 107, 53, 0.3);
  transition: all 0.3s ease;
  z-index: 2;
}

.product-plus-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(255, 107, 53, 0.4);
}

/* .product-card-bottom {
    padding: 0 20px 20px 20px;
} */

.add-to-cart-bottom {
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 10px 10px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  display: inline-block;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(255, 107, 53, 0.2);
  min-width: 120px;
}

.add-to-cart-bottom:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3);
  color: #fff;
}

/* Single Product Page Styles */
.restaurant-single-product {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.restaurant-product-layout {
  display: flex;
  flex-direction: row;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
}

.product-image-section {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Product gallery image sizing */
.woocommerce-product-gallery__wrapper {
  width: 100% !important;
  max-width: 500px !important;
  height: 500px !important;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.woocommerce-product-gallery__wrapper img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  max-width: 500px !important;
  max-height: 500px !important;
}

/* Mobile gallery sizing */
@media (max-width: 768px) {
  .woocommerce-product-gallery__wrapper {
    max-width: 400px !important;
    height: 400px !important;
  }
  
  .woocommerce-product-gallery__wrapper img {
    max-width: 400px !important;
    max-height: 400px !important;
  }
}

.product-info-section {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  background-color: #D3D3D3;
  overflow-y: auto;
  max-height: 100%;
}

@media (min-width: 769px) {
  .woocommerce-product-gallery {
    height: 500px;
  }
  .restaurant-product-layout {
    gap: 40px;
    align-items: stretch;
    display: flex;
    height: 500px;
  }
  
  .product-image-section,
  .product-info-section {
    height: 500px;
    flex: 1;
  }
  
  .product-info-section {
    overflow-y: auto;
    padding: 20px;
  }
}

/* Hide duplicate short description under breadcrumbs */
.woocommerce-breadcrumb + .woocommerce-product-details__short-description,
.woocommerce-product-details__short-description:first-child {
  display: none;
}

/* Related Products Carousel */
.related-products-carousel {
  position: relative;
  margin: 30px auto;
  background-color: #f5f5f5;
  padding: 20px;
  border-radius: 12px;
  max-width: 1200px;
}

.slider-header {
  text-align: center;
  margin-bottom: 20px;
}

.slider-header h2 {
  font-size: 24px;
  font-weight: 700;
  color: #333;
  margin-bottom: 8px;
}

.slider-description {
  font-size: 16px;
  color: #666;
  margin: 0;
}

.carousel-container {
  position: relative;
  overflow: hidden;
}

.carousel-track {
  display: flex;
  gap: 20px;
  transition: transform 0.5s ease;
  will-change: transform;
}

.carousel-track .restaurant-product-card {
  flex: 0 0 calc(50% - 10px);
  min-width: 0;
  max-width: calc(50% - 10px);
}

/* Mobile: 1 card per row */
@media (max-width: 768px) {
  .carousel-track .restaurant-product-card {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Small mobile screens (up to 575px) */
@media (max-width: 575px) {
  /* Product card grid on archive pages */
  .woocommerce.archive .products {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 10px;
  }
  
  /* Product card text sizes - 16px title, 12px price */
  .restaurant-product-card .product-title,
  .restaurant-product-card .product-title a {
    font-size: 16px !important;
    line-height: 1.3;
  }
  
  .restaurant-product-card .product-price {
    font-size: 12px !important;
  }
  
  .restaurant-product-card .product-price .amount,
  .restaurant-product-card .product-price .woocommerce-Price-amount {
    font-size: 12px !important;
  }
  
  /* Carousel cards */
  .carousel-track .restaurant-product-card {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Tablet and mobile (up to 768px) - single column */
@media (max-width: 768px) {
  /* Archive pages - single column grid */
  .woocommerce.archive .products,
  .restaurant-products-grid {
    grid-template-columns: 1fr !important;
    gap: 15px;
    padding: 10px;
  }
  
  /* Product card adjustments */
  .restaurant-product-card {
    max-height: none;
  }
  
  /* Font size adjustments for screens 576-768px */
  .restaurant-product-card .product-title,
  .restaurant-product-card .product-title a {
    font-size: 17px;
    line-height: 1.3;
  }
  
  .restaurant-product-card .product-price {
    font-size: 13px;
  }
}

/* iOS and Android compatibility */
@media (max-width: 768px) {
  /* Touch-friendly tap targets (44px minimum for accessibility) */
  .restaurant-product-card .add-to-cart-bottom,
  .restaurant-product-card .button,
  .carousel-prev,
  .carousel-next {
    min-height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  /* Smooth scrolling for mobile */
  .carousel-container {
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
  }
  
  /* Prevent text zoom on iOS when focusing inputs */
  .restaurant-product-card input,
  .restaurant-product-card button,
  .restaurant-product-card select {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
  }
  
  /* Disable double-tap zoom on buttons */
  .carousel-prev,
  .carousel-next,
  .add-to-cart-bottom,
  .product-plus-button {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  
  /* Improve touch response */
  .restaurant-product-card a,
  .restaurant-product-card button {
    touch-action: manipulation;
  }
}

/* Shortcode specific styles */
.product-slider-shortcode .carousel-track .restaurant-product-card {
  flex: 0 0 calc(50% - 10px);
  max-width: calc(50% - 10px);
}

@media (max-width: 768px) {
  .product-slider-shortcode .carousel-track .restaurant-product-card {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.carousel-prev,
.carousel-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  font-size: 0;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-prev::before,
.carousel-next::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
}

.carousel-prev::before {
  transform: translate(-60%, -50%);
  border-width: 6px 10px 6px 0;
  border-color: transparent #555 transparent transparent;
}

.carousel-next::before {
  transform: translate(-40%, -50%);
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #555;
}

.carousel-prev:hover,
.carousel-next:hover {
  transform: translateY(-50%) scale(1.1);
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.carousel-prev:hover::before {
  border-color: transparent #333 transparent transparent;
}

.carousel-next:hover::before {
  border-color: transparent transparent transparent #333;
}

.carousel-prev {
  left: 10px;
}

.carousel-next {
  right: 10px;
}

.carousel-prev.disabled,
.carousel-next.disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* Custom Quantity Styles */
.restaurant-quantity-wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  margin: 20px 0;
}

.quantity-stepper {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 2px solid #e9ecef;
  border-radius: 12px;
  padding: 8px;
  background: #fff;
}

.quantity-btn {
  width: 40px;
  height: 40px;
  border: none;
  background: #f8f9fa;
  border-radius: 8px;
  cursor: pointer;
  font-size: 20px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  color: #333;
}

.quantity-btn:hover:not(.disabled) {
  background: #e9ecef;
  transform: scale(1.05);
}

.quantity-btn.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.quantity-display {
  min-width: 50px;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  color: #333;
}

.restaurant-add-to-cart {
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 15px 30px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: lightgreen;
  min-width: 200px;
}

.restaurant-add-to-cart:hover {
  transform: translateY(-2px);
  box-shadow: lightgreen;
  color: #fff;
}

/* Hide real quantity input */
.hidden-quantity {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  height: 0;
  width: 0;
}

@media (min-width: 769px) and (max-width: 1024px) {
  .restaurant-products-grid {
    gap: 18px;
  }

  .restaurant-product-layout {
    gap: 30px;
  }

  .product-card-image {
    width: 100px;
    height: 100px;
  }

  .woocommerce.archive .products {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }

  .woocommerce.archive .product .product-image {
    width: 180px;
  }

  .woocommerce.archive .product .product-info {
    padding: 15px;
  }

  /* Product page tablet adjustments */
  .woocommerce div.product {
    gap: 30px;
  }
}

/* Add to Cart Button */
.woocommerce .single_add_to_cart_button {
  color: #fff;
  border: none;
  padding: 15px 40px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
  box-shadow: 0 4px 15px rgba(231, 76, 60, 0.3);
}

.woocommerce .single_add_to_cart_button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(231, 76, 60, 0.4);
}

.woocommerce .single_add_to_cart_button:active {
  transform: translateY(0);
}

/* Remove Product Meta (Category) */
.woocommerce .product_meta {
  display: none !important;
}

/* Related Products */
.woocommerce .related.products {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 2px solid #eee;
}

.woocommerce .related.products h2 {
  font-size: 24px;
  font-weight: 600;
  color: #333;
  margin-bottom: 15px;
  text-align: center;
}

.woocommerce .related.products .related-products-description {
  text-align: center;
  color: #666;
  font-size: 16px;
  margin-bottom: 30px;
}

.woocommerce .related.products ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

.woocommerce .related.products .product {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 15px;
  text-align: center;
  transition: all 0.3s ease;
}

.woocommerce .related.products .product:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* Responsive Design */
@media (max-width: 768px) {
  .woocommerce .product {
    padding: 15px;
  }

  .woocommerce .product_title {
    font-size: 24px;
  }

  .woocommerce .price {
    font-size: 20px;
  }

  .custom-quantity-wrapper {
    max-width: 120px;
  }

  .custom-quantity-wrapper .quantity-minus,
  .custom-quantity-wrapper .quantity-plus {
    width: 35px;
    height: 35px;
    font-size: 16px;
  }

  .custom-quantity-wrapper input[type='number'] {
    width: 40px;
    height: 35px;
    font-size: 14px;
  }

  .woocommerce .single_add_to_cart_button {
    padding: 12px 30px;
    font-size: 14px;
    max-width: 240px;
  }

  .carousel-track {
    grid-template-columns: 1fr;
  }
  
  
  .carousel-prev {
    left: -10px;
  }
  
  .carousel-next {
    right: -10px;
  }

  /* Custom Quantity Styles */
.restaurant-quantity-wrapper {
  display: flex;
  flex-direction: column
}
}
