{"id":1819,"date":"2026-10-15T02:50:55","date_gmt":"2026-10-15T02:50:55","guid":{"rendered":"https:\/\/www.guiasur.com.co\/?page_id=1819"},"modified":"2026-10-29T18:17:41","modified_gmt":"2026-10-29T18:17:41","slug":"pasto-graffiti-tour","status":"publish","type":"page","link":"https:\/\/www.guiasur.com.co\/en\/pasto-graffiti-tour\/","title":{"rendered":"Pasto graffiti tour"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1819\" class=\"elementor elementor-1819\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-228bcc9 e-con-full e-flex e-con e-parent\" data-id=\"228bcc9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-97df4d9 elementor-widget elementor-widget-html\" data-id=\"97df4d9\" 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<!-- PASTO GRAFFITI TOUR \u00b7 DEMO V2 \u00b7 Pegar TODO en un widget HTML de Elementor. -->\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Barlow:wght@400;500;600;700;800&display=swap');\nbody:has(#pgt-demo){margin:0}\n#pgt-demo{--ink:#111311;--paper:#f4f3eb;--acid:#e6f344;--pink:#ee91b9;--blue:#98c9ed;--line:#d0d1c8;color:var(--ink);background:var(--paper);font:17px\/1.5 'Barlow',Arial,sans-serif;width:100%;max-width:none;text-align:left;isolation:isolate;overflow:clip}\n#pgt-demo *,#pgt-demo *:before,#pgt-demo *:after{box-sizing:border-box}#pgt-demo [hidden]{display:none!important}#pgt-demo h1,#pgt-demo h2,#pgt-demo h3,#pgt-demo p,#pgt-demo figure{margin:0}#pgt-demo h1,#pgt-demo h2,#pgt-demo h3{color:inherit}#pgt-demo a{color:inherit;text-decoration:none}#pgt-demo img{display:block;width:100%;height:100%;object-fit:cover}#pgt-demo button,#pgt-demo input,#pgt-demo select,#pgt-demo textarea{font:inherit;border-radius:0;box-shadow:none}#pgt-demo button,#pgt-demo .btn{cursor:pointer;transition:background .2s,color .2s,transform .2s}#pgt-demo button{text-transform:none;letter-spacing:normal}#pgt-demo button:disabled{opacity:.45;cursor:not-allowed}#pgt-demo :focus-visible{outline:3px solid #1674d4;outline-offset:4px}#pgt-demo label{display:grid;gap:6px;font-size:13px;font-weight:700}#pgt-demo input,#pgt-demo select,#pgt-demo textarea{width:100%;min-height:48px;padding:11px 12px;border:1px solid #85877d;background:#fff;color:#111}#pgt-demo textarea{min-height:100px;resize:vertical}#pgt-demo input[type=checkbox]{width:19px;min-height:19px;accent-color:#111}#pgt-demo .check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:14px}#pgt-demo .check input{flex:none;margin-top:3px}#pgt-demo .wrap{padding:70px clamp(20px,5vw,90px)}#pgt-demo .eyebrow{font-size:12px;letter-spacing:.14em;font-weight:800;text-transform:uppercase}#pgt-demo .display{font:800 clamp(52px,7vw,112px)\/.92 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.025em;text-transform:uppercase}#pgt-demo .title{font:800 clamp(38px,4.8vw,76px)\/.98 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase}#pgt-demo h3{font:700 32px\/1.05 'Barlow Condensed',Impact,sans-serif}#pgt-demo .small{font-size:13px}#pgt-demo .muted{color:#62655e}#pgt-demo .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}#pgt-demo .section-head p{max-width:350px}#pgt-demo .btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:13px 22px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-weight:700;font-size:14px}#pgt-demo .btn:hover{background:#333a28;color:#fff}#pgt-demo .btn.light{background:var(--acid);color:#111;border-color:var(--acid)}#pgt-demo .btn.outline{background:transparent;color:inherit;border-color:currentColor}#pgt-demo .text-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;border:0;border-bottom:1px solid currentColor;background:none;padding:7px 0;color:inherit;font-weight:700}#pgt-demo .tag{display:inline-block;padding:5px 9px;font-size:10px;letter-spacing:.07em;text-transform:uppercase;font-weight:800;background:var(--acid);color:#111}#pgt-demo .row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}#pgt-demo .stack{display:grid;gap:20px}#pgt-demo .grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px}#pgt-demo .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}#pgt-demo .notice{padding:13px 16px;border:1px solid #b5b9a6;background:#edf0df;font-size:13px}#pgt-demo .demo-bar{background:var(--ink);color:#fff;padding:8px 20px;text-align:center;font-size:11px;letter-spacing:.045em}#pgt-demo header{position:sticky;top:0;z-index:30;background:var(--acid);display:flex;align-items:stretch;min-height:88px;border-bottom:1px solid #111}body.admin-bar #pgt-demo header{top:32px}#pgt-demo .brand{width:106px;padding:10px 17px;background:#fff;flex:none}#pgt-demo .brand img{object-fit:contain}#pgt-demo nav{display:flex;align-items:center;gap:clamp(14px,2vw,32px);padding:0 26px;flex:1}#pgt-demo nav a{font-size:14px;font-weight:800;min-height:44px;display:flex;align-items:center;border-bottom:2px solid transparent}#pgt-demo nav a[aria-current=page]{border-color:#111}#pgt-demo .header-actions{display:flex;align-items:stretch;margin-left:auto}#pgt-demo .header-actions button,#pgt-demo .header-actions a{border:0;border-left:1px solid #111;background:transparent;color:#111;min-width:61px;display:flex;align-items:center;justify-content:center;padding:14px;font-weight:800;font-size:13px}#pgt-demo .header-actions .book{background:var(--ink);color:var(--acid);min-width:124px}#pgt-demo .menu-toggle{display:none!important}#pgt-demo .hero{position:relative;display:grid;grid-template-columns:1.25fr 1fr;background:var(--ink);color:#fff;min-height:590px;overflow:hidden}#pgt-demo .hero-copy{padding:52px 0 45px clamp(20px,5vw,90px);z-index:2;align-self:center}#pgt-demo .hero h1{font:900 clamp(80px,10.5vw,174px)\/.83 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.035em;text-transform:uppercase;margin:30px -55px 28px 0}#pgt-demo .hero h1 span{color:var(--acid)}#pgt-demo .hero-copy p{max-width:390px;margin-bottom:25px}#pgt-demo .hero-art{position:relative;min-height:590px;padding:32px 36px 34px 20px}#pgt-demo .hero-art .large{height:100%;max-height:610px;object-position:50% 43%;transform:rotate(3deg)}#pgt-demo .hero-art .mini{position:absolute;width:36%;height:38%;left:-35px;bottom:32px;transform:rotate(-7deg);border:7px solid var(--paper)}#pgt-demo .hero-stamp{position:absolute;right:15px;top:25px;width:116px;height:116px;display:grid;place-content:center;transform:rotate(12deg);background:var(--acid);color:#111;border-radius:50%;text-align:center;font:800 25px\/.9 'Barlow Condensed',sans-serif}#pgt-demo .quick{display:grid;grid-template-columns:1.25fr 1fr 1fr auto;gap:20px;align-items:end;background:var(--acid);padding:25px clamp(20px,5vw,90px);border-top:1px solid #111;border-bottom:1px solid #111}#pgt-demo .quick .intro{align-self:center;font:800 30px\/.95 'Barlow Condensed',sans-serif;text-transform:uppercase}#pgt-demo .tour-card{display:grid;grid-template-columns:1fr 1fr;min-height:350px;background:#fff;border:1px solid #111}#pgt-demo .tour-card figure{min-height:350px;overflow:hidden}#pgt-demo .tour-card figure img{transition:transform .5s}#pgt-demo .tour-card:hover img{transform:scale(1.035)}#pgt-demo .tour-info{padding:26px;display:flex;flex-direction:column;align-items:flex-start;gap:15px}#pgt-demo .tour-info .btn{margin-top:auto}#pgt-demo .price{font:800 31px\/1 'Barlow Condensed',sans-serif}#pgt-demo .campaign img{height:auto;max-height:610px;object-fit:cover}#pgt-demo .campaign figcaption{padding:9px 20px;background:#111;color:#c2c6bc;font-size:10px;text-align:right}#pgt-demo .artists-home{background:var(--ink);color:#fff}#pgt-demo .art-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px;align-items:start}#pgt-demo .image-link{display:block;width:100%;text-align:left;padding:0;background:none;border:0;color:inherit}#pgt-demo .image-link figure{height:330px;overflow:hidden}#pgt-demo .image-link:first-child figure{height:410px}#pgt-demo .image-link img{transition:transform .5s}#pgt-demo .image-link:hover img{transform:scale(1.04)}#pgt-demo .image-link .caption{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #ffffff55}#pgt-demo .image-link:nth-child(2){margin-top:58px}#pgt-demo .image-link h3{font-size:28px}#pgt-demo .map-box{position:relative;background:#dedfd2;min-height:365px;overflow:hidden;border:1px solid #111}#pgt-demo .map-box svg{display:block;width:100%;height:100%;min-height:365px}#pgt-demo .map-mark{position:absolute;width:48px;height:48px;border:2px solid #111;border-radius:50%;background:var(--acid);font-weight:800;color:#111;transform:translate(-50%,-50%)}#pgt-demo .map-mark.active{background:#111;color:var(--acid);outline:4px solid #fff}#pgt-demo .map-label{position:absolute;left:16px;bottom:14px;font-size:10px;background:#fff;padding:7px 10px;max-width:85%}#pgt-demo .map-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:26px}#pgt-demo .map-detail{background:#fff;border:1px solid #111;display:grid;grid-template-rows:210px 1fr}#pgt-demo .map-detail>div{padding:24px}#pgt-demo .map-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}#pgt-demo .map-list button{background:none;border:1px solid #111;padding:9px 14px;color:#111;min-height:44px}#pgt-demo .map-list button.active{background:#111;color:#fff}#pgt-demo .editorial{background:var(--blue)}#pgt-demo .story-card{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}#pgt-demo .story-card img{height:400px}#pgt-demo .story-card .title{margin:16px 0 22px}#pgt-demo .product-card{border:1px solid #111;background:#fff;display:flex;flex-direction:column}#pgt-demo .product-card>button{padding:0;border:0;background:none;cursor:pointer}#pgt-demo .product-card .product-info{padding:20px;display:grid;gap:8px}#pgt-demo .product-visual{height:300px;display:grid;place-items:center;background:#dedfd2;overflow:hidden;position:relative}#pgt-demo .product-card:nth-child(2) .product-visual{background:var(--pink)}#pgt-demo .product-card:nth-child(3) .product-visual{background:var(--blue)}#pgt-demo .mock-bag{position:relative;width:155px;height:165px;background:#e8d6af;transform:rotate(-8deg);display:grid;place-items:center;border:1px solid #ad9875;box-shadow:8px 12px 0 #1111}#pgt-demo .mock-bag:before{content:'';position:absolute;width:75px;height:68px;border:12px solid #d5c29a;border-bottom:0;top:-58px;border-radius:45px 45px 0 0}#pgt-demo .mock-bag img{width:75px;height:90px;object-fit:contain;mix-blend-mode:multiply}#pgt-demo .mock-shirt{width:225px;height:215px;background:#1b1d1a;clip-path:polygon(23% 0,38% 0,43% 8%,57% 8%,62% 0,77% 0,100% 25%,83% 43%,73% 32%,75% 100%,25% 100%,27% 32%,17% 43%,0 25%);display:grid;place-items:center;transform:rotate(7deg)}#pgt-demo .mock-shirt img{width:83px;height:95px;object-fit:contain}#pgt-demo .mock-print{width:172px;height:225px;padding:14px;background:#fff;transform:rotate(-5deg);box-shadow:8px 10px 0 #1112;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #ccc}#pgt-demo .mock-print b{font:900 48px\/.85 'Barlow Condensed',sans-serif;letter-spacing:-.03em}#pgt-demo .mock-print small{font-size:10px;border-top:1px solid #111;padding-top:10px}#pgt-demo .extras{display:grid;grid-template-columns:1fr 1fr;background:var(--pink)}#pgt-demo .extras>div{padding:50px clamp(20px,5vw,90px);border:1px solid #111}#pgt-demo .extras h3{font-size:48px;margin-bottom:15px}#pgt-demo details{border-bottom:1px solid #b3b7a8;padding:17px 0}#pgt-demo summary{cursor:pointer;font-weight:700;min-height:30px}#pgt-demo details p{padding-top:12px;max-width:760px}#pgt-demo footer{background:var(--ink);color:#fff;padding:50px clamp(20px,5vw,90px) 25px}#pgt-demo .footer-main{display:grid;grid-template-columns:150px 1fr 1fr;gap:45px;padding-bottom:45px}#pgt-demo .footer-logo{height:145px;object-fit:contain}#pgt-demo .footer-links{display:flex;gap:6px 24px;flex-wrap:wrap;align-content:start}#pgt-demo .footer-links a{min-height:44px;display:flex;align-items:center}#pgt-demo .footer-bottom{border-top:1px solid #ffffff40;padding-top:20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:#b6bcb1}#pgt-demo .footer-bottom button{background:none;border:0;color:inherit;text-decoration:underline;padding:0;min-height:28px;font-size:12px}#pgt-demo .page-head{padding:55px clamp(20px,5vw,90px);background:var(--acid);border-bottom:1px solid #111}#pgt-demo .page-head p{max-width:600px;margin-top:20px}#pgt-demo .filters{display:flex;gap:14px;align-items:end;margin-bottom:35px;flex-wrap:wrap}#pgt-demo .filters label{min-width:240px;flex:1}#pgt-demo .directory{display:grid;grid-template-columns:1fr 1fr;gap:28px}#pgt-demo .directory figure{height:380px}#pgt-demo .directory .caption{border-color:#111}#pgt-demo .manifesto{padding:40px;background:var(--pink);border:1px solid #111;display:flex;flex-direction:column;gap:25px;align-items:flex-start}#pgt-demo .prose{max-width:760px;margin:auto;display:grid;gap:22px}#pgt-demo .prose img{height:auto;max-height:500px;object-fit:cover}#pgt-demo .future{padding:24px;border-top:1px solid #111;display:flex;align-items:center;gap:20px;justify-content:space-between}#pgt-demo .future p{max-width:600px}#pgt-demo .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #111;border-left:1px solid #111}#pgt-demo .stat-grid>div{padding:18px;border-right:1px solid #111;border-bottom:1px solid #111}#pgt-demo .stat-grid b{display:block;font:800 26px\/1.2 'Barlow Condensed',sans-serif}#pgt-demo .dialog{position:fixed;inset:0;width:min(1000px,94vw);max-width:1000px;max-height:90dvh;padding:0;border:1px solid #111;background:var(--paper);color:#111;margin:auto;overflow:auto;font:16px\/1.5 'Barlow',Arial,sans-serif}#pgt-demo .dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}#pgt-demo .modal-top{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;background:var(--acid);border-bottom:1px solid #111;z-index:3}#pgt-demo .close{background:#111;color:#fff;border:0;width:44px;height:44px;font-size:25px}#pgt-demo .modal-body{padding:30px}#pgt-demo .modal-body>.stack>.title{max-width:780px}#pgt-demo .modal-body .grid2{gap:28px}#pgt-demo .modal-photo{height:340px}#pgt-demo .modal-body .product-visual{height:380px}#pgt-demo .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}#pgt-demo .form-grid .full{grid-column:1\/-1}#pgt-demo .summary-box{border:1px solid #111;background:#fff;padding:22px;display:grid;gap:14px}#pgt-demo .line{display:flex;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid #ddd}#pgt-demo .steps{display:flex;gap:12px;margin-bottom:25px;font-size:12px;font-weight:700;flex-wrap:wrap}#pgt-demo .steps span{opacity:.5}#pgt-demo .steps .on{opacity:1;border-bottom:3px solid #111}#pgt-demo .success-mark{width:70px;height:70px;background:var(--acid);display:grid;place-items:center;border:1px solid #111;font-size:35px}#pgt-demo .error{color:#a31d1d;font-size:14px}#pgt-demo .cart-line{display:grid;grid-template-columns:1fr auto;gap:12px;border-bottom:1px solid #bbb;padding:18px 0}#pgt-demo .qty{display:flex;align-items:center;gap:10px}#pgt-demo .qty button{width:36px;height:36px;border:1px solid #111;background:#fff;color:#111}#pgt-demo .toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:110;background:var(--acid);color:#111;padding:15px 24px;max-width:90vw;border:1px solid #111;font-size:14px;font-weight:700}#pgt-demo .skip{position:absolute;top:-100px;left:15px;background:#fff;padding:12px;z-index:90}#pgt-demo .skip:focus{top:0}\n@media(min-width:1600px){#pgt-demo .hero{min-height:720px}#pgt-demo .hero-art{min-height:720px}#pgt-demo .hero-art .large{max-height:none}}\n@media(max-width:1100px){#pgt-demo nav{gap:14px;padding:0 16px}#pgt-demo nav a{font-size:12px}#pgt-demo .tour-card{grid-template-columns:1fr}#pgt-demo .tour-card figure{min-height:250px;height:250px}#pgt-demo .quick{grid-template-columns:1fr 1fr 1fr}#pgt-demo .quick .intro{grid-column:1\/-1}#pgt-demo .hero h1{font-size:12vw}#pgt-demo .hero-art{padding-right:25px}#pgt-demo .hero{min-height:530px}#pgt-demo .hero-art{min-height:530px}#pgt-demo .art-grid{grid-template-columns:1.2fr 1fr}#pgt-demo .art-grid>button:last-child{display:none}}\n@media(max-width:780px){body.admin-bar #pgt-demo header{top:46px}#pgt-demo header{min-height:72px}#pgt-demo .brand{width:82px;padding:7px 12px}#pgt-demo .menu-toggle{display:flex!important}#pgt-demo .header-actions button,#pgt-demo .header-actions a{min-width:48px;padding:10px;font-size:12px}#pgt-demo .header-actions .book{min-width:90px}#pgt-demo nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--acid);padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid #111}#pgt-demo nav.open{display:flex}#pgt-demo nav a{font-size:22px;min-height:49px}#pgt-demo .wrap{padding:45px 20px}#pgt-demo .hero{grid-template-columns:1fr;min-height:auto}#pgt-demo .hero-copy{padding:32px 20px 20px}#pgt-demo .hero h1{font-size:clamp(78px,18vw,135px);margin:24px 0}#pgt-demo .hero-copy p{max-width:520px}#pgt-demo .hero-art{min-height:310px;height:340px;padding:10px 30px 25px 80px}#pgt-demo .hero-art .large{object-position:50% 40%;transform:rotate(2deg)}#pgt-demo .hero-art .mini{left:20px;width:34%;height:65%;bottom:20px}#pgt-demo .hero-stamp{width:90px;height:90px;font-size:21px;right:12px;top:12px}#pgt-demo .quick{padding:23px 20px;grid-template-columns:1fr 1fr;gap:15px}#pgt-demo .quick .btn{grid-column:1\/-1}#pgt-demo .grid2,#pgt-demo .map-layout,#pgt-demo .story-card,#pgt-demo .extras{grid-template-columns:1fr}#pgt-demo .tour-card{grid-template-columns:1fr 1fr}#pgt-demo .tour-card figure{height:100%;min-height:320px}#pgt-demo .tour-info{padding:20px}#pgt-demo .section-head{align-items:start;flex-direction:column;gap:15px}#pgt-demo .art-grid{gap:16px}#pgt-demo .image-link figure,#pgt-demo .image-link:first-child figure{height:260px}#pgt-demo .image-link:nth-child(2){margin-top:35px}#pgt-demo .image-link h3{font-size:24px}#pgt-demo .story-card{gap:25px}#pgt-demo .story-card img{height:280px}#pgt-demo .grid3{grid-template-columns:1fr 1fr}#pgt-demo .grid3 .product-card:last-child{grid-column:1\/-1}#pgt-demo .product-visual{height:260px}#pgt-demo .product-card:last-child .product-visual{height:300px}#pgt-demo .extras>div{padding:30px 20px}#pgt-demo .footer-main{grid-template-columns:100px 1fr;gap:25px}#pgt-demo .footer-logo{height:105px}#pgt-demo .footer-main>div:last-child{grid-column:1\/-1}#pgt-demo footer{padding:35px 20px 25px}#pgt-demo .page-head{padding:38px 20px}#pgt-demo .directory{grid-template-columns:1fr}#pgt-demo .directory figure{height:340px}#pgt-demo .modal-body{padding:22px}#pgt-demo .dialog{width:96vw;max-height:94dvh}#pgt-demo .modal-photo{height:270px}#pgt-demo .future{align-items:start;flex-direction:column}}\n@media(max-width:450px){#pgt-demo .tour-card{grid-template-columns:1fr}#pgt-demo .tour-card figure{height:240px;min-height:240px}#pgt-demo .grid3{grid-template-columns:1fr}#pgt-demo .grid3 .product-card:last-child{grid-column:auto}#pgt-demo .art-grid{grid-template-columns:1fr}#pgt-demo .art-grid>button:nth-child(2){display:none}#pgt-demo .image-link:first-child figure{height:330px}#pgt-demo .form-grid{grid-template-columns:1fr}#pgt-demo .form-grid .full{grid-column:auto}#pgt-demo .stat-grid{grid-template-columns:1fr 1fr}#pgt-demo .header-actions .book{min-width:83px}#pgt-demo .hero-copy .row{gap:14px}#pgt-demo .hero-copy .btn{padding:12px 16px}#pgt-demo .map-detail{grid-template-rows:190px 1fr}}\n@media(prefers-reduced-motion:reduce){#pgt-demo *,#pgt-demo *:before,#pgt-demo *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}\n<\/style>\n\n<div id=\"pgt-demo\" lang=\"es\">\n <a class=\"skip\" href=\"#pgt-main\">Saltar al contenido \/ Skip to content<\/a>\n <div class=\"demo-bar\" data-shell=\"demo\"><\/div>\n <header>\n  <a class=\"brand\" href=\"#pgt\/inicio\" aria-label=\"Pasto Graffiti Tour \u00b7 Inicio\"><img decoding=\"async\" src=\"https:\/\/www.guiasur.com.co\/wp-content\/uploads\/2026\/10\/Logo_oficial_pasto_GT_Mesa-de-trabajo-1.png\" alt=\"Pasto Graffiti Tour\" width=\"100\" height=\"100\"><\/a>\n  <nav aria-label=\"Principal\"><\/nav>\n  <div class=\"header-actions\"><button type=\"button\" data-action=\"menu\" class=\"menu-toggle\" aria-expanded=\"false\" aria-label=\"Men\u00fa \/ Menu\">\u2630<\/button><button type=\"button\" data-action=\"language\" aria-label=\"Cambiar idioma \/ Change language\">EN<\/button><button type=\"button\" data-action=\"cart\" aria-label=\"Carrito \/ Cart\">\u2197 <span id=\"pgt-cart-count\">0<\/span><\/button><button type=\"button\" class=\"book\" data-action=\"book\" data-shell=\"reserve\"><\/button><\/div>\n <\/header>\n <main id=\"pgt-main\" tabindex=\"-1\"><\/main>\n <footer><\/footer>\n <dialog class=\"dialog\" aria-labelledby=\"pgt-dialog-title\"><div class=\"modal-top\"><b id=\"pgt-dialog-title\"><\/b><button type=\"button\" class=\"close\" data-action=\"close\" aria-label=\"Cerrar \/ Close\">\u00d7<\/button><\/div><div class=\"modal-body\"><\/div><\/dialog>\n <div class=\"toast\" role=\"status\" aria-live=\"polite\" hidden><\/div>\n <noscript><p>Activa JavaScript para explorar esta demostraci\u00f3n. Contacto: +57 313 643 1354.<\/p><\/noscript>\n<\/div>\n\n<script>\n(()=>{\n'use strict';\nconst root=document.getElementById('pgt-demo');if(!root||root.dataset.ready)return;root.dataset.ready='true';\nconst $=s=>root.querySelector(s),$$=s=>[...root.querySelectorAll(s)],main=$('main'),dialog=$('dialog'),body=$('.modal-body');\nconst base='https:\/\/www.guiasur.com.co\/wp-content\/uploads\/2026\/10\/',logo=base+'Logo_oficial_pasto_GT_Mesa-de-trabajo-1.png',campaign=base+'IMG-20261027-WA0016.jpg';\nconst img={woman:base+'gs-pasto-grafiti-024-mujer-flores-andina-skol.webp',fiesta:base+'gs-pasto-grafiti-023-fiesta-skol.webp',narino:base+'gs-pasto-grafiti-025-narino-fuerza-creativa-skol.webp',bird:base+'gs-pasto-grafiti-026-desde-el-mar-hasta-el-galeras-skol.webp',identity:base+'gs-pasto-grafiti-021-identidad-skol.webp',nature:base+'gs-pasto-grafiti-020-conservacion-skol.webp'};\nlet lang='es',route='inicio',selectedWork=0,cart=[],sold={},inventory={},hold=null,bookingStep=1,confirmation=null,lastFocus=null,toastTimer;\nconst t=(es,en)=>lang==='es'?es:en,esc=s=>String(s??'').replace(\/[&<>\"']\/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]));\nconst money=n=>new Intl.NumberFormat(lang==='es'?'es-CO':'en-US',{style:'currency',currency:'COP',maximumFractionDigits:0}).format(n);\nconst today=new Intl.DateTimeFormat('en-CA',{timeZone:'America\/Bogota',year:'numeric',month:'2-digit',day:'2-digit'}).format(new Date());\nconst dateAt=n=>{const d=new Date(today+'T12:00:00');d.setDate(d.getDate()+n);return d.getFullYear()+'-'+String(d.getMonth()+1).padStart(2,'0')+'-'+String(d.getDate()).padStart(2,'0')};\nconst dateText=s=>new Intl.DateTimeFormat(lang==='es'?'es-CO':'en-GB',{weekday:'long',day:'numeric',month:'long',year:'numeric'}).format(new Date(s+'T12:00:00'));\nlet booking={mode:'classic',date:dateAt(1),time:'09:00',language:'Espa\u00f1ol',pax:2,name:'',email:''};\nconst works=[{name:'Nari\u00f1o, fuerza creativa',src:img.narino,credit:'SKOL',x:24,y:36},{name:'Fiesta',src:img.fiesta,credit:'SKOL',x:51,y:60},{name:'Mujer y flores',src:img.woman,credit:'SKOL \u00b7 MUG \u00b7 DOBLED',x:76,y:28}];\nconst products=[{id:'tote',es:'Tote \/ La calle se lleva',en:'Tote \/ Take the street with you',price:65000,stock:6,variants:['Natural','Negro'],type:'bag',materials:['Algod\u00f3n \u00b7 35 \u00d7 40 cm \u00b7 mockup de muestra.','Cotton \u00b7 35 \u00d7 40 cm \u00b7 sample mockup.']},{id:'shirt',es:'Camiseta \/ Pasto Graffiti Tour',en:'T-shirt \/ Pasto Graffiti Tour',price:85000,stock:8,variants:['S','M','L'],type:'shirt',materials:['Algod\u00f3n \u00b7 corte regular \u00b7 tallas de prueba.','Cotton \u00b7 regular fit \u00b7 sample sizes.']},{id:'print',es:'Print \/ El arte se camina',en:'Print \/ Walk the art',price:45000,stock:5,variants:['A3'],type:'print',materials:['L\u00e1mina A3 \u00b7 dise\u00f1o tipogr\u00e1fico de muestra.','A3 poster \u00b7 sample typographic design.']}];\nconst photo=(src,alt,cls='')=>`<img class=\"${cls}\" src=\"${src}\" alt=\"${esc(alt)}\" loading=\"lazy\" decoding=\"async\">`;\nconst link=(page,label,cls='text-link')=>`<a class=\"${cls}\" href=\"#pgt\/${page}\">${label} <span aria-hidden=\"true\">\u2197<\/span><\/a>`;\nconst btn=(action,label,extra='',cls='btn')=>`<button type=\"button\" class=\"${cls}\" data-action=\"${action}\" ${extra}>${label} <span aria-hidden=\"true\">\u2197<\/span><\/button>`;\nconst demo=()=>`<p class=\"notice\">${t('Demostraci\u00f3n: precios, cupos, horarios, productos y condiciones son ilustrativos. No se realizan cobros ni se env\u00edan solicitudes.','Demo: prices, capacity, times, products and terms are illustrative. No payments or requests are sent.')}<\/p>`;\nfunction shell(){\nroot.lang=lang;$('.demo-bar').textContent=t('DEMO V2 \u00b7 PROPUESTA PARA REVISI\u00d3N \u00b7 RESERVAS Y COMPRAS SIMULADAS','V2 DEMO \u00b7 REVIEW PROPOSAL \u00b7 SIMULATED BOOKINGS & PURCHASES');\nconst nav=[['recorridos',t('Recorridos','Tours')],['artistas',t('Artistas','Artists')],['mapa',t('Mapa','Map')],['historias',t('Historias','Stories')],['tienda',t('Tienda','Shop')]];\n$('nav').innerHTML=nav.map(([p,l])=>`<a href=\"#pgt\/${p}\" ${route===p?'aria-current=\"page\"':''}>${l}<\/a>`).join('');\n$('[data-action=language]').textContent=lang==='es'?'EN':'ES';$('[data-shell=reserve]').textContent=t('Reservar \u2197','Book \u2197');\n$('footer').innerHTML=`<div class=\"footer-main\"><a href=\"#pgt\/inicio\">${photo(logo,'Pasto Graffiti Tour','footer-logo')}<\/a><div class=\"stack\"><span class=\"eyebrow\">PASTO \u00b7 NARI\u00d1O \u00b7 COLOMBIA<\/span><p class=\"title\">${t('La calle<br>sigue.','The street<br>continues.')}<\/p><p class=\"small\">${t('Un proyecto del universo','Part of the')} <a href=\"https:\/\/www.guiasur.com.co\/\" target=\"_blank\" rel=\"noopener\">Gu\u00eda Sur \u2197<\/a><\/p><\/div><div class=\"stack\"><div class=\"footer-links\">${link('recorridos',t('Recorridos','Tours'),'')}${link('artistas',t('Artistas','Artists'),'')}${link('tienda',t('Tienda','Shop'),'')}${link('grupos',t('Grupos y escuelas','Groups & schools'),'')}${link('proyecto',t('El proyecto','The project'),'')}<\/div><a href=\"https:\/\/wa.me\/573136431354\" target=\"_blank\" rel=\"noopener\">WhatsApp \u00b7 +57 313 643 1354 \u2197<\/a><p class=\"small muted\">${t('Para conocer la propuesta y coordinar solicitudes especiales.','For enquiries and special requests.')}<\/p><\/div><\/div><div class=\"footer-bottom\"><span>\u00a9 ${new Date().getFullYear()} Pasto Graffiti Tour \u00b7 ${t('Desarrollado por','Developed by')} GoData<\/span><div class=\"row\"><button type=\"button\" data-action=\"terms\">${t('Condiciones de la demo','Demo terms')}<\/button><button type=\"button\" data-action=\"reset\">${t('Reiniciar prueba','Reset demo')}<\/button><\/div><\/div>`;countCart();\n}\nfunction mock(p){return `<div class=\"product-visual\" aria-label=\"${t('Mockup de producto de demostraci\u00f3n','Demo product mockup')}\">${p.type==='bag'?`<div class=\"mock-bag\">${photo(logo,'Pasto Graffiti Tour')}<\/div>`:p.type==='shirt'?`<div class=\"mock-shirt\">${photo(logo,'Pasto Graffiti Tour')}<\/div>`:`<div class=\"mock-print\"><b>EL ARTE<br>SE<br>CAMINA.<\/b><small>PASTO GRAFFITI TOUR<br>01\u00b012\u2032 N \u00b7 NARI\u00d1O \u00b7 COLOMBIA<\/small><\/div>`}<\/div>`}\nfunction productCards(){return products.map(p=>`<article class=\"product-card\"><button type=\"button\" data-action=\"product\" data-id=\"${p.id}\" aria-label=\"${esc(t('Ver ','View ')+(lang==='es'?p.es:p.en))}\">${mock(p)}<\/button><div class=\"product-info\"><span class=\"eyebrow\">${t('Colecci\u00f3n de demostraci\u00f3n','Demo collection')}<\/span><h3>${lang==='es'?p.es:p.en}<\/h3><div class=\"row\"><b>${money(p.price)}<\/b><span class=\"small\">${t('precio de prueba','sample price')}<\/span><\/div>${btn('product',t('Ver producto','View product'),`data-id=\"${p.id}\"`,'text-link')}<\/div><\/article>`).join('')}\nfunction tourCards(){return `<div class=\"grid2\"><article class=\"tour-card\"><figure>${photo(img.fiesta,'Mural Fiesta en Pasto')}<\/figure><div class=\"tour-info\"><span class=\"tag\">${t('Experiencia principal \u00b7 demo','Main experience \u00b7 demo')}<\/span><h3>Graffiti Tour<br>${t('Cl\u00e1sico','Classic')}<\/h3><p>${t('Camina, mira de cerca y descubre historias del arte urbano de Pasto en una salida compartida.','Walk, look closer and discover stories behind Pasto\u2019s street art on a shared tour.')}<\/p><p class=\"small\">${t('2 h 30 min \u00b7 a pie \u00b7 m\u00e1ximo 8 personas*','2 h 30 min \u00b7 walking \u00b7 up to 8 guests*')}<\/p><p><span class=\"price\">${money(75000)}<\/span><br><span class=\"small\">${t('por persona \u00b7 precio de muestra','per guest \u00b7 sample price')}<\/span><\/p>${btn('tour',t('Conoce el recorrido','Explore the tour'),'data-mode=\"classic\"')}<\/div><\/article><article class=\"tour-card\"><figure>${photo(img.woman,'Mural de una mujer con flores')}<\/figure><div class=\"tour-info\"><span class=\"tag\" style=\"background:var(--pink)\">${t('Tu grupo, tu salida \u00b7 demo','Your own group \u00b7 demo')}<\/span><h3>Graffiti Tour<br>${t('Privado','Private')}<\/h3><p>${t('El recorrido base reservado exclusivamente para tu grupo, con coordinaci\u00f3n previa.','The core walk reserved exclusively for your group, coordinated in advance.')}<\/p><p class=\"small\">${t('2 h 30 min \u00b7 a pie \u00b7 hasta 6 personas*','2 h 30 min \u00b7 walking \u00b7 up to 6 guests*')}<\/p><p><span class=\"price\">${money(360000)}<\/span><br><span class=\"small\">${t('por grupo \u00b7 precio de muestra','per group \u00b7 sample price')}<\/span><\/p>${btn('tour',t('Explora el privado','Explore private tours'),'data-mode=\"private\"')}<\/div><\/article><\/div>`}\nfunction pageHead(k,title,desc){return `<div class=\"page-head\"><span class=\"eyebrow\">${k}<\/span><h1 class=\"display\">${title}<\/h1><p>${desc}<\/p><\/div>`}\nfunction home(){return `<section class=\"hero\"><div class=\"hero-copy\"><span class=\"eyebrow\">PASTO \u00b7 NARI\u00d1O \u00b7 COLOMBIA \/ 01<\/span><h1>${t('El arte<br><span>se camina.<\/span>','Walk<br><span>the art.<\/span>')}<\/h1><p>${t('Conoce Pasto a trav\u00e9s de sus muros, sus artistas y las historias que se encuentran en la calle.','Discover Pasto through its walls, its artists and the stories found in its streets.')}<\/p><div class=\"row\">${btn('book',t('Encuentra tu recorrido','Find your walk'),'','btn light')}${link('artistas',t('Conoce a los artistas','Meet the artists'))}<\/div><\/div><div class=\"hero-art\"><img decoding=\"async\" class=\"large\" src=\"${img.woman}\" alt=\"Mural de una mujer andina con flores en Pasto\" fetchpriority=\"high\"><img decoding=\"async\" class=\"mini\" src=\"${img.narino}\" alt=\"Nari\u00f1o, fuerza creativa\" loading=\"eager\"><span class=\"hero-stamp\">LOCAL<br>STREET<br>CULTURE \u2197<\/span><\/div><\/section><form class=\"quick\" id=\"pgt-quick\"><div class=\"intro\">${t('Tu pr\u00f3xima<br>caminata.','Your next<br>walk.')}<\/div><label>${t('Fecha de prueba','Sample date')}<input name=\"date\" type=\"date\" min=\"${today}\" max=\"${dateAt(20)}\" value=\"${booking.date}\" required><\/label><label>${t('Modalidad','Tour type')}<select name=\"mode\"><option value=\"classic\" ${booking.mode==='classic'?'selected':''}>${t('Cl\u00e1sico \/ por persona','Classic \/ per guest')}<\/option><option value=\"private\" ${booking.mode==='private'?'selected':''}>${t('Privado \/ por grupo','Private \/ per group')}<\/option><\/select><\/label><button class=\"btn\" type=\"submit\">${t('Consultar cupos','Check availability')} \u2197<\/button><\/form><section class=\"wrap\"><div class=\"section-head\"><div><span class=\"eyebrow\">01 \/ ${t('Sal a mirar distinto','See things differently')}<\/span><h2 class=\"title\">${t('Una ciudad.<br>Tu forma de recorrerla.','One city.<br>Your way to explore.')}<\/h2><\/div>${link('recorridos',t('Todos los recorridos','All experiences'))}<\/div>${tourCards()}<p class=\"small muted\" style=\"margin-top:15px\">* ${t('Duraci\u00f3n, capacidad y precios ilustrativos para evaluar el funcionamiento.','Illustrative duration, capacity and prices for this prototype.')}<\/p><\/section><figure class=\"campaign\">${photo(campaign,'Pasto Graffiti Tour: pieza de campa\u00f1a con j\u00f3venes, movimiento y arte urbano')}<figcaption>${t('Pieza conceptual de campa\u00f1a \u00b7 imagen generada','Concept campaign \u00b7 generated image')}<\/figcaption><\/figure><section class=\"wrap artists-home\"><div class=\"section-head\"><div><span class=\"eyebrow\">02 \/ ${t('La escena local','The local scene')}<\/span><h2 class=\"title\">${t('Detr\u00e1s del muro,<br>hay personas.','Behind every wall,<br>there are people.')}<\/h2><\/div><p>${t('Un archivo para conocer y difundir a quienes crean. Se construye con sus voces y sus obras.','An evolving archive to discover and share the people creating the work, through their own voices.')}<\/p><\/div><div class=\"art-grid\"><button class=\"image-link\" type=\"button\" data-action=\"artist\"><figure>${photo(img.narino,'Nari\u00f1o, fuerza creativa')}<\/figure><div class=\"caption\"><div><h3>SKOLL \/ Mario Fierro<\/h3><span class=\"small\">${t('Perfil en preparaci\u00f3n','Profile in preparation')}<\/span><\/div><span>\u2197<\/span><\/div><\/button>${works.slice(1).map((w,i)=>`<button class=\"image-link\" type=\"button\" data-action=\"work\" data-index=\"${i+1}\"><figure>${photo(w.src,w.name)}<\/figure><div class=\"caption\"><h3>${w.name}<\/h3><span>\u2197<\/span><\/div><\/button>`).join('')}<\/div><div style=\"margin-top:30px\">${link('artistas',t('Explora artistas y obras','Explore artists and works'))}<\/div><\/section><section class=\"wrap\"><div class=\"section-head\"><div><span class=\"eyebrow\">03 \/ ${t('Archivo en movimiento','An evolving archive')}<\/span><h2 class=\"title\">${t('Pasto, muro a muro.','Pasto, wall by wall.')}<\/h2><\/div>${link('mapa',t('Explora el mapa','Explore the map'))}<\/div>${mapContent()}<\/section><section class=\"wrap editorial\"><div class=\"story-card\">${photo(img.identity,'Mural Identidad en una calle de Pasto')}<div><span class=\"eyebrow\">04 \/ ${t('Historias de la calle','Street stories')}<\/span><h2 class=\"title\">${t('Mirar tambi\u00e9n<br>se aprende.','Learn to<br>look closer.')}<\/h2><p>${t('Letras, capas, firmas y detalles. Una invitaci\u00f3n a detenerse frente a un mural y hacerse nuevas preguntas.','Letters, layers, signatures and details. An invitation to pause in front of a mural and ask new questions.')}<\/p>${btn('article',t('Lee la historia','Read the story'),'data-id=\"mirar\"','text-link')}<\/div><\/div><\/section><section class=\"wrap\"><div class=\"section-head\"><div><span class=\"eyebrow\">05 \/ ${t('Creaci\u00f3n que te acompa\u00f1a','Creation to take with you')}<\/span><h2 class=\"title\">${t('Algo de la calle,<br>contigo.','Take a piece<br>of the street.')}<\/h2><\/div>${link('tienda',t('Entra a la tienda','Visit the shop'))}<\/div><div class=\"grid3\">${productCards()}<\/div><\/section><section class=\"extras\"><div><span class=\"eyebrow\">${t('Grupos y escuelas','Groups & schools')}<\/span><h3>${t('La ciudad tambi\u00e9n<br>es un aula.','The city is<br>a classroom, too.')}<\/h3><p>${t('Conversemos sobre edades, intereses y apoyos para preparar una propuesta.','Tell us about ages, interests and support needs to help shape a proposal.')}<\/p>${link('grupos',t('Prepara tu solicitud','Plan a group visit'))}<\/div><div><span class=\"eyebrow\">${t('Propuestas en desarrollo','Experiences in development')}<\/span><h3>${t('Crear. Conversar.<br>Compartir.','Create. Connect.<br>Share.')}<\/h3><p>${t('Talleres, gastronom\u00eda y Drink Walk: nuevas formas de encontrarnos alrededor del arte.','Workshops, food and Drink Walk: new ways to connect through art.')}<\/p>${link('recorridos',t('Conoce las propuestas','Explore the ideas'))}<\/div><\/section><section class=\"wrap\">${faq()}<\/section>`}\nfunction mapContent(){const w=works[selectedWork];return `<div class=\"map-list\" aria-label=\"${t('Seleccionar obra','Select artwork')}\">${works.map((o,i)=>`<button type=\"button\" data-action=\"map-select\" data-index=\"${i}\" class=\"${i===selectedWork?'active':''}\" aria-pressed=\"${i===selectedWork}\">0${i+1} \/ ${o.name}<\/button>`).join('')}<\/div><div class=\"map-layout\"><div class=\"map-box\"><svg viewBox=\"0 0 700 420\" preserveAspectRatio=\"xMidYMid slice\" aria-label=\"${t('Diagrama ilustrativo de tres paradas, sin ubicaciones reales','Illustrative diagram of three stops, without real locations')}\" role=\"img\"><rect width=\"700\" height=\"420\" fill=\"#dddfd2\"\/><path d=\"M0 90H700M0 210H700M0 330H700M100 0V420M270 0V420M440 0V420M610 0V420\" stroke=\"#f9f9f1\" stroke-width=\"27\"\/><path d=\"M-40 410L570 -20\" stroke=\"#b9d4c5\" stroke-width=\"30\"\/><path d=\"M168 151L357 252L532 118\" stroke=\"#111\" stroke-width=\"4\" stroke-dasharray=\"9 8\" fill=\"none\"\/><text x=\"490\" y=\"360\" fill=\"#777d6c\" font-size=\"45\" font-family=\"Arial\" font-weight=\"bold\">PASTO<\/text><\/svg>${works.map((o,i)=>`<button type=\"button\" class=\"map-mark ${i===selectedWork?'active':''}\" style=\"left:${o.x}%;top:${o.y}%\" data-action=\"map-select\" data-index=\"${i}\" aria-label=\"${esc(t('Ver obra ','View artwork ')+o.name)}\" aria-pressed=\"${i===selectedWork}\">0${i+1}<\/button>`).join('')}<span class=\"map-label\">${t('CIRCUITO DE DEMOSTRACI\u00d3N \u00b7 POSICIONES FICTICIAS \u00b7 NO USAR PARA NAVEGAR','DEMO CIRCUIT \u00b7 FICTIONAL POSITIONS \u00b7 NOT FOR NAVIGATION')}<\/span><\/div><article class=\"map-detail\">${photo(w.src,w.name)}<div class=\"stack\"><span class=\"eyebrow\">${t('Archivo visual','Visual archive')} \/ 0${selectedWork+1}<\/span><h3>${w.name}<\/h3><p class=\"small\">${t('Cr\u00e9dito a validar en la ficha:','Credit to validate in the record:')} ${w.credit}. ${t('Ubicaci\u00f3n, fecha e historia pendientes de documentaci\u00f3n.','Location, date and story awaiting documentation.')}<\/p>${btn('work',t('Abre la ficha','Open artwork record'),`data-index=\"${selectedWork}\"`,'text-link')}<\/div><\/article><\/div>`}\nfunction faq(){return `<h2 class=\"title\">${t('Antes de salir.','Before you go.')}<\/h2>${[[t('\u00bfEsta p\u00e1gina ya permite reservar de verdad?','Can I make a real booking here?'),t('Esta es una demostraci\u00f3n para revisar el proyecto. Las reservas y compras s\u00f3lo se simulan.','This is a prototype for reviewing the project. Bookings and purchases are simulated.')],[t('\u00bfQu\u00e9 pasa si llueve?','What happens if it rains?'),t('La pol\u00edtica definitiva se confirmar\u00e1 antes de vender. Como ejemplo, la demo contempla coordinar un cambio si las condiciones impiden realizar la actividad.','The final policy will be confirmed before sales launch. For this demo, a change would be coordinated if conditions prevent the activity.')],[t('\u00bfHay opciones para grupos o necesidades de apoyo?','What about groups or support needs?'),t('Puedes preparar una solicitud espec\u00edfica. Las condiciones del circuito y los apoyos disponibles deben comprobarse con cada grupo.','You can prepare a tailored request. Route conditions and available support must be checked for each group.')],[t('\u00bfSiempre acompa\u00f1a Mario?','Does Mario join every tour?'),t('Su participaci\u00f3n en cada salida, taller o encuentro se confirmar\u00e1 cuando corresponda.','His participation in individual tours, workshops or meetings will be confirmed when applicable.')]].map(([q,a])=>`<details><summary>${q}<\/summary><p>${a}<\/p><\/details>`).join('')}`}\nfunction render(){shell();const pages={inicio:home,recorridos:()=>pageHead(t('01 \/ EXPERIENCIAS','01 \/ EXPERIENCES'),t('Sal a la calle.','Take to the streets.'),t('Escoge c\u00f3mo quieres recorrer Pasto. El Cl\u00e1sico y el Privado son el punto de partida.','Choose your way to explore Pasto. Classic and Private are our starting point.'))+`<section class=\"wrap stack\">${demo()}${tourCards()}<div>${[['Arte + sabores',t('Degustaciones en establecimientos coordinados. Nombre, consumos y ruta por definir.','Tastings at coordinated venues. Name, servings and route to be defined.')],['Graffiti Drink Walk',t('Bebidas y conversaci\u00f3n. Propuesta para mayores de edad, con alternativas sin alcohol.','Drinks and conversation. An adults-only proposal with alcohol-free alternatives.')],[t('Encuentro \/ taller','Artist meeting \/ workshop'),t('T\u00e9cnica, espacio, materiales y participaci\u00f3n del artista por acordar.','Technique, space, materials and artist participation to be agreed.')]].map(([name,d])=>`<article class=\"future\"><div><span class=\"tag\">${t('En desarrollo','In development')}<\/span><h3>${name}<\/h3><p>${d}<\/p><\/div>${link('grupos',t('Solicitar informaci\u00f3n','Enquire'))}<\/article>`).join('')}<\/div><\/section>`,artistas:()=>pageHead(t('02 \/ ARTISTAS','02 \/ ARTISTS'),t('Quienes hacen<br>la calle.','The people<br>behind the walls.'),t('Un archivo abierto a nuevas voces. Difundimos procesos, obras y trayectorias con informaci\u00f3n acordada con sus creadores.','An archive open to new voices. Sharing works, processes and stories with information agreed with their creators.'))+`<section class=\"wrap\"><div class=\"filters\"><label>${t('Buscar por nombre','Search by name')}<input id=\"pgt-artist-search\" type=\"search\" placeholder=\"SKOLL \/ Mario Fierro\"><\/label><span class=\"small\">A\u2013Z \/ ${t('Archivo en construcci\u00f3n','Archive in progress')}<\/span><\/div><div class=\"directory\"><button type=\"button\" class=\"image-link\" data-action=\"artist\" id=\"pgt-artist-result\"><figure>${photo(img.narino,'Mural Nari\u00f1o, fuerza creativa')}<\/figure><div class=\"caption\"><div><h3>SKOLL \/ Mario Fierro<\/h3><p class=\"small\">${t('Perfil en preparaci\u00f3n con el artista.','Profile being prepared with the artist.')}<\/p><\/div><span>\u2197<\/span><\/div><\/button><div class=\"manifesto\"><span class=\"eyebrow\">${t('El archivo crece contigo','Help the archive grow')}<\/span><h2 class=\"title\">${t('M\u00e1s nombres.<br>M\u00e1s historias.','More names.<br>More stories.')}<\/h2><p>${t('La participaci\u00f3n editorial ser\u00e1 gratuita y voluntaria. Cada artista podr\u00e1 revisar sus cr\u00e9ditos, biograf\u00eda y enlaces.','Editorial participation will be free and voluntary. Each artist can review their credits, biography and links.')}<\/p>${btn('contribute',t('Prop\u00f3n un artista o una obra','Suggest an artist or artwork'))}<\/div><\/div><p id=\"pgt-no-artists\" class=\"notice\" hidden>${t('No hay coincidencias publicadas. Puedes proponer un perfil para el archivo.','No published matches. You can suggest a profile for the archive.')}<\/p><\/section>`,mapa:()=>pageHead(t('03 \/ MAPA','03 \/ MAP'),t('Muro a muro.','Wall by wall.'),t('Obras, artistas e historias conectadas. Este diagrama muestra el funcionamiento; las posiciones y el circuito son de prueba.','Connecting works, artists and stories. This diagram demonstrates the interaction; positions and circuit are samples.'))+`<section class=\"wrap stack\">${mapContent()}<div class=\"notice\">${t('Las obras fotografiadas son material aportado al proyecto. Los marcadores no indican d\u00f3nde se encuentran realmente.','Photographs were supplied to the project. Markers do not indicate the actual locations of these works.')}<\/div><div class=\"row\"><a class=\"btn\" href=\"https:\/\/streetartcities.com\/cities\/pasto\" target=\"_blank\" rel=\"noopener\">${t('Pasto en Street Art Cities','Pasto on Street Art Cities')} \u2197<\/a><p class=\"small\">${t('Enlace externo. No implica una alianza con la plataforma.','External link. This does not imply a partnership with the platform.')}<\/p><\/div><\/section>`,historias:()=>pageHead(t('04 \/ HISTORIAS','04 \/ STORIES'),t('La calle cuenta.','Street stories.'),t('Procesos, conversaciones y formas de mirar. Un espacio editorial que construiremos con quienes viven y crean en Pasto.','Processes, conversations and ways of seeing. An editorial space built with people living and creating in Pasto.'))+`<section class=\"wrap stack\"><div class=\"story-card\">${photo(img.identity,'Mural Identidad')}<div><span class=\"tag\">${t('Art\u00edculo de muestra','Sample article')}<\/span><h2 class=\"title\">${t('Mirar tambi\u00e9n<br>se aprende.','Learn to<br>look closer.')}<\/h2><p>${t('Una pausa para descubrir detalles frente a un mural.','Pause and discover details in a mural.')}<\/p>${btn('article',t('Leer art\u00edculo','Read article'),'data-id=\"mirar\"','text-link')}<\/div><\/div><div class=\"grid2\">${[['proceso',img.nature,t('Del primer trazo al muro.','From first sketch to wall.')],['voces',img.bird,t('Voces para un archivo vivo.','Voices for a living archive.')]].map(([id,src,name])=>`<button type=\"button\" class=\"image-link\" data-action=\"article\" data-id=\"${id}\"><figure>${photo(src,name)}<\/figure><div class=\"caption\"><h3>${name}<\/h3><span>\u2197<\/span><\/div><p class=\"small\">${t('Propuesta editorial \u00b7 contenido de muestra','Editorial proposal \u00b7 sample content')}<\/p><\/button>`).join('')}<\/div><\/section>`,tienda:()=>pageHead(t('05 \/ TIENDA','05 \/ SHOP'),t('La calle<br>se lleva.','Take the<br>street with you.'),t('Una colecci\u00f3n para explorar el futuro de la tienda. Dise\u00f1os, stock, precios y preparaci\u00f3n de demostraci\u00f3n.','A sample collection exploring the future shop. Designs, stock, prices and preparation times are for demonstration.'))+`<section class=\"wrap stack\">${demo()}<div class=\"grid3\">${productCards()}<\/div><p class=\"small muted\">${t('Los mockups utilizan la identidad del tour. Los productos con obras de otros artistas requerir\u00e1n un acuerdo espec\u00edfico.','Mockups use the tour identity. Products featuring other artists\u2019 works will require a specific agreement.')}<\/p><\/section>`,grupos:()=>pageHead(t('06 \/ A TU MEDIDA','06 \/ TAILORED EXPERIENCES'),t('Caminemos<br>en grupo.','Let\u2019s walk<br>together.'),t('Escuelas, organizaciones, grupos privados y talleres. Cu\u00e9ntanos qu\u00e9 necesitan para preparar una propuesta.','Schools, organisations, private groups and workshops. Tell us what you need to shape a proposal.'))+`<section class=\"wrap grid2\"><div class=\"stack\"><h2 class=\"title\">${t('Empezamos<br>escuchando.','We start<br>by listening.')}<\/h2><p>${t('Prop\u00f3sito, edades, tama\u00f1o del grupo, intereses y condiciones de participaci\u00f3n. Los apoyos se coordinar\u00e1n seg\u00fan las posibilidades reales del recorrido.','Purpose, ages, group size, interests and participation needs. Support will be coordinated according to the actual route conditions.')}<\/p>${demo()}<\/div>${groupForm()}<\/section>`,proyecto:()=>pageHead('PASTO \/ GU\u00cdA SUR',t('Primero recorrer.<br>Despu\u00e9s contar.','First explore.<br>Then share.'),t('Pasto Graffiti Tour es un proyecto de experiencias culturales urbanas dentro del universo de Gu\u00eda Sur.','Pasto Graffiti Tour is an urban cultural experiences project within Gu\u00eda Sur.'))+`<section class=\"wrap prose\"><h2 class=\"title\">${t('Interpretaci\u00f3n.<br>Perspectiva local.<br>Servicio claro.','Interpretation.<br>Local perspectives.<br>Clear service.')}<\/h2><p>${t('Queremos acercarnos a las obras y a las personas que las crean, documentar sus historias y ofrecer recorridos f\u00e1ciles de elegir y reservar.','We want to connect with artworks and their creators, document their stories and offer experiences that are easy to choose and book.')}<\/p><p>${t('El archivo de artistas y obras crecer\u00e1 con visitas, conversaciones y revisi\u00f3n de cr\u00e9ditos. La participaci\u00f3n editorial y los acuerdos comerciales se gestionar\u00e1n de manera diferenciada.','The artist and artwork archive will grow through visits, conversations and credit reviews. Editorial participation and commercial agreements will be managed separately.')}<\/p>${photo(img.fiesta,'Mural Fiesta')}${faq()}${demo()}<\/section>`};main.innerHTML=(pages[route]||home)();}\nfunction groupForm(){return `<form id=\"pgt-group\" class=\"stack\"><div class=\"form-grid\"><label>${t('Nombre de prueba','Sample name')}<input name=\"name\" required maxlength=\"90\" autocomplete=\"off\"><\/label><label>Email<input name=\"email\" type=\"email\" required maxlength=\"120\" placeholder=\"demo@example.com\"><\/label><label>${t('Tipo de solicitud','Request type')}<select name=\"type\"><option>${t('Grupo privado','Private group')}<\/option><option>${t('Escuela \/ organizaci\u00f3n','School \/ organisation')}<\/option><option>${t('Taller \/ encuentro','Workshop \/ meeting')}<\/option><option>${t('Ajustes de participaci\u00f3n','Participation adjustments')}<\/option><\/select><\/label><label>${t('Personas','Guests')}<input name=\"pax\" type=\"number\" min=\"1\" max=\"100\" value=\"10\" required><\/label><label class=\"full\">${t('Intereses o ajustes necesarios','Interests or support needed')}<textarea name=\"needs\" maxlength=\"1000\" placeholder=\"${t('Cu\u00e9ntanos qu\u00e9 facilitar\u00eda la participaci\u00f3n. No incluyas diagn\u00f3sticos.','Tell us what would help participation. Do not include diagnoses.')}\"><\/textarea><\/label><\/div><label class=\"check\"><input type=\"checkbox\" required>${t('Entiendo que es una demostraci\u00f3n y esta solicitud no se enviar\u00e1.','I understand this is a demo and this request will not be sent.')}<\/label><button type=\"submit\" class=\"btn\">${t('Simular solicitud','Simulate request')} \u2197<\/button><\/form>`}\nfunction open(title,html){lastFocus=document.activeElement;$('#pgt-dialog-title').textContent=title;body.innerHTML=html;if(!dialog.open)dialog.showModal();dialog.scrollTop=0;const focus=body.querySelector('h2,input,button');if(focus){if(focus.tagName==='H2')focus.tabIndex=-1;focus.focus({preventScroll:true});}}\nfunction close(){releaseHold();dialog.close();if(lastFocus?.isConnected)lastFocus.focus({preventScroll:true});}\nfunction toast(s){if(dialog.open){let note=body.querySelector('[data-inline-status]');if(!note){note=document.createElement('p');note.className='notice';note.dataset.inlineStatus='true';note.setAttribute('role','status');body.prepend(note)}note.textContent=s;return}clearTimeout(toastTimer);$('.toast').textContent=s;$('.toast').hidden=false;toastTimer=setTimeout(()=>$('.toast').hidden=true,3500)}\nfunction tour(mode){booking.mode=mode;const privateMode=mode==='private';open(t('El recorrido','The tour'),`<div class=\"stack\"><span class=\"eyebrow\">${t('Ficha de experiencia \u00b7 demostraci\u00f3n','Experience record \u00b7 demonstration')}<\/span><h2 class=\"title\">Graffiti Tour ${privateMode?t('Privado','Private'):t('Cl\u00e1sico','Classic')}<\/h2><div class=\"grid2\"><div class=\"stack\">${photo(privateMode?img.woman:img.fiesta,'Arte urbano en Pasto','modal-photo')}<p>${t('Una caminata para observar letras, im\u00e1genes y procesos del arte urbano; reconocer a sus autores y conversar sobre su relaci\u00f3n con la ciudad.','A walk to explore street art lettering, imagery and processes; recognise creators and discuss their relationship with the city.')}<\/p><\/div><div class=\"stack\"><div class=\"stat-grid\">${[[t('Duraci\u00f3n','Duration'),'2 h 30 min'],[t('Distancia','Distance'),'2,5 km'],[t('Ritmo','Pace'),t('Suave','Easy')],[t('Capacidad','Capacity'),privateMode?'1\u20136':'1\u20138'],[t('Idioma','Language'),'ES \/ EN'],[t('Modalidad','Type'),privateMode?t('Exclusiva','Exclusive'):t('Compartida','Shared')]].map(([a,b])=>`<div><span class=\"small\">${a}<\/span><b>${b}<\/b><\/div>`).join('')}<\/div><p class=\"price\">${money(privateMode?360000:75000)}<\/p><p>${privateMode?t('Por grupo de hasta 6. Precio de prueba.','Per group of up to 6. Sample price.'):t('Por persona. Precio de prueba.','Per guest. Sample price.')}<\/p>${btn('book',t('Consulta disponibilidad','Check availability'),`data-mode=\"${mode}\"`)}<\/div><\/div>${demo()}<details open><summary>${t('Qu\u00e9 incluye \/ qu\u00e9 llevar','Included \/ what to bring')}<\/summary><p>${t('Ejemplo: acompa\u00f1amiento durante el circuito e interpretaci\u00f3n de obras. No incluye transporte ni consumos. Lleva calzado c\u00f3modo, abrigo, protecci\u00f3n para lluvia y agua.','Example: a hosted walk and artwork interpretation. Transport and purchases are excluded. Bring comfortable shoes, a warm layer, rain protection and water.')}<\/p><\/details><details><summary>${t('Encuentro y ruta','Meeting point and route')}<\/summary><p>${t('Encuentro de prueba: centro de Pasto, punto exacto por confirmar. El mapa representa paradas ilustrativas y no debe usarse para llegar a las obras.','Sample meeting area: central Pasto, exact point to be confirmed. The map uses illustrative stops and must not be used to locate the works.')}<\/p><\/details><details><summary>${t('Participaci\u00f3n y accesibilidad','Participation and accessibility')}<\/summary><p>${t('Pendiente verificar pendientes, escalones, cruces, descansos y apoyos de comunicaci\u00f3n. Si necesitas un ajuste, utiliza la solicitud especial.','Slopes, steps, crossings, rest points and communication support await assessment. Use the special request form if you need an adjustment.')}<\/p><\/details><details><summary>${t('Cambios y cancelaciones \u00b7 ejemplo','Changes and cancellations \u00b7 example')}<\/summary><p>${t('Regla ilustrativa: solicitar cambios o cancelaci\u00f3n con al menos 24 horas de anticipaci\u00f3n. La pol\u00edtica comercial definitiva est\u00e1 pendiente.','Illustrative rule: request changes or cancellation at least 24 hours in advance. Final commercial terms are pending.')}<\/p><\/details><\/div>`)}\nfunction artist(){open(t('Artista \/ archivo','Artist \/ archive'),`<div class=\"stack\"><span class=\"eyebrow\">${t('Perfil en preparaci\u00f3n','Profile in preparation')}<\/span><h2 class=\"title\">SKOLL<br><span class=\"muted\">Mario Fierro<\/span><\/h2>${photo(img.narino,'Nari\u00f1o, fuerza creativa','modal-photo')}<p>${t('Mario Fierro participa en la construcci\u00f3n de esta propuesta. Esta vista muestra c\u00f3mo presentaremos a cada artista: biograf\u00eda aprobada, procesos, obras, coautor\u00edas y enlaces que quiera publicar.','Mario Fierro is involved in shaping this proposal. This view shows how artist profiles will present approved biographies, processes, works, collaborations and chosen links.')}<\/p><div class=\"notice\">${t('La biograf\u00eda, la graf\u00eda p\u00fablica y los enlaces se validar\u00e1n con el artista. Este perfil no implica que acompa\u00f1e todas las salidas.','Biography, public name spelling and links will be validated with the artist. This profile does not imply participation in every tour.')}<\/div><h3>${t('Obras del archivo para revisar','Archive works for review')}<\/h3><div class=\"grid2\">${works.slice(0,2).map((w,i)=>`<button type=\"button\" class=\"image-link\" data-action=\"work\" data-index=\"${i}\"><figure style=\"height:200px\">${photo(w.src,w.name)}<\/figure><div class=\"caption\"><h3>${w.name}<\/h3><span>\u2197<\/span><\/div><\/button>`).join('')}<\/div>${btn('contribute',t('Aporta o corrige informaci\u00f3n','Contribute or correct information'),'','text-link')}<\/div>`)}\nfunction work(i){const w=works[i];open(t('Ficha de obra','Artwork record'),`<div class=\"stack\"><span class=\"eyebrow\">${t('Archivo en documentaci\u00f3n','Archive being documented')}<\/span><h2 class=\"title\">${w.name}<\/h2>${photo(w.src,w.name,'modal-photo')}<p>${t('Cr\u00e9ditos para validar:','Credits to validate:')} <b>${w.credit}<\/b>.<\/p><p>${t('Aqu\u00ed reuniremos la historia de la obra, testimonios de sus creadores, fecha, proceso y relaci\u00f3n con el lugar. El t\u00edtulo es una referencia de archivo; ubicaci\u00f3n e informaci\u00f3n final pendientes.','This record will bring together the artwork story, creators\u2019 accounts, date, process and relationship with its location. The title is an archive reference; location and final information are pending.')}<\/p><div class=\"row\">${btn('artist',t('Conoce el perfil','Explore the profile'),'','text-link')}<a class=\"text-link\" href=\"https:\/\/streetartcities.com\/cities\/pasto\" target=\"_blank\" rel=\"noopener\">${t('Explora Pasto en Street Art Cities','Explore Pasto on Street Art Cities')} \u2197<\/a><\/div><\/div>`)}\nfunction article(id){const first=id==='mirar',title=first?t('Mirar tambi\u00e9n se aprende.','Learn to look closer.'):id==='proceso'?t('Del primer trazo al muro.','From first sketch to wall.'):t('Voces para un archivo vivo.','Voices for a living archive.');open(t('Historias','Stories'),`<article class=\"prose\"><span class=\"eyebrow\">${t('Art\u00edculo de muestra \u00b7 equipo editorial','Sample article \u00b7 editorial team')}<\/span><h2 class=\"title\">${title}<\/h2>${photo(first?img.identity:id==='proceso'?img.nature:img.bird,title)}<p>${first?t('Antes de fotografiar un mural, vale la pena darle unos minutos. Mirarlo desde lejos y luego acercarse. Encontrar una letra escondida, una firma, una capa de color o la relaci\u00f3n entre la imagen y la pared que la sostiene.','Before photographing a mural, give it a few minutes. Step back, then look closer. Find a hidden letter, a signature, a layer of colour or the relationship between the image and its wall.'):t('Este espacio se completar\u00e1 a partir de conversaciones y documentaci\u00f3n propia. La propuesta editorial es escuchar c\u00f3mo nace una obra, qu\u00e9 decisiones implica y qu\u00e9 personas participan en su proceso.','This space will be developed through conversations and original documentation. The editorial idea is to explore how a work begins, the choices involved and the people taking part.')}<\/p><p>${t('Una obra puede abrir preguntas sobre el lugar y sobre quienes lo habitan. Para construir su historia necesitamos distinguir lo que observamos, lo que documentamos y lo que cuentan sus autores.','An artwork can raise questions about a place and the people living there. To build its story, we need to distinguish observation, documented information and creators\u2019 own accounts.')}<\/p><p class=\"notice\">${t('Texto editorial de demostraci\u00f3n. No reproduce testimonios ni entrevistas de artistas.','Sample editorial text. It does not reproduce artist accounts or interviews.')}<\/p>${btn('artist',t('Explora el archivo de artistas','Explore the artist archive'),'','text-link')}<\/article>`)}\nfunction key(){return booking.date+'|'+booking.time}function baseCapacity(){const now=new Intl.DateTimeFormat('en-GB',{timeZone:'America\/Bogota',hour:'2-digit',minute:'2-digit',hour12:false}).format(new Date());if(booking.date===today&&booking.time<=now)return 0;const n=Math.round((new Date(booking.date+'T12:00:00')-new Date(today+'T12:00:00'))\/86400000);return n%5===0&&booking.time==='15:00'?0:booking.time==='09:00'?8:5}\nfunction availability(){const s=inventory[key()]||{used:0,private:false};return s.private?0:Math.max(0,baseCapacity()-s.used)}\nconst total=()=>booking.mode==='private'?360000:booking.pax*75000;\nfunction availableMessage(){const n=availability();return booking.mode==='private'?(n===8?t('Equipo disponible para tu grupo.','Team available for your group.'):t('Privado no disponible en esta salida. Prueba otra fecha o las 09:00.','Private tour unavailable for this slot. Try another date or 09:00.')):(n?t(`${n} cupos de prueba disponibles.`,`${n} sample places available.`):t('Agotado. Prueba otra fecha u horario.','Sold out. Try another date or time.'))}\nfunction validSlot(){return booking.date>=today&&booking.date<=dateAt(20)&&['09:00','15:00'].includes(booking.time)&&Number.isInteger(booking.pax)&&booking.pax>=1&&booking.pax<=(booking.mode==='private'?6:8)&&(booking.mode==='private'?availability()===8:availability()>=booking.pax)}\nfunction releaseHold(){hold=null;}\nfunction book(){bookingStep=1;confirmation=null;releaseHold();bookingForm()}\nfunction bookingForm(){open(t('Reserva de demostraci\u00f3n','Demo booking'),`<div class=\"stack\"><div class=\"steps\"><span class=\"on\">01 \/ ${t('Elige','Choose')}<\/span><span>02 \/ ${t('Revisa','Review')}<\/span><span>03 \/ ${t('Confirma','Confirm')}<\/span><\/div><h2 class=\"title\">${t('Tu pr\u00f3xima caminata.','Your next walk.')}<\/h2>${demo()}<form id=\"pgt-book-form\" class=\"stack\"><div class=\"form-grid\"><label>${t('Modalidad','Tour type')}<select name=\"mode\"><option value=\"classic\" ${booking.mode==='classic'?'selected':''}>${t('Cl\u00e1sico \/ por persona','Classic \/ per guest')}<\/option><option value=\"private\" ${booking.mode==='private'?'selected':''}>${t('Privado \/ por grupo','Private \/ per group')}<\/option><\/select><\/label><label>${t('Fecha','Date')}<input name=\"date\" type=\"date\" value=\"${booking.date}\" min=\"${today}\" max=\"${dateAt(20)}\" required><\/label><label>${t('Horario \u00b7 hora Colombia','Time \u00b7 Colombia time')}<select name=\"time\"><option ${booking.time==='09:00'?'selected':''}>09:00<\/option><option ${booking.time==='15:00'?'selected':''}>15:00<\/option><\/select><\/label><label>${t('Idioma del recorrido','Tour language')}<select name=\"language\"><option ${booking.language==='Espa\u00f1ol'?'selected':''}>Espa\u00f1ol<\/option><option ${booking.language==='English'?'selected':''}>English<\/option><\/select><\/label><label>${t('Participantes','Guests')}<input name=\"pax\" type=\"number\" min=\"1\" max=\"${booking.mode==='private'?6:8}\" value=\"${booking.pax}\" required><\/label><div class=\"notice\" id=\"pgt-availability\" role=\"status\">${availableMessage()}<\/div><label>${t('Nombre de prueba','Sample name')}<input name=\"name\" maxlength=\"90\" required value=\"${esc(booking.name)}\" autocomplete=\"off\"><\/label><label>Email<input name=\"email\" maxlength=\"120\" type=\"email\" required value=\"${esc(booking.email)}\" placeholder=\"demo@example.com\" autocomplete=\"off\"><\/label><\/div><div class=\"row\">${btn('fill',t('Usar datos de ejemplo','Use sample details'),'','text-link')}${btn('special',t('Grupo grande o ajuste especial','Larger group or special request'),'','text-link')}<\/div><div class=\"line\"><span>${t('Total de prueba','Sample total')}<\/span><b id=\"pgt-book-total\">${money(total())}<\/b><\/div><label class=\"check\"><input type=\"checkbox\" required>${t('He revisado la ficha y entiendo que esta reserva y sus condiciones son de prueba.','I have reviewed the tour details and understand this booking and its terms are samples.')}<\/label><p class=\"small\">${t('Condici\u00f3n ilustrativa: cambios o cancelaciones hasta 24 h antes. Encuentro exacto y condiciones finales pendientes.','Illustrative term: changes or cancellations up to 24 h beforehand. Exact meeting point and final terms are pending.')}<\/p><button type=\"submit\" class=\"btn\">${t('Revisar y retener cupos','Review and hold places')} \u2197<\/button><p class=\"error\" id=\"pgt-book-error\" role=\"alert\"><\/p><\/form><\/div>`)}\nfunction readBooking(form){for(const n of ['mode','date','time','language','name','email'])booking[n]=form.elements[n].value;booking.pax=Number(form.elements.pax.value)}\nfunction updateBooking(form){readBooking(form);form.elements.pax.max=booking.mode==='private'?6:8;$('#pgt-availability').textContent=availableMessage();$('#pgt-book-total').textContent=money(total());}\nfunction summary(){return `<div class=\"summary-box\">${[[t('Experiencia','Experience'),'Graffiti Tour '+(booking.mode==='private'?t('Privado','Private'):t('Cl\u00e1sico','Classic'))],[t('Fecha','Date'),dateText(booking.date)],[t('Horario','Time'),booking.time+' \/ Colombia'],[t('Idioma contratado','Tour language'),booking.language],[t('Personas','Guests'),booking.pax],[t('Cobro','Price unit'),booking.mode==='private'?t('Por grupo','Per group'):money(75000)+' \u00d7 '+booking.pax]].map(([a,b])=>`<div class=\"line\"><span>${a}<\/span><b>${esc(b)}<\/b><\/div>`).join('')}<div class=\"row\" style=\"justify-content:space-between\"><b>Total COP<\/b><b class=\"price\">${money(total())}<\/b><\/div><\/div>`}\nfunction review(){if(!hold||Date.now()>hold.expires){releaseHold();bookingForm();$('#pgt-book-error').textContent=t('La retenci\u00f3n venci\u00f3. Consulta de nuevo la disponibilidad.','The hold expired. Please check availability again.');return}bookingStep=2;open(t('Revisa tu reserva','Review your booking'),`<div class=\"stack\"><div class=\"steps\"><span>01 \/ ${t('Elige','Choose')}<\/span><span class=\"on\">02 \/ ${t('Revisa','Review')}<\/span><span>03 \/ ${t('Confirma','Confirm')}<\/span><\/div><h2 class=\"title\">${t('Todo listo para probar.','Ready for a test run.')}<\/h2>${summary()}<p class=\"notice\">${t('Cupos retenidos s\u00f3lo en esta sesi\u00f3n. Tiempo restante:','Places held in this session only. Time left:')} <b id=\"pgt-hold-timer\">04:00<\/b><\/p><p>${t('No introduzcas tarjetas ni datos financieros. Elige un resultado para comprobar el flujo.','Do not enter card or financial details. Choose an outcome to test the flow.')}<\/p><label>${t('Resultado del pago de prueba','Sample payment outcome')}<select id=\"pgt-payment\"><option value=\"success\">${t('Pago aprobado','Payment approved')}<\/option><option value=\"pending\">${t('Pago pendiente','Payment pending')}<\/option><option value=\"failed\">${t('Pago fallido','Payment failed')}<\/option><\/select><\/label><div class=\"row\">${btn('pay',t('Simular pago','Simulate payment'))}${btn('back-book',t('Modificar datos','Edit details'),'','text-link')}<\/div><p class=\"error\" id=\"pgt-pay-error\" role=\"alert\"><\/p><\/div>`)}\nfunction payment(){if(!hold||Date.now()>hold.expires){$('#pgt-pay-error').textContent=t('La retenci\u00f3n venci\u00f3. Vuelve a elegir la salida.','The hold expired. Please select a slot again.');return}const status=$('#pgt-payment').value;if(status!=='success'){open(t('Estado del pago','Payment status'),`<div class=\"stack\"><h2 class=\"title\">${status==='pending'?t('Pago pendiente.','Payment pending.'):t('El pago no pas\u00f3.','Payment failed.')}<\/h2>${summary()}<p>${status==='pending'?t('Todav\u00eda no hay una reserva confirmada. Puedes volver al pago mientras siga activa la retenci\u00f3n.','There is no confirmed booking yet. You can return to payment while the hold remains active.'):t('No se descontaron cupos. Reintenta mientras siga activa la retenci\u00f3n o modifica la salida.','No places were deducted. Retry while the hold is active or edit the slot.')}<\/p>${btn('retry',t('Volver al pago de prueba','Return to sample payment'))}${btn('back-book',t('Modificar reserva','Edit booking'),'','text-link')}<\/div>`);return}if(!validSlot()){open(t('Disponibilidad','Availability'),`<div class=\"stack\"><p>${t('La salida ya no tiene disponibilidad suficiente.','This slot no longer has enough places.')}<\/p>${btn('back-book',t('Elegir otra salida','Choose another slot'))}<\/div>`);return}const s=inventory[key()]||{used:0,private:false};if(booking.mode==='private')s.private=true;else s.used+=booking.pax;inventory[key()]=s;confirmation={...booking,ref:'PGT-DEMO-'+Date.now().toString(36).slice(-6).toUpperCase()};releaseHold();bookingStep=3;open(t('Confirmaci\u00f3n simulada','Simulated confirmation'),`<div class=\"stack\"><div class=\"success-mark\">\u2713<\/div><span class=\"eyebrow\">${t('Confirmaci\u00f3n de prueba','Test confirmation')} \/ ${confirmation.ref}<\/span><h2 class=\"title\">${t('Nos vemos<br>en la calle.','See you<br>on the street.')}<\/h2>${summary()}<p><b>${esc(booking.name)}<\/b> \u00b7 ${esc(booking.email)}<\/p><p>${t('Encuentro de demostraci\u00f3n: centro de Pasto. Punto exacto pendiente de confirmar. Lleva calzado c\u00f3modo, abrigo, protecci\u00f3n para lluvia y agua.','Demo meeting area: central Pasto. Exact point to be confirmed. Bring comfortable shoes, a warm layer, rain protection and water.')}<\/p><p class=\"notice\">${t('No se ha realizado ning\u00fan cobro ni enviado un correo. Los cupos se actualizaron \u00fanicamente en esta sesi\u00f3n de prueba.','No payment was made and no email was sent. Places were updated in this test session only.')}<\/p>${btn('close',t('Seguir explorando','Keep exploring'))}<\/div>`)}\nfunction product(id){const p=products.find(x=>x.id===id);if(!p)return;open(t('Tienda \/ producto','Shop \/ product'),`<div class=\"grid2\">${mock(p)}<form id=\"pgt-product-form\" class=\"stack\" data-id=\"${p.id}\"><span class=\"eyebrow\">${t('Colecci\u00f3n PGT \u00b7 demostraci\u00f3n','PGT collection \u00b7 demonstration')}<\/span><h2 class=\"title\">${lang==='es'?p.es:p.en}<\/h2><p class=\"price\">${money(p.price)}<\/p><p>${p.materials[lang==='es'?0:1]}<\/p><p class=\"small\">${t('Preparaci\u00f3n de ejemplo: 5 d\u00edas h\u00e1biles. Retiro coordinado en Pasto o env\u00edo de prueba. Cuidado: limpieza suave; evitar altas temperaturas.','Sample preparation: 5 business days. Coordinated pickup in Pasto or sample delivery. Care: gentle cleaning; avoid high temperatures.')}<\/p><label>${t('Variaci\u00f3n','Variant')}<select name=\"variant\">${p.variants.map(v=>`<option>${v}<\/option>`).join('')}<\/select><\/label><label>${t('Cantidad','Quantity')}<input type=\"number\" name=\"qty\" value=\"1\" min=\"1\" max=\"${p.stock-(sold[p.id]||0)}\" required><\/label><p class=\"small\">${t('Stock total de prueba','Total sample stock')}: ${p.stock-(sold[p.id]||0)}<\/p><button type=\"submit\" class=\"btn\" ${p.stock-(sold[p.id]||0)<1?'disabled':''}>${t('A\u00f1adir al carrito','Add to cart')} \u2197<\/button><p class=\"error\" id=\"pgt-product-error\" role=\"alert\"><\/p><\/form><\/div>`)}\nconst cartTotal=()=>cart.reduce((s,l)=>s+products.find(p=>p.id===l.id).price*l.qty,0);function countCart(){$('#pgt-cart-count').textContent=cart.reduce((s,l)=>s+l.qty,0)}\nfunction showCart(){open(t('Tu carrito de prueba','Your sample cart'),`<div class=\"stack\"><h2 class=\"title\">${t('La calle va contigo.','Take the street with you.')}<\/h2>${cart.length?cart.map((l,i)=>{const p=products.find(p=>p.id===l.id);return `<div class=\"cart-line\"><div><b>${lang==='es'?p.es:p.en}<\/b><p class=\"small\">${l.variant} \u00b7 ${money(p.price)}<\/p><\/div><div class=\"stack\"><div class=\"qty\"><button type=\"button\" data-action=\"cart-qty\" data-index=\"${i}\" data-delta=\"-1\" aria-label=\"${t('Quitar una unidad','Remove one unit')}\">\u2212<\/button><b>${l.qty}<\/b><button type=\"button\" data-action=\"cart-qty\" data-index=\"${i}\" data-delta=\"1\" aria-label=\"${t('A\u00f1adir una unidad','Add one unit')}\">+<\/button><\/div><button class=\"text-link\" type=\"button\" data-action=\"cart-remove\" data-index=\"${i}\">${t('Eliminar','Remove')}<\/button><\/div><\/div>`}).join(''):`<p>${t('Tu carrito est\u00e1 vac\u00edo. Explora los productos de muestra.','Your cart is empty. Explore the sample products.')}<\/p>`}${cart.length?`<div class=\"line\"><b>Subtotal<\/b><b>${money(cartTotal())}<\/b><\/div><p class=\"small\">${t('El retiro o env\u00edo se elige en el siguiente paso.','Choose pickup or delivery at the next step.')}<\/p>${btn('checkout',t('Continuar compra de prueba','Continue sample checkout'))}`:btn('go-shop',t('Explorar tienda','Explore shop'))}<\/div>`)}\nfunction checkout(){if(!cart.length)return;open(t('Compra de demostraci\u00f3n','Demo checkout'),`<form id=\"pgt-checkout\" class=\"stack\"><h2 class=\"title\">${t('Una compra de prueba.','A sample purchase.')}<\/h2>${demo()}<div class=\"form-grid\"><label>${t('Nombre de prueba','Sample name')}<input name=\"name\" value=\"Visitante demo\" required maxlength=\"90\"><\/label><label>Email<input type=\"email\" name=\"email\" value=\"demo@example.com\" required maxlength=\"120\"><\/label><\/div><label>${t('Entrega','Delivery')}<select name=\"shipping\" id=\"pgt-shipping\"><option value=\"0\">${t('Retiro en Pasto \/ sin costo de prueba','Pickup in Pasto \/ no sample fee')}<\/option><option value=\"12000\">${t('Env\u00edo de prueba \/ COP 12.000','Sample shipping \/ COP 12,000')}<\/option><\/select><\/label><div class=\"summary-box\"><div class=\"line\"><span>Subtotal<\/span><b>${money(cartTotal())}<\/b><\/div><div class=\"line\"><span>${t('Env\u00edo','Shipping')}<\/span><b id=\"pgt-shipping-fee\">${money(0)}<\/b><\/div><div class=\"line\"><b>Total COP<\/b><b class=\"price\" id=\"pgt-checkout-total\">${money(cartTotal())}<\/b><\/div><\/div><label class=\"check\"><input type=\"checkbox\" required>${t('Entiendo que no recibir\u00e9 productos ni se realizar\u00e1 un cobro.','I understand no products will be delivered and no payment will be made.')}<\/label><button type=\"submit\" class=\"btn\">${t('Simular compra','Simulate purchase')} \u2197<\/button><\/form>`)}\nfunction navigate(next,scroll=true){route=['inicio','recorridos','artistas','mapa','historias','tienda','grupos','proyecto'].includes(next)?next:'inicio';render();if(scroll){root.scrollIntoView({block:'start',behavior:'instant'});main.focus({preventScroll:true});}}\nroot.addEventListener('click',e=>{const a=e.target.closest('[data-action]');if(!a)return;const act=a.dataset.action;switch(act){case'menu':const on=$('nav').classList.toggle('open');a.setAttribute('aria-expanded',on);break;case'language':lang=lang==='es'?'en':'es';render();break;case'close':close();break;case'book':if(a.dataset.mode)booking.mode=a.dataset.mode;book();break;case'tour':tour(a.dataset.mode);break;case'artist':artist();break;case'work':work(Number(a.dataset.index));break;case'map-select':selectedWork=Number(a.dataset.index);render();$(`[data-action=\"map-select\"][data-index=\"${selectedWork}\"]`)?.focus({preventScroll:true});break;case'article':article(a.dataset.id);break;case'product':product(a.dataset.id);break;case'cart':showCart();break;case'cart-qty':{const i=Number(a.dataset.index),l=cart[i],p=products.find(p=>p.id===l.id),n=Number(a.dataset.delta);if(n>0&&cart.filter(x=>x.id===l.id).reduce((s,x)=>s+x.qty,0)>=(p.stock-(sold[p.id]||0))){toast(t('Stock de prueba alcanzado.','Sample stock limit reached.'));break}l.qty+=n;if(l.qty<1)cart.splice(i,1);countCart();showCart();break}case'cart-remove':cart.splice(Number(a.dataset.index),1);countCart();showCart();break;case'checkout':checkout();break;case'go-shop':close();location.hash='pgt\/tienda';break;case'fill':{const f=$('#pgt-book-form');f.elements.name.value='Visitante demo';f.elements.email.value='demo@example.com';updateBooking(f);break}case'back-book':releaseHold();bookingStep=1;bookingForm();break;case'retry':review();break;case'pay':payment();break;case'special':close();location.hash='pgt\/grupos';break;case'contribute':open(t('Aporta al archivo','Contribute to the archive'),`<div class=\"stack\"><h2 class=\"title\">${t('Sumemos historias.','Let\u2019s add stories.')}<\/h2><p>${t('En la versi\u00f3n p\u00fablica este formulario permitir\u00e1 proponer artistas, aportar fotograf\u00edas autorizadas o corregir cr\u00e9ditos. Esta solicitud es de prueba.','The public version will allow artist suggestions, authorised photographs and credit corrections. This is a sample request.')}<\/p>${groupForm()}<\/div>`);break;case'terms':open(t('Condiciones de la demostraci\u00f3n','Demo terms'),`<div class=\"prose\"><h2 class=\"title\">${t('Propuesta en revisi\u00f3n.','Proposal under review.')}<\/h2>${demo()}<p>${t('Los formularios funcionan en la memoria de esta p\u00e1gina. No env\u00edan datos a un servidor. Al recargar se reinician cupos, carrito y compras. Las im\u00e1genes y fuentes se cargan desde servicios externos.','Forms run in this page\u2019s memory. They do not send data to a server. Reloading resets places, cart and purchases. Images and fonts load from external services.')}<\/p><p>${t('Antes de activar ventas se completar\u00e1n identidad del vendedor, rutas, apoyos, autorizaciones, condiciones comerciales y tratamiento de datos.','Seller identity, routes, support, permissions, commercial terms and data handling will be completed before sales launch.')}<\/p><\/div>`);break;case'reset':inventory={};sold={};cart=[];releaseHold();countCart();toast(t('Prueba reiniciada. Cupos y tienda disponibles.','Demo reset. Places and shop stock restored.'));break;}});\nroot.addEventListener('input',e=>{if(e.target.closest('#pgt-book-form'))updateBooking($('#pgt-book-form'));if(e.target.id==='pgt-artist-search'){const q=e.target.value.toLowerCase().normalize('NFD').replace(\/[\\u0300-\\u036f]\/g,'');const match='skoll skol mario fierro'.includes(q)||!q;$('#pgt-artist-result').hidden=!match;$('#pgt-no-artists').hidden=match}});\nroot.addEventListener('change',e=>{if(e.target.closest('#pgt-book-form'))updateBooking($('#pgt-book-form'));if(e.target.id==='pgt-shipping'){$('#pgt-shipping-fee').textContent=money(Number(e.target.value));$('#pgt-checkout-total').textContent=money(cartTotal()+Number(e.target.value))}});\nroot.addEventListener('submit',e=>{const f=e.target;e.preventDefault();if(!f.reportValidity())return;if(f.id==='pgt-quick'){booking.date=f.elements.date.value;booking.mode=f.elements.mode.value;book()}else if(f.id==='pgt-book-form'){readBooking(f);if(!validSlot()){$('#pgt-book-error').textContent=t('Revisa los participantes y la disponibilidad. Prueba otra salida.','Check guest numbers and availability. Try another slot.');return}hold={expires:Date.now()+240000};review()}else if(f.id==='pgt-product-form'){const p=products.find(x=>x.id===f.dataset.id),qty=Number(f.elements.qty.value),variant=f.elements.variant.value,used=cart.filter(l=>l.id===p.id).reduce((s,l)=>s+l.qty,0);if(!Number.isInteger(qty)||qty<1||used+qty>p.stock-(sold[p.id]||0)){$('#pgt-product-error').textContent=t('La cantidad supera el stock de prueba disponible.','Quantity exceeds available sample stock.');return}const l=cart.find(l=>l.id===p.id&&l.variant===variant);if(l)l.qty+=qty;else cart.push({id:p.id,qty,variant});countCart();showCart()}else if(f.id==='pgt-checkout'){const amount=cartTotal()+Number(f.elements.shipping.value),name=f.elements.name.value;cart.forEach(l=>sold[l.id]=(sold[l.id]||0)+l.qty);cart=[];countCart();open(t('Compra simulada','Simulated purchase'),`<div class=\"stack\"><div class=\"success-mark\">\u2713<\/div><h2 class=\"title\">${t('Gracias por probar.','Thanks for trying it.')}<\/h2><p>${esc(name)}, ${t('tu pedido de demostraci\u00f3n qued\u00f3 registrado s\u00f3lo en esta sesi\u00f3n.','your demo order was recorded in this session only.')}<\/p><p class=\"price\">${money(amount)}<\/p><p class=\"notice\">${t('No se ha cobrado, enviado un correo ni creado un pedido comercial.','No payment was made, email sent or commercial order created.')}<\/p>${btn('close',t('Seguir explorando','Keep exploring'))}<\/div>`)}else if(f.id==='pgt-group'){const name=f.elements.name.value;open(t('Solicitud simulada','Simulated request'),`<div class=\"stack\"><div class=\"success-mark\">\u2713<\/div><h2 class=\"title\">${t('La conversaci\u00f3n<br>empieza aqu\u00ed.','The conversation<br>starts here.')}<\/h2><p>${esc(name)}, ${t('as\u00ed se confirmar\u00e1 la recepci\u00f3n de una solicitud especial. En esta prueba no se ha enviado informaci\u00f3n.','this is how a special request receipt will be confirmed. No information was sent in this test.')}<\/p>${btn('close',t('Continuar','Continue'))}<\/div>`)}});\ndialog.addEventListener('cancel',()=>releaseHold());dialog.addEventListener('close',()=>releaseHold());\nsetInterval(()=>{if(hold&&dialog.open){const el=$('#pgt-hold-timer'),left=Math.max(0,Math.ceil((hold.expires-Date.now())\/1000));if(el)el.textContent=String(Math.floor(left\/60)).padStart(2,'0')+':'+String(left%60).padStart(2,'0');if(!left){hold=null;const b=$('[data-action=pay]');if(b)b.disabled=true;const err=$('#pgt-pay-error');if(err)err.textContent=t('Retenci\u00f3n vencida. Modifica la reserva para volver a consultar cupos.','Hold expired. Edit your booking to check availability again.')}}},1000);\nwindow.addEventListener('hashchange',()=>{if(location.hash.startsWith('#pgt\/')){if(dialog.open)close();navigate(location.hash.slice(5))}});\nnavigate(location.hash.startsWith('#pgt\/')?location.hash.slice(5):'inicio',false);\n})();\n<\/script>\n\n\t\t\t\t<\/div>\n\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>Saltar al contenido \/ Skip to content \u2630EN&#x2197; 0 \u00d7 Activa JavaScript para explorar esta demostraci\u00f3n. Contacto: +57 313 643 1354.<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-1819","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pasto graffiti tour - Gu\u00eda Sur<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.guiasur.com.co\/en\/pasto-graffiti-tour\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pasto graffiti tour - Gu\u00eda Sur\" \/>\n<meta property=\"og:description\" content=\"Saltar al contenido \/ Skip to content \u2630EN&#x2197; 0 \u00d7 Activa JavaScript para explorar esta demostraci\u00f3n. Contacto: +57 313 643 1354.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.guiasur.com.co\/en\/pasto-graffiti-tour\/\" \/>\n<meta property=\"og:site_name\" content=\"Gu\u00eda Sur\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-29T18:17:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.guiasur.com.co\/wp-content\/uploads\/2026\/10\/Logo_oficial_pasto_GT_Mesa-de-trabajo-1.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.guiasur.com.co\\\/pasto-graffiti-tour\\\/\",\"url\":\"https:\\\/\\\/www.guiasur.com.co\\\/pasto-graffiti-tour\\\/\",\"name\":\"Pasto graffiti tour - Gu\u00eda Sur\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.guiasur.com.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.guiasur.com.co\\\/pasto-graffiti-tour\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.guiasur.com.co\\\/pasto-graffiti-tour\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.guiasur.com.co\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Logo_oficial_pasto_GT_Mesa-de-trabajo-1.png\",\"datePublished\":\"2026-10-15T02:50:55+00:00\",\"dateModified\":\"2026-10-29T18:17:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.guiasur.com.co\\\/pasto-graffiti-tour\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.guiasur.com.co\\\/pasto-graffiti-tour\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.guiasur.com.co\\\/pasto-graffiti-tour\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.guiasur.com.co\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Logo_oficial_pasto_GT_Mesa-de-trabajo-1.png\",\"contentUrl\":\"https:\\\/\\\/www.guiasur.com.co\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Logo_oficial_pasto_GT_Mesa-de-trabajo-1.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.guiasur.com.co\\\/pasto-graffiti-tour\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.guiasur.com.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pasto graffiti tour\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.guiasur.com.co\\\/#website\",\"url\":\"https:\\\/\\\/www.guiasur.com.co\\\/\",\"name\":\"Gu\u00eda Sur\",\"description\":\"Innovaci\u00f3n y turismo\",\"alternateName\":\"Innovaci\u00f3n y turismo en el sur de Colombia\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.guiasur.com.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pasto graffiti tour - Gu\u00eda Sur","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.guiasur.com.co\/en\/pasto-graffiti-tour\/","og_locale":"en_US","og_type":"article","og_title":"Pasto graffiti tour - Gu\u00eda Sur","og_description":"Saltar al contenido \/ Skip to content \u2630EN&#x2197; 0 \u00d7 Activa JavaScript para explorar esta demostraci\u00f3n. Contacto: +57 313 643 1354.","og_url":"https:\/\/www.guiasur.com.co\/en\/pasto-graffiti-tour\/","og_site_name":"Gu\u00eda Sur","article_modified_time":"2026-10-29T18:17:41+00:00","og_image":[{"url":"https:\/\/www.guiasur.com.co\/wp-content\/uploads\/2026\/10\/Logo_oficial_pasto_GT_Mesa-de-trabajo-1.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.guiasur.com.co\/pasto-graffiti-tour\/","url":"https:\/\/www.guiasur.com.co\/pasto-graffiti-tour\/","name":"Pasto graffiti tour - Gu\u00eda Sur","isPartOf":{"@id":"https:\/\/www.guiasur.com.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.guiasur.com.co\/pasto-graffiti-tour\/#primaryimage"},"image":{"@id":"https:\/\/www.guiasur.com.co\/pasto-graffiti-tour\/#primaryimage"},"thumbnailUrl":"https:\/\/www.guiasur.com.co\/wp-content\/uploads\/2026\/10\/Logo_oficial_pasto_GT_Mesa-de-trabajo-1.png","datePublished":"2026-10-15T02:50:55+00:00","dateModified":"2026-10-29T18:17:41+00:00","breadcrumb":{"@id":"https:\/\/www.guiasur.com.co\/pasto-graffiti-tour\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.guiasur.com.co\/pasto-graffiti-tour\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.guiasur.com.co\/pasto-graffiti-tour\/#primaryimage","url":"https:\/\/www.guiasur.com.co\/wp-content\/uploads\/2026\/10\/Logo_oficial_pasto_GT_Mesa-de-trabajo-1.png","contentUrl":"https:\/\/www.guiasur.com.co\/wp-content\/uploads\/2026\/10\/Logo_oficial_pasto_GT_Mesa-de-trabajo-1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.guiasur.com.co\/pasto-graffiti-tour\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.guiasur.com.co\/"},{"@type":"ListItem","position":2,"name":"Pasto graffiti tour"}]},{"@type":"WebSite","@id":"https:\/\/www.guiasur.com.co\/#website","url":"https:\/\/www.guiasur.com.co\/","name":"Gu\u00eda Sur","description":"Innovaci\u00f3n y turismo","alternateName":"Innovaci\u00f3n y turismo en el sur de Colombia","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.guiasur.com.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.guiasur.com.co\/en\/wp-json\/wp\/v2\/pages\/1819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.guiasur.com.co\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.guiasur.com.co\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.guiasur.com.co\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.guiasur.com.co\/en\/wp-json\/wp\/v2\/comments?post=1819"}],"version-history":[{"count":13,"href":"https:\/\/www.guiasur.com.co\/en\/wp-json\/wp\/v2\/pages\/1819\/revisions"}],"predecessor-version":[{"id":1880,"href":"https:\/\/www.guiasur.com.co\/en\/wp-json\/wp\/v2\/pages\/1819\/revisions\/1880"}],"wp:attachment":[{"href":"https:\/\/www.guiasur.com.co\/en\/wp-json\/wp\/v2\/media?parent=1819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}