/* hives.css â€” Nodist Hives Page */

#hives-page {
    width: 96vw;
    max-width: 1200px;
    margin: 0 auto;
    padding: 2vw 0 4vw 0;
    height:auto;
}

/* â”€â”€ 5-tile nav: vw-based width so 5 cells always fit in one row, zero queries â”€â”€ */
.hive-nav {
    list-style: none;
    margin: 0 auto 1vw auto;
    padding: 0 0 4.4vw 0;
    text-align: center;
    overflow: visible;
    font-size: 0;
    width: 100%;
}

.hive-nav-cell {
    display: inline-block;
    width: 16vw;
    min-width: 52px;
    max-width: 160px;
    height: 8.8vw;
    min-height: 28px;
    max-height: 88px;
    margin-top: 4.4vw;
    margin-bottom: 0;
    margin-left: 0.8vw;
    margin-right: 0.8vw;
    position: relative;
    vertical-align: top;
    z-index: 1;

}

.hive-nav-cell a {
    display: block;
    position: absolute;
    top: -50%;
    left: 0;
    width: 100%;
    height: 200%;
    text-decoration: none;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    background: rgba(0,12,25,0.10);
    color: rgba(0,160,255,0.9);
    font-family: 'Share Tech Mono', monospace;
    font-size: min(0.72rem, 1.8vw);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    transition: background 0.25s, color 0.25s;
    z-index: 1;
    box-sizing: border-box;
    padding-top: 4.4vw;
}

.hive-nav-cell a::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    background: rgba(0,10,10,0.18);
    transform: scale(1.055);
    z-index: -1;
    transition: background 0.25s;
}

.hive-nav-cell a:hover,
.hive-nav-cell a.active {
    background: rgba(0,10,25,0.22);
    color: #fff;
}

.hive-nav-cell a:hover::before,
.hive-nav-cell a.active::before {
    background: rgba(10,10,25,0.35);
}

.hive-nav-cell a small {
    display: block;
    font-size: min(0.58rem, 1.4vw);
    font-weight: 300;
    opacity: 0.7;
    margin-top: 0.2em;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* â”€â”€ Honeycomb results grid â”€â”€ */
.honeycomb {
    list-style: none;
    text-align: center;
    margin: 0 auto;
    padding: 0 0 60px 0;
    max-width: 1200px;
    font-size: 0;
    overflow: hidden;
    transform: translateY(27px);
}

.honeycomb-cell {
    display: inline-block;
    vertical-align: top;
    width: 100px;
    min-width: 50px;
    max-width: 160px;
    height: 55px;
    margin: 52px 10px 10px 10px;
    position: relative;
    padding: 0.5em;
    text-align: center;
    z-index: 1;
}

.honeycomb-cell__title {
    display: table-cell;
    vertical-align: middle;
    width: 200px;
    height: 100%;
    hyphens: auto;
    word-break: break-word;
    text-transform: uppercase;
    color: rgba(180,230,255,0.95);
    font-family: 'Share Tech Mono', monospace;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    transition: opacity 350ms;
    pointer-events: none;
    position: relative;
    z-index: 2;
}

.honeycomb-cell__title small {
    display: block;
    font-weight: 300;
    margin-top: 0.25em;
    font-size: 0.62rem;
    opacity: 0.7;
}

.honeycomb-cell::before,
.honeycomb-cell::after {
    content: '';
    top: -50%;
    left: 0;
    width: 100%;
    height: 200%;
    display: block;
    position: absolute;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    z-index: -1;
}

.honeycomb-cell a {
    top: -50%;
    left: 0;
    width: 100%;
    height: 200%;
    display: block;
    position: absolute;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    text-decoration: none;
    z-index: 1;
}

.honeycomb-cell::before {
    background: rgba(0,160,0,0.22);
    transform: scale(1.055);
}

.honeycomb-cell::after {
    background: rgba(0,80,160,0.45);
    transition: opacity 350ms;
}

.honeycomb-cell:hover .honeycomb-cell__title { opacity: 0; }
.honeycomb-cell:hover::before { background: rgba(15,109,150,0.2);color:#FFF; }
.honeycomb-cell:hover::after  { opacity: 0; }

.honeycomb__placeholder {
    display: none;
    opacity: 0;
    width: 200px;
    margin: 0 10px;
    pointer-events: none;
}

/* stagger rules â€” only affect .honeycomb result grids, not nav */
@media (max-width: 440px) {
    .honeycomb-cell { margin: 30px 10px; }
}
@media (min-width: 440px) and (max-width: 660px) {
    .honeycomb-cell:nth-child(3n) {
        margin-right: calc(50% - 100px);
        margin-left:  calc(50% - 100px);
    }
    .honeycomb__placeholder:nth-child(3n + 5) { display: inline-block; }
}
@media (min-width: 660px) and (max-width: 880px) {
    .honeycomb-cell:nth-child(5n + 4) { margin-left:  calc(50% - 220px); }
    .honeycomb-cell:nth-child(5n + 5) { margin-right: calc(50% - 220px); }
    .honeycomb__placeholder:nth-child(5n),
    .honeycomb__placeholder:nth-child(5n + 3) { display: inline-block; }
}
@media (min-width: 880px) {
    .honeycomb-cell:nth-child(7n + 5) { margin-left: calc(50% - 320px); }
    .honeycomb-cell:nth-child(7n + 7),
    .honeycomb-cell:nth-child(7n + 5):nth-last-child(2) { margin-right: calc(50% - 320px); }
    .honeycomb__placeholder:nth-child(7n + 7),
    .honeycomb__placeholder:nth-child(7n + 9),
    .honeycomb__placeholder:nth-child(7n + 11) { display: inline-block; }
}

.honeycomb-cell--active::after { background: rgba(0,14,55,0.65); }
.honeycomb-cell--active .honeycomb-cell__title { color: #fff; }

#hive-search-content {
    text-align: center;
    padding: 4vw 0 3vw 0;
}
#hive-search-input {
    background: rgba(0,40,80,0.5);
    border: 1px solid rgba(0,160,255,0.25);
    color: rgba(180,220,255,0.9);
    font-family: 'Share Tech Mono', monospace;
    font-size: 1.1rem;
    padding: 0.6em 1.2em;
    border-radius: 4px;
    width: min(480px, 72vw);
    outline: none;
}
#hive-search-input::placeholder { color: rgba(0,160,255,0.35); }
#hive-search-form button {
    border: 1px solid rgba(0,160,255,0.3);
    color: rgba(200,200,255,0.9);
    font-family: 'Share Tech Mono', monospace;
    font-size: 0.9rem;
    padding: 0.6em 1.4em;
    cursor: pointer;
    border-radius: 4px;
    margin-left: 8px;
    transition: background 0.2s;
}
#hive-search-form button:hover { background: rgba(0,160,255,0.3); color: #fff; }

