/* =================================================================
   RM Roof Damage Cost Calculator v1.3
   Scoped under .rmrdc — all critical properties use !important
   to defeat theme overrides.
   ================================================================= */

/* ---- Universal reset inside .rmrdc ---- */
.rmrdc, .rmrdc *, .rmrdc *::before, .rmrdc *::after {
  box-sizing: border-box !important;
  margin: 0; padding: 0; border: 0;
  outline: none; font-family: inherit !important; font-size: inherit;
  line-height: inherit; color: inherit;
  text-decoration: none !important; vertical-align: baseline;
  -webkit-font-smoothing: antialiased;
}

.rmrdc h1, .rmrdc h2, .rmrdc h3 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 700 !important; line-height: 1.25 !important;
  letter-spacing: normal !important; text-transform: none !important;
  margin: 0 !important; padding: 0 !important;
  border: none !important; background: none !important;
}
.rmrdc p {
  font-weight: 400 !important; margin: 0 !important; padding: 0 !important;
}
.rmrdc label { display: block; font-weight: 500; margin: 0; padding: 0; }
.rmrdc select { font-family: inherit; background-image: none; }
.rmrdc button { font-family: inherit; cursor: pointer; border: none; background: none; }
.rmrdc input[type="checkbox"] { margin: 0; padding: 0; }
.rmrdc span { font-weight: inherit; }

/* ---- Elementor isolation ---- */
.elementor-widget-text-editor .rmrdc,
.elementor-widget-shortcode .rmrdc,
.elementor-shortcode .rmrdc,
.elementor-element .rmrdc {
  max-width: none !important; width: 100% !important;
  padding-left: 0 !important; padding-right: 0 !important;
  font-size: 15px !important; line-height: 1.5 !important;
}
.elementor-element .rmrdc p { margin-bottom: 0 !important; }
.elementor-element .rmrdc h1,
.elementor-element .rmrdc h2,
.elementor-element .rmrdc h3 {
  margin-bottom: 0 !important; padding-bottom: 0 !important;
  border-bottom: none !important; text-transform: none !important;
}

/* ================================================================
   ROOT
   ================================================================ */
.rmrdc {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  color: #1e293b !important; font-size: 15px !important;
  line-height: 1.5 !important; width: 100%; padding: 16px;
}
@media (min-width: 768px) { .rmrdc { padding: 32px; } }

.rmrdc-grid { display: grid; gap: 24px; max-width: 1280px; margin: 0 auto; }
@media (min-width: 1024px) { .rmrdc-grid { grid-template-columns: 1.05fr 1fr; } }

/* ================================================================
   LEFT PANEL
   ================================================================ */
.rmrdc-panel {
  background: #fff !important; border-radius: 24px !important;
  overflow: hidden; box-shadow: 0 10px 40px rgba(0,0,0,.08);
}

