/* WasteSpot v3.5.10 - public recycling locations UX */
.rc-quality-policy,
.rc-quality-strip { display: none !important; }

.rc-icon {
  width: 1.1em;
  height: 1.1em;
  flex: 0 0 auto;
  vertical-align: -0.16em;
}

.rc-map-cta,
.rc-hero-actions a,
.rc-place-actions a,
.rc-material-block > strong,
.rc-place-verification,
.rc-card-address,
.rc-coverage article strong {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
}

.rc-map-cta b { font-size: 1.15em; }

.rc-coverage article strong .rc-icon {
  width: 1em;
  height: 1em;
}

.rc-visit-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0;
}
.rc-visit-summary > div {
  min-width: 0;
  padding: 18px 20px;
  border: 1px solid rgba(37, 87, 58, .15);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(23, 55, 39, .05);
}
.rc-visit-summary strong,
.rc-visit-summary span { display: block; }
.rc-visit-summary strong { color: #163b29; margin-bottom: 5px; }
.rc-visit-summary span { color: #65776d; font-size: .9rem; line-height: 1.45; }

.rc-place-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 22px !important;
}
.rc-place-card {
  width: 100%;
  min-width: 0;
  padding: 28px !important;
}
.rc-place-card-top {
  align-items: flex-start !important;
  gap: 22px;
}
.rc-place-card-top > div { min-width: 0; }
.rc-place-card-top h3 {
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  line-height: 1.2;
}
.rc-card-address {
  margin: 8px 0 0 !important;
  color: #52695c !important;
  font-size: 1rem;
  line-height: 1.5 !important;
}
.rc-card-address .rc-icon { color: #2f6b46; }

.rc-place-facts {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 22px !important;
}
.rc-place-facts .rc-fact-row {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  margin: 0 !important;
  padding: 14px 15px !important;
  border: 1px solid rgba(37, 87, 58, .11);
  border-radius: 14px;
  background: #f8fbf9;
}
.rc-place-facts .rc-fact-row > .rc-icon {
  width: 20px;
  height: 20px;
  margin-top: 1px;
  color: #2e6b46;
}
.rc-place-facts .rc-fact-row > div { min-width: 0; }
.rc-place-facts dt {
  margin: 0 0 3px !important;
  color: #355746;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.rc-place-facts dd {
  margin: 0 !important;
  color: #273c31;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.rc-material-block {
  margin-top: 22px !important;
  padding: 18px;
  border-radius: 16px;
  background: #f4f9f5;
}
.rc-material-block > strong {
  margin-bottom: 11px !important;
  font-size: .98rem;
}
.rc-material-block > strong .rc-icon { color: #2e6b46; }
.rc-material-block > p { line-height: 1.55; }

.rc-place-verification {
  margin-top: 18px !important;
  color: #62756a !important;
  font-size: .86rem !important;
}
.rc-place-verification .rc-icon { color: #3f7453; }

.rc-place-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px !important;
  margin-top: 20px !important;
}
.rc-place-actions a {
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid rgba(37, 87, 58, .2);
  border-radius: 12px;
  background: #fff;
  color: #24613d;
  font-weight: 800;
  text-decoration: none;
}
.rc-place-actions a:first-child {
  background: #24613d;
  color: #fff;
  border-color: #24613d;
}
.rc-place-actions a:hover { transform: translateY(-1px); }

@media (max-width: 900px) {
  .rc-visit-summary { grid-template-columns: 1fr; }
  .rc-place-facts { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
  .rc-place-card { padding: 21px !important; }
  .rc-place-card-top { flex-direction: column; gap: 12px; }
  .rc-place-card-top > strong { align-self: flex-start; }
  .rc-place-actions { flex-direction: column; }
  .rc-place-actions a { justify-content: center; width: 100%; }
}
