/* repairNstore public UI layer: shared website/auth polish without touching ERP screens. */
:root {
  --rns-font: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rns-ink: #101828;
  --rns-muted: #475467;
  --rns-soft: #f6f8fb;
  --rns-panel: #ffffff;
  --rns-line: #d9e2ef;
  --rns-primary: #0b62ff;
  --rns-primary-dark: #084ecf;
  --rns-accent: #00a878;
  --rns-shadow: 0 14px 34px rgba(16, 24, 40, .08);
  --rns-shadow-soft: 0 8px 22px rgba(16, 24, 40, .07);
  --rns-radius: 8px;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body.rns-public,
body.rns-auth-page {
  min-width: 320px;
  overflow-x: hidden;
  background: #fff;
  color: var(--rns-ink);
  font-family: var(--rns-font);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

.rns-public *,
.rns-auth-page * {
  letter-spacing: 0 !important;
}

.rns-skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 100000;
  transform: translateY(-180%);
  border-radius: var(--rns-radius);
  background: var(--rns-ink);
  color: #fff;
  padding: 10px 14px;
  font-weight: 800;
  text-decoration: none;
}

.rns-skip-link:focus {
  transform: translateY(0);
  color: #fff;
}

.rns-public img,
.rns-auth-page img {
  max-width: 100%;
  height: auto;
}

.rns-public a {
  text-underline-offset: 3px;
}

.rns-public a:focus-visible,
.rns-public button:focus-visible,
.rns-public input:focus-visible,
.rns-public select:focus-visible,
.rns-public textarea:focus-visible,
.rns-auth-page a:focus-visible,
.rns-auth-page button:focus-visible,
.rns-auth-page input:focus-visible,
.rns-auth-page select:focus-visible {
  outline: 3px solid rgba(11, 98, 255, .28);
  outline-offset: 3px;
}

.rns-public .wrap {
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fbff 42%, #ffffff 100%);
}

.rns-public .topbar {
  position: sticky;
  top: 0;
  z-index: 5000;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  border-radius: 0;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 28px rgba(15, 23, 42, .08);
  backdrop-filter: blur(16px);
}

.rns-public .topbar-shell {
  padding: 14px 18px 16px;
}

.rns-public .topbar-promo {
  margin: 0;
  border-radius: 0;
  background: #101828;
}

.rns-public .topbar-promo__inner {
  min-height: 38px;
}

.rns-public .brand img {
  width: auto;
  height: 42px;
}

.rns-public .topbar-row--nav {
  margin-top: 14px;
  padding-top: 12px;
}

.rns-public .topnav {
  gap: 8px;
  overflow: visible !important;
}

.rns-public .topnav-item,
.rns-public .topnav-trigger,
.rns-public .btn-login,
.rns-public .btn-location,
.rns-public .btn-quick,
.rns-public .website-action-btn,
.rns-public .footer-cta__btn {
  min-height: 44px;
  border-radius: var(--rns-radius) !important;
  font-weight: 800;
  line-height: 1.2;
}

.rns-public .topnav-item,
.rns-public .topnav-trigger {
  padding: 10px 12px;
  color: #1d2939;
}

.rns-public .btn-location,
.rns-public .website-action-btn.bg-sky-600,
.rns-public .footer-cta__btn--primary {
  background: var(--rns-primary) !important;
  box-shadow: 0 10px 22px rgba(11, 98, 255, .22) !important;
}

.rns-public .btn-location:hover,
.rns-public .website-action-btn.bg-sky-600:hover,
.rns-public .footer-cta__btn--primary:hover {
  background: var(--rns-primary-dark) !important;
}

.rns-public .lang select,
.rns-auth-page select.form-control {
  min-height: 44px;
  border-radius: var(--rns-radius);
  border-color: var(--rns-line);
  box-shadow: none;
}

.rns-public .topnav-dd .mega {
  top: calc(100% + 8px) !important;
  border-color: var(--rns-line);
  border-radius: var(--rns-radius);
  box-shadow: 0 20px 46px rgba(16, 24, 40, .16);
}

.rns-public .mega-title,
.rns-public .mega-all {
  color: var(--rns-primary);
}

.rns-public .mega-link {
  border-radius: var(--rns-radius);
  color: #1d2939;
}

.rns-public .website-main {
  margin-top: 0;
}

.rns-public .website-main > div,
.rns-public .location-page,
.rns-public .mailin-page {
  background: linear-gradient(180deg, #ffffff 0%, #f7faff 52%, #ffffff 100%) !important;
}

.rns-public section,
.rns-public .mailin-page,
.rns-public .location-page {
  scroll-margin-top: 130px;
}

.rns-public h1,
.rns-public h2,
.rns-public h3,
.rns-public h4,
.rns-public .hero-title,
.rns-public .mailin-title,
.rns-auth-page .form-header {
  color: var(--rns-ink);
  font-family: var(--rns-font);
  font-weight: 900 !important;
  line-height: 1.08 !important;
}

.rns-public h1,
.rns-public .hero-title,
.rns-public .mailin-title {
  font-size: 48px !important;
}

.rns-public h2 {
  font-size: 34px !important;
}

.rns-public h3 {
  font-size: 22px !important;
}

.rns-public p,
.rns-public li,
.rns-public .website-richtext,
.rns-public .website-db-text,
.rns-public .mailin-lead {
  color: var(--rns-muted);
  font-size: 16px !important;
  line-height: 1.75 !important;
}

.rns-public .bg-white,
.rns-public .bg-white\/95,
.rns-public .bg-slate-50,
.rns-public .mailin-form-shell,
.rns-public .mailin-card,
.rns-public .mailin-info-card,
.rns-public .mailin-device-card,
.rns-public .mailin-premium-item,
.rns-public .address-box,
.rns-public .section-card,
.rns-public .hero-card,
.rns-public .split-panel > .row > [class*="col-"] > div {
  border-radius: var(--rns-radius) !important;
}

.rns-public .shadow-website,
.rns-public .shadow-website-soft,
.rns-public .mailin-form-shell,
.rns-public .mailin-card,
.rns-public .mailin-premium-item {
  box-shadow: var(--rns-shadow-soft) !important;
}

.rns-public .border,
.rns-public .border-slate-200 {
  border-color: var(--rns-line) !important;
}

.rns-public .rounded-\[18px\],
.rns-public .rounded-\[22px\],
.rns-public .rounded-\[24px\],
.rns-public .rounded-\[28px\],
.rns-public .rounded-\[30px\],
.rns-public .rounded-\[32px\],
.rns-public .rounded-2xl,
.rns-public .rounded-full {
  border-radius: var(--rns-radius) !important;
}

.rns-public .inline-flex[class*="bg-sky-100"],
.rns-public .mailin-eyebrow,
.rns-public .mailin-pill,
.rns-public .mailin-badge {
  border: 1px solid #cfe0ff;
  border-radius: var(--rns-radius) !important;
  background: #eef5ff !important;
  color: #084ecf !important;
}

.rns-public .grid a.group,
.rns-public .mailin-card,
.rns-public .mailin-premium-item,
.rns-public .location-page .action-btn,
.rns-public .website-action-btn {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.rns-public .grid a.group:hover,
.rns-public .mailin-card:hover,
.rns-public .mailin-premium-item:hover,
.rns-public .location-page .action-btn:hover {
  transform: translateY(-2px);
  box-shadow: var(--rns-shadow) !important;
}

.rns-public .form-control,
.rns-public .form-select,
.rns-auth-page .form-control {
  min-height: 46px;
  border: 1px solid var(--rns-line) !important;
  border-radius: var(--rns-radius) !important;
  color: var(--rns-ink);
  font-size: 16px !important;
  box-shadow: none !important;
}

.rns-public textarea.form-control {
  min-height: 132px;
}

.rns-public .form-control:focus,
.rns-public .form-select:focus,
.rns-auth-page .form-control:focus {
  border-color: var(--rns-primary) !important;
  box-shadow: 0 0 0 4px rgba(11, 98, 255, .12) !important;
}

.rns-public .mailin-progress {
  gap: 10px;
}

.rns-public .mailin-step-indicator {
  border-radius: var(--rns-radius) !important;
  font-size: 15px !important;
}

.rns-public .step-badge {
  width: 34px;
  height: 34px;
  border-radius: var(--rns-radius);
}

.rns-public .site-footer {
  margin-top: 0;
  border: 0;
  border-radius: 0;
  background: #101828;
  box-shadow: none;
}

.rns-public .footer-cta,
.rns-public .footer-col,
.rns-public .footer-brand {
  border-radius: var(--rns-radius);
}

.rns-public .footer-links a,
.rns-public .footer-contact a,
.rns-public .footer-bottom a {
  color: #e6edf7;
}

.rns-public .footer-links a:hover,
.rns-public .footer-contact a:hover,
.rns-public .footer-bottom a:hover {
  color: #ffffff;
}

.rns-auth-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(11, 98, 255, .15), transparent 34%),
    linear-gradient(135deg, #101828 0%, #1d2939 42%, #f7faff 42%, #ffffff 100%);
}

.rns-auth-page .container-fluid {
  max-width: 1180px;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 24px;
}

.rns-auth-page .eq-height-row {
  width: 100%;
  min-height: 640px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(217, 226, 239, .72);
  border-radius: var(--rns-radius);
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(16, 24, 40, .2);
}

.rns-auth-page .left-col {
  background:
    linear-gradient(rgba(16, 24, 40, .72), rgba(16, 24, 40, .72)),
    url("/uploads/website_foto/home_foto_reparatur.jpeg") center/cover no-repeat;
}

.rns-auth-page .left-col-content {
  height: 100%;
  display: grid;
  place-items: center;
  padding: 36px;
  color: #fff;
}

.rns-auth-page .left-col-content > div {
  margin-top: 0 !important;
}

.rns-auth-page .right-col {
  background: #fff;
  padding: 22px;
}

.rns-auth-page .right-col > .row {
  max-width: 520px;
  margin: 0 auto;
}

.rns-auth-page .login-form {
  margin-top: 56px;
  padding: 28px;
  border: 1px solid var(--rns-line);
  border-radius: var(--rns-radius);
  background: #fff;
  box-shadow: var(--rns-shadow-soft);
}

.rns-auth-page .form-header {
  margin-bottom: 24px;
  color: var(--rns-ink) !important;
  font-size: 34px;
}

.rns-auth-page .btn-login,
.rns-auth-page .btn-primary {
  min-height: 46px;
  border: 0;
  border-radius: var(--rns-radius);
  background: var(--rns-primary);
  font-weight: 800;
}

.rns-auth-page .btn-login:hover,
.rns-auth-page .btn-primary:hover {
  background: var(--rns-primary-dark);
}

@media (max-width: 1100px) {
  .rns-public h1,
  .rns-public .hero-title,
  .rns-public .mailin-title {
    font-size: 40px !important;
  }

  .rns-public h2 {
    font-size: 30px !important;
  }
}

@media (max-width: 760px) {
  .rns-public .topbar {
    position: relative;
  }

  .rns-public .topbar-shell {
    padding: 12px 14px;
  }

  .rns-public .topbar-promo__inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .rns-public .brand img {
    height: 34px;
  }

  .rns-public .btn-login,
  .rns-public .btn-location,
  .rns-public .topbar-actions > .lang {
    display: none;
  }

  .rns-public .menu-toggle {
    display: inline-flex;
    border: 1px solid var(--rns-line);
    border-radius: var(--rns-radius);
    background: #fff;
  }

  .rns-public .topbar-row--nav {
    display: none;
    margin-top: 12px;
    padding-top: 12px;
  }

  .rns-public .topbar-row--nav.is-mobile-open {
    display: block;
  }

  .rns-public .topnav {
    display: grid;
    gap: 8px;
    overflow: visible !important;
  }

  .rns-public .topnav-item,
  .rns-public .topnav-trigger {
    width: 100%;
    justify-content: space-between;
    border: 1px solid var(--rns-line);
    background: #fff;
  }

  .rns-public .topnav-dd .mega,
  .rns-public .topnav-dd--standorte .mega {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-top: 8px;
    padding: 12px !important;
  }

  .rns-public .lang--mobile,
  .rns-public .topnav-login-mobile {
    display: flex;
  }

  .rns-public h1,
  .rns-public .hero-title,
  .rns-public .mailin-title {
    font-size: 32px !important;
  }

  .rns-public h2 {
    font-size: 26px !important;
  }

  .rns-public h3 {
    font-size: 20px !important;
  }

  .rns-public section,
  .rns-public .mailin-page,
  .rns-public .location-page {
    scroll-margin-top: 18px;
  }

  .rns-public .website-action-btn,
  .rns-public .footer-cta__btn {
    width: 100%;
  }

  .rns-public .footer-cta,
  .rns-public .footer-cta__actions,
  .rns-public .footer-bottom {
    align-items: stretch;
    flex-direction: column;
  }

  .rns-public .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .rns-auth-page .container-fluid {
    padding: 14px;
  }

  .rns-auth-page .eq-height-row {
    min-height: 0;
  }

  .rns-auth-page .right-col {
    padding: 14px;
  }

  .rns-auth-page .login-form {
    margin-top: 24px;
    padding: 20px;
  }
}

@media (max-width: 480px) {
  .rns-public h1,
  .rns-public .hero-title,
  .rns-public .mailin-title {
    font-size: 28px !important;
  }

  .rns-public .mailin-form-shell,
  .rns-public .mailin-section {
    padding: 16px !important;
  }
}
