[{"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\u002Fwinmasters-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\":\"winmasters-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":1241,"postSingleSettings":1242},"Post","cG9zdDo3MDUy","\u002Fwinmasters-bonus-fara-depunere\u002F","Bonusul fără depunere Winmasters 2026 – Cum activezi cele 300 de rotiri gratuite?","2026-08-17T10:06:39",{"title":898,"metaDesc":899,"canonical":900,"opengraphTitle":901,"opengraphDescription":899,"opengraphType":902,"opengraphUrl":900,"opengraphImage":903,"metaRobotsNoindex":909,"metaRobotsNofollow":910,"breadcrumbs":911},"Winmasters bonus fără depunere – 300 Rotiri Gratuite","Descoperă Winmasters bonus fără depunere și vezi cum primești 300 de rotiri gratuite, ce rulaj se aplică și cât poți retrage din câștiguri.","https:\u002F\u002Frotirigratuite.ro\u002Fwinmasters-bonus-fara-depunere\u002F","Bonusul fără depunere Winmasters 2026 - Cum activezi cele 300 de rotiri gratuite?","article",{"sourceUrl":904,"altText":905,"mediaDetails":906},"https:\u002F\u002Frotirigratuite.wpenginepowered.com\u002Fwp-content\u002Fuploads\u002F2026\u002F08\u002Fwinmasters-bonus-fara-depunere.jpg","winmasters 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 Winmasters 2026 &#8211; Cum activezi cele 300 de rotiri gratuite?",{"average":918,"count":918,"id":919},0,7052,{"node":921},{"id":922,"name":923,"uri":924},"dXNlcjo3","Ioana Siu","\u002Fautori\u002Fioana-siu\u002F",{"node":926},{"altText":905,"mediaDetails":927,"sourceUrl":904},{"width":907,"height":908},{"templateName":929},"Default",{"__typename":931,"content":932},"ContentAreaFields",[933,937,940,1083,1086,1089,1113,1116,1119,1143,1146,1217,1220],{"__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>Dacă îți deschizi un cont nou din România în perioada 15\u002F07\u002F2026 – 30\u002F09\u002F2026, poți primi 300 de rotiri gratuite la înregistrare prin oferta Winmasters bonus fără depunere. Promoția este disponibilă atât pe desktop, cât și pe mobil, direct din browser, iar rotirile au o valoare de 0,25 RON fiecare, fără să fie necesară o depunere.\u003C\u002Fp>\n\u003Cp>Dacă vrei să vezi rapid dacă merită activată, acestea sunt condițiile principale:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Fără depunere necesară\u003C\u002Fstrong> — bonusul devine disponibil după verificarea KYC\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Activare cu codul 300DORINTE\u003C\u002Fstrong> — rotirile sunt creditate după înregistrare și validarea identității\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rulaj ×30 pe câștiguri\u003C\u002Fstrong> — în linie cu nivelul întâlnit frecvent pe piață \u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002Fcasino-online\u002F\" target=\"_blank\" rel=\"noopener\">cazinourilor online\u003C\u002Fa>, de aproximativ ×30–×40\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Câștig maxim de 300 RON\u003C\u002Fstrong> — un plafon comparabil cu alte oferte fără depunere de pe piață\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>Winmasters bonus fără depunere &#8211; Prezentare generală și cerințe\u003C\u002Fh2>\n\u003Cp>Am parcurs personal procesul pentru Winmasters bonus fără depunere și am verificat fiecare etapă de activare. Sunt câteva condiții pe care trebuie să le știi înainte să începi, mai ales în privința verificării contului și a rulajului. Le-am sintetizat în tabelul de mai jos:\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,995,1005,1015,1024,1034,1043,1053,1063,1073],{"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 de Rotiri Gratuite + 1000 FS la Depunere",{"cells":966},[967,971],{"align":968,"contentType":969,"text":970,"link":11},[948],[959],"Bonus fără depunere",{"align":972,"contentType":973,"text":974,"link":11},[948],[959],"300 de Rotiri Gratuite",{"cells":976},[977,981],{"align":978,"contentType":979,"text":980,"link":11},[948],[959],"Bonus suplimentar",{"align":982,"contentType":983,"text":984,"link":11},[948],[959],"400 FS la prima depunere de min. 50 RON + 600 la a doua de min. 100 RON",{"cells":986},[987,991],{"align":988,"contentType":989,"text":990,"link":11},[948],[959],"Joc eligibil",{"align":992,"contentType":993,"text":994,"link":11},[948],[959],"Mystery Genie: Fortunes of the Lamp",{"cells":996},[997,1001],{"align":998,"contentType":999,"text":1000,"link":11},[948],[959],"Valoare rotire",{"align":1002,"contentType":1003,"text":1004,"link":11},[948],[959],"0,25 RON",{"cells":1006},[1007,1011],{"align":1008,"contentType":1009,"text":1010,"link":11},[948],[959],"Verificare identitate",{"align":1012,"contentType":1013,"text":1014,"link":11},[948],[959],"Obligatorie",{"cells":1016},[1017,1020],{"align":1018,"contentType":1019,"text":798,"link":11},[948],[959],{"align":1021,"contentType":1022,"text":1023,"link":11},[948],[959],"2 zile pentru 300 FS",{"cells":1025},[1026,1030],{"align":1027,"contentType":1028,"text":1029,"link":11},[948],[959],"Activare bonus",{"align":1031,"contentType":1032,"text":1033,"link":11},[948],[959],"Din Contul meu → Oferte → Coduri de bonus",{"cells":1035},[1036,1039],{"align":1037,"contentType":1038,"text":779,"link":11},[948],[959],{"align":1040,"contentType":1041,"text":1042,"link":11},[948],[959],"30x câștigurile obținute",{"cells":1044},[1045,1049],{"align":1046,"contentType":1047,"text":1048,"link":11},[948],[959],"Câștig maxim",{"align":1050,"contentType":1051,"text":1052,"link":11},[948],[959],"300 RON",{"cells":1054},[1055,1059],{"align":1056,"contentType":1057,"text":1058,"link":11},[948],[959],"Miză maximă la rulaj",{"align":1060,"contentType":1061,"text":1062,"link":11},[948],[959],"20 RON \u002F rotire",{"cells":1064},[1065,1069],{"align":1066,"contentType":1067,"text":1068,"link":11},[948],[959],"Eligibilitate",{"align":1070,"contentType":1071,"text":1072,"link":11},[948],[959],"Doar pentru conturi noi",{"cells":1074},[1075,1079],{"align":1076,"contentType":1077,"text":1078,"link":11},[948],[959],"Perioada ofertei",{"align":1080,"contentType":1081,"text":1082,"link":11},[948],[959],"15\u002F07\u002F2026 – 30\u002F09\u002F2026",{"__typename":934,"wysiwygGroup":1084},{"content":1085},"\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ă Winmasters bonusul fără depunere?\u003C\u002Fh2>\n\u003Cp>La Winmasters bonus fără depunere, activarea nu se face imediat după deschiderea contului. Mai întâi te înregistrezi, introduci codul 300DORINTE în secțiunea de oferte, iar creditarea vine după finalizarea verificării KYC. Cele 300 de \u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002Fbonus-fara-depunere\u002F\" target=\"_blank\" rel=\"noopener\">rotiri gratuite fără depunere\u003C\u002Fa> sunt acordate într-o singură tranșă, ceea ce ni se pare mai simplu de urmărit decât promoțiile împărțite pe mai multe zile.\u003C\u002Fp>\n\u003Cp>Este necesar însă să verifici perioada de utilizare și rulajul înainte de activare. Mai jos ai condițiile esențiale:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Tip de bonus:\u003C\u002Fstrong> 300 de free spins, acordate după înregistrare, introducerea codului și verificarea KYC.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Joc eligibil:\u003C\u002Fstrong> rundele promoționale se folosesc exclusiv la Mystery Genie: Fortunes of the Lamp, de la Play’n GO.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Verdict rulaj:\u003C\u002Fstrong> câștigurile din free spins au rulaj x30 înainte de retragere, un nivel apropiat de media pieței.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Restricție de timp:\u003C\u002Fstrong> cele 300 de rotiri bonus expiră în 2 zile de la creditare, o perioadă destul de scurtă.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Contribuție la rulaj:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002Fsloturi\u002F\" target=\"_blank\" rel=\"noopener\">sloturile\u003C\u002Fa> contribuie 100%, jocurile răzuibile și arcade 20%, mesele 5%, iar jocurile live 0%.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Ca să întelegi întreaga ofertă a cazinoului, vezi detaliile \u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002Fwinmasters-bonus-de-bun-venit\u002F\" target=\"_blank\" rel=\"noopener\">bonusului de bun venit Winmasters\u003C\u002Fa>!\u003C\u002Fp>",{"__typename":934,"wysiwygGroup":1087},{"content":1088},"\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 revendici bonusul fără depunere de la Winmasters: Ghid Pas cu Pas\u003C\u002Fh2>\n\u003Cp>Un detaliu important pe care l-am observat este că bonusul fără depunere Winmasters nu se activează direct din casierie. Codul se introduce separat, din zona de oferte a contului, iar verificarea identității trebuie finalizată înainte de creditare. Ca să nu ratezi niciun pas, urmează traseul de mai jos:\u003C\u002Fp>",{"__typename":1090,"stepsGroup":1091},"ContentAreaFieldsContentStepsLayout",{"variant":1092,"steps":1094},[1093],"v2",[1095,1098,1101,1104,1107,1110],{"title":1096,"description":1097},"Accesarea ofertei:","apasă pe „Revendică Bonus” pentru a ajunge la pagina de înregistrare Winmasters.",{"title":1099,"description":1100},"Crearea contului de utilizator:","completează formularul cu datele personale solicitate și setează RON ca monedă.",{"title":1102,"description":1103},"Confirmare profilului:","validează adresa de email pentru a finaliza înregistrarea.",{"title":1105,"description":1106},"Verificarea KYC:","încarcă documentele cerute și finalizează verificarea identității.",{"title":1108,"description":1109},"Activarea ofertei:","intră în Contul meu → Oferte → Coduri de bonus și introdu 300DORINTE. Bonusul gratuit Winmasters devine disponibil după validarea contului.",{"title":1111,"description":1112},"Folosire rotiri: deschide Mystery Genie:"," Fortunes of the Lamp și utilizează rundele promoționale în perioada lor de valabilitate.",{"__typename":934,"wysiwygGroup":1114},{"content":1115},"\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>Termeni și condiții Winmasters bonus fără depunere &#8211; Ce trebuie să știi înainte să revendici\u003C\u002Fh2>\n\u003Cp>Condițiile de pariere îți arată dacă poți transforma câștigurile din rotiri în bani reali și ce limite se aplică înainte de retragere. Ca să facem totul mai ușor pentru tine, echipa noastră a verificat regulamentul ofertei pentru a separa condițiile relevante pentru Winmasters bonus fără depunere de cele \u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002Fbonus-de-bun-venit\u002F\" target=\"_blank\" rel=\"noopener\">ofertei de bun venit\u003C\u002Fa> cu depunere. Citește în continuare ca să vezi cât e rulajul, sloturile disponibile și orice alte detalii suplimentare!\u003C\u002Fp>\n\u003Ch3>Cum se calculează rulajul pentru bonusul tău\u003C\u002Fh3>\n\u003Cp>Cerința de rulaj este de 30x pe câștigurile obținute din rotiri, nu pe o sumă bonus fixă. Dacă obții 100 RON, trebuie să pariezi în total 3.000 RON înainte de retragere.  Dar ține cont că acest este un nivel standard pentru piața din România, nu neapărat un avantaj.\u003C\u002Fp>\n\u003Cp>Sloturile contribuie 100% la rulaj, jocurile răzuibile și similare 20%, mesele 5%, iar live 0%. Rotirile trebuie folosite în 2 zile de la creditare, iar miza maximă acceptată în perioada de rulaj este de 20 RON pe rundă.\u003C\u002Fp>\n\u003Ch3>Limitări pentru retragerea câștigurilor\u003C\u002Fh3>\n\u003Cp>Din această ofertă cu bonus gratuit Winmasters poți retrage cel mult 300 RON. Dacă ajungi, de exemplu, la 480 RON, suma care depășește plafonul este eliminată conform regulamentului.\u003C\u002Fp>\n\u003Cp>Nu este necesară o depunere pentru activarea ofertei, însă verificarea KYC este obligatorie. Dacă documentele solicitate nu sunt furnizate, bonusul și câștigurile rezultate pot fi anulate.\u003C\u002Fp>\n\u003Ch3>Jocuri eligibile pentru bonusul fără depunere\u003C\u002Fh3>\n\u003Cp>Bonusul de la \u003Ca href=\"https:\u002F\u002Frotirigratuite.ro\u002Frecenzii\u002Fwnm\u002F\" target=\"_blank\" rel=\"noopener\">Winmasters Casino\u003C\u002Fa> este legat de un singur slot, iar regulamentul include și mai multe jocuri restricționate. Categoriile de joc contribuie diferit la rulaj, deci nu toate pariurile te ajută în aceeași măsură.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Joc eligibil:\u003C\u002Fstrong> Mystery Genie: Fortunes of the Lamp\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Provider:\u003C\u002Fstrong> Play’n GO\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Restricții:\u003C\u002Fstrong> rotirile promoționale pot fi folosite exclusiv pe acest joc\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Jocuri excluse în regulament:\u003C\u002Fstrong> mai multe sloturi nominalizate, inclusiv Blood Suckers, Blood Suckers II și Dead or Alive, plus jocurile de tip Crash, precum Aviator și Spaceman\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Contribuție la rulaj:\u003C\u002Fstrong> sloturi 100%, jocuri răzuibile\u002FKeno\u002FBingo\u002FCasual\u002FArcade 20%, jocuri de masă 5%, live 0%\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Dacă folosești bonusul pe jocuri restricționate sau nu respecți regulile promoției, operatorul poate anula soldul bonus și câștigurile asociate.\u003C\u002Fp>",{"__typename":934,"wysiwygGroup":1117},{"content":1118},"\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>Bonus fără depunere Winmasters: Puncte forte și limitări\u003C\u002Fh2>",{"__typename":1120,"proAndConGroup":1121},"ContentAreaFieldsContentProAndConLayout",{"prosSectionTitle":1122,"consSectionTitle":1123,"itemsToDisplay":1124,"pros":1125,"cons":1134},"PRO","CON",8,[1126,1128,1130,1132],{"text":1127},"Primești 300 de rotiri gratuite x 0,25 RON fără să depui bani",{"text":1129},"Bonusul este disponibil pentru conturi noi după verificarea identității",{"text":1131},"Câștigurile pot fi retrase după îndeplinirea rulajului x30",{"text":1133},"Oferta nu cere activitate anterioară în cont",[1135,1137,1139,1141],{"text":1136},"Cele 300 de rotiri trebuie folosite în maximum 2 zile de la creditare",{"text":1138},"Câștigurile obținute sunt limitate la 300 RON",{"text":1140},"Bonusul poate fi folosit doar la Mystery Genie: Fortunes of the Lamp",{"text":1142},"Miza maximă permisă în timpul rulajului este de 20 RON pe rotire",{"__typename":934,"wysiwygGroup":1144},{"content":1145},"\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>Ce oferă Winmasters față de alte cazinouri\u003C\u002Fh2>\n\u003Cp>Am comparat oferta Winmasters 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\">Royal Slots bonus gratuit\u003C\u002Fa> după criteriile care contează cel mai mult la o astfel de promoție. Vezi în tabelul de mai jos diferențele privind rotirile oferite, condițiile de rulaj și limitele aplicate câștigurilor:\u003C\u002Fp>",{"__typename":941,"tableGroup":1147},{"headerColor":1148,"tableDescription":11,"headers":1149,"rows":1162},[944],[1150,1153,1156,1159],{"align":1151,"text":1152},[948],"Cazino",{"align":1154,"text":1155},[948],"Bonus fără Depunere",{"align":1157,"text":1158},[948],"Condiție de Rulaj",{"align":1160,"text":1161},[948],"Avantaj Diferențiator",[1163,1181,1199],{"cells":1164},[1165,1169,1173,1177],{"align":1166,"contentType":1167,"text":1168,"link":11},[948],[959],"**Winmasters**",{"align":1170,"contentType":1171,"text":1172,"link":11},[948],[959],"300 rotiri gratuite la Mystery Genie: Fortunes of the Lamp, plafon 300 RON",{"align":1174,"contentType":1175,"text":1176,"link":11},[948],[959],"30x câștigurile din bonus",{"align":1178,"contentType":1179,"text":1180,"link":11},[948],[959],"Mai multe rotiri, dar limită fixă la retragere",{"cells":1182},[1183,1187,1191,1195],{"align":1184,"contentType":1185,"text":1186,"link":11},[948],[959],"**Manhattan**",{"align":1188,"contentType":1189,"text":1190,"link":11},[948],[959],"100 rotiri gratuite la Burning Hot, plafon 5x câștigurile",{"align":1192,"contentType":1193,"text":1194,"link":11},[948],[959],"35x câștigurile din bonus",{"align":1196,"contentType":1197,"text":1198,"link":11},[948],[959],"Joc mai cunoscut pentru publicul local",{"cells":1200},[1201,1205,1209,1213],{"align":1202,"contentType":1203,"text":1204,"link":11},[948],[959],"**Royal Slots**",{"align":1206,"contentType":1207,"text":1208,"link":11},[948],[959],"Până la 300 de runde la Shining Crown Clover Chance, prin Roata Norocului",{"align":1210,"contentType":1211,"text":1212,"link":11},[948],[959],"50x câștigurile + depunere necesară pentru retragere",{"align":1214,"contentType":1215,"text":1216,"link":11},[948],[959],"Poți primi până la 300 de runde, dar numărul este aleatoriu și trebuie să depui înainte de retragere",{"__typename":934,"wysiwygGroup":1218},{"content":1219},"\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>Winmasters bonus fără depunere este disponibil doar persoanelor de minimum 18 ani și presupune verificarea identității înainte de creditarea rotirilor. Operatorul pune accent pe siguranța clientului, corectitudinea jocurilor și prevenirea dependenței, iar utilizatorii pot seta limite pentru depuneri și pierderi, activa un time-out, autoexcluderea sau închiderea contului.\u003C\u002Fp>\n\u003Cp>În același timp, oferta include condiții de rulaj înainte de retragere, iar bonusurile au rol strict promoțional și nu garantează câștiguri. Dacă jocul începe să îți afecteze bugetul sau timpul, poți folosi instrumentele de control din cont și resursele recomandate de operator, precum dependenta.ro, Gambling Therapy, GamCare și Gamblers Anonymous.\u003C\u002Fp>\n\u003Cp>Pentru verificarea contului și respectarea obligațiilor legale, Winmasters poate colecta date de identificare, documente KYC, date de contact și informații despre tranzacții. Acestea sunt folosite inclusiv pentru prevenirea fraudei și conformarea AML, iar utilizatorii beneficiază de drepturile prevăzute de RGPD. Pentru protecția datelor poți contacta dpo@winmasters.com, iar pentru suport support@winmasters.ro.\u003C\u002Fp>",{"__typename":1221,"faqGroup":1222},"ContentAreaFieldsContentFaqLayout",{"iconName":1223,"content":1224,"items":1225},"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>",[1226,1229,1232,1235,1238],{"title":1227,"answer":1228},"Pot folosi rotirile gratuite pe 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. Toate rotirile din această promoție sunt valabile exclusiv la Mystery Genie: Fortunes of the Lamp de la Play’n GO. Regula se aplică atât celor 300 de rotiri fără depunere, cât și rundelor bonus oferite în etapele cu depunere.\u003C\u002Fp>",{"title":1230,"answer":1231},"Trebuie să parcurs verificarea KYC ca să primesc Winmasters 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. Pentru a primi cele 300 de rotiri, trebuie să finalizezi înregistrarea, să introduci codul 300DORINTE și să închei procesul de verificare a identității. Rotirile sunt creditate după ce verificarea KYC este finalizată.\u003C\u002Fp>",{"title":1233,"answer":1234},"Ce fac dacă nu funcționează 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 exact 300DORINTE în secțiunea Contul meu → Oferte → Coduri de bonus. Dacă oferta nu se activează, regulamentul recomandă să contactezi suportul Winmasters prin chat, telefon sau la support@winmasters.ro înainte de a folosi fondurile din cont.\u003C\u002Fp>",{"title":1236,"answer":1237},"Ce se întâmplă dacă nu termin rulajul la timp?","\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 free spins din bonusul gratuit Winmasters sunt valabile 2 zile de la creditare. După expirarea acestei perioade, rundele nefolosite nu mai pot fi utilizate. Câștigurile obținute din ele au o cerință de rulaj de 30x înainte de retragere.\u003C\u002Fp>",{"title":1239,"answer":1240},"Cât pot retrage din câștigurile obținute 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>Retragerea câștigurilor din etapa fără depunere este limitată la 300 RON, indiferent dacă suma este atinsă în faza de rotiri sau după rulaj. Orice valoare peste această limită se deduce, iar pentru bonusurile fără depunere există și o limită generală de 10.000 RON.\u003C\u002Fp>",[],{"heroDescription":1243,"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>"]