/* Start custom CSS for shortcode, class: .elementor-element-27a2ca5 *//* ==================================================
   EVORIA JEWELS - STRICT RESPONSIVE GRID LAYOUT
   ================================================== */

/* 1. MAIN WRAPPER & CONTAINER */
.elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-shop-wrapper {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 20px 15px 60px !important;
  width: 100% !important;
}

/* 2. SIDEBAR + MAIN GRID LAYOUT (PC VIEW) */
.elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-shop-container {
  display: grid !important;
  grid-template-columns: 260px 1fr !important;
  gap: 30px !important;
  align-items: start !important;
}

/* 3. PRODUCT GRID - STRICT 3-COLUMNS ON PC */
.elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-shop-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
}

/* 4. PRODUCT CARD CONSTRAINTS & IMAGE SIZING */
.elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-card {
  background: #ffffff !important;
  border: 1px solid #e8e4dc !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-card-media {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}

.elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-card-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* 5. TABLET RESPONSIVENESS (Max 1024px) */
@media (max-width: 1024px) {
  .elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-shop-container {
    grid-template-columns: 220px 1fr !important;
    gap: 20px !important;
  }
  
  .elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-shop-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}

/* 6. MOBILE RESPONSIVENESS - STRICT 2-COLUMNS ON MOBILE (Max 767px) */
@media (max-width: 767px) {
  .elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-shop-container {
    grid-template-columns: 1fr !important;
  }

  .elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-sidebar {
    display: none !important; /* Hides sidebar on mobile; toggle via filter button */
  }

  .elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-sidebar.active {
    display: block !important;
    margin-bottom: 20px !important;
  }

  .elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-mobile-filter-btn {
    display: inline-block !important;
  }

  .elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-shop-grid {
    grid-template-columns: repeat(2, 1fr) !important; /* 2 columns for mobile view */
    gap: 12px !important;
  }

  .elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-card-body {
    padding: 12px 10px !important;
  }

  .elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-prod-title {
    font-size: 0.82rem !important;
    min-height: 2.4em !important;
  }

  .elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-price-curr {
    font-size: 0.95rem !important;
  }

  .elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-btn-bag {
    font-size: 0.75rem !important;
    height: 36px !important;
    padding: 0 8px !important;
  }

  .elementor-361 .elementor-element.elementor-element-27a2ca5 .ev-btn-quick {
    width: 36px !important;
    height: 36px !important;
  }
}/* End custom CSS */