/* ══════════════════════════════════════════
   SHARED STYLES — humbert.
   Inclòs a totes les pàgines
   ══════════════════════════════════════════ */

/* ── Custom Cursor (desktop only) ── */
@media (min-width: 769px) {
    * { cursor: none !important; }
    .cursor {
        position: fixed;
        top: 0; left: 0;
        width: 16px; height: 16px;
        border-radius: 50%;
        border: 1.5px solid #fff;
        pointer-events: none;
        z-index: 99999;
        transition: width 0.2s ease, height 0.2s ease, background 0.2s ease, box-shadow 0.3s ease;
        transform: translate(-50%, -50%);
        mix-blend-mode: difference;
    }
    .cursor--hover {
        width: 40px;
        height: 40px;
        background: rgba(255,255,255,0.1);
    }
    .cursor--selecting {
        width: 24px;
        height: 24px;
        box-shadow: 0 0 20px rgba(255,255,255,0.4), 0 0 40px rgba(255,255,255,0.15);
    }
}
@media (max-width: 768px) {
    .cursor { display: none !important; }
}

/* ── Text Selection ── */
::selection {
    background: #fff;
    color: #000;
}

/* Light sections: invert selection */
.section--light ::selection,
.topbar ::selection,
article ::selection,
.blog-container ::selection {
    background: #000;
    color: #fff;
}

/* Body pulse when text is selected */
body.has-selection {
    animation: selectionPulse 1.5s ease infinite;
}
@keyframes selectionPulse {
    0%, 100% { filter: brightness(1); }
    50% { filter: brightness(1.03); }
}

/* ── Consistent topbar for inner pages ── */
.topbar {
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    padding: 1.5rem clamp(1.2rem, 3vw, 4rem);
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 100;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.topbar--dark {
    background: rgba(0,0,0,0.9);
}
.topbar__logo { height: 1.3rem; text-decoration: none; }
.topbar__logo img { height: 100%; width: auto; display: block; }
.topbar__nav {
    display: flex;
    gap: clamp(1rem, 2vw, 1.8rem);
    align-items: center;
}
.topbar__link {
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 700;
    font-size: clamp(0.6rem, 0.85vw, 0.75rem);
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #111;
    text-decoration: none;
    transition: opacity 0.3s;
}
.topbar__link:hover { opacity: 0.5; }
.topbar--dark .topbar__link { color: #fff; }
