{"id":27497,"date":"2026-02-11T16:31:44","date_gmt":"2026-02-11T19:31:44","guid":{"rendered":"https:\/\/rutiniwines.com\/verifique-sua-garrafa\/"},"modified":"2026-03-05T16:03:13","modified_gmt":"2026-03-05T19:03:13","slug":"verifique-sua-garrafa","status":"publish","type":"page","link":"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/","title":{"rendered":"Verifique sua garrafa"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1da25be7 wp-block-columns-is-layout-flex\" id=\"vinos-box\" style=\"margin-bottom:0;padding-top:var(--wp--preset--spacing--80);padding-bottom:0\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h1 class=\"wp-block-heading has-text-align-center animated fadeInUp\">Verifique sua garrafa<\/h1>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns margin-b-vinos is-layout-flex wp-container-core-columns-is-layout-159f51c6 wp-block-columns-is-layout-flex\" id=\"vinos-box\" style=\"margin-top:0\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns are-vertically-aligned-center animated fadeIn is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" id=\"col-in-vino\">\n<div class=\"wp-block-column is-vertically-aligned-center pad-box-in is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading has-medium-font-size\" style=\"text-transform:uppercase\"><strong>Digite o c\u00f3digo alfanum\u00e9rico que aparece no selo da sua garrafa.<\/strong><\/h3>\n\n\n\n<div class=\"form-section\" id=\"form-container-main\">\n    <form method=\"post\" onsubmit=\"handleSubmit(event)\">\n        <div class=\"rutini-form-container\">\n            <input type=\"text\" id=\"tagNumberInput\" name=\"tagNumber\" class=\"rutini-input\" placeholder=\"Inserir c\u00f3digo alfanum\u00e9rico\" onfocus=\"hiddenInvalid()\" autocomplete=\"off\"\/>\n            \n            <input type=\"hidden\" name=\"Lang\" id=\"LangInput\"\/>\n            <input type=\"hidden\" name=\"sessionId\" id=\"sessionIdInput\"\/>\n\n            <button type=\"submit\" id=\"edit-submit\" class=\"rutini-btn\">\n Verificar\n            <\/button>\n        <\/div>\n\n        <div id=\"container-info-error\">\n            <h3>C\u00f3digo inv\u00e1lido. Por favor, tente novamente. <\/h3>\n        <\/div>\n    <\/form>\n<\/div>\n\n<div id=\"info-codigo\">\n    \n    <div class=\"loader\"><\/div>\n    \n    <div id=\"contenido-response\" class=\"content\">\n        \n        <div id=\"container-iframe-errors\">\n            <h5 id=\"title-error\" style=\"color: #a89166; text-align:center; margin-bottom: 15px;\"><\/h5>\n            <h5 id=\"lockout-notice\" style=\"color: red !important; display: none; text-align:center;\">\n Este c\u00f3digo foi bloqueado por 5 minutos. Tente novamente mais tarde. \n            <\/h5>\n            <iframe id=\"error-iframe\" src=\"\" frameborder=\"0\" style=\"width:100%; min-height:400px;\"><\/iframe>\n        <\/div>\n\n        <div id=\"content-response\" class=\"content-response\">\n            <div id=\"container-info-success\" class=\"col-info\">\n\n                <div style=\"display: flex; align-items: flex-start; gap: 20px; margin-bottom: 30px;\">\n                    <h1 class=\"ref-title\">O SELO PARA ESTA GARRAFA \u00c9:<\/h1>\n                    <div class=\"tag-wrapper\" style=\"margin: 0; display: flex; flex-direction: column; align-items: center;\">\n                        <img decoding=\"async\" id=\"image_tag_64\" src=\"\" alt=\"Bubble Tag\" style=\"max-width: 180px; padding: 5px; border: 1px solid #e5e5e5; border-radius: 4px;\"\/>\n                        <p class=\"ref-number\" style=\"margin-top: 12px; margin-bottom: 0;\"> <span id=\"num_tag\"><\/span><\/p>\n                    <\/div>\n                <\/div>\n                \n                <p class=\"instruction-text\">\n Observe atentamente o selo exibido na tela.<br\/> Compare a forma, o tamanho e a posi\u00e7\u00e3o das bolhas com o selo da sua garrafa. Certifique-se de que o design de ambos os selos coincida. Verifique se o selo est\u00e1 firmemente aderido \u00e0 garrafa e sem danos.  \n                <\/p>\n                \n                <p class=\"authenticity-text\">\n A presen\u00e7a de um selo intacto e correspondente garante a autenticidade da garrafa.\n                <\/p>\n            <\/div>\n            \n            <div class=\"col-img\">\n                <img decoding=\"async\" id=\"image_tag_64_bottleshot\" src=\"\" alt=\"Garrafa\" class=\"bottle-img\"\/>\n            <\/div>\n        <\/div>\n\n        <div id=\"wine-description-section\" class=\"wine-desc-container\">\n            <hr class=\"rutini-divider\"\/>\n            <div class=\"wine-desc-content\">\n                <h2 id=\"prd_name\"><\/h2>\n                <div class=\"gold-line\"><\/div>\n                <div id=\"desc\"><\/div>\n                <a id=\"prd_url\" href=\"\" target=\"_blank\">\n                    <button class=\"rutini-btn-outline\">Mais informa\u00e7\u00f5es<\/button>\n                <\/a>\n            <\/div>\n            <hr class=\"rutini-divider\"\/>\n        <\/div>\n\n        <div id=\"container-bubbles\">\n            <h5 id=\"title-bubbles\" style=\"text-align:center; color:#a89166;\"><\/h5>\n            \n            <div class=\"bubble-list-class\"><\/div>\n\n            <form id=\"form-ccp\">\n                <input type=\"text\" name=\"cpp\" id=\"cppInput\" class=\"rutini-input\" placeholder=\"Inserir CCP\" style=\"max-width: 150px;\"\/>\n                <input type=\"hidden\" name=\"sessionId\" id=\"sessionIdInputCPP\"\/>\n                <button type=\"submit\" class=\"rutini-btn\">Validar<\/button>\n                <div id=\"container-info-error-ccp\">\n                    <h3>C\u00f3digo incorreto<\/h3>\n                <\/div>\n            <\/form>\n        <\/div>\n        \n        <div style=\"text-align: center; margin-top: 30px;\">\n             <button onclick=\"resetSearch()\" class=\"rutini-btn-simple\">Nova busca<\/button>\n        <\/div>\n\n    <\/div>\n<\/div>\n\n<style>\n    \/* ================= ESTILOS RUTINI ================= *\/\n    .container-rutini-wrapper {\n        width: 100%;\n        max-width: 1400px;\n        margin: 0 auto;\n        padding: 60px 20px;\n        font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n        box-sizing: border-box;\n    }\n\n    .rutini-title {\n        text-align: center;\n        color: #a89166;\n        text-transform: uppercase;\n        letter-spacing: 2px;\n        font-weight: 400;\n        margin-bottom: 30px;\n        font-size: 24px;\n    }\n\n    \/* ESTILOS EXACTOS DE FIGMA PARA EL T\u00cdTULO *\/\n    .ref-title {\n        color: #000000;\n        font-family: \"Mr Eaves San OT\", sans-serif;\n        font-size: 22.857px;\n        font-style: normal;\n        font-weight: 700;\n        line-height: 34.182px;\n        letter-spacing: 0.269px;\n        text-transform: uppercase;\n        width: 221px;\n        margin: 0;\n    }\n\n    \/* FORMULARIO *\/\n    .rutini-form-container { display: flex; gap: 10px; max-width: 500px; }\n    .rutini-input { flex: 1; padding: 15px; border: 1px solid #ccc; background: #fdfdfd; color: #333; font-size: 16px; outline: none; border-radius: 0; }\n    .rutini-input:focus { border-color: #a89166; }\n    \/* ESTILOS DEL BOT\u00d3N Y ANIMACI\u00d3N HOVER *\/\n    \/* ESTILOS DEL BOT\u00d3N Y ANIMACI\u00d3N HOVER *\/\n    .rutini-btn {\n        background: #fff;\n        color: #a89166;\n        border: 1px solid #a89166;\n        padding: 0 30px;\n        text-transform: uppercase;\n        font-weight: bold;\n        letter-spacing: 1px;\n        cursor: pointer;\n        border-radius: 0;\n        position: relative;\n        overflow: hidden;\n        transition: color 0.5s ease;\n        z-index: 1; \n        font-family: \"Mr Eaves San OT\", sans-serif;\n        font-size: 12px;\n        outline: none;\n        box-shadow: none;\n    }\n\n    .rutini-btn::before {\n        content: \"\";\n        position: absolute;\n        left: 50%;\n        bottom: 0; \n        \/* Usamos scale(0) para que inicie en tama\u00f1o cero pero mantenga la proporci\u00f3n *\/\n        transform: translate(-50%, 50%) scale(0);\n        width: 400px;\n        height: 400px;\n        background: linear-gradient(90deg, #e7c391 0%, #b6926c 50%, #a89166 100%);\n        z-index: -1; \n        border-radius: 50%;\n        \/* Transicionamos SOLO el transform, esto evita que se deforme *\/\n        transition: transform 0.6s cubic-bezier(.4,0,.2,1);\n    }\n\n    .rutini-btn:hover,\n    .rutini-btn:focus,\n    .rutini-btn:active {\n        color: #fff;\n        outline: none !important;\n        box-shadow: none !important;\n        background: #fff;\n        border-color: #B6926C !important;\n        \n    }\n\n    .rutini-btn:hover::before {\n        \/* Al hacer hover, lo escalamos a su tama\u00f1o real (400px) *\/\n        transform: translate(-50%, 50%) scale(1);\n    }\n    .rutini-btn-simple { background: transparent; border: none; color: #999; text-decoration: underline; cursor: pointer; }\n\n    \/* MENSAJES DE ERROR *\/\n    #container-info-error, #container-info-error-ccp { display: none; color: #d9534f; text-align: center; margin-top: 15px; font-size: 14px; }\n\n    \/* RESULTADOS *\/\n    #info-codigo, #contenido-response, #container-iframe-errors, #content-response, #container-bubbles { display: none; width: 100%; }\n\n    #content-response { display: none; flex-direction: column; gap: 40px; margin-top: 40px; padding-top: 0; }\n\n    @media (min-width: 1024px) {\n        #content-response { display: none; grid-template-columns: 50% 50%; align-items: start; gap: 60px; }\n    }\n\n    \/* COLUMNA IZQUIERDA - INFO *\/\n    .col-info { text-align: left; padding: 20px; }\n    .ref-number { color: #000000; font-size: 18px; font-weight: 400; margin-bottom: 30px; }\n    #num_tag { color: #000;text-align: center; font-family: \"Mr Eaves San OT\"; font-size: 11.717px; font-style: normal; font-weight: 350; line-height: 21.632px; letter-spacing: 0.198px; }\n    .instruction-text, .authenticity-text { font-size: 15px; color: #333333; margin: 30px 0 25px; line-height: 1.7; font-weight: 400; }\n    \n    \/* COLUMNA DERECHA - IMAGEN *\/\n    .col-img { text-align: center; padding: 20px; }\n    .bottle-img { max-height: 650px; width: auto; max-width: 100%; object-fit: contain; }\n\n    \/* ================= NUEVA SECCI\u00d3N: DESCRIPCI\u00d3N DEL VINO ================= *\/\n    .wine-desc-container {\n        display: none;\n        width: 100%;\n        margin-top: 60px;\n    }\n    .rutini-divider {\n        border: none;\n        border-top: 1px solid #e5cc9d;\n        opacity: 0.5;\n        margin: 40px 0;\n    }\n    .wine-desc-content {\n        max-width: 800px;\n        margin: 0 auto;\n        text-align: left;\n    }\n    #prd_name {\n        font-family: 'Mr Eaves San OT', sans-serif;\n        font-size: 28px;\n        font-weight: 400;\n        color: #333;\n        margin-bottom: 10px;\n    }\n    .gold-line {\n        width: 40px;\n        height: 2px;\n        background: #a89166;\n        margin-bottom: 24px;\n    }\n    #desc {\n        font-size: 16px;\n        color: #666;\n        line-height: 1.8;\n        text-align: justify;\n        margin-bottom: 30px;\n    }\n    .rutini-btn-outline {\n        background: transparent;\n        border: 1px solid #a89166;\n        color: #a89166;\n        padding: 10px 25px;\n        text-transform: uppercase;\n        font-size: 12px;\n        letter-spacing: 1px;\n        cursor: pointer;\n        transition: 0.3s;\n    }\n    .rutini-btn-outline:hover { background: #a89166; color: #fff; }\n    #prd_url { display: none; text-decoration: none; } \n\n\n    \/* LOADER & BURBUJAS *\/\n    .loader { display: none; border: 3px solid #f3f3f3; border-top: 3px solid #a89166; border-radius: 50%; width: 40px; height: 40px; animation: spin 1s linear infinite; margin: 40px auto; }\n    @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }\n    .bubble-list-class { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; margin: 20px 0; }\n    .button-bubble { background: #fff; border: 1px solid #ddd; padding: 5px; cursor: pointer; transition: transform 0.2s; }\n    .button-bubble:hover { transform: scale(1.1); border-color: #a89166; }\n    #form-ccp { display: none; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 20px; }\n\n    \/* AJUSTES RESPONSIVE *\/\n\n    @media (max-width: 1023px) {\n        .col-img {\n            text-align: center;\n            order: 2;\n            width: 100%;\n            padding: 10px 0 0 0;\n        }\n        .col-info {\n            text-align: left;\n            order: 1;\n            width: 100%;\n            padding: 10px 0 0 0;\n        }\n        .ref-title {\n            width: 100%;\n            font-size: 18px;\n        }\n        .rutini-form-container {\n            flex-direction: column;\n            gap: 10px;\n            width: 100%;\n        }\n        .rutini-input, .rutini-btn {\n            width: 100%;\n            box-sizing: border-box;\n        }\n        #content-response {\n            display: flex;\n            flex-direction: column;\n            gap: 20px;\n            margin-top: 20px;\n            padding: 0;\n        }\n        .bottle-img {\n            max-width: 90vw;\n            max-height: 300px;\n        }\n        .wine-desc-content {\n            padding: 0 5px;\n        }\n        .bubble-list-class {\n            gap: 8px;\n        }\n        #container-iframe-errors {\n            min-height: 60vh;\n        }\n        #error-iframe {\n            min-height: 60vh !important;\n            height: 80vh !important;\n        }\n    }\n\n    @media (max-width: 600px) {\n        .container-rutini-wrapper {\n            padding: 20px 2vw;\n        }\n        .rutini-title {\n            font-size: 18px;\n            margin-bottom: 18px;\n        }\n        .ref-title {\n            font-size: 15px;\n            line-height: 22px;\n        }\n        .rutini-form-container {\n            max-width: 100%;\n        }\n        .rutini-input, .rutini-btn {\n            font-size: 15px;\n            padding: 12px;\n        }\n        .bottle-img {\n            max-width: 98vw;\n            max-height: 180px;\n        }\n        .wine-desc-content {\n            font-size: 14px;\n        }\n        #desc {\n            font-size: 14px;\n        }\n        .rutini-btn-outline {\n            font-size: 11px;\n            padding: 8px 10px;\n        }\n        .bubble-list-class {\n            gap: 5px;\n        }\n        #container-iframe-errors {\n            min-height: 40vh;\n        }\n        #error-iframe {\n            min-height: 40vh !important;\n            height: 60vh !important;\n        }\n    }\n\n    @media (max-width: 400px) {\n        .rutini-title {\n            font-size: 15px;\n        }\n        .ref-title {\n            font-size: 12px;\n        }\n        .bottle-img {\n            max-width: 96vw;\n            max-height: 120px;\n        }\n        .rutini-input, .rutini-btn {\n            font-size: 13px;\n            padding: 8px;\n        }\n        .wine-desc-content {\n            font-size: 12px;\n        }\n        #desc {\n            font-size: 12px;\n        }\n        .rutini-btn-outline {\n            font-size: 10px;\n            padding: 6px 6px;\n        }\n    }\n\n    \/* Mejoras para el header y layout en mobile *\/\n    #contenido-response .rutini-header-block {\n        display: flex !important;\n        flex-direction: column !important;\n        align-items: flex-start !important;\n        gap: 10px !important;\n        margin-bottom: 20px !important;\n        padding: 0 !important;\n    }\n    #contenido-response .ref-title {\n        font-family: \"Mr Eaves San OT\", sans-serif !important;\n        font-size: 18px !important;\n        font-weight: 700 !important;\n        line-height: 24px !important;\n        letter-spacing: 0.2px !important;\n        color: #000000 !important;\n        text-transform: uppercase !important;\n        width: 100% !important;\n        min-width: 0 !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        text-align: left !important;\n    }\n    #contenido-response .tag-wrapper {\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-shrink: 0 !important;\n    }\n    #contenido-response .tag-wrapper img {\n        max-width: 120px !important;\n        height: auto !important;\n        display: block !important;\n        border: 1px solid #e5e5e5 !important;\n    }\n\n\/* Mejoras para mostrar el iframe de error como en la foto 2 *\/\n#container-iframe-errors {\n    width: 100%;\n    min-height: 80vh;\n    margin: 0;\n    background: transparent;\n    box-shadow: none;\n    border-radius: 0;\n    padding: 0;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: flex-start;\n}\n#error-iframe {\n    width: 100% !important;\n    min-height: 120vh !important;\n    height: 160vh !important;\n    max-height: none !important;\n    border: none !important;\n    background: transparent !important;\n    box-sizing: border-box;\n\n}\n\n<\/style>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/dompurify\/3.0.9\/purify.min.js\"><\/script>\n\n<script>\n    const API_URL = \"\/auth2\/prooftag-rutini\/prooftag-auth-ajax.php\"; \n\n    async function handleSubmit(event) {\n        if(event) event.preventDefault();\n        const tagInput = document.getElementById(\"tagNumberInput\");\n        const tagNumber = tagInput.value.trim();\n        const sessionID = document.getElementById(\"sessionIdInput\").value;\n\n        if (tagNumber.length < 1) {\n            document.getElementById(\"container-info-error\").style.display = \"block\";\n            return;\n        }\n\n        \/\/ Limpiar entorno WP\n        document.querySelectorAll('.desc-before, .wp-block-heading, .rutini-faq-wrapper').forEach(function(el) {\n            el.style.display = 'none';\n        });\n\n        document.getElementById(\"container-info-error\").style.display = \"none\";\n        document.getElementById(\"form-container-main\").style.display = \"none\";\n        document.getElementById(\"info-codigo\").style.display = \"block\";\n        document.querySelector(\".loader\").style.display = \"block\";\n        document.getElementById(\"contenido-response\").style.display = \"none\";\n\n        try {\n            const res = await fetch(API_URL, {\n                method: \"POST\",\n                headers: { \"Content-Type\": \"application\/json\" },\n                body: JSON.stringify({ tag: tagNumber, sessionID: sessionID }),\n            });\n            const json = await res.json();\n            document.querySelector(\".loader\").style.display = \"none\";\n            document.getElementById(\"contenido-response\").style.display = \"block\";\n\n            if (json.data) {\n                const data = json.data;\n                console.log('Data:', data);\n                if (data.msg_id === \"0\") {\n                    renderSuccess(data);\n                } \n                else if (data.iframe_url) {\n                    renderErrorIframe(data, json.msg);\n                }\n                else if (data.bubbles || data.type === \"CONTROL_BUBBLE\") {\n                    renderBubbles(data, tagNumber, json.msg);\n                }\n                else {\n                    document.getElementById(\"container-info-error\").style.display = \"block\";\n                    document.getElementById(\"form-container-main\").style.display = \"block\";\n                    document.getElementById(\"info-codigo\").style.display = \"none\";\n                }\n            }\n        } catch (error) {\n            console.error(error);\n            resetSearch();\n            document.getElementById(\"container-info-error\").style.display = \"block\";\n        }\n    }\n\n    \/\/ Soporte para autocompletar tag y sessionId desde la URL y ejecutar handleSubmit autom\u00e1ticamente\n    document.addEventListener(\"DOMContentLoaded\", function () {\n        let urlParams = new URLSearchParams(window.location.search);\n        let tag = urlParams.get(\"tag\");\n        let sessionId = urlParams.get(\"sessionId\");\n        if (tag || sessionId) {\n            if (tag) document.getElementById(\"tagNumberInput\").value = tag;\n            if (sessionId) document.getElementById(\"sessionIdInput\").value = sessionId;\n            handleSubmit();\n        }\n    });\n\n    function renderSuccess(data) {\n        document.getElementById(\"container-iframe-errors\").style.display = \"none\";\n        document.getElementById(\"container-bubbles\").style.display = \"none\";\n        \n        const wpColumn = document.querySelector('.wp-block-column.is-vertically-aligned-center.efecto-corte-gris');\n        if (wpColumn) { wpColumn.style.display = \"none\"; }\n        \n        \/\/ RENDERIZAR FILA 1 (Botella y Sello)\n        const contentResponse = document.getElementById(\"content-response\");\n        if (window.innerWidth >= 1024) {\n            contentResponse.style.display = \"grid\";\n        } else {\n            contentResponse.style.display = \"flex\";\n        }\n\n        const imgBottle = document.getElementById(\"image_tag_64_bottleshot\");\n        if (data.prd_image_64) {\n            imgBottle.src = \"data:image\/jpg;base64,\" + data.prd_image_64;\n            imgBottle.style.display = \"inline-block\";\n        } else {\n            imgBottle.style.display = \"none\";\n        }\n\n        document.getElementById(\"image_tag_64\").src = \"data:image\/jpg;base64,\" + data.image_tag_64;\n        document.getElementById(\"num_tag\").innerText = data.num_tag;\n\n        \/\/ RENDERIZAR FILA 2 (Descripci\u00f3n del vino con DOMPurify)\n        const wineDescSection = document.getElementById(\"wine-description-section\");\n        \n        if (data.prd_name || data.prd_desc) {\n            document.getElementById(\"prd_name\").innerText = data.prd_name;\n            \n            \/\/ Usamos DOMPurify para limpiar el HTML (Exactamente como en la referencia)\n            const cleanDesc = DOMPurify.sanitize(data.prd_desc || \"\");\n            document.getElementById(\"desc\").innerHTML = cleanDesc;\n\n            const btnUrl = document.getElementById(\"prd_url\");\n            if (data.prd_url) {\n                btnUrl.href = data.prd_url;\n                btnUrl.style.display = \"inline-block\";\n            } else {\n                btnUrl.style.display = \"none\";\n            }\n            \n            wineDescSection.style.display = \"block\";\n        } else {\n            wineDescSection.style.display = \"none\";\n        }\n    }\n\n    \/\/ Convierte una URL relativa en absoluta para el iframe\n    function getAbsoluteIframeUrl(iframe_url) {\n        if (\/^https?:\\\/\\\/\/.test(iframe_url)) return iframe_url;\n        \/\/ Si es relativa, agreg\u00e1 el dominio base correcto\n        return \"https:\/\/rutiniwines.com\/\" + iframe_url.replace(\/^\\\/+\/, \"\");\n    }\n\n    \/\/ Muestra el iframe de error seg\u00fan la documentaci\u00f3n de Prooftag\n    function renderErrorIframe(data, msg) {\n        \/\/ Oculta todos los bloques de resultados\n        document.getElementById(\"content-response\").style.display = \"none\";\n        document.querySelectorAll('.wp-block-column.is-vertically-aligned-center.efecto-corte-gris').forEach(function(el) {\n        el.style.display = \"none\";\n        });\n        document.getElementById(\"wine-description-section\").style.display = \"none\";\n        document.getElementById(\"container-bubbles\").style.display = \"none\";\n        \/\/ Muestra el contenedor del iframe\n        document.getElementById(\"container-iframe-errors\").style.display = \"flex\";\n        \/\/ Muestra el mensaje de error\/informaci\u00f3n\n        document.getElementById(\"title-error\").innerText = msg || \"Ocurri\u00f3 un error\";\n        \/\/ Asigna la URL al iframe (absoluta si es necesario)\n        if (data.iframe_url) {\n            document.getElementById(\"error-iframe\").src = getAbsoluteIframeUrl(data.iframe_url);\n        } else {\n            document.getElementById(\"error-iframe\").src = \"\";\n        }\n    }\n\n    function renderBubbles(data, tagNumber, msg) {\n        document.getElementById(\"content-response\").style.display = \"none\";\n        document.getElementById(\"wine-description-section\").style.display = \"none\";\n        document.getElementById(\"container-iframe-errors\").style.display = \"none\";\n        \n        const container = document.getElementById(\"container-bubbles\");\n        container.style.display = \"block\";\n        document.getElementById(\"title-bubbles\").innerText = msg;\n        const listContainer = container.querySelector(\".bubble-list-class\");\n        listContainer.innerHTML = \"\";\n\n        \/\/ Si hay burbujas, mostrar botones de burbujas\n        if (data.type === \"CONTROL_BUBBLE\" && data.bubbles) {\n            document.getElementById(\"form-ccp\").style.display = \"none\";\n            data.bubbles.forEach(bubble => {\n                const btn = document.createElement(\"button\");\n                btn.className = \"button-bubble\";\n                btn.onclick = () => handleBubblesSubmit(tagNumber, data.session_id, bubble.dataValue);\n                const img = document.createElement(\"img\");\n                img.src = \"data:image\/jpg;base64,\" + bubble.dataContent;\n                btn.appendChild(img);\n                listContainer.appendChild(btn);\n            });\n        } else {\n            console.log('hola');\n            \/\/ Si requiere CPP, mostrar el formulario CPP\n            document.getElementById(\"form-ccp\").style.display = \"flex\";\n            \/\/ Manejar el submit del formulario CPP\n            const formCCP = document.getElementById(\"form-ccp\");\n            formCCP.onsubmit = async function(e) {\n                e.preventDefault();\n                const cppValue = document.getElementById(\"cppInput\").value.trim();\n                document.getElementById(\"container-info-error-ccp\").style.display = \"none\";\n                if (!cppValue) {\n                    document.getElementById(\"container-info-error-ccp\").style.display = \"block\";\n                    return;\n                }\n                const sesionid = document.getElementById(\"sessionIdInputCPP\").value = data.session_id || data.sessionID || \"\";\n                console.log('Session ID:', sesionid);\n                try {\n                    const res = await fetch(API_URL, {\n                        method: \"POST\",\n                        headers: { \"Content-Type\": \"application\/json\" },\n                        body: JSON.stringify({\n                            tag: tagNumber,\n                            type: \"1\",\n                            control_key_value: cppValue,\n                            control_key_id: data.control_key_id || \"\",\n                            control_key_name: data.control_key_name || \"\",\n                            control_key_label: data.control_key_label || \"\",\n                            control_session_id: data.session_id || data.sessionID || document.getElementById(\"sessionIdInputCPP\").value\n                        })\n                    });\n                    const json = await res.json();\n                    if (json.data && json.data.msg_id === \"0\") {\n                        \/\/ CPP correcto, mostrar \u00e9xito\n                        renderSuccess(json.data);\n                    } else {\n                        document.getElementById(\"container-info-error-ccp\").style.display = \"block\";\n                    }\n                } catch (err) {\n                    document.getElementById(\"container-info-error-ccp\").style.display = \"block\";\n                }\n            };\n        }\n    }\n\n    \/\/ Funci\u00f3n para validar la burbuja seleccionada\n    async function handleBubblesSubmit(tagNumber, sessionId, dataValue) {\n        try {\n            document.querySelector(\".loader\").style.display = \"block\";\n            const res = await fetch(API_URL, {\n                method: \"POST\",\n                headers: { \"Content-Type\": \"application\/json\" },\n                body: JSON.stringify({\n                    tag: tagNumber,\n                    type: \"2\",\n                    control_session_id: sessionId,\n                    control_bubble_index: dataValue\n                })\n            });\n            const json = await res.json();\n            document.querySelector(\".loader\").style.display = \"none\";\n            if (json.data) {\n                const data = json.data;\n                \/\/ Si es \u00e9xito\n                if (data.msg_id === \"0\") {\n                    renderSuccess(data);\n                } else if (data.msg_id === \"20\") {\n                    \/\/ Sesi\u00f3n expirada\n                    document.getElementById(\"lockout-notice\").style.display = \"flex\";\n                    document.getElementById(\"lockout-notice\").innerHTML = \"La sesi\u00f3n ha expirado desde la \u00faltima llamada.\";\n                    \/\/ Si el backend retorna bubbles o control_key, volver a mostrar el formulario correspondiente\n                    console.log(\"JSDAA\");\n                     renderErrorIframe(data, json.msg)\n                } else if (data.iframe_url) {\n                    \/\/ Error con iframe\n                    renderErrorIframe(data, json.msg);\n                } else {\n                    \/\/ Error gen\u00e9rico\n                    document.getElementById(\"container-info-error-ccp\").style.display = \"block\";\n                }\n            }\n        } catch (error) {\n            document.querySelector(\".loader\").style.display = \"none\";\n            document.getElementById(\"container-info-error-ccp\").style.display = \"block\";\n        }\n    }\n\n    function resetSearch() {\n        document.getElementById(\"form-container-main\").style.display = \"block\";\n        document.getElementById(\"info-codigo\").style.display = \"none\";\n        document.getElementById(\"wine-description-section\").style.display = \"none\";\n        document.getElementById(\"tagNumberInput\").value = \"\";\n        document.getElementById(\"container-info-error\").style.display = \"none\";\n        \/\/ Limpia el iframe de error\n        document.getElementById(\"error-iframe\").src = \"\";\n        const wpColumn = document.querySelector('.wp-block-column.is-vertically-aligned-center.efecto-corte-gris');\n        if (wpColumn) { wpColumn.style.display = \"block\"; }\n    }\n    \/\/ Asegura que la funci\u00f3n hiddenInvalid est\u00e9 definida para evitar errores en consola\n    function hiddenInvalid() {\n        var el = document.getElementById(\"container-info-error\");\n        if (el) el.style.display = \"none\";\n    }\n<\/script>\n\n\n\n<p class=\"desc-before\">A Rutini Wines conta com um sistema internacional de rastreabilidade aplicado a linhas selecionadas, como parte de uma abordagem integral de cuidado, qualidade e excel\u00eancia na elabora\u00e7\u00e3o de seus vinhos.<br\/><br\/>O selo apresenta uma estrutura \u00fanica e irrepet\u00edvel, associada a um c\u00f3digo QR e a um identificador alfanum\u00e9rico, que permite a verifica\u00e7\u00e3o individual de cada garrafa que o incorpora.<br\/><br\/>Em alguns casos, a verifica\u00e7\u00e3o pode redirecionar para uma p\u00e1gina institucional geral, sem afetar a autenticidade do produto.<br\/><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center efecto-corte-gris is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full foto-vino\"><img loading=\"lazy\" decoding=\"async\" width=\"732\" height=\"723\" src=\"https:\/\/rutiniwines.com\/wp-content\/uploads\/2026\/02\/PROOF.png\" alt=\"\" class=\"wp-image-27328\" srcset=\"https:\/\/rutiniwines.com\/wp-content\/uploads\/2026\/02\/PROOF.png 732w, https:\/\/rutiniwines.com\/wp-content\/uploads\/2026\/02\/PROOF-300x296.png 300w\" sizes=\"auto, (max-width: 732px) 100vw, 732px\" \/><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" id=\"vinos-box\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" id=\"col-in-vino\">\n<h1 class=\"wp-block-heading has-text-align-center animated fadeInUp\">FAQ \u2013 Autentica\u00e7\u00e3o | Rutini Wines<\/h1>\n\n\n\n<div class=\"rutini-faq-wrapper\">\n\n    <details class=\"rutini-acordeon\">\n        <summary>Todos os vinhos da Rutini Wines possuem selo de autentica\u00e7\u00e3o?<\/summary>\n        <div class=\"faq-content\">\n            <p>N\u00e3o. O sistema \u00e9 aplicado a linhas selecionadas do portf\u00f3lio. Todos os vinhos mant\u00eam os mesmos padr\u00f5es de qualidade e origem.  <\/p>\n        <\/div>\n    <\/details>\n\n    <details class=\"rutini-acordeon\">\n        <summary>O que o selo permite verificar?<\/summary>\n        <div class=\"faq-content\">\n            <p>Permite validar individualmente as garrafas que o possuem, como parte de um sistema internacional de rastreabilidade.<\/p>\n        <\/div>\n    <\/details>\n\n    <details class=\"rutini-acordeon\">\n        <summary>Escaneei o c\u00f3digo e fui redirecionado para uma p\u00e1gina institucional. Est\u00e1 correto? <\/summary>\n        <div class=\"faq-content\">\n            <p>Sim. Isso n\u00e3o afeta a autenticidade do produto e faz parte do mesmo sistema de controle. <\/p>\n        <\/div>\n    <\/details>\n\n    <details class=\"rutini-acordeon\">\n        <summary>Onde posso fazer consultas?<\/summary>\n        <div class=\"faq-content\">\n            <p>prooftag@rutiniwines.com<\/p>\n        <\/div>\n    <\/details>\n\n<\/div>\n\n<style>\n    \/* Centrar todo el bloque en la p\u00e1gina *\/\n    .rutini-faq-wrapper {\n        max-width: 800px; \/* Ancho m\u00e1ximo igual a la foto *\/\n        margin: 0 auto;   \/* Esto centra el bloque horizontalmente *\/\n        padding: 20px;\n        font-family: 'Mr Eaves San O', serif; \/* Tipograf\u00eda estilo Rutini *\/\n    }\n\n    .faq-title {\n        text-align: center;\n        font-weight: 400;\n        margin-bottom: 10px;\n        color: #333;\n    }\n\n\n\n    \/* Caja de cada pregunta *\/\n    details.rutini-acordeon {\n        background-color: #f8f8f8; \/* Gris muy clarito *\/\n        border: 1px solid #e5e5e5;\n        margin-bottom: 15px; \/* Separaci\u00f3n entre cajas *\/\n        transition: all 0.3s ease;\n    }\n\n    \/* Estilo cuando est\u00e1 abierto (Fondo blanco) *\/\n    details.rutini-acordeon[open] {\n        background-color: #ffffff;\n        border-color: #dcdcdc;\n        box-shadow: 0 5px 15px rgba(0,0,0,0.05);\n    }\n\n    \/* El texto de la pregunta (Click) *\/\n    summary {\n        padding: 20px;\n        font-size: 20px;\n        cursor: pointer;\n        list-style: none; \/* Quita el tri\u00e1ngulo feo por defecto *\/\n        position: relative;\n        font-weight: 400;\n        color: #1a1a1a;\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n    }\n\n    \/* Ocultar flecha nativa en navegadores webkit *\/\n    summary::-webkit-details-marker {\n        display: none;\n    }\n\n    \/* La flecha personalizada (V) a la derecha *\/\n    summary::after {\n        content: '';\n        width: 10px;\n        height: 10px;\n        border-right: 2px solid #333;\n        border-bottom: 2px solid #333;\n        transform: rotate(45deg); \/* Flecha hacia abajo *\/\n        transition: transform 0.3s ease;\n        margin-left: 20px;\n    }\n\n    \/* Girar la flecha cuando est\u00e1 abierto *\/\n    details.rutini-acordeon[open] summary::after {\n        transform: rotate(-135deg); \/* Flecha hacia arriba *\/\n        border-color: #a38b5e; \/* Se pone dorada *\/\n    }\n\n    \/* Contenido de la respuesta *\/\n    .faq-content {\n        padding: 0 20px 20px 20px;\n        color: #555;\n        line-height: 1.6;\n        font-family: sans-serif; \/* Texto de lectura m\u00e1s limpio *\/\n    }\n<\/style>\n\n<script>\n    \/\/ Este peque\u00f1o c\u00f3digo hace que cuando abras uno, se cierren los dem\u00e1s\n    const allDetails = document.querySelectorAll('.rutini-acordeon');\n\n    allDetails.forEach((targetDetail) => {\n        targetDetail.addEventListener('click', (e) => {\n            \/\/ Si estamos cerrando, no hacemos nada\n            if (targetDetail.hasAttribute('open')) return;\n\n            \/\/ Si estamos abriendo, cerramos todos los dem\u00e1s\n            allDetails.forEach((detail) => {\n                if (detail !== targetDetail) {\n                    detail.removeAttribute('open');\n                }\n            });\n        });\n    });\n<\/script>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-columns uag-hide-desktop uag-hide-tab uag-hide-mob is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" id=\"vinos-box\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" id=\"col-in-vino\">\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Todos os vinhos da Rutini Wines possuem selo de autentica\u00e7\u00e3o?<\/summary>\n<p>asdadads<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>O que o selo permite verificar?<\/summary>\n<p>asdadads<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Escaneei o c\u00f3digo e fui redirecionado para uma p\u00e1gina institucional. Est\u00e1 correto?<br> <\/summary>\n<p>asdadads<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Onde posso fazer consultas?<\/summary>\n<p>asdadads<\/p>\n<\/details>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Verifique sua garrafa Digite o c\u00f3digo alfanum\u00e9rico que aparece no selo da sua garrafa. Verificar C\u00f3digo inv\u00e1lido. Por favor, tente [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":21809,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":"","_links_to":"","_links_to_target":""},"class_list":["post-27497","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Verifique sua garrafa - Bodega Rutini Wines<\/title>\n<meta name=\"description\" content=\"Uma linha premium de vinhos monovarietais e bivarietais de nossos pr\u00f3prios vinhedos no Vale do Uco (Gualtallary, El Cepillo e La Consulta).\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Verifique sua garrafa - Bodega Rutini Wines\" \/>\n<meta property=\"og:description\" content=\"Uma linha premium de vinhos monovarietais e bivarietais de nossos pr\u00f3prios vinhedos no Vale do Uco (Gualtallary, El Cepillo e La Consulta).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/\" \/>\n<meta property=\"og:site_name\" content=\"Bodega Rutini Wines\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-05T19:03:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1176\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/\",\"url\":\"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/\",\"name\":\"Verifique sua garrafa - Bodega Rutini Wines\",\"isPartOf\":{\"@id\":\"https:\/\/rutiniwines.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header.jpg\",\"datePublished\":\"2026-02-11T19:31:44+00:00\",\"dateModified\":\"2026-03-05T19:03:13+00:00\",\"description\":\"Uma linha premium de vinhos monovarietais e bivarietais de nossos pr\u00f3prios vinhedos no Vale do Uco (Gualtallary, El Cepillo e La Consulta).\",\"breadcrumb\":{\"@id\":\"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/#primaryimage\",\"url\":\"https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header.jpg\",\"contentUrl\":\"https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header.jpg\",\"width\":1176,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/rutiniwines.com\/pt-br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Protegido: Verifique sua garrafa\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/rutiniwines.com\/#website\",\"url\":\"https:\/\/rutiniwines.com\/\",\"name\":\"Bodega Rutini Wines\",\"description\":\"Valle de Uco - Mendoza - Argentina\",\"publisher\":{\"@id\":\"https:\/\/rutiniwines.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/rutiniwines.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/rutiniwines.com\/#organization\",\"name\":\"Rutini Wines\",\"alternateName\":\"Rutini\",\"url\":\"https:\/\/rutiniwines.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/rutiniwines.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/06\/rutini.png\",\"contentUrl\":\"https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/06\/rutini.png\",\"width\":313,\"height\":56,\"caption\":\"Rutini Wines\"},\"image\":{\"@id\":\"https:\/\/rutiniwines.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Verifique sua garrafa - Bodega Rutini Wines","description":"Uma linha premium de vinhos monovarietais e bivarietais de nossos pr\u00f3prios vinhedos no Vale do Uco (Gualtallary, El Cepillo e La Consulta).","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/","og_locale":"pt_BR","og_type":"article","og_title":"Verifique sua garrafa - Bodega Rutini Wines","og_description":"Uma linha premium de vinhos monovarietais e bivarietais de nossos pr\u00f3prios vinhedos no Vale do Uco (Gualtallary, El Cepillo e La Consulta).","og_url":"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/","og_site_name":"Bodega Rutini Wines","article_modified_time":"2026-03-05T19:03:13+00:00","og_image":[{"width":1176,"height":1080,"url":"https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. tempo de leitura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/","url":"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/","name":"Verifique sua garrafa - Bodega Rutini Wines","isPartOf":{"@id":"https:\/\/rutiniwines.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/#primaryimage"},"image":{"@id":"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/#primaryimage"},"thumbnailUrl":"https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header.jpg","datePublished":"2026-02-11T19:31:44+00:00","dateModified":"2026-03-05T19:03:13+00:00","description":"Uma linha premium de vinhos monovarietais e bivarietais de nossos pr\u00f3prios vinhedos no Vale do Uco (Gualtallary, El Cepillo e La Consulta).","breadcrumb":{"@id":"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/#primaryimage","url":"https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header.jpg","contentUrl":"https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header.jpg","width":1176,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/rutiniwines.com\/pt-br\/verifique-sua-garrafa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/rutiniwines.com\/pt-br\/"},{"@type":"ListItem","position":2,"name":"Protegido: Verifique sua garrafa"}]},{"@type":"WebSite","@id":"https:\/\/rutiniwines.com\/#website","url":"https:\/\/rutiniwines.com\/","name":"Bodega Rutini Wines","description":"Valle de Uco - Mendoza - Argentina","publisher":{"@id":"https:\/\/rutiniwines.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rutiniwines.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/rutiniwines.com\/#organization","name":"Rutini Wines","alternateName":"Rutini","url":"https:\/\/rutiniwines.com\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/rutiniwines.com\/#\/schema\/logo\/image\/","url":"https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/06\/rutini.png","contentUrl":"https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/06\/rutini.png","width":313,"height":56,"caption":"Rutini Wines"},"image":{"@id":"https:\/\/rutiniwines.com\/#\/schema\/logo\/image\/"}}]}},"uagb_featured_image_src":{"full":["https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header.jpg",1176,1080,false],"thumbnail":["https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header-150x150.jpg",150,150,true],"medium":["https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header-300x276.jpg",300,276,true],"medium_large":["https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header-768x705.jpg",768,705,true],"large":["https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header-1024x940.jpg",1024,940,true],"1536x1536":["https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header.jpg",1176,1080,false],"2048x2048":["https:\/\/rutiniwines.com\/wp-content\/uploads\/2024\/09\/Linea-Rutini-Coleccion-Header.jpg",1176,1080,false]},"uagb_author_info":{"display_name":"adminrutini","author_link":"https:\/\/rutiniwines.com\/pt-br\/author\/adminrutini\/"},"uagb_comment_info":0,"uagb_excerpt":"Verifique sua garrafa Digite o c\u00f3digo alfanum\u00e9rico que aparece no selo da sua garrafa. Verificar C\u00f3digo inv\u00e1lido. Por favor, tente [&hellip;]","_links":{"self":[{"href":"https:\/\/rutiniwines.com\/pt-br\/wp-json\/wp\/v2\/pages\/27497","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rutiniwines.com\/pt-br\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rutiniwines.com\/pt-br\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rutiniwines.com\/pt-br\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/rutiniwines.com\/pt-br\/wp-json\/wp\/v2\/comments?post=27497"}],"version-history":[{"count":1,"href":"https:\/\/rutiniwines.com\/pt-br\/wp-json\/wp\/v2\/pages\/27497\/revisions"}],"predecessor-version":[{"id":27498,"href":"https:\/\/rutiniwines.com\/pt-br\/wp-json\/wp\/v2\/pages\/27497\/revisions\/27498"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rutiniwines.com\/pt-br\/wp-json\/wp\/v2\/media\/21809"}],"wp:attachment":[{"href":"https:\/\/rutiniwines.com\/pt-br\/wp-json\/wp\/v2\/media?parent=27497"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}