/* ==========================================================
   JA-MAR GLOBAL RIGHT SIDEBAR
   Approved universal sidebar styling.

   SAFE GLOBAL SCOPE:
   Every rule is restricted to #right-sidebar, so popup forms,
   footer forms, landing-page forms and other Gravity Forms are
   not affected.

   This file intentionally DOES NOT add sticky behavior.
   ========================================================== */

#right-sidebar {
  --jamar-sidebar-red:#d35c58;
  --jamar-sidebar-red-hover:#e05e59;
  --jamar-sidebar-navy:#282f38;
  --jamar-sidebar-gold:#e2b607;
}

/* ==========================================================
   RIGHT SIDEBAR — SPIRIT OF JA-MAR STANDARD
   Approved Ja-Mar right-sidebar design system.
   Intentionally scoped only to #right-sidebar so it can load globally.
   ========================================================== */

/* Keep GeneratePress in charge of the actual sidebar column width. */
#right-sidebar,
#right-sidebar *,
#right-sidebar *::before,
#right-sidebar *::after {
  box-sizing:border-box !important;
}

#right-sidebar {
  min-width:0 !important;
  overflow-x:hidden !important;
}

#right-sidebar .inside-right-sidebar,
#right-sidebar aside.widget,
#right-sidebar .widget,
#right-sidebar .textwidget,
#right-sidebar .gform_wrapper,
#right-sidebar .gform_body,
#right-sidebar .gform_fields,
#right-sidebar .gfield,
#right-sidebar .ginput_container,
#right-sidebar .sbar-group,
#right-sidebar .sbar-finance {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

#right-sidebar .inside-right-sidebar {
  display:flex !important;
  flex-direction:column !important;
  gap:20px !important;
}

#right-sidebar aside.widget {
  margin:0 !important;
}

/* Gravity Forms container reset */
#right-sidebar .gform_widget,
#right-sidebar aside.gform_widget,
#right-sidebar .gform_widget.inner-padding {
  background:#ffffff !important;
  border:0 !important;
  border-top:0 !important;
  padding-top:0 !important;
  box-shadow:none !important;
}

#right-sidebar .gform_widget::before,
#right-sidebar .gform_widget::after,
#right-sidebar .gform_wrapper::before,
#right-sidebar .gform_wrapper::after {
  content:none !important;
  display:none !important;
}

#right-sidebar .gform_wrapper {
  background:#ffffff !important;
  border:0 !important;
  border-top:0 !important;
  margin-top:0 !important;
  padding-top:0 !important;
  box-shadow:0 2px 10px rgba(0,0,0,.08) !important;
  overflow:hidden !important;
}

#right-sidebar .gform_widget > .widget-title,
#right-sidebar .gform_widget > h2,
#right-sidebar .gform_widget > h3 {
  display:none !important;
}

#right-sidebar .gform_heading {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  background:var(--jamar-sidebar-red) !important;
  border:0 !important;
  border-top:0 !important;
  padding:18px 20px 17px !important;
  margin:0 !important;
}

/* Hide the old image/header output and render the approved header copy. */
#right-sidebar .gform_heading .gform_title,
#right-sidebar .gform_heading .gform_description {
  display:none !important;
}

#right-sidebar .gform_heading::before {
  content:"Get Started With Ja-Mar";
  display:block !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:17px !important;
  font-weight:700 !important;
  color:#ffffff !important;
  line-height:1.35 !important;
  text-align:left !important;
  margin:0 0 6px 0 !important;
}

#right-sidebar .gform_heading::after {
  content:"Tell us a little about your roofing project or concern, and a member of our team will be in touch to discuss the next step.";
  display:block !important;
  font-family:"Open Sans",sans-serif !important;
  font-size:12px !important;
  font-weight:400 !important;
  color:rgba(255,255,255,.92) !important;
  line-height:1.5 !important;
  text-align:left !important;
  margin:0 !important;
}

#right-sidebar .gform_body {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  background:var(--jamar-sidebar-navy) !important;
  padding:20px 20px 10px !important;
}

#right-sidebar .gform_fields {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  row-gap:14px !important;
}

#right-sidebar .gfield {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

#right-sidebar .ginput_container,
#right-sidebar .ginput_complex,
#right-sidebar .ginput_complex > span,
#right-sidebar .gform-grid-row,
#right-sidebar .gform-grid-col {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

#right-sidebar .gfield--type-honeypot {
  display:none !important;
}

#right-sidebar .gform-field-label {
  font-family:"Open Sans",sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  color:rgba(255,255,255,.78) !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  margin-bottom:5px !important;
  display:block !important;
}

#right-sidebar .hidden_label .gform-field-label,
#right-sidebar .gfield.hidden_label .gform-field-label,
#right-sidebar .gform-field-label--type-sub,
#right-sidebar .hidden_sub_label {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
}

#right-sidebar .gfield_required {
  color:var(--jamar-sidebar-gold) !important;
}

#right-sidebar input[type="text"],
#right-sidebar input[type="email"],
#right-sidebar input[type="tel"],
#right-sidebar textarea,
#right-sidebar select {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  background:#ffffff !important;
  border:1px solid #dedede !important;
  border-radius:2px !important;
  padding:11px 12px !important;
  font-family:"Open Sans",sans-serif !important;
  font-size:13px !important;
  color:var(--jamar-sidebar-navy) !important;
  outline:none !important;
}

#right-sidebar textarea {
  resize:vertical !important;
}

#right-sidebar input::placeholder,
#right-sidebar textarea::placeholder {
  color:#777777 !important;
  opacity:1 !important;
}

