/**
 * AI Charter Elementor Global Overrides
 * Enforces institutional design system across all Elementor widgets
 * Removes marketing aesthetics, enforces grid-based layout
 */

/* ============================================
   GLOBAL ELEMENTOR RESETS
   ============================================ */

/* Remove all border-radius from Elementor widgets */
.elementor-widget-container,
.elementor-widget-wrap,
.elementor-container,
.elementor-button,
.elementor-button-wrapper .elementor-button,
.elementor-image img,
.elementor-widget-image img,
.elementor-video-container,
.elementor-widget-video,
.elementor-widget-icon,
.elementor-widget-icon-box,
.elementor-widget-testimonial,
.elementor-widget-tabs,
.elementor-widget-accordion,
.elementor-widget-toggle,
.elementor-widget-alert,
.elementor-widget-progress,
.elementor-widget-divider,
.elementor-widget-social-icons,
.elementor-widget-image-carousel,
.elementor-widget-image-gallery,
.elementor-widget-posts,
.elementor-widget-portfolio,
.elementor-widget-price-list,
.elementor-widget-price-table,
.elementor-widget-testimonial-carousel,
.elementor-widget-counter,
.elementor-widget-progress-tracker,
.elementor-widget-flip-box,
.elementor-widget-hotspot,
.elementor-widget-call-to-action,
.elementor-widget-countdown,
.elementor-widget-form,
.elementor-widget-form .elementor-field-group input,
.elementor-widget-form .elementor-field-group textarea,
.elementor-widget-form .elementor-field-group select,
.elementor-widget-form .elementor-button,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
textarea,
select {
  border-radius: 0 !important;
}

/* Remove shadows from all elements */
.elementor-widget-container,
.elementor-button,
.elementor-widget-image,
.elementor-widget-video,
.elementor-widget-icon-box,
.elementor-widget-testimonial,
.elementor-widget-tabs,
.elementor-widget-accordion,
.elementor-widget-alert,
.elementor-widget-price-table,
.elementor-widget-flip-box,
.elementor-widget-call-to-action,
.elementor-widget-form,
input[type="text"],
input[type="email"],
textarea,
select {
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}

/* Remove gradients */
.elementor-background-overlay,
.elementor-widget-container,
.elementor-button,
.elementor-widget-button {
  background-image: none !important;
}

/* ============================================
   BUTTON STYLING
   ============================================ */

.elementor-button,
.elementor-button-wrapper .elementor-button,
.elementor-widget-button .elementor-button {
  background-color: #1B4332 !important;
  color: white !important;
  border: 2px solid #1B4332 !important;
  padding: 1rem 2rem !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  transition: all 300ms ease-in-out !important;
}

.elementor-button:hover,
.elementor-button-wrapper .elementor-button:hover,
.elementor-widget-button .elementor-button:hover {
  background-color: #2D3436 !important;
  border-color: #2D3436 !important;
}

/* ============================================
   TYPOGRAPHY ENFORCEMENT
   ============================================ */

.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6,
h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}

.elementor-widget-text-editor p,
.elementor-widget-text-editor,
p {
  font-family: 'Inter', sans-serif !important;
  line-height: 1.8 !important;
  font-size: 1rem !important;
}

/* ============================================
   CONTAINER & LAYOUT
   ============================================ */

.elementor-container {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.elementor-section {
  padding: 6rem 2rem !important;
}

.elementor-row {
  display: grid !important;
  gap: 2rem !important;
}

/* Remove Elementor's default column margins */
.elementor-column {
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================
   COLOR ENFORCEMENT
   ============================================ */

.elementor-widget-container {
  color: #2D3436 !important;
}

/* ============================================
   FORM STYLING
   ============================================ */

.elementor-widget-form .elementor-field-group input,
.elementor-widget-form .elementor-field-group textarea,
.elementor-widget-form .elementor-field-group select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
textarea,
select {
  border: 1px solid #E8EAED !important;
  background-color: white !important;
  color: #2D3436 !important;
  padding: 0.75rem !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 1rem !important;
}

.elementor-widget-form .elementor-field-group input:focus,
.elementor-widget-form .elementor-field-group textarea:focus,
.elementor-widget-form .elementor-field-group select:focus,
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border-color: #1B4332 !important;
  box-shadow: none !important;
}

/* ============================================
   CARD & BOX STYLING
   ============================================ */

.elementor-widget-icon-box,
.elementor-widget-testimonial,
.elementor-widget-price-table,
.elementor-widget-flip-box {
  border: 1px solid #E8EAED !important;
  background-color: white !important;
  padding: 2rem !important;
}

/* ============================================
   ICON STYLING
   ============================================ */

.elementor-widget-icon i,
.elementor-icon,
.elementor-widget-icon-box .elementor-icon-box-icon i {
  color: #1B4332 !important;
  font-size: 2rem !important;
}

/* ============================================
   IMAGE STYLING
   ============================================ */

.elementor-widget-image img,
.elementor-image img,
img {
  border: 1px solid #E8EAED !important;
  display: block !important;
}

/* ============================================
   DIVIDER STYLING
   ============================================ */

.elementor-widget-divider .elementor-divider {
  border-color: #E8EAED !important;
  border-style: solid !important;
  border-width: 1px !important;
}

/* ============================================
   SPACING UTILITIES
   ============================================ */

.elementor-section {
  margin-bottom: 0 !important;
}

.elementor-widget-wrap {
  margin: 0 !important;
}

/* ============================================
   REMOVE MARKETING AESTHETICS
   ============================================ */

/* Remove hover effects that feel "marketing" */
.elementor-button:not(:hover),
.elementor-widget-button .elementor-button:not(:hover) {
  transform: none !important;
}

/* Remove animations */
.elementor-animated-content,
.elementor-animation {
  animation: none !important;
}

/* ============================================
   RESPONSIVE ADJUSTMENTS
   ============================================ */

@media (max-width: 768px) {
  .elementor-section {
    padding: 3rem 1.5rem !important;
  }

  .elementor-row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 480px) {
  .elementor-section {
    padding: 2rem 1rem !important;
  }

  .elementor-button,
  .elementor-button-wrapper .elementor-button {
    padding: 0.75rem 1.5rem !important;
  }
}

/* ============================================
   ACCESSIBILITY
   ============================================ */

.elementor-button:focus,
.elementor-button-wrapper .elementor-button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: 2px solid #1B4332 !important;
  outline-offset: 2px !important;
}

/* ============================================
   ELEMENTOR EDITOR OVERRIDES
   ============================================ */

.elementor-editor-active .elementor-widget-container {
  border-radius: 0 !important;
}
