/* LokalBoard public design system. Scoped to leave the vendor dashboard intact. */
.public-site {
  --lb-ink:#172b43; --lb-muted:#526377; --lb-blue:#173f72; --lb-accent:#dd5b21;
  --lb-line:#dce5ed; --lb-paper:#f6f8fb;
  --bs-primary:#173f72; --bs-primary-rgb:23,63,114;
  font-family:Arial,Helvetica,sans-serif; color:var(--lb-ink); background:#fff!important;
  font-size:1rem; line-height:1.7; padding-top:90px;
  display:flex; flex-direction:column; min-height:100vh;
}
.public-site *, .public-site *::before, .public-site *::after {box-sizing:border-box}
.public-site .container {max-width:1200px;padding-inline:24px}
.public-site h1,.public-site h2,.public-site h3,.public-site h4,.public-site h5,.public-site h6 {font-family:inherit;color:var(--lb-ink);line-height:1.2;letter-spacing:-.035em;padding-top:0;text-wrap:balance}
.public-site h1 {font-size:clamp(2rem,4vw,3.6rem);font-weight:750}
.public-site h2 {font-size:clamp(1.65rem,3vw,2.5rem);font-weight:700}
.public-site h3 {font-size:clamp(1.3rem,2vw,1.75rem);font-weight:700}
.public-site h4 {font-size:1.25rem}.public-site h5 {font-size:1.12rem}.public-site h6 {font-size:1rem}
.public-site p {font-size:1rem;line-height:1.75}
.public-site .lead {font-size:clamp(1.08rem,1.6vw,1.25rem);line-height:1.7}
.public-site .small,.public-site small {font-size:.875rem}
.public-site .text-muted,.public-site .text-secondary {color:var(--lb-muted)!important}
.public-site .text-warning:not(.footer *) {color:#8c4217!important}
.public-site :is(h1,h2,h3,h4,h5).text-white {color:inherit!important}
.public-site a {text-underline-offset:4px}
.public-site :focus-visible {outline:3px solid #ce521d!important;outline-offset:4px;box-shadow:none!important}
.public-site img {max-width:100%;height:auto;transition:none}
.public-site img:hover {transform:none}
.public-site .skip-link {position:fixed;top:8px;left:16px;z-index:2000;background:white;color:var(--lb-blue);padding:10px 20px;border-radius:8px;transform:translateY(-160%)}
.public-site .skip-link:focus {transform:translateY(0)}
.public-site .custom-navbar {min-height:90px;background:#fff!important;border-bottom:1px solid var(--lb-line);box-shadow:0 3px 24px #102d4910!important;padding:16px 0}
.public-site .navbar-brand {gap:5px;white-space:normal;max-width:75%}
.public-site .navbar-brand img {width:40px;height:40px;flex-shrink:0}
.public-site .navbar-brand span {font-size:1.2rem;color:var(--lb-blue)!important;font-weight:750;letter-spacing:-.03em}
.public-site .navbar-brand small {font-size:.7rem!important;color:#5a6b7d!important;opacity:1;line-height:1.5}
.public-site .custom-navbar .nav-link {font-size:.83rem;color:#30465c!important;font-weight:600;padding:9px 10px!important;border-radius:6px;letter-spacing:0}
.public-site .custom-navbar .nav-link:hover,.public-site .custom-navbar .nav-link[aria-current] {color:var(--lb-blue)!important;background:#edf3fa}
.public-site .custom-navbar [data-nav-register] {background:var(--lb-blue);color:white!important;padding-inline:16px!important}
.public-site .custom-navbar .navbar-nav {gap:3px!important}
.public-site .navbar-toggler {padding:10px;min-height:44px;min-width:44px;color:var(--lb-blue);border:1px solid var(--lb-line)!important}
.public-site main {flex:1;min-width:0}
.public-site main.py-5 {margin-top:0!important;padding-block:64px!important}
.public-site main.pt-5 {padding-top:48px!important}
.public-site main>.container>div.text-center:first-child {max-width:950px;margin-inline:auto}
.public-site main>.container>div.text-center:first-child h1 {margin-bottom:24px}
.public-site section.py-5 {padding-block:72px!important}
.public-site .bg-light {background:var(--lb-paper)!important}
.public-site .card,.public-site .feature-card,.public-site .step-card,.public-site .custom-card {border:1px solid var(--lb-line)!important;border-radius:18px!important;box-shadow:0 8px 28px #142d4910!important;background:#fff;color:var(--lb-ink);transition:box-shadow .2s}
.public-site .card p {color:var(--lb-muted)}
.public-site .card-body {padding:28px}
.public-site .card:hover,.public-site .feature-card:hover,.public-site .step-card:hover {transform:none;box-shadow:0 12px 35px #142d491a!important}
.public-site .custom-card::before {display:none}
.public-site .custom-card:hover .icon-circle {transform:none}
.public-site .feature-card {height:100%;padding:32px 24px;text-align:left}
.public-site .feature-card .circle-icon {display:none}
.public-site .feature-card h5 {margin-top:0!important;min-height:2.7em}
.public-site .feature-card p {margin-bottom:0;color:var(--lb-muted)}
.public-site .btn {font-family:inherit;font-weight:600;font-size:.95rem;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:9px;white-space:normal;line-height:1.4;box-shadow:none}
.public-site .btn-warning {background:#a94113;border-color:#a94113;color:#fff}
.public-site .btn-warning:hover {background:#8c3610;border-color:#8c3610;color:#fff}
.public-site .btn-primary,.public-site .btn-modern {background:var(--lb-blue);border-color:var(--lb-blue);color:white}
.public-site .btn-light {background:#fff;border:1px solid #becddd;color:var(--lb-blue)}
.public-site .btn:hover {transform:none}
.public-site :is(input,select,textarea).form-control,.public-site .form-select {min-height:48px;border:1px solid #a6b7c9;border-radius:8px;color:var(--lb-ink);font-size:1rem}
.public-site label {font-size:.9rem;font-weight:600;color:var(--lb-ink);margin-bottom:7px}
.public-site .login-container {min-height:650px;background:var(--lb-paper);padding:48px 24px;gap:48px;justify-content:center}
.public-site .login-left {background:var(--lb-blue);border-radius:24px;padding:48px;max-width:480px}
.public-site .login-left h2 {color:#fff}
.public-site .login-right {max-width:480px;flex:1}
.public-site .login-card {max-width:480px;border:1px solid var(--lb-line);padding:40px;box-shadow:0 12px 50px #172b4310}
.public-site .login-card h3 {font-size:1.75rem}
.public-site .container-fluid.my-5 {max-width:1200px;margin-inline:auto;padding-inline:24px;padding-top:16px!important}
.public-site .progressbar {gap:8px}
.public-site .progressbar li {font-size:.78rem;overflow-wrap:anywhere}
.public-site .modal-content {border:1px solid var(--lb-line);border-radius:18px}
.public-site .table-responsive {overflow-x:auto}
.public-site #footer {position:static!important;margin-top:auto;padding-top:48px}
.public-site footer.footer {position:static!important;inset:auto;background:#132b45!important;padding:40px 0!important;text-align:left;border-top:4px solid #dd5b21}
.public-site footer.footer .container {text-align:left!important}
.public-site footer.footer .footer-copy {justify-content:space-between!important;padding-bottom:20px;border-bottom:1px solid #ffffff26;margin-bottom:24px!important}
.public-site footer.footer a {color:#edf3fa!important;font-size:.85rem;display:inline-block;padding-block:6px}
.public-site footer.footer a:hover {text-decoration:underline!important}
.public-site footer.footer .contact-item {font-size:.85rem}
.public-site footer.footer .text-warning {color:#ffce98!important}
.public-site [data-aos] {opacity:1!important;transform:none!important;transition:none!important}
.public-site .step-card {opacity:1;animation:none}
.public-site .sparkle-text,.public-site .typing-text {animation:none;width:auto;white-space:normal;text-shadow:none}
.public-site .blog-hero {background:var(--lb-paper);color:var(--lb-ink);padding:64px 0;margin-top:0}
.public-site .blog-card {height:100%}
.public-site article {overflow-wrap:anywhere}
.public-site .public-article {max-width:860px;margin:48px auto;padding-inline:24px}
.public-site .public-article p {line-height:1.85}
.public-home .hero-vendor-section {min-height:0;background:#f3f7fc;padding:64px 0 72px;border-bottom:1px solid var(--lb-line);color:var(--lb-ink)}
.public-home .hero-vendor-section>.container>.row {align-items:center;row-gap:36px}
.public-home .hero-copy {color:var(--lb-ink)!important}
.public-home .hero-copy h1 {font-size:clamp(2.3rem,4.15vw,3.75rem);line-height:1.1;max-width:15ch;color:var(--lb-blue);margin:0 0 24px;letter-spacing:-.05em}
.public-home .hero-copy .lead {max-width:44ch;color:var(--lb-muted);margin-bottom:24px}
.public-home .hero-copy .text-light {color:var(--lb-muted)!important;max-width:56ch;font-size:.8rem}
.public-home .hero-copy .text-warning {font-size:.82rem!important;font-weight:600;color:#733810!important}
.public-home .hero-copy .bg-black {background:var(--lb-ink)!important;font-size:.8rem;min-height:44px;padding:10px 16px!important;border-radius:8px!important}
.public-home .hero-art img {display:block;width:100%;border-radius:24px;box-shadow:0 20px 45px #173f7220}
.public-home .hero-art {padding-left:36px}
.public-home section>.container>h2 {margin-bottom:32px}
.public-home section>.container>.lead {max-width:860px;margin-inline:auto}
.public-home .stat-value {font-size:2.75rem;color:var(--lb-blue);line-height:1.2}
.public-home .reach-customers-section {background:var(--lb-paper);animation:none}
.public-home .step-card {height:100%}
.public-home .lokalboard-purpose {border-top:1px solid var(--lb-line)}
@media(min-width:992px) {.public-site .navbar-brand {margin-right:32px!important}.public-home .hero-copy {padding-right:24px}}
@media(max-width:991px) {
 .public-site {padding-top:80px}.public-site .custom-navbar {min-height:80px;padding:14px 0}
 .public-site .navbar-collapse {padding-top:16px;max-height:calc(100dvh - 90px);overflow-y:auto}
 .public-site .custom-navbar .nav-link {font-size:1rem;padding:12px!important}
 .public-home .hero-copy h1 {max-width:20ch;font-size:clamp(2.3rem,6vw,3.7rem)}
 .public-home .hero-art {padding-left:12px;max-width:680px}
 .public-site .login-container {min-height:600px}
}
@media(max-width:575px) {
 .public-site .container {padding-inline:20px}.public-site .navbar-brand small {font-size:.62rem!important}
 .public-site section.py-5 {padding-block:48px!important}.public-site main.py-5 {padding-block:40px!important}
 .public-home .hero-vendor-section {padding:36px 0 44px}
 .public-home .hero-copy h1 {font-size:2.35rem}.public-home .hero-copy .lead {font-size:1.05rem}
 .public-home .hero-art {padding-inline:12px}.public-home .hero-art img {border-radius:16px}
 .public-home .hero-copy>.d-flex {flex-wrap:wrap;gap:10px!important}
 .public-home .hero-copy .btn {width:100%}
 .public-site .feature-card h5 {min-height:0}
 .public-site .login-container {padding:32px 16px}.public-site .login-card {padding:28px 22px}
 .public-site footer.footer .footer-copy {align-items:flex-start!important}
 .public-site .container-fluid.my-5 {padding-inline:12px}.public-site .container-fluid>.row {margin-inline:0}
 .public-site .container-fluid .card.p-4 {padding:20px 12px!important}
 .public-site .progressbar li {font-size:.67rem}
}
@media(prefers-reduced-motion:reduce) {
 .public-site *, .public-site *::before,.public-site *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
.public-site .modal-header {background:var(--lb-paper)!important;color:var(--lb-ink)!important;border-bottom:1px solid var(--lb-line)}
.public-site .modal-header .modal-title {font-size:1.5rem}
.public-site .modal-header .btn-close {filter:none;min-width:24px;min-height:24px}
.public-site .role-choice {display:block;color:var(--lb-ink);height:100%}
.public-site .role-choice:hover {border-color:var(--lb-blue)!important}
.public-site .role-choice h3 {font-size:1.25rem}
.public-site .role-choice .badge {background:#edf3fa!important;color:var(--lb-blue)!important}
.public-site .modal-body>.text-center>p {font-size:.95rem}
@media(max-width:575px) {.public-site .row {--bs-gutter-x:1.5rem}}
@media(max-width:575px) {
 .public-site .progressbar {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px;padding-left:0}
 .public-site .progressbar li {width:auto!important;float:none;overflow-wrap:normal;word-break:normal;font-size:.75rem;line-height:1.4}
 .public-site .progressbar li::after {display:none}
}