.hive-section-label {
    text-align: center;
    font-family: 'Share Tech Mono', monospace;
    font-size: 1rem;
    font-weight: 400;
    color: rgba(0,160,255,0.5);
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin: 2vw 0 0 0;
}

@keyframes hive-in {
    from { opacity: 0; transform: scale(0.82); }
    to   { opacity: 1; transform: scale(1); }
}
.honeycomb-cell { animation: hive-in 0.35s ease both; }
.honeycomb-cell:nth-child(1)  { animation-delay: 0.02s; }
.honeycomb-cell:nth-child(2)  { animation-delay: 0.04s; }
.honeycomb-cell:nth-child(3)  { animation-delay: 0.06s; }
.honeycomb-cell:nth-child(4)  { animation-delay: 0.08s; }
.honeycomb-cell:nth-child(5)  { animation-delay: 0.10s; }
.honeycomb-cell:nth-child(6)  { animation-delay: 0.12s; }
.honeycomb-cell:nth-child(7)  { animation-delay: 0.14s; }
.honeycomb-cell:nth-child(8)  { animation-delay: 0.16s; }
.honeycomb-cell:nth-child(9)  { animation-delay: 0.18s; }
.honeycomb-cell:nth-child(10) { animation-delay: 0.20s; }
.honeycomb-cell:nth-child(11) { animation-delay: 0.22s; }
.honeycomb-cell:nth-child(12) { animation-delay: 0.24s; }
.honeycomb-cell:nth-child(13) { animation-delay: 0.26s; }
.honeycomb-cell:nth-child(14) { animation-delay: 0.28s; }
.honeycomb-cell:nth-child(15) { animation-delay: 0.30s; }
.honeycomb-cell:nth-child(16) { animation-delay: 0.32s; }
.honeycomb-cell:nth-child(17) { animation-delay: 0.34s; }
.honeycomb-cell:nth-child(18) { animation-delay: 0.36s; }
.honeycomb-cell:nth-child(19) { animation-delay: 0.38s; }
.honeycomb-cell:nth-child(20) { animation-delay: 0.40s; }
.honeycomb-cell:nth-child(21) { animation-delay: 0.42s; }

#hive-empty {
    text-align: center;
    color: rgba(0,0,0,0.4);
    font-family: 'Share Tech Mono', monospace;
    font-size: 0.9rem;
    padding: 4vw 0;
    letter-spacing: 0.1em;
}