/* Reset basic spacing styles */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Arial Rounded MT Bold', Tahoma, Geneva, Verdana, sans-serif;
    display: flex;
    flex-direction: column;
    height: 100vh;
    background-color: #40340e;
    overflow: hidden;
}

/* Header Styling */
header {
    background-color: #11264f;
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 40px;
    height: 70px;
    z-index: 10;
    position: relative;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.logo {
    font-size: 42px;
    font-weight: 500;
    letter-spacing: -1px;
    user-select: none;
}

.nav-links a {
    color: #cbd5e1;
    text-decoration: none;
    margin-left: 25px;
    font-size: 16px;
}

.nav-links a:hover {
    color: white;
}

/* Viewport for Infinite Grid */
main {
    flex: 1;
    background-color: #40340e; /* Darker background spacing color */
    position: relative;
    overflow: hidden;
    cursor: grab;
}

main:active {
    cursor: grabbing;
}

/* Infinite Canvas Element */
#infinite-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

/* Hexagon Outer Container */
.hexagon {
    position: absolute;
    width: 160px;
    height: 140px;
    background-color: #40340e; /* Matches the background grid color gaps */
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    cursor: pointer;
}

/* The Inner Colored Hexagon */
.hexagon-inner {
    position: absolute;
    width: 100%;
    height: 100%;
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
    /* Changed scale from 0.95 to 0.88 to increase the dark spacing gaps between items */
    transform: scale(0.88); 
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    transition: filter 0.15s ease, transform 0.15s ease;
}

/* Hover Interactivity */
.hexagon:hover .hexagon-inner {
    filter: brightness(1.15);
    transform: scale(1.01); /* Scales up slightly further on hover for dynamic click-feel */
}

/* Hexagon Text Layout */
.hexagon-inner span {
    color: #000000;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    line-height: 1.3;
    user-select: none;
    word-wrap: break-word;
}

/* Footer Styling */
footer {
    background-color: #ba8041;
    color: #94a3b8;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 40px;
    height: 75px;
    font-size: 14px;
    z-index: 10;
    position: relative;
    box-shadow: 0 -4px 10px rgba(0,0,0,0.3);
}

.footer-left, .footer-right {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.footer-left a, .footer-right a {
    color: hsl(0, 0%, 26%);
    text-decoration: none;
}

.footer-left a:hover, .footer-right a:hover {
    color: white;
}

.footer-center {
    color: #000000;
}