/* ---- Header gradient ---- */
.rmrdc-header {
  padding: 24px 32px !important;
  background: linear-gradient(135deg, #003057 0%, #0088BB 100%) !important;
}

.rmrdc-badge-gold {
  display: inline-block !important; margin-bottom: 12px !important;
  padding: 4px 12px !important; border-radius: 9999px !important;
  font-size: 12px !important; font-weight: 600 !important;
  background: #D68A52 !important; color: #fff !important;
}

/* CRITICAL: !important on color to beat theme h1 styles */
.rmrdc-title {
  font-size: 28px !important; font-weight: 700 !important;
  color: #fff !important; letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}
@media (min-width: 768px) { .rmrdc-title { font-size: 32px !important; } }

.rmrdc-subtitle {
  margin-top: 12px !important;
  font-size: 14px !important; line-height: 1.6 !important;
  color: rgba(255,255,255,.9) !important; max-width: 640px;
}
@media (min-width: 768px) { .rmrdc-subtitle { font-size: 15px !important; } }

/* ---- Form ---- */
.rmrdc-form { padding: 24px !important; }
@media (min-width: 768px) { .rmrdc-form { padding: 32px !important; } }

.rmrdc-form-row { display: grid; gap: 24px; }
@media (min-width: 768px) { .rmrdc-form-row { grid-template-columns: 1fr 1fr; } }

.rmrdc-form-col { display: flex; flex-direction: column; gap: 16px; }
.rmrdc-full-row { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; }

/* Section titles — explicit size to prevent theme h3 inflation */
.rmrdc-section-title {
  font-size: 13px !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: 0.06em !important;
  color: #003057 !important; line-height: 1.4 !important;
}

/* Labels */
.rmrdc-label {
  display: block !important; margin-bottom: 6px !important;
  font-size: 14px !important; font-weight: 500 !important;
  color: #475569 !important;
}
.rmrdc-field { display: flex; flex-direction: column; }

/* Selects */
.rmrdc-select {
  width: 100% !important; padding: 10px 14px !important;
  font-size: 14px !important; color: #1e293b !important;
  background: #fff !important;
  border: 1px solid #cbd5e1 !important; border-radius: 16px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  appearance: auto; -webkit-appearance: auto;
  transition: border-color .15s, box-shadow .15s;
}
.rmrdc-select:focus {
  border-color: #0284c7 !important;
  box-shadow: 0 0 0 3px rgba(2,132,199,.12) !important;
  outline: none !important;
}

/* Checkbox grid */
.rmrdc-checkbox-grid { display: grid; gap: 12px; }
@media (min-width: 640px)  { .rmrdc-checkbox-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .rmrdc-checkbox-grid { grid-template-columns: 1fr 1fr 1fr; } }

.rmrdc-checkbox-label {
  display: flex !important; align-items: flex-start !important;
  gap: 12px !important; padding: 14px !important;
  border: 1px solid #e2e8f0 !important; border-radius: 16px !important;
  background: #fff !important; cursor: pointer;
  box-shadow: 0 1px 2px rgba(0,0,0,.04); transition: border-color .15s;
}
.rmrdc-checkbox-label:hover { border-color: #cbd5e1 !important; }

.rmrdc-checkbox {
  margin-top: 3px !important; width: 16px !important; height: 16px !important;
  flex-shrink: 0; accent-color: #0284c7;
}
.rmrdc-checkbox-text {
  font-size: 14px !important; font-weight: 500 !important;
  color: #475569 !important;
}

.rmrdc-hint { font-size: 14px !important; color: #64748b !important; }
.rmrdc-hint-small { font-size: 12px !important; color: #94a3b8 !important; }

/* Reset button */
.rmrdc-btn-reset {
  display: inline-block !important; padding: 10px 20px !important;
  font-size: 14px !important; font-weight: 600 !important;
  color: #fff !important; background: #003057 !important;
  border: none !important; border-radius: 16px !important;
  cursor: pointer !important; box-shadow: 0 1px 3px rgba(0,0,0,.1) !important;
  transition: background .15s !important; align-self: flex-start;
  text-transform: none !important; letter-spacing: normal !important;
  line-height: 1.4 !important;
}
.rmrdc-btn-reset:hover, .rmrdc-btn-reset:focus {
  background: #002040 !important; color: #fff !important;
  outline: none !important;
}

/* ================================================================
   RIGHT COLUMN
   ================================================================ */
.rmrdc-results-col { display: flex; flex-direction: column; gap: 24px; }

.rmrdc-results-panel, .rmrdc-recs-panel {
  background: #fff !important; border-radius: 24px !important;
  box-shadow: 0 10px 40px rgba(0,0,0,.08); overflow: hidden;
}

.rmrdc-results-header { padding: 24px 24px 8px !important; }

.rmrdc-results-title {
  display: flex !important; align-items: center !important;
  gap: 8px !important; font-size: 22px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 700 !important; color: #003057 !important;
}

.rmrdc-results-desc {
  margin-top: 8px !important;
  font-size: 14px !important; line-height: 1.6 !important;
  color: #64748b !important;
}

.rmrdc-results-body {
  padding: 24px !important; display: flex;
  flex-direction: column; gap: 16px;
}

/* Risk bar */
.rmrdc-risk-bar {
  display: flex !important; flex-wrap: wrap; align-items: center;
  gap: 20px; padding: 16px !important;
  border-radius: 16px !important; background: #f8fafc !important;
}
.rmrdc-risk-item { }
.rmrdc-risk-label {
  font-size: 11px !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: 0.05em !important;
  color: #94a3b8 !important;
}
.rmrdc-risk-value { margin-top: 8px !important; }
.rmrdc-risk-number {
  margin-top: 8px !important; font-size: 22px !important;
  font-weight: 700 !important; color: #1e293b !important;
}

/* Year cards */
.rmrdc-year-cards { display: flex; flex-direction: column; gap: 16px; }
.rmrdc-year-card {
  border: 1px solid #e2e8f0 !important; border-radius: 24px !important;
  background: #fff !important; padding: 20px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.rmrdc-year-card-head {
  display: flex !important; align-items: center; justify-content: space-between;
  gap: 12px; margin-bottom: 16px !important;
}
.rmrdc-year-card-title {
  font-size: 18px !important; font-weight: 600 !important;
  color: #003057 !important;
}
.rmrdc-year-card-tag {
  padding: 4px 12px !important;
  border: 1px solid #cbd5e1 !important; border-radius: 9999px !important;
  font-size: 12px !important; font-weight: 500 !important;
  color: #475569 !important; white-space: nowrap; background: transparent !important;
}
.rmrdc-year-card-grid { display: grid; gap: 16px; }
@media (min-width: 640px) { .rmrdc-year-card-grid { grid-template-columns: 1fr 1fr; } }

/* Result boxes */
.rmrdc-result-box {
  padding: 16px !important; border-radius: 16px !important;
  background: #f8fafc !important;
}
.rmrdc-result-box--wide { grid-column: 1 / -1; }

.rmrdc-rb-label {
  display: flex !important; align-items: center !important;
  gap: 8px !important; font-size: 13px !important;
  font-weight: 600 !important; color: #475569 !important;
}
.rmrdc-rb-icon {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 20px !important; height: 20px !important;
  border-radius: 50% !important; background: #fff !important;
  font-size: 11px !important; font-weight: 700 !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.06); flex-shrink: 0;
  color: #1e293b !important;
}
.rmrdc-rb-value { margin-top: 8px !important; }
.rmrdc-rb-money {
  margin-top: 8px !important; font-size: 18px !important;
  font-weight: 600 !important; color: #D68A52 !important;
}
.rmrdc-rb-text {
  margin-top: 8px !important; font-size: 15px !important;
  font-weight: 600 !important; color: #1f2937 !important;
}

/* Badges */
.rmrdc-badge {
  display: inline-block !important; padding: 4px 14px !important;
  border-radius: 9999px !important; font-size: 12px !important;
  font-weight: 600 !important; line-height: 1.4 !important;
  white-space: nowrap; border: none !important;
  text-transform: none !important;
}
.rmrdc-badge--low      { background: #e8f6fb !important; color: #0088BB !important; }
.rmrdc-badge--moderate  { background: #fff2e7 !important; color: #D68A52 !important; }
.rmrdc-badge--high      { background: #fdecec !important; color: #b42318 !important; }
.rmrdc-badge--severe    { background: #111827 !important; color: #fff !important; }
.rmrdc-badge--extreme   { background: #003057 !important; color: #fff !important; }

/* ================================================================
   RECOMMENDATIONS
   ================================================================ */
.rmrdc-recs-title {
  padding: 24px 24px 8px !important; font-size: 22px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 700 !important; color: #003057 !important;
}
.rmrdc-recs-list {
  padding: 24px !important; display: flex;
  flex-direction: column; gap: 16px;
}
.rmrdc-rec-card {
  border: 1px solid #e2e8f0 !important; border-radius: 16px !important;
  background: #fff !important; padding: 20px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.rmrdc-rec-inner { display: flex !important; align-items: flex-start; gap: 12px; }
.rmrdc-rec-icon {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 20px !important; height: 20px !important;
  border-radius: 50% !important; background: #D68A52 !important;
  color: #fff !important; font-size: 11px !important;
  font-weight: 700 !important; flex-shrink: 0; margin-top: 3px;
}
.rmrdc-rec-title {
  font-size: 15px !important; font-weight: 600 !important;
  color: #003057 !important;
}
.rmrdc-rec-body {
  margin-top: 4px !important; font-size: 14px !important;
  line-height: 1.6 !important; color: #475569 !important;
}

/* ================================================================
   PRINT
   ================================================================ */
@media print {
  .rmrdc-panel { display: none; }
  .rmrdc-grid  { display: block; }
}
