/* Not-found page. */
.rs-404-page { width: min(1000px, calc(100% - 32px)); min-height: 72vh; margin: 0 auto; padding: 118px 0 72px; }
.rs-404-hero { display: grid; justify-items: center; padding: clamp(34px, 6vw, 62px) 24px 32px; text-align: center; }
.rs-404-visual { display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--rs-heading, #1c102d); font-size: clamp(58px, 11vw, 94px); font-weight: 900; letter-spacing: -.07em; line-height: .9; }
.rs-404-visual i { display: grid; width: clamp(58px, 10vw, 86px); height: clamp(58px, 10vw, 86px); place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--rs-primary, #e91e8c), var(--rs-primary-dark, #b91570)); box-shadow: 0 16px 38px color-mix(in srgb, var(--rs-primary, #e91e8c) 30%, transparent); font-size: clamp(34px, 6vw, 52px); }
.rs-404-kicker { margin: 22px 0 5px; color: var(--rs-primary-dark, #b91570); font-size: 10px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.rs-404-hero h1 { margin: 0; color: var(--rs-heading, #1c102d); font-size: clamp(31px, 5vw, 47px); letter-spacing: -.045em; line-height: 1.08; }
.rs-404-message { max-width: 620px; margin: 14px auto 0; color: var(--rs-muted, #667085); font-size: 13px; line-height: 1.7; }
.rs-404-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 23px; }
.rs-404-actions a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 7px; padding: 0 16px; border: 1px solid var(--rs-border, #e4e7ec); border-radius: var(--rs-button-radius, 10px); color: var(--rs-heading, #1c102d); background: var(--rs-surface, #fff); font-size: 11px; font-weight: 800; text-decoration: none; }
.rs-404-actions a:hover { border-color: var(--rs-primary, #e91e8c); }
.rs-404-actions .rs-404-primary { color: #fff; border-color: var(--rs-primary, #e91e8c); background: linear-gradient(135deg, var(--rs-primary, #e91e8c), var(--rs-primary-dark, #b91570)); box-shadow: 0 10px 24px color-mix(in srgb, var(--rs-primary, #e91e8c) 25%, transparent); }
.rs-404-actions i { width: 17px; height: 17px; font-size: 17px; }
.rs-404-finder { position: relative; z-index: 6; display: grid; grid-template-columns: minmax(220px, 1fr) minmax(320px, 480px); align-items: center; gap: 20px; padding: 16px 18px; border: 1px solid var(--rs-border, #e4e7ec); border-radius: var(--rs-card-radius, 15px); background: var(--rs-surface, #fff); box-shadow: 0 12px 34px rgba(16,24,40,.07); }
.rs-404-finder > div:first-child { display: flex; align-items: center; gap: 10px; }
.rs-404-finder > div:first-child > i { display: grid; width: 37px; height: 37px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: var(--rs-primary-dark, #b91570); background: color-mix(in srgb, var(--rs-primary, #e91e8c) 11%, #fff); }
.rs-404-finder > div:first-child span { display: grid; gap: 2px; }
.rs-404-finder strong { color: var(--rs-heading, #1c102d); font-size: 12px; }
.rs-404-finder small { color: var(--rs-muted, #667085); font-size: 9px; }
.rs-404-location-finder { width: 100%; }
.rs-404-location-finder .rs-location-control { height: 45px; }
.rs-404-categories { margin-top: 30px; }
.rs-404-categories h2 { margin: 0 0 13px; color: var(--rs-heading, #1c102d); font-size: 20px; text-align: center; }
.rs-404-categories > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.rs-404-categories a { display: grid; min-width: 0; min-height: 58px; grid-template-columns: 32px minmax(0, 1fr) 16px; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid var(--rs-border, #e4e7ec); border-radius: 11px; color: var(--rs-heading, #1c102d); background: var(--rs-surface, #fff); font-size: 11px; font-weight: 800; text-decoration: none; }
.rs-404-categories a:hover { border-color: var(--rs-primary, #e91e8c); box-shadow: 0 8px 22px rgba(16,24,40,.07); transform: translateY(-1px); }
.rs-404-categories a > i:first-child { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 8px; color: var(--rs-primary-dark, #b91570); background: color-mix(in srgb, var(--rs-primary, #e91e8c) 11%, #fff); font-size: 17px; }
.rs-404-categories a > i:last-child { width: 15px; height: 15px; color: var(--rs-muted, #667085); font-size: 15px; }

@media (max-width: 760px) {
  .rs-404-page { width: min(100% - 24px, 1000px); padding: 74px 0 44px; }
  .rs-404-hero { padding: 28px 14px 24px; }
  .rs-404-finder { grid-template-columns: 1fr; gap: 11px; padding: 13px; }
  .rs-404-finder > div:first-child { display: none; }
  .rs-404-categories { margin-top: 23px; }
  .rs-404-categories > div { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
}

@media (max-width: 430px) {
  .rs-404-actions { display: grid; width: 100%; grid-template-columns: 1fr 1fr; }
  .rs-404-actions a { min-width: 0; padding: 0 10px; }
  .rs-404-categories a { min-height: 54px; grid-template-columns: 29px minmax(0, 1fr); padding: 8px; font-size: 10px; }
  .rs-404-categories a > i:first-child { width: 29px; height: 29px; }
  .rs-404-categories a > i:last-child { display: none; }
}
