/* Shared visual system for public pages other than the home page. */
body.public-site {
  --public-ink: #102d62;
  --public-primary: #174b91;
  --public-primary-hover: #103c79;
  --public-accent: #f28b18;
  --public-accent-hover: #d67508;
  --public-text: #172b4b;
  --public-muted: #60718b;
  --public-line: #dce5f2;
  --public-canvas: #f4f7fc;
  --public-shadow: 0 18px 48px rgba(23, 52, 96, .09);
  background: var(--public-canvas);
  color: var(--public-text);
}

body.public-site .public-header-inner { width: min(1280px, calc(100% - 48px)); min-height: 72px; gap: 18px; }
body.public-site .public-nav { gap: clamp(7px, .95vw, 15px); }
body.public-site .public-nav > a { font-size: 12px; }
body.public-site .public-nav-actions .public-button { border-radius: 12px; }
body.public-site .public-footer { margin-top: 58px; }
body.public-site .public-footer-main { width: min(1200px, calc(100% - 48px)); }
body.public-site .public-surface,
body.public-site .card,
body.public-site .panel,
body.public-site .profile,
body.public-site .toolbar,
body.public-site .form-section,
body.public-site .blog-card,
body.public-site .article-card {
  border-color: var(--public-line);
  border-radius: 20px;
  box-shadow: var(--public-shadow);
}

