[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-global-data":3,"\n\nfragment ContentAreaFieldsFragment on ContentAreaFields {\n  __typename\n  content {\n    ... on ContentAreaFieldsContentTableLayout {\n      __typename\n      tableGroup {\n        headerColor\n        tableDescription\n        headers {\n          align\n          text\n        }\n        rows {\n          cells {\n            align\n            contentType\n            text\n            link {\n              target\n              title\n              url\n            }\n          }\n        }\n      }\n    }\n    \n    ...on ContentAreaFieldsContentNoticeLayout {\n      __typename\n      noticeGroup {\n        heading\n        text\n        enableCardIcon\n        button {\n          variant\n          link {\n            target\n            title\n            url\n          }\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentProAndConLayout {\n      __typename\n      proAndConGroup {\n        prosSectionTitle\n        consSectionTitle\n        itemsToDisplay\n        pros {\n          text\n        }\n        cons {\n          text\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentStepsLayout {\n      __typename\n      stepsGroup {\n        variant\n        steps {\n          title\n          description\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentQuoteLayout {\n      __typename\n      quoteGroup {\n        client\n        description\n      }\n    }\n\n    ... on ContentAreaFieldsContentDropdownLayout {\n      __typename\n      dropdownGroup {\n        items {\n          title\n          description\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentOfferImageInfoLayout {\n      __typename\n      offerImageInfoGroup {\n        heading\n        description1\n        description2\n        link {\n          target\n          title\n          url\n        }\n        image {\n          node {\n            altText\n            sourceUrl\n            mediaDetails {\n              width\n              height\n            }\n          }\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentFaqLayout {\n      __typename\n      faqGroup {\n        iconName\n        content\n        items {\n          title\n          answer\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentNumberedCardsLayout {\n      __typename\n      numberedCardsGroup {\n        variant\n        pillLabel\n        heading\n        items {\n          title\n          description\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentWysiwygLayout {\n      __typename\n      wysiwygGroup {\n        content\n      }\n    }\n\n    ... on ContentAreaFieldsContentTabsContentLayout {\n      __typename\n      tabsContentGroup {\n        tabs {\n          tabName\n          image {\n            node {\n              altText\n              sourceUrl\n              mediaDetails {\n                width\n                height\n              }\n            }\n          }\n          affLink {\n            target\n            title\n            url\n          }\n          pageLink {\n            target\n            title\n            url\n          }\n          content\n        }\n      }\n    }\n    \n    ... on ContentAreaFieldsContentSingleOfferLayout {\n      singleOfferGroup {\n        offer {\n          nodes {\n            ... on Offer {\n              ...ComsOfferCardFragment\n            }\n          }\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentTpsCalculatorLayout {\n      __typename\n      tpsCalculatorGroup {\n        content\n        ctaLink {\n          title\n          url\n          target\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentOfferListLayout {\n      __typename\n      offerListGroup {\n        theme\n        displayMode\n        count\n        queryMode\n        cardVariantFilter\n        bonusKindFilter\n        offerTagFilter\n        offerTypeFilter\n        casinoIds\n        titlePatternIds\n        sectionSubtitle\n        sectionTitle\n        asPageH1\n        titleAlign\n        viewAllLabel\n        viewAllUrl\n      }\n      # Resolved server-side (bfd v1.2.138) so the block renders without firing\n      # GetComsOfferListBlock after this query returns — that second request is a serial\n      # waterfall on the critical path, and ~1s of it is fixed per-request overhead.\n      #\n      # No arguments: every filter above is ACF the resolver reads itself, and the block\n      # paginates client-side over rows it already has. Unlike blogListData there is no\n      # route state to hand through.\n      offerListData {\n        items {\n          # patternTitle, not patternTitles(ids:), because the id set is PER BLOCK and a\n          # document variable can only carry one — the homepage renders six of these blocks\n          # with six different sets. PHP sees each block's own ACF, so PHP picks the title.\n          patternTitle\n          # The rank PHP sorted on. Selected so mapComsOffers' re-sort is a verifiable no-op\n          # rather than a silent reordering.\n          tps\n          offer {\n            ...ComsOfferCardFragment\n          }\n        }\n        pageInfo {\n          perPage\n          hasNextPage\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentHeroLayout {\n      __typename\n      heroGroup {\n        heroImage {\n          node {\n            altText\n            sourceUrl\n            mediaDetails {\n              width\n              height\n            }\n          }\n        }\n        headingImage {\n          node {\n            altText\n            sourceUrl\n            mediaDetails {\n              width\n              height\n            }\n          }\n        }\n        ctaLabel\n        ctaLink {\n          url\n          title\n          target\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentContactFormLayout {\n      __typename\n      contactFormGroup {\n        formId\n        submitLabel\n        successMessage\n      }\n    }\n\n    ... on ContentAreaFieldsContentShortcodeLayout {\n      __typename\n      shortcode\n      renderedHtml\n    }\n\n    ... on ContentAreaFieldsContentLegalDocumentLayout {\n      __typename\n      documentSlug\n      documentTitle\n      renderedHtml\n    }\n\n    ... on ContentAreaFieldsContentAnchorLayout {\n      __typename\n      anchorId\n    }\n\n    ... on ContentAreaFieldsContentSlotListLayout {\n      __typename\n      slotListGroup {\n        count\n        displayMode\n        sortBy\n        variant\n        gameProducerSlug\n        gameCategorySlug\n        casinoSlug\n        sectionSubtitle\n        sectionTitle\n        titleAlign\n        viewAllLabel\n        viewAllUrl\n      }\n      slotListData {\n        variant\n        items {\n          title\n          href\n          previewImageUrl\n          logoUrl\n          categoryLabel\n          producerName\n          producerHref\n          metaRows {\n            label\n            value\n          }\n          rtp\n          volatility\n          wagering\n          casinoName\n          tps\n          tpsMaxScore\n          offerTitle\n          spinCount\n          outlineCtaLabel\n          # outlineCtaHref deliberately NOT requested (2026-08-04): slot-list-fields.php on the\n          # live WP instance does not have this field yet, even though it is documented in\n          # docs\u002Fbackend\u002Fschema-reference.md as part of the plugin design. Requesting an unknown\n          # field is a GraphQL VALIDATION error, which nulls the ENTIRE response, not just this\n          # field, and this selection sits inside ContentAreaFields, which ~12 queries compose,\n          # so one missing field broke nearly every page on the site (verified: homepage, and any\n          # nodeByUri page with a slot-list block). The showOutlineCta guard in SlotCard.vue\n          # already requires outlineCtaHref to be truthy, so the CTA button degrades away cleanly\n          # without it. Re-add this line once the plugin ships the field, verified with a direct\n          # field query first (introspection is disabled), per the flexible-content-layout\n          # checklist in CLAUDE.md.\n          defaultTrackingLinks {\n            source\n            trackingCode\n            comsaffUrl\n          }\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentIconWysiwygLayout {\n      __typename\n      iconWysiwygGroup {\n        iconName\n        heading\n        content\n      }\n    }\n\n    ... on ContentAreaFieldsContentLatestPicksLayout {\n      __typename\n      latestPicksGroup {\n        sectionTitle\n        count\n        tabs {\n          label\n          queryMode\n          queryPreset\n          orderBy\n          offerTag\n          bonusKind\n        }\n      }\n      # Resolved server-side (bfd v1.2.139). This block saves more than the others: the tab\n      # query is a DYNAMIC document built from the ACF above, so it could not even be composed\n      # until contentAreaFields returned — a strictly serial second leg, on the homepage.\n      #\n      # NOTE: no backticks in these comments -- this whole document is a template literal, and\n      # one stray backtick truncates it silently (caught here by tsc, and by check:schema's\n      # brace-balance guard, which exists because it happened while wiring blogListData).\n      #\n      # The tabs list is positional and includes tabs that resolved to nothing; the component\n      # indexes by position, so a dropped empty tab would shift later tabs onto the wrong label.\n      latestPicksData {\n        tabs {\n          label\n          offers {\n            # The \"acum N zile\" badge reads this; the standalone query selected it too.\n            date\n            ...ComsOfferCardFragment\n          }\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentWysiwygCtaLayout {\n      __typename\n      wysiwygCtaGroup {\n        content\n        ctaLink {\n          title\n          url\n          target\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentWysiwygImageLayout {\n      __typename\n      wysiwygImageGroup {\n        heading\n        content\n        reverseColumns\n        image {\n          node {\n            altText\n            sourceUrl\n            mediaDetails {\n              width\n              height\n            }\n          }\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentPromoBannerLayout {\n      __typename\n      promoBannerData {\n        title\n        bgImageUrl\n        ctaLabel\n        ctaHref\n      }\n    }\n\n    ... on ContentAreaFieldsContentBlogListLayout {\n      __typename\n      blogListGroup {\n        sectionTitle\n        source\n        count\n        orderby\n        order\n        enableSort\n        enablePagination\n      }\n      # Resolved rows for the block, so it renders from THIS response instead of firing its own\n      # query behind it — a block cannot query until contentAreaFields returns, so its fetch is a\n      # serial waterfall on the critical path (~2.5s page query, then ~1.4s listing).\n      #\n      # NO ARGUMENTS, deliberately. NOTE: no backticks in these comments -- the whole document is\n      # a JS template literal and one stray backtick truncates it silently.\n      #\n      # This selection is spliced into 14 documents, and a selection set cannot declare variables,\n      # so every argument here forced all 14 to declare it too. Eight of nine never did, and an\n      # undeclared variable nulls the ENTIRE response: casino reviews, slots, providers, blog\n      # posts, the producers hub and all three homepage strategies returned nothing against the\n      # live schema. Removing the arguments removes that bug class outright.\n      #\n      # Nothing is lost. The resolver falls back to the block's own ACF (count\u002Forderby\u002Forder), and\n      # pagination + sort are interaction state, fetched by useBlogListBlockData's light query --\n      # the page query must never re-run for a page-param change, since re-paying contentAreaFields\n      # (~1.7s of its ~2.5s) is the cost consolidation exists to remove.\n      #\n      # If a paginated hub ever needs server-side page 1, add it as a FIELD ARGUMENT WITH A\n      # DEFAULT on the PHP side, never as a document variable.\n      blogListData {\n        items {\n          title\n          href\n          # RAW ISO — the card formats ro-RO short month itself. 'dateFormatted' is WP's long\n          # month and would silently change every rendered date.\n          date\n          excerpt\n          categoryLabel\n          heroImageUrl\n          heroImageAlt\n        }\n        pageInfo {\n          total\n          perPage\n          currentPage\n          totalPages\n          hasNextPage\n          hasPreviousPage\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentAuthorListLayout {\n      __typename\n      authorListGroup {\n        sectionTitle\n        queryMode\n        count\n        roles\n      }\n      authorListData {\n        items {\n          \n  displayName\n  roleLabel\n  avatarUrl\n  bio\n  linkedInUrl\n  profileHref\n\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentExcerptCardsLayout {\n      __typename\n      excerptCardsGroup {\n        sectionTitle\n        excerptLength\n        items {\n          title\n          content\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentProducerListLayout {\n      __typename\n      producerListGroup {\n        displayMode\n        orderBy\n        count\n        producerSlug\n      }\n    }\n\n    ... on ContentAreaFieldsContentCasinoPreviewListLayout {\n      __typename\n      casinoPreviewListGroup {\n        displayMode\n        count\n      }\n      casinoPreviewListData {\n        items {\n          casinoLogoUrl\n          casinoName\n          reviewHref\n          offerTitle\n          ctaLabel\n          ctaHref\n        }\n      }\n    }\n\n  }\n}\n\n\nfragment ComsOfferCardFragment on Offer {\n  id\n  slug\n  title\n  tps\n  totalSpins\n  # Analytics data-type-offer label — resolved server-side (bfd's offer-type-map.php): the\n  # offer's bonus-kind term override when set, else its own offer_type mapped through the\n  # coms-sync-rg reference table. Passed straight through by comsOfferToCard() — no client-side\n  # mapping (there used to be one; it duplicated and drifted from bfd's own vocabulary).\n  trackingOfferType\n  linkedSlot {\n    name\n    rtp\n  }\n  # Every slot the spins apply to, RTP-descending, capped at 4 server-side. Named inside the\n  # Slot row's existing accordion dropdown when there's more than one.\n  linkedSlots {\n    name\n    rtp\n  }\n  effectiveValuePerSpin\n  # The shape-agnostic accessor: what TPS actually scored this offer on, whichever shape it stores\n  # its data in (no-deposit rows \u002F deposit-package tiers \u002F RG overlay). Without it a package offer\n  # renders a score with six blank rows, because its spins live in deposit_items.\n  tpsInputs {\n    source\n    spins\n    valuePerSpin\n    rtp\n    wagering\n    daysToExpire\n    maxWithdrawal\n    slotName\n  }\n  # Draft-safe parent-casino display: the offerFields.casino relation below drops draft casinos\n  # (unauthenticated GraphQL excludes them), and most casinos are drafts — so linkedCasino is the\n  # reliable source for the card's logo\u002Fname\u002Frating. The relation stays as a fallback.\n  linkedCasino {\n    databaseId\n    slug\n    title\n    trackingName\n    rating\n    logoUrl\n    logoAlt\n  }\n  # Default-facet tracking links, one per source the offer has a code for. The CTA link is built\n  # client-side from this array (pick by detected LIA source, fall back to \"dt\") — see\n  # app\u002Futils\u002FofferLinks.ts and docs\u002Fexplanation\u002Foffers.md §6a. Cacheable: identical for every\n  # visitor, the per-visitor pick happens after this reaches the browser.\n  defaultTrackingLinks {\n    source\n    trackingCode\n    comsaffUrl\n  }\n  offerTags(first: 8) {\n    nodes {\n      id\n      name\n      slug\n    }\n  }\n  offerFields {\n    offerType\n    offerTypeTags\n    startDate\n    endDate\n    noDepositItems {\n      spinsNo\n      spinValue\n      wagering\n      maxCashout\n      timeFrame\n      bonusCode\n    }\n    casino {\n      nodes {\n        ... on Casino {\n          id\n          slug\n          uri\n          title\n          trackingName\n          featuredImage { node { sourceUrl altText } }\n          comsThumbnailUrl\n          comsThumbnailAlt\n          casinoFields { rating }\n          rgCasinoExtra { localSlug }\n        }\n      }\n    }\n  }\n  rgOfferExtra {\n    offerTitle\n    shortDescription\n    rgSpinsNo\n    rgSpinValue\n    rgWagering\n    rgMaxCashout\n    rgTimeFrame\n    rgAvailableSlot {\n      nodes {\n        ... on Slot {\n          id\n          title\n          slotFields {\n            rtp\n          }\n        }\n      }\n    }\n    exceptionsValue\n    exceptionsText\n    bulletPoints {\n      text\n    }\n    customRows {\n      label\n      value\n      dropdownText\n      iconName\n    }\n  }\n}\n\n  \n  fragment SeoFields on PostTypeSEO {\n    title\n    metaDesc\n    canonical\n    opengraphTitle\n    opengraphDescription\n    opengraphType\n    opengraphUrl\n    opengraphImage {\n      sourceUrl\n      altText\n      mediaDetails { width height }\n    }\n    metaRobotsNoindex\n    metaRobotsNofollow\n    breadcrumbs { text url }\n  }\n\n  \n  fragment TaxSeoFields on TaxonomySEO {\n    title\n    metaDesc\n    canonical\n  }\n\n  query GetPageData(\n    $uri: String!\n  ) {\n    nodeByUri(uri: $uri) {\n      __typename\n      id\n      uri\n\n      ... on Page {\n        title\n        content\n        seo { ...SeoFields }\n        template {\n          templateName\n        }\n        pageSettings {\n          pageLayout\n          sidebarTitle\n        }\n        \n        casinosHubSettings {\n          heroTitle\n          heroDescription\n          offerButtonText\n          rankBy\n          casinoOrderId\n          offerTypeFilter\n          casinoCategory { nodes { id slug name } }\n          sidebarTitle\n          titlePatternIds\n        }\n        sidebarBannersData {\n          title\n          bgImageUrl\n          ctaLabel\n          ctaHref\n        }\n        heroPromoBannerData {\n          title\n          bgImageUrl\n          ctaLabel\n          ctaHref\n        }\n        blogIndexSettings {\n          heroTitle\n          heroDescription\n          heroKicker\n          sidebarTitle\n          blogShowGrid\n        }\n        blogFeaturedPostIds\n        blogOffersSettings {\n          showSection\n          kicker\n          title\n          mode\n          autoTag\n          autoCount\n          autoOrderby\n        }\n        blogManualOfferIds\n        heroBannerData {\n          title\n          bgImageUrl\n          ctaLabel\n          ctaHref\n        }\n        offersHubSettings {\n          heroTitle\n          heroDescription\n          heroCtaText\n          heroCtaUrl\n          bonusKind {\n            nodes {\n              id\n              databaseId\n              slug\n              name\n            }\n          }\n          primaryOfferTag {\n            nodes {\n              id\n              slug\n              name\n            }\n          }\n          allowedOfferTags {\n            nodes {\n              id\n              slug\n              name\n            }\n          }\n          titlePatternIds\n          offerTypeFilter\n          queryPreset\n          offerLimit\n        }\n        producersHubSettings {\n          heroTitle\n          heroDescription\n        }\n        slotsHubSettings {\n          heroTitle\n          heroDescription\n          topBannerOffer {\n            nodes {\n              ... on Offer {\n                ...ComsOfferCardFragment\n              }\n            }\n          }\n          showSearch\n          postsPerPage\n          offersSectionTitle\n          pageOffers {\n            nodes {\n              ... on Offer {\n                ...ComsOfferCardFragment\n              }\n            }\n          }\n          pageOffersDarkMode\n          pageOffersLimit\n          pageOffersSeeMore\n          pageOffersSeeMoreText\n          pageOffersSeeMoreUrl\n          defaultGameCategory\n          featuredOfferSource\n          sidebarTitle\n        }\n        contentAreaFields { ...ContentAreaFieldsFragment }\n\n        # Add homepage-specific fields here\n        homepageFields {\n          heroGroup {\n            heroLeftStack {\n              ctaText\n              linkDestination {\n                url\n                target\n                title\n              }\n              imageDesktop {\n                node {\n                  sourceUrl(size: LARGE)\n                  altText\n                  mediaDetails {\n                    width\n                    height\n                  }\n                }\n              }\n              imageMobile {\n                node {\n                  sourceUrl(size: LARGE)\n                  altText\n                  mediaDetails {\n                    width\n                    height\n                  }\n                }\n              }\n            }\n            heroFeaturedTall {\n              ctaText\n              linkDestination {\n                url\n                target\n                title\n              }\n              imageDesktop {\n                node {\n                  sourceUrl(size: LARGE)\n                  altText\n                  mediaDetails {\n                    width\n                    height\n                  }\n                }\n              }\n              imageMobile {\n                node {\n                  sourceUrl(size: LARGE)\n                  altText\n                  mediaDetails {\n                    width\n                    height\n                  }\n                }\n              }\n            }\n            heroRightGrid {\n              topLeftCard {\n                linkDestination {\n                  url\n                  target\n                  title\n                }\n                imageDesktop {\n                  node {\n                    sourceUrl(size: LARGE)\n                    altText\n                    mediaDetails {\n                      width\n                      height\n                    }\n                  }\n                }\n              }\n              topRightStack {\n                linkDestination {\n                  url\n                  target\n                  title\n                }\n                imageDesktop {\n                  node {\n                    sourceUrl(size: LARGE)\n                    altText\n                    mediaDetails {\n                      width\n                      height\n                    }\n                  }\n                }\n              }\n              bottomWide {\n                linkDestination {\n                  url\n                  target\n                  title\n                }\n                imageDesktop {\n                  node {\n                    sourceUrl(size: LARGE)\n                    altText\n                    mediaDetails {\n                      width\n                      height\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n        \n      }\n\n      ... on Post {\n        id\n        # REQUIRED by [...uri].vue: a Post reaching the catch-all means a bare\n        # \u002F{slug}\u002F URL was requested, and it 301s to the canonical \u002Fblog\u002F{slug}\u002F route.\n        # That redirect is guarded on slug being non-empty — without this field the\n        # guard silently fails and the bare URL renders a duplicate of the article\n        # instead of redirecting.\n        slug\n        title\n        date\n        excerpt\n        seo { ...SeoFields }\n        userRating {\n          average\n          count\n          id\n        }\n        author {\n          node {\n            id\n            name\n            uri\n          }\n        }\n        featuredImage {\n          node {\n            altText\n            mediaDetails {\n              width\n              height\n            }\n            sourceUrl\n          }\n        }\n        template {\n          templateName\n        }\n        contentAreaFields { ...ContentAreaFieldsFragment }\n      }\n\n      ... on Category {\n        name\n        description\n        seo { ...TaxSeoFields }\n        categoryFields {\n          categorygroup {\n            heroImage {\n              node {\n                sourceUrl\n                altText\n                mediaDetails {\n                  width\n                  height\n                }\n              } \n            } \n            heroImageLink {\n              target\n              title\n              url\n            }\n          }\n        }\n      }\n      \n      ... on OfferTag {\n        id\n        name\n        description\n        seo { ...TaxSeoFields }\n        contentAreaFields { ...ContentAreaFieldsFragment }\n      }\n\n      ... on BonusKind {\n        uri\n        slug\n        name\n        description\n        seo { ...TaxSeoFields }\n      }\n\n      ... on User {\n        databaseId\n        name\n        description\n        url\n        avatar {\n          url\n        }\n        userProfile {\n          jobTitle\n        }\n        contentAreaFields { ...ContentAreaFieldsFragment }\n      }\n\n      ... on Slot {\n        title\n        seo { ...SeoFields }\n        slotThemes(first: 24) {\n          nodes {\n            id\n            name\n            slug\n            uri\n          }\n        }\n        gameProviders(first: 4) {\n          nodes {\n            id\n            name\n            slug\n            uri\n          }\n        }\n        slotFields {\n          coverImage\n          rtp\n          volatility\n        }\n        rgSlotExtra {\n          localSlug\n          metadataSectionTitle\n          metadata {\n            rowType\n            label\n            value\n            tooltipText\n          }\n        }\n        contentAreaFields { ...ContentAreaFieldsFragment }\n      }\n\n      ... on SlotTheme {\n        name\n        description\n        uri\n        seo { ...TaxSeoFields }\n        parent {\n          node {\n            id\n            name\n            slug\n          }\n        }\n        children {\n          nodes {\n            id\n            name\n            slug\n          }\n        }\n        contentAreaFields { ...ContentAreaFieldsFragment }\n      }\n\n      ... on GameProvider {\n        name\n        slug\n        uri\n        description\n        count\n        seo { ...TaxSeoFields }\n        slots(first: 24) {\n          nodes {\n            id\n            title\n            slug\n            featuredImage {\n              node {\n                sourceUrl\n                altText\n              }\n            }\n          }\n        }\n      }\n\n    }\n  }\n:{\"uri\":\"\u002Fblog\u002Fking-casino-bonus-fara-depunere\u002F\"}":889,"\n\nfragment ContentAreaFieldsFragment on ContentAreaFields {\n  __typename\n  content {\n    ... on ContentAreaFieldsContentTableLayout {\n      __typename\n      tableGroup {\n        headerColor\n        tableDescription\n        headers {\n          align\n          text\n        }\n        rows {\n          cells {\n            align\n            contentType\n            text\n            link {\n              target\n              title\n              url\n            }\n          }\n        }\n      }\n    }\n    \n    ...on ContentAreaFieldsContentNoticeLayout {\n      __typename\n      noticeGroup {\n        heading\n        text\n        enableCardIcon\n        button {\n          variant\n          link {\n            target\n            title\n            url\n          }\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentProAndConLayout {\n      __typename\n      proAndConGroup {\n        prosSectionTitle\n        consSectionTitle\n        itemsToDisplay\n        pros {\n          text\n        }\n        cons {\n          text\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentStepsLayout {\n      __typename\n      stepsGroup {\n        variant\n        steps {\n          title\n          description\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentQuoteLayout {\n      __typename\n      quoteGroup {\n        client\n        description\n      }\n    }\n\n    ... on ContentAreaFieldsContentDropdownLayout {\n      __typename\n      dropdownGroup {\n        items {\n          title\n          description\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentOfferImageInfoLayout {\n      __typename\n      offerImageInfoGroup {\n        heading\n        description1\n        description2\n        link {\n          target\n          title\n          url\n        }\n        image {\n          node {\n            altText\n            sourceUrl\n            mediaDetails {\n              width\n              height\n            }\n          }\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentFaqLayout {\n      __typename\n      faqGroup {\n        iconName\n        content\n        items {\n          title\n          answer\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentNumberedCardsLayout {\n      __typename\n      numberedCardsGroup {\n        variant\n        pillLabel\n        heading\n        items {\n          title\n          description\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentWysiwygLayout {\n      __typename\n      wysiwygGroup {\n        content\n      }\n    }\n\n    ... on ContentAreaFieldsContentTabsContentLayout {\n      __typename\n      tabsContentGroup {\n        tabs {\n          tabName\n          image {\n            node {\n              altText\n              sourceUrl\n              mediaDetails {\n                width\n                height\n              }\n            }\n          }\n          affLink {\n            target\n            title\n            url\n          }\n          pageLink {\n            target\n            title\n            url\n          }\n          content\n        }\n      }\n    }\n    \n    ... on ContentAreaFieldsContentSingleOfferLayout {\n      singleOfferGroup {\n        offer {\n          nodes {\n            ... on Offer {\n              ...ComsOfferCardFragment\n            }\n          }\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentTpsCalculatorLayout {\n      __typename\n      tpsCalculatorGroup {\n        content\n        ctaLink {\n          title\n          url\n          target\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentOfferListLayout {\n      __typename\n      offerListGroup {\n        theme\n        displayMode\n        count\n        queryMode\n        cardVariantFilter\n        bonusKindFilter\n        offerTagFilter\n        offerTypeFilter\n        casinoIds\n        titlePatternIds\n        sectionSubtitle\n        sectionTitle\n        asPageH1\n        titleAlign\n        viewAllLabel\n        viewAllUrl\n      }\n      # Resolved server-side (bfd v1.2.138) so the block renders without firing\n      # GetComsOfferListBlock after this query returns — that second request is a serial\n      # waterfall on the critical path, and ~1s of it is fixed per-request overhead.\n      #\n      # No arguments: every filter above is ACF the resolver reads itself, and the block\n      # paginates client-side over rows it already has. Unlike blogListData there is no\n      # route state to hand through.\n      offerListData {\n        items {\n          # patternTitle, not patternTitles(ids:), because the id set is PER BLOCK and a\n          # document variable can only carry one — the homepage renders six of these blocks\n          # with six different sets. PHP sees each block's own ACF, so PHP picks the title.\n          patternTitle\n          # The rank PHP sorted on. Selected so mapComsOffers' re-sort is a verifiable no-op\n          # rather than a silent reordering.\n          tps\n          offer {\n            ...ComsOfferCardFragment\n          }\n        }\n        pageInfo {\n          perPage\n          hasNextPage\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentHeroLayout {\n      __typename\n      heroGroup {\n        heroImage {\n          node {\n            altText\n            sourceUrl\n            mediaDetails {\n              width\n              height\n            }\n          }\n        }\n        headingImage {\n          node {\n            altText\n            sourceUrl\n            mediaDetails {\n              width\n              height\n            }\n          }\n        }\n        ctaLabel\n        ctaLink {\n          url\n          title\n          target\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentContactFormLayout {\n      __typename\n      contactFormGroup {\n        formId\n        submitLabel\n        successMessage\n      }\n    }\n\n    ... on ContentAreaFieldsContentShortcodeLayout {\n      __typename\n      shortcode\n      renderedHtml\n    }\n\n    ... on ContentAreaFieldsContentLegalDocumentLayout {\n      __typename\n      documentSlug\n      documentTitle\n      renderedHtml\n    }\n\n    ... on ContentAreaFieldsContentAnchorLayout {\n      __typename\n      anchorId\n    }\n\n    ... on ContentAreaFieldsContentSlotListLayout {\n      __typename\n      slotListGroup {\n        count\n        displayMode\n        sortBy\n        variant\n        gameProducerSlug\n        gameCategorySlug\n        casinoSlug\n        sectionSubtitle\n        sectionTitle\n        titleAlign\n        viewAllLabel\n        viewAllUrl\n      }\n      slotListData {\n        variant\n        items {\n          title\n          href\n          previewImageUrl\n          logoUrl\n          categoryLabel\n          producerName\n          producerHref\n          metaRows {\n            label\n            value\n          }\n          rtp\n          volatility\n          wagering\n          casinoName\n          tps\n          tpsMaxScore\n          offerTitle\n          spinCount\n          outlineCtaLabel\n          # outlineCtaHref deliberately NOT requested (2026-08-04): slot-list-fields.php on the\n          # live WP instance does not have this field yet, even though it is documented in\n          # docs\u002Fbackend\u002Fschema-reference.md as part of the plugin design. Requesting an unknown\n          # field is a GraphQL VALIDATION error, which nulls the ENTIRE response, not just this\n          # field, and this selection sits inside ContentAreaFields, which ~12 queries compose,\n          # so one missing field broke nearly every page on the site (verified: homepage, and any\n          # nodeByUri page with a slot-list block). The showOutlineCta guard in SlotCard.vue\n          # already requires outlineCtaHref to be truthy, so the CTA button degrades away cleanly\n          # without it. Re-add this line once the plugin ships the field, verified with a direct\n          # field query first (introspection is disabled), per the flexible-content-layout\n          # checklist in CLAUDE.md.\n          defaultTrackingLinks {\n            source\n            trackingCode\n            comsaffUrl\n          }\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentIconWysiwygLayout {\n      __typename\n      iconWysiwygGroup {\n        iconName\n        heading\n        content\n      }\n    }\n\n    ... on ContentAreaFieldsContentLatestPicksLayout {\n      __typename\n      latestPicksGroup {\n        sectionTitle\n        count\n        tabs {\n          label\n          queryMode\n          queryPreset\n          orderBy\n          offerTag\n          bonusKind\n        }\n      }\n      # Resolved server-side (bfd v1.2.139). This block saves more than the others: the tab\n      # query is a DYNAMIC document built from the ACF above, so it could not even be composed\n      # until contentAreaFields returned — a strictly serial second leg, on the homepage.\n      #\n      # NOTE: no backticks in these comments -- this whole document is a template literal, and\n      # one stray backtick truncates it silently (caught here by tsc, and by check:schema's\n      # brace-balance guard, which exists because it happened while wiring blogListData).\n      #\n      # The tabs list is positional and includes tabs that resolved to nothing; the component\n      # indexes by position, so a dropped empty tab would shift later tabs onto the wrong label.\n      latestPicksData {\n        tabs {\n          label\n          offers {\n            # The \"acum N zile\" badge reads this; the standalone query selected it too.\n            date\n            ...ComsOfferCardFragment\n          }\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentWysiwygCtaLayout {\n      __typename\n      wysiwygCtaGroup {\n        content\n        ctaLink {\n          title\n          url\n          target\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentWysiwygImageLayout {\n      __typename\n      wysiwygImageGroup {\n        heading\n        content\n        reverseColumns\n        image {\n          node {\n            altText\n            sourceUrl\n            mediaDetails {\n              width\n              height\n            }\n          }\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentPromoBannerLayout {\n      __typename\n      promoBannerData {\n        title\n        bgImageUrl\n        ctaLabel\n        ctaHref\n      }\n    }\n\n    ... on ContentAreaFieldsContentBlogListLayout {\n      __typename\n      blogListGroup {\n        sectionTitle\n        source\n        count\n        orderby\n        order\n        enableSort\n        enablePagination\n      }\n      # Resolved rows for the block, so it renders from THIS response instead of firing its own\n      # query behind it — a block cannot query until contentAreaFields returns, so its fetch is a\n      # serial waterfall on the critical path (~2.5s page query, then ~1.4s listing).\n      #\n      # NO ARGUMENTS, deliberately. NOTE: no backticks in these comments -- the whole document is\n      # a JS template literal and one stray backtick truncates it silently.\n      #\n      # This selection is spliced into 14 documents, and a selection set cannot declare variables,\n      # so every argument here forced all 14 to declare it too. Eight of nine never did, and an\n      # undeclared variable nulls the ENTIRE response: casino reviews, slots, providers, blog\n      # posts, the producers hub and all three homepage strategies returned nothing against the\n      # live schema. Removing the arguments removes that bug class outright.\n      #\n      # Nothing is lost. The resolver falls back to the block's own ACF (count\u002Forderby\u002Forder), and\n      # pagination + sort are interaction state, fetched by useBlogListBlockData's light query --\n      # the page query must never re-run for a page-param change, since re-paying contentAreaFields\n      # (~1.7s of its ~2.5s) is the cost consolidation exists to remove.\n      #\n      # If a paginated hub ever needs server-side page 1, add it as a FIELD ARGUMENT WITH A\n      # DEFAULT on the PHP side, never as a document variable.\n      blogListData {\n        items {\n          title\n          href\n          # RAW ISO — the card formats ro-RO short month itself. 'dateFormatted' is WP's long\n          # month and would silently change every rendered date.\n          date\n          excerpt\n          categoryLabel\n          heroImageUrl\n          heroImageAlt\n        }\n        pageInfo {\n          total\n          perPage\n          currentPage\n          totalPages\n          hasNextPage\n          hasPreviousPage\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentAuthorListLayout {\n      __typename\n      authorListGroup {\n        sectionTitle\n        queryMode\n        count\n        roles\n      }\n      authorListData {\n        items {\n          \n  displayName\n  roleLabel\n  avatarUrl\n  bio\n  linkedInUrl\n  profileHref\n\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentExcerptCardsLayout {\n      __typename\n      excerptCardsGroup {\n        sectionTitle\n        excerptLength\n        items {\n          title\n          content\n        }\n      }\n    }\n\n    ... on ContentAreaFieldsContentProducerListLayout {\n      __typename\n      producerListGroup {\n        displayMode\n        orderBy\n        count\n        producerSlug\n      }\n    }\n\n    ... on ContentAreaFieldsContentCasinoPreviewListLayout {\n      __typename\n      casinoPreviewListGroup {\n        displayMode\n        count\n      }\n      casinoPreviewListData {\n        items {\n          casinoLogoUrl\n          casinoName\n          reviewHref\n          offerTitle\n          ctaLabel\n          ctaHref\n        }\n      }\n    }\n\n  }\n}\n\n\nfragment ComsOfferCardFragment on Offer {\n  id\n  slug\n  title\n  tps\n  totalSpins\n  # Analytics data-type-offer label — resolved server-side (bfd's offer-type-map.php): the\n  # offer's bonus-kind term override when set, else its own offer_type mapped through the\n  # coms-sync-rg reference table. Passed straight through by comsOfferToCard() — no client-side\n  # mapping (there used to be one; it duplicated and drifted from bfd's own vocabulary).\n  trackingOfferType\n  linkedSlot {\n    name\n    rtp\n  }\n  # Every slot the spins apply to, RTP-descending, capped at 4 server-side. Named inside the\n  # Slot row's existing accordion dropdown when there's more than one.\n  linkedSlots {\n    name\n    rtp\n  }\n  effectiveValuePerSpin\n  # The shape-agnostic accessor: what TPS actually scored this offer on, whichever shape it stores\n  # its data in (no-deposit rows \u002F deposit-package tiers \u002F RG overlay). Without it a package offer\n  # renders a score with six blank rows, because its spins live in deposit_items.\n  tpsInputs {\n    source\n    spins\n    valuePerSpin\n    rtp\n    wagering\n    daysToExpire\n    maxWithdrawal\n    slotName\n  }\n  # Draft-safe parent-casino display: the offerFields.casino relation below drops draft casinos\n  # (unauthenticated GraphQL excludes them), and most casinos are drafts — so linkedCasino is the\n  # reliable source for the card's logo\u002Fname\u002Frating. The relation stays as a fallback.\n  linkedCasino {\n    databaseId\n    slug\n    title\n    trackingName\n    rating\n    logoUrl\n    logoAlt\n  }\n  # Default-facet tracking links, one per source the offer has a code for. The CTA link is built\n  # client-side from this array (pick by detected LIA source, fall back to \"dt\") — see\n  # app\u002Futils\u002FofferLinks.ts and docs\u002Fexplanation\u002Foffers.md §6a. Cacheable: identical for every\n  # visitor, the per-visitor pick happens after this reaches the browser.\n  defaultTrackingLinks {\n    source\n    trackingCode\n    comsaffUrl\n  }\n  offerTags(first: 8) {\n    nodes {\n      id\n      name\n      slug\n    }\n  }\n  offerFields {\n    offerType\n    offerTypeTags\n    startDate\n    endDate\n    noDepositItems {\n      spinsNo\n      spinValue\n      wagering\n      maxCashout\n      timeFrame\n      bonusCode\n    }\n    casino {\n      nodes {\n        ... on Casino {\n          id\n          slug\n          uri\n          title\n          trackingName\n          featuredImage { node { sourceUrl altText } }\n          comsThumbnailUrl\n          comsThumbnailAlt\n          casinoFields { rating }\n          rgCasinoExtra { localSlug }\n        }\n      }\n    }\n  }\n  rgOfferExtra {\n    offerTitle\n    shortDescription\n    rgSpinsNo\n    rgSpinValue\n    rgWagering\n    rgMaxCashout\n    rgTimeFrame\n    rgAvailableSlot {\n      nodes {\n        ... on Slot {\n          id\n          title\n          slotFields {\n            rtp\n          }\n        }\n      }\n    }\n    exceptionsValue\n    exceptionsText\n    bulletPoints {\n      text\n    }\n    customRows {\n      label\n      value\n      dropdownText\n      iconName\n    }\n  }\n}\n\n  \n  fragment SeoFields on PostTypeSEO {\n    title\n    metaDesc\n    canonical\n    opengraphTitle\n    opengraphDescription\n    opengraphType\n    opengraphUrl\n    opengraphImage {\n      sourceUrl\n      altText\n      mediaDetails { width height }\n    }\n    metaRobotsNoindex\n    metaRobotsNofollow\n    breadcrumbs { text url }\n  }\n\nquery GetPostBySlug($slug: ID!\n) {\n  post(id: $slug, idType: SLUG) {\n    __typename\n    id\n    uri\n    title\n    date\n    modified\n    excerpt\n    seo { ...SeoFields }\n    userRating {\n      average\n      count\n      id\n    }\n    author {\n      node {\n        id\n        name\n        uri\n      }\n    }\n    featuredImage {\n      node {\n        altText\n        mediaDetails {\n          width\n          height\n        }\n        sourceUrl\n      }\n    }\n    template {\n      templateName\n    }\n    contentAreaFields { ...ContentAreaFieldsFragment }\n    sidebarBannersData {\n      title\n      bgImageUrl\n      ctaLabel\n      ctaHref\n    }\n    postSingleSettings {\n      heroDescription\n      sidebarTitle\n    }\n  }\n}\n:{\"slug\":\"king-casino-bonus-fara-depunere\"}":890},{"menus":4,"menusError":11,"settings":675,"settingsError":11},{"headerMenu":5,"footerMenu":671,"footerLegal":673},{"nodes":6},[7,29,35,41,109,115,121,127,133,139,145,151,157,163,169,427,434,441,448,455,462,469,476,483,490,497,504,511,518,525,532,539,546,553,560,567,574,581,588,595,602,609,616,623,630,637,644,653,662],{"id":8,"label":9,"url":10,"parentId":11,"cssClasses":12,"connectedNode":13,"childItems":16},"cG9zdDoyMzMw","Cazinouri Online","https:\u002F\u002Frotirigratuite.ro\u002Fcasino-online\u002F",null,[],{"node":14},{"__typename":15},"Page",{"nodes":17},[18,23],{"id":19,"label":20,"url":10,"connectedNode":21},"cG9zdDoyMzUy","Top Cazinouri",{"node":22},{"__typename":15},{"id":24,"label":25,"url":26,"connectedNode":27},"cG9zdDoyMzI5","Cazinouri Noi","https:\u002F\u002Frotirigratuite.ro\u002Fcazinouri-noi-fara-depunere\u002F",{"node":28},{"__typename":15},{"id":19,"label":20,"url":10,"parentId":8,"cssClasses":30,"connectedNode":31,"childItems":33},[],{"node":32},{"__typename":15},{"nodes":34},[],{"id":24,"label":25,"url":26,"parentId":8,"cssClasses":36,"connectedNode":37,"childItems":39},[],{"node":38},{"__typename":15},{"nodes":40},[],{"id":42,"label":43,"url":44,"parentId":11,"cssClasses":45,"connectedNode":46,"childItems":48},"cG9zdDoyMzMz","Bonusuri","https:\u002F\u002Frotirigratuite.ro\u002Fbonus-de-bun-venit\u002F",[],{"node":47},{"__typename":15},{"nodes":49},[50,55,61,67,73,79,85,91,97,103],{"id":51,"label":52,"url":44,"connectedNode":53},"cG9zdDoyMzYz","Bonus de bun venit",{"node":54},{"__typename":15},{"id":56,"label":57,"url":58,"connectedNode":59},"cG9zdDoyMzY0","Rotiri Gratuite Fără Depunere","https:\u002F\u002Frotirigratuite.ro\u002Fbonus-fara-depunere\u002F",{"node":60},{"__typename":15},{"id":62,"label":63,"url":64,"connectedNode":65},"cG9zdDo2NTE0","50 de Rotiri Gratuite","https:\u002F\u002Frotirigratuite.ro\u002Fbonus-fara-depunere\u002F50-rotiri-gratuite\u002F",{"node":66},{"__typename":15},{"id":68,"label":69,"url":70,"connectedNode":71},"cG9zdDo2NTEx","100 Rotiri Gratuite","https:\u002F\u002Frotirigratuite.ro\u002Fbonus-fara-depunere\u002F100-rotiri-gratuite\u002F",{"node":72},{"__typename":15},{"id":74,"label":75,"url":76,"connectedNode":77},"cG9zdDo2NTEy","200 Rotiri Gratuite","https:\u002F\u002Frotirigratuite.ro\u002Fbonus-fara-depunere\u002F200-rotiri-gratuite\u002F",{"node":78},{"__typename":15},{"id":80,"label":81,"url":82,"connectedNode":83},"cG9zdDo2NTE2","300 Rotiri Gratuite","https:\u002F\u002Frotirigratuite.ro\u002Fbonus-fara-depunere\u002F300-rotiri-gratuite\u002F",{"node":84},{"__typename":15},{"id":86,"label":87,"url":88,"connectedNode":89},"cG9zdDo2NTEz","400 Rotiri Gratuite","https:\u002F\u002Frotirigratuite.ro\u002Fbonus-fara-depunere\u002F400-rotiri-gratuite\u002F",{"node":90},{"__typename":15},{"id":92,"label":93,"url":94,"connectedNode":95},"cG9zdDo2NTE1","500 Rotiri Gratuite","https:\u002F\u002Frotirigratuite.ro\u002Fbonus-fara-depunere\u002F500-rotiri-gratuite\u002F",{"node":96},{"__typename":15},{"id":98,"label":99,"url":100,"connectedNode":101},"cG9zdDoyMzQy","Păcănele Fără Depunere","https:\u002F\u002Frotirigratuite.ro\u002Fpacanele-fara-depunere\u002F",{"node":102},{"__typename":15},{"id":104,"label":105,"url":106,"connectedNode":107},"cG9zdDoyMzM0","Cod Bonus","https:\u002F\u002Frotirigratuite.ro\u002Fcod-bonus-casino\u002F",{"node":108},{"__typename":15},{"id":51,"label":52,"url":44,"parentId":42,"cssClasses":110,"connectedNode":111,"childItems":113},[],{"node":112},{"__typename":15},{"nodes":114},[],{"id":56,"label":57,"url":58,"parentId":42,"cssClasses":116,"connectedNode":117,"childItems":119},[],{"node":118},{"__typename":15},{"nodes":120},[],{"id":62,"label":63,"url":64,"parentId":42,"cssClasses":122,"connectedNode":123,"childItems":125},[],{"node":124},{"__typename":15},{"nodes":126},[],{"id":68,"label":69,"url":70,"parentId":42,"cssClasses":128,"connectedNode":129,"childItems":131},[],{"node":130},{"__typename":15},{"nodes":132},[],{"id":74,"label":75,"url":76,"parentId":42,"cssClasses":134,"connectedNode":135,"childItems":137},[],{"node":136},{"__typename":15},{"nodes":138},[],{"id":80,"label":81,"url":82,"parentId":42,"cssClasses":140,"connectedNode":141,"childItems":143},[],{"node":142},{"__typename":15},{"nodes":144},[],{"id":86,"label":87,"url":88,"parentId":42,"cssClasses":146,"connectedNode":147,"childItems":149},[],{"node":148},{"__typename":15},{"nodes":150},[],{"id":92,"label":93,"url":94,"parentId":42,"cssClasses":152,"connectedNode":153,"childItems":155},[],{"node":154},{"__typename":15},{"nodes":156},[],{"id":98,"label":99,"url":100,"parentId":42,"cssClasses":158,"connectedNode":159,"childItems":161},[],{"node":160},{"__typename":15},{"nodes":162},[],{"id":104,"label":105,"url":106,"parentId":42,"cssClasses":164,"connectedNode":165,"childItems":167},[],{"node":166},{"__typename":15},{"nodes":168},[],{"id":170,"label":171,"url":172,"parentId":11,"cssClasses":173,"connectedNode":174,"childItems":176},"cG9zdDoyMzQ0","Recenzii","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002F",[],{"node":175},{"__typename":15},{"nodes":177},[178,187,195,203,211,219,227,235,243,251,259,267,275,283,291,299,307,315,323,331,339,347,355,363,371,379,387,395,403,411,419],{"id":179,"label":180,"url":181,"connectedNode":182},"cG9zdDo2Mzc3","Bilion","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fbil\u002F",{"node":183},{"__typename":184,"rgCasinoExtra":185},"Casino",{"localSlug":186},"bilion-casino",{"id":188,"label":189,"url":190,"connectedNode":191},"cG9zdDo2Mzgw","Superbet","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fsup\u002F",{"node":192},{"__typename":184,"rgCasinoExtra":193},{"localSlug":194},"superbet-casino",{"id":196,"label":197,"url":198,"connectedNode":199},"cG9zdDo2Mzgx","Unibet","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Funi\u002F",{"node":200},{"__typename":184,"rgCasinoExtra":201},{"localSlug":202},"unibet-casino",{"id":204,"label":205,"url":206,"connectedNode":207},"cG9zdDo2MzY0","Zinx","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fznx\u002F",{"node":208},{"__typename":184,"rgCasinoExtra":209},{"localSlug":210},"zinx-casino",{"id":212,"label":213,"url":214,"connectedNode":215},"cG9zdDo2MzY4","Winboss","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fwbs\u002F",{"node":216},{"__typename":184,"rgCasinoExtra":217},{"localSlug":218},"winboss-casino",{"id":220,"label":221,"url":222,"connectedNode":223},"cG9zdDo2Mzc4","Casa Pariurilor","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fcpr\u002F",{"node":224},{"__typename":184,"rgCasinoExtra":225},{"localSlug":226},"casa-pariurilor-casino",{"id":228,"label":229,"url":230,"connectedNode":231},"cG9zdDo2Mzgy","Fortuna","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Ffor\u002F",{"node":232},{"__typename":184,"rgCasinoExtra":233},{"localSlug":234},"fortuna-casino",{"id":236,"label":237,"url":238,"connectedNode":239},"cG9zdDo2Mzcx","Toto Gaming","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Ftot\u002F",{"node":240},{"__typename":184,"rgCasinoExtra":241},{"localSlug":242},"toto-gaming-casino",{"id":244,"label":245,"url":246,"connectedNode":247},"cG9zdDo2Mzc5","Conti","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fcnt\u002F",{"node":248},{"__typename":184,"rgCasinoExtra":249},{"localSlug":250},"conti-cazino",{"id":252,"label":253,"url":254,"connectedNode":255},"cG9zdDo2Mzgz","VladCazino","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fvld\u002F",{"node":256},{"__typename":184,"rgCasinoExtra":257},{"localSlug":258},"vlad-cazino",{"id":260,"label":261,"url":262,"connectedNode":263},"cG9zdDo2Mzg0","Prima","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fprm\u002F",{"node":264},{"__typename":184,"rgCasinoExtra":265},{"localSlug":266},"prima-casino",{"id":268,"label":269,"url":270,"connectedNode":271},"cG9zdDo2Mzg1","Betano","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fbtn\u002F",{"node":272},{"__typename":184,"rgCasinoExtra":273},{"localSlug":274},"betano-casino",{"id":276,"label":277,"url":278,"connectedNode":279},"cG9zdDo2Mzg2","GetsBet","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fget\u002F",{"node":280},{"__typename":184,"rgCasinoExtra":281},{"localSlug":282},"getsbet-casino",{"id":284,"label":285,"url":286,"connectedNode":287},"cG9zdDo2Mzg3","MrBit","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fmrb\u002F",{"node":288},{"__typename":184,"rgCasinoExtra":289},{"localSlug":290},"mr-bit-casino",{"id":292,"label":293,"url":294,"connectedNode":295},"cG9zdDo2Mzg4","Netbet","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fnet\u002F",{"node":296},{"__typename":184,"rgCasinoExtra":297},{"localSlug":298},"netbet-casino",{"id":300,"label":301,"url":302,"connectedNode":303},"cG9zdDo2Mzg5","Pacanele.ro","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fpac\u002F",{"node":304},{"__typename":184,"rgCasinoExtra":305},{"localSlug":306},"pacanele-ro-casino",{"id":308,"label":309,"url":310,"connectedNode":311},"cG9zdDo2Mzkw","Pokerstars","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fpks\u002F",{"node":312},{"__typename":184,"rgCasinoExtra":313},{"localSlug":314},"pokerstars-casino",{"id":316,"label":317,"url":318,"connectedNode":319},"cG9zdDo2Mzkx","12xBet","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002F12x\u002F",{"node":320},{"__typename":184,"rgCasinoExtra":321},{"localSlug":322},"12xbet-casino",{"id":324,"label":325,"url":326,"connectedNode":327},"cG9zdDo2Mzky","32Rosu","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002F32r\u002F",{"node":328},{"__typename":184,"rgCasinoExtra":329},{"localSlug":330},"32rosu-casino",{"id":332,"label":333,"url":334,"connectedNode":335},"cG9zdDo2Mzkz","888","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002F888\u002F",{"node":336},{"__typename":184,"rgCasinoExtra":337},{"localSlug":338},"888-casino",{"id":340,"label":341,"url":342,"connectedNode":343},"cG9zdDo2Mzk0","Don.Ro","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fdon\u002F",{"node":344},{"__typename":184,"rgCasinoExtra":345},{"localSlug":346},"don-casino",{"id":348,"label":349,"url":350,"connectedNode":351},"cG9zdDo2Mzk1","Hot Spins","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fhot\u002F",{"node":352},{"__typename":184,"rgCasinoExtra":353},{"localSlug":354},"hot-spins-casino",{"id":356,"label":357,"url":358,"connectedNode":359},"cG9zdDo2Mzk2","King Casino","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fkng\u002F",{"node":360},{"__typename":184,"rgCasinoExtra":361},{"localSlug":362},"king-casino",{"id":364,"label":365,"url":366,"connectedNode":367},"cG9zdDo2Mzk3","Manhattan","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fman\u002F",{"node":368},{"__typename":184,"rgCasinoExtra":369},{"localSlug":370},"manhattan-casino",{"id":372,"label":373,"url":374,"connectedNode":375},"cG9zdDo2Mzk4","MaxBet","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fmax\u002F",{"node":376},{"__typename":184,"rgCasinoExtra":377},{"localSlug":378},"maxbet-casino",{"id":380,"label":381,"url":382,"connectedNode":383},"cG9zdDo2Mzk5","Million","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fmil\u002F",{"node":384},{"__typename":184,"rgCasinoExtra":385},{"localSlug":386},"million-casino",{"id":388,"label":389,"url":390,"connectedNode":391},"cG9zdDo2NDAw","Napoleon","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fnap\u002F",{"node":392},{"__typename":184,"rgCasinoExtra":393},{"localSlug":394},"napoleon-casino",{"id":396,"label":397,"url":398,"connectedNode":399},"cG9zdDo2NDAx","PariuriPlus","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fppl\u002F",{"node":400},{"__typename":184,"rgCasinoExtra":401},{"localSlug":402},"pariuri-plus-casino",{"id":404,"label":405,"url":406,"connectedNode":407},"cG9zdDo2NDAy","Player","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fply\u002F",{"node":408},{"__typename":184,"rgCasinoExtra":409},{"localSlug":410},"player-casino",{"id":412,"label":413,"url":414,"connectedNode":415},"cG9zdDo2NDAz","Princess","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fpnc\u002F",{"node":416},{"__typename":184,"rgCasinoExtra":417},{"localSlug":418},"princess-casino",{"id":420,"label":421,"url":422,"connectedNode":423},"cG9zdDo2NDA0","TopBet","https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Ftop\u002F",{"node":424},{"__typename":184,"rgCasinoExtra":425},{"localSlug":426},"topbet-casino",{"id":179,"label":180,"url":181,"parentId":170,"cssClasses":428,"connectedNode":429,"childItems":432},[],{"node":430},{"__typename":184,"rgCasinoExtra":431},{"localSlug":186},{"nodes":433},[],{"id":188,"label":189,"url":190,"parentId":170,"cssClasses":435,"connectedNode":436,"childItems":439},[],{"node":437},{"__typename":184,"rgCasinoExtra":438},{"localSlug":194},{"nodes":440},[],{"id":196,"label":197,"url":198,"parentId":170,"cssClasses":442,"connectedNode":443,"childItems":446},[],{"node":444},{"__typename":184,"rgCasinoExtra":445},{"localSlug":202},{"nodes":447},[],{"id":204,"label":205,"url":206,"parentId":170,"cssClasses":449,"connectedNode":450,"childItems":453},[],{"node":451},{"__typename":184,"rgCasinoExtra":452},{"localSlug":210},{"nodes":454},[],{"id":212,"label":213,"url":214,"parentId":170,"cssClasses":456,"connectedNode":457,"childItems":460},[],{"node":458},{"__typename":184,"rgCasinoExtra":459},{"localSlug":218},{"nodes":461},[],{"id":220,"label":221,"url":222,"parentId":170,"cssClasses":463,"connectedNode":464,"childItems":467},[],{"node":465},{"__typename":184,"rgCasinoExtra":466},{"localSlug":226},{"nodes":468},[],{"id":228,"label":229,"url":230,"parentId":170,"cssClasses":470,"connectedNode":471,"childItems":474},[],{"node":472},{"__typename":184,"rgCasinoExtra":473},{"localSlug":234},{"nodes":475},[],{"id":236,"label":237,"url":238,"parentId":170,"cssClasses":477,"connectedNode":478,"childItems":481},[],{"node":479},{"__typename":184,"rgCasinoExtra":480},{"localSlug":242},{"nodes":482},[],{"id":244,"label":245,"url":246,"parentId":170,"cssClasses":484,"connectedNode":485,"childItems":488},[],{"node":486},{"__typename":184,"rgCasinoExtra":487},{"localSlug":250},{"nodes":489},[],{"id":252,"label":253,"url":254,"parentId":170,"cssClasses":491,"connectedNode":492,"childItems":495},[],{"node":493},{"__typename":184,"rgCasinoExtra":494},{"localSlug":258},{"nodes":496},[],{"id":260,"label":261,"url":262,"parentId":170,"cssClasses":498,"connectedNode":499,"childItems":502},[],{"node":500},{"__typename":184,"rgCasinoExtra":501},{"localSlug":266},{"nodes":503},[],{"id":268,"label":269,"url":270,"parentId":170,"cssClasses":505,"connectedNode":506,"childItems":509},[],{"node":507},{"__typename":184,"rgCasinoExtra":508},{"localSlug":274},{"nodes":510},[],{"id":276,"label":277,"url":278,"parentId":170,"cssClasses":512,"connectedNode":513,"childItems":516},[],{"node":514},{"__typename":184,"rgCasinoExtra":515},{"localSlug":282},{"nodes":517},[],{"id":284,"label":285,"url":286,"parentId":170,"cssClasses":519,"connectedNode":520,"childItems":523},[],{"node":521},{"__typename":184,"rgCasinoExtra":522},{"localSlug":290},{"nodes":524},[],{"id":292,"label":293,"url":294,"parentId":170,"cssClasses":526,"connectedNode":527,"childItems":530},[],{"node":528},{"__typename":184,"rgCasinoExtra":529},{"localSlug":298},{"nodes":531},[],{"id":300,"label":301,"url":302,"parentId":170,"cssClasses":533,"connectedNode":534,"childItems":537},[],{"node":535},{"__typename":184,"rgCasinoExtra":536},{"localSlug":306},{"nodes":538},[],{"id":308,"label":309,"url":310,"parentId":170,"cssClasses":540,"connectedNode":541,"childItems":544},[],{"node":542},{"__typename":184,"rgCasinoExtra":543},{"localSlug":314},{"nodes":545},[],{"id":316,"label":317,"url":318,"parentId":170,"cssClasses":547,"connectedNode":548,"childItems":551},[],{"node":549},{"__typename":184,"rgCasinoExtra":550},{"localSlug":322},{"nodes":552},[],{"id":324,"label":325,"url":326,"parentId":170,"cssClasses":554,"connectedNode":555,"childItems":558},[],{"node":556},{"__typename":184,"rgCasinoExtra":557},{"localSlug":330},{"nodes":559},[],{"id":332,"label":333,"url":334,"parentId":170,"cssClasses":561,"connectedNode":562,"childItems":565},[],{"node":563},{"__typename":184,"rgCasinoExtra":564},{"localSlug":338},{"nodes":566},[],{"id":340,"label":341,"url":342,"parentId":170,"cssClasses":568,"connectedNode":569,"childItems":572},[],{"node":570},{"__typename":184,"rgCasinoExtra":571},{"localSlug":346},{"nodes":573},[],{"id":348,"label":349,"url":350,"parentId":170,"cssClasses":575,"connectedNode":576,"childItems":579},[],{"node":577},{"__typename":184,"rgCasinoExtra":578},{"localSlug":354},{"nodes":580},[],{"id":356,"label":357,"url":358,"parentId":170,"cssClasses":582,"connectedNode":583,"childItems":586},[],{"node":584},{"__typename":184,"rgCasinoExtra":585},{"localSlug":362},{"nodes":587},[],{"id":364,"label":365,"url":366,"parentId":170,"cssClasses":589,"connectedNode":590,"childItems":593},[],{"node":591},{"__typename":184,"rgCasinoExtra":592},{"localSlug":370},{"nodes":594},[],{"id":372,"label":373,"url":374,"parentId":170,"cssClasses":596,"connectedNode":597,"childItems":600},[],{"node":598},{"__typename":184,"rgCasinoExtra":599},{"localSlug":378},{"nodes":601},[],{"id":380,"label":381,"url":382,"parentId":170,"cssClasses":603,"connectedNode":604,"childItems":607},[],{"node":605},{"__typename":184,"rgCasinoExtra":606},{"localSlug":386},{"nodes":608},[],{"id":388,"label":389,"url":390,"parentId":170,"cssClasses":610,"connectedNode":611,"childItems":614},[],{"node":612},{"__typename":184,"rgCasinoExtra":613},{"localSlug":394},{"nodes":615},[],{"id":396,"label":397,"url":398,"parentId":170,"cssClasses":617,"connectedNode":618,"childItems":621},[],{"node":619},{"__typename":184,"rgCasinoExtra":620},{"localSlug":402},{"nodes":622},[],{"id":404,"label":405,"url":406,"parentId":170,"cssClasses":624,"connectedNode":625,"childItems":628},[],{"node":626},{"__typename":184,"rgCasinoExtra":627},{"localSlug":410},{"nodes":629},[],{"id":412,"label":413,"url":414,"parentId":170,"cssClasses":631,"connectedNode":632,"childItems":635},[],{"node":633},{"__typename":184,"rgCasinoExtra":634},{"localSlug":418},{"nodes":636},[],{"id":420,"label":421,"url":422,"parentId":170,"cssClasses":638,"connectedNode":639,"childItems":642},[],{"node":640},{"__typename":184,"rgCasinoExtra":641},{"localSlug":426},{"nodes":643},[],{"id":645,"label":646,"url":647,"parentId":11,"cssClasses":648,"connectedNode":649,"childItems":651},"cG9zdDoyMzUx","Sloturi Gratis","https:\u002F\u002Frotirigratuite.ro\u002Fsloturi\u002F",[],{"node":650},{"__typename":15},{"nodes":652},[],{"id":654,"label":655,"url":656,"parentId":11,"cssClasses":657,"connectedNode":658,"childItems":660},"cG9zdDoyMzY1","Producători","https:\u002F\u002Frotirigratuite.ro\u002Fsloturi\u002Fproducatori\u002F",[],{"node":659},{"__typename":15},{"nodes":661},[],{"id":663,"label":664,"url":665,"parentId":11,"cssClasses":666,"connectedNode":667,"childItems":669},"cG9zdDoyMzQx","Ghiduri","https:\u002F\u002Frotirigratuite.ro\u002Fblog\u002F",[],{"node":668},{"__typename":15},{"nodes":670},[],{"nodes":672},[],{"nodes":674},[],{"themeSettings":676,"bfdSiteChrome":811,"slotThemes":849},{"stickyOfferSettings":677,"themeFields":683,"footerColumns":696,"placeholderImages":761,"ageGate":767,"casinoDictionary":769,"casinoReviewPopups":801,"slotPageMetadataDefaults":804},{"enabled":678,"title":679,"buttonText":680,"buttonUrl":681,"delaySeconds":682,"image":11},false,"🎁 Ofertă Exclusivă","Revendică","https:\u002F\u002Frotirigratuite.wpenginepowered.com\u002Fgo\u002Fbetano-cazino",5,{"topBarLink1":684,"topBarLink2":688,"headerPromo":691,"footerDescription1":692,"footerDescription2":693,"footerDisclaimer":694,"socialLinks":695},{"url":685,"title":686,"target":687},"\u002Flicenta-onjn\u002F","Licenta","",{"url":689,"title":690,"target":687},"\u002Fjoc-responsabil\u002F","Joc responsabil",{"image":11,"link":11},"\u003Cdiv class=\"qMYqUG_convSearchResultHighlightRoot\">\n\u003Cdiv class=\"\" data-turn-id-container=\"request-WEB:711b7619-47bf-4e40-abf1-0404383dcca8-11\" data-is-intersecting=\"true\">\n\u003Csection class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-WEB:711b7619-47bf-4e40-abf1-0404383dcca8-11\" data-turn-id-container=\"request-WEB:711b7619-47bf-4e40-abf1-0404383dcca8-11\" data-testid=\"conversation-turn-24\" data-scroll-anchor=\"false\" data-turn=\"assistant\">\n\u003Cdiv class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\u002Fmain:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\u002Fmain:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n\u003Cdiv class=\"[--thread-content-max-width:40rem] @w-lg\u002Fmain:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\u002Fturn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n\u003Cdiv class=\"flex max-w-full flex-col gap-4 grow\">\n\u003Cdiv class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" tabindex=\"0\" data-message-author-role=\"assistant\" data-message-id=\"519f7276-1154-4d50-be45-eaddd6524607\" data-message-model-slug=\"gpt-5-5-thinking\" data-turn-start-message=\"true\">\n\u003Cdiv class=\"flex w-full flex-col gap-1 empty:hidden\">\n\u003Cdiv class=\"markdown prose dark:prose-invert wrap-break-word w-full light markdown-new-styling\">\n\u003Cdiv class=\"qMYqUG_convSearchResultHighlightRoot\">\n\u003Cdiv class=\"\" data-turn-id-container=\"request-WEB:711b7619-47bf-4e40-abf1-0404383dcca8-12\" data-is-intersecting=\"true\">\n\u003Csection class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-WEB:711b7619-47bf-4e40-abf1-0404383dcca8-12\" data-turn-id-container=\"request-WEB:711b7619-47bf-4e40-abf1-0404383dcca8-12\" data-testid=\"conversation-turn-26\" data-scroll-anchor=\"false\" data-turn=\"assistant\">\n\u003Cdiv class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\u002Fmain:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\u002Fmain:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n\u003Cdiv class=\"[--thread-content-max-width:40rem] @w-lg\u002Fmain:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\u002Fturn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n\u003Cdiv class=\"flex max-w-full flex-col gap-4 grow\">\n\u003Cdiv class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" tabindex=\"0\" data-message-author-role=\"assistant\" data-message-id=\"df1316cf-2461-495e-a142-0f35713e4d25\" data-message-model-slug=\"gpt-5-5-thinking\" data-turn-start-message=\"true\">\n\u003Cdiv class=\"flex w-full flex-col gap-1 empty:hidden\">\n\u003Cdiv class=\"markdown prose dark:prose-invert wrap-break-word w-full light markdown-new-styling\">\n\u003Cp data-start=\"0\" data-end=\"266\" data-is-last-node=\"\" data-is-only-node=\"\">Pe \u003Cstrong data-start=\"3\" data-end=\"24\">RotiriGratuite.ro\u003C\u002Fstrong> găsești oferte de la cazinouri online licențiate în România. Listăm rotiri fără depunere, bonusuri la înregistrare și promoții pentru sloturi, alături de detalii importante despre rulaj, jocuri eligibile și limite de retragere.\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fsection>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"z-0 flex min-h-[46px] justify-start\">\u003C\u002Fdiv>\n\u003Cdiv class=\"mt-3 w-full empty:hidden\">\n\u003Cdiv class=\"text-center\">\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fsection>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"pointer-events-none -mt-px h-px translate-y-[calc(var(--scroll-root-safe-area-inset-bottom)-14*var(--spacing))]\" aria-hidden=\"true\">\u003C\u002Fdiv>\n\u003Cp>&nbsp;\u003C\u002Fp>\n","\u003Cp>\u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002F\">Rotirigratuite.ro\u003C\u002Fa> este deținut și operat de OGOOGA SERVICES SRL, persoană juridică română, cu sediul social în București, Sector 1, Bulevardul ION MIHALACHE nr. 15-17, etaj 8, număr de înregistrare J2016011888403, cod unic de înregistrare 36506980 și are dreptul de a desfășura activitatea în calitate de afiliat în domeniul jocurilor de noroc, acordat prin licența valabilă până la data de 31.10.2026, conform Deciziei Oficiului Național al Jocurilor de Noroc, nr.1879\u002F20.10.2016.\u003C\u002Fp>\n\u003Cp>Accesul pe \u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002F\">Rotirigratuite.ro\u003C\u002Fa> este strict interzis minorilor! Pe acest site nu se desfășoară activități de jocuri de noroc, însă pe site-urile partenerilor promovați se joacă cu bani reali, vă încurajăm să jucați responsabil și să pariați doar atât cât vă permiteți. De asemenea, vă rugăm să aveți în vedere faptul că activitatea de jocuri de noroc poate fi interzisă în jurisdicția în care sunteți localizat, fiind responsabilitatea dumneavoastră să respectați legislația în vigoare.\u003C\u002Fp>\n\u003Cp>Activitatea de jocuri de noroc poate cauza dependență și, totodată, poate avea un impact asupra situației dumneavoastră financiare. Vă rugăm să jucați responsabil! În cazul dependenței de jocuri de noroc sau pariuri, vă rugăm să contactați Jocresponsabil, la numărul gratuit +0800 800 099, sau să accesați \u003Ca href=\"https:\u002F\u002Fjocresponsabil.ro\u002F\" target=\"_blank\" rel=\"nofollow noopener\">jocresponsabil.ro\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>&nbsp;\u003C\u002Fp>\n","\u003Cp>Pe acest site depunem toate eforturile astfel încât să prezentăm exclusiv oferte, bonusuri și rotiri gratuite, respectiv fără depunere, si totodată ca informațiile publicate să fie corecte și actualizate. Dacă identificați o ofertă sau un bonus care nu este gratuit\u002Ffără depunere ori observați orice altă neconcordanță, vă rugăm să ne semnalați acest lucru pentru a putea remedia situația. Totodată, vă recomandăm să consultați cu atenție Termenii și Condițiile fiecărui cazinou pentru a verifica condițiile aplicabile fiecărei oferte.\u003C\u002Fp>\n",{"facebook":11,"youtube":11,"twitch":11,"tiktok":11,"instagram":11},[697,735,753],{"title":698,"links":699},"Informații Utile",[700,703,706,709,711,714,717,720,723,726,729,732],{"label":701,"url":702,"target":11},"Despre noi","https:\u002F\u002Frotirigratuite.ro\u002Fdespre-noi\u002F",{"label":704,"url":705,"target":11},"Echipa Rotiri Gratuite","https:\u002F\u002Frotirigratuite.ro\u002Fautori\u002F",{"label":707,"url":708,"target":11},"Cum evaluăm sloturile","https:\u002F\u002Frotirigratuite.ro\u002Fmetodologie-sloturi\u002F",{"label":710,"url":172,"target":11},"Cum evaluăm cazinourile",{"label":712,"url":713,"target":11},"True Bonus Index","https:\u002F\u002Frotirigratuite.ro\u002Ftrue-bonus-score\u002F",{"label":715,"url":716,"target":11},"Joc Responsabil","https:\u002F\u002Frotirigratuite.ro\u002Fjoc-responsabil\u002F",{"label":718,"url":719,"target":11},"Termeni și Condiții","https:\u002F\u002Frotirigratuite.ro\u002Ftermeni-si-conditii\u002F",{"label":721,"url":722,"target":11},"Politica de confidențialitate","https:\u002F\u002Frotirigratuite.ro\u002Fpolitica-de-confidentialitate\u002F",{"label":724,"url":725,"target":11},"Politica privind Cookie-urile (UE)","https:\u002F\u002Frotirigratuite.ro\u002Fcookie-policy-eu\u002F",{"label":727,"url":728,"target":11},"Licenta ONJN","https:\u002F\u002Frotirigratuite.ro\u002Flicenta-onjn\u002F",{"label":730,"url":731,"target":11},"Cookie de retea","https:\u002F\u002Frotirigratuite.ro\u002Fcookie-de-retea\u002F",{"label":733,"url":734,"target":11},"Contact","https:\u002F\u002Frotirigratuite.ro\u002Fcontact\u002F",{"title":43,"links":736},[737,738,739,741,743,745,747,749,751],{"label":52,"url":44,"target":11},{"label":57,"url":58,"target":11},{"label":740,"url":64,"target":11},"50 rotiri gratuite",{"label":742,"url":70,"target":11},"100 rotiri gratuite",{"label":744,"url":76,"target":11},"200 rotiri gratuite",{"label":746,"url":82,"target":11},"300 rotiri gratuite",{"label":748,"url":88,"target":11},"400 rotiri gratuite",{"label":750,"url":94,"target":11},"500 rotiri gratuite",{"label":752,"url":106,"target":11},"Coduri bonus pentru rotiri",{"title":754,"links":755},"Cazinouri",[756,758,760],{"label":757,"url":10,"target":11},"Top Cazinouri Online",{"label":759,"url":26,"target":11},"Cele Mai Noi Cazinouri",{"label":99,"url":100,"target":11},{"gameLogoUrl":762,"gameBannerUrl":763,"casinoLogoUrl":764,"producerLogoUrl":765,"blogHeroUrl":766},"https:\u002F\u002Frotirigratuite.wpenginepowered.com\u002Fwp-content\u002Fuploads\u002F2026\u002F05\u002Flogo-pacanele-sweet-bonanza-demo.jpg","https:\u002F\u002Frotirigratuite.wpenginepowered.com\u002Fwp-content\u002Fuploads\u002F2026\u002F05\u002Fecran-sweet-bonanza-gratis.jpg","https:\u002F\u002Frotirigratuite.wpenginepowered.com\u002Fwp-content\u002Fuploads\u002F2026\u002F04\u002Fd108fe5cd0ecc2b167a672a42fae861997b253c6-5000x3000-1-scaled.jpg","https:\u002F\u002Frotirigratuite.wpenginepowered.com\u002Fwp-content\u002Fuploads\u002F2026\u002F05\u002FNetent_62.jpg","https:\u002F\u002Frotirigratuite.wpenginepowered.com\u002Fwp-content\u002Fuploads\u002F2026\u002F05\u002Fmr-bit-casino-bonus-fara-depunere-1024x382.jpg",{"enabled":678,"redirectUrl":768},"https:\u002F\u002Fwww.google.com",{"tpsTooltipText":11,"tpsMaxScore":770,"rows":771},1250,[772,777,782,787,791,796],{"key":773,"label":774,"fieldSlug":775,"iconName":11,"dropdownText":776},"valoare_spin","Valoare\u002Fspin","valuePerSpin","Miza fixă pentru fiecare rotire gratuită primită. Cu cât valoarea este mai mare, cu atât câștigurile potențiale pot fi mai consistente.",{"key":778,"label":779,"fieldSlug":780,"iconName":11,"dropdownText":781},"rulaj","Rulaj","wagering","De câte ori trebuie să pariezi câștigurile din rotiri înainte de a le putea retrage. Un rulaj mai mic (ex: 1x, 5x) este mult mai avantajos.",{"key":783,"label":784,"fieldSlug":785,"iconName":11,"dropdownText":786},"slot","Slot","slotName","Jocul specific la care sunt disponibile rotirile. Verifică miza și funcțiile speciale ale acestui slot înainte de a începe.",{"key":788,"label":789,"fieldSlug":788,"iconName":11,"dropdownText":790},"rtp","RTP","Procentajul teoretic de returnare la jucător al slotului. Valorile de peste 96% înseamnă șanse statistice mai bune de câștig pe termen lung.",{"key":792,"label":793,"fieldSlug":792,"iconName":794,"dropdownText":795},"maxWithdrawal","Retragere Maximă","coins","Suma maximă de bani reali pe care o poți retrage în cont din acest bonus, chiar dacă ai câștigat mai mult în timpul jocului.",{"key":797,"label":798,"fieldSlug":799,"iconName":11,"dropdownText":800},"valabilitate","Valabilitate","expiry","Timpul disponibil pentru a activa rotirile și a îndeplini condițiile de rulaj. Ai grijă să le folosești înainte să expire!",{"aboutUsContent":802,"adDisclosureContent":803},"\u003Cp>RotiriGratuite.ro este o platformă de afiliere dedicată ofertelor cu rotiri disponibile la cazinourile licențiate din România. Analizăm și comparăm promoțiile active pentru a prezenta informații clare, actualizate și ușor de verificat. Fiecare ofertă este verificată în funcție de condițiile de acordare, cerințele de rulaj și termenii promoției, iar recomandările noastre se bazează pe evaluări obiective și pe testarea operatorilor de jocuri.\u003C\u002Fp>","\u003Cdiv class=\"author-meta d-md-flex mb-4 mt-4\">\n\u003Cdiv class=\"row w-100 justify-content-between\">\n\u003Cdiv class=\"col-12 col-lg-3\">\n\u003Cdiv class=\"justify-content-lg-end d-flex hover-elements\">\n\u003Cdiv class=\"d-flex align-items-center tooltip-hover tooltip-ad\">\n\u003Cdiv class=\"tooltip-content\">\n\u003Cdiv class=\"title\">\u003Cstrong>Politica de Publicitate și Afiliere\u003C\u002Fstrong>\u003C\u002Fdiv>\n\u003Cp>Platforma noastră este finanțată prin comisioanele primite de la partenerii afiliați atunci când utilizatorii se înregistrează sau efectuează depuneri prin linkurile disponibile pe site. Acest lucru nu implică niciun cost suplimentar pentru tine și nu influențează modul în care evaluăm sau recomandăm operatorii. Selectăm doar cazinouri licențiate și verificăm constant informațiile publicate, pentru a ne asigura că recomandările rămân corecte, actualizate și de încredere.\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003Cp>&nbsp;\u003C\u002Fp>",{"category":805,"producer":808,"rtp":810},{"enabled":806,"label":807,"tooltipContent":11},true,"Categorie",{"enabled":806,"label":809,"tooltipContent":11},"Producător",{"enabled":806,"label":789,"tooltipContent":11},{"stickyOfferSettings":812,"themeFields":813,"footerColumns":818},{"enabled":678,"title":679,"buttonText":680,"buttonUrl":681,"delaySeconds":682,"image":11},{"topBarLink1":814,"topBarLink2":815,"headerPromo":816,"footerDescription1":692,"footerDescription2":693,"footerDisclaimer":694,"socialLinks":817},{"url":685,"title":686,"target":687},{"url":689,"title":690,"target":687},{"image":11,"link":11},{"facebook":11,"youtube":11,"twitch":11,"tiktok":11,"instagram":11},[819,833,844],{"title":698,"links":820},[821,822,823,824,825,826,827,828,829,830,831,832],{"label":701,"url":702,"target":11},{"label":704,"url":705,"target":11},{"label":707,"url":708,"target":11},{"label":710,"url":172,"target":11},{"label":712,"url":713,"target":11},{"label":715,"url":716,"target":11},{"label":718,"url":719,"target":11},{"label":721,"url":722,"target":11},{"label":724,"url":725,"target":11},{"label":727,"url":728,"target":11},{"label":730,"url":731,"target":11},{"label":733,"url":734,"target":11},{"title":43,"links":834},[835,836,837,838,839,840,841,842,843],{"label":52,"url":44,"target":11},{"label":57,"url":58,"target":11},{"label":740,"url":64,"target":11},{"label":742,"url":70,"target":11},{"label":744,"url":76,"target":11},{"label":746,"url":82,"target":11},{"label":748,"url":88,"target":11},{"label":750,"url":94,"target":11},{"label":752,"url":106,"target":11},{"title":754,"links":845},[846,847,848],{"label":757,"url":10,"target":11},{"label":759,"url":26,"target":11},{"label":99,"url":100,"target":11},{"nodes":850},[851,855,860,865,869,873,877,881,885],{"id":852,"name":853,"slug":854,"count":11},"dGVybToyNzk=","Animale","animals",{"id":856,"name":857,"slug":858,"count":859},"dGVybToyNzg=","Aventură","adventure",2,{"id":861,"name":862,"slug":863,"count":864},"dGVybToyODQ=","Clasice","classic",1,{"id":866,"name":867,"slug":868,"count":864},"dGVybToyNzM=","Fantasy","fantasy",{"id":870,"name":871,"slug":872,"count":864},"dGVybToyODM=","Fructe","fruit",{"id":874,"name":875,"slug":876,"count":859},"dGVybToyODA=","Istorie","history",{"id":878,"name":879,"slug":880,"count":864},"dGVybToyODI=","Mitologie","mythology",{"id":882,"name":883,"slug":884,"count":864},"dGVybToyODE=","Movies","movies",{"id":886,"name":887,"slug":888,"count":11},"dGVybToyNzc=","TV Shows","tv-shows",{"nodeByUri":11},{"post":891},{"__typename":892,"id":893,"uri":894,"title":895,"date":896,"modified":896,"excerpt":687,"seo":897,"userRating":917,"author":920,"featuredImage":925,"template":928,"contentAreaFields":930,"sidebarBannersData":1227,"postSingleSettings":1228},"Post","cG9zdDo3MDQx","\u002Fking-casino-bonus-fara-depunere\u002F","Bonusul fără depunere King Casino 2026 – Cum activezi cele 300 Rotiri Gratuite?","2026-08-14T14:53:17",{"title":898,"metaDesc":899,"canonical":900,"opengraphTitle":901,"opengraphDescription":899,"opengraphType":902,"opengraphUrl":900,"opengraphImage":903,"metaRobotsNoindex":909,"metaRobotsNofollow":910,"breadcrumbs":911},"King Casino Bonus Fără Depunere 2026 – 300 Rotiri Gratis","King Casino oferă 300 de rotiri gratis fără depunere cu codul KRAKEN300. Vezi cum activezi oferta, rulajul, limitele și condițiile în 2026.","https:\u002F\u002Frotirigratuite.ro\u002Fking-casino-bonus-fara-depunere\u002F","Bonusul fără depunere King Casino 2026 - Cum activezi cele 300 Rotiri Gratuite?","article",{"sourceUrl":904,"altText":905,"mediaDetails":906},"https:\u002F\u002Frotirigratuite.wpenginepowered.com\u002Fwp-content\u002Fuploads\u002F2026\u002F08\u002Fking-casino-bonus-fara-depunere.jpg","king casino bonus fără depunere",{"width":907,"height":908},1610,601,"index","follow",[912,915],{"text":913,"url":914},"Home","https:\u002F\u002Frotirigratuite.ro\u002F",{"text":916,"url":900},"Bonusul fără depunere King Casino 2026 &#8211; Cum activezi cele 300 Rotiri Gratuite?",{"average":918,"count":918,"id":919},0,7041,{"node":921},{"id":922,"name":923,"uri":924},"dXNlcjo1","Denis Cicic","\u002Fautori\u002Fdenis-cicic\u002F",{"node":926},{"altText":905,"mediaDetails":927,"sourceUrl":904},{"width":907,"height":908},{"templateName":929},"Default",{"__typename":931,"content":932},"ContentAreaFields",[933,937,940,1064,1067,1070,1093,1096,1099,1102,1126,1129,1200,1203],{"__typename":934,"wysiwygGroup":935},"ContentAreaFieldsContentWysiwygLayout",{"content":936},"\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Cp>În august 2026, King Casino bonus fără depunere este disponibil pentru jucătorii noi din România, în perioada 15.07.2026 &#8211; 30.09.2026. Oferta poate fi revendicată din browser, pe desktop sau mobil, iar după rotirile inițiale poți alege între 1400 RG și până la 4000 RON la depunerile următoare.\u003C\u002Fp>\n\u003Cp>Vezi mai jos condițiile principale ale bonusului fără depunere:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Primești 300 de rotiri gratuite\u003C\u002Fstrong> la 0,20 RON fiecare pe Release the Kraken de la Pragmatic Play\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Activare prin codul KRAKEN300\u003C\u002Fstrong> după înregistrare și verificarea contului\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rulaj ×30 pe câștiguri\u003C\u002Fstrong> — la nivelul pieței față de \u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002Fcasino-online\u002F\" target=\"_blank\" rel=\"noopener\">cazinourilor online\u003C\u002Fa> de ×30–×40\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Câștig maxim:\u003C\u002Fstrong> 300 RON per calup — sub medie față de piața locală\u003C\u002Fli>\n\u003C\u002Ful>",{"__typename":934,"wysiwygGroup":938},{"content":939},"\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Ch2>King Casino bonus fără depunere: Prezentare generală și cerințe\u003C\u002Fh2>\n\u003Cp>Îm activat pe mobil cele 300 de rotiri gratuite cu codul KRAKEN300 în august 2026 , după verificarea identității. Promoția este parte din \u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002Fbonus-de-bun-venit\u002F\" target=\"_blank\" rel=\"noopener\">bonusul de bun venit\u003C\u002Fa>, care continuă cu mai multe free spins sau bonus cash la depunerile următoare, conform tabelului:\u003C\u002Fp>",{"__typename":941,"tableGroup":942},"ContentAreaFieldsContentTableLayout",{"headerColor":943,"tableDescription":11,"headers":945,"rows":953},[944],"green",[946,950],{"align":947,"text":949},[948],"left","Element",{"align":951,"text":952},[948],"Detalii",[954,965,975,985,994,1004,1014,1024,1034,1044,1054],{"cells":955},[956,961],{"align":957,"contentType":958,"text":960,"link":11},[948],[959],"text","Tip Bonus",{"align":962,"contentType":963,"text":964,"link":11},[948],[959],"300 Rotiri Gratuite fără depunere",{"cells":966},[967,971],{"align":968,"contentType":969,"text":970,"link":11},[948],[959],"Valoare",{"align":972,"contentType":973,"text":974,"link":11},[948],[959],"60 RON în total, la 0,20 RON\u002Frotire",{"cells":976},[977,981],{"align":978,"contentType":979,"text":980,"link":11},[948],[959],"Cod Promoțional",{"align":982,"contentType":983,"text":984,"link":11},[948],[959],"KRAKEN300",{"cells":986},[987,990],{"align":988,"contentType":989,"text":779,"link":11},[948],[959],{"align":991,"contentType":992,"text":993,"link":11},[948],[959],"30× pe câștiguri",{"cells":995},[996,1000],{"align":997,"contentType":998,"text":999,"link":11},[948],[959],"Joc Eligibil",{"align":1001,"contentType":1002,"text":1003,"link":11},[948],[959],"Release the Kraken – Pragmatic Play",{"cells":1005},[1006,1010],{"align":1007,"contentType":1008,"text":1009,"link":11},[948],[959],"Perioadă",{"align":1011,"contentType":1012,"text":1013,"link":11},[948],[959],"15\u002F07\u002F2026 - 30\u002F09\u002F2026",{"cells":1015},[1016,1020],{"align":1017,"contentType":1018,"text":1019,"link":11},[948],[959],"Valabilitate Rotiri",{"align":1021,"contentType":1022,"text":1023,"link":11},[948],[959],"2 zile de la creditare",{"cells":1025},[1026,1030],{"align":1027,"contentType":1028,"text":1029,"link":11},[948],[959],"Câștig Maxim",{"align":1031,"contentType":1032,"text":1033,"link":11},[948],[959],"300 RON",{"cells":1035},[1036,1040],{"align":1037,"contentType":1038,"text":1039,"link":11},[948],[959],"Verificare",{"align":1041,"contentType":1042,"text":1043,"link":11},[948],[959],"KYC obligatoriu",{"cells":1045},[1046,1050],{"align":1047,"contentType":1048,"text":1049,"link":11},[948],[959],"Activare",{"align":1051,"contentType":1052,"text":1053,"link":11},[948],[959],"Codul se introduce în „Contul meu - Oferte - Coduri de bonus”",{"cells":1055},[1056,1060],{"align":1057,"contentType":1058,"text":1059,"link":11},[948],[959],"Restul bonusului",{"align":1061,"contentType":1062,"text":1063,"link":11},[948],[959],"La depunerile următoare poți alege între încă 1.400 RG și bonus cash de până la 4.000 RON",{"__typename":934,"wysiwygGroup":1065},{"content":1066},"\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Ch2>Cum funcționează bonusul fără depunere la King Casino?\u003C\u002Fh2>\n\u003Cp>La \u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fkng\u002F\" target=\"_blank\" rel=\"noopener\">King Casino\u003C\u002Fa>, oferta se activează în trei pași: îți deschizi contul, introduci codul KRAKEN300 în secțiunea de oferte și finalizezi verificarea KYC. După validare, bonusul gratuit King Casino intră integral în cont, fără împărțire pe zile.\u003C\u002Fp>\n\u003Cp>Vezi mai jos exact cum funcționează oferta și ce condiții trebuie să urmărești:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Primești:\u003C\u002Fstrong> 300 de rotiri pe Release the Kraken\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Valoare:\u003C\u002Fstrong> 0,20 RON per rotire\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rulaj:\u003C\u002Fstrong> 30× pe câștiguri\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Valabilitate:\u003C\u002Fstrong> 2 zile de la creditare\u003C\u002Fli>\n\u003C\u002Ful>",{"__typename":934,"wysiwygGroup":1068},{"content":1069},"\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Ch2>Cum activezi bonusul fără depunere de la King Casino? – Ghid pas cu pas\u003C\u002Fh2>\n\u003Cp>În practică, activarea este destul de directă: pornești de la butonul dedicat, îți creezi contul, treci verificarea KYC și introduci codul bonus \u003Cem>KRAKEN300\u003C\u002Fem>. Fluxul e simplu de urmărit inclusiv pe mobil, iar rotirile apar după validarea contului. Mai jos ai pașii exacți pe care trebuie să-i urmezi:\u003C\u002Fp>\n\u003Cp>&nbsp;\u003C\u002Fp>",{"__typename":1071,"stepsGroup":1072},"ContentAreaFieldsContentStepsLayout",{"variant":1073,"steps":1075},[1074],"v2",[1076,1079,1082,1085,1088,1091],{"title":1077,"description":1078},"Apasă butonul dedicat:","Apasă pe „Revendică Bonus” din această pagină pentru a ajunge direct pe platforma King Casino.",{"title":1080,"description":1081},"Completează formularul de înregistrare:","Completează datele cerute pentru deschiderea contului și selectează RON ca monedă.",{"title":1083,"description":1084},"Confirmă adresa de email:","Deschide mesajul primit de la King Casino și confirmă adresa de email din linkul trimis.",{"title":1086,"description":1087},"Parcurge verificarea identității (KYC):","Încarcă documentele solicitate și finalizează verificarea contului și a numărului de telefon.",{"title":1089,"description":1090},"Introduce codul:","Mergi la „Contul meu” → „Oferte” → „Coduri de bonus”, introdu KRAKEN300 și activează oferta.",{"title":1092,"description":11},"Pornește jocul desemnat:",{"__typename":934,"wysiwygGroup":1094},{"content":1095},"\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Cp>Ca să afli detaliile ofertei mari, vezi ghidul despre \u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002Fking-casino-bonus-de-bun-venit\u002F\" target=\"_blank\" rel=\"noopener\">bonusul de bun venit King Casino\u003C\u002Fa>!\u003C\u002Fp>",{"__typename":934,"wysiwygGroup":1097},{"content":1098},"\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Ch2>Condițiile bonusului fără depunere King Casino – Ce contează înainte de activare\u003C\u002Fh2>\n\u003Cp>Dacă vrei să retragi bani reali, trebuie să știi clar ce reguli vin la pachet cu oferta. Am citit regulamentul King Casino și am scos în față limitările care contează cel mai mult: rulajul, plafonul de cashout, perioada de utilizare și jocul eligibil.\u003C\u002Fp>\n\u003Ch3>Cum se calculează rulajul pentru bonusul tău\u003C\u002Fh3>\n\u003Cp>Cerința de pariere este de 30× și se aplică la câștigurile obținute din rotiri, nu la o sumă bonus fixă. Dacă scoți 40 RON din cele 300 de rotiri, trebuie să pariezi 1.200 RON înainte să poți retrage. Însă, ține cont că rotirile din bonusul gratuit King Casino trebuie folosite în cel mult 2 zile de la creditare.\u003C\u002Fp>\n\u003Ch3>Restricții de retragere și limite de câștig\u003C\u002Fh3>\n\u003Cp>Din oferta King Casino bonus fără depunere poți retrage maximum 300 RON. Dacă ajungi, de exemplu, la 480 RON, rămân eligibili 300 RON, iar diferența este dedusă conform regulamentului. King Casino menționează separat și o limită generală de 10.000 RON pentru câștigurile din bonusuri fără depunere, însă pentru această promoție plafonul specific este de 300 RON.\u003C\u002Fp>\n\u003Ch3>Jocuri eligibile pentru Manhattan bonus fără depunere\u003C\u002Fh3>\n\u003Cp>Rotirile merg doar la Release the Kraken de la Pragmatic Play, iar regulamentul nu prevede transferul lor către alte sloturi.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Joc eligibil:\u003C\u002Fstrong> Release the Kraken – Pragmatic Play\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rulaj:\u003C\u002Fstrong> 30× pe câștiguri\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Valabilitate:\u003C\u002Fstrong> 2 zile de la creditare\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Câștig maxim:\u003C\u002Fstrong> 300 RON\u003C\u002Fli>\n\u003C\u002Ful>",{"__typename":934,"wysiwygGroup":1100},{"content":1101},"\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Ch2>Avantaje și dezavantaje ale bonusului fără depunere\u003C\u002Fh2>",{"__typename":1103,"proAndConGroup":1104},"ContentAreaFieldsContentProAndConLayout",{"prosSectionTitle":1105,"consSectionTitle":1106,"itemsToDisplay":1107,"pros":1108,"cons":1117},"PRO","CON",8,[1109,1111,1113,1115],{"text":1110},"300 free spins fără depunere, după validarea identității și folosirea codului KRAKEN300",{"text":1112},"Valoare fixă de 0,20 RON per rotire, deci RG pornesc de la 60 RON în total",{"text":1114},"Rulajuleste x30, sub pragurile mai ridicate de x50+ întâlnite la unele oferte",{"text":1116},"Nu trebuie să faci nicio depunere pentru a primi spinurile",[1118,1120,1122,1124],{"text":1119},"Câștigurile au limită de retragere de 300 RON",{"text":1121},"RG expiră în 2 zile de la creditare, termen destul de scurt",{"text":1123},"Verificarea identității este obligatorie înainte de creditare",{"text":1125},"Oferta este legată strict de Release the Kraken",{"__typename":934,"wysiwygGroup":1127},{"content":1128},"\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Ch2>King Casino, Royal Slots sau Manhattan? Diferențe la bonus fără depunere\u003C\u002Fh2>\n\u003Cp>La ofertele de acest tip, diferențele dintre cazinouri online apar mai ales la numărul de rotiri, rulaj și limitele de retragere. Comparăm King Casino cu \u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002Fmanhattan-bonus-fara-depunere\u002F\" target=\"_blank\" rel=\"noopener\">Manhattan bonus fără depunere\u003C\u002Fa> și \u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002Froyal-slots-bonus-fara-depunere\u002F\" target=\"_blank\" rel=\"noopener\">bonusul gratuit Royal Slots\u003C\u002Fa>, ca să vedem unde sunt condițiile mai simple și unde valoarea reală a ofertei este mai bună.\u003C\u002Fp>",{"__typename":941,"tableGroup":1130},{"headerColor":1131,"tableDescription":11,"headers":1132,"rows":1145},[944],[1133,1136,1139,1142],{"align":1134,"text":1135},[948],"Cazino",{"align":1137,"text":1138},[948],"Bonus fără Depunere",{"align":1140,"text":1141},[948],"Condiție de Rulaj",{"align":1143,"text":1144},[948],"Avantaj Diferențiator",[1146,1164,1182],{"cells":1147},[1148,1152,1156,1160],{"align":1149,"contentType":1150,"text":1151,"link":11},[948],[959],"**King**",{"align":1153,"contentType":1154,"text":1155,"link":11},[948],[959],"300 rotiri gratuite la Release the Kraken, valoare 0,20 RON\u002Frotire, plafon 300 RON",{"align":1157,"contentType":1158,"text":1159,"link":11},[948],[959],"30x câștigurile din rotiri",{"align":1161,"contentType":1162,"text":1163,"link":11},[948],[959],"Mai multe rotiri, dar retragere limitată",{"cells":1165},[1166,1170,1174,1178],{"align":1167,"contentType":1168,"text":1169,"link":11},[948],[959],"**Royal Slots**",{"align":1171,"contentType":1172,"text":1173,"link":11},[948],[959],"Până la 300 runde fără depunere la Shining Crown Clover Chance",{"align":1175,"contentType":1176,"text":1177,"link":11},[948],[959],"Reguli comunicate după acordare",{"align":1179,"contentType":1180,"text":1181,"link":11},[948],[959],"Potențial egal de rotiri",{"cells":1183},[1184,1188,1192,1196],{"align":1185,"contentType":1186,"text":1187,"link":11},[948],[959],"**Manhattan**",{"align":1189,"contentType":1190,"text":1191,"link":11},[948],[959],"100 rotiri gratuite la Burning Hot, valoare 0,20 RON\u002Frotire",{"align":1193,"contentType":1194,"text":1195,"link":11},[948],[959],"35x bonus",{"align":1197,"contentType":1198,"text":1199,"link":11},[948],[959],"Condiții mai clare pentru retragere",{"__typename":934,"wysiwygGroup":1201},{"content":1202},"\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Ch2>Joc Responsabil &amp; Siguranță Legală\u003C\u002Fh2>\n\u003Cp>Când analizăm King Casino bonus fără depunere, punem accent și pe joc responsabil. În primul rând, King Casino este destinat exclusiv persoanelor de peste 18 ani și oferă instrumente de autocontrol precum limite de depunere și pierdere, time-out și autoexcludere, disponibile direct din cont sau prin serviciul de suport.\u003C\u002Fp>\n\u003Cp>În plus, operatorul Level Up Interactive Limited este reglementat de ONJN, iar verificarea identității și protecția datelor fac parte din măsurile de siguranță aplicate conturilor. Totodată, politica de confidențialitate acoperă datele KYC, informațiile financiare și drepturile utilizatorilor conform RGPD.\u003C\u002Fp>\n\u003Cp>Prin urmare, jocurile de noroc, înclusiv bonusurile cu\u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002Fbonus-fara-depunere\u002F\" target=\"_blank\" rel=\"noopener\"> rotiri gratuite fără depunere\u003C\u002Fa> trebuie tratate ca divertisment, nu ca sursă de venit. Folosește limite clare de buget și instrumentele de control disponibile pentru a juca responsabil.\u003C\u002Fp>\n\u003Cp>+18 | Joacă responsabil\u003C\u002Fp>",{"__typename":1204,"faqGroup":1205},"ContentAreaFieldsContentFaqLayout",{"iconName":1206,"content":1207,"items":1208},"question","\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Ch2>Întrebări frecvente\u003C\u002Fh2>",[1209,1212,1215,1218,1221,1224],{"title":1210,"answer":1211},"Pot folosi rotirile gratuite la orice joc?","\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Cp>Nu. Cele 300 de rotiri sunt valabile exclusiv la Release the Kraken de la Pragmatic Play. Acesta este singurul joc eligibil menționat în regulament pentru oferta cu KRAKEN300.\u003C\u002Fp>",{"title":1213,"answer":1214},"Trebuie să-mi verific identitateapentru King Casino bonus fără depunere?","\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Cp>Da. King Casino creditează cele 300 de rotiri după introducerea codului KRAKEN300 și finalizarea verificării identității. Prin urmare, KYC-ul trebuie încheiat înainte ca oferta să fie acordată.\u003C\u002Fp>",{"title":1216,"answer":1217},"Ce fac dacă nu merge codul promoțional?","\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Cp>Verifică dacă ai introdus KRAKEN300 în „Contul meu” → „Oferte” → „Coduri de bonus”. Dacă oferta nu apare după verificarea identității, contactează serviciul de suport King Casino prin chat, telefon sau la support@kingcasino.ro.\u003C\u002Fp>",{"title":1219,"answer":1220},"Cât timp am la dispoziție să folosesc rotirile?","\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Cp>Cele 300 de rotiri din bonusul gratuit King Casino expiră în 2 zile de la creditare. Câștigurile rezultate au o cerință de rulaj de 30×, însă regulamentul prezentat nu stabilește separat că acest rulaj trebuie finalizat în aceleași două zile.\u003C\u002Fp>",{"title":1222,"answer":1223},"Există o limită de retragere pentru câștigurile din cele 300 de rotiri fără depunere?","\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Cp>Da. Pentru această ofertă, suma maximă care poate fi retrasă este de 300 RON, inclusiv în faza de rulaj. Orice sumă care depășește plafonul este dedusă.\u003C\u002Fp>",{"title":1225,"answer":1226},"Pot cere oferta dacă am deja cont la acest cazinou?","\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>\n\u003Cp>Nu. King Casino bonus fără depunere este destinat utilizatorilor noi care își deschid contul în perioada 15\u002F07\u002F2026 &#8211; 30\u002F09\u002F2026. Oferta poate fi folosită o singură dată per client sau cont.\u003C\u002Fp>",[],{"heroDescription":1229,"sidebarTitle":11},"\u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \n\n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n            \n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n                \n\n\n    \u003C\u002Fdiv>"]