/* Shared application branding. Guest menus retain restaurant-defined colours.
   Loaded after page styles so home, onboarding and management use one palette. */
:root {
    --brand-primary: var(--brand-tone-583d70);
    --brand-hover: var(--brand-tone-49315e);
    --brand-active: var(--brand-tone-261d2e);
    --brand-on-primary: #fff9e9;
    --brand-soft: var(--brand-tone-e8e4ec);
    --brand-border: var(--brand-tone-d0cbd4);
    --brand-focus: var(--brand-tone-31263b40);
    --accent: var(--brand-primary);
    --bs-primary: var(--brand-primary);
    --bs-primary-rgb: 88,61,112;
    --bs-link-color: var(--brand-primary);
    --bs-link-hover-color: var(--brand-hover);
}
/* Repeat the component selector to beat page-specific legacy colour rules. */
body .btn.btn.btn-primary, body .btn.btn.btn-dark {
    --bs-btn-bg: var(--brand-primary);
    --bs-btn-border-color: var(--brand-primary);
    --bs-btn-color: var(--brand-on-primary);
    --bs-btn-disabled-bg: var(--brand-primary);
    --bs-btn-disabled-border-color: var(--brand-primary);
    --bs-btn-disabled-color: var(--brand-on-primary);
    background: var(--brand-primary); border-color: var(--brand-primary); color: var(--brand-on-primary);
}
body .btn.btn.btn-primary:hover, body .btn.btn.btn-dark:hover,
body .btn.btn.btn-primary:focus-visible, body .btn.btn.btn-dark:focus-visible {
    background: var(--brand-hover); border-color: var(--brand-hover); color: white;
}
body .btn.btn.btn-primary:active, body .btn.btn.btn-dark:active {
    background: var(--brand-active); border-color: var(--brand-active); color: white;
}
body .btn.btn.btn-light { background: var(--brand-soft); border-color: var(--brand-tone-31263b12); color: var(--brand-primary); }
body .btn.btn.btn-light:hover { background: var(--brand-tone-dfdae4); border-color: var(--brand-border); color: var(--brand-primary); }
body .btn.btn.btn-outline-primary, body .btn.btn.btn-outline-dark { color: var(--brand-primary); border-color: var(--brand-primary); }
body .btn.btn.btn-outline-primary:hover, body .btn.btn.btn-outline-dark:hover { background: var(--brand-primary); color: var(--brand-on-primary); }
body .form-control:focus, body .form-select:focus, body .form-check-input:focus {
    border-color: var(--brand-primary); box-shadow: 0 0 0 3px var(--brand-focus);
}
body .form-check-input:checked { background-color: var(--brand-primary); border-color: var(--brand-primary); }
body button:focus-visible, body a:focus-visible { outline-color: var(--brand-primary); }
body .sidebar nav a.active, body .dashboard-nav a.active { background: var(--brand-soft); color: var(--brand-primary); }
body .accent, body .accent-link, body .subscription-text-link { color: var(--brand-primary); }
body .signup-progress li.current:before, body .signup-progress li.complete:before,
body .signup-progress li.complete:after { background: var(--brand-primary); color: var(--brand-on-primary); }
body .signup-cuisines input:checked+span, body .signup-choices input:checked+span { border-color: var(--brand-primary); background: var(--brand-soft); }
body .signup-cuisines input:focus-visible+span, body .signup-choices input:focus-visible+span { outline-color: var(--brand-primary); }
/* Light brand treatment keeps showcase calls to action visible on dark surfaces. */
body .court-copy .btn.btn.btn-primary,
body .home-final-cta .btn.btn.btn-primary {
    background: var(--brand-on-primary);
    border-color: var(--brand-tone-d9d2df);
    color: var(--brand-primary);
    box-shadow: 0 4px 12px var(--brand-tone-1d142418);
}
body .court-copy .btn.btn.btn-primary:hover,
body .home-final-cta .btn.btn.btn-primary:hover,
body .court-copy .btn.btn.btn-primary:focus-visible,
body .home-final-cta .btn.btn.btn-primary:focus-visible {
    background: var(--brand-soft);
    border-color: var(--brand-primary);
    color: var(--brand-primary);
}
body .court-copy .btn.btn.btn-primary:active,
body .home-final-cta .btn.btn.btn-primary:active {
    background: var(--brand-tone-dfdae4);
    color: var(--brand-primary);
}
/* Purple button palette. */
body .btn {
    --brand-primary: var(--brand-tone-583d70);
    --brand-hover: var(--brand-tone-49315e);
    --brand-active: var(--brand-tone-3b264d);
    --brand-on-primary: #ffffff;
    --brand-soft: var(--brand-tone-f1ecf5);
    --brand-border: var(--brand-tone-d8cce2);
    --brand-focus: var(--brand-tone-583d7040);
}
body .btn.btn.btn-light { border-color: var(--brand-tone-e0d6e8); }
body .btn.btn.btn-light:hover { background: var(--brand-tone-e8deef); }
body .court-copy .btn.btn.btn-primary:active,
body .home-final-cta .btn.btn.btn-primary:active { background: var(--brand-tone-e8deef); }

/* Purple application surfaces; public menus keep their restaurant palette. */
body .sidebar{background:var(--brand-tone-f2edf6)!important;border-color:var(--brand-tone-e0d6e8)!important}
body .sidebar nav a{color:var(--brand-tone-66576e)}body .sidebar nav a.active{background:var(--brand-tone-e8deef);color:var(--brand-tone-583d70)}
body .sidebar-user{border-color:var(--brand-tone-e0d6e8)}body .dashboard-topbar{border-color:var(--brand-tone-e0d6e8)}
body .restaurant-monogram,body .avatar,body .location-monogram{background:var(--brand-tone-e8deef);color:var(--brand-tone-583d70)}
body .auth-story{background:var(--brand-tone-f2edf6);color:var(--brand-tone-37273f)}body .auth-story h1,body .auth-story .brand{color:var(--brand-tone-37273f)}
body .subscription-current{background:var(--brand-tone-37273f)}body .pricing-refresh .pro-plan{background:var(--brand-tone-37273f)}
body .feature-icon{background:var(--brand-tone-e8deef);color:var(--brand-tone-583d70)}
