/*
 * Aikido.Digital brand colour overrides
 * Applied to non-authenticated (public-facing) pages only.
 *
 * Palette sourced from https://aikidodigital.com/
 *   --ad-orange      : #F27D2A  – primary brand accent
 *   --ad-orange-dark : #D4671A  – hover / active shade
 *   --ad-yellow      : #FFF46E  – bright CTA background (marketing site --bright-yellow)
 *   --ad-cream       : #FFECB0  – warm highlight (marketing site --light-cream)
 *   --ad-dark        : #262626  – dark text / backgrounds (marketing site --dark-gray)
 *   --ad-footer-bg   : #1a1a1a  – footer background
 */

/* ── Custom properties ─────────────────────────────────────────── */
:root {
    --ad-orange:      #F27D2A;
    --ad-orange-dark: #D4671A;
    --ad-yellow:      #FFF46E;
    --ad-cream:       #FFECB0;
    --ad-dark:        #262626;
    --ad-footer-bg:   #1a1a1a;
}

/* ── Navbar ────────────────────────────────────────────────────── */
.navbar.bg-dark {
    background-color: var(--ad-dark) !important;
}

.navbar-brand {
    color: var(--ad-orange) !important;
    font-weight: 700;
}

.navbar-brand:hover,
.navbar-brand:focus {
    color: var(--ad-cream) !important;
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.85);
    transition: color 0.2s ease;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link.active {
    color: var(--ad-orange) !important;
}

/* ── Body links ────────────────────────────────────────────────── */
main a:not(.btn):not(.navbar-brand) {
    color: var(--ad-orange);
    transition: color 0.2s ease;
}

main a:not(.btn):not(.navbar-brand):hover,
main a:not(.btn):not(.navbar-brand):focus {
    color: var(--ad-orange-dark);
    text-decoration: underline;
}

/* ── Primary buttons ───────────────────────────────────────────── */
.btn-primary {
    background-color: var(--ad-orange);
    border-color:     var(--ad-orange);
    color: #fff;
    font-weight: 600;
    border-radius: 4px;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active {
    background-color: var(--ad-orange-dark);
    border-color:     var(--ad-orange-dark);
    color: #fff;
    transform: translateY(-1px);
}

.btn-primary:focus,
.btn-primary:focus-visible {
    box-shadow: 0 0 0 3px rgba(242, 125, 42, 0.35);
}

/* ── Outline-primary buttons ───────────────────────────────────── */
.btn-outline-primary {
    color:        var(--ad-orange);
    border-color: var(--ad-orange);
    font-weight: 500;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary:not(:disabled):not(.disabled):active {
    background-color: var(--ad-orange);
    border-color:     var(--ad-orange);
    color: #fff;
    transform: translateY(-1px);
}

.btn-outline-primary:focus,
.btn-outline-primary:focus-visible {
    box-shadow: 0 0 0 3px rgba(242, 125, 42, 0.35);
}

/* ── Outline-secondary org-header buttons ──────────────────────── */
.org-header .btn-outline-secondary,
.btn-outline-secondary.btn-block {
    color:        var(--ad-dark);
    border-color: var(--ad-orange);
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}

.org-header .btn-outline-secondary:hover,
.org-header .btn-outline-secondary:focus,
.btn-outline-secondary.btn-block:hover,
.btn-outline-secondary.btn-block:focus {
    background-color: var(--ad-orange);
    border-color:     var(--ad-orange);
    color: #fff;
    transform: translateY(-1px);
}

/* ── Cookie-alert accept button ────────────────────────────────── */
.acceptcookies.btn-primary {
    /* inherits .btn-primary overrides above */
}

/* ── Error & alert messages ────────────────────────────────────── */
/* Inline error span (login page) */
span.error {
    display: block;
    margin: 0.5rem auto;
    max-width: 400px;
    padding: 0.6rem 1rem;
    border-radius: 4px;
    background-color: #fdf0e8;
    border: 1px solid var(--ad-orange);
    color: #7a2f00;
    font-size: 0.9rem;
}

/* Bootstrap alert-danger: tint with brand orange */
.alert-danger {
    background-color: #fdf0e8;
    border-color:     var(--ad-orange);
    color: #7a2f00;
}

/* Bootstrap alert-warning: tint with brand cream */
.alert-warning {
    background-color: var(--ad-cream);
    border-color:     var(--ad-orange);
    color: var(--ad-dark);
}

/* Form validation text */
.text-danger {
    color: var(--ad-orange-dark) !important;
}

/* ── Focus outlines (accessibility) ────────────────────────────── */
a:focus,
button:focus,
.btn:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 3px solid var(--ad-orange);
    outline-offset: 2px;
}

a:focus-visible,
button:focus-visible,
.btn:focus-visible {
    outline: 3px solid var(--ad-orange);
    outline-offset: 2px;
}

/* ── Card accents ───────────────────────────────────────────────── */
.card {
    border-color: #e8d5c4;
}

.card-header {
    border-bottom-color: #e8d5c4;
    background-color: #fdf8f4;
}

/* ── Footer ─────────────────────────────────────────────────────── */
.footer {
    background-color: var(--ad-footer-bg);
    color: #ccc;
}

.footer .text-muted {
    color: #aaa !important;
}

.footer a {
    color: var(--ad-orange);
    transition: color 0.2s ease;
}

.footer a:hover {
    color: var(--ad-cream);
}

/* ── Jumbotron (home page) ──────────────────────────────────────── */
.jumbotron-heading {
    color: var(--ad-dark);
}

.jumbotron .btn-primary {
    background: linear-gradient(135deg, var(--ad-orange), #ff8c42);
    border-color: var(--ad-orange);
    color: #fff;
    padding: 0.6rem 1.8rem;
    border-radius: 50px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.jumbotron .btn-primary:hover {
    background: linear-gradient(135deg, var(--ad-orange-dark), var(--ad-orange));
    border-color: var(--ad-orange-dark);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(242, 125, 42, 0.4);
}

