/**
 * TRB Insurance Links - Styles
 */

/* Error messages */
.trb-insurance-error {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
    padding: 12px 16px;
    border-radius: 4px;
    margin: 10px 0;
}

/* Link container layouts */
.trb-insurance-buttons-container {
    display: flex;
    gap: 15px;
    margin: 20px 0;
}

.trb-insurance-buttons-container.trb-insurance-layout-horizontal {
    flex-direction: row;
    flex-wrap: wrap;
}

.trb-insurance-buttons-container.trb-insurance-layout-vertical {
    flex-direction: column;
    max-width: 300px;
}

/* Base link styles - minimal to avoid conflicts with Breakdance */
.trb-insurance-link {
    /* Only essential functionality, no layout styles */
    position: relative;
}

.trb-insurance-link.loading {
    opacity: 0.7;
    cursor: not-allowed;
}

/* Default style - TRB brand colors */
.trb-insurance-link.trb-insurance-style-default {
    background-color: #866b4b;
    color: #ffffff;
    border-color: #866b4b;
}

.trb-insurance-link.trb-insurance-style-default:hover {
    background-color: #6f5939;
    border-color: #6f5939;
    color: #ffffff;
}

/* Primary style - darker brown */
.trb-insurance-link.trb-insurance-style-primary {
    background-color: #6f5939;
    color: #ffffff;
    border-color: #6f5939;
}

.trb-insurance-link.trb-insurance-style-primary:hover {
    background-color: #5a4729;
    border-color: #5a4729;
    color: #ffffff;
}

/* Secondary style - outlined */
.trb-insurance-link.trb-insurance-style-secondary {
    background-color: transparent;
    color: #866b4b;
    border-color: #866b4b;
}

.trb-insurance-link.trb-insurance-style-secondary:hover {
    background-color: #866b4b;
    color: #ffffff;
}

/* Product-specific accent colors (optional subtle variations) */
.trb-insurance-link.trb-insurance-auto {
    /* Auto insurance - use default */
}

.trb-insurance-link.trb-insurance-home {
    /* Home insurance - use default */
}

.trb-insurance-link.trb-insurance-renters {
    /* Renters insurance - use default */
}

/* Loading spinner */
.trb-insurance-spinner {
    display: inline-flex;
    align-items: center;
}

.spinner-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: trb-spin 0.8s linear infinite;
}

@keyframes trb-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Link text animation */
.trb-insurance-link.loading .trb-insurance-link-text {
    opacity: 0.8;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .trb-insurance-buttons-container.trb-insurance-layout-horizontal {
        flex-direction: column;
        max-width: 300px;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .spinner-icon {
        animation: none;
        border-top-color: rgba(255, 255, 255, 0.3);
    }
}
