/* ====================================
   BUTTON COMPONENTS
   PRISM Insurance Brokers Limited
   Navy #0d1f42 | Blue #1a4fd6 | Gold #c8a450
   ==================================== */

.btn {
    box-shadow: none;
    border-radius: var(--border-radius-sm);
    font-weight: 600;
    transition: var(--transition-normal);
    font-size: var(--font-size-sm);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    justify-content: center;
}


/* ── Primary — Navy ── */
.btn-primary {
    background: var(--primary-color);          /* #0d1f42 navy */
    border-color: var(--primary-color);
    color: white;
}
.btn-primary:hover {
    background: var(--primary-light-color);    /* #153370 mid-navy */
    border-color: var(--primary-light-color);
    color: white;
    box-shadow: var(--shadow-medium);
}
.btn-focus:hover,
.btn-focus:active {
    background: var(--primary-light-color);
}
.btn-outline-primary {
    background: transparent;
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
}
.btn-outline-primary:hover {
    background: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
}


/* ── Secondary — PRISM Blue ── */
.btn-secondary {
    background: transparent;
    color: var(--secondary-color);             /* #1a4fd6 blue */
    border: 2px solid var(--secondary-color);
}
.btn-secondary:hover {
    background: var(--secondary-color);
    color: white;
    box-shadow: 0 8px 25px rgba(26, 79, 214, 0.3);
}
.btn-outline-secondary {
    background: transparent;
    color: var(--secondary-color);
    border: 2px solid var(--secondary-color);
}
.btn-outline-secondary:hover {
    background: var(--secondary-color);
    color: white;
    box-shadow: 0 8px 25px rgba(26, 79, 214, 0.3);
}


/* ── Gold / Accent — PRISM signature CTA ── */
.btn-gold,
.btn-accent {
    background: var(--accent-color);           /* #c8a450 gold */
    color: var(--primary-color);               /* navy text on gold */
    border: none;
    font-weight: 700;
}
.btn-gold:hover,
.btn-accent:hover {
    background: #e0b55c;                       /* lighter gold */
    color: var(--primary-color);
    box-shadow: var(--shadow-gold);
}
.btn-outline-gold,
.btn-outline-accent {
    background: transparent;
    color: var(--accent-color);
    border: 2px solid var(--accent-color);
}
.btn-outline-gold:hover,
.btn-outline-accent:hover {
    background: var(--accent-color);
    color: var(--primary-color);
    box-shadow: var(--shadow-gold);
}


/* ── Success ── */
.btn-success {
    background: var(--success-gradient);
    color: white;
    border: none;
}
.btn-success:hover {
    box-shadow: 0 8px 25px rgba(72, 187, 120, 0.3);
}
.btn-outline-success {
    background: transparent;
    color: var(--success-color);
    border: 2px solid var(--success-color);
}
.btn-outline-success:hover {
    background: var(--success-color);
    color: white;
}


/* ── Warning ── */
.btn-warning {
    background: var(--warning-gradient);
    color: white;
    border: none;
}
.btn-warning:hover {
    box-shadow: 0 8px 25px rgba(245, 158, 11, 0.3);
}
.btn-outline-warning {
    background: transparent;
    color: var(--warning-color);
    border: 2px solid var(--warning-color);
}
.btn-outline-warning:hover {
    background: var(--warning-color);
    color: white;
}


/* ── Danger ── */
.btn-danger {
    background: var(--danger-gradient);
    color: white;
    border: none;
}
.btn-danger:hover {
    box-shadow: 0 8px 25px rgba(220, 53, 69, 0.3);
}
.btn-outline-danger {
    background: transparent;
    color: var(--danger-color);
    border: 2px solid var(--danger-color);
}
.btn-outline-danger:hover {
    background: var(--danger-color);
    color: white;
}


/* ── Info — PRISM Blue alias ── */
.btn-info {
    background: var(--secondary-color);        /* #1a4fd6 blue */
    color: white;
    border: none;
}
.btn-info:hover {
    background: var(--primary-light-color);
    box-shadow: 0 8px 25px rgba(26, 79, 214, 0.3);
}
.btn-outline-info {
    background: transparent;
    color: var(--secondary-color);
    border: 2px solid var(--secondary-color);
}
.btn-outline-info:hover {
    background: var(--secondary-color);
    color: white;
    box-shadow: 0 8px 25px rgba(26, 79, 214, 0.3);
}


/* ── Light ── */
.btn-light {
    background: var(--light-color);
    color: var(--text-dark);
    border: 1px solid var(--border-color);
}
.btn-light:hover {
    background: #e8ecf5;
    box-shadow: var(--shadow-soft);
}
.btn-outline-light {
    background: transparent;
    color: var(--text-light);
    border: 2px solid rgba(255, 255, 255, 0.4);
}
.btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.12);
    color: white;
    border-color: white;
}


/* ── Dark / Navy ── */
.btn-dark {
    background: var(--primary-color);
    color: white;
    border: none;
}
.btn-dark:hover {
    background: var(--primary-light-color);
    color: white;
    box-shadow: var(--shadow-medium);
}


/* ── Nav CTA (matches PRISM navbar) ── */
.btn-nav-cta {
    background: var(--accent-color);           /* gold */
    color: var(--primary-color) !important;    /* navy text */
    font-weight: 700 !important;
    border-radius: 3px;
    padding: 0.4rem 1.2rem !important;
    border: none;
}
.btn-nav-cta:hover {
    background: #e0b55c;
    color: var(--primary-color) !important;
}
