html { scroll-behavior: smooth; }
.staff-sign-in { display: block; max-width: 11rem; margin-top: .15rem; font-size: .75rem; line-height: 1.35; white-space: normal; overflow-wrap: anywhere; }
.staff-workspace-identity { max-width: 100%; margin-bottom: 1rem; font-size: .95rem; }
section { scroll-margin-top: 115px; }
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 9999; background: #fff; color: #111; padding: 12px; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid #b45309; outline-offset: 3px; }
.logo-button { border: 0; padding: 0; background: transparent; }
.brand-text { text-decoration: none; }
.navbar .nav-link { margin-left: 1rem; }
.navbar .nav-link.active { color: var(--accent-color) !important; }
.service-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem; }
.btn-secondary-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: 12px 33px;
    border: 2px solid var(--accent-color);
    border-radius: 50px;
    background: linear-gradient(135deg, var(--secondary-color), #111827);
    color: var(--accent-color);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(31, 41, 55, .25);
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-secondary-custom:hover {
    background: linear-gradient(135deg, #374151, var(--secondary-color));
    border-color: var(--accent-color);
    color: var(--accent-color);
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(31, 41, 55, .35), 0 0 0 1px rgba(251, 191, 36, .2);
}
.btn-secondary-custom:focus-visible { outline: 3px solid #b45309; outline-offset: 3px; color: var(--accent-color); }
.btn-secondary-custom:active { background: #111827; border-color: var(--accent-color); color: var(--accent-color); transform: translateY(-1px); }
.validation-message, .validation-errors { color: #b91c1c; }
.invalid { border-color: #b91c1c; }
.product-image-link { display: block; }
.product-image-link img { height: 210px; object-fit: contain; }
.shop-dialog { width: min(94vw, 860px); max-height: 90vh; overflow-y: auto; border: 0; border-radius: 16px; padding: 24px; box-shadow: 0 20px 70px #0006; }
.shop-dialog::backdrop { background: #000a; }
.quantity-input { width: 90px; }
.video-pause { position: absolute; z-index: 4; bottom: 12px; right: 12px; }
/* A shared footer that carries the site's charcoal and red brand treatment. */
.footer-grid { display:grid; grid-template-columns:1.45fr 1.25fr .85fr 1fr; gap:2rem; padding-bottom:2.5rem; }
.footer-grid > * { min-width:0; }
.footer a { color:#d1d5db; text-decoration:none; border-radius:.5rem; transition:color .2s ease, background-color .2s ease, border-color .2s ease; }
.footer a:hover { color:#fff; }
.footer a:focus-visible { outline:3px solid #fca5a5; outline-offset:4px; }
.footer-brand-lockup { display:flex; align-items:center; gap:.9rem; margin-bottom:1rem; }
.footer-brand-lockup img { display:block; flex:0 0 88px; width:88px; height:88px; object-fit:contain; }
.footer-brand-lockup h2 { margin:0; font-size:1.3rem; line-height:1.3; font-weight:750; letter-spacing:-.02em; }
.footer-brand > p { color:#cbd5e1; font-size:.9rem; line-height:1.7; margin-bottom:1rem; }
.footer .footer-phone { display:flex; align-items:center; width:fit-content; max-width:100%; min-height:44px; font-size:1.1rem; font-weight:650; color:#fff; }
.footer-email { display:flex; align-items:center; width:fit-content; max-width:100%; min-height:44px; font-size:.85rem; overflow-wrap:anywhere; }
.footer-heading { margin:0 0 1rem; font-size:.95rem; font-weight:700; color:#fff; }
.footer-visit address { font-size:.9rem; color:#cbd5e1; line-height:1.7; margin-bottom:.3rem; }
.footer .footer-directions { display:inline-flex; align-items:center; gap:.5rem; min-height:44px; color:#fca5a5; font-weight:600; font-size:.9rem; }
.footer-hours { margin-top:.9rem; color:#cbd5e1; font-size:.85rem; line-height:1.65; }
.footer-hours > span, .footer-hours small { display:block; }
.footer-hours .footer-hours-label { margin-bottom:.35rem; color:#e5e7eb; font-size:.7rem; font-weight:700; letter-spacing:.12em; }
.footer-hours small { margin-top:.2rem; color:#9ca3af; font-size:.75rem; }
.footer-nav a { display:flex; align-items:center; min-height:44px; width:fit-content; max-width:100%; font-size:.9rem; }
.footer .footer-nav a:hover, .footer .footer-legal a:hover, .footer .footer-email:hover { color:#fca5a5; }
.footer-staff-link { display:flex; align-items:center; justify-content:space-between; gap:.6rem; min-height:52px; margin-bottom:.65rem; padding:.8rem .9rem; background:#ffffff05; border:1px solid #475569; font-size:.85rem; line-height:1.4; }
.footer-staff-link > span { min-width:0; overflow-wrap:anywhere; }
.footer-staff-link svg { flex:0 0 20px; }
.footer .footer-staff-link:hover { border-color:#f87171; background:#ffffff0c; }
.footer-staff-link .staff-sign-in { max-width:100%; margin-top:.35rem; color:#cbd5e1; font-size:.7rem; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem 2rem; flex-wrap:wrap; padding-top:1.5rem; border-top:1px solid #ffffff20; }
.footer-details { min-width:0; flex:1 1 340px; }
.footer-copyright { color:#cbd5e1; font-size:.8rem; line-height:1.6; margin:0; }
.footer-version { color:#9ca3af; font-size:.8rem; margin:.25rem 0 0; }
.footer-legal { display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem; }
.footer-legal a { display:flex; align-items:center; min-height:44px; font-size:.8rem; }
.footer .footer-credit { display:flex; align-items:center; gap:.7rem; min-height:44px; max-width:100%; }
.footer-credit-logo { display:block; flex:0 0 40px; width:40px; height:40px; object-fit:contain; border-radius:.4rem; }
.footer-credit-text { min-width:0; }
.footer-credit-text > span { display:block; color:#9ca3af; font-size:.65rem; line-height:1.6; }
.footer-credit-text strong { display:block; color:#e5e7eb; font-size:.85rem; line-height:1.5; font-weight:650; }
.footer .footer-credit:hover strong { color:#fff; }
@media (max-width:1199px) {
    .footer-grid { grid-template-columns:1.4fr 1.2fr .85fr 1.05fr; gap:1.4rem; }
    .footer-brand-lockup { gap:.7rem; }
    .footer-brand-lockup img { flex-basis:72px; width:72px; height:72px; }
    .footer-brand-lockup h2 { font-size:1.1rem; }
}
@media (max-width:991px) {
    .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
    .footer-bottom { justify-content:flex-start; }
    .footer-details { flex-basis:100%; }
}
@media (max-width:575px) {
    .footer { padding-top:2rem; }
    .footer-grid { gap:1.8rem 1rem; padding-bottom:1.8rem; }
    .footer-brand, .footer-visit { grid-column:1 / -1; }
    .footer-brand-lockup img { flex-basis:88px; width:88px; height:88px; }
    .footer-brand-lockup h2 { font-size:1.3rem; }
    .footer-brand > p { margin-bottom:.5rem; }
    .footer-heading { margin-bottom:.65rem; }
    .footer-staff-link { padding:.7rem .65rem; font-size:.8rem; }
    .footer-bottom { gap:.5rem 1.25rem; padding-top:1.2rem; }
}

/* The public Google share embed uses the shop's pin without a private API key. */
.contact-intro { color:#64748b; margin:-.5rem auto 2rem; max-width:36rem; }
.contact-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:1.5rem; }
.contact-details-panel { display:flex; flex-direction:column; justify-content:space-between; gap:1.5rem; min-width:0; padding:2rem; background:#fff; border:1px solid #e2e8f0; border-radius:1.25rem; }
.contact-eyebrow { color:#991b1b; font-size:.7rem; letter-spacing:.09em; font-weight:750; margin-bottom:.6rem; }
.contact-details-panel h3 { color:#1f2937; font-size:1.6rem; font-weight:750; margin:0; }
.contact-details { margin:0; }
.contact-details > div + div { margin-top:1.15rem; }
.contact-details dt { margin-bottom:.3rem; font-size:.8rem; font-weight:650; color:#64748b; }
.contact-details dd { margin:0; font-size:.95rem; line-height:1.65; color:#1f2937; }
.contact-details address { margin:0; }
.contact-details a { color:#1f2937; text-decoration:none; overflow-wrap:anywhere; display:inline-flex; align-items:center; min-height:44px; max-width:100%; }
.contact-details a:hover { color:#991b1b; text-decoration:underline; text-underline-offset:.2em; }
.contact-directions { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; min-height:48px; padding:.75rem 1rem; background:linear-gradient(135deg,#dc2626,#b91c1c); border-radius:.65rem; color:#fff; text-decoration:none; font-size:.95rem; font-weight:650; }
.contact-directions:hover { color:#fff; background:#991b1b; }
.contact-map-panel { min-width:0; background:#fff; border:1px solid #e2e8f0; border-radius:1.25rem; overflow:hidden; box-shadow:0 10px 30px #1118270a; }
.contact-map { display:block; width:100%; height:420px; border:0; }
.contact-map-caption { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.25rem 1rem; padding:.65rem 1.2rem; color:#475569; font-size:.8rem; }
.contact-map-caption a { display:inline-flex; align-items:center; min-height:44px; color:#991b1b; font-weight:650; text-decoration:none; }
.contact-map-caption a:hover { text-decoration:underline; text-underline-offset:.2em; }
.shop-contact a:focus-visible, .contact-map:focus-visible { outline:3px solid #b91c1c; outline-offset:3px; }
@media (max-width:991px) {
    .contact-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); }
    .contact-details-panel { padding:1.5rem; }
}
@media (max-width:767px) {
    .contact-grid { grid-template-columns:minmax(0,1fr); }
    .contact-details-panel { gap:1.25rem; }
    .contact-map { height:320px; }
}
.merch-card .card-text { color: #e5e7eb; }
.admin-page { max-width: 1300px; }
.admin-section { margin-block: 2rem; }
.admin-section th { white-space: nowrap; }
.tracking-page { max-width: 960px; }
.tracking-code { font-family: ui-monospace, Consolas, monospace; letter-spacing: .03em; }
.ticket-status { background: #991b1b; color: #fff; padding: .6rem .8rem; }
.ticket-progress { display: block; width: 100%; height: 24px; margin-top: .5rem; accent-color: #dc2626; }
.ticket-progress::-webkit-progress-bar { background: #e5e7eb; border-radius: 12px; }
.ticket-progress::-webkit-progress-value { background: #dc2626; border-radius: 12px; }
.ticket-timeline { list-style: none; padding-left: 0; }
.ticket-timeline li { border-left: 3px solid #dc2626; margin-block: 1rem; padding: .75rem 1rem; background: #f8fafc; }
.ticket-note { white-space: pre-wrap; overflow-wrap: anywhere; }
#blazor-error-ui { display: none; position: fixed; bottom: 0; background: #fff3cd; color: #111; width: 100%; padding: 15px; z-index: 9998; }
#blazor-error-ui .dismiss { cursor: pointer; margin-left: 1rem; }
.reconnect-panel { position: fixed; inset: auto 12px 12px; padding: 18px; background: #fff3cd; color: #111; border: 2px solid #997404; z-index: 9997; box-shadow: 0 6px 20px #0003; }
.components-reconnect-hide { display: none; }
.components-reconnect-show, .components-reconnect-failed, .components-reconnect-rejected { display: block; }
@media (max-width: 600px) { .navbar-brand .brand-text { white-space: normal; font-size: 1rem; } .navbar-brand .logo-img { height: 48px; } .shop-dialog { padding: 16px; } }
@media (max-width: 575px) { .service-actions .btn { width: 100%; max-width: 360px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }

/* Keep the homepage message clear while leaving the Camaro showcase visible. */
.hero.hero-enhanced { padding:4rem 0 5rem; }
.hero-copy { max-width:720px; min-width:0; text-align:left; }
.hero-copy .hero-title { font-size:clamp(2.25rem,4vw,3.75rem); line-height:1.1; }
.hero-copy .hero-subtitle { font-size:clamp(1.2rem,2vw,1.65rem); font-weight:600; }
.hero-copy .hero-description { font-size:1.1rem; }
@media (max-width:991px) {
    .hero.hero-enhanced { padding:2rem 0 3rem; }
    .hero-copy { margin-inline:auto; text-align:center; }
    .hero-copy .hero-title { font-size:clamp(2rem,6vw,3rem); }
}
@media (max-width:1199px) {
    .navbar-brand { min-width:0; max-width:calc(100% - 68px); margin-right:0; }
    .navbar-brand .brand-text { white-space:normal; line-height:1.25; }
    .navbar-brand .logo-button { flex:0 0 auto; }
}

/* Four-lift shop floor board */
.lift-board-heading { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.lift-board-heading h1 { font-size:clamp(2rem,4vw,3rem); font-weight:800; letter-spacing:-.04em; }
.lift-eyebrow { font-size:.76rem; font-weight:800; letter-spacing:.13em; color:#991b1b; margin-bottom:.4rem; }
.lift-board-toolbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; padding:1rem 0 1.4rem; }
.lift-board-counts { display:flex; flex-wrap:wrap; gap:1.2rem; }
.lift-board-counts strong { font-size:1.45rem; margin-right:.2rem; }
.lift-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem; }
.lift-card { background:#fff; border:1px solid #d1d5db; border-radius:1.1rem; overflow:hidden; box-shadow:0 8px 24px #1118270c; display:flex; flex-direction:column; }
.lift-card-heading { display:flex; justify-content:space-between; align-items:center; gap:.6rem; padding:1.2rem 1.4rem; background:#1f2937; color:#fff; }
.lift-card-heading h2 { margin:0; font-size:1.2rem; font-weight:800; }
.lift-state { border-radius:2rem; padding:.3rem .75rem; font-size:.8rem; font-weight:700; background:#374151; color:#fff; }
.occupied .lift-state { background:#fbbf24; color:#1f2937; }
.available .lift-state { background:#dcfce7; color:#166534; }
.unavailable .lift-state { background:#fee2e2; color:#991b1b; }
.lift-graphic { display:block; width:100%; height:clamp(180px,24vw,240px); padding:.25rem .4rem 0; background:linear-gradient(180deg,#f8fafc,#fff); }
.lift-work { padding:1rem 1.4rem; flex:1; }
.lift-work h3 { font-size:1.25rem; font-weight:750; margin-bottom:.6rem; }
.lift-vehicle-type { color:#6b7280; font-size:.8rem; font-weight:700; letter-spacing:.02em; margin-bottom:.4rem; }
.lift-service { overflow-wrap:anywhere; color:#4b5563; white-space:pre-wrap; }
.lift-progress-label { display:flex; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap; font-size:.9rem; margin-top:1.2rem; }
.lift-progress { display:block; width:100%; height:12px; margin-top:.6rem; border:0; border-radius:8px; overflow:hidden; background:#e5e7eb; accent-color:#dc2626; }
.lift-progress::-webkit-progress-bar { background:#e5e7eb; border-radius:8px; }
.lift-progress::-webkit-progress-value { background:#dc2626; border-radius:8px; }
.lift-progress::-moz-progress-bar { background:#dc2626; border-radius:8px; }
.lift-actions { display:flex; gap:.5rem; flex-wrap:wrap; padding:0 1.4rem 1.2rem; }
.lift-ticket-link { margin:-.4rem 1.4rem 1.2rem; font-size:.85rem; }
.lift-editor { border-left:4px solid #dc2626; }
@media(min-width:1400px) { .lift-board-page { max-width:1500px; } .lift-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } .lift-graphic { height:190px; padding:.25rem .4rem 0; } }
@media(max-width:640px) { .lift-grid { grid-template-columns:minmax(0,1fr); } .lift-graphic { height:200px; } .lift-board-counts { gap:.8rem; font-size:.9rem; } }

.public-floor-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.public-floor-heading .section-title{margin-bottom:.5rem}.public-floor-heading p{margin-bottom:0}.public-lift-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.public-lift-card{overflow:hidden;border:1px solid #d1d5db;border-radius:1rem;background:#fff;box-shadow:0 8px 24px #1118270c}.public-lift-card-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem;background:#1f2937;color:#fff}.public-lift-card-heading h3{font-size:1.1rem;font-weight:800;margin:0}.public-lift-card-heading span{font-size:.8rem;color:#fbd34d}.public-lift-board .lift-graphic{height:190px;padding:.25rem .4rem 0}.public-lift-description{padding:1rem;overflow-wrap:anywhere}.public-lift-description h4{font-size:1.05rem;font-weight:700}.public-lift-description p{font-size:.9rem;margin-bottom:0}@media(max-width:991px){.public-lift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575px){.public-lift-grid{grid-template-columns:minmax(0,1fr)}}
