{"id":7751,"date":"2026-05-20T08:59:01","date_gmt":"2026-05-20T08:59:01","guid":{"rendered":"https:\/\/www.cninfante.pt\/?page_id=7751"},"modified":"2026-06-22T10:52:37","modified_gmt":"2026-06-22T10:52:37","slug":"ferias","status":"publish","type":"page","link":"https:\/\/www.cninfante.pt\/en\/ferias\/","title":{"rendered":"F\u00e9rias Desportivas de Remo 2026"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">De <strong>6 de julho a 28 de agosto<\/strong>, o Clube Naval Infante D. Henrique organiza as suas <strong>F\u00e9rias Desportivas<\/strong>, pensadas para crian\u00e7as e jovens dos <strong>8 aos 16 anos<\/strong>. Durante as manh\u00e3s, os participantes ter\u00e3o oportunidade de praticar atividade f\u00edsica, conhecer melhor o remo e viver experi\u00eancias desportivas num ambiente seguro, acompanhado e divertido, junto ao rio Douro, no <a href=\"https:\/\/maps.app.goo.gl\/8tpEtWmVi26airxD6\" data-type=\"link\" data-id=\"https:\/\/maps.app.goo.gl\/8tpEtWmVi26airxD6\">Centro de Desportos N\u00e1uticos de Gramido<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As atividades decorrem de <strong>segunda a sexta-feira, das 8h30 \u00e0s 12h00<\/strong>, com inscri\u00e7\u00f5es por semana.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-e306e1c924cecd0a8863cc07bed3b7ac\" style=\"color:#203263\">Uma manh\u00e3 ativa, diferente e junto ao rio<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">As F\u00e9rias Desportivas do Infante s\u00e3o uma excelente oportunidade para experimentar novas modalidades, desenvolver h\u00e1bitos saud\u00e1veis, ganhar autonomia e conviver com outros jovens.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As atividades s\u00e3o acompanhadas por elementos do clube e adaptadas \u00e0 idade e ao n\u00edvel de experi\u00eancia dos participantes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-911c8e480c86909b786fda77ae139e11\" style=\"color:#203263\">Informa\u00e7\u00f5es principais<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Datas:<\/strong> 6 de julho a 28 de agosto<br><strong>Hor\u00e1rio:<\/strong> segunda a sexta-feira, das 8h30 \u00e0s 12h00<br><strong>Idades:<\/strong> dos 8 aos 16 anos<br><strong>Local:<\/strong> <a href=\"https:\/\/maps.app.goo.gl\/8tpEtWmVi26airxD6\" data-type=\"link\" data-id=\"https:\/\/maps.app.goo.gl\/8tpEtWmVi26airxD6\">Centro de Desportos N\u00e1uticos de Gramido, Valbom, Gondomar<\/a> (junto aos passadi\u00e7os)<br><strong>Inscri\u00e7\u00f5es:<\/strong> por semana<br><strong>Limite:<\/strong> 20 inscritos por semana<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As inscri\u00e7\u00f5es devem ser realizadas <strong>at\u00e9 \u00e0 sexta-feira da semana anterior<\/strong> \u00e0 semana pretendida.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-b06fdd596039d1f16057d695053cd3b2\" style=\"color:#203263\">Valores<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1.\u00aa semana:<\/strong> 50 \u20ac<br><strong>Semanas seguintes:<\/strong> 45 \u20ac por semana<br><strong>Seguro:<\/strong> 7 \u20ac, pago apenas uma vez, na primeira semana de participa\u00e7\u00e3o<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-33a13371b37a0776703b0c324cc43d3f\" style=\"color:#203263\">O que \u00e9 necess\u00e1rio trazer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para participar nas F\u00e9rias Desportivas, cada jovem deve trazer: 1) Chap\u00e9u, 2)T-shirt e cal\u00e7\u00f5es, 3) Roupa para trocar, 4) Produtos para tomar banho, 5) Protetor solar, 6) Lanche. \u00c9 necess\u00e1rio que o participante saiba nadar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-2dc9e52e5ace3c23b08ca1e2b85bd06a\" style=\"color:#203263\">Inscri\u00e7\u00e3o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Preencha o formul\u00e1rio abaixo para realizar a inscri\u00e7\u00e3o. Ap\u00f3s submiss\u00e3o, caso seja feito por MB WAY, a confirma\u00e7\u00e3o \u00e9 imediata. Caso o pagamento n\u00e3o seja feito por MB WAY, a secretaria do Clube Naval Infante D. Henrique confirmar\u00e1 a disponibilidade da semana escolhida ap\u00f3s pagamento.<\/p>\n\n\n\n    <style>\n        .infante-fd-wrapper {\n            max-width: 760px;\n            margin: 0 auto;\n            padding: 22px;\n            border: 1px solid #e5e7eb;\n            border-radius: 10px;\n            background: #fff;\n        }\n\n        .infante-fd-wrapper h2,\n        .infante-fd-wrapper h3 {\n            color: #003B6F;\n            margin-top: 0;\n        }\n\n        .infante-fd-section {\n            margin-bottom: 24px;\n        }\n\n        .infante-fd-grid {\n            display: grid;\n            grid-template-columns: 1fr 1fr;\n            gap: 14px;\n        }\n\n        .infante-fd-field {\n            display: flex;\n            flex-direction: column;\n            gap: 5px;\n        }\n\n        .infante-fd-field label {\n            font-weight: 600;\n            color: #4A4A4A;\n        }\n\n        .infante-fd-field input,\n        .infante-fd-field textarea {\n            width: 100%;\n            padding: 10px;\n            border: 1px solid #d1d5db;\n            border-radius: 6px;\n            box-sizing: border-box;\n        }\n\n        .infante-fd-field input:focus,\n        .infante-fd-field textarea:focus {\n            border-color: #003B6F;\n            outline: none;\n        }\n\n        .infante-fd-field.is-invalid input,\n        .infante-fd-field.is-invalid textarea {\n            border-color: #8B1F21;\n        }\n\n        .infante-fd-weeks {\n            display: grid;\n            gap: 10px;\n        }\n\n        .infante-fd-week {\n            display: flex;\n            justify-content: space-between;\n            gap: 12px;\n            padding: 12px;\n            border: 1px solid #e5e7eb;\n            border-radius: 8px;\n            cursor: pointer;\n        }\n\n        .infante-fd-week-left {\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        }\n\n        .infante-fd-week.disabled {\n            opacity: 0.55;\n            cursor: not-allowed;\n            background: #f9fafb;\n        }\n\n        .infante-fd-week.is-invalid {\n            border-color: #8B1F21;\n            background: #fffafa;\n        }\n\n        .infante-fd-stock {\n            font-size: 14px;\n            font-weight: 700;\n            white-space: nowrap;\n            color: #003B6F;\n        }\n\n        .infante-fd-total {\n            padding: 14px;\n            border-radius: 8px;\n            background: #f9fafb;\n            font-weight: 700;\n            margin-bottom: 18px;\n        }\n\n        .infante-fd-button {\n            width: 100%;\n            padding: 13px 18px;\n            border: 0;\n            border-radius: 6px;\n            font-size: 16px;\n            font-weight: 700;\n            cursor: pointer;\n            background: #8B1F21;\n            color: #fff;\n        }\n\n        .infante-fd-button:hover {\n            background: #6D181A;\n        }\n\n        .infante-fd-button:disabled {\n            opacity: 0.65;\n            cursor: wait;\n        }\n\n        .infante-fd-small {\n            font-size: 13px;\n            opacity: 0.78;\n        }\n\n        .infante-fd-errors {\n            display: none;\n            border-left: 4px solid #8B1F21;\n            background: #fff5f5;\n            border-radius: 6px;\n            padding: 12px 14px;\n            margin-bottom: 18px;\n            color: #6D181A;\n        }\n\n        .infante-fd-errors.is-visible {\n            display: block;\n        }\n\n        .infante-fd-errors ul {\n            margin: 0;\n            padding-left: 18px;\n        }\n\n        .infante-fd-errors li {\n            margin-bottom: 4px;\n            font-weight: 700;\n        }\n\n        .infante-fd-consent-line {\n            display: flex;\n            align-items: flex-start;\n            gap: 8px;\n            position: relative;\n            margin-bottom: 12px;\n        }\n\n        .infante-fd-consent-line input[type=\"checkbox\"] {\n            margin-top: 4px;\n        }\n\n        .infante-fd-consent-line.is-invalid {\n            color: #8B1F21;\n        }\n\n        .infante-fd-help-wrap {\n            position: relative;\n            display: inline-flex;\n            align-items: center;\n            gap: 6px;\n        }\n\n        .infante-fd-help-button {\n            width: 22px;\n            height: 22px;\n            border-radius: 50%;\n            border: 1px solid #003B6F;\n            background: #003B6F;\n            color: #fff;\n            cursor: pointer;\n            font-size: 13px;\n            font-weight: 700;\n            line-height: 20px;\n            padding: 0;\n            text-align: center;\n        }\n\n        .infante-fd-help-button:hover,\n        .infante-fd-help-button:focus {\n            background: #8B1F21;\n            border-color: #8B1F21;\n            color: #fff;\n        }\n\n        .infante-fd-tooltip {\n            display: none;\n            position: absolute;\n            left: 0;\n            bottom: calc(100% + 10px);\n            z-index: 50;\n            width: min(620px, 86vw);\n            max-height: 340px;\n            overflow-y: auto;\n            padding: 14px 16px;\n            border: 1px solid #d1d5db;\n            border-radius: 8px;\n            background: #fff;\n            box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14);\n            font-size: 13px;\n            font-weight: 400;\n            line-height: 1.45;\n        }\n\n        .infante-fd-tooltip ol {\n            margin: 8px 0 0 18px;\n            padding: 0;\n        }\n\n        .infante-fd-tooltip li {\n            margin-bottom: 8px;\n        }\n\n        .infante-fd-help-wrap:hover .infante-fd-tooltip,\n        .infante-fd-help-wrap:focus-within .infante-fd-tooltip,\n        .infante-fd-help-wrap.is-open .infante-fd-tooltip {\n            display: block;\n        }\n\n        @media (max-width: 700px) {\n            .infante-fd-grid {\n                grid-template-columns: 1fr;\n            }\n\n            .infante-fd-week {\n                flex-direction: column;\n            }\n\n            .infante-fd-stock {\n                white-space: normal;\n            }\n\n            .infante-fd-tooltip {\n                left: auto;\n                right: 0;\n                width: 82vw;\n            }\n        }\n    <\/style>\n\n    <div class=\"infante-fd-wrapper\">\n        <h2>Inscri\u00e7\u00e3o nas F\u00e9rias Desportivas<\/h2>\n\n        <div id=\"infante-fd-errors\" class=\"infante-fd-errors\" aria-live=\"polite\"><\/div>\n\n        <p>Seleciona as semanas pretendidas e preenche os dados da crian\u00e7a e do encarregado de educa\u00e7\u00e3o.<\/p>\n\n        <p class=\"infante-fd-small\">\n            A 1.\u00aa semana tem o valor de <span class=\"woocommerce-Price-amount amount\">50,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&euro;<\/span><\/span>.\n            As semanas seguintes t\u00eam o valor de <span class=\"woocommerce-Price-amount amount\">45,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&euro;<\/span><\/span> cada.\n            O seguro obrigat\u00f3rio tem o valor de <span class=\"woocommerce-Price-amount amount\">7,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&euro;<\/span><\/span> e \u00e9 pago apenas uma vez.\n        <\/p>\n\n        <form id=\"infante-fd-form\" method=\"post\" data-ajax-url=\"https:\/\/www.cninfante.pt\/wp-admin\/admin-ajax.php\" novalidate>\n            <input type=\"hidden\" id=\"infante_fd_nonce\" name=\"infante_fd_nonce\" value=\"52f6bc3142\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/7751\" \/>\n            <input type=\"hidden\" name=\"action\" value=\"infante_fd_submit\">\n            <input type=\"hidden\" name=\"infante_fd_product_id\" value=\"7774\">\n            <input type=\"hidden\" name=\"infante_fd_insurance_id\" value=\"7783\">\n\n            <div class=\"infante-fd-section\" id=\"infante-fd-weeks-section\">\n                <h3>1. Escolha das semanas<\/h3>\n\n                <div class=\"infante-fd-weeks\">\n                                            \n                        <label class=\"infante-fd-week \">\n                            <span class=\"infante-fd-week-left\">\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"fd_weeks[]\"\n                                    value=\"7775\"\n                                    class=\"infante-fd-week-checkbox\"\n                                                                    >\n                                <span>6 a 10 de julho<\/span>\n                            <\/span>\n\n                            <span class=\"infante-fd-stock\">com vagas dispon\u00edveis<\/span>\n                        <\/label>\n                                            \n                        <label class=\"infante-fd-week \">\n                            <span class=\"infante-fd-week-left\">\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"fd_weeks[]\"\n                                    value=\"7776\"\n                                    class=\"infante-fd-week-checkbox\"\n                                                                    >\n                                <span>13 a 17 de julho<\/span>\n                            <\/span>\n\n                            <span class=\"infante-fd-stock\">com vagas dispon\u00edveis<\/span>\n                        <\/label>\n                                            \n                        <label class=\"infante-fd-week \">\n                            <span class=\"infante-fd-week-left\">\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"fd_weeks[]\"\n                                    value=\"7777\"\n                                    class=\"infante-fd-week-checkbox\"\n                                                                    >\n                                <span>20 a 24 de julho<\/span>\n                            <\/span>\n\n                            <span class=\"infante-fd-stock\">com vagas dispon\u00edveis<\/span>\n                        <\/label>\n                                            \n                        <label class=\"infante-fd-week \">\n                            <span class=\"infante-fd-week-left\">\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"fd_weeks[]\"\n                                    value=\"7778\"\n                                    class=\"infante-fd-week-checkbox\"\n                                                                    >\n                                <span>27 a 31 de julho<\/span>\n                            <\/span>\n\n                            <span class=\"infante-fd-stock\">com vagas dispon\u00edveis<\/span>\n                        <\/label>\n                                            \n                        <label class=\"infante-fd-week \">\n                            <span class=\"infante-fd-week-left\">\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"fd_weeks[]\"\n                                    value=\"7779\"\n                                    class=\"infante-fd-week-checkbox\"\n                                                                    >\n                                <span>3 a 7 de agosto<\/span>\n                            <\/span>\n\n                            <span class=\"infante-fd-stock\">com vagas dispon\u00edveis<\/span>\n                        <\/label>\n                                            \n                        <label class=\"infante-fd-week \">\n                            <span class=\"infante-fd-week-left\">\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"fd_weeks[]\"\n                                    value=\"7780\"\n                                    class=\"infante-fd-week-checkbox\"\n                                                                    >\n                                <span>10 a 14 de agosto<\/span>\n                            <\/span>\n\n                            <span class=\"infante-fd-stock\">com vagas dispon\u00edveis<\/span>\n                        <\/label>\n                                            \n                        <label class=\"infante-fd-week \">\n                            <span class=\"infante-fd-week-left\">\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"fd_weeks[]\"\n                                    value=\"7781\"\n                                    class=\"infante-fd-week-checkbox\"\n                                                                    >\n                                <span>17 a 21 de agosto<\/span>\n                            <\/span>\n\n                            <span class=\"infante-fd-stock\">com vagas dispon\u00edveis<\/span>\n                        <\/label>\n                                            \n                        <label class=\"infante-fd-week \">\n                            <span class=\"infante-fd-week-left\">\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"fd_weeks[]\"\n                                    value=\"7782\"\n                                    class=\"infante-fd-week-checkbox\"\n                                                                    >\n                                <span>24 a 28 de agosto<\/span>\n                            <\/span>\n\n                            <span class=\"infante-fd-stock\">com vagas dispon\u00edveis<\/span>\n                        <\/label>\n                                    <\/div>\n            <\/div>\n\n            <div class=\"infante-fd-section\">\n                <h3>2. Dados da crian\u00e7a<\/h3>\n\n                <div class=\"infante-fd-grid\">\n                    <div class=\"infante-fd-field\" data-field-wrapper=\"fd_child_name\">\n                        <label for=\"fd_child_name\">Nome completo *<\/label>\n                        <input type=\"text\" id=\"fd_child_name\" name=\"fd_child_name\">\n                    <\/div>\n\n                    <div class=\"infante-fd-field\" data-field-wrapper=\"fd_child_birthdate\">\n                        <label for=\"fd_child_birthdate\">Data de nascimento *<\/label>\n                        <input type=\"text\" id=\"fd_child_birthdate\" name=\"fd_child_birthdate\" placeholder=\"dd-mm-aaaa\" inputmode=\"numeric\" maxlength=\"10\">\n                        <small class=\"infante-fd-small\">Formato: dd-mm-aaaa. Exemplo: 01-06-2015<\/small>\n                    <\/div>\n\n                    <div class=\"infante-fd-field\" data-field-wrapper=\"fd_child_cc\">\n                        <label for=\"fd_child_cc\">CC da crian\u00e7a *<\/label>\n                        <input type=\"text\" id=\"fd_child_cc\" name=\"fd_child_cc\">\n                    <\/div>\n\n                    <div class=\"infante-fd-field\" data-field-wrapper=\"fd_billing_nif\">\n                        <label for=\"fd_billing_nif\">NIF para fatura\u00e7\u00e3o *<\/label>\n                        <input type=\"text\" id=\"fd_billing_nif\" name=\"fd_billing_nif\" inputmode=\"numeric\" maxlength=\"9\" placeholder=\"9 d\u00edgitos\">\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"infante-fd-section\">\n                <h3>3. Dados do encarregado de educa\u00e7\u00e3o<\/h3>\n\n                <div class=\"infante-fd-grid\">\n                    <div class=\"infante-fd-field\" data-field-wrapper=\"fd_guardian_name\">\n                        <label for=\"fd_guardian_name\">Nome completo *<\/label>\n                        <input type=\"text\" id=\"fd_guardian_name\" name=\"fd_guardian_name\">\n                    <\/div>\n\n                    <div class=\"infante-fd-field\" data-field-wrapper=\"fd_guardian_email\">\n                        <label for=\"fd_guardian_email\">Email *<\/label>\n                        <input type=\"email\" id=\"fd_guardian_email\" name=\"fd_guardian_email\">\n                    <\/div>\n\n                    <div class=\"infante-fd-field\" data-field-wrapper=\"fd_guardian_phone\">\n                        <label for=\"fd_guardian_phone\">Telem\u00f3vel para contacto e emerg\u00eancia *<\/label>\n                        <input type=\"tel\" id=\"fd_guardian_phone\" name=\"fd_guardian_phone\">\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"infante-fd-section\">\n                <h3>4. Observa\u00e7\u00f5es<\/h3>\n\n                <div class=\"infante-fd-field\">\n                    <label for=\"fd_observations\">Alergias, medica\u00e7\u00e3o, limita\u00e7\u00f5es ou informa\u00e7\u00e3o relevante<\/label>\n                    <textarea id=\"fd_observations\" name=\"fd_observations\" rows=\"4\"><\/textarea>\n                <\/div>\n            <\/div>\n\n            <div class=\"infante-fd-section\">\n                <div class=\"infante-fd-consent-line\" data-field-wrapper=\"fd_terms\">\n                    <input type=\"checkbox\" id=\"fd_terms\" name=\"fd_terms\" value=\"1\" required aria-required=\"true\">\n\n                    <span class=\"infante-fd-help-wrap\">\n                        <span>Confirmo que li e aceito as condi\u00e7\u00f5es de participa\u00e7\u00e3o nas F\u00e9rias Desportivas.<\/span>\n                        <button type=\"button\" class=\"infante-fd-help-button\" aria-label=\"Ver condi\u00e7\u00f5es de participa\u00e7\u00e3o\">?<\/button>\n\n                        <span class=\"infante-fd-tooltip\" role=\"tooltip\">\n                            <strong>Declaro que:<\/strong>\n                            <ol>\n                                <li>Sou encarregado\/a de educa\u00e7\u00e3o ou representante legal do participante e autorizo a sua inscri\u00e7\u00e3o e participa\u00e7\u00e3o nas F\u00e9rias Desportivas do Clube Naval Infante D. Henrique.<\/li>\n                                <li>Tomei conhecimento das datas, hor\u00e1rios, valores, condi\u00e7\u00f5es de inscri\u00e7\u00e3o, material necess\u00e1rio, limite de vagas e regras de funcionamento da atividade.<\/li>\n                                <li>Confirmo que o participante sabe nadar e que se encontra em condi\u00e7\u00f5es f\u00edsicas adequadas \u00e0 pr\u00e1tica das atividades propostas.<\/li>\n                                <li>Responsabilizo-me pela veracidade dos dados fornecidos e comprometo-me a comunicar qualquer informa\u00e7\u00e3o relevante sobre sa\u00fade, alergias, medica\u00e7\u00e3o, limita\u00e7\u00f5es f\u00edsicas ou outras condi\u00e7\u00f5es que possam afetar a participa\u00e7\u00e3o em seguran\u00e7a.<\/li>\n                                <li>Comprometo-me a efetuar o pagamento associado \u00e0s f\u00e9rias desportivas ap\u00f3s receber os dados de pagamento e no prazo indicado. Tomei conhecimento que a reserva para a(s) semana(s) selecionada(s) s\u00f3 fica efetivada aquando do pagamento.<\/li>\n\t\t\t\t\t\t\t\t<li>Tomei conhecimento de que a eventual utiliza\u00e7\u00e3o de cup\u00f5es de forma n\u00e3o autorizada e n\u00e3o para os fins para os quais foram disponibilizados, implica a posterior regulariza\u00e7\u00e3o do valor devido.<\/li>\n                                <li>Autorizo, em caso de necessidade, que o Clube contacte os servi\u00e7os de emerg\u00eancia m\u00e9dica e\/ou preste os primeiros cuidados adequados at\u00e9 \u00e0 chegada do encarregado de educa\u00e7\u00e3o ou dos meios de socorro.<\/li>\n                                <li>Autorizo o tratamento dos dados pessoais fornecidos no formul\u00e1rio, incluindo os dados do participante e do encarregado de educa\u00e7\u00e3o, para efeitos de gest\u00e3o da inscri\u00e7\u00e3o, contacto, fatura\u00e7\u00e3o, seguro, organiza\u00e7\u00e3o da atividade e seguran\u00e7a dos participantes.<\/li>\n                                <li>Tomei conhecimento de que os dados ser\u00e3o tratados pelo Clube Naval Infante D. Henrique, apenas pelo per\u00edodo necess\u00e1rio \u00e0s finalidades indicadas ou pelos prazos legalmente exigidos, podendo exercer os direitos de acesso, retifica\u00e7\u00e3o, apagamento, limita\u00e7\u00e3o, oposi\u00e7\u00e3o e demais direitos previstos na legisla\u00e7\u00e3o de prote\u00e7\u00e3o de dados atrav\u00e9s dos contactos do Clube.<\/li>\n                                <li>Li e aceito as presentes condi\u00e7\u00f5es de participa\u00e7\u00e3o e a Pol\u00edtica de Privacidade.<\/li>\n                            <\/ol>\n                        <\/span>\n                    <\/span>\n                <\/div>\n\n                <div class=\"infante-fd-consent-line\">\n                    <input type=\"checkbox\" name=\"fd_image_consent\" value=\"1\">\n\n                    <span class=\"infante-fd-help-wrap\">\n                        <span>Autorizo a capta\u00e7\u00e3o e utiliza\u00e7\u00e3o de fotografias e\/ou v\u00eddeos para comunica\u00e7\u00e3o institucional do Clube.<\/span>\n                        <button type=\"button\" class=\"infante-fd-help-button\" aria-label=\"Ver detalhes da autoriza\u00e7\u00e3o de imagem\">?<\/button>\n\n                        <span class=\"infante-fd-tooltip\" role=\"tooltip\">\n                            Autorizo a capta\u00e7\u00e3o e utiliza\u00e7\u00e3o de fotografias e\/ou v\u00eddeos do participante nas F\u00e9rias Desportivas, para fins de comunica\u00e7\u00e3o institucional do Clube Naval Infante D. Henrique, incluindo website, redes sociais e materiais de divulga\u00e7\u00e3o. Esta autoriza\u00e7\u00e3o \u00e9 gratuita e pode ser retirada a qualquer momento. A n\u00e3o autoriza\u00e7\u00e3o n\u00e3o impede a participa\u00e7\u00e3o nas F\u00e9rias Desportivas.\n                        <\/span>\n                    <\/span>\n                <\/div>\n            <\/div>\n\n            <div class=\"infante-fd-total\">\n                Total estimado:\n                <span id=\"infante-fd-total-value\">0,00 \u20ac<\/span>\n                <br>\n                <span class=\"infante-fd-small\">\n                    O seguro obrigat\u00f3rio de <span class=\"woocommerce-Price-amount amount\">7,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&euro;<\/span><\/span> ser\u00e1 aplicado quando selecionares pelo menos uma semana.\n                <\/span>\n            <\/div>\n\n            <button type=\"submit\" class=\"infante-fd-button\" id=\"infante-fd-submit-button\">Inscrever e pagar<\/button>\n        <\/form>\n    <\/div>\n\n    <script>\n        (function() {\n            const form = document.getElementById('infante-fd-form');\n            const errorsBox = document.getElementById('infante-fd-errors');\n            const submitButton = document.getElementById('infante-fd-submit-button');\n\n            const checkboxes = document.querySelectorAll('.infante-fd-week-checkbox');\n            const totalEl = document.getElementById('infante-fd-total-value');\n\n            const firstWeekPrice = 50;\n            const nextWeekPrice = 45;\n            const insurancePrice = 7;\n\n            function formatEuro(value) {\n                return new Intl.NumberFormat('pt-PT', {\n                    style: 'currency',\n                    currency: 'EUR'\n                }).format(value);\n            }\n\n            function updateTotal() {\n                const selected = Array.from(checkboxes).filter(cb => cb.checked);\n                let total = 0;\n\n                if (selected.length > 0) {\n                    total += insurancePrice;\n                    total += firstWeekPrice;\n\n                    if (selected.length > 1) {\n                        total += (selected.length - 1) * nextWeekPrice;\n                    }\n                }\n\n                totalEl.textContent = formatEuro(total);\n            }\n\n            function clearErrors() {\n                errorsBox.classList.remove('is-visible');\n                errorsBox.innerHTML = '';\n\n                document.querySelectorAll('.is-invalid').forEach(function(el) {\n                    el.classList.remove('is-invalid');\n                });\n            }\n\n            function showErrors(errors) {\n                if (!Array.isArray(errors) || errors.length === 0) {\n                    errors = ['N\u00e3o foi poss\u00edvel processar a inscri\u00e7\u00e3o. Verifica os dados e tenta novamente.'];\n                }\n\n                errorsBox.innerHTML = '<ul>' + errors.map(function(error) {\n                    return '<li>' + String(error).replace(\/[&<>\"']\/g, function(match) {\n                        return {\n                            '&': '&amp;',\n                            '<': '&lt;',\n                            '>': '&gt;',\n                            '\"': '&quot;',\n                            \"'\": '&#039;'\n                        }[match];\n                    }) + '<\/li>';\n                }).join('') + '<\/ul>';\n\n                errorsBox.classList.add('is-visible');\n                errorsBox.scrollIntoView({ behavior: 'smooth', block: 'center' });\n            }\n\n            function markInvalid(name) {\n                const wrapper = document.querySelector('[data-field-wrapper=\"' + name + '\"]');\n\n                if (wrapper) {\n                    wrapper.classList.add('is-invalid');\n                }\n            }\n\n            function getValue(name) {\n                const input = form.querySelector('[name=\"' + name + '\"]');\n                return input ? input.value.trim() : '';\n            }\n\n            function validateClientSide() {\n                const errors = [];\n\n                const selectedWeeks = Array.from(checkboxes).filter(cb => cb.checked);\n\n                if (selectedWeeks.length === 0) {\n                    errors.push('Seleciona pelo menos uma semana.');\n                    document.getElementById('infante-fd-weeks-section').classList.add('is-invalid');\n                }\n\n                if (!getValue('fd_child_name')) {\n                    errors.push('Indica o nome completo da crian\u00e7a.');\n                    markInvalid('fd_child_name');\n                }\n\n                const birthdate = getValue('fd_child_birthdate');\n\n                if (!birthdate) {\n                    errors.push('Indica a data de nascimento.');\n                    markInvalid('fd_child_birthdate');\n                } else if (!\/^\\d{2}-\\d{2}-\\d{4}$\/.test(birthdate)) {\n                    errors.push('A data de nascimento deve estar no formato dd-mm-aaaa.');\n                    markInvalid('fd_child_birthdate');\n                }\n\n                if (!getValue('fd_child_cc')) {\n                    errors.push('Indica o CC da crian\u00e7a.');\n                    markInvalid('fd_child_cc');\n                }\n\n                const nif = getValue('fd_billing_nif').replace(\/\\D\/g, '');\n\n                if (!nif) {\n                    errors.push('Indica o NIF para fatura\u00e7\u00e3o.');\n                    markInvalid('fd_billing_nif');\n                } else if (nif.length !== 9) {\n                    errors.push('O NIF para fatura\u00e7\u00e3o deve ter 9 d\u00edgitos.');\n                    markInvalid('fd_billing_nif');\n                }\n\n                if (!getValue('fd_guardian_name')) {\n                    errors.push('Indica o nome completo do encarregado de educa\u00e7\u00e3o.');\n                    markInvalid('fd_guardian_name');\n                }\n\n                const email = getValue('fd_guardian_email');\n\n                if (!email) {\n                    errors.push('Indica o email do encarregado de educa\u00e7\u00e3o.');\n                    markInvalid('fd_guardian_email');\n                } else if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) {\n                    errors.push('Indica um email v\u00e1lido.');\n                    markInvalid('fd_guardian_email');\n                }\n\n                if (!getValue('fd_guardian_phone')) {\n                    errors.push('Indica o telem\u00f3vel para contacto e emerg\u00eancia.');\n                    markInvalid('fd_guardian_phone');\n                }\n\n                const terms = form.querySelector('[name=\"fd_terms\"]');\n\n                if (!terms || !terms.checked) {\n                    errors.push('Tens de aceitar as condi\u00e7\u00f5es de participa\u00e7\u00e3o.');\n                    markInvalid('fd_terms');\n                }\n\n                return errors;\n            }\n\n            checkboxes.forEach(cb => cb.addEventListener('change', updateTotal));\n            updateTotal();\n\n            const birthdateInput = document.getElementById('fd_child_birthdate');\n\n            if (birthdateInput) {\n                birthdateInput.addEventListener('input', function() {\n                    let value = birthdateInput.value.replace(\/\\D\/g, '').slice(0, 8);\n\n                    if (value.length >= 5) {\n                        value = value.replace(\/(\\d{2})(\\d{2})(\\d{1,4})\/, '$1-$2-$3');\n                    } else if (value.length >= 3) {\n                        value = value.replace(\/(\\d{2})(\\d{1,2})\/, '$1-$2');\n                    }\n\n                    birthdateInput.value = value;\n                });\n            }\n\n            document.querySelectorAll('.infante-fd-help-button').forEach(function(button) {\n                button.addEventListener('click', function(event) {\n                    event.preventDefault();\n\n                    const wrap = button.closest('.infante-fd-help-wrap');\n\n                    document.querySelectorAll('.infante-fd-help-wrap.is-open').forEach(function(openWrap) {\n                        if (openWrap !== wrap) {\n                            openWrap.classList.remove('is-open');\n                        }\n                    });\n\n                    wrap.classList.toggle('is-open');\n                });\n            });\n\n            document.addEventListener('click', function(event) {\n                if (!event.target.closest('.infante-fd-help-wrap')) {\n                    document.querySelectorAll('.infante-fd-help-wrap.is-open').forEach(function(openWrap) {\n                        openWrap.classList.remove('is-open');\n                    });\n                }\n            });\n\n            form.addEventListener('submit', async function(event) {\n                event.preventDefault();\n\n                clearErrors();\n\n                const clientErrors = validateClientSide();\n\n                if (clientErrors.length > 0) {\n                    showErrors(clientErrors);\n                    return;\n                }\n\n                submitButton.disabled = true;\n                submitButton.textContent = 'A processar...';\n\n                try {\n                    const formData = new FormData(form);\n\n                    const response = await fetch(form.dataset.ajaxUrl, {\n                        method: 'POST',\n                        body: formData,\n                        credentials: 'same-origin'\n                    });\n\n                    const result = await response.json();\n\n                    if (result && result.success && result.data && result.data.redirect) {\n                        window.location.href = result.data.redirect;\n                        return;\n                    }\n\n                    if (result && result.data && result.data.errors) {\n                        showErrors(result.data.errors);\n                    } else {\n                        showErrors(['N\u00e3o foi poss\u00edvel processar a inscri\u00e7\u00e3o. Verifica os dados e tenta novamente.']);\n                    }\n                } catch (error) {\n                    showErrors(['Erro de comunica\u00e7\u00e3o com o servidor. Tenta novamente.']);\n                } finally {\n                    submitButton.disabled = false;\n                    submitButton.textContent = 'Inscrever e pagar';\n                }\n            });\n        })();\n    <\/script>\n\n    \n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-f2f7a972491ea9ca972ab14b52f36c7a\" style=\"color:#203263\">Contactos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para mais informa\u00e7\u00f5es, contacte a secretaria do Clube Naval Infante D. Henrique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Email:<\/strong> <a>secretaria@cninfante.pt<\/a><br><strong>Telefone:<\/strong> 925 045 278<br><strong>Hor\u00e1rio da secretaria:<\/strong> ter\u00e7a a quinta-feira, das 17h30 \u00e0s 20h00; s\u00e1bado, das 9h00 \u00e0s 13h00<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Local:<\/strong> Centro de Desportos N\u00e1uticos de Gramido<br>Avenida Escritor Costa Barreto, 3000<br>4420-445 Valbom, Gondomar<\/p>\n","protected":false},"excerpt":{"rendered":"<p>De 6 de julho a 28 de agosto, o Clube Naval Infante D. Henrique organiza as suas F\u00e9rias Desportivas, pensadas para crian\u00e7as e jovens dos 8 aos 16 anos. Durante as manh\u00e3s, os participantes ter\u00e3o oportunidade de praticar atividade f\u00edsica, conhecer melhor o remo e viver experi\u00eancias desportivas num ambiente [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":225,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"class_list":["post-7751","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.cninfante.pt\/en\/wp-json\/wp\/v2\/pages\/7751","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cninfante.pt\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.cninfante.pt\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.cninfante.pt\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cninfante.pt\/en\/wp-json\/wp\/v2\/comments?post=7751"}],"version-history":[{"count":20,"href":"https:\/\/www.cninfante.pt\/en\/wp-json\/wp\/v2\/pages\/7751\/revisions"}],"predecessor-version":[{"id":7859,"href":"https:\/\/www.cninfante.pt\/en\/wp-json\/wp\/v2\/pages\/7751\/revisions\/7859"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cninfante.pt\/en\/wp-json\/wp\/v2\/media\/225"}],"wp:attachment":[{"href":"https:\/\/www.cninfante.pt\/en\/wp-json\/wp\/v2\/media?parent=7751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}