:root {
            --primary: #ffcf4b;
            --primary-dark: #f1b70e;
            --bg: #fdfdfd;
            --text: #2d3436;
            --card-bg: #ffffff;
            --border: #f1f1f1;
            --insta: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
        }

        body {
            font-family: -apple-system, system-ui, "Segoe UI Emoji", sans-serif;
            background-color: var(--bg);
            color: var(--text);
            margin: 0; padding: 0;
            display: flex; flex-direction: column; align-items: center;
        }

        /* TOP CROSS-PROMO BANNER */
        .promo-banner-ig {
            background: var(--insta);
            color: white; padding: 12px; text-align: center;
            font-weight: bold; display: block; text-decoration: none;
            width: calc(100% - 24px); font-size: 0.9rem; box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            position: relative; z-index: 1001;
        }
        .promo-banner-ig:hover { filter: brightness(1.1); }

        header {
            background: linear-gradient(135deg, #ffcf4b 0%, #ff9f43 100%);
            width: 100%; padding: 45px 0;
            text-align: center; color: #443300;
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
        }

        h1 { margin: 0; font-size: 2.6rem; font-weight: 900; letter-spacing: -1px; }
        .subtitle { margin: 10px 0 15px; opacity: 0.9; font-size: 1.1rem; }

        .bookmark-btn {
            background: rgba(255,255,255,0.3); border: 1px solid rgba(0,0,0,0.1);
            padding: 5px 15px; border-radius: 20px; cursor: pointer;
            font-size: 0.8rem; font-weight: bold; color: #443300; transition: 0.2s;
        }
        .bookmark-btn:hover { background: white; }

        .container { width: 95%; max-width: 1000px; margin: 25px 0; }

        .search-container {
            position: sticky; top: 15px; z-index: 1000;
            background: var(--card-bg); padding: 15px; border-radius: 15px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1); margin-bottom: 30px; border: 1px solid var(--border);
        }

        #emojiSearch {
            width: 100%; padding: 18px; border: 2px solid #eee;
            border-radius: 12px; font-size: 1.2rem; outline: none; box-sizing: border-box;
        }

        .section-header-row {
            display: flex; justify-content: space-between; align-items: center;
            margin: 40px 0 15px; border-left: 5px solid var(--primary); padding-left: 15px;
        }

        .show-all-btn {
            background: #fff; border: 1px solid #ddd; color: #777;
            padding: 6px 15px; border-radius: 20px; cursor: pointer; font-size: 0.85rem; font-weight: bold;
        }
        .show-all-btn:hover { background: var(--primary); color: #443300; border-color: var(--primary); }

        .emoji-grid {
            display: grid; grid-template-columns: repeat(auto-fill, minmax(65px, 1fr)); gap: 10px;
        }

        .emoji-item {
            background: white; border: 1px solid var(--border); border-radius: 12px;
            padding: 15px 5px; font-size: 2rem; cursor: pointer;
            text-align: center; transition: all 0.1s;
        }
        .emoji-item:hover { transform: scale(1.15); box-shadow: 0 5px 15px rgba(0,0,0,0.08); border-color: var(--primary); z-index: 10; }

        #scrollTop {
            position: fixed; bottom: 20px; right: 20px;
            background: var(--primary); width: 45px; height: 45px;
            border-radius: 50%; display: none; align-items: center;
            justify-content: center; cursor: pointer; font-weight: bold; z-index: 999;
            box-shadow: 0 4px 10px rgba(0,0,0,0.2);
        }

        #copyNotice {
            position: fixed; top: 20px; right: 20px;
            background: #2ecc71; color: white; padding: 12px 25px;
            border-radius: 10px; font-weight: bold; transform: translateX(200%);
            transition: 0.3s; z-index: 10001;
        }
        #copyNotice.show { transform: translateX(0); }

        /* FOOTER CROSS-PROMO */
        footer { padding: 60px 20px; text-align: center; color: #999; font-size: 0.9rem; background: #f8f8f8; width: 100%; box-sizing: border-box; border-top: 1px solid #eee; }
        .footer-links { margin-bottom: 25px; }
        .footer-links a { color: #555; text-decoration: none; margin: 0 10px; font-weight: bold; transition: color 0.2s; }
        .footer-links a:hover { color: var(--primary-dark); }
        .promo-banner-footer {
            display: inline-block; background: var(--insta);
            color: white; padding: 12px 20px; text-align: center;
            font-weight: bold; text-decoration: none; border-radius: 30px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1); transition: filter 0.2s;
        }
        .promo-banner-footer:hover { filter: brightness(1.1); }

        /* --- COOKIE CONSENT BAR --- */
.cookie-bar {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    background: #2d3436;
    color: white;
    padding: 15px 25px;
    border-radius: 12px;
    display: none; /* Skryté, dokud JS nerozhodne jinak */
    align-items: center;
    justify-content: space-between;
    z-index: 10000;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    max-width: 600px;
    margin: 0 auto;
    font-size: 0.85rem;
}

.cookie-bar p { margin: 0; padding-right: 20px; color: #dfe6e9; line-height: 1.4; }
.cookie-bar a { color: #81ecec; text-decoration: underline; }

.cookie-btn {
    background: var(--primary);
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: bold;
    white-space: nowrap;
}

@media (max-width: 600px) {
    .cookie-bar { flex-direction: column; text-align: center; gap: 15px; bottom: 10px; left: 10px; right: 10px; }
    .cookie-bar p { padding-right: 0; }
}
