/**
 * Frontend Styles
 * Custom Elementor Widgets
 * 
 * Note: Widget-specific CSS files are loaded separately via wp_enqueue_style
 * This file contains only shared/global styles.
 */

/* General styles */
.cew-elementor-editor-placeholder {
  padding: 20px;
  background-color: #f5f5f5;
  border: 2px dashed #ddd;
  text-align: center;
}

.cew-elementor-editor-placeholder-title {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 600;
}

.cew-elementor-editor-placeholder-content {
  margin: 0;
  font-size: 14px;
  color: #666;
}

/* Elementor Grid System (shared across widgets) */
.cew-elementor-grid,
.trx-addons-elementor-grid {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.cew-elementor-grid .cew-grid-item,
.trx-addons-elementor-grid .trx-addons-grid-item {
  position: relative;
}

.cew-elementor-grid .cew-grid-item-wrap,
.trx-addons-elementor-grid .trx-addons-grid-item-wrap {
  float: left;
  margin-bottom: 0;
  margin-left: 0;
  box-sizing: border-box;
  transition: background 0.2s ease;
}

/* 1 column - always full width */
.elementor-element.elementor-grid-1 .cew-elementor-grid .cew-grid-item-wrap,
.elementor-element.elementor-grid-1 .trx-addons-elementor-grid .trx-addons-grid-item-wrap {
  width: 100%;
}

/* Desktop (768px+) */
@media only screen and (min-width: 768px) {
  .elementor-element.elementor-grid-2 .cew-elementor-grid .cew-grid-item-wrap,
  .elementor-element.elementor-grid-2 .trx-addons-elementor-grid .trx-addons-grid-item-wrap {
    width: 50%;
  }
  
  .elementor-element.elementor-grid-2 .cew-elementor-grid .cew-grid-item-wrap:nth-of-type(2n),
  .elementor-element.elementor-grid-2 .trx-addons-elementor-grid .trx-addons-grid-item-wrap:nth-of-type(2n) {
    margin-right: 0 !important;
  }
  
  .elementor-element.elementor-grid-2 .cew-elementor-grid .cew-grid-item-wrap:nth-of-type(2n+1),
  .elementor-element.elementor-grid-2 .trx-addons-elementor-grid .trx-addons-grid-item-wrap:nth-of-type(2n+1) {
    clear: left;
  }

  /* Desktop - 3 columns */
  .elementor-element.elementor-grid-3 .cew-elementor-grid .cew-grid-item-wrap,
  .elementor-element.elementor-grid-3 .trx-addons-elementor-grid .trx-addons-grid-item-wrap {
    width: 33.3333%;
  }
  
  .elementor-element.elementor-grid-3 .cew-elementor-grid .cew-grid-item-wrap:nth-of-type(3n),
  .elementor-element.elementor-grid-3 .trx-addons-elementor-grid .trx-addons-grid-item-wrap:nth-of-type(3n) {
    margin-right: 0 !important;
  }
  
  .elementor-element.elementor-grid-3 .cew-elementor-grid .cew-grid-item-wrap:nth-of-type(3n+1),
  .elementor-element.elementor-grid-3 .trx-addons-elementor-grid .trx-addons-grid-item-wrap:nth-of-type(3n+1) {
    clear: left;
  }

  /* Desktop - 4 columns */
  .elementor-element.elementor-grid-4 .cew-elementor-grid .cew-grid-item-wrap,
  .elementor-element.elementor-grid-4 .trx-addons-elementor-grid .trx-addons-grid-item-wrap {
    width: 25%;
  }
  
  .elementor-element.elementor-grid-4 .cew-elementor-grid .cew-grid-item-wrap:nth-of-type(4n),
  .elementor-element.elementor-grid-4 .trx-addons-elementor-grid .trx-addons-grid-item-wrap:nth-of-type(4n) {
    margin-right: 0 !important;
  }
  
  .elementor-element.elementor-grid-4 .cew-elementor-grid .cew-grid-item-wrap:nth-of-type(4n+1),
  .elementor-element.elementor-grid-4 .trx-addons-elementor-grid .trx-addons-grid-item-wrap:nth-of-type(4n+1) {
    clear: left;
  }

  /* Desktop - 5 columns */
  .elementor-element.elementor-grid-5 .cew-elementor-grid .cew-grid-item-wrap,
  .elementor-element.elementor-grid-5 .trx-addons-elementor-grid .trx-addons-grid-item-wrap {
    width: 20%;
  }

  /* Desktop - 6 columns */
  .elementor-element.elementor-grid-6 .cew-elementor-grid .cew-grid-item-wrap,
  .elementor-element.elementor-grid-6 .trx-addons-elementor-grid .trx-addons-grid-item-wrap {
    width: 16.6667%;
  }
}

/* Tablet (max 1024px) */
@media only screen and (max-width: 1024px) {
  .elementor-element.elementor-grid-tablet-1 .cew-elementor-grid .cew-grid-item-wrap,
  .elementor-element.elementor-grid-tablet-1 .trx-addons-elementor-grid .trx-addons-grid-item-wrap {
    width: 100%;
  }

  .elementor-element.elementor-grid-tablet-2 .cew-elementor-grid .cew-grid-item-wrap,
  .elementor-element.elementor-grid-tablet-2 .trx-addons-elementor-grid .trx-addons-grid-item-wrap {
    width: 50%;
  }

  .elementor-element.elementor-grid-tablet-3 .cew-elementor-grid .cew-grid-item-wrap,
  .elementor-element.elementor-grid-tablet-3 .trx-addons-elementor-grid .trx-addons-grid-item-wrap {
    width: 33.3333%;
  }

  .elementor-element.elementor-grid-tablet-4 .cew-elementor-grid .cew-grid-item-wrap,
  .elementor-element.elementor-grid-tablet-4 .trx-addons-elementor-grid .trx-addons-grid-item-wrap {
    width: 25%;
  }
}

/* Mobile (max 767px) */
@media only screen and (max-width: 767px) {
  .elementor-element.elementor-grid-mobile-1 .cew-elementor-grid .cew-grid-item-wrap,
  .elementor-element.elementor-grid-mobile-1 .trx-addons-elementor-grid .trx-addons-grid-item-wrap {
    width: 100% !important;
  }

  .elementor-element.elementor-grid-mobile-2 .cew-elementor-grid .cew-grid-item-wrap,
  .elementor-element.elementor-grid-mobile-2 .trx-addons-elementor-grid .trx-addons-grid-item-wrap {
    width: 50%;
  }

  .elementor-element.elementor-grid-mobile-3 .cew-elementor-grid .cew-grid-item-wrap,
  .elementor-element.elementor-grid-mobile-3 .trx-addons-elementor-grid .trx-addons-grid-item-wrap {
    width: 33.3333%;
  }
}
