/**
 * Newrgy FAQ Plugin Frontend Styles - Themed Version
 * Typography standardized on YYYY-MM-DD: Important headers 18px, other text <= 16px.
 * Font sizes normalized for buttons, sidebar, databrief: YYYY-MM-DD
 */

/* Container */
.newrgy-faq-container {
  max-width: 1200px;
  margin: 0 auto;
  /* Use Roboto as the primary font */
  font-family: "Roboto", Arial, Helvetica, sans-serif;
  color: #2e2e2e;
  background-color: #f4f6f3;
}

/* Sections layout */
.newrgy-faq-sections {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  gap: 30px;
}

.newrgy-faq-section {
  flex: 3;
  min-width: 300px;
  background-color: #ffffff;
  border-radius: 8px;
  padding: 20px;
  order: 2;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.newrgy-faq-sidebar {
  flex: 1;
  min-width: 250px;
  background-color: #e9eee8;
  border-radius: 8px;
  padding: 20px;
  order: 1;
}

/* Section Headers (Common Style) */
.newrgy-faq-header h2,
.newrgy-copyright-header h2,
.newrgy-contact-header h2,
.newrgy-databrief-header h2 {
  font-size: 18px; /* Standardized size */
  color: #2e2e2e;
  margin: 0 0 20px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
  font-weight: 700; /* Bold titles */
}

/* FAQ Dropdown (Legacy) */
.newrgy-faq-dropdown {
  margin-bottom: 20px;
}

.newrgy-faq-select {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px; /* Keep <= 16px */
  background-color: #fff;
  color: #2e2e2e;
  /* Inherit font-family from container */
}

/* FAQ List (Legacy) */
.newrgy-faq-list {
  margin-top: 20px;
}

.newrgy-faq-item {
  margin-bottom: 10px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background-color: #fff;
  overflow: hidden;
}

.newrgy-faq-question {
  position: relative;
  padding: 15px 50px 15px 15px;
  cursor: pointer;
  background-color: #f0f2ef;
  transition: background-color 0.3s;
}

.newrgy-faq-question:hover {
  background-color: #e4e7e2;
}

.newrgy-faq-question h3 {
  margin: 0;
  font-size: 16px; /* Keep <= 16px */
  color: #2e2e2e;
  font-weight: 500; /* Medium weight for questions */
}

.newrgy-faq-toggle {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  display: block;
}

.newrgy-faq-toggle:before,
.newrgy-faq-toggle:after {
  content: "";
  position: absolute;
  background-color: #666;
  transition: transform 0.3s ease;
}

.newrgy-faq-toggle:before {
  top: 9px;
  left: 0;
  width: 100%;
  height: 2px;
}

.newrgy-faq-toggle:after {
  top: 0;
  left: 9px;
  width: 2px;
  height: 100%;
}

.newrgy-faq-item.active .newrgy-faq-toggle:after {
  transform: rotate(90deg);
}

.newrgy-faq-answer {
  padding: 0;
  height: 0;
  overflow: hidden;
  transition: padding 0.3s, height 0.3s;
}

.newrgy-faq-item.active .newrgy-faq-answer {
  padding: 15px;
  height: auto;
}

.newrgy-faq-answer p {
  margin-top: 0;
  color: #2e2e2e;
  font-size: 16px; /* Ensure body text is <= 16px */
  line-height: 1.6;
  /* Inherit font-family */
}

.newrgy-contact-info h3 {
  /* Optional heading within sidebar contact info */
  font-size: 18px; /* Standardized size - Ensure this applies if an h3 exists */
  color: #2e2e2e;
  margin: 0 0 15px 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #ddd;
  font-weight: 700; /* Bold title */
}

.newrgy-service-hours,
.newrgy-customer-service,
.newrgy-fax,
.newrgy-contact-email {
  margin-bottom: 15px;
}

/* Standardized Sidebar Font Sizes */
.newrgy-service-hours h4,
.newrgy-customer-service h4,
.newrgy-fax h4,
.newrgy-contact-email h4 {
  margin: 0 0 5px 0;
  font-size: 14px; /* Sidebar heading size */
  color: #2e2e2e;
  font-weight: 500; /* Medium weight */
}

.newrgy-service-hours p,
.newrgy-customer-service p,
.newrgy-fax p,
.newrgy-contact-email p {
  margin: 0;
  color: #444;
  font-size: 13px; /* Sidebar body size */
  line-height: 1.4;
  /* Inherit font-family */
}

/* Responsive Design */
@media (max-width: 768px) {
  .newrgy-faq-sections {
    flex-direction: column;
  }

  .newrgy-faq-section,
  .newrgy-faq-sidebar {
    width: 100%;
    order: initial;
  }
  /* No font-size adjustments needed here based on plan */
}

/* Language Switcher */
.newrgy-language-switcher {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  justify-content: flex-end;
}

/* Standardized Language Button Font Size */
.newrgy-language-button {
  padding: 8px 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: #f0f2ef;
  cursor: pointer;
  font-size: 14px; /* Language button size */
  text-decoration: none;
  color: #2e2e2e;
  transition: all 0.3s ease;
  /* Inherit font-family */
  font-weight: 500; /* Medium weight */
}

.newrgy-language-button:hover {
  background-color: #e4e7e2;
}

.newrgy-language-button.active {
  background-color: #bb1f35;
  color: white;
  border-color: #bb1f35;
  /* Font size remains 14px (no change on active state) */
}

/* Navigation Buttons */
.newrgy-nav-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 30px;
}