/* Exact width normalization from Spirit. */
#right-sidebar .gform_body .gform_fields,
#right-sidebar .gform_body .gfield,
#right-sidebar .gform_body .ginput_container,
#right-sidebar .gform_body .ginput_complex,
#right-sidebar .gform_body .ginput_complex > span,
#right-sidebar .gform_body .gform-grid-row,
#right-sidebar .gform_body .gform-grid-col {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

#right-sidebar .gform_body .gform-grid-col,
#right-sidebar .gform_body .ginput_complex > span {
  padding-left:0 !important;
  padding-right:0 !important;
}

#right-sidebar .gform_body input[type="text"],
#right-sidebar .gform_body input[type="email"],
#right-sidebar .gform_body input[type="tel"],
#right-sidebar .gform_body textarea,
#right-sidebar .gform_body select,
#right-sidebar .gform_footer .gform_button {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

/* Gravity Forms vertical spacing normalization — Spirit standard. */
#right-sidebar .gfield,
#right-sidebar .ginput_container {
  margin-top:0 !important;
  margin-bottom:0 !important;
}

#right-sidebar .ginput_container > *,
#right-sidebar input[type="text"],
#right-sidebar input[type="email"],
#right-sidebar input[type="tel"],
#right-sidebar textarea,
#right-sidebar select {
  margin-top:0 !important;
  margin-bottom:0 !important;
  margin-block-start:0 !important;
  margin-block-end:0 !important;
}

#right-sidebar .gform_wrapper {
  --gf-form-gap-y:14px !important;
  --gf-field-gap-y:0px !important;
  --gf-field-margin-y:0px !important;
}

/* Address / complex fields: full-width vertical stack. */
#right-sidebar .ginput_complex {
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  row-gap:14px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

#right-sidebar .ginput_complex > span,
#right-sidebar .ginput_complex .gform-grid-row,
#right-sidebar .ginput_complex .gform-grid-col {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

#right-sidebar .ginput_complex.gform-grid-row,
#right-sidebar .ginput_complex .gform-grid-row {
  column-gap:0 !important;
  row-gap:14px !important;
}

/* Pull only the textarea upward so ZIP → message remains 14px. */
#right-sidebar .gfield--type-textarea,
#right-sidebar .gfield:has(textarea) {
  margin-top:-14px !important;
  margin-bottom:0 !important;
}

#right-sidebar .gfield_description,
#right-sidebar small {
  display:block !important;
  font-family:"Open Sans",sans-serif !important;
  font-size:10px !important;
  color:rgba(255,255,255,.58) !important;
  line-height:1.3 !important;
  margin:0 !important;
  padding:0 !important;
}

#right-sidebar .gfield_description a,
#right-sidebar small a {
  color:#e27a75 !important;
}

#right-sidebar .gfield_description p,
#right-sidebar .gfield_description span,
#right-sidebar small p,
#right-sidebar small span {
  margin:0 !important;
  padding:0 !important;
  line-height:1.3 !important;
}

#right-sidebar .gfield_description br,
#right-sidebar small br {
  display:none !important;
}

#right-sidebar .gform_footer {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  background:var(--jamar-sidebar-navy) !important;
  margin:0 !important;
  padding:6px 20px 20px !important;
}

#right-sidebar .gform_button {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  background:var(--jamar-sidebar-red) !important;
  color:#ffffff !important;
  border:none !important;
  border-radius:2px !important;
  padding:12px !important;
  font-family:"Open Sans",sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
  cursor:pointer !important;
  transition:background .2s !important;
}

#right-sidebar .gform_button:hover {
  background:var(--jamar-sidebar-navy) !important;
}

/* GAF badge + redesigned sidebar promo buttons — Spirit standard. */
#right-sidebar .sbar-group {
  overflow:hidden !important;
}

#right-sidebar .sbar-group img[alt="GAF Master Elite Contractor"] {
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  display:block !important;
  margin-bottom:14px !important;
}

#right-sidebar .sb-promo-card {
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  background:var(--jamar-sidebar-red) !important;
  padding:12px 14px !important;
  text-decoration:none !important;
  margin:0 0 8px 0 !important;
  transition:background .2s !important;
}

#right-sidebar .sb-promo-card:hover {
  background:var(--jamar-sidebar-navy) !important;
}

#right-sidebar .sb-promo-icon {
  width:30px !important;
  height:30px !important;
  flex:0 0 30px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.2) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#ffffff !important;
  font-size:14px !important;
}

#right-sidebar .sb-promo-text {
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:100% !important;
  font-family:"Open Sans",sans-serif !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

#right-sidebar .sb-promo-eyebrow {
  font-size:10px !important;
  color:rgba(255,255,255,.8) !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  line-height:1.3 !important;
}

#right-sidebar .sb-promo-title {
  font-size:13px !important;
  font-weight:700 !important;
  color:#ffffff !important;
  text-transform:uppercase !important;
  line-height:1.25 !important;
}

#right-sidebar .sb-fineprint {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  font-family:"Open Sans",sans-serif !important;
  font-size:10px !important;
  color:#999999 !important;
  line-height:1.5 !important;
  margin-top:4px !important;
  overflow-wrap:anywhere !important;
}

#right-sidebar .sbar-finance img {
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  display:block !important;
}

/* Gravity Forms submit button — hover/focus contrast on dark sidebar */
#right-sidebar .gform_button:hover,
#right-sidebar .gform_button:focus,
#right-sidebar input[type="submit"].gform_button:hover,
#right-sidebar input[type="submit"].gform_button:focus {
  background:#ffffff !important;
  border-color:#ffffff !important;
  color:var(--jamar-sidebar-red) !important;
}