/* Base Page Styling */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background-color: #f8f9fa;
    color: #212529;
}

/* Force Reset All Cards & Elements to Full Elastic Width */
*, *::before, *::after {
    box-sizing: border-box !important;
}

.card, .tool-card, div[class*="col-"] {
    min-width: 0 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

/* Standalone Grid Layout System */
.grid-container {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 1.5rem !important;
    width: 100% !important;
}

.tool-card {
    background: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 10px !important;
    padding: 1.25rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
    width: 100% !important;
}

.tool-card p, .tool-card h5, .tool-card span {
    word-break: normal !important;
    white-space: normal !important;
}

/* Button & Vote Styling */
.vote-btn {
    cursor: pointer;
}