.newrgy-nav-button {
  display: block;
  padding: 12px 15px;
  background-color: #e4e7e2;
  color: #2e2e2e;
  text-align: center;
  text-decoration: none;
  border-radius: 6px;
  font-weight: 500; /* Medium weight */
  font-size: 16px; /* Standardized size <= 16px */
  transition: all 0.3s ease;
  /* Inherit font-family */
}

.newrgy-nav-button:hover {
  background-color: #d8dcd6;
  color: #2e2e2e;
}

.newrgy-nav-button.active {
  background-color: #bb1f35;
  color: white;
  font-size: 18px; /* Important active state text */
  font-weight: 700; /* Bold for active */
}

.newrgy-form-group {
  margin-bottom: 20px;
}

.newrgy-form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500; /* Medium weight */
  color: #2e2e2e;
  font-size: 16px; /* Ensure labels are <= 16px */
  /* Inherit font-family */
}

.newrgy-form-group input[type="email"],
.newrgy-form-group select,
.newrgy-form-group textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px; /* Keep <= 16px */
  background-color: #fff;
  color: #2e2e2e;
  box-sizing: border-box;
  /* Inherit font-family */
}

.newrgy-form-group textarea {
  resize: vertical;
  min-height: 120px;
}

.newrgy-upload-btn {
  display: inline-block;
  padding: 10px 20px;
  background-color: #f0f2ef;
  border: 1px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px; /* Keep <= 16px */
  color: #2e2e2e;
  transition: background-color 0.3s;
  /* Inherit font-family */
  font-weight: 500; /* Medium weight */
}

.newrgy-upload-btn:hover {
  background-color: #e4e7e2;
}

.newrgy-file-input {
  display: none;
}

.newrgy-file-name {
  display: inline-block;
  margin-left: 10px;
  font-size: 14px; /* Keep <= 16px */
  color: #666;
  /* Inherit font-family */
}

.newrgy-submit-btn {
  display: block;
  width: 100%;
  padding: 15px;
  background-color: #bb1f35;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 16px; /* Keep <= 16px */
  font-weight: 500; /* Medium weight */
  cursor: pointer;
  transition: background-color 0.3s;
  box-sizing: border-box;
  /* Inherit font-family */
}

.newrgy-submit-btn:hover {
  background-color: #a01b2e;
}

/* Copyright Section */
.newrgy-copyright-content {
  /* Container already styled by .newrgy-faq-section */
  line-height: 1.6;
  color: #2e2e2e;
  font-size: 16px; /* Ensure body text is <= 16px */
  /* Inherit font-family */
}

/* Required field styles */
.required-field {
  color: #e60000;
  font-weight: bold;
  margin-left: 3px;
}

/* Data Brief Section Styles */
.newrgy-databrief {
  /* Container already styled by .newrgy-faq-section */
  line-height: 1.7; /* Slightly more spacing for metrics */
}

/* Override header font specifically for Data Brief */
.newrgy-databrief-header h2 {
    font: 700 18px/1.3 'Roboto', sans-serif;
    /* This overrides the common font-size/weight from the grouped selector */
}

/* Unified Data Brief Font Size */
.newrgy-databrief p,
.newrgy-databrief .label,
.newrgy-databrief span[id^="nb-"] {
    font-size: 16px; /* Data Brief body size */
    /* Inherit line-height, font-family, color etc. from .newrgy-databrief or defaults */
}

.newrgy-databrief p {
  margin: 0 0 10px 0; /* Spacing between metric lines */
  color: #2e2e2e;
  /* font-size is handled by the unified rule above */
  /* Inherit font-family */
}

.newrgy-databrief .label {
  display: inline-block;
  min-width: 120px; /* Align values */
  font-weight: 500; /* Keep label slightly bolder than default */
  margin-right: 10px;
  /* font-size is handled by the unified rule above */
}

.newrgy-databrief span[id^="nb-"] {
  font-weight: 700; /* Bold for the metric value */
  color: #bb1f35; /* Highlight color for metrics */
  /* font-size is handled by the unified rule above */
}

.wbg-parent-wrapper {
  display: none !important;
}

/* Typography overrides – 2025-04-26 - REMOVED */
/* These global overrides were too broad and are now handled by specific class rules */

.newrgy-faq-container h1,
.newrgy-faq-container h2,
.newrgy-faq-container h3,
.newrgy-faq-container h4 { font-size: 18px !important; }

.newrgy-faq-container label,
.newrgy-faq-container select,
.newrgy-faq-container input,
.newrgy-faq-container textarea,
.newrgy-faq-container p,
.newrgy-faq-container button { font-size: 16px !important; }
