/* Figma coverage: Resources & Downloads, RedSpec/FloorChoice, Project Gallery. */

.rb-figma-section {
  width: 100%;
  box-sizing: border-box;
}

.rb-figma-section .elementor-widget-container p { margin: 0; }
.rb-figma-section .elementor-widget-heading .elementor-heading-title { margin: 0; }
.rb-figma-section .elementor-widget-button { margin: 0; }

.rb-figma-resource-hero,
.rb-figma-redspec-hero,
.rb-figma-gallery-hero {
  position: relative;
  min-height: 480px;
  overflow: hidden;
  background: #101010;
}

.rb-figma-resource-hero-image,
.rb-figma-redspec-hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  z-index: 0;
}

.rb-figma-resource-hero-image .elementor-widget-container,
.rb-figma-redspec-hero-image .elementor-widget-container,
.rb-figma-resource-hero-image img,
.rb-figma-redspec-hero-image img {
  width: 100%;
  height: 100%;
}

.rb-figma-resource-hero-image img,
.rb-figma-redspec-hero-image img,
.rb-figma-gallery-hero .rb-el-media-cover img {
  object-fit: cover;
  object-position: center;
}

.rb-figma-resource-hero-overlay,
.rb-figma-redspec-hero-overlay,
.rb-figma-gallery-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  min-height: 100%;
  background: rgba(0, 0, 0, .5);
  pointer-events: none;
}

.rb-figma-resource-hero-content,
.rb-figma-redspec-hero-content,
.rb-figma-gallery-hero-content {
  position: relative;
  z-index: 2;
  min-height: 480px;
  padding: 60px 120px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
}

.rb-figma-resource-hero-title .elementor-heading-title,
.rb-figma-redspec-hero-title .elementor-heading-title,
.rb-figma-gallery-hero-title .elementor-heading-title {
  color: #fff;
  font-family: FreightSansPro, sans-serif;
  font-size: 60px;
  line-height: 1;
  font-weight: 600;
}

.rb-figma-resource-hero-cta,
.rb-figma-redspec-hero-cta,
.rb-figma-gallery-hero-cta { align-self: flex-end; }

.rb-figma-resource-tools {
  min-height: 419px;
  padding: 80px 120px;
  background: #eee;
}

.rb-figma-resource-tools > .elementor-container,
.rb-figma-resource-tools-grid { width: 100%; }

.rb-figma-resource-eyebrow,
.rb-figma-resource-label {
  color: #cb2026;
  font-family: FreightSansPro, sans-serif;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.rb-figma-resource-tools-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 100px;
  margin-top: 32px;
}

.rb-figma-tool-card {
  min-height: 200px;
  display: grid;
  grid-template-columns: 216px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
}

.rb-figma-tool-card-image,
.rb-figma-tool-card-image .elementor-widget-container,
.rb-figma-tool-card-image img {
  width: 216px;
  height: 200px;
  border-radius: 16px;
}

