/* ==========================================================================
   System Rainbow - Subpages Global Styles
   Consistent look for ALL non-homepage pages (Elementor, WooCommerce, SEO)
   ========================================================================== */

/* --- Page Header Banner --- */
.sr-page-header {
  background: linear-gradient(135deg, var(--sr-primary-light) 0%, #f0f9fd 50%, #e8f7fc 100%);
  padding: var(--sr-space-3xl) 0 var(--sr-space-2xl);
  text-align: center;
  position: relative;
}

.sr-page-header::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 40px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40'%3E%3Cpath fill='%23ffffff' d='M0,30 C360,50 720,10 1440,30 L1440,40 L0,40 Z'/%3E%3C/svg%3E") no-repeat bottom center;
  background-size: cover;
}

.sr-page-header__title {
  font-family: var(--sr-font-primary);
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: var(--sr-font-weight-bold);
  color: var(--sr-dark);
  margin: 0;
  line-height: var(--sr-line-height-tight);
}

.sr-page-header__subtitle {
  font-family: var(--sr-font-primary);
  font-size: var(--sr-font-size-lg);
  color: var(--sr-gray-600);
  margin: var(--sr-space-sm) 0 0;
  line-height: var(--sr-line-height-relaxed);
}

/* --- Global Page Content Area --- */
.site-content,
#content,
.ast-container {
  font-family: var(--sr-font-primary);
}

/* Astra page title override - apply our style to existing Astra titles */
.ast-archive-description .page-title,
.entry-title,
.page-title,
.woocommerce-products-header__title {
  font-family: var(--sr-font-primary) !important;
  font-weight: var(--sr-font-weight-bold) !important;
  color: var(--sr-dark) !important;
  font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
}

/* --- Elementor Page Overrides --- */

/* Elementor sections - tighter, cleaner */
.elementor-section {
  font-family: var(--sr-font-primary);
}

/* Elementor headings */
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--sr-font-primary) !important;
  color: var(--sr-dark);
}

.elementor-widget-heading .elementor-heading-title.elementor-size-large {
  font-weight: var(--sr-font-weight-bold);
}

.elementor-widget-heading .elementor-heading-title.elementor-size-medium {
  font-weight: var(--sr-font-weight-semibold);
}

/* Elementor text */
.elementor-widget-text-editor {
  font-family: var(--sr-font-primary);
  font-size: var(--sr-font-size-base);
  color: var(--sr-gray-700);
  line-height: var(--sr-line-height-relaxed);
}

.elementor-widget-text-editor h2 {
  font-family: var(--sr-font-primary);
  font-size: var(--sr-font-size-2xl);
  font-weight: var(--sr-font-weight-bold);
  color: var(--sr-dark);
  margin: var(--sr-space-xl) 0 var(--sr-space-md);
}

.elementor-widget-text-editor h3 {
  font-family: var(--sr-font-primary);
  font-size: var(--sr-font-size-xl);
  font-weight: var(--sr-font-weight-semibold);
  color: var(--sr-dark);
  margin: var(--sr-space-lg) 0 var(--sr-space-sm);
}

.elementor-widget-text-editor p {
  margin: 0 0 var(--sr-space-md);
}

.elementor-widget-text-editor a {
  color: var(--sr-primary);
  text-decoration: none;
  font-weight: var(--sr-font-weight-medium);
  transition: color var(--sr-transition-fast);
}

.elementor-widget-text-editor a:hover {
  color: var(--sr-primary-dark);
  text-decoration: underline;
}

.elementor-widget-text-editor strong {
  color: var(--sr-dark);
  font-weight: var(--sr-font-weight-semibold);
}

.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol {
  padding-left: var(--sr-space-xl);
  margin: 0 0 var(--sr-space-md);
}

.elementor-widget-text-editor li {
  margin-bottom: var(--sr-space-xs);
  line-height: var(--sr-line-height-relaxed);
}

/* Elementor images - rounded corners */
.elementor-widget-image img {
  border-radius: var(--sr-radius-lg);
}

/* Elementor buttons - match our design */
.elementor-button {
  font-family: var(--sr-font-primary) !important;
  font-weight: var(--sr-font-weight-semibold) !important;
  border-radius: var(--sr-radius-md) !important;
  transition: all var(--sr-transition-base) !important;
}

/* Elementor icon-box */
.elementor-widget-icon-box .elementor-icon-box-title {
  font-family: var(--sr-font-primary);
  font-weight: var(--sr-font-weight-semibold);
  color: var(--sr-dark);
}

.elementor-widget-icon-box .elementor-icon-box-description {
  font-family: var(--sr-font-primary);
  color: var(--sr-gray-600);
  line-height: var(--sr-line-height-relaxed);
}

