/* Resideline Reports - Premium Form Styling 
   Higher specificity prefixed with .rr-wrap to avoid theme conflicts
*/

.rr-wrap {
  --rr-primary: #f1f1f2 !important;
  --rr-primary-hover: #1d4ed8 !important;
  --rr-bg: #ffffff !important;
  --rr-text: #b99f1d !important;
  --rr-text-muted: #64748b !important;
  --rr-border: #e2e8f0 !important;
  --rr-input-bg: #f1f1f2 !important;
  --rr-radius: 16px !important;
  --rr-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
  --rr-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
  
  max-width: 680px !important;
  margin: 60px auto !important;
  padding: 0 24px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  display: block !important;
}

/* Base Form */
.rr-wrap .rr-form {
  /* background: var(--rr-bg) !important;
  border: 1.5px solid var(--rr-border) !important;
  border-radius: var(--rr-radius) !important;
  padding: 40px !important;
  box-shadow: var(--rr-shadow-lg) !important; */
  position: relative !important;
  overflow: hidden !important;
  margin: 0 !important;
}

/* Header */
.rr-wrap .rr-header {
  margin-bottom: 32px !important;
  text-align: left !important;
}

.rr-wrap .rr-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  color: var(--rr-text) !important;
  margin: 0 0 12px !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  display: block !important;
}

.rr-wrap .rr-subtitle {
  color: var(--rr-text-muted) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  display: block !important;
}

/* Grid Layout */
.rr-wrap .rr-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
  margin: 0 !important;
}

.rr-wrap .rr-span-2 {
  grid-column: span 2 !important;
}

.rr-wrap .rr-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.rr-wrap .rr-label {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--rr-text) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rr-wrap .rr-input {
  height: 52px !important;
  background: var(--rr-input-bg) !important;
  border: 1.5px solid var(--rr-border) !important;
  border-radius: 12px !important;
  padding: 0 18px !important;
  font-size: 15px !important;
  color: var(--rr-text) !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  outline: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

.rr-wrap .rr-input:focus {
  border-color: var(--rr-primary) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgb(219, 221, 219) !important;
}

/* Radio Cards */
.rr-wrap .rr-options {
  margin-top: 32px !important;
}

.rr-wrap .rr-option-group {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
}

.rr-wrap .rr-radio-card {
  position: relative !important;
  cursor: pointer !important;
  display: block !important;
}

.rr-wrap .rr-radio-card input {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

.rr-wrap .rr-radio-content {
  display: flex !important;
  flex-direction: column !important;
  padding: 20px !important;
  background: var(--rr-input-bg) !important;
  border: 1.5px solid var(--rr-border) !important;
  border-radius: 14px !important;
  transition: all 0.2s ease !important;
}

.rr-wrap .rr-radio-card input:checked + .rr-radio-content {
  border-color: var(--rr-primary) !important;
  background: rgba(37, 99, 235, 0.04) !important;
  box-shadow: 0 0 0 1px var(--rr-primary) !important;
}

.rr-wrap .rr-radio-title {
  font-weight: 800 !important;
  font-size: 16px !important;
  color: var(--rr-text) !important;
  margin-bottom: 4px !important;
  display: block !important;
}

.rr-wrap .rr-radio-desc {
  font-size: 13px !important;
  color: var(--rr-text-muted) !important;
  line-height: 1.4 !important;
  display: block !important;
}

/* Actions */
.rr-wrap .rr-actions {
  margin-top: 40px !important;
}

.rr-wrap .rr-btn {
  margin: 10px 0px;
  width: 100% !important;
  height: 56px !important;
  background: var(--rr-text) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}

.rr-wrap .rr-btn:hover {
  background: #A8910E !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 15px -3px rgb(168, 145, 14) !important;
}

/* Modal System */
.rr-modal {
  display: none !important;
  position: fixed !important;
  z-index: 999999 !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-color: rgba(15, 23, 42, 0.8) !important;
  backdrop-filter: blur(8px) !important;
  align-items: center !important;
  justify-content: center !important;
}

.rr-modal.is-active {
  display: flex !important;
}

.rr-modal-content {
  background: #fff !important;
  width: 90% !important;
  max-width: 480px !important;
  border-radius: 24px !important;
  padding: 40px !important;
  position: relative !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
  animation: rr-modal-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  margin: 0 auto !important;
}

@keyframes rr-modal-in {
  from { opacity: 0; transform: scale(0.9) translateY(20px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.rr-modal-close {
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
  background: none !important;
  border: none !important;
  font-size: 32px !important;
  color: #94a3b8 !important;
  cursor: pointer !important;
  line-height: 1 !important;
  padding: 5px !important;
}

.rr-modal-header {
  text-align: center !important;
  margin-bottom: 32px !important;
}

.rr-modal-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #231f20 !important;
  margin: 0 !important;
}

/* Progress */
.rr-progress-wrap {
  text-align: center !important;
}

.rr-progress-container {
  height: 12px !important;
  background: #f1f5f9 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
}

.rr-progress-bar {
  height: 100% !important;
  width: 0% !important;
  background: linear-gradient(90deg, #2563eb, #60a5fa) !important;
  border-radius: 999px !important;
  transition: width 0.4s ease !important;
  position: relative !important;
}

.rr-progress-bar::after {
  content: '' !important;
  position: absolute !important;
  top: 0; left: 0; right: 0; bottom: 0 !important;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 100%) !important;
  animation: rr-shimmer 2s infinite !important;
}

@keyframes rr-shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

.rr-progress-status {
  font-size: 15px !important;
  color: #64748b !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

/* Modal Results */
.rr-modal-result {
  text-align: center !important;
}

.rr-success-icon, .rr-error-icon {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 32px !important;
  margin: 0 auto 24px !important;
}

.rr-success-icon { background: #f1f1f2 !important; color: #231f20 !important; }
.rr-error-icon { background: #fee2e2 !important; color: #991b1b !important; }

.rr-download-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px 32px !important;
  background: #c1a61d !important;
  color: #fff !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  margin-top: 10px !important;
  transition: all 0.2s !important;
}

.rr-download-btn:hover {
  background: #a8910e !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 640px) {
  .rr-wrap .rr-form { padding: 24px !important; }
  .rr-wrap .rr-grid { grid-template-columns: 1fr !important; }
  .rr-wrap .rr-option-group { grid-template-columns: 1fr !important; }
  .rr-wrap .rr-title { font-size: 26px !important; }
}

.rr-step {
  display: none;
}

.rr-step.is-active {
  display: block;
}

.rr-step-indicator {
  display: flex;
  gap: 10px;
  margin: 0 0 20px;
  justify-content: center;
}

.rr-step-dot {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f1f1f2;
  color: #111827;
  font-weight: 700;
  font-size: 14px;
}

.rr-step-dot.is-active {
  background: #4d534a;
  color: #ffffff;
}

.rr-actions-split {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.rr-btn-secondary {
  background: #e5e7eb;
  color: #111827;
}

.rr-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(0, 0, 0, 0.45);
  align-items: center;
  justify-content: center;
}

.rr-modal.is-active {
  display: flex;
}

.rr-modal-content {
  width: 100%;
  max-width: 640px;
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  position: relative;
}

.rr-input-error {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12) !important;
}

.rr-field-error {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.4;
  color: #dc2626;
  font-weight: 500;
}
.rr-wrap .rr-form {
  overflow: visible !important;
}

.pac-container {
  z-index: 2147483647 !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
}

.elementor-popup-modal .dialog-widget-content,
.elementor-popup-modal .dialog-message,
.rr-wrap,
.rr-wrap .rr-field {
  overflow: visible !important;
}