.rb-figma-tool-card-image img { object-fit: cover; }
.rb-figma-tool-card-copy { padding: 16px; display: flex; flex-direction: column; gap: 16px; }
.rb-figma-tool-card-title .elementor-heading-title { color: #cb2026; font-size: 26px; line-height: 30px; font-weight: 500; }
.rb-figma-tool-card-body { color: #101010; font-size: 16px; line-height: 20px; }
.rb-figma-tool-card-link .elementor-button { padding: 0; color: #cb2026; background: transparent; font-size: 18px; }

.rb-figma-resource-results {
  min-height: 2759px;
  padding: 80px 120px;
  background: #fff;
}

.rb-figma-resource-search { max-width: 583px; display: flex; flex-direction: column; gap: 16px; }
.rb-figma-resource-search-input { width: 583px; height: 48px; border-radius: 100px; background: #eee; }
.rb-figma-resource-search-input .elementor-search-form { height: 48px; border-radius: 100px; background: #eee; }
.rb-figma-resource-search-input .elementor-search-form__input { background: transparent; color: #101010; padding: 0 24px; }
.rb-figma-quick-filters { margin-top: 32px; }
.rb-figma-quick-filters-grid { display: grid; grid-template-columns: repeat(2, 400px); gap: 32px; margin-top: 16px; }
.rb-figma-filter-card { min-height: 116px; padding: 16px; border-radius: 8px; box-sizing: border-box; background: #cb2026; color: #fff; }
.rb-figma-filter-card-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.rb-figma-filter-card-title .elementor-heading-title { color: #fff; font-size: 26px; line-height: 30px; }
.rb-figma-filter-card-apply .elementor-button { padding: 0; color: #fff; background: transparent; text-decoration: underline; font-size: 16px; }
.rb-figma-filter-card-body { margin-top: 16px; color: #fff; font-size: 16px; line-height: 19px; }

.rb-figma-resource-browser { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 80px; margin-top: 80px; }
.rb-figma-resource-filters { width: 300px; }
.rb-figma-resource-filters-title .elementor-heading-title,
.rb-figma-resource-filter-heading .elementor-heading-title { color: #cb2026; font-size: 18px; line-height: 24px; }
.rb-figma-resource-filter-heading { margin-top: 32px; }
.rb-figma-resource-options { margin-top: 16px; }
.rb-figma-resource-options .elementor-icon-list-items { display: flex; flex-direction: column; gap: 0; }
.rb-figma-resource-options .elementor-icon-list-item { padding: 9px 0; border-bottom: 1px solid #ddd; font-size: 16px; line-height: 26px; }
.rb-figma-resource-options .elementor-icon-list-icon { color: #cb2026; }
.rb-figma-resource-results-list { min-width: 0; }
.rb-figma-resource-results-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; }
.rb-figma-resource-results-title .elementor-heading-title { color: #cb2026; font-size: 26px; line-height: 30px; }
.rb-figma-resource-order .elementor-button { padding: 0; color: #101010; background: transparent; font-size: 16px; }
.rb-figma-resource-card-grid { display: flex; flex-direction: column; gap: 24px; }
.rb-figma-resource-card { min-height: 187px; display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 16px; padding: 16px; box-sizing: border-box; border: 1px solid #ddd; }
.rb-figma-resource-card-image,
.rb-figma-resource-card-image .elementor-widget-container,
.rb-figma-resource-card-image img { width: 108px; height: 145px; }
.rb-figma-resource-card-image img { object-fit: cover; }
.rb-figma-resource-card-copy { min-width: 0; display: flex; flex-direction: column; gap: 8px; padding: 8px; }
.rb-figma-resource-card-title .elementor-heading-title { color: #101010; font-size: 18px; line-height: 21px; }
.rb-figma-resource-card-body { max-width: 526px; color: #101010; font-size: 16px; line-height: 19px; }
.rb-figma-resource-card-download .elementor-button { padding: 7px 16px; background: #cb2026; color: #fff; font-size: 16px; }
.rb-figma-resource-card-meta { color: #666; font-size: 14px; line-height: 18px; }
.rb-figma-resource-edit-filters { display: none; }
.rb-figma-resource-pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 54px; padding-top: 16px; }
.rb-figma-resource-pagination-info { font-size: 16px; }
.rb-figma-resource-pagination-button .elementor-button { min-width: 28px; padding: 5px 8px; color: #101010; background: transparent; }
.rb-figma-resource-pagination-pages { white-space: nowrap; }

.rb-figma-redspec-intro {
  min-height: 482px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .88fr);
  gap: 100px;
  padding: 120px;
  box-sizing: border-box;
}
.rb-figma-redspec-intro-copy { display: flex; flex-direction: column; gap: 32px; }
.rb-figma-redspec-intro-lead,
.rb-figma-redspec-intro-body { color: #101010; font-size: 26px; line-height: 30px; font-weight: 500; }
.rb-figma-redspec-intro-body { color: #cb2026; }
.rb-figma-redspec-intro-image,
.rb-figma-redspec-intro-image .elementor-widget-container,
.rb-figma-redspec-intro-image img { width: 100%; height: 242px; border-radius: 16px; }
.rb-figma-redspec-intro-image img { object-fit: cover; }

.rb-figma-redspec-detail { min-height: 924px; padding: 120px; box-sizing: border-box; background: #101010; color: #fff; }
.rb-figma-redspec-detail-title .elementor-heading-title { color: #fff; font-size: 60px; line-height: 63px; }
.rb-figma-redspec-detail-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 120px; margin-top: 48px; }
.rb-figma-redspec-detail-copy { display: flex; flex-direction: column; gap: 48px; }
.rb-figma-redspec-detail-body { color: #fff; font-size: 20px; line-height: 28px; }
.rb-figma-redspec-callout { width: 359px; padding: 24px; border-radius: 24px; box-sizing: border-box; background: #cb2026; }
.rb-figma-redspec-callout-copy { color: #fff; font-size: 18px; line-height: 24px; font-weight: 600; }
.rb-figma-redspec-workflow { display: flex; flex-direction: column; gap: 24px; }
.rb-figma-redspec-workflow-title { padding: 8px 16px; background: #cb2026; }
.rb-figma-redspec-workflow-title .elementor-heading-title { color: #fff; font-size: 20px; line-height: 27px; letter-spacing: 2px; text-transform: uppercase; }
.rb-figma-redspec-bullets .elementor-icon-list-item { display: flex; gap: 16px; margin-bottom: 8px; color: #fff; font-size: 20px; line-height: 26px; }
.rb-figma-redspec-bullets .elementor-icon-list-icon { color: #cb2026; }
.rb-figma-redspec-start-copy { max-width: 521px; margin-top: 48px; color: #fff; font-size: 20px; line-height: 28px; }
.rb-figma-redspec-start .elementor-button,
.rb-figma-floorchoice-download .elementor-button { margin-top: 24px; background: #cb2026; color: #fff; }

.rb-figma-floorchoice {
  min-height: 1158.852px;
  display: flex;
  flex-direction: column;
  gap: 100px;
  padding: 120px;
  box-sizing: border-box;
  background: #f2f2f2;
}
.rb-figma-floorchoice-top,
.rb-figma-floorchoice-lower {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .77fr);
  gap: 100px;
  align-items: start;
}
.rb-figma-floorchoice-top { min-height: 368px; align-items: end; }
.rb-figma-floorchoice-lower { min-height: 450.852px; }
.rb-figma-floorchoice-copy,
.rb-figma-floorchoice-lower-copy { display: flex; flex-direction: column; gap: 48px; }
.rb-figma-floorchoice-title .elementor-heading-title { color: #101010; font-size: 60px; line-height: 60px; }
.rb-figma-floorchoice-body,
.rb-figma-floorchoice-why-body { color: #101010; font-size: 20px; line-height: 28px; }
.rb-figma-floorchoice-rating {
  min-height: 296px;
  padding: 24px;
  border-radius: 24px;
  background: #2a2a2a;
  color: #fff;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.rb-figma-floorchoice-rating-title .elementor-heading-title { color: #fff; font-size: 24px; line-height: 28px; }
.rb-figma-floorchoice-rating-body { color: #fff; font-size: 20px; line-height: 28px; }
.rb-figma-floorchoice-why-title { width: max-content; max-width: 100%; padding: 8px 16px; background: #cb2026; }
.rb-figma-floorchoice-why-title .elementor-heading-title { color: #fff; font-size: 20px; line-height: 27px; letter-spacing: 2px; text-transform: uppercase; }
.rb-figma-floorchoice-image,
.rb-figma-floorchoice-image .elementor-widget-container,
.rb-figma-floorchoice-image img { width: 349.219px; max-width: 100%; height: 450.852px; border: 1px solid #cacaca; box-sizing: border-box; }
.rb-figma-floorchoice-image img { object-fit: cover; }
.rb-figma-floorchoice-download-mobile { display: none; }

.rb-figma-gallery-content { min-height: 2161px; padding: 120px; box-sizing: border-box; }
.rb-figma-gallery-intro { max-width: 1000px; color: #101010; font-size: 26px; line-height: 30px; }
.rb-figma-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; margin-top: 60px; }
.rb-figma-project-card { min-height: 392px; overflow: hidden; border-radius: 16px; background: #2a2a2a; }
.rb-figma-project-image,
.rb-figma-project-image .elementor-widget-container,
.rb-figma-project-image img { width: 100%; height: 329px; }
.rb-figma-project-image img { display: block; object-fit: cover; }
.rb-figma-project-copy { height: 62px; padding: 16px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #2a2a2a; }
.rb-figma-project-title .elementor-heading-title { color: #fff; font-size: 24px; line-height: 30px; font-weight: 500; }
.rb-figma-project-link .elementor-button { padding: 0; color: #e2e729; background: transparent; text-decoration: underline; font-size: 18px; }

@media (max-width: 767px) {
  .rb-figma-resource-hero,
  .rb-figma-gallery-hero { min-height: 350px; }
  .rb-figma-redspec-hero { min-height: 408px; }
  .rb-figma-resource-hero-content,
  .rb-figma-gallery-hero-content { min-height: 350px; padding: 60px 24px; }
  .rb-figma-redspec-hero-content { min-height: 408px; padding: 60px 24px; }
  .rb-figma-resource-hero-title .elementor-heading-title,
  .rb-figma-redspec-hero-title .elementor-heading-title,
  .rb-figma-gallery-hero-title .elementor-heading-title { font-size: 50px; line-height: 54px; }
  .rb-figma-resource-hero-cta,
  .rb-figma-redspec-hero-cta,
  .rb-figma-gallery-hero-cta { align-self: flex-start; }

  .rb-figma-resource-tools { min-height: 625px; padding: 80px 24px; }
  .rb-figma-resource-tools-grid { display: flex; flex-direction: column; gap: 48px; }
  .rb-figma-tool-card { min-height: 179px; display: grid; grid-template-columns: 157px minmax(0, 1fr); gap: 24px; align-items: center; }
  .rb-figma-tool-card-image,
  .rb-figma-tool-card-image .elementor-widget-container,
  .rb-figma-tool-card-image img { width: 157px; max-width: 157px; height: 145.623px; }
  .rb-figma-tool-card-copy { position: relative; min-height: 179px; padding: 0; display: block; text-align: left; }
  .rb-figma-tool-card-title .elementor-heading-title { padding-right: 24px; }
  .rb-figma-tool-card-body { margin-top: 16px; }
  .rb-figma-tool-card-link { position: absolute; top: 0; right: 0; }

  .rb-figma-resource-results { min-height: 4307px; padding: 80px 24px; }
  .rb-figma-resource-search-input { width: 100%; }
  .rb-figma-quick-filters-grid { display: flex; flex-direction: column; gap: 16px; }
  .rb-figma-filter-card { width: 100%; }
  .rb-figma-resource-browser { display: flex; flex-direction: column; gap: 24px; margin-top: 48px; }
  .rb-figma-resource-edit-filters { display: block; width: 185px; height: 48px; }
  .rb-figma-resource-edit-filters .elementor-button { width: 185px; height: 48px; padding: 12px 16px; color: #cb2026; background: transparent; border: 1px solid #cb2026; }
  .rb-figma-resource-filters { display: none; }
  .rb-figma-resource-results-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .rb-figma-resource-card { position: relative; display: grid; grid-template-columns: 108px minmax(0, 1fr); min-height: 321px; padding: 16px; }
  .rb-figma-resource-card-image,
  .rb-figma-resource-card-image .elementor-widget-container,
  .rb-figma-resource-card-image img { width: 108px; height: 145px; }
  .rb-figma-resource-card-copy { display: block; padding: 0; }
  .rb-figma-resource-card-title { position: absolute; top: 24px; left: 140px; right: 16px; }
  .rb-figma-resource-card-title .elementor-heading-title { font-size: 18px; line-height: 21px; }
  .rb-figma-resource-card-body { position: absolute; top: 78px; left: 140px; right: 16px; font-size: 14px; line-height: 18px; }
  .rb-figma-resource-card-download { position: absolute; top: 273px; right: 16px; }
  .rb-figma-resource-card-meta { position: absolute; left: 16px; right: 16px; font-size: 14px; line-height: 18px; }
  .rb-figma-resource-card-meta-types { top: 177px; }
  .rb-figma-resource-card-meta-product { top: 209px; }
  .rb-figma-resource-pagination { flex-wrap: wrap; }

  .rb-figma-redspec-intro { min-height: 844px; display: flex; flex-direction: column; gap: 60px; padding: 120px 24px; }
  .rb-figma-redspec-intro-lead,
  .rb-figma-redspec-intro-body { font-size: 24px; line-height: 30px; }
  .rb-figma-redspec-detail { min-height: 1616px; padding: 120px 24px; }
  .rb-figma-redspec-detail-title .elementor-heading-title { font-size: 50px; line-height: 60px; }
  .rb-figma-redspec-detail-columns { display: flex; flex-direction: column; gap: 48px; margin-top: 48px; }
  .rb-figma-redspec-callout { width: 100%; }
  .rb-figma-redspec-bullets .elementor-icon-list-item { font-size: 18px; line-height: 24px; }
  .rb-figma-floorchoice { min-height: 2164.852px; display: flex; flex-direction: column; gap: 100px; padding: 120px 24px; }
  .rb-figma-floorchoice-top,
  .rb-figma-floorchoice-lower { display: flex; flex-direction: column; gap: 60px; min-height: 0; }
  .rb-figma-floorchoice-top { min-height: 852px; }
  .rb-figma-floorchoice-lower { min-height: 972.852px; }
  .rb-figma-floorchoice-copy { gap: 48px; }
  .rb-figma-floorchoice-title .elementor-heading-title { font-size: 50px; line-height: 60px; }
  .rb-figma-floorchoice-rating { min-height: 324px; }
  .rb-figma-floorchoice-lower-copy { gap: 32px; }
  .rb-figma-floorchoice-why-title .elementor-heading-title { font-size: 20px; line-height: 27px; white-space: normal; }
  .rb-figma-floorchoice-image,
  .rb-figma-floorchoice-image .elementor-widget-container,
  .rb-figma-floorchoice-image img { width: 349.219px; max-width: 100%; height: 450.852px; }
  .rb-figma-floorchoice-lower-copy .rb-figma-floorchoice-download { display: none; }
  .rb-figma-floorchoice-download-mobile { display: block; }

  .rb-figma-gallery-content { min-height: 5477px; padding: 120px 24px; }
  .rb-figma-gallery-intro { font-size: 26px; line-height: 30px; }
  .rb-figma-gallery-grid { display: flex; flex-direction: column; gap: 48px; margin-top: 60px; align-items: center; }
  .rb-figma-project-card { width: 365px; max-width: 100%; }
}