/* Elementor icon colors */
.elementor-widget-icon-box .elementor-icon i,
.elementor-widget-icon-box .elementor-icon svg {
  color: var(--sr-primary);
  fill: var(--sr-primary);
}

/* Elementor divider */
.elementor-widget-divider .elementor-divider-separator {
  border-top-color: var(--sr-gray-200);
}

/* --- WPForms (Contact) Overrides --- */
.wpforms-container .wpforms-form {
  font-family: var(--sr-font-primary);
}

.wpforms-container .wpforms-form .wpforms-field-label {
  font-family: var(--sr-font-primary);
  font-weight: var(--sr-font-weight-semibold);
  color: var(--sr-dark);
  font-size: var(--sr-font-size-sm);
}

.wpforms-container .wpforms-form input[type="text"],
.wpforms-container .wpforms-form input[type="email"],
.wpforms-container .wpforms-form input[type="tel"],
.wpforms-container .wpforms-form textarea,
.wpforms-container .wpforms-form select {
  font-family: var(--sr-font-primary);
  border: 1px solid var(--sr-gray-300);
  border-radius: var(--sr-radius-md);
  padding: 12px 16px;
  font-size: var(--sr-font-size-base);
  transition: border-color var(--sr-transition-fast), box-shadow var(--sr-transition-fast);
}

.wpforms-container .wpforms-form input:focus,
.wpforms-container .wpforms-form textarea:focus,
.wpforms-container .wpforms-form select:focus {
  border-color: var(--sr-primary);
  box-shadow: 0 0 0 3px rgba(26, 183, 234, 0.15);
  outline: none;
}

.wpforms-container .wpforms-form .wpforms-submit-container button {
  background: linear-gradient(135deg, var(--sr-secondary) 0%, var(--sr-secondary-dark) 100%) !important;
  color: var(--sr-white) !important;
  font-family: var(--sr-font-primary) !important;
  font-weight: var(--sr-font-weight-semibold) !important;
  padding: 14px 32px !important;
  border-radius: var(--sr-radius-md) !important;
  border: none !important;
  cursor: pointer;
  transition: all var(--sr-transition-base) !important;
  box-shadow: 0 4px 15px rgba(101, 172, 50, 0.3);
}

.wpforms-container .wpforms-form .wpforms-submit-container button:hover {
  background: linear-gradient(135deg, var(--sr-secondary-dark) 0%, #3d7a1c 100%) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(101, 172, 50, 0.4);
}

/* --- Generic Content Styling --- */

/* All non-Elementor pages (default WP content) */
.entry-content,
.page-content {
  font-family: var(--sr-font-primary);
  font-size: var(--sr-font-size-base);
  color: var(--sr-gray-700);
  line-height: var(--sr-line-height-relaxed);
}

.entry-content h1,
.entry-content h2,
.page-content h1,
.page-content h2 {
  font-family: var(--sr-font-primary);
  font-weight: var(--sr-font-weight-bold);
  color: var(--sr-dark);
  line-height: var(--sr-line-height-tight);
}

.entry-content h3,
.entry-content h4,
.page-content h3,
.page-content h4 {
  font-family: var(--sr-font-primary);
  font-weight: var(--sr-font-weight-semibold);
  color: var(--sr-dark);
}

.entry-content a,
.page-content a {
  color: var(--sr-primary);
  text-decoration: none;
  transition: color var(--sr-transition-fast);
}

.entry-content a:hover,
.page-content a:hover {
  color: var(--sr-primary-dark);
  text-decoration: underline;
}

/* --- Breadcrumbs (Astra) --- */
.ast-breadcrumbs {
  font-family: var(--sr-font-primary);
  font-size: var(--sr-font-size-xs);
  color: var(--sr-gray-500);
}

.ast-breadcrumbs a {
  color: var(--sr-primary);
  text-decoration: none;
}

.ast-breadcrumbs a:hover {
  color: var(--sr-primary-dark);
}

/* --- Sidebar Widgets --- */
.widget {
  font-family: var(--sr-font-primary);
}

.widget-title {
  font-family: var(--sr-font-primary) !important;
  font-weight: var(--sr-font-weight-bold) !important;
  color: var(--sr-dark) !important;
  font-size: var(--sr-font-size-lg) !important;
  margin-bottom: var(--sr-space-md) !important;
  padding-bottom: var(--sr-space-sm);
  border-bottom: 2px solid var(--sr-primary-light);
}

/* --- Responsive --- */
@media (max-width: 767px) {
  .sr-page-header {
    padding: var(--sr-space-2xl) 0 var(--sr-space-lg);
  }

  .sr-page-header::after {
    height: 24px;
  }
}
