{"id":16494,"date":"2025-12-18T00:15:55","date_gmt":"2025-12-18T00:15:55","guid":{"rendered":"https:\/\/scoprigaeta.it\/gaeta-navigator\/"},"modified":"2025-12-18T00:50:11","modified_gmt":"2025-12-18T00:50:11","slug":"gaeta-navigator","status":"publish","type":"page","link":"https:\/\/scoprigaeta.it\/en\/gaeta-navigator\/","title":{"rendered":"Gaeta Navigator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"16494\" class=\"elementor elementor-16494 elementor-16487\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c20ea94 e-flex e-con-boxed e-con e-parent\" data-id=\"c20ea94\" 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-2a51452 elementor-widget elementor-widget-shortcode\" data-id=\"2a51452\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    \n    <div class=\"sg-smart-container\">\n        \n        <div class=\"sg-smart-header\">\n            <!-- Texture Sfondo Sottile -->\n            <div class=\"sg-header-texture\"><\/div>\n\n            <div class=\"sg-brand-wrapper\">\n                <h2>Scopri Gaeta Navigator<\/h2>\n                <p>Esplora, Scopri, Vivi la Perla del Tirreno.<\/p>\n            <\/div>\n        <\/div>\n\n        <div class=\"sg-smart-grid\">\n                        <div class=\"sg-smart-card \" \n                 onclick=\"sgOpenSmartPanel('partner', 'Partner')\"\n                 style=\"--accent: #f1c40f; --bg-soft: #fffdf0;\">\n                \n                <div class=\"sg-card-icon\">\n                    <i class=\"fa-solid fa-crown\"><\/i>\n                <\/div>\n                \n                <div class=\"sg-card-meta\">\n                    <h4>Partner<\/h4>\n                    <span class=\"sg-sub\">Top Selection<\/span>\n                <\/div>\n\n                <div class=\"sg-card-pill\">6<\/div>\n            <\/div>\n                        <div class=\"sg-smart-card \" \n                 onclick=\"sgOpenSmartPanel('attrazione', 'Cosa Vedere')\"\n                 style=\"--accent: #ff7675; --bg-soft: #fff0f0;\">\n                \n                <div class=\"sg-card-icon\">\n                    <i class=\"fa-solid fa-monument\"><\/i>\n                <\/div>\n                \n                <div class=\"sg-card-meta\">\n                    <h4>Cosa Vedere<\/h4>\n                    <span class=\"sg-sub\">Arte & Storia<\/span>\n                <\/div>\n\n                <div class=\"sg-card-pill\">56<\/div>\n            <\/div>\n                        <div class=\"sg-smart-card \" \n                 onclick=\"sgOpenSmartPanel('spiagge', 'Spiagge')\"\n                 style=\"--accent: #00cec9; --bg-soft: #e0fbfb;\">\n                \n                <div class=\"sg-card-icon\">\n                    <i class=\"fa-solid fa-water\"><\/i>\n                <\/div>\n                \n                <div class=\"sg-card-meta\">\n                    <h4>Spiagge<\/h4>\n                    <span class=\"sg-sub\">Mare & Relax<\/span>\n                <\/div>\n\n                <div class=\"sg-card-pill\">7<\/div>\n            <\/div>\n                        <div class=\"sg-smart-card \" \n                 onclick=\"sgOpenSmartPanel('evento', 'Eventi')\"\n                 style=\"--accent: #fd79a8; --bg-soft: #fff0f6;\">\n                \n                <div class=\"sg-card-icon\">\n                    <i class=\"fa-solid fa-champagne-glasses\"><\/i>\n                <\/div>\n                \n                <div class=\"sg-card-meta\">\n                    <h4>Eventi<\/h4>\n                    <span class=\"sg-sub\">Nightlife<\/span>\n                <\/div>\n\n                <div class=\"sg-card-pill\">8<\/div>\n            <\/div>\n                        <div class=\"sg-smart-card \" \n                 onclick=\"sgOpenSmartPanel('post', 'Magazine')\"\n                 style=\"--accent: #0984e3; --bg-soft: #e3f2fd;\">\n                \n                <div class=\"sg-card-icon\">\n                    <i class=\"fa-solid fa-book-open-reader\"><\/i>\n                <\/div>\n                \n                <div class=\"sg-card-meta\">\n                    <h4>Magazine<\/h4>\n                    <span class=\"sg-sub\">News & Blog<\/span>\n                <\/div>\n\n                <div class=\"sg-card-pill\">37<\/div>\n            <\/div>\n                        <div class=\"sg-smart-card \" \n                 onclick=\"sgOpenSmartPanel('farmacia', 'Farmacie')\"\n                 style=\"--accent: #00b894; --bg-soft: #e0f7fa;\">\n                \n                <div class=\"sg-card-icon\">\n                    <i class=\"fa-solid fa-briefcase-medical\"><\/i>\n                <\/div>\n                \n                <div class=\"sg-card-meta\">\n                    <h4>Farmacie<\/h4>\n                    <span class=\"sg-sub\">Salute<\/span>\n                <\/div>\n\n                <div class=\"sg-card-pill\">7<\/div>\n            <\/div>\n                        <div class=\"sg-smart-card \" \n                 onclick=\"sgOpenSmartPanel('parcheggio', 'Parcheggi')\"\n                 style=\"--accent: #6c5ce7; --bg-soft: #edeaff;\">\n                \n                <div class=\"sg-card-icon\">\n                    <i class=\"fa-solid fa-square-parking\"><\/i>\n                <\/div>\n                \n                <div class=\"sg-card-meta\">\n                    <h4>Parcheggi<\/h4>\n                    <span class=\"sg-sub\">Mobilit\u00e0<\/span>\n                <\/div>\n\n                <div class=\"sg-card-pill\">13<\/div>\n            <\/div>\n                        <div class=\"sg-smart-card sg-fav-card\" \n                 onclick=\"sgOpenSmartPanel('favorites', 'Preferiti')\"\n                 style=\"--accent: #d63031; --bg-soft: #ffecec;\">\n                \n                <div class=\"sg-card-icon\">\n                    <i class=\"fa-solid fa-heart\"><\/i>\n                <\/div>\n                \n                <div class=\"sg-card-meta\">\n                    <h4>Preferiti<\/h4>\n                    <span class=\"sg-sub\">Salvati<\/span>\n                <\/div>\n\n                <div class=\"sg-card-pill\"><span id=\"sg-fav-count\">0<\/span><\/div>\n            <\/div>\n                    <\/div>\n    <\/div>\n\n    <!-- Pannello Off Canvas -->\n    <div id=\"sg-backdrop\" class=\"sg-backdrop\" onclick=\"sgClosePanel()\"><\/div>\n    <div id=\"sg-panel\" class=\"sg-panel\">\n        <div class=\"sg-panel-header\">\n            <h2 id=\"sg-panel-title\">Titolo<\/h2>\n            <button class=\"sg-close-btn\" onclick=\"sgClosePanel()\">&times;<\/button>\n        <\/div>\n        <div id=\"sg-panel-content\" class=\"sg-panel-content\"><\/div>\n    <\/div>\n\n    <style>\n        \/* CONFIGURAZIONE CSS GLOBALE *\/\n        :root {\n            --sg-radius: 12px;\n            --sg-font-main: 'Poppins', sans-serif; \/* Font per le card *\/\n            --sg-font-header: 'Poppins', sans-serif; \/* Font Custom Header *\/\n            \/\/--sg-shadow: 0 8px 30px rgba(0,0,0,0.08);\n            --sg-header-bg: #b71c1c; \/* Rosso Richiesto *\/\n        }\n\n        .sg-smart-container {\n            font-family: var(--sg-font-main);\n            max-width: 1200px;\n            margin: 0 auto;\n            padding: 10px;\n        }\n\n        \/* --- HEADER PROFESSIONAL RED --- *\/\n        .sg-smart-header {\n            background-color: var(--sg-header-bg);\n            \/* Sfumatura sottile per dare profondit\u00e0 senza cambiare il colore base *\/\n            background-image: linear-gradient(180deg, #b71c1c 0%, #9a1515 100%);\n            padding: 3.5rem 2rem;\n            border-radius: 12px 12px 0 0;\n            margin-bottom: 30px;\n            text-align: center;\n            color: white;\n            box-shadow: 0 10px 20px rgba(183, 28, 28, 0.3);\n            position: relative;\n            overflow: hidden;\n            font-family: var(--sg-font-header); \/* Montserrat *\/\n        }\n\n        \/* Texture molto sottile e professionale *\/\n        .sg-header-texture {\n            position: absolute; top: 0; left: 0; width: 100%; height: 100%;\n            background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.1) 1px, transparent 0);\n            background-size: 20px 20px;\n            opacity: 0.5;\n            pointer-events: none;\n        }\n\n        .sg-brand-wrapper { position: relative; z-index: 2; }\n        \n        .sg-brand-wrapper h2 {\n            font-family: var(--sg-font-header) !important;\n            font-size: 2.8rem; \n            font-weight: 700; \n            color: #ffffff !important;\n            margin: 0 0 10px 0; \n            text-transform: uppercase;\n            letter-spacing: 1px;\n            line-height: 1.2;\n            text-shadow: 0 2px 4px rgba(0,0,0,0.2);\n        }\n        \n        .sg-brand-wrapper p { \n            font-family: var(--sg-font-header) !important;\n            margin: 0; \n            color: rgba(255,255,255,0.9); \n            font-size: 1.1rem; \n            font-weight: 400;\n            letter-spacing: 0.5px;\n        }\n\n        \/* --- GRIGLIA --- *\/\n        .sg-smart-grid {\n            display: grid;\n            grid-template-columns: repeat(4, 1fr);\n            gap: 20px;\n        }\n\n        \/* --- CARD STYLE --- *\/\n        .sg-smart-card {\n            background: #ffffff;\n            border-radius: var(--sg-radius);\n            padding: 20px;\n            position: relative;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            box-shadow: var(--sg-shadow);\n            border-bottom: 3px solid transparent;\n            display: flex; flex-direction: column; align-items: center; text-align: center;\n            height: 170px; justify-content: center;\n            overflow: hidden;\n        }\n\n        .sg-smart-card:hover {\n            transform: translateY(-5px);\n            box-shadow: 0 15px 35px rgba(0,0,0,0.15);\n            border-bottom-color: var(--accent);\n        }\n\n        .sg-card-icon {\n            font-size: 1.8rem; \n            color: var(--accent); \n            margin-bottom: 12px;\n            width: 60px; height: 60px; \n            background: var(--bg-soft);\n            border-radius: 50%; \n            display: flex; align-items: center; justify-content: center;\n            transition: 0.3s;\n        }\n        \n        .sg-smart-card:hover .sg-card-icon {\n            background: var(--accent); color: #fff; transform: scale(1.1);\n        }\n\n        .sg-card-meta h4 { margin: 0; font-size: 1.1rem; font-weight: 700; color: #333; }\n        .sg-sub { font-size: 0.8rem; color: #888; margin-top: 4px; display: block; }\n\n        .sg-card-pill {\n            position: absolute; top: 12px; right: 12px;\n            background: #f1f2f6; font-size: 0.75rem; font-weight: 700;\n            padding: 2px 8px; border-radius: 8px; color: #666;\n        }\n\n        \/* --- OFF CANVAS PANEL --- *\/\n        .sg-backdrop {\n            position: fixed; top: 0; left: 0; width: 100%; height: 100%;\n            background: rgba(0,0,0,0.6); backdrop-filter: blur(4px);\n            z-index: 9990; opacity: 0; visibility: hidden; transition: 0.3s;\n        }\n        .sg-backdrop.is-open { opacity: 1; visibility: visible; }\n\n        .sg-panel {\n            position: fixed; top: 0; right: -100%; width: 450px; height: 100%;\n            background: #fff; z-index: 9991;\n            box-shadow: -10px 0 50px rgba(0,0,0,0.3);\n            transition: 0.4s cubic-bezier(0.19, 1, 0.22, 1);\n            display: flex; flex-direction: column; max-width: 90vw;\n        }\n        .sg-panel.is-open { right: 0; }\n        \n        .sg-panel-header {\n            padding: 20px 25px; border-bottom: 1px solid #f0f0f0; \n            display: flex; justify-content: space-between; align-items: center;\n            background: #fff;\n        }\n        .sg-panel-header h2 { \n            margin: 0; font-size: 1.4rem; color: #b71c1c; font-weight: 700; \n            font-family: var(--sg-font-header);\n        }\n        .sg-close-btn { background: none; border: none; font-size: 2rem; cursor: pointer; color: #333; }\n        .sg-panel-content { padding: 20px; overflow-y: auto; flex: 1; background: #fdfdfd; }\n\n        \/* --- LIST ITEMS: FIX IMMAGINI UNIFORMI --- *\/\n        .sg-partner-intro {\n            background: #fff5f5; padding: 20px; border-radius: 12px; \n            border-left: 5px solid #b71c1c; margin-bottom: 25px; \n            font-size: 0.95rem; color: #444; line-height: 1.5;\n        }\n\n        .sg-item-row {\n            display: flex; \n            align-items: center; \n            gap: 15px; \n            background: #fff; \n            border: 1px solid #eee; \n            border-radius: 12px; \n            margin-bottom: 15px;\n            padding: 12px; \/* Un po' pi\u00f9 di spazio *\/\n            transition: 0.2s; position: relative;\n            box-shadow: 0 2px 5px rgba(0,0,0,0.02);\n        }\n        .sg-item-row:hover { border-color: #b71c1c; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0,0,0,0.05); }\n\n        \/* FIX DIMENSIONE IMMAGINI *\/\n        .sg-item-img { \n            \/* Dimensioni forzate e bloccate *\/\n            width: 70px !important;       \n            height: 70px !important;\n            min-width: 70px !important;  \/* Impedisce il restringimento *\/\n            min-height: 70px !important;\n            \n            \/* Gestione contenuto *\/\n            object-fit: cover !important; \/* Taglia per riempire *\/\n            aspect-ratio: 1 \/ 1;          \/* Forza rapporto 1:1 *\/\n            \n            \/* Stile *\/\n            border-radius: 50%;\n            flex-shrink: 0;               \/* Fondamentale per flexbox *\/\n            border: 2px solid #fff; \n            box-shadow: 0 2px 8px rgba(0,0,0,0.1); \n        }\n\n        .sg-item-info { flex: 1; overflow: hidden; \/* Evita che testi lunghi rompano il layout *\/ } \n        .sg-item-info h4 { margin: 0 0 5px 0; font-size: 1.05rem; font-weight: 600; color: #2d3436; line-height: 1.2; }\n        .sg-item-info a { text-decoration: none; color: inherit; }\n        .sg-item-meta { \n            font-size: 0.70rem; color: #fff; background: #444; \n            padding: 3px 8px; border-radius: 20px; text-transform: uppercase; font-weight: 600;\n        }\n\n        \/* Bottone Cuore *\/\n        .sg-fav-btn {\n            background: #fff; border: 1px solid #eee; border-radius: 50%;\n            cursor: pointer; font-size: 1.1rem; color: #ccc; \n            width: 35px; height: 35px; display: flex; align-items: center; justify-content: center;\n            transition: 0.2s; margin-left: 5px; flex-shrink: 0;\n        }\n        .sg-fav-btn:hover { border-color: #ff4757; color: #ff6b81; }\n        .sg-fav-btn.is-active { background: #ff4757; color: white; border-color: #ff4757; }\n\n        \/* Responsive *\/\n        @media (max-width: 900px) {\n            .sg-smart-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }\n            .sg-smart-card { height: 150px; }\n        }\n        \n        @media (max-width: 600px) {\n            .sg-brand-wrapper h2 { font-size: 1.8rem !important; }\n            .sg-brand-wrapper p { font-size: 0.95rem !important; }\n            .sg-smart-header { padding: 2rem 1rem !important; }\n        }\n    <\/style>\n\n    <script>\n    \/\/ --- JS FUNZIONALIT\u00c0 (Invariato) ---\n    function getFavs() { return JSON.parse(localStorage.getItem('sg_favorites')) || []; }\n    \n    function toggleFav(id, btn) {\n        let favs = getFavs(); id = parseInt(id);\n        const index = favs.indexOf(id);\n        if (index > -1) { favs.splice(index, 1); btn.classList.remove('is-active'); btn.innerHTML = '<i class=\"fa-regular fa-heart\"><\/i>'; }\n        else { favs.push(id); btn.classList.add('is-active'); btn.innerHTML = '<i class=\"fa-solid fa-heart\"><\/i>'; }\n        localStorage.setItem('sg_favorites', JSON.stringify(favs));\n        updateFavCount();\n    }\n    \n    function updateFavCount() {\n        const c = getFavs().length; const b = document.getElementById('sg-fav-count'); if(b) b.innerText = c;\n    }\n    document.addEventListener(\"DOMContentLoaded\", function() { updateFavCount(); });\n\n    function sgOpenSmartPanel(slug, label) {\n        document.getElementById('sg-panel-title').innerText = label;\n        document.getElementById('sg-backdrop').classList.add('is-open');\n        document.getElementById('sg-panel').classList.add('is-open');\n        const c = document.getElementById('sg-panel-content');\n        c.innerHTML = '<div style=\"text-align:center; padding:50px; color:#ccc\"><i class=\"fa-solid fa-circle-notch fa-spin fa-2x\"><\/i><\/div>';\n        \n        const data = new FormData();\n        data.append('action', 'sg_fetch_vibrant_data');\n        data.append('slug', slug);\n        if(slug === 'favorites') data.append('fav_ids', JSON.stringify(getFavs()));\n\n        fetch('https:\/\/scoprigaeta.it\/wp-admin\/admin-ajax.php', { method: 'POST', body: data })\n        .then(r => r.text()).then(html => { \n            c.innerHTML = html;\n            const favs = getFavs();\n            document.querySelectorAll('.sg-fav-btn').forEach(btn => {\n                if(favs.includes(parseInt(btn.dataset.id))) {\n                    btn.classList.add('is-active');\n                    btn.innerHTML = '<i class=\"fa-solid fa-heart\"><\/i>';\n                }\n            });\n        });\n    }\n\n    function sgClosePanel() {\n        document.getElementById('sg-backdrop').classList.remove('is-open');\n        document.getElementById('sg-panel').classList.remove('is-open');\n        updateFavCount();\n    }\n    <\/script>\n    <\/div>\n\t\t\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":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"zona":[],"class_list":["post-16494","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/scoprigaeta.it\/en\/wp-json\/wp\/v2\/pages\/16494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scoprigaeta.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/scoprigaeta.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/scoprigaeta.it\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/scoprigaeta.it\/en\/wp-json\/wp\/v2\/comments?post=16494"}],"version-history":[{"count":2,"href":"https:\/\/scoprigaeta.it\/en\/wp-json\/wp\/v2\/pages\/16494\/revisions"}],"predecessor-version":[{"id":16496,"href":"https:\/\/scoprigaeta.it\/en\/wp-json\/wp\/v2\/pages\/16494\/revisions\/16496"}],"wp:attachment":[{"href":"https:\/\/scoprigaeta.it\/en\/wp-json\/wp\/v2\/media?parent=16494"}],"wp:term":[{"taxonomy":"zona","embeddable":true,"href":"https:\/\/scoprigaeta.it\/en\/wp-json\/wp\/v2\/zona?post=16494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}