{"id":2440,"date":"2026-08-21T11:38:10","date_gmt":"2026-08-21T10:38:10","guid":{"rendered":"https:\/\/glidesuptours.pt\/?page_id=2440"},"modified":"2026-10-29T19:00:11","modified_gmt":"2026-10-29T18:00:11","slug":"barreirinha-sup-tours","status":"publish","type":"page","link":"https:\/\/glidesuptours.pt\/en\/barreirinha-sup-tours\/","title":{"rendered":"Barreirinha SUP Tours"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2440\" class=\"elementor elementor-2440\">\n\t\t\t\t<div class=\"elementor-element elementor-element-55bfa37 bar-hero e-flex e-con-boxed e-con e-parent\" data-id=\"55bfa37\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d208452 elementor-widget elementor-widget-text-editor\" data-id=\"d208452\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<style>.bar-hero{background:linear-gradient(165deg,#0B3557 0%,#04182B 62%)!important}.bar-hero .bar-eyebrow{color:#19C0A7;font-size:13px;letter-spacing:4px;font-weight:700;text-transform:uppercase;text-align:center;display:block;margin-bottom:14px}.bar-hero .elementor-heading-title{color:#fff}.bar-hero h1.elementor-heading-title{font-size:54px;font-weight:800;line-height:1.08;margin-bottom:16px}[data-id=\"01eedfa\"] p,[data-id=\"51b9359\"] p{color:rgba(255,255,255,.92);font-size:21px;line-height:1.6;text-align:center;max-width:760px;margin:0 auto 30px;font-weight:500}.bar-ctas .elementor-button{font-weight:700;border-radius:10px;padding:15px 30px;color:#fff!important}@media(max-width:767px){.bar-hero h1.elementor-heading-title{font-size:33px}.bar-ctas{flex-direction:column!important;width:100%}.bar-ctas>.elementor-element{width:100%!important}}.bar-feat{background:#E9F5EE!important;padding-top:22px;padding-bottom:22px;border-top:1px solid #CDE8D8;border-bottom:1px solid #CDE8D8}.bar-feat i{color:#2FA26B!important;background:rgba(47,162,107,.14);border-radius:50%;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:15px!important}.bar-feat .elementor-icon-list-text{color:#0B3557!important;font-weight:600}.bar-feat .elementor-icon-list-items{justify-content:center;column-gap:46px;row-gap:12px;flex-wrap:wrap}.bar-intro-txt h2.elementor-heading-title{color:#04182B;font-size:38px;font-weight:800;line-height:1.15;margin-bottom:14px}.bar-kicker .elementor-heading-title{color:#0E7FB8;font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:10px}.bar-intro-txt .elementor-text-editor p{color:#4A5A68;font-size:17px;line-height:1.75}.bar-img img{border-radius:16px;box-shadow:0 14px 34px rgba(4,24,43,.16);width:100%;max-height:340px;object-fit:cover;object-position:center center;display:block}[data-id=\"29a5fdb\"]{background:linear-gradient(165deg,#0B3557 0%,#04182B 62%)!important}.bar-incl .bar-h2bar .elementor-heading-title{color:#fff!important}.bar-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.bar-grid>.elementor-element{width:100%!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:26px 18px;transition:.25s;box-shadow:none!important}.bar-grid>.elementor-element:hover{transform:translateY(-5px);background:rgba(255,255,255,.11)!important;border-color:rgba(25,192,167,.5)}.bar-grid .elementor-icon-box-wrapper{text-align:center}.bar-grid .elementor-icon-box-icon .elementor-icon{width:54px!important;height:54px;background:#19C0A7;border-radius:50%;display:inline-flex!important;align-items:center;justify-content:center;margin-bottom:12px}.bar-grid .elementor-icon-box-icon i{color:#fff!important;font-size:22px}.bar-grid .elementor-icon-box-title{color:#fff!important;font-weight:700;margin-bottom:6px}.bar-grid .elementor-icon-box-description{color:rgba(255,255,255,.72)!important;line-height:1.55}@media(max-width:767px){.bar-grid{grid-template-columns:1fr}}.bar-h2bar .elementor-heading-title{color:#04182B;font-size:38px;font-weight:800;text-align:center;line-height:1.15}@media(max-width:767px){.bar-h2bar .elementor-heading-title{font-size:27px}}[data-id=\"37b2f2b\"]{background:linear-gradient(165deg,#0B3557 0%,#04182B 62%)!important}[data-id=\"37b2f2b\"] .bar-h2bar .elementor-heading-title{color:#fff!important}[data-id=\"37b2f2b\"] .bar-ponto-card{background:rgba(255,255,255,.07);border:1px solid rgba(79,191,139,.45);border-radius:20px;padding:36px 30px;max-width:680px;margin:26px auto 0;box-shadow:0 18px 44px rgba(0,0,0,.35)}[data-id=\"37b2f2b\"] h3.elementor-heading-title{color:#fff;font-size:24px;font-weight:800;margin-bottom:10px}.bar-pin{width:76px;height:76px;background:linear-gradient(135deg,#19C0A7,#4FBF8B);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 10px 28px rgba(79,191,139,.45)}.bar-pin i{color:#fff;font-size:30px}[data-id=\"37b2f2b\"] .elementor-text-editor p{color:rgba(255,255,255,.88);font-size:17px;line-height:1.7;max-width:560px;margin:0 auto 14px}[data-id=\"b2664cc\"] p{display:inline-block;background:rgba(79,191,139,.14);border:1px solid rgba(79,191,139,.6);padding:10px 24px;border-radius:99px;font-size:15px;color:#8FE3B4;margin-bottom:18px}[data-id=\"b2664cc\"] p strong{color:#8FE3B4}.bar-maps-btn a.elementor-button{background:#4FBF8B!important;color:#06301C!important;font-weight:800;border-radius:10px}.bar-maps-btn a.elementor-button:hover{background:#3FA97A!important;color:#fff!important}.bar-faq-head .elementor-heading-title{color:#04182B;font-size:34px;font-weight:800;text-align:center;margin-bottom:8px}@media(max-width:767px){.bar-faq-head .elementor-heading-title{font-size:26px}}.bar-cta .elementor-heading-title{color:#fff}.bar-cta h2.elementor-heading-title{font-size:36px;font-weight:800}@media(max-width:767px){.bar-cta h2.elementor-heading-title{font-size:27px}}footer.site-footer{background:#F1F7F3!important;border-top:3px solid #2FA26B}footer.site-footer div,footer.site-footer section,footer.site-footer aside,footer.site-footer ul{background-color:transparent!important}footer.site-footer i{color:#2FA26B!important}footer.site-footer .widget-title,footer.site-footer h1,footer.site-footer h2,footer.site-footer h3,footer.site-footer h4{color:#04182B!important}footer.site-footer p,footer.site-footer span,footer.site-footer li,footer.site-footer div,footer.site-footer td{color:#0B3557!important}footer.site-footer a{color:#0B3557!important;font-weight:600;text-decoration:underline;text-underline-offset:3px}footer.site-footer a:hover{color:#04182B!important}\/* centra-coordenadas *\/[data-id=\"0ba8470\"]{text-align:center}[data-id=\"b2664cc\"]{text-align:center}[data-id=\"b2664cc\"] p{display:inline-block;margin-left:auto;margin-right:auto}\/* bg-ponto-inline *\/[data-id=\"37b2f2b\"]{background-color:#0E7FB8!important}\n.bar-promo-banner {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 8px;\n  background: rgba(25, 192, 167, 0.16);\n  border: 1px solid rgba(25, 192, 167, 0.5);\n  padding: 8px 18px;\n  border-radius: 99px;\n  color: #FFFFFF;\n  font-size: 15px;\n  font-weight: 600;\n  text-align: center;\n  margin-bottom: 12px;\n  backdrop-filter: blur(8px);\n  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);\n}\n.bar-promo-banner strong {\n  color: #FFB703;\n  font-weight: 800;\n  letter-spacing: 0.5px;\n}\n.bar-promo-icon {\n  font-size: 16px;\n}\n@media (max-width: 767px) {\n  .bar-promo-banner {\n    font-size: 13.5px;\n    padding: 7px 14px;\n    margin-bottom: 10px;\n  }\n}\n\n\/* ===== OCT5 ===== *\/\n\/* Hero: frase de destaque *\/\n[data-id=\"01eedfa\"] p.bar-hero-tag{font-size:28px!important;font-weight:800!important;color:#fff!important;\n  letter-spacing:-.2px;line-height:1.25!important;margin:0 auto 10px!important}\n[data-id=\"01eedfa\"] p.bar-hero-tag::after{content:\"\";display:block;width:56px;height:3px;border-radius:3px;\n  background:#19C0A7;margin:14px auto 0}\n@media(max-width:767px){[data-id=\"01eedfa\"] p.bar-hero-tag{font-size:22px!important}\n  [data-id=\"01eedfa\"] p{font-size:17px!important}}\n\n\/* Intro *\/\n[data-id=\"8d2421b\"]{align-items:stretch!important}\n.bar-intro-txt{justify-content:center!important}\n.bar-intro-txt .elementor-widget-text-editor p{color:#4A5A68;font-size:17px;line-height:1.75;margin:0 0 14px}\n.bar-intro-list{list-style:none!important;margin:20px 0 0!important;padding:0!important;display:grid;gap:12px}\n.bar-intro-list li{display:flex;align-items:center;gap:12px;color:#0B3557;font-size:16px;line-height:1.4}\n.bar-intro-list li strong{color:#04182B}\n.bar-intro-list i{flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:rgba(25,192,167,.15);\n  color:#13A08B!important;display:inline-flex;align-items:center;justify-content:center;font-size:12px}\n.bar-img{position:relative;display:flex!important}\n.bar-img .elementor-widget-image,.bar-img .elementor-widget-container{width:100%;height:100%}\n.bar-img img{width:100%!important;height:100%!important;min-height:480px;max-height:560px!important;\n  object-fit:cover!important;object-position:center 52%!important;border-radius:20px!important;\n  box-shadow:0 22px 48px rgba(4,24,43,.20)!important}\n.bar-img::after{content:\"Funchal \u00b7 Reserva Natural do Garajau\";position:absolute;left:18px;bottom:18px;background:rgba(185,232,210,0.42);border:1px solid rgba(215,245,230,0.75);color:#062b47;font-size:13px;font-weight:700;letter-spacing:.3px;padding:8px 16px;border-radius:99px;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);box-shadow:0 4px 14px rgba(4,24,43,.18);pointer-events:none}\n@media(max-width:767px){.bar-img img{min-height:0;height:360px!important;max-height:360px!important;border-radius:14px!important}\n  .bar-img::after{left:12px;bottom:12px;font-size:12px}}\n\n\/* Meeting point \u2013 bloco independente *\/\nbody .elementor [data-id=\"37b2f2b\"]{background:linear-gradient(165deg,#0B3557 0%,#04182B 70%)!important}\nbody .elementor [data-id=\"37b2f2b\"] .bar-h2bar .elementor-heading-title{color:#fff!important}\nbody .elementor [data-id=\"37b2f2b\"] .bar-ponto-sub p{color:rgba(255,255,255,.75)!important;font-size:17px!important;text-align:center;margin:6px 0 0!important}\nbody .elementor [data-id=\"37b2f2b\"] .bar-ponto-card{background:#fff!important;border:none!important;border-radius:22px!important;\n  padding:0!important;max-width:1000px!important;width:100%!important;margin:34px auto 0!important;overflow:hidden;\n  box-shadow:0 26px 60px rgba(0,0,0,.35)!important}\n.bpe{display:grid;grid-template-columns:1.05fr 1fr;min-height:440px}\n.bpe-info{padding:40px 38px;display:flex;flex-direction:column;align-items:flex-start;text-align:left}\n.bpe-kicker{display:inline-flex;align-items:center;gap:8px;color:#0E7FB8;font-size:12.5px;font-weight:700;\n  letter-spacing:2.5px;text-transform:uppercase;margin-bottom:8px}\n.bpe-title{color:#04182B!important;font-size:28px!important;font-weight:800!important;line-height:1.2!important;margin:0 0 12px!important}\n.bpe-lead{color:#4A5A68!important;font-size:16px!important;line-height:1.7!important;margin:0 0 22px!important}\n.bpe-list{list-style:none!important;margin:0 0 26px!important;padding:0!important;display:grid;gap:16px;width:100%}\n.bpe-list li{display:flex;align-items:flex-start;gap:14px;margin:0!important}\n.bpe-ic{flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:#E9F5EE;display:inline-flex;align-items:center;justify-content:center}\n.bpe-ic i{color:#2FA26B!important;font-size:16px}\n.bpe-list strong{display:block;color:#04182B;font-size:15.5px;font-weight:700;line-height:1.3}\n.bpe-list span:not(.bpe-ic){display:block;color:#5B6B78;font-size:14.5px;line-height:1.5;margin-top:2px}\na.bpe-btn{display:inline-flex;align-items:center;gap:10px;background:#4FBF8B;color:#06301C!important;font-weight:800;\n  font-size:15.5px;padding:14px 26px;border-radius:10px;text-decoration:none!important;margin-top:auto;transition:.2s}\na.bpe-btn:hover{background:#0B6BA0;color:#fff!important;transform:translateY(-2px)}\n.bpe-map{position:relative;min-height:320px;background:#DCEBF2}\n.bpe-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}\n@media(max-width:860px){.bpe{grid-template-columns:1fr}.bpe-info{padding:30px 22px}.bpe-map{min-height:280px}\n  .bpe-title{font-size:24px!important}a.bpe-btn{width:100%;justify-content:center}}\n\/* ponto: overrides extra (snippet 86) *\/\nbody .elementor [data-id=\"37b2f2b\"]{padding:50px 24px!important}\nbody .elementor [data-id=\"37b2f2b\"] h2.elementor-heading-title,\nbody .elementor [data-id=\"37b2f2b\"] [data-id=\"2f47f2a\"] .elementor-heading-title{color:#fff!important}\nbody .elementor [data-id=\"37b2f2b\"] .bar-ponto-sub{width:100%}\nbody .elementor [data-id=\"37b2f2b\"] .bar-ponto-sub p{text-align:center!important;color:rgba(255,255,255,.78)!important}\nbody .elementor [data-id=\"37b2f2b\"] .bar-pin{width:64px!important;height:64px!important;margin:0 auto 16px!important;\n  background:linear-gradient(135deg,#19C0A7,#4FBF8B)!important;box-shadow:0 10px 28px rgba(25,192,167,.45)!important}\nbody .elementor [data-id=\"37b2f2b\"] .bar-pin i{font-size:26px!important}\n@media(max-width:767px){body .elementor [data-id=\"37b2f2b\"]{padding:34px 16px!important}}\nbody .elementor [data-id=\"b5e7a01\"]{width:100%!important}\n.bpe-sub{text-align:center;color:rgba(255,255,255,.78);font-size:17px;line-height:1.6;margin-top:4px}\n\/* intro-justify *\/.bar-intro-txt .elementor-widget-text-editor p{text-align:justify!important;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}\n@media(max-width:767px){.bar-intro-txt .elementor-widget-text-editor p{text-align:left!important;hyphens:manual}}\n\/* ===== \/OCT5 ===== *\/\n\n<\/style><div class=\"bar-eyebrow\">Funchal \u00b7 Madeira<\/div>\n<style>[data-id=\"barrimg1\"] img{border-radius:18px;box-shadow:0 18px 40px rgba(4,24,43,.22);width:100%;max-height:500px;object-fit:cover;object-position:center center;display:block}[data-id=\"barrimg1\"]{margin-top:28px}@media(max-width:767px){[data-id=\"barrimg1\"] img{border-radius:12px;max-height:380px}}<\/style>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-21f660d elementor-widget elementor-widget-heading\" data-id=\"21f660d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Barreirinha SUP Tours (Coming soon)<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-01eedfa elementor-widget elementor-widget-text-editor\" data-id=\"01eedfa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"bar-hero-tag\">Funchal\u2019s most iconic spot<\/p><p>Paddle in crystal-clear waters beside Funchal bay, with the Garajau Nature Reserve on the horizon. Perfect for sharing with family and friends.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-barrimg1 elementor-widget elementor-widget-image\" data-id=\"barrimg1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"2048\" height=\"938\" src=\"https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/08\/barreirinha-2.jpeg\" class=\"attachment-full size-full wp-image-2846\" alt=\"barreirinha 2\" srcset=\"https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/08\/barreirinha-2.jpeg 2048w, https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/08\/barreirinha-2-300x137.jpeg 300w, https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/08\/barreirinha-2-1024x469.jpeg 1024w, https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/08\/barreirinha-2-768x352.jpeg 768w, https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/08\/barreirinha-2-1536x704.jpeg 1536w, https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/08\/barreirinha-2-18x8.jpeg 18w, https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/08\/barreirinha-2-600x275.jpeg 600w\" sizes=\"(max-width: 2048px) 100vw, 2048px\"  title=\"Barreirinha SUP Tours\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7487ece e-con-full bar-ctas e-flex e-con e-child\" data-id=\"7487ece\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-370b49b elementor-align-center elementor-widget elementor-widget-button\" data-id=\"370b49b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-lg\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Coming soon<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8c23c8b bar-feat e-flex e-con-boxed e-con e-parent\" data-id=\"8c23c8b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-26d991c elementor-icon-list--layout-inline elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"26d991c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items elementor-inline-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-water\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Crystal-clear waters<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-users\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Groups of up to 8 guests<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-calendar-check\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Available year-round<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8d2421b bar-intro e-flex e-con-boxed e-con e-parent\" data-id=\"8d2421b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-0bc8cb7 bar-intro-txt e-flex e-con-boxed e-con e-child\" data-id=\"0bc8cb7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bb9abf9 elementor-widget elementor-widget-heading\" data-id=\"bb9abf9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">Group Tours<\/h6>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7340057 elementor-widget elementor-widget-heading\" data-id=\"7340057\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Explore Barreirinha at the rhythm of the sea<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c9f17aa elementor-widget elementor-widget-text-editor\" data-id=\"c9f17aa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Partimos da Praia da Barreirinha, mesmo ao lado da Zona Velha do Funchal, e remamos ao longo da costa em \u00e1guas calmas e cristalinas \u2014 com a cidade de um lado e as fal\u00e9sias da Reserva Natural do Garajau \u00e0 nossa frente.<\/p><p>Sem pressas e sempre com um guia por perto, o percurso adapta-se ao mar do dia e ao ritmo do grupo.<\/p><ul class=\"bar-intro-list\"><li><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span><strong>Ideal for beginners<\/strong> \u2014 you learn everything at the start<\/span><\/li><li><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span><strong>Guia certificado<\/strong> from start to finish<\/span><\/li><li><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span><strong>Tour photos<\/strong> included at no extra cost<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-16f6b22 bar-img e-flex e-con-boxed e-con e-child\" data-id=\"16f6b22\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-26d43db elementor-widget elementor-widget-image\" data-id=\"26d43db\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"938\" height=\"2048\" src=\"https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-06-01-at-10.32.46.jpeg\" class=\"attachment-full size-full wp-image-2194\" alt=\"whatsapp image 2026 06 01 at 10.32.46\" srcset=\"https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-06-01-at-10.32.46.jpeg 938w, https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-06-01-at-10.32.46-600x1310.jpeg 600w, https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-06-01-at-10.32.46-137x300.jpeg 137w, https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-06-01-at-10.32.46-469x1024.jpeg 469w, https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-06-01-at-10.32.46-768x1677.jpeg 768w, https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-06-01-at-10.32.46-704x1536.jpeg 704w, https:\/\/glidesuptours.pt\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-06-01-at-10.32.46-5x12.jpeg 5w\" sizes=\"(max-width: 938px) 100vw, 938px\"  title=\"Barreirinha SUP Tours\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-29a5fdb bar-incl e-flex e-con-boxed e-con e-parent\" data-id=\"29a5fdb\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-55ffb66 elementor-widget elementor-widget-heading\" data-id=\"55ffb66\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">What's included<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-03b8b6d e-con-full bar-grid e-flex e-con e-child\" data-id=\"03b8b6d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dd5cd14 elementor-position-block-start elementor-view-default elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"dd5cd14\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tComplete equipment\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tHigh-quality board, paddle and leash.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2d0d887 elementor-position-block-start elementor-view-default elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"2d0d887\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tSafety equipment\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tCertified life vest (mandatory use).\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e58f261 elementor-position-block-start elementor-view-default elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"e58f261\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tDigital Photos\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tYour best moments captured on the water.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f4e24e5 elementor-position-block-start elementor-view-default elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"f4e24e5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tCertified Guide + Insurance\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tAcompanhamento profissional from start to finish.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bar_tour_options bar-tours-section e-flex e-con-boxed e-con e-parent\" data-id=\"bar_tour_options\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bar_tour_options_html elementor-widget elementor-widget-html\" data-id=\"bar_tour_options_html\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"bar-tours-container\">\n  <div class=\"bar-tours-head\">\n    <span class=\"bar-tours-pill\">TOUR OPTIONS \u00b7 FUNCHAL<\/span>\n    <h2 class=\"bar-tours-h2\">Available SUP Tours<\/h2>\n    <p class=\"bar-tours-intro\">Discover Funchal bay with the ideal experience for you \u2014 from a relaxed group paddle to active coastal exploration on high-performance boards.<\/p>\n  <\/div>\n\n  <div class=\"bar-tours-dual-grid\">\n    <!-- OPCAO 1: SUP Tour -->\n    <div class=\"bar-tour-card bar-tour-card--normal\">\n      <div class=\"bar-tour-card-header\">\n        <div class=\"bar-card-badge bar-card-badge--normal\">CLASSIC TOUR<\/div>\n        <div class=\"bar-card-capacity\"><i class=\"fas fa-users\"><\/i> Max. <strong>8 people<\/strong><\/div>\n      <\/div>\n      <h3 class=\"bar-card-title\">SUP Tour<\/h3>\n      <p class=\"bar-card-desc\">The classic Stand Up Paddle experience in the crystal-clear waters of Funchal bay. Designed to enjoy the scenery and paddle safely at the group's pace.<\/p>\n      \n      <div class=\"bar-card-specs\">\n        <div class=\"bar-spec-row\">\n          <div class=\"bar-spec-icon\"><i class=\"fas fa-water\"><\/i><\/div>\n          <div class=\"bar-spec-text\">\n            <strong>All-Round Boards<\/strong>\n            <span>Wide, stable and comfortable \u2014 ideal for all levels<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"bar-spec-row\">\n          <div class=\"bar-spec-icon\"><i class=\"fas fa-map-marked-alt\"><\/i><\/div>\n          <div class=\"bar-spec-text\">\n            <strong>Natural Reserve Route<\/strong>\n            <span>Tour along the nature reserve, a unique scenery.<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"bar-spec-row\">\n          <div class=\"bar-spec-icon\"><i class=\"fas fa-users\"><\/i><\/div>\n          <div class=\"bar-spec-text\">\n            <strong>Capacity: Up to 8 People<\/strong>\n            <span>Relaxed atmosphere with local guide and photos included<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"bar-spec-row\">\n          <div class=\"bar-spec-icon\"><i class=\"fas fa-check-circle\"><\/i><\/div>\n          <div class=\"bar-spec-text\">\n            <strong>Difficulty Level<\/strong>\n            <span>Accessible to beginners and families (no experience required)<\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"bar-card-cta\">\n        <span class=\"bar-btn bar-btn--normal\">COMING SOON &middot; INFO<\/span>\n      <\/div>\n    <\/div>\n\n    <!-- OPCAO 2: SUP Touring -->\n    <div class=\"bar-tour-card bar-tour-card--touring\">\n      <div class=\"bar-tour-card-header\">\n        <div class=\"bar-card-badge bar-card-badge--touring\">SUP Touring<\/div>\n        <div class=\"bar-card-capacity bar-card-capacity--touring\"><i class=\"fas fa-users\"><\/i> Max. <strong>6 people<\/strong><\/div>\n      <\/div>\n      <h3 class=\"bar-card-title\">SUP Touring<\/h3>\n      <p class=\"bar-card-desc\">This tour was created for those looking to cover longer distances while enjoying the coast, with our SUP Touring boards.<\/p>\n      \n      <div class=\"bar-card-specs\">\n        <div class=\"bar-spec-row\">\n          <div class=\"bar-spec-icon bar-spec-icon--touring\"><i class=\"fas fa-water\"><\/i><\/div>\n          <div class=\"bar-spec-text\">\n            <strong>12\u20196\u201d Touring Boards<\/strong>\n            <span>Higher-performance boards with more speed and glide on the water!<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"bar-spec-row\">\n          <div class=\"bar-spec-icon bar-spec-icon--touring\"><i class=\"fas fa-route\"><\/i><\/div>\n          <div class=\"bar-spec-text\">\n            <strong>Longer Route<\/strong>\n            <span>Coastal navigation and cliff exploration towards Garajau<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"bar-spec-row\">\n          <div class=\"bar-spec-icon bar-spec-icon--touring\"><i class=\"fas fa-users\"><\/i><\/div>\n          <div class=\"bar-spec-text\">\n            <strong>Capacity: Up to 6 People<\/strong>\n            <span>Exclusive group for a smooth pace and dedicated guidance<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"bar-spec-row\">\n          <div class=\"bar-spec-icon bar-spec-icon--touring\"><i class=\"fas fa-check-circle\"><\/i><\/div>\n          <div class=\"bar-spec-text\">\n            <strong>Active Paddling<\/strong>\n            <span>For those who want to paddle longer distances and explore the coast<\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"bar-card-cta\">\n        <span class=\"bar-btn bar-btn--touring\">COMING SOON &middot; INFO<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-16ad745 e-flex e-con-boxed e-con e-parent\" data-id=\"16ad745\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8ded820 elementor-widget elementor-widget-html\" data-id=\"8ded820\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n\t\t\t\t\t<!-- =========================================================================\n\n     GLIDE - SUP TOURS \u2014 WIDGET DEDICADO BARREIRINHA, FUNCHAL (10h, 14h, 18h)\n\n     Powered by GLIDE Alinhado na Dire\u00e7\u00e3o do Hours\n\n     ========================================================================= -->\n\n\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@500;600;700;800&family=Noto+Sans:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\n\n\n\n<style>\n.glide-widget-compact {\n  font-family: 'Montserrat', 'Noto Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: #0F172A;\n  box-sizing: border-box;\n  margin: 10px auto 4px auto;\n  width: 820px !important;\n  max-width: 100% !important;\n  background: #FFFFFF;\n  border-radius: 16px;\n  border: 1px solid #E2E8F0;\n  padding: 16px 18px 8px 18px;\n  box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.04);\n}\n.glide-widget-compact * { box-sizing: border-box; }\n\n.glide-header-bar {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  flex-wrap: wrap;\n  gap: 10px;\n  padding-bottom: 12px;\n  border-bottom: 1px solid #EDF2F7;\n  margin-bottom: 12px;\n}\n.glide-header-titles h3 {\n  margin: 0;\n  font-size: 1.08rem;\n  font-weight: 800;\n  color: #0F172A;\n  letter-spacing: -0.01em;\n  line-height: 1.25;\n}\n.glide-header-titles p {\n  margin: 3px 0 0 0;\n  font-size: 0.76rem;\n  color: #64748B;\n  line-height: 1.3;\n}\n.glide-venturi-note {\n  font-weight: 700;\n  color: #D97706;\n}\n\n.glide-header-badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 7px;\n  font-size: 0.74rem;\n  font-weight: 700;\n  line-height: 1.2;\n  padding: 6px 12px;\n  border-radius: 9999px;\n  background: #F0FDF4;\n  color: #166534;\n  border: 1px solid #86EFAC;\n  white-space: nowrap;\n}\n.glide-header-badge.emerald { background: #DCFCE7; color: #15803D; border-color: #4ADE80; font-weight: 800; }\n.glide-header-badge.yellow { background: #FEF9C3; color: #854D0E; border-color: #FCD34D; }\n.glide-header-badge.red { background: #FEE2E2; color: #991B1B; border-color: #FCA5A5; }\n.glide-badge-dot {\n  width: 7px;\n  height: 7px;\n  border-radius: 50%;\n  background: currentColor;\n  flex: 0 0 auto;\n}\n\n.glide-days-nav {\n  display: grid;\n  grid-template-columns: repeat(5, 1fr);\n  gap: 8px;\n  margin-bottom: 12px;\n}\n.glide-day-tab {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  padding: 8px 4px;\n  background: #F8FAFC;\n  border: 1px solid #E2E8F0;\n  border-radius: 10px;\n  cursor: pointer;\n  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;\n  text-align: center;\n}\n.glide-day-tab:hover {\n  background: #FFFFFF;\n  border-color: #CBD5E1;\n}\n.glide-day-tab.active {\n  background: #FFFFFF;\n  border-color: #FF6210;\n  box-shadow: 0 2px 10px rgba(255, 98, 16, 0.16);\n}\n.glide-day-title {\n  font-size: 0.80rem;\n  font-weight: 800;\n  color: #0F172A;\n  line-height: 1.15;\n}\n.glide-day-date {\n  font-size: 0.68rem;\n  color: #64748B;\n  font-weight: 600;\n  margin-top: 2px;\n  line-height: 1.15;\n}\n.glide-day-wind {\n  font-size: 0.70rem;\n  color: #0F766E;\n  font-weight: 800;\n  margin-top: 4px;\n  font-variant-numeric: tabular-nums;\n  line-height: 1.15;\n}\n\n.glide-table-box {\n  background: #FFFFFF;\n  border: 1px solid #E2E8F0;\n  border-radius: 12px;\n  overflow: hidden;\n  margin-bottom: 6px;\n}\n.glide-compact-table {\n  width: 100%;\n  border-collapse: collapse;\n  table-layout: fixed;\n  text-align: left;\n}\n.glide-compact-table th {\n  background: #F8FAFC;\n  padding: 9px 12px;\n  font-weight: 800;\n  color: #64748B;\n  text-transform: uppercase;\n  font-size: 0.66rem;\n  letter-spacing: 0.06em;\n  border-bottom: 1px solid #E2E8F0;\n  line-height: 1.2;\n}\n.glide-compact-table td {\n  padding: 11px 12px;\n  border-bottom: 1px solid #F1F5F9;\n  vertical-align: middle;\n  font-size: 0.85rem;\n  color: #0F172A;\n}\n.glide-compact-table tbody tr:last-child td { border-bottom: none; }\n.glide-compact-table tbody tr:hover td { background: #FAFBFC; }\n\n\/* \"Condi\u00e7\u00f5es Excelentes\" e o r\u00f3tulo mais longo: a coluna tem de lhe\n   chegar. fixed + 22% cortava o texto a meio. *\/\n.glide-c-hour   { width: 72px; }\n.glide-c-state  { width: 27%; }\n.glide-c-wind   { width: 23%; }\n.glide-c-dir    { width: 13%; }\n.glide-c-swell  { width: 17%; }\n\n.glide-hour {\n  display: block;\n  font-weight: 800;\n  color: #0F172A;\n  font-size: 1.02rem;\n  font-variant-numeric: tabular-nums;\n  letter-spacing: -0.01em;\n  line-height: 1.15;\n}\n\n.glide-pill-status {\n  display: inline-block;\n  font-size: 0.71rem;\n  font-weight: 700;\n  line-height: 1.25;\n  padding: 4px 10px;\n  border-radius: 9999px;\n  white-space: nowrap;\n}\n.glide-pill-status.emerald { background: #DCFCE7; color: #15803D; font-weight: 800; border: 1px solid #4ADE80; }\n.glide-pill-status.green { background: #F0FDF4; color: #166534; border: 1px solid #86EFAC; }\n.glide-pill-status.yellow { background: #FEF9C3; color: #854D0E; border: 1px solid #FCD34D; }\n.glide-pill-status.red { background: #FEE2E2; color: #991B1B; border: 1px solid #FCA5A5; }\n\n.glide-wind-block {\n  display: block;\n  width: 100%;\n  min-width: 0;\n}\n\n.glide-wind-main {\n  display: block;\n  color: #0F172A;\n  line-height: 1.15;\n}\n.glide-wind-main strong {\n  font-size: 1.05rem;\n  font-weight: 800;\n  font-variant-numeric: tabular-nums;\n  letter-spacing: -0.01em;\n}\n.glide-wind-main i {\n  font-style: normal;\n  font-size: 0.68rem;\n  font-weight: 700;\n  color: #94A3B8;\n  margin-left: 3px;\n  letter-spacing: 0;\n}\n\n\n\n\n\n\n\n\n\n.glide-gust-text {\n  display: block;\n  font-size: 0.69rem;\n  color: #94A3B8;\n  margin-top: 5px;\n  line-height: 1.2;\n  white-space: nowrap;\n}\n.glide-gust-text strong {\n  font-weight: 800;\n  color: #64748B;\n  font-variant-numeric: tabular-nums;\n}\n\n.glide-badge-dir, .glide-badge-wave {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 20px;\n  height: 20px;\n  border-radius: 50%;\n  font-size: 0.78rem;\n  font-weight: 800;\n  vertical-align: middle;\n  flex: 0 0 auto;\n}\n.glide-badge-dir { background: #FFF7ED; color: #FF6210; }\n.glide-badge-wave { background: #E6F6F4; color: #0F766E; }\n.glide-dir, .glide-swell {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  line-height: 1.2;\n}\n.glide-dir strong, .glide-swell strong {\n  font-weight: 800;\n  color: #0F172A;\n  font-variant-numeric: tabular-nums;\n}\n.glide-swell b {\n  font-weight: 500 !important;\n  color: #475569 !important;\n  font-variant-numeric: tabular-nums;\n}\n.glide-swell b i {\n  font-style: normal;\n  font-weight: 400 !important;\n  color: #94A3B8;\n  font-size: 0.70rem;\n  margin-left: 2px;\n}\n\n.glide-compact-footer {\n  display: flex !important;\n  justify-content: space-between !important;\n  align-items: center !important;\n  gap: 8px !important;\n  font-size: 0.66rem !important;\n  color: #94A3B8 !important;\n  padding: 8px 16.5px 2px 16.5px !important;\n  line-height: 1.2 !important;\n}\n.glide-compact-footer strong {\n  color: #64748B;\n  font-weight: 800;\n}\n\n@media (max-width: 700px) {\n  .glide-widget-compact { padding: 14px 10px 6px 10px; margin: 8px auto 2px auto; border-radius: 14px; }\n  .glide-compact-footer { padding: 6px 14px 2px 14px; }\n  .glide-days-nav { gap: 4px; margin-bottom: 10px; }\n  .glide-day-tab { padding: 6px 2px; border-radius: 8px; }\n  .glide-day-title { font-size: 0.74rem; }\n  .glide-day-date { font-size: 0.64rem; }\n  .glide-day-wind { font-size: 0.64rem; margin-top: 3px; }\n\n  \/* A tabela de 5 colunas nao cabe. Cada linha passa a cartao. *\/\n  .glide-table-box { border: none; background: transparent; overflow: visible; margin-bottom: 4px; }\n  .glide-compact-table,\n  .glide-compact-table thead,\n  .glide-compact-table tbody { display: block; width: 100%; }\n  .glide-compact-table thead { display: none; }\n  .glide-compact-table tbody tr {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 8px 12px;\n    background: #FFFFFF;\n    border: 1px solid #E2E8F0;\n    border-left: 3px solid #CBD5E1;\n    border-radius: 12px;\n    padding: 11px 12px;\n    margin-bottom: 8px;\n  }\n  .glide-compact-table tbody tr:hover td { background: transparent; }\n  .glide-compact-table tbody tr.glide-st-emerald { border-left-color: #16A34A; }\n  .glide-compact-table tbody tr.glide-st-green { border-left-color: #22C55E; }\n  .glide-compact-table tbody tr.glide-st-yellow { border-left-color: #F59E0B; }\n  .glide-compact-table tbody tr.glide-st-red { border-left-color: #EF4444; }\n\n  .glide-compact-table td {\n    display: flex;\n    align-items: baseline;\n    justify-content: space-between;\n    gap: 10px;\n    padding: 3px 0;\n    border-bottom: none;\n    font-size: 0.82rem;\n    min-width: 0;\n  }\n  .glide-compact-table td[data-l]::before {\n    content: attr(data-l);\n    font-size: 0.62rem;\n    font-weight: 800;\n    text-transform: uppercase;\n    letter-spacing: 0.06em;\n    color: #94A3B8;\n    flex: 0 0 auto;\n  }\n  \/* hora e estado nao precisam de rotulo: sao o cabecalho do cartao *\/\n  .glide-c-hour, .glide-c-state { display: block; width: auto; }\n  .glide-c-hour { grid-column: 1; grid-row: 1; }\n  .glide-c-state { grid-column: 2; grid-row: 1; justify-self: end; align-self: center; }\n  .glide-c-wind { grid-column: 1 \/ -1; grid-row: 2; width: auto; display: flex; align-items: flex-start; }\n  .glide-c-wind .glide-wind-block { flex: 1 1 auto; min-width: 0; }\n  .glide-c-wind .glide-gust-text { margin-top: 3px; flex: 0 0 auto; }\n  \/* direccao e ondulacao dividem a ultima linha; cada uma ocupa metade *\/\n  .glide-c-dir { grid-column: 1; grid-row: 3; width: auto; }\n  .glide-c-swell { grid-column: 2; grid-row: 3; width: auto; }\n  .glide-dir, .glide-swell { justify-content: flex-end; gap: 4px; min-width: 0; }\n  .glide-swell b { font-size: 0.78rem; white-space: nowrap; }\n  .glide-swell b i { font-size: 0.62rem; margin-left: 1px; }\n  .glide-badge-dir, .glide-badge-wave { width: 20px; height: 20px; font-size: 0.78rem; }\n  .glide-c-dir strong { font-size: 0.78rem; }\n  \/* o rotulo \"ONDULACAO\" e o mais largo das duas: encolhe-o *\/\n  .glide-c-swell[data-l]::before { font-size: 0.58rem; letter-spacing: 0.04em; }\n  \n}\n\n\/* ---- modo cartao (desktop): substitui a tabela ---- *\/\n.glide-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }\n.glide-hour-card {\n  background: #FFFFFF;\n  border: 1px solid #E2E8F0;\n  border-top: 3px solid #CBD5E1;\n  border-radius: 14px;\n  padding: 14px 15px 13px 15px;\n  box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.04);\n}\n.glide-hour-card.glide-st-emerald { border-top-color: #16A34A; }\n.glide-hour-card.glide-st-green { border-top-color: #22C55E; }\n.glide-hour-card.glide-st-yellow { border-top-color: #F59E0B; }\n.glide-hour-card.glide-st-red { border-top-color: #EF4444; }\n.glide-hc-top {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 10px;\n  flex-wrap: wrap;\n  margin-bottom: 12px;\n}\n.glide-hc-hour {\n  font-size: 0.88rem !important;\n  font-weight: 700 !important;\n  color: #475569 !important;\n  font-variant-numeric: tabular-nums !important;\n  letter-spacing: -0.01em !important;\n  line-height: 1 !important;\n}\n\n\/* direccao a esquerda, ondulacao a direita - os badges dizem o que e *\/\n.glide-hc-foot {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n  padding-top: 2px;\n}\n@media (max-width: 700px) {\n  .glide-cards { grid-template-columns: 1fr; gap: 10px; }\n  .glide-hour-card { border-radius: 12px; padding: 12px 13px; }\n  .glide-hc-top { margin-bottom: 10px; }\n  .glide-hc-hour {\n  font-size: 0.88rem !important;\n  font-weight: 700 !important;\n  color: #475569 !important;\n  font-variant-numeric: tabular-nums !important;\n  letter-spacing: -0.01em !important;\n  line-height: 1 !important;\n}\n}\n\n\/* O selo e a hora nunca podem partir de linha: \"Condicoes Excelentes\" + \"10:00\"\n   nao cabem lado a lado, e o wrap empurrava o selo para baixo do cartao. *\/\n.glide-hc-top { flex-wrap: nowrap; }\n.glide-hc-top .glide-hc-hour {\n  font-size: 0.88rem !important;\n  font-weight: 700 !important;\n  color: #475569 !important;\n  font-variant-numeric: tabular-nums !important;\n  letter-spacing: -0.01em !important;\n  line-height: 1 !important;\n}\n.glide-hc-top .glide-pill-status { flex: 0 1 auto; min-width: 0; }\n.glide-hc-wind {\n  display: flex;\n  align-items: baseline;\n  justify-content: space-between;\n  gap: 12px;\n  flex-wrap: wrap;\n  padding-bottom: 12px;\n  margin-bottom: 10px;\n  border-bottom: 1px solid #F1F5F9;\n}\n.glide-hc-wind .glide-wind-main { flex: 0 0 auto; }\n.glide-gust-text.over {\n  color: #EA580C;\n  font-weight: 800;\n}\n.glide-gust-text.over strong { color: #C2410C; }\n@media (max-width: 700px) {\n  .glide-gust-text { margin-top: 0; }\n}\n\n\/* (1) 3 colunas que cabem sempre: 1fr + min-width:0 impede o conteudo de\n   forcar a coluna maior do que a fraccao. *\/\n.glide-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }\n.glide-hour-card { min-width: 0; }\n.glide-hour-card > * { min-width: 0; }\n\n\/* as etiquetas (3) precisam de ~100px por bloco: abaixo desta largura o\n   cartao empilha a 1 coluna, senao o texto sai do cartao. *\/\n@media (max-width: 560px) {\n  .glide-cards { grid-template-columns: minmax(0, 1fr); }\n}\n\n\/* (3) etiquetas VENTO \/ ONDULACAO por cima de cada bloco *\/\n.glide-hc-cell { display: flex; flex-direction: column; gap: 4px; min-width: 0; }\n.glide-hc-cell:last-child { align-items: flex-end; }\n.glide-hc-lbl {\n  font-size: 0.64rem;\n  font-weight: 400;\n  text-transform: uppercase;\n  letter-spacing: 0.07em;\n  color: #94A3B8;\n  line-height: 1;\n}\n\n\/* (5) selo neutro, sem cor de estado *\/\n.glide-header-badge.plain { background: #F1F5F9; color: #64748B; border-color: #CBD5E1; }\n\n\/* ---- VENTO HERO BANNER ---- *\/\n.wind-center-banner {\n  display: flex !important;\n  flex-direction: column !important;\n  align-items: center !important;\n  justify-content: center !important;\n  padding: 5px 8px 6px 8px !important;\n  background: #F8FAFC !important;\n  border: 1px solid #E2E8F0 !important;\n  border-radius: 9px !important;\n  margin: 5px 0 8px 0 !important;\n  gap: 2px !important;\n}\n.wind-label-tag {\n  font-size: 0.58rem !important;\n  font-weight: 800 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 0.08em !important;\n  color: #0F766E !important;\n  line-height: 1 !important;\n  margin-bottom: 1px !important;\n}\n.wind-values-wrap {\n  display: inline-flex !important;\n  align-items: baseline !important;\n  justify-content: center !important;\n  gap: 4px !important;\n}\n.wind-main-num {\n  font-size: 1.15rem !important;\n  font-weight: 800 !important;\n  color: #0F172A !important;\n  line-height: 1 !important;\n  font-variant-numeric: tabular-nums !important;\n}\n.wind-unit {\n  font-size: 0.72rem !important;\n  font-weight: 700 !important;\n  color: #64748B !important;\n}\n.wind-sep-dot {\n  color: #CBD5E1 !important;\n  font-size: 0.75rem !important;\n  margin: 0 2px !important;\n}\n.wind-gust-inline {\n  font-size: 0.72rem !important;\n  color: #64748B !important;\n  white-space: nowrap !important;\n}\n.wind-gust-inline strong {\n  color: #1E293B !important;\n  font-weight: 700 !important;\n}\n\n\n\n\n\/* ---- ESTILO COMPACTO & LARGURA ESTAVEL (ALTURA REDUZIDA COMO ANTES) ---- *\/\n.glide-widget-compact {\n  width: 100% !important;\n  max-width: 720px !important;\n  padding: 12px 14px 4px 14px !important;\n  margin: 6px auto 2px auto !important;\n}\n.elementor-widget-html:has(.glide-widget-compact) {\n  max-width: 720px !important;\n  margin-left: auto !important;\n  margin-right: auto !important;\n}\n.glide-header-bar {\n  padding-bottom: 7px !important;\n  margin-bottom: 7px !important;\n}\n.glide-days-nav {\n  margin-bottom: 7px !important;\n  gap: 4px !important;\n}\n.glide-day-tab {\n  padding: 5px 2px !important;\n}\n.glide-day-title {\n  font-size: 0.72rem !important;\n}\n.glide-day-date {\n  font-size: 0.65rem !important;\n}\n.glide-day-wind {\n  font-size: 0.62rem !important;\n}\n\n\/* ---- GLIDE WEATHER WIDGET: UNIFORMIDADE PERFEITA (MOBILE & DESKTOP) ---- *\/\n@media (max-width: 650px) {\n  .elementor-widget-html:has(.glide-widget-compact) {\n    width: 100% !important;\n    max-width: 100% !important;\n    box-sizing: border-box !important;\n  }\n  .glide-widget-compact {\n    width: 100% !important;\n    max-width: 100% !important;\n    box-sizing: border-box !important;\n    padding: 10px 10px 6px 10px !important;\n    margin: 4px 0 !important;\n    border-radius: 14px !important;\n  }\n  .glide-header-bar {\n    display: flex !important;\n    flex-direction: row !important;\n    justify-content: space-between !important;\n    align-items: center !important;\n    padding-bottom: 7px !important;\n    margin-bottom: 7px !important;\n    gap: 8px !important;\n    width: 100% !important;\n    box-sizing: border-box !important;\n  }\n  .glide-header-titles h3 {\n    font-size: 0.88rem !important;\n    font-weight: 700 !important;\n    line-height: 1.25 !important;\n    margin: 0 !important;\n    color: #0F172A !important;\n  }\n  .glide-header-titles p {\n    font-size: 0.68rem !important;\n    color: #64748B !important;\n    margin: 2px 0 0 0 !important;\n  }\n  .glide-header-badge {\n    font-size: 0.68rem !important;\n    padding: 3px 8px !important;\n    border-radius: 999px !important;\n    white-space: nowrap !important;\n    flex-shrink: 0 !important;\n  }\n  .glide-days-nav {\n    display: grid !important;\n    grid-template-columns: repeat(5, 1fr) !important;\n    gap: 4px !important;\n    margin-bottom: 8px !important;\n    width: 100% !important;\n    box-sizing: border-box !important;\n  }\n  .glide-day-tab {\n    padding: 5px 2px !important;\n    border-radius: 8px !important;\n    min-width: 0 !important;\n    text-align: center !important;\n  }\n  .glide-day-title {\n    font-size: 0.72rem !important;\n    font-weight: 700 !important;\n  }\n  .glide-day-date {\n    font-size: 0.64rem !important;\n    color: #64748B !important;\n    margin-top: 1px !important;\n  }\n  .glide-day-wind {\n    font-size: 0.62rem !important;\n    margin-top: 1px !important;\n    font-weight: 600 !important;\n  }\n\n  .glide-table-box {\n    margin-bottom: 6px !important;\n    width: 100% !important;\n    box-sizing: border-box !important;\n  }\n  .glide-cards {\n    display: flex !important;\n    flex-direction: column !important;\n    gap: 6px !important;\n    width: 100% !important;\n    box-sizing: border-box !important;\n  }\n\n  \/* CARTAO: 2 COLUNAS PROPORCIONAIS EQUILIBRADAS (SEM VAZIO CENTRAL) *\/\n  .glide-hour-card {\n    display: grid !important;\n    grid-template-columns: 125px 1fr !important;\n    grid-template-rows: auto auto !important;\n    gap: 4px 12px !important;\n    align-items: center !important;\n    padding: 8px 12px !important;\n    border-radius: 10px !important;\n    min-height: auto !important;\n    width: 100% !important;\n    box-sizing: border-box !important;\n    background: #FFFFFF !important;\n    border: 1px solid #E2E8F0 !important;\n    border-left: 4px solid #CBD5E1 !important;\n  }\n  .glide-hour-card.glide-st-emerald { border-left-color: #16A34A !important; }\n  .glide-hour-card.glide-st-yellow { border-left-color: #F59E0B !important; }\n  .glide-hour-card.glide-st-red { border-left-color: #EF4444 !important; }\n\n  \/* LINHA 1 ESQ: HORA | LINHA 2 ESQ: SELO *\/\n  .glide-hc-top {\n    display: contents !important;\n  }\n  .glide-hc-hour {\n    grid-column: 1 \/ 2 !important;\n    grid-row: 1 \/ 2 !important;\n    justify-self: start !important;\n    font-size: 0.95rem !important;\n    font-weight: 800 !important;\n    color: #1E293B !important;\n    line-height: 1 !important;\n  }\n  .glide-pill-status {\n    grid-column: 1 \/ 2 !important;\n    grid-row: 2 \/ 2 !important;\n    justify-self: start !important;\n    font-size: 0.66rem !important;\n    font-weight: 700 !important;\n    padding: 2px 7px !important;\n    border-radius: 999px !important;\n    line-height: 1.15 !important;\n    white-space: nowrap !important;\n  }\n\n  \/* LINHA 1 DIR: VENTO + RAJADA *\/\n  .wind-center-banner {\n    grid-column: 2 \/ 3 !important;\n    grid-row: 1 \/ 2 !important;\n    display: flex !important;\n    flex-direction: row !important;\n    align-items: baseline !important;\n    justify-content: flex-start !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    border: none !important;\n    background: transparent !important;\n    gap: 3px !important;\n    min-width: 0 !important;\n  }\n  .wind-label-tag {\n    display: none !important;\n  }\n  .wind-values-wrap {\n    display: flex !important;\n    align-items: baseline !important;\n    gap: 2px !important;\n    white-space: nowrap !important;\n  }\n  .wind-main-num {\n    font-size: 1.05rem !important;\n    font-weight: 800 !important;\n    color: #0F172A !important;\n    line-height: 1 !important;\n  }\n  .wind-unit {\n    font-size: 0.68rem !important;\n    font-weight: 600 !important;\n    color: #64748B !important;\n    margin-left: 1px !important;\n  }\n  .wind-sep-dot {\n    margin: 0 3px !important;\n    font-size: 0.65rem !important;\n    color: #CBD5E1 !important;\n  }\n  .wind-gust-inline {\n    font-size: 0.68rem !important;\n    color: #64748B !important;\n    font-weight: 500 !important;\n    white-space: nowrap !important;\n  }\n  .wind-gust-inline strong {\n    font-weight: 700 !important;\n    color: #334155 !important;\n  }\n\n  \/* LINHA 2 DIR: DIRECAO + ONDULACAO *\/\n  .glide-hc-foot {\n    grid-column: 2 \/ 3 !important;\n    grid-row: 2 \/ 2 !important;\n    display: flex !important;\n    flex-direction: row !important;\n    align-items: center !important;\n    justify-content: flex-start !important;\n    gap: 8px !important;\n    padding: 0 !important;\n    border: none !important;\n    margin: 0 !important;\n    white-space: nowrap !important;\n  }\n  .glide-hc-cell {\n    display: flex !important;\n    flex-direction: row !important;\n    align-items: center !important;\n    gap: 3px !important;\n  }\n  .glide-hc-lbl {\n    display: none !important;\n  }\n  .glide-dir, .glide-swell {\n    font-size: 0.72rem !important;\n    white-space: nowrap !important;\n    color: #475569 !important;\n  }\n  .glide-dir strong, .glide-swell strong {\n    font-size: 0.72rem !important;\n    font-weight: 700 !important;\n    color: #1E293B !important;\n  }\n  .glide-swell b {\n    font-size: 0.75rem !important;\n    font-weight: 700 !important;\n    color: #0F172A !important;\n    margin-left: 2px !important;\n  }\n  .glide-badge-dir, .glide-badge-wave {\n    width: 15px !important;\n    height: 15px !important;\n    font-size: 9px !important;\n    margin-right: 1px !important;\n  }\n  .glide-compact-footer {\n    padding: 4px 6px 2px 6px !important;\n    font-size: 0.62rem !important;\n  }\n}\n\n\/* ---------------- DESKTOP (>= 651px) UNIFORMIDADE RIGOROSA ---------------- *\/\n@media (min-width: 651px) {\n  .glide-widget-compact {\n    width: 720px !important;\n    max-width: 100% !important;\n    margin: 6px auto !important;\n    box-sizing: border-box !important;\n  }\n  .elementor-widget-html:has(.glide-widget-compact) {\n    max-width: 720px !important;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n  .glide-table-box {\n    width: 100% !important;\n    box-sizing: border-box !important;\n  }\n  .glide-cards {\n    width: 100% !important;\n    display: grid !important;\n    grid-template-columns: repeat(3, 1fr) !important;\n    gap: 12px !important;\n    box-sizing: border-box !important;\n  }\n  .glide-hour-card {\n    min-height: 165px !important;\n    display: flex !important;\n    flex-direction: column !important;\n    justify-content: space-between !important;\n    padding: 14px 14px 12px 14px !important;\n    border-radius: 12px !important;\n    box-sizing: border-box !important;\n  }\n}\n<\/style>\n\n\n\n<div class=\"glide-widget-compact\" id=\"glide-compact-barreirinha-widget\">\n\n  <div class=\"glide-loading-text\">Loading forecast conditions...<\/div>\n\n<\/div>\n\n\n\n<script>(function() {\n  console.log('[GLIDE] IIFE started');\n  \/\/ Debug panel - CREATE it immediately\n  window.GLIDE_DEBUG = [];\n  function glideLog(msg) {\n    const t = new Date().toLocaleTimeString();\n    window.GLIDE_DEBUG.push('[' + t + '] ' + msg);\n    console.log('[GLIDE] ' + msg);\n    const el = document.getElementById(\"glide-compact-barreirinha-widget\");\n    if (el) {\n      let panel = el.querySelector('.glide-debug-panel');\n      if (!panel) {\n        panel = document.createElement('div');\n        panel.className = 'glide-debug-panel';\n        panel.style.cssText = 'background:#1e293b;color:#e2e8f0;padding:10px;font-family:monospace;font-size:11px;max-height:200px;overflow:auto;border-top:1px solid #334155';\n        el.appendChild(panel);\n      }\n      panel.innerHTML = window.GLIDE_DEBUG.map(m => '<div>' + m + '<\/div>').join('');\n      panel.scrollTop = panel.scrollHeight;\n    }\n  }\n  glideLog('IIFE started');\n  \/* i18n: as subpaginas herdavam PT no \/en\/ *\/\n  const isEn = (typeof document !== 'undefined' && document.documentElement && document.documentElement.lang.startsWith('en')) || (typeof window !== 'undefined' && window.location && window.location.pathname && (window.location.pathname.indexOf('\/en\/') === 0 || window.location.pathname.includes('\/en')));\n\n  const SPOT = { id: \"barreirinha\",\n    southExposure: true, name: isEn ? \"Barreirinha (Coming soon)\" : \"Barreirinha (Coming soon)\", comingSoon: true, lat: 32.647, lon: -16.898, windLimit: 9.0, gustLimit: 14.0, moderateLimit: 6.5 };\n  let widgetData = null;\n  let selectedDayIdx = 0;\n  const t = {    sealShort: isEn ? \"Recommended\" : \"Recomendado\",\n    sealPlain: isEn ? \"Forecast\" : \"Previs\\u00e3o\",\n    avgWord: isEn ? \"avg\" : \"m\\u00e9d.\",\n    sealStrong: isEn ? \"Strong wind\" : \"Vento forte\",\n    sealGust: isEn ? \"Caution: gusts\" : \"Aten\\u00e7\\u00e3o: rajadas\",\n\n    condTitle: isEn ? \"Sea conditions \\u2014 \" : \"Condi\\u00e7\\u00f5es do mar \\u2014 \",\n    subtitle: isEn ? \"Marine forecast for the next 5 days\" : \"Previs\\u00e3o mar\\u00edtima para os pr\\u00f3ximos 5 dias\",\n    nowWord: isEn ? \"now\" : \"agora\",\n    gustWord: isEn ? \"gust.\" : \"raj.\",\n    gusts: isEn ? \"gusts:\" : \"rajadas:\",\n    measured: isEn ? \"measured\" : \"medido\",\n    good: isEn ? \"Recommended\" : \"Recomendado\",\n    excellent: isEn ? \"Recommended\" : \"Recomendado\",\n    moderate: isEn ? \"Moderate Conditions\" : \"Condi\u00e7\u00f5es Moderadas\",\n    notRec: isEn ? \"Not Recommended\" : \"N\u00e3o Recomendado\",\n    thHour: isEn ? \"Hours\" : \"Hor\\u00e1rio\",\n    thState: isEn ? \"Status\" : \"Estado\",\n    thWind: isEn ? \"Wind\" : \"Vento\",\n    thDir: isEn ? \"Direction\" : \"Dire\\u00e7\\u00e3o\",\n    thDirWind: isEn ? \"Wind Direction\" : \"Dire\\u00e7\\u00e3o Vento\",\n    thSwell: isEn ? \"Waves\" : \"Ondula\\u00e7\\u00e3o\",\n    today: isEn ? \"Today\" : \"Hoje\",\n    updated: isEn ? \"Updated at\" : \"Atualizado \\u00e0s\",\n    swellLegend: isEn ? \"Waves: direction they come from\" : \"Ondula\\u00e7\\u00e3o: dire\\u00e7\\u00e3o de onde v\\u00eam as ondas\",\n    noAnemo: isEn ? \"Model forecast (median of 3) \\u00b7 no anemometer at this spot\" : \"\",\n    noStation: isEn ? \"Marina station unavailable \\u00b7 model forecast (median of 3)\" : \"\",\n    maxToday: isEn ? \"Max. today at the station: \" : \"\",\n    peak5: isEn ? \"real 5-min peak\" : \"pico real a 5 min\",\n    calib: isEn ? \"Wind corrected with the Marina station \\u00b7 \\\"measured\\\" = anemometer\" : \" \\u00b7 \\\"medido\\\" = anem\\u00f3metro\"\n  };\n  const dayNames = isEn ? [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"]\n                      : [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"S\\u00e1b\"];\n  const monthNames = isEn ? [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n                         : [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dez\"];\n\n  function degToCard(deg) {\n    if (deg === null || deg === undefined || isNaN(deg)) return \"--\";\n    const d = (deg % 360 + 360) % 360;\n    const dirs = [\n      { c: \"N\", min: 337.5, max: 360 }, { c: \"N\", min: 0, max: 22.5 },\n      { c: \"NE\", min: 22.5, max: 67.5 }, { c: \"E\", min: 67.5, max: 112.5 },\n      { c: \"SE\", min: 112.5, max: 157.5 }, { c: \"S\", min: 157.5, max: 202.5 },\n      { c: \"SO\", min: 202.5, max: 247.5 }, { c: \"O\", min: 247.5, max: 292.5 },\n      { c: \"NO\", min: 292.5, max: 337.5 }\n    ];\n    for (const x of dirs) if (d >= x.min && d < x.max) return x.c;\n    return \"N\";\n  }\n\n  function getWindArrow(cardinal) {\n    const arrows = { \"N\": \"\\u2193\", \"NE\": \"\\u2199\", \"E\": \"\\u2190\", \"SE\": \"\\u2196\", \"S\": \"\\u2191\", \"SO\": \"\\u2197\", \"SW\": \"\\u2197\", \"O\": \"\\u2192\", \"NO\": \"\\u2198\" };\n    return arrows[cardinal] || \"\\u2193\";\n  }\n\n  \/* Fator de abrigo por setor: vento de N a E (280-080) chega a Funchal ja\n     desacelerado pelo macico; de SE a SO entra limpo do mar. *\/\n  \/* Modelos de alta resolucao sem cortes artificiais de vento *\/\n  const SHELTER_OFFSET = { offshore: 0, onshore: 0 };\n  function shelterOffset(dirDeg) { return 0; }\n  function shelterFactor(dirDeg) { return 1; }\n\n  function evalSafety(rawWind, gustSpeed, windDirDeg, waveHeight, waveDirDeg, swellH, swellD, swellT, opts, obs) {\n    opts = opts || {};\n    const isSSE = (a) => a != null && a >= 157.5 && a < 247.5;\n    const _az = (x) => x != null ? ((Number(x) % 360) + 360) % 360 : null;\n    const isOffshoreDir = (d) => { const a = _az(d); return a == null || a <= 112.5 || a >= 247.5; };\n    const card = degToCard(windDirDeg);\n    const waveCard = degToCard(waveDirDeg);\n    \/* Vento real sem corte artificial *\/\n    const effWind = Math.round(Number(rawWind) * 10) \/ 10;\n    const effGust = (gustSpeed !== null && gustSpeed !== undefined && !isNaN(gustSpeed)) ? Number(gustSpeed) : gustSpeed;\n        let status = \"green\";\n    let label = t.good;\n    const swellBad = (function(){ const dom = opts && opts.domD != null ? opts.domD : waveDirDeg; return (isSSE(_az(dom)) && waveHeight >= 1.5) || (isSSE(_az(opts.s2D)) && opts.s2H >= 1.5); })();\n    const swellWarn = (function(){ const dom = opts && opts.domD != null ? opts.domD : waveDirDeg; return (isSSE(_az(dom)) && waveHeight >= 0.85) && !swellBad; })();\n        const isShelteredSwell = (function(){ const dom = opts && opts.domD != null ? opts.domD : waveDirDeg; return (dom != null && (dom >= 280 || dom <= 80)) || [\"NO\", \"NW\", \"N\", \"NE\"].includes(waveCard) || waveHeight <= 0.6; })();\n    const isShelteredWind = (windDirDeg != null && (windDirDeg >= 337.5 || windDirDeg <= 112.5));\n    const isExcellent = isShelteredWind && !swellBad && !swellWarn && effWind <= 5.0 && (effGust === null || (isShelteredSwell ? effGust <= 10.0 : effGust <= 8.5)) && (opts && opts.s2H ? opts.s2H < 0.4 : true);\n\n    if (swellBad || effWind >= SPOT.windLimit || (effGust !== null && effGust >= 14.0)) {\n      status = \"red\";\n      label = t.notRec;\n    } else if (swellWarn || effWind >= (SPOT.moderateLimit ?? (SPOT.windLimit - 1.5)) || (effGust !== null && effGust >= 11.5)) {\n      status = \"yellow\";\n      label = t.moderate;\n    } else if (isExcellent) {\n      status = \"emerald\";\n      label = t.excellent;\n    } else {\n      status = \"green\";\n      label = t.good;\n    }\n    return { status, label, effWind: effWind, effGust: effGust, card, arrow: getWindArrow(card), waveCard, swellBad, swellWarn, swellDomDeg: (opts && opts.domD != null ? opts.domD : waveDirDeg), swell2H: opts ? opts.s2H : 0, swell2Deg: opts ? opts.s2D : null };\n  }\n\n  \n  \/* Selo de apresentacao: Padrao Oficial Unificado (Opcao 1: Turismo \/ Direta e Intuitiva)\n     Verde (Recomendado): vento fraco, calm sea, facil para todos os niveis\n     Amarelo (Condi\u00e7\u00f5es Moderadas): vento medio \/ brisa moderada, exige mais esforco\n     Vermelho (Nao Recomendado): vento forte, mar agitado, condicoes adversas *\/\n  function glideSeal(wind, gust, limit, gustLimit, s) {\n    if (s && s.status) {\n      if (s.status === \"red\") return { cls: \"red\", label: t.notRec, short: false };\n      if (s.status === \"yellow\") return { cls: \"yellow\", label: t.moderate, short: false };\n      return { cls: \"emerald\", label: t.excellent, short: true };\n    }\n    const cautionMargin = 1.5;\n    const modLimit = Math.max(4.5, limit - cautionMargin);\n    if (wind != null && !isNaN(wind) && (wind >= limit || (gust != null && gust >= (gustLimit || 16.0)))) {\n      return { cls: \"red\", label: t.notRec, short: false };\n    }\n    if (wind != null && !isNaN(wind) && (wind >= modLimit || (gust != null && gust >= 12.0))) {\n      return { cls: \"yellow\", label: t.moderate, short: false };\n    }\n    return { cls: \"emerald\", label: t.excellent, short: true };\n  }\n  \/* pt-PT usa virgula decimal; o \/en\/ mantem ponto. *\/\n  function glideNum(v, dec) {\n    if (v == null || isNaN(v)) return \"--\";\n    const n = Number(v).toFixed(dec == null ? 1 : dec);\n    return isEn ? n : n.replace(\".\", \",\");\n  }\n\n  async function fetchForecast() {\n    try {\n      \/* Tres modelos em paralelo, mediana por hora (o max inflava 2-3x nos\n          ventos de N). A direcao vem do modelo que deu a mediana. *\/\n      const wBase = `https:\/\/api.open-meteo.com\/v1\/forecast?latitude=${SPOT.lat}&longitude=${SPOT.lon}&hourly=temperature_2m,wind_speed_10m,wind_direction_10m,wind_gusts_10m&wind_speed_unit=kn&timezone=Atlantic%2FMadeira&forecast_days=6`;\n      const mUrl = `https:\/\/marine-api.open-meteo.com\/v1\/marine?latitude=${SPOT.lat},${SPOT.lat - (SPOT.southExposure ? 0.14 : -0.05)}&longitude=${SPOT.lon},${SPOT.lon}&hourly=wave_height,wave_direction,wave_period,swell_wave_height,swell_wave_direction,swell_wave_period,secondary_swell_wave_height,secondary_swell_wave_direction&timezone=Atlantic%2FMadeira&forecast_days=6`;\n      const [wMf, wIc, wGf, mRes] = await Promise.all([\n        fetch(wBase + '&models=meteofrance_seamless').catch(() => null),\n        fetch(wBase + '&models=icon_seamless').catch(() => null),\n        fetch(wBase + '&models=gfs_seamless').catch(() => null),\n        fetch(mUrl).catch(() => ({ ok: false }))\n      ]);\n      const wModels = [];\n      for (const r of [wMf, wIc, wGf]) {\n        if (!r || !r.ok) continue;\n        try { const j = await r.json(); if (j && j.hourly && (j.hourly.time || []).length) wModels.push(j.hourly); } catch (e) {}\n      }\n      if (!wModels.length) { try { const j = await (await fetch(wBase)).json(); if (j && j.hourly) wModels.push(j.hourly); } catch (e) {} }\n      let obs = null, obsSeries = {};\n      let buoy = null;\n      try {\n        const st = await fetch(\"\/wp-json\/glide\/v1\/station\").then(r => r.ok ? r.json() : null);\n        if (st && st.observed && typeof st.wind === \"number\") {\n          obs = { wind: st.wind, gust: typeof st.gust === \"number\" ? st.gust : null, dir: typeof st.dir === \"number\" ? st.dir : null };\n          if (Array.isArray(st.series)) st.series.forEach(function (s) { if (s && s.h) obsSeries[s.h] = s; });\n        }\n        \/\/ Fetch buoy for real swell (only Cani\u00e7al is working)\n        const bq = await fetch(\"\/wp-json\/glide\/v1\/buoy\").then(r => r.ok ? r.json() : null);\n        if (bq && bq.ok && typeof bq.hs === \"number\") {\n          buoy = { hs: bq.hs, dir: bq.dir, period: bq.period };\n        }\n      } catch (e) {}\n      glideLog('fetchForecast: models fetched, wModels=' + wModels.length);\n      const wData = wModels.length ? { hourly: (function () {\n        const times = wModels[0].time || [];\n        const wind = [], dirs = [], gusts = [], temps = [];\n        const _med = (arr) => { const v = arr.filter(function (x) { return x != null && !isNaN(x); }).sort(function (a, b) { return a - b; }); return v.length ? v[Math.floor(v.length \/ 2)] : null; };\n        for (let i = 0; i < times.length; i++) {\n          const ws = [], gs = [], ds = [];\n          for (const m of wModels) {\n            ws.push(m.wind_speed_10m ? Number(m.wind_speed_10m[i]) : null);\n            gs.push(m.wind_gusts_10m ? Number(m.wind_gusts_10m[i]) : null);\n            ds.push(m.wind_direction_10m ? Number(m.wind_direction_10m[i]) : null);\n          }\n          const bw = _med(ws), bg = _med(gs);\n          let bd = null;\n          if (bw != null) { for (let j = 0; j < ws.length; j++) { if (ws[j] === bw && ds[j] != null) { bd = ds[j]; break; } } }\n          wind.push(bw);\n          dirs.push(bd);\n          gusts.push(bg);\n          temps.push(wModels[0].temperature_2m && !isNaN(Number(wModels[0].temperature_2m[i])) ? Number(wModels[0].temperature_2m[i]) : 24);\n        }\n        return { time: times, wind_speed_10m: wind, wind_direction_10m: dirs, wind_gusts_10m: gusts, temperature_2m: temps };\n      })() } : { hourly: {} };\n      const mData = mRes.ok ? await mRes.json() : [{ hourly: {} }, { hourly: {} }];\n      const wH = wData.hourly || {};\n      const mArr = (Array.isArray(mData) ? mData : [mData, mData]).map(x => x.hourly || {});\n      const mH = mArr[0];\n      const times = wH.time || [];\n      const windSpeeds = wH.wind_speed_10m || [];\n      const windDirs = wH.wind_direction_10m || [];\n      const windGusts = wH.wind_gusts_10m || [];\n      const waveHeights = mH.wave_height || [];\n      const waveDirs = mH.wave_direction || [];\n      const swellHs = mH.swell_wave_height || [];\n      const swellDs = mH.swell_wave_direction || [];\n      const swellTs = mH.swell_wave_period || [];\n      const s2Hs = mH.secondary_swell_wave_height || [];\n      const s2Ds = mH.secondary_swell_wave_direction || [];\n      const hourlyList = [];\n      const currentHourStr = new Intl.DateTimeFormat('sv-SE', { timeZone: \"Atlantic\/Madeira\", year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', hour12: false }).format(new Date()).replace(' ', 'T');\n      let currentIdx = times.findIndex(t => t.startsWith(currentHourStr));\n      if (currentIdx === -1) currentIdx = 0;\n      for (let i = 0; i < times.length; i++) {\n        const spd = windSpeeds[i] !== undefined && windSpeeds[i] !== null ? Number(windSpeeds[i]) : 1.5;\n        const dir = windDirs[i] !== undefined && windDirs[i] !== null ? Number(windDirs[i]) : 0;\n        const gst = windGusts[i] !== undefined && windGusts[i] !== null ? Number(windGusts[i]) : null;\n        let wavH = waveHeights[i] != null ? Number(waveHeights[i]) : 0.6;\n          let wavD = waveDirs[i] != null ? Number(waveDirs[i]) : 300;\n          \/* Ponto de mar aberto removido *\/\n          const swellH = swellHs[i] != null ? Number(swellHs[i]) : 0;\n          const swellD = swellDs[i] != null ? Number(swellDs[i]) : null;\n          const swellT = swellTs[i] != null ? Number(swellTs[i]) : null;\n          let s2H = s2Hs[i] != null ? Number(s2Hs[i]) : 0;\n          let s2D = s2Ds[i] != null ? Number(s2Ds[i]) : null;\n          const oS2H = mArr[1].secondary_swell_wave_height ? Number(mArr[1].secondary_swell_wave_height[i]) : 0;\n          if (mArr[1].secondary_swell_wave_direction && oS2H > s2H) { s2H = oS2H; s2D = Number(mArr[1].secondary_swell_wave_direction[i]); }\n          const _az = (x) => x != null ? ((Number(x) % 360) + 360) % 360 : null;\n          const _sse = (a) => a != null && a >= 157.5 && a < 247.5;\n          const domD = swellH >= s2H ? swellD : s2D;\n          const safety = evalSafety(spd, gst, dir, wavH, domD, swellH, swellD, swellT, { s2H, s2D, domD });\n        const _swSse = (x) => x != null && ((Number(x) % 360) + 360) % 360 >= 157.5 && ((Number(x) % 360) + 360) % 360 < 247.5; const _sh1 = _swSse(swellD) ? swellH : 0; const _r2H = (mH.secondary_swell_wave_height && mH.secondary_swell_wave_direction) ? Number(mH.secondary_swell_wave_height[i] || 0) : 0; const _r2D = mH.secondary_swell_wave_direction ? Number(mH.secondary_swell_wave_direction[i]) : null; const _a2 = _swSse(s2D) ? s2H : 0; const _b2 = _swSse(_r2D) ? _r2H : 0; const _sh2 = Math.max(_a2, _b2); const _sH = Math.max(_sh1, _sh2); const _sD = _sh1 >= _sh2 ? swellD : (_a2 >= _b2 ? s2D : _r2D); hourlyList.push({ time: times[i], spd: safety.effWind, gst: safety.effGust, dir, rawW: spd, rawG: gst, factor: 1, rawW: spd, rawG: gst, factor: 1, wavH, wavD, wavH2: swellH, wavT: swellT, swH: _sH >= 0.15 ? _sH : 0.2, swCard: _sH >= 0.15 ? degToCard(_sD) : 'S', safety });\n      }\n      \/* CALIBRACAO. A encaixe da Funchal na grelha global e muito pior nos\n         ventos de N\/NE (a baia fica na sombra da montanha; o modelo le 2 a 3x\n         o que o anemometro da Marina mede) do que nos de S\/SE. Onde ja ha\n         leitura o medido e a verdade; a razao medido\/modelo do proprio dia,\n         por setor, e usada para corrigir as horas restantes e o dia seguinte\n         em vez de confiar na grelha. Sem leitura: fator estatico por setor. *\/\n      const todayKey = currentHourStr.substring(0, 10);\n      const dayMs = 86400000;\n      const todayNoon = new Date(todayKey + \"T12:00:00Z\").getTime();\n      const _num = (x) => (typeof x === \"number\" && !isNaN(x)) ? x : null;\n\n      \/\/ Calibra\u00e7\u00e3o Oficial com a Esta\u00e7\u00e3o APRAM Porto do Funchal \/ Anem\u00f3metro Real\n      let obsCalibRatio = 1.0;\n      if (obs && typeof obs.wind === \"number\") {\n        const curRaw = (hourlyList[currentIdx] && hourlyList[currentIdx].rawW) ? hourlyList[currentIdx].rawW : 4.0;\n        obsCalibRatio = Math.min(1.0, Math.max(0.15, obs.wind \/ Math.max(1.0, curRaw)));\n        glideLog('APRAM station active: obs.wind=' + obs.wind + ' kn, curRaw=' + curRaw + ' kn, calibRatio=' + obsCalibRatio);\n      }\n\n      hourlyList.forEach(function (hr) {\n        const dayOff = Math.round((new Date(hr.time.substring(0, 10) + \"T12:00:00Z\").getTime() - todayNoon) \/ dayMs);\n        const prev = hr.safety;\n        const meas = (dayOff === 0 && obs) ? (obsSeries[hr.time.substring(11, 13) + \":00\"] || null) : null;\n        let w, g, d = hr.dir, observed = false;\n\n        if (meas && _num(meas.w) !== null) {\n          w = _num(meas.w);\n          g = _num(meas.g) !== null ? _num(meas.g) : Math.round(w * 1.3 * 10) \/ 10;\n          observed = true;\n        } else if (dayOff === 0 && obs && typeof obs.wind === \"number\") {\n          \/\/ Hoje: calibrado com a verdade do anem\u00f3metro APRAM da ba\u00eda do Funchal\n          w = Math.round(hr.rawW * obsCalibRatio * 10) \/ 10;\n          g = hr.rawG == null ? null : Math.round(hr.rawG * obsCalibRatio * 10) \/ 10;\n          observed = false;\n        } else if (dayOff === 1 && obs && typeof obs.wind === \"number\") {\n          \/\/ Amanh\u00e3: transi\u00e7\u00e3o suave\n          const blend = 0.5 * obsCalibRatio + 0.5 * 1.0;\n          w = Math.round(hr.rawW * blend * 10) \/ 10;\n          g = hr.rawG == null ? null : Math.round(hr.rawG * blend * 10) \/ 10;\n          observed = false;\n        } else {\n          \/\/ Dias seguintes: abrigo natural do maci\u00e7o para ventos de terra (N\/NE\/E) na Barreirinha\n          const isOffshore = (hr.dir >= 330 || hr.dir <= 100);\n          const shelter = isOffshore ? 0.70 : 1.0;\n          w = Math.round(hr.rawW * shelter * 10) \/ 10;\n          g = hr.rawG == null ? null : Math.round(hr.rawG * shelter * 10) \/ 10;\n          observed = false;\n        }\n\n        \/\/ Sem adi\u00e7\u00f5es artificiais! Vento real e fiel ao terreno:\n        hr.spd = Math.max(0.5, Math.round(w * 10) \/ 10);\n        hr.gst = g == null ? null : Math.max(hr.spd, Math.round(g * 10) \/ 10);\n        hr.dir = d;\n        hr.observed = observed;\n\n        \/\/ Ondula\u00e7\u00e3o real corrigida pela b\u00f3ia para o dia de hoje\n        let evalSwellH = hr.wavH2, evalSwellD = prev ? prev.swellDomDeg : hr.wavD, evalSwellT = hr.wavT;\n        if (buoy && dayOff === 0) {\n          const hrNum = parseInt(hr.time.substring(11, 13), 10);\n          const nowHr = new Date().getHours();\n          if (hrNum <= nowHr + 2) { evalSwellH = buoy.hs; evalSwellD = buoy.dir; evalSwellT = buoy.period; }\n        }\n        const s = evalSafety(hr.spd, hr.gst, d, hr.wavH, evalSwellD, evalSwellH, evalSwellT,\n          { obs: observed, s2H: prev ? prev.swell2H : 0, s2D: prev ? prev.swell2Deg : null, domD: evalSwellD }, observed);\n        if (observed && hr.gst != null) {\n          const lvl = hr.gst >= 15 ? 2 : (hr.gst >= 12 ? 1 : 0);\n          const rk = { green: 0, emerald: 0, yellow: 1, red: 2 };\n          if (lvl === 2 && s.status !== \"red\") { s.status = \"red\"; s.label = t.notRec; }\n          else if (lvl === 1 && (rk[s.status] || 0) < 1) { s.status = \"yellow\"; s.label = t.moderate; }\n        }\n        hr.safety = s;\n      });\n\n      const daysMap = {};\n      hourlyList.forEach(h => { const k = h.time.substring(0, 10); if (!daysMap[k]) daysMap[k] = { date: k, hourly: [] }; daysMap[k].hourly.push(h); });\n      const days = Object.values(daysMap).slice(0, 5).map(d => {\n        const tourHours = d.hourly.filter(h => [10, 14, 18].includes(parseInt(h.time.substring(11, 13), 10)));\n        const validHours = tourHours.length ? tourHours : d.hourly;\n        const winds = validHours.map(h => h.spd);\n        const avgW = winds.reduce((a,b) => a+b, 0) \/ winds.length;\n        return { date: d.date, hourly: d.hourly, avgWind: avgW };\n      });\n\n      let currentEntry = hourlyList[currentIdx] || hourlyList[0];\n      if (obs && typeof obs.wind === \"number\") {\n        let curSwellH = currentEntry.wavH2, curSwellD = currentEntry.safety ? currentEntry.safety.swellDomDeg : currentEntry.wavD, curSwellT = currentEntry.wavT;\n        if (buoy) { curSwellH = buoy.hs; curSwellD = buoy.dir; curSwellT = buoy.period; }\n        const ov = evalSafety(obs.wind, obs.gust, (typeof obs.dir === \"number\" ? obs.dir : currentEntry.dir), currentEntry.wavH, curSwellD, curSwellH, curSwellT,\n          currentEntry.safety ? { s2H: currentEntry.safety.swell2H, s2D: currentEntry.safety.swell2Deg, domD: curSwellD } : {}, true);\n        currentEntry = Object.assign({}, currentEntry, { spd: obs.wind, gst: obs.gust, dir: (typeof obs.dir === \"number\" ? obs.dir : currentEntry.dir), safety: ov, observed: true });\n      }\n\n      widgetData = { current: currentEntry, days: days, updatedAt: new Date().toLocaleTimeString('pt-PT', { hour: '2-digit', minute: '2-digit' }) };\n      render();\n    } catch (e) { console.warn(\"Erro ao carregar widget Barreirinha:\", e); }\n  }\n\n  function render() {\n    glideLog('render called');\n    const el = document.getElementById(\"glide-compact-barreirinha-widget\");\n    if (!el || !widgetData) { glideLog('render aborted: no el or no widgetData'); return; }\n    const activeDay = widgetData.days[selectedDayIdx] || widgetData.days[0];\n    const cur = widgetData.current;\n    const tourRows = activeDay.hourly.filter(h => [10, 14, 18].includes(parseInt(h.time.substring(11, 13), 10)));\n    el.innerHTML = `\n      <div class=\"glide-header-bar\">\n        <div class=\"glide-header-titles\">\n          <h3>${t.condTitle}${SPOT.name}<\/h3>\n          <p>${t.subtitle}<\/p>\n        <\/div>\n        ${(() => {\n            \/* local \"Coming soon\": sem estado, so a previsao *\/\n            if (SPOT.comingSoon) {\n              return `<div class=\"glide-header-badge plain\"><span class=\"glide-badge-dot\"><\/span><span>${t.sealPlain}<\/span><\/div>`;\n            }\n            const sl = glideSeal(cur.spd, cur.gst, SPOT.windLimit, SPOT.gustLimit, cur.safety);\n            return `<div class=\"glide-header-badge ${sl.cls}\"><span class=\"glide-badge-dot\"><\/span><span>${sl.label} ${t.nowWord} (${glideNum(cur.spd)} kts)<\/span><\/div>`;\n          })()}\n      <\/div>\n      <div class=\"glide-days-nav\">\n        ${widgetData.days.map((d, i) => {\n          const dt = new Date(d.date + \"T00:00:00\");\n          const name = i === 0 ? t.today : dayNames[dt.getDay()];\n          const dateStr = `${dt.getDate()} ${monthNames[dt.getMonth()]}`;\n          return `\n            <div class=\"glide-day-tab ${i === selectedDayIdx ? 'active' : ''}\" onclick=\"window.GLIDEBarreirinhaWidget.setDay(${i})\">\n              <span class=\"glide-day-title\">${name}<\/span>\n              <span class=\"glide-day-date\">${dateStr}<\/span>\n              <span class=\"glide-day-wind\">${t.avgWord} ${glideNum(d.avgWind)} kts<\/span>\n            <\/div>`;\n        }).join(\"\")}\n      <\/div>\n      <div class=\"glide-table-box\">\n        <div class=\"glide-cards\">\n          \n          \n            ${tourRows.map(h => {\n              const hourStr = h.time.substring(11, 16);\n              const s = h.safety;\n              const waveVal = (h.swH != null ? h.swH : h.wavH);\n              const waveCard = (h.swCard && h.swCard !== '--') ? h.swCard : ((s && s.waveCard && s.waveCard !== '--') ? s.waveCard : 'S');\n              const waveArrow = getWindArrow(waveCard);\n              const limit = SPOT.windLimit;\n              const gustLimit = SPOT.gustLimit;\n              const seal = glideSeal(h.spd, h.gst, limit, gustLimit, s);\n              const gustHtml = (h.gst != null && h.gst > h.spd)\n                ? `<span class=\"glide-gust-text\">${t.gustWord} <strong>${glideNum(h.gst)}<\/strong> kts<\/span>`\n                : '';\n              return `\n                <div class=\"glide-hour-card glide-st-${seal.cls}\">\n                  <div class=\"glide-hc-top\">\n                    <span class=\"glide-hc-hour\">${hourStr}<\/span>\n                    <span class=\"glide-pill-status ${seal.cls}\">${seal.short ? t.sealShort : seal.label}<\/span>\n                  <\/div>\n                  <div class=\"wind-center-banner\">\n                    <span class=\"wind-label-tag\">${t.thWind}<\/span>\n                    <div class=\"wind-values-wrap\">\n                      <span class=\"wind-main-num\">${glideNum(h.spd)}<\/span>\n                      <span class=\"wind-unit\">kts<\/span>\n                      ${(h.gst != null && h.gst > h.spd) ? `<span class=\"wind-sep-dot\">\u2022<\/span><span class=\"wind-gust-inline\">${t.gustWord} <strong>${glideNum(h.gst)}<\/strong> kts<\/span>` : ''}\n                    <\/div>\n                  <\/div>\n                  <div class=\"glide-hc-foot\">\n                    <span class=\"glide-hc-cell\">\n                      <span class=\"glide-hc-lbl\">${t.thDir}<\/span>\n                      <span class=\"glide-dir\"><span class=\"glide-badge-dir\">${s.arrow}<\/span><strong>${s.card}<\/strong><\/span>\n                    <\/span>\n                    <span class=\"glide-hc-cell\">\n                      <span class=\"glide-hc-lbl\">${t.thSwell}<\/span>\n                      <span class=\"glide-swell\"><span class=\"glide-badge-wave\">${waveArrow}<\/span><strong>${waveCard}<\/strong><b>${glideNum(waveVal)}<i>m<\/i><\/b><\/span>\n                    <\/span>\n                  <\/div>\n                <\/div>`;\n            }).join(\"\")}\n          \n        <\/div>\n      <\/div>\n      <div class=\"glide-compact-footer\">\n        <div style=\"color:#94A3B8;\">${t.updated} ${widgetData.updatedAt}<\/div>\n        <div>Powered by <strong>GLIDE<\/strong><\/div>\n      <\/div>\n    `;\n  }\n\n  window.GLIDEBarreirinhaWidget = { setDay: function(idx) { selectedDayIdx = idx; render(); } };\n\n  if (document.readyState === \"loading\") { document.addEventListener(\"DOMContentLoaded\", fetchForecast); } else { fetchForecast(); }\n})();<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9218743 e-flex e-con-boxed e-con e-parent\" data-id=\"9218743\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a694b44 elementor-widget elementor-widget-heading\" data-id=\"a694b44\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Frequently Asked Questions<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c9d95ab elementor-widget elementor-widget-n-accordion\" data-id=\"c9d95ab\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;default_state&quot;:&quot;expanded&quot;,&quot;max_items_expended&quot;:&quot;one&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2110\" class=\"e-n-accordion-item\" open>\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"true\" aria-controls=\"e-n-accordion-item-2110\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> How does booking work? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2110\" class=\"elementor-element elementor-element-de9b3e8 e-con-full e-flex e-con e-child\" data-id=\"de9b3e8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2110\" class=\"elementor-element elementor-element-5242004 e-flex e-con-boxed e-con e-child\" data-id=\"5242004\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-740008b elementor-widget elementor-widget-text-editor\" data-id=\"740008b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Payment is made in full at the time of booking \u2014 this guarantees your spot immediately and you receive instant email confirmation.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2111\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"2\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2111\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> What if the weather is not favourable? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2111\" class=\"elementor-element elementor-element-76a1bea e-con-full e-flex e-con e-child\" data-id=\"76a1bea\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2111\" class=\"elementor-element elementor-element-8900343 e-flex e-con-boxed e-con e-child\" data-id=\"8900343\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3b540d3 elementor-widget elementor-widget-text-editor\" data-id=\"3b540d3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>If we cancel due to adverse weather conditions or other reasons, you receive a full refund or free rescheduling \u2014 the choice is yours.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2112\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"3\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2112\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Can I cancel or change the date? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2112\" class=\"elementor-element elementor-element-64bf693 e-con-full e-flex e-con e-child\" data-id=\"64bf693\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2112\" class=\"elementor-element elementor-element-32bea15 e-flex e-con-boxed e-con e-child\" data-id=\"32bea15\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7366712 elementor-widget elementor-widget-text-editor\" data-id=\"7366712\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>&#8211; Cancellation by the customer at least 24 hours before the tour starts: full refund.<br \/>&#8211; Cancellation by the customer less than 24 hours before the tour starts, or failure to attend (no-show): no refund.<br \/>&#8211; Cancellation by GLIDE SUP Tours due to sea or weather conditions: a full refund or rescheduling at no extra cost, at the customer\u2019s choice.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2113\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"4\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2113\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> How do I get to the meeting point?  <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2113\" class=\"elementor-element elementor-element-c320da3 e-flex e-con-boxed e-con e-child\" data-id=\"c320da3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2113\" class=\"elementor-element elementor-element-d37e3eb e-con-full e-flex e-con e-child\" data-id=\"d37e3eb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d267f13 elementor-widget elementor-widget-text-editor\" data-id=\"d267f13\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Cada participante trata do seu pr\u00f3prio transporte \u2014 o transporte n\u00e3o est\u00e1 inclu\u00eddo. O ponto de encontro encontra-se descrito abaixo.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2114\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"5\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2114\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Will I receive photos from the tour? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2114\" class=\"elementor-element elementor-element-6229783 e-flex e-con-boxed e-con e-child\" data-id=\"6229783\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2114\" class=\"elementor-element elementor-element-8c1046d e-con-full e-flex e-con e-child\" data-id=\"8c1046d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-74e8ca3 elementor-widget elementor-widget-text-editor\" data-id=\"74e8ca3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Yes!<\/p><p>Photos are included in the experience at no extra cost. If you want to bring your phone, waterproof bags are available (devices remain under your own responsibility).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2115\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"6\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2115\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> What items should I bring on the tour? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2115\" class=\"elementor-element elementor-element-5d21267 e-flex e-con-boxed e-con e-child\" data-id=\"5d21267\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2115\" class=\"elementor-element elementor-element-f6d1379 e-con-full e-flex e-con e-child\" data-id=\"f6d1379\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-513a523 elementor-widget elementor-widget-text-editor\" data-id=\"513a523\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Beachwear, sunscreen and water.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2116\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"7\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2116\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> I've never done SUP, can I join the tour?  <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2116\" class=\"elementor-element elementor-element-789ae28 e-flex e-con-boxed e-con e-child\" data-id=\"789ae28\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2116\" class=\"elementor-element elementor-element-c002bea e-con-full e-flex e-con e-child\" data-id=\"c002bea\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d645667 elementor-widget elementor-widget-text-editor\" data-id=\"d645667\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Absolutely \u2014 this tour requires no previous experience. You only need to know how to swim; we take care of the rest, with small groups (maximum 8 people) and always a guide nearby.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2117\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"8\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2117\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> What is the minimum age to participate?  <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2117\" class=\"elementor-element elementor-element-88e5aa7 e-flex e-con-boxed e-con e-child\" data-id=\"88e5aa7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2117\" class=\"elementor-element elementor-element-c4b6578 e-con-full e-flex e-con e-child\" data-id=\"c4b6578\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7fc1cc0 elementor-widget elementor-widget-text-editor\" data-id=\"7fc1cc0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>From 6 years old on a shared board with an adult. Solo paddling from 12 years old.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2118\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"9\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2118\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> What time should I arrive? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2118\" class=\"elementor-element elementor-element-84dfd4e e-flex e-con-boxed e-con e-child\" data-id=\"84dfd4e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2118\" class=\"elementor-element elementor-element-c20da0e e-con-full e-flex e-con e-child\" data-id=\"c20da0e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-16819d9 elementor-widget elementor-widget-text-editor\" data-id=\"16819d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>At Praia da Barreirinha, please arrive 15\u201320 minutes before the scheduled time.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-37b2f2b bar-ponto-sec e-flex e-con-boxed e-con e-parent\" data-id=\"37b2f2b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1b9ee2a elementor-widget elementor-widget-text-editor\" data-id=\"1b9ee2a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"bar-pin\"><i class=\"fas fa-map-marker-alt\" aria-hidden=\"true\"><\/i><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2f47f2a bar-h2bar elementor-widget elementor-widget-heading\" data-id=\"2f47f2a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Meeting point<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b5e7a01 elementor-widget elementor-widget-html\" data-id=\"b5e7a01\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"bpe-sub\">Everything you need to know to find us.<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-99c8bff e-con-full bar-ponto-card e-flex e-con e-child\" data-id=\"99c8bff\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b5e7a02 elementor-widget elementor-widget-html\" data-id=\"b5e7a02\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"bpe\">\n  <div class=\"bpe-info\">\n    <span class=\"bpe-kicker\"><i class=\"fas fa-map-marker-alt\" aria-hidden=\"true\"><\/i> Funchal \u00b7 Madeira<\/span>\n    <h3 class=\"bpe-title\">Praia da Barreirinha<\/h3>\n    <p class=\"bpe-lead\">We meet at Praia da Barreirinha, beside Funchal\u2019s Old Town. We will be waiting for you there, with everything ready to get you on the water.<\/p>\n    <ul class=\"bpe-list\">\n      <li><span class=\"bpe-ic\"><i class=\"far fa-clock\" aria-hidden=\"true\"><\/i><\/span><div><strong>Arrive 15\u201320 minutes early<\/strong><span>For the briefing and equipment preparation.<\/span><\/div><\/li>\n      <li><span class=\"bpe-ic\"><i class=\"fas fa-car\" aria-hidden=\"true\"><\/i><\/span><div><strong>Transport not included<\/strong><span>Each participant arranges their own transport.<\/span><\/div><\/li>\n      <li><span class=\"bpe-ic\"><i class=\"fas fa-crosshairs\" aria-hidden=\"true\"><\/i><\/span><div><strong>GPS coordinates<\/strong><span>32\u00b038'48.4\"N &nbsp;16\u00b053'50.9\"W<\/span><\/div><\/li>\n    <\/ul>\n    <a class=\"bpe-btn\" href=\"https:\/\/www.google.com\/maps?q=32.646778,-16.897462\" target=\"_blank\" rel=\"noopener\"><i class=\"fas fa-directions\" aria-hidden=\"true\"><\/i> Open in Google Maps<\/a>\n  <\/div>\n  <div class=\"bpe-map\">\n    <iframe src=\"https:\/\/maps.google.com\/maps?q=32.646778,-16.897462&amp;z=16&amp;output=embed\" loading=\"lazy\" title=\"Mapa \u2013 Praia da Barreirinha, Funchal\" referrerpolicy=\"no-referrer-when-downgrade\" allowfullscreen><\/iframe>\n  <\/div>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1472653 bar-cta e-flex e-con-boxed e-con e-parent\" data-id=\"1472653\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-014a8e0 elementor-widget elementor-widget-heading\" data-id=\"014a8e0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Ready to discover Barreirinha?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-51b9359 elementor-widget elementor-widget-text-editor\" data-id=\"51b9359\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Lugares limitados a 8 pessoas por tour &mdash; garante j&aacute; a tua reserva.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-51fe87d e-con-full bar-ctas e-flex e-con e-child\" data-id=\"51fe87d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d760d64 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"d760d64\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-lg\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Coming soon<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Funchal \u00b7 Madeira Barreirinha SUP Tours Funchal\u2019s most iconic spot \u2014 rema em \u00e1guas cristalinas junto \u00e0 ba\u00eda do Funchal, com a Reserva Natural do Garajau no horizonte. Perfeito para partilhar com fam\u00edlia e amigos. Reserva J\u00e1 Crystal-clear waters Groups of up to 8 guests Available year-round Group Tours Explore Barreirinha at the rhythm of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","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":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","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":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"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":""},"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":""}},"_joinchat":[],"footnotes":""},"class_list":["post-2440","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/glidesuptours.pt\/en\/wp-json\/wp\/v2\/pages\/2440","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/glidesuptours.pt\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/glidesuptours.pt\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/glidesuptours.pt\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/glidesuptours.pt\/en\/wp-json\/wp\/v2\/comments?post=2440"}],"version-history":[{"count":121,"href":"https:\/\/glidesuptours.pt\/en\/wp-json\/wp\/v2\/pages\/2440\/revisions"}],"predecessor-version":[{"id":3225,"href":"https:\/\/glidesuptours.pt\/en\/wp-json\/wp\/v2\/pages\/2440\/revisions\/3225"}],"wp:attachment":[{"href":"https:\/\/glidesuptours.pt\/en\/wp-json\/wp\/v2\/media?parent=2440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}