/* Estimate request: remove the empty split layout and make the active step clear. */
body.public-repair-request-page { background: var(--public-canvas); }
body.public-repair-request-page .page { width: min(1160px, calc(100% - 40px)); max-width: none; margin: 24px auto 0; padding: 0; }
body.public-repair-request-page .estimate-intro {
  position: relative; isolation: isolate; min-height: 300px; margin: 0; padding: clamp(28px, 5vw, 58px);
  overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 26px;
  background: linear-gradient(118deg, #102d62 0%, #174b91 70%, #1c568e 100%);
  box-shadow: 0 22px 55px rgba(16,45,98,.16); color: #fff;
}
body.public-repair-request-page .estimate-intro:before { content:""; position:absolute; z-index:-1; width:420px; height:420px; inset:-220px auto auto:-90px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 50px rgba(255,255,255,.035),0 0 0 100px rgba(255,255,255,.025); }
body.public-repair-request-page .estimate-intro-copy { max-width: 720px; }
body.public-repair-request-page .estimate-kicker { color: #ffd08b; }
body.public-repair-request-page .estimate-intro h1 { max-width: 680px; color:#fff; font-size:clamp(30px,4.3vw,48px); line-height:1.45; letter-spacing:-.7px; }
body.public-repair-request-page .estimate-intro p { max-width: 680px; color:#e3edfb; font-size:15px; line-height:2; }
body.public-repair-request-page .estimate-button-primary { color:#142b4d; background:var(--public-accent); }
body.public-repair-request-page .estimate-button-primary:hover { background:#ffad42; }
body.public-repair-request-page .estimate-disclaimer { color:#d6e3f5; }
body.public-repair-request-page .estimate-intro-art { opacity:.78; }
body.public-repair-request-page .estimate-phone { border-color:#dce7f8; background:rgba(255,255,255,.12); }
body.public-repair-request-page .estimate-orbit { border-color:rgba(255,255,255,.17); }
body.public-repair-request-page .estimate-art-chip { border-color:rgba(255,255,255,.24); background:rgba(255,255,255,.12); color:#fff; backdrop-filter:blur(8px); }
body.public-repair-request-page .estimate-how { display:none; }
body.public-repair-request-page .estimate-content { margin: 18px 0 0; scroll-margin-top: 18px; }
body.public-repair-request-page .estimate-content > .hero { display:block; }
body.public-repair-request-page .estimate-content .side-card { display:none !important; }
body.public-repair-request-page .estimate-content > .hero > section.card { width:100%; max-width:none; padding:clamp(20px,3vw,34px); border:1px solid var(--public-line); border-radius:22px; background:#fff; box-shadow:var(--public-shadow); }
body.public-repair-request-page .estimate-content .title { color:var(--public-ink); font-size:clamp(23px,3vw,32px); }
body.public-repair-request-page .estimate-content .sub { max-width:760px; font-size:14px; }
body.public-repair-request-page .estimate-content .progress { height:8px; margin:20px 0; background:#edf2f9; }
body.public-repair-request-page .estimate-content .progress span { background:linear-gradient(90deg,var(--public-primary),var(--public-accent)); }
body.public-repair-request-page .estimate-content .wizard-rail { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:0 0 18px; }
body.public-repair-request-page .estimate-content .rail-step { min-width:0; min-height:54px; justify-content:center; border-color:var(--public-line); border-radius:14px; background:#f7f9fd; color:#71819a; font-size:12px; }
body.public-repair-request-page .estimate-content .rail-step.active { border-color:#a9bde0; background:#edf3ff; color:var(--public-primary); }
body.public-repair-request-page .estimate-content .rail-step.done { border-color:#b9e2d4; background:#effaf5; color:#168566; }
body.public-repair-request-page .estimate-content .section { margin-top:0; padding:clamp(14px,2vw,20px); border-color:#e1e8f2; border-radius:18px; background:#f9fbfe; }
body.public-repair-request-page .estimate-content .section-head { align-items:flex-start; }
body.public-repair-request-page .estimate-content .section-head b { color:var(--public-ink); }
body.public-repair-request-page .estimate-content .control { min-height:48px; border-color:#d6e0ed; border-radius:12px; background:#fff; }
body.public-repair-request-page .estimate-content .control:focus { border-color:#7899ca; box-shadow:0 0 0 3px rgba(23,75,145,.11); outline:0; }
body.public-repair-request-page .estimate-content .btn { min-height:46px; border-radius:12px; background:var(--public-accent); color:#172b4b; }
body.public-repair-request-page .estimate-content .btn.secondary { border-color:var(--public-line); background:#fff; color:var(--public-ink); }
body.public-repair-request-page .estimate-faq { width:min(1160px,calc(100% - 40px)); margin:34px auto 0; }
body.public-repair-request-page .estimate-faq-intro h2 { color:var(--public-ink); }
body.public-repair-request-page .estimate-faq-list details { border-color:var(--public-line); border-radius:14px; background:#fff; }

/* Other public destinations share the same restrained blue/orange palette. */
body.public-tracking-page { --brand:#174b91; --accent:#f28b18; --surface:#fff; --surface2:#f7f9fd; --text:#172b4b; --muted:#60718b; --line:#dce5f2; --bg:#f4f7fc; }
body.public-tracking-page .shell { width:min(920px,calc(100% - 40px)); margin:32px auto 0; padding:0; }
body.public-tracking-page .card { padding:clamp(20px,4vw,36px); }
body.public-tracking-page .title, body.public-tracking-page h1, body.public-tracking-page h2 { color:var(--public-ink); }
body.public-tracking-page .control { min-height:48px; border-radius:12px; }
body.public-tracking-page .btn { border-radius:12px; }
body.public-tracking-page .btn.primary { background:var(--public-primary); }

body.public-theft-report-page { --brand:#174b91; --brand2:#102d62; --accent:#f28b18; --bg:#f4f7fc; --surface:#fff; --surface2:#f7f9fd; --line:#dce5f2; --text:#172b4b; --muted:#60718b; }
body.public-theft-report-page .page,
body.public-workshop-search-page .page,
body.public-workshop-detail-page .page,
body.public-auctions-page .page { width:min(1200px,calc(100% - 40px)); margin:28px auto 0; }
body.public-theft-report-page .hero-card,
body.public-theft-report-page .panel { border:1px solid var(--public-line); border-radius:20px; box-shadow:var(--public-shadow); }
body.public-theft-report-page .hero-card { background:linear-gradient(120deg,#102d62,#174b91); }
body.public-theft-report-page .hero-card h1, body.public-theft-report-page .hero-card h2 { color:#fff; }
body.public-theft-report-page .btn.primary { background:var(--public-accent); color:#172b4b; }
body.public-theft-report-page .panel-icon { color:var(--public-primary); }

body.public-auctions-page { --brand:#174b91; --brand2:#102d62; --accent:#f28b18; --bg:#f4f7fc; --surface:#fff; --surface2:#f7f9fd; --line:#dce5f2; --text:#172b4b; --muted:#60718b; }
body.public-auctions-page .page { padding:0; }
body.public-auctions-page .hero { border:0; border-radius:24px; background:linear-gradient(115deg,#102d62,#174b91 72%,#1c568e); box-shadow:0 20px 48px rgba(16,45,98,.15); }
body.public-auctions-page .hero h1, body.public-auctions-page .hero p { color:#fff; }
body.public-auctions-page .hero-stat, body.public-auctions-page .toolbar, body.public-auctions-page .auction-card { border-color:var(--public-line); border-radius:17px; }
body.public-auctions-page .toolbar { background:#fff; box-shadow:var(--public-shadow); }
body.public-auctions-page .control { min-height:46px; border-radius:11px; border-color:var(--public-line); }
body.public-auctions-page .btn.primary { background:var(--public-accent); color:#172b4b; }
body.public-auctions-page .btn.dark { background:var(--public-primary); }

body.public-workshop-search-page { --brand:#174b91; --accent:#f28b18; --line:#dce5f2; --surface:#fff; --surface2:#f7f9fd; --text:#172b4b; --muted:#60718b; }
body.public-workshop-search-page .hero { border:1px solid var(--public-line); border-radius:22px; background:linear-gradient(120deg,#102d62,#174b91); box-shadow:var(--public-shadow); }
body.public-workshop-search-page .hero h1, body.public-workshop-search-page .hero p { color:#fff; }
body.public-workshop-search-page .filters, body.public-workshop-search-page .workshop-card { border-color:var(--public-line); border-radius:18px; box-shadow:var(--public-shadow); }
body.public-workshop-search-page .control { min-height:46px; border-radius:11px; }
body.public-workshop-search-page .btn.primary { background:var(--public-primary); }

body.public-workshop-detail-page { --brand:#174b91; --accent:#f28b18; --line:#dce5f2; --surface:#fff; --surface2:#f7f9fd; --text:#172b4b; --muted:#60718b; }
body.public-workshop-detail-page .profile { padding:clamp(16px,3vw,28px); border:1px solid var(--public-line); background:#fff; }
body.public-workshop-detail-page .profile h1, body.public-workshop-detail-page .profile h2 { color:var(--public-ink); }
body.public-workshop-detail-page .card { border-color:var(--public-line); border-radius:17px; background:#fff; box-shadow:0 8px 26px rgba(23,52,96,.05); }
body.public-workshop-detail-page .btn.primary { background:var(--public-primary); }

body.public-theft-tracking-page,
body.public-theft-payment-page,
body.public-theft-found-page,
body.public-auction-detail-page,
body.public-signup-page,
body.public-maintenance-page { color:var(--public-text); background:var(--public-canvas); }
body.public-theft-tracking-page .track-shell { width:min(760px,calc(100% - 40px)); max-width:none; margin:30px auto; padding:0; }
body.public-theft-tracking-page .track-card,
body.public-theft-tracking-page .renew-card,
body.public-theft-payment-page .card,
body.public-theft-found-page .card,
body.public-auction-detail-page .card,
body.public-signup-page .card { border:1px solid var(--public-line); border-radius:20px; box-shadow:var(--public-shadow); background:#fff; }
body.public-theft-tracking-page .track-card h1,
body.public-theft-payment-page h1,
body.public-theft-found-page h1,
body.public-auction-detail-page h1,
body.public-signup-page h1 { color:var(--public-ink); }
body.public-theft-tracking-page .btn,
body.public-theft-payment-page .btn,
body.public-theft-found-page .btn,
body.public-auction-detail-page .btn,
body.public-signup-page .btn { border-radius:12px; background:var(--public-primary); }
body.public-theft-payment-page .wrap { min-height:calc(100dvh - 140px); padding:30px 16px; }
body.public-theft-payment-page .card { width:min(620px,100%); }
body.public-auction-detail-page .page { width:min(1200px,calc(100% - 40px)); margin:24px auto 0; padding:0; }
body.public-auction-detail-page .top { display:none; }
body.public-auction-detail-page .price { background:linear-gradient(135deg,#102d62,#174b91); }
body.public-theft-found-page .shell { width:min(960px,calc(100% - 40px)); margin:26px auto; }
body.public-theft-found-page .topbar { display:none; }
body.public-signup-page { display:block !important; min-height:100dvh; padding:0 !important; }
body.public-signup-page .card { width:min(560px,calc(100% - 32px)); margin:30px auto; }
body.public-signup-page .control { width:100%; min-height:46px; border:1px solid var(--public-line); border-radius:12px; }
body.public-maintenance-page .page,
body.public-maintenance-page main { width:min(980px,calc(100% - 40px)); margin:30px auto; }

body.blog-body { --blog-ink:#102d62; --blog-accent:#f28b18; }
body.blog-body .blog-main { width:min(1160px,calc(100% - 40px)); margin:30px auto 0; }
body.blog-body .blog-main h1, body.blog-body .blog-main h2 { color:var(--public-ink); }
body.blog-body .blog-main input, body.blog-body .blog-main select, body.blog-body .blog-main textarea { border-color:var(--public-line); border-radius:12px; }
body.blog-body .blog-main button, body.blog-body .blog-main .btn { border-radius:12px; }

/* Auth forms keep their existing flow; this sheet only harmonizes their shared shell. */
body.public-auth-page .public-header-inner { width:min(1160px,calc(100% - 40px)); }
body.public-auth-page:not(.public-login-page) { min-height:100dvh; overflow-x:hidden; }
body.public-auth-page:not(.public-login-page) .auth-shell { width:min(1080px,calc(100% - 40px)); margin:28px auto; }
body.public-auth-page:not(.public-login-page) .auth-form-side { border-color:var(--public-line); border-radius:20px; background:#fff; box-shadow:var(--public-shadow); }
body.public-auth-page:not(.public-login-page) .form-control { border-color:var(--public-line); border-radius:12px; }

@media (max-width: 1100px) {
  body.public-site .public-header-inner { width:calc(100% - 36px); }
  body.public-site .public-nav { padding-inline:18px; }
}
@media (max-width: 700px) {
  body.public-site .public-header-inner { width:calc(100% - 28px); }
  body.public-site .public-footer { margin-top:40px; }
  body.public-repair-request-page .page,
  body.public-repair-request-page .estimate-faq,
  body.public-tracking-page .shell,
  body.public-theft-report-page .page,
  body.public-workshop-search-page .page,
  body.public-workshop-detail-page .page,
  body.public-theft-tracking-page .track-shell,
  body.public-theft-found-page .shell,
  body.public-auction-detail-page .page,
  body.public-maintenance-page .page,
  body.public-maintenance-page main,
  body.public-auctions-page .page,
  body.blog-body .blog-main,
  body.public-auth-page:not(.public-login-page) .auth-shell { width:calc(100% - 28px); }
  body.public-repair-request-page .page,
  body.public-auctions-page .page,
  body.public-workshop-search-page .page,
  body.public-workshop-detail-page .page { margin-top:16px; }
  body.public-repair-request-page .estimate-intro { min-height:0; padding:27px 22px; border-radius:20px; }
  body.public-repair-request-page .estimate-intro h1 { font-size:clamp(27px,8vw,38px); }
  body.public-repair-request-page .estimate-intro p { font-size:13px; }
  body.public-repair-request-page .estimate-intro-art { display:none; }
  body.public-repair-request-page .estimate-content > .hero > section.card { padding:17px 13px; border-radius:18px; }
  body.public-repair-request-page .estimate-content .wizard-rail { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  body.public-repair-request-page .estimate-content .rail-step { min-height:47px; justify-content:flex-start; padding:8px; font-size:11px; }
  body.public-repair-request-page .estimate-content .rail-step svg { width:18px; height:18px; }
  body.public-repair-request-page .estimate-content .section-head { flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) {
  body.public-site *, body.public-site *::before, body.public-site *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
