{"id":93,"date":"2026-01-19T15:58:36","date_gmt":"2026-01-19T20:58:36","guid":{"rendered":"http:\/\/mundoerotic.local\/?page_id=93"},"modified":"2026-02-20T10:05:53","modified_gmt":"2026-02-20T15:05:53","slug":"inicio","status":"publish","type":"page","link":"https:\/\/mundoerotic.com\/en\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"93\" class=\"elementor elementor-93\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-16be409 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"16be409\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e287bbb\" data-id=\"e287bbb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-78dac12 elementor-widget elementor-widget-shortcode\" data-id=\"78dac12\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div id=\"me-age-gate\">\n        <div class=\"me-ag-backdrop\"><\/div>\n        <div class=\"me-ag-card\">\n\n            <div class=\"me-ag-brand\">\n                <span class=\"me-ag-logo-m\">MUNDO<\/span><span class=\"me-ag-logo-e\">EROTIC<\/span>\n            <\/div>\n\n            <div class=\"me-ag-badge\">\n                <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\">\n                    <circle cx=\"24\" cy=\"24\" r=\"23\" stroke=\"#C41E3A\" stroke-width=\"2\"\/>\n                    <text x=\"24\" y=\"28\" text-anchor=\"middle\" fill=\"#C41E3A\" font-family=\"Outfit, sans-serif\" font-size=\"18\" font-weight=\"800\">18+<\/text>\n                <\/svg>\n            <\/div>\n\n            <h2 class=\"me-ag-title\">Verificacion de edad<\/h2>\n            <p class=\"me-ag-subtitle\">Este sitio contiene contenido exclusivo para adultos<\/p>\n            <p class=\"me-ag-question\">\u00bfConfirmas que eres mayor de 18 anos?<\/p>\n\n            <div class=\"me-ag-actions\">\n                <button type=\"button\" id=\"me-ag-accept\" class=\"me-ag-btn me-ag-btn-accept\">\n                    Si, soy mayor de 18\n                <\/button>\n                <button type=\"button\" id=\"me-ag-reject\" class=\"me-ag-btn me-ag-btn-reject\">\n                    No, salir del sitio\n                <\/button>\n            <\/div>\n\n            <div class=\"me-ag-policy\">\n                <p>Al ingresar aceptas nuestras condiciones de uso:<\/p>\n                <ul>\n                    <li>Prohibido contenido con menores de edad<\/li>\n                    <li>Prohibida la explotacion, trata de personas o actividades ilegales<\/li>\n                    <li>Todo el contenido publicado es responsabilidad de sus autores<\/li>\n                    <li>MundoErotic se reserva el derecho de eliminar contenido que viole estas normas<\/li>\n                <\/ul>\n            <\/div>\n\n        <\/div>\n    <\/div>\n\n    <script>\n    (function() {\n        'use strict';\n        var STORAGE_KEY = 'me_age_verified';\n        var TTL_DAYS = 30;\n        var gate = document.getElementById('me-age-gate');\n        if (!gate) { console.error('[ME_AGE] #me-age-gate not found'); return; }\n\n        console.log('[ME_AGE] Gate element found, checking localStorage...');\n\n        function isVerified() {\n            try {\n                var stored = localStorage.getItem(STORAGE_KEY);\n                if (!stored) { console.log('[ME_AGE] No localStorage key found'); return false; }\n                var data = JSON.parse(stored);\n                if (data && data.verified && data.expires > Date.now()) {\n                    console.log('[ME_AGE] Already verified, expires:', new Date(data.expires));\n                    return true;\n                }\n                localStorage.removeItem(STORAGE_KEY);\n                console.log('[ME_AGE] Expired\/invalid localStorage, removed');\n                return false;\n            } catch (e) {\n                console.warn('[ME_AGE] localStorage error:', e);\n                return false;\n            }\n        }\n\n        function setVerified() {\n            try {\n                localStorage.setItem(STORAGE_KEY, JSON.stringify({\n                    verified: true,\n                    expires: Date.now() + (TTL_DAYS * 24 * 60 * 60 * 1000)\n                }));\n                console.log('[ME_AGE] Verification saved to localStorage');\n            } catch (e) {}\n        }\n\n        if (isVerified()) {\n            gate.classList.add('me-ag-hidden');\n            console.log('[ME_AGE] Gate hidden (already verified)');\n            return;\n        }\n\n        \/\/ Show gate \u2014 lock scroll\n        console.log('[ME_AGE] Showing age gate popup');\n        document.documentElement.style.overflow = 'hidden';\n        document.body.style.overflow = 'hidden';\n\n        var acceptBtn = document.getElementById('me-ag-accept');\n        if (acceptBtn) {\n            acceptBtn.addEventListener('click', function() {\n                setVerified();\n                gate.classList.add('me-ag-closing');\n                setTimeout(function() {\n                    gate.classList.add('me-ag-hidden');\n                    document.documentElement.style.overflow = '';\n                    document.body.style.overflow = '';\n                }, 300);\n            });\n        }\n\n        var rejectBtn = document.getElementById('me-ag-reject');\n        if (rejectBtn) {\n            rejectBtn.addEventListener('click', function() {\n                window.location.href = 'https:\/\/www.google.com';\n            });\n        }\n\n        document.addEventListener('keydown', function(e) {\n            if (e.key === 'Escape' && !gate.classList.contains('me-ag-hidden')) {\n                e.preventDefault();\n                e.stopPropagation();\n            }\n        }, true);\n    })();\n    <\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-70af50d elementor-widget elementor-widget-shortcode\" data-id=\"70af50d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<div id=\"me-app\" data-nonce=\"df8c37f458\" data-ajax=\"https:\/\/mundoerotic.com\/wp-admin\/admin-ajax.php\"\n     data-initial-state=\"home\"\n     data-initial-category-id=\"\"\n     data-initial-category-slug=\"\"\n     data-initial-category-name=\"\"\n     data-initial-dept-id=\"\"\n     data-initial-dept-slug=\"\"\n     data-initial-city-id=\"\"\n     data-initial-city-slug=\"\"\n     data-home-url=\"https:\/\/mundoerotic.com\/en\/\">\n\n    \n    <!-- STATE: HOME -->\n    <div id=\"me-home\" class=\"me-state active\">\n\n        <div class=\"me-home-header\">\n            <h1 class=\"me-logo\"><span class=\"me-logo-mundo\">MUNDO<\/span><span class=\"me-logo-erotic\">EROTIC<\/span><\/h1>\n            <!-- Desktop nav (hidden on mobile) -->\n            <nav class=\"me-desktop-nav\" id=\"meDesktopNav\">\n                <button class=\"me-desktop-nav-item\" data-action=\"explore\">\n                    <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><\/svg>\n                    Explorar\n                <\/button>\n                <button class=\"me-desktop-nav-item\" data-action=\"surprise\">\n                    <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polygon points=\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\"\/><\/svg>\n                    Sorprendeme\n                <\/button>\n                                    <a href=\"https:\/\/mundoerotic.com\/en\/mi-cuenta\/\" class=\"me-desktop-nav-item\">\n                        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\"\/><polyline points=\"10 17 15 12 10 7\"\/><line x1=\"15\" y1=\"12\" x2=\"3\" y2=\"12\"\/><\/svg>\n                        Entrar\n                    <\/a>\n                    <a href=\"https:\/\/mundoerotic.com\/en\/mi-cuenta\/registration\/\" class=\"me-desktop-nav-item me-desktop-nav-cta\">\n                        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 2L2 7l10 5 10-5-10-5z\"\/><path d=\"M2 17l10 5 10-5\"\/><path d=\"M2 12l10 5 10-5\"\/><\/svg>\n                        Publica gratis\n                    <\/a>\n                            <\/nav>\n        <\/div>\n\n        <div class=\"me-home-content\">\n            <h2 class=\"me-home-title\">\u00bfQu\u00e9 aventura buscas hoy \ud83d\ude08?<\/h2>\n\n            <!-- STORIES CAROUSEL (featured\/premium listings) -->\n            \n            <!-- LOCATION SECTION (first) -->\n            <div class=\"me-location-section\">\n                <button class=\"me-btn-geolocation\" id=\"meGeoBtn\">\n                    <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\n                    <span class=\"me-geo-text\">Cerca de mi<\/span>\n                    <span class=\"me-geo-loading\" style=\"display:none;\">Detectando...<\/span>\n                <\/button>\n\n                <div class=\"me-location-selects\">\n                    <select id=\"meDepartment\" class=\"me-select\">\n                        <option value=\"\">Departamento<\/option>\n                                                    <option value=\"309\" data-slug=\"amazonas\">Amazonas<\/option>\n                                                    <option value=\"56\" data-slug=\"antioquia\">Antioquia<\/option>\n                                                    <option value=\"288\" data-slug=\"arauca\">Arauca<\/option>\n                                                    <option value=\"81\" data-slug=\"atlantico\">Atl\u00e1ntico<\/option>\n                                                    <option value=\"348\" data-slug=\"bogota\">Bogot\u00e1<\/option>\n                                                    <option value=\"35\" data-slug=\"bogota-d-c\">Bogot\u00e1 D.C.<\/option>\n                                                    <option value=\"89\" data-slug=\"bolivar\">Bol\u00edvar<\/option>\n                                                    <option value=\"273\" data-slug=\"boyaca\">Boyac\u00e1<\/option>\n                                                    <option value=\"210\" data-slug=\"caldas-2\">Caldas<\/option>\n                                                    <option value=\"295\" data-slug=\"caqueta\">Caquet\u00e1<\/option>\n                                                    <option value=\"281\" data-slug=\"casanare\">Casanare<\/option>\n                                                    <option value=\"224\" data-slug=\"cauca\">Cauca<\/option>\n                                                    <option value=\"259\" data-slug=\"cesar\">Cesar<\/option>\n                                                    <option value=\"238\" data-slug=\"cordoba\">C\u00f3rdoba<\/option>\n                                                    <option value=\"171\" data-slug=\"cundinamarca\">Cundinamarca<\/option>\n                                                    <option value=\"316\" data-slug=\"guainia\">Guain\u00eda<\/option>\n                                                    <option value=\"323\" data-slug=\"guaviare\">Guaviare<\/option>\n                                                    <option value=\"189\" data-slug=\"huila\">Huila<\/option>\n                                                    <option value=\"266\" data-slug=\"la-guajira\">La Guajira<\/option>\n                                                    <option value=\"252\" data-slug=\"magdalena\">Magdalena<\/option>\n                                                    <option value=\"231\" data-slug=\"meta\">Meta<\/option>\n                                                    <option value=\"217\" data-slug=\"narino\">Nari\u00f1o<\/option>\n                                                    <option value=\"163\" data-slug=\"norte-de-santander\">Norte de Santander<\/option>\n                                                    <option value=\"302\" data-slug=\"putumayo\">Putumayo<\/option>\n                                                    <option value=\"203\" data-slug=\"quindio\">Quind\u00edo<\/option>\n                                                    <option value=\"196\" data-slug=\"risaralda\">Risaralda<\/option>\n                                                    <option value=\"339\" data-slug=\"san-andres-y-providencia\">San Andr\u00e9s y Providencia<\/option>\n                                                    <option value=\"98\" data-slug=\"santander\">Santander<\/option>\n                                                    <option value=\"245\" data-slug=\"sucre\">Sucre<\/option>\n                                                    <option value=\"181\" data-slug=\"tolima\">Tolima<\/option>\n                                                    <option value=\"70\" data-slug=\"valle-del-cauca\">Valle del Cauca<\/option>\n                                                    <option value=\"328\" data-slug=\"vaupes\">Vaup\u00e9s<\/option>\n                                                    <option value=\"334\" data-slug=\"vichada\">Vichada<\/option>\n                                            <\/select>\n                    <select id=\"meCity\" class=\"me-select\" disabled>\n                        <option value=\"\">Ciudad<\/option>\n                    <\/select>\n                <\/div>\n\n                <select id=\"meDistance\" class=\"me-select\" style=\"display:none;\">\n                    <option value=\"1\">1 km<\/option>\n                    <option value=\"3\">3 km<\/option>\n                    <option value=\"5\" selected>5 km<\/option>\n                    <option value=\"10\">10 km<\/option>\n                    <option value=\"15\">15 km<\/option>\n                <\/select>\n\n                <button class=\"me-btn-search\" id=\"meSearchBtn\">\n                    <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"\/><\/svg>\n                    Buscar\n                <\/button>\n            <\/div>\n\n            <!-- DIVIDER -->\n            <div class=\"me-home-divider\">\n                <span>o explora por categor\u00eda<\/span>\n            <\/div>\n\n            <!-- CATEGORY CARDS -->\n            <div class=\"me-categories\" id=\"meCategoryGrid\">\n                                <button class=\"me-category-card\" data-category-id=\"357\" data-category-name=\"Escorts Mujeres\" data-category-slug=\"escorts-mujeres\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/><circle cx=\"12\" cy=\"7\" r=\"4\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Escorts Mujeres<\/span>\n                    <span class=\"me-cat-count\">56<\/span>\n                <\/button>\n                                <button class=\"me-category-card\" data-category-id=\"358\" data-category-name=\"Escorts Hombres\" data-category-slug=\"escorts-hombres\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/><circle cx=\"12\" cy=\"7\" r=\"4\"\/><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"17\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Escorts Hombres<\/span>\n                    <span class=\"me-cat-count\">10<\/span>\n                <\/button>\n                                <button class=\"me-category-card\" data-category-id=\"106\" data-category-name=\"Gays\" data-category-slug=\"gays\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Gays<\/span>\n                    <span class=\"me-cat-count\">0<\/span>\n                <\/button>\n                                <button class=\"me-category-card\" data-category-id=\"30\" data-category-name=\"Trans\" data-category-slug=\"trans\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><circle cx=\"12\" cy=\"12\" r=\"5\"\/><line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"7\"\/><line x1=\"4.22\" y1=\"4.22\" x2=\"8.17\" y2=\"8.17\"\/><line x1=\"17\" y1=\"12\" x2=\"23\" y2=\"12\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Trans<\/span>\n                    <span class=\"me-cat-count\">15<\/span>\n                <\/button>\n                                <button class=\"me-category-card\" data-category-id=\"115\" data-category-name=\"Spas er\u00f3ticos\" data-category-slug=\"spas-eroticos\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Spas er\u00f3ticos<\/span>\n                    <span class=\"me-cat-count\">15<\/span>\n                <\/button>\n                                <button class=\"me-category-card\" data-category-id=\"359\" data-category-name=\"Contenido VIP\" data-category-slug=\"contenido-vip\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M2 4l3 12h14l3-12-5 4-5-6-5 6z\"\/><rect x=\"5\" y=\"16\" width=\"14\" height=\"3\" rx=\"1\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Contenido VIP<\/span>\n                    <span class=\"me-cat-count\">0<\/span>\n                <\/button>\n                                <button class=\"me-category-card\" data-category-id=\"360\" data-category-name=\"Virtual\" data-category-slug=\"virtual\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><polygon points=\"23 7 16 12 23 17 23 7\"\/><rect x=\"1\" y=\"5\" width=\"15\" height=\"14\" rx=\"2\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Virtual<\/span>\n                    <span class=\"me-cat-count\">1<\/span>\n                <\/button>\n                                <button class=\"me-category-card\" data-category-id=\"361\" data-category-name=\"Sex Shops\" data-category-slug=\"sex-shops\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><circle cx=\"9\" cy=\"21\" r=\"1\"\/><circle cx=\"20\" cy=\"21\" r=\"1\"\/><path d=\"M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Sex Shops<\/span>\n                    <span class=\"me-cat-count\">0<\/span>\n                <\/button>\n                            <\/div>\n\n            <!-- CTA BANNER (desktop: always visible \/ mobile: visible too) -->\n            <div class=\"me-cta-banner\" id=\"meCtaBanner\">\n                <div class=\"me-cta-content\">\n                    <div class=\"me-cta-text\">\n                        <h3 class=\"me-cta-title\">Gana dinero con tu perfil<\/h3>\n                        <p class=\"me-cta-desc\">Publica tu anuncio y llega a miles de personas. Destaca tu perfil para mas visibilidad.<\/p>\n                    <\/div>\n                                            <a href=\"https:\/\/mundoerotic.com\/en\/mi-cuenta\/registration\/\" class=\"me-cta-btn\">\n                            <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n                            Registrate gratis\n                        <\/a>\n                                    <\/div>\n            <\/div>\n\n        <\/div>\n    <\/div>\n\n    <!-- STATE: FEED (category - TikTok style) -->\n    <div id=\"me-feed\" class=\"me-state\">\n\n        <div class=\"me-feed-header\" id=\"meFeedHeader\">\n            <button class=\"me-back-btn\" id=\"meBackBtn\">\n                <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"15 18 9 12 15 6\"\/><\/svg>\n            <\/button>\n            <span class=\"me-feed-context\" id=\"meFeedContext\">Explorando<\/span>\n            <select id=\"meFeedCat\" class=\"me-feed-select\">\n                <option value=\"\">Categor\u00eda<\/option>\n                                    <option value=\"357\" data-slug=\"escorts-mujeres\">Escorts Mujeres<\/option>\n                                    <option value=\"358\" data-slug=\"escorts-hombres\">Escorts Hombres<\/option>\n                                    <option value=\"106\" data-slug=\"gays\">Gays<\/option>\n                                    <option value=\"30\" data-slug=\"trans\">Trans<\/option>\n                                    <option value=\"115\" data-slug=\"spas-eroticos\">Spas er\u00f3ticos<\/option>\n                                    <option value=\"359\" data-slug=\"contenido-vip\">Contenido VIP<\/option>\n                                    <option value=\"360\" data-slug=\"virtual\">Virtual<\/option>\n                                    <option value=\"361\" data-slug=\"sex-shops\">Sex Shops<\/option>\n                            <\/select>\n            <select id=\"meFeedDept\" class=\"me-feed-select\">\n                <option value=\"\">Ubicaci\u00f3n<\/option>\n                                    <option value=\"309\" data-slug=\"amazonas\">Amazonas<\/option>\n                                    <option value=\"56\" data-slug=\"antioquia\">Antioquia<\/option>\n                                    <option value=\"288\" data-slug=\"arauca\">Arauca<\/option>\n                                    <option value=\"81\" data-slug=\"atlantico\">Atl\u00e1ntico<\/option>\n                                    <option value=\"348\" data-slug=\"bogota\">Bogot\u00e1<\/option>\n                                    <option value=\"35\" data-slug=\"bogota-d-c\">Bogot\u00e1 D.C.<\/option>\n                                    <option value=\"89\" data-slug=\"bolivar\">Bol\u00edvar<\/option>\n                                    <option value=\"273\" data-slug=\"boyaca\">Boyac\u00e1<\/option>\n                                    <option value=\"210\" data-slug=\"caldas-2\">Caldas<\/option>\n                                    <option value=\"295\" data-slug=\"caqueta\">Caquet\u00e1<\/option>\n                                    <option value=\"281\" data-slug=\"casanare\">Casanare<\/option>\n                                    <option value=\"224\" data-slug=\"cauca\">Cauca<\/option>\n                                    <option value=\"259\" data-slug=\"cesar\">Cesar<\/option>\n                                    <option value=\"238\" data-slug=\"cordoba\">C\u00f3rdoba<\/option>\n                                    <option value=\"171\" data-slug=\"cundinamarca\">Cundinamarca<\/option>\n                                    <option value=\"316\" data-slug=\"guainia\">Guain\u00eda<\/option>\n                                    <option value=\"323\" data-slug=\"guaviare\">Guaviare<\/option>\n                                    <option value=\"189\" data-slug=\"huila\">Huila<\/option>\n                                    <option value=\"266\" data-slug=\"la-guajira\">La Guajira<\/option>\n                                    <option value=\"252\" data-slug=\"magdalena\">Magdalena<\/option>\n                                    <option value=\"231\" data-slug=\"meta\">Meta<\/option>\n                                    <option value=\"217\" data-slug=\"narino\">Nari\u00f1o<\/option>\n                                    <option value=\"163\" data-slug=\"norte-de-santander\">Norte de Santander<\/option>\n                                    <option value=\"302\" data-slug=\"putumayo\">Putumayo<\/option>\n                                    <option value=\"203\" data-slug=\"quindio\">Quind\u00edo<\/option>\n                                    <option value=\"196\" data-slug=\"risaralda\">Risaralda<\/option>\n                                    <option value=\"339\" data-slug=\"san-andres-y-providencia\">San Andr\u00e9s y Providencia<\/option>\n                                    <option value=\"98\" data-slug=\"santander\">Santander<\/option>\n                                    <option value=\"245\" data-slug=\"sucre\">Sucre<\/option>\n                                    <option value=\"181\" data-slug=\"tolima\">Tolima<\/option>\n                                    <option value=\"70\" data-slug=\"valle-del-cauca\">Valle del Cauca<\/option>\n                                    <option value=\"328\" data-slug=\"vaupes\">Vaup\u00e9s<\/option>\n                                    <option value=\"334\" data-slug=\"vichada\">Vichada<\/option>\n                            <\/select>\n            <select id=\"meFeedCity\" class=\"me-feed-select\" disabled>\n                <option value=\"\">Ciudad<\/option>\n            <\/select>\n            <button class=\"me-feed-geo-btn\" id=\"meFeedGeoBtn\" title=\"Cerca de mi\">\n                <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\n            <\/button>\n        <\/div>\n\n        <div class=\"me-pull-indicator\" id=\"mePullIndicator\">\n            <div class=\"me-pull-icon\" id=\"mePullIcon\">\n                <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"1 4 1 10 7 10\"\/><path d=\"M3.51 15a9 9 0 1 0 2.13-9.36L1 10\"\/><\/svg>\n            <\/div>\n            <span class=\"me-pull-text\" id=\"mePullText\">Suelta para actualizar<\/span>\n        <\/div>\n        <div class=\"me-feed-scroll\" id=\"meFeedScroll\">\n            <!-- TikTok cards injected here by JS -->\n        <\/div>\n\n        <div class=\"me-marketplace-scroll\" id=\"meMarketplaceScroll\" style=\"display:none;\">\n            <!-- Marketplace 1x2 grid cards injected here by JS -->\n        <\/div>\n\n        <div class=\"me-feed-loading\" id=\"meFeedLoading\" style=\"display:none;\">\n            <div class=\"me-spinner\"><\/div>\n        <\/div>\n        <button class=\"me-scroll-top\" id=\"meFeedScrollTop\" style=\"display:none;\" aria-label=\"Volver arriba\">\n            <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"18 15 12 9 6 15\"\/><\/svg>\n        <\/button>\n    <\/div>\n\n    <!-- STATE: EXPLORE (grid + sorpr\u00e9ndeme) -->\n    <div id=\"me-explore\" class=\"me-state\">\n\n        <div class=\"me-explore-header\" id=\"meExploreHeader\">\n            <button class=\"me-back-btn\" id=\"meExploreBackBtn\">\n                <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"15 18 9 12 15 6\"\/><\/svg>\n            <\/button>\n            <span class=\"me-feed-context\" id=\"meExploreContext\">Explorar<\/span>\n            <div class=\"me-explore-filters\">\n                <select id=\"meExploreCat\" class=\"me-explore-filter-select\">\n                    <option value=\"\">Todas<\/option>\n                                            <option value=\"357\">Escorts Mujeres<\/option>\n                                            <option value=\"358\">Escorts Hombres<\/option>\n                                            <option value=\"106\">Gays<\/option>\n                                            <option value=\"30\">Trans<\/option>\n                                            <option value=\"115\">Spas er\u00f3ticos<\/option>\n                                            <option value=\"359\">Contenido VIP<\/option>\n                                            <option value=\"360\">Virtual<\/option>\n                                            <option value=\"361\">Sex Shops<\/option>\n                                    <\/select>\n                <button class=\"me-explore-geo-btn\" id=\"meExploreGeoBtn\" title=\"Cerca de mi\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\n                <\/button>\n            <\/div>\n            <button class=\"me-btn-surprise\" id=\"meSurpriseBtn\">\n                <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polygon points=\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\"\/><\/svg>\n                <span class=\"me-surprise-text\">Sorpr\u00e9ndeme<\/span>\n            <\/button>\n        <\/div>\n\n        <div class=\"me-explore-grid\" id=\"meExploreGrid\">\n            <!-- Grid cards injected here by JS -->\n        <\/div>\n\n        <div class=\"me-feed-loading\" id=\"meExploreLoading\" style=\"display:none;\">\n            <div class=\"me-spinner\"><\/div>\n        <\/div>\n        <button class=\"me-scroll-top\" id=\"meExploreScrollTop\" style=\"display:none;\" aria-label=\"Volver arriba\">\n            <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"18 15 12 9 6 15\"\/><\/svg>\n        <\/button>\n    <\/div>\n\n    <!-- Hidden inputs -->\n    <input type=\"hidden\" id=\"meCenterLat\">\n    <input type=\"hidden\" id=\"meCenterLng\">\n\n    <!-- EXPLORE CATEGORY MODAL -->\n    <div id=\"meExploreCatModal\" class=\"me-explore-modal\" style=\"display:none;\">\n        <div class=\"me-explore-modal-overlay\"><\/div>\n        <div class=\"me-explore-modal-content\">\n            <h2 class=\"me-explore-modal-title\">\u00bfQu\u00e9 quieres explorar?<\/h2>\n            <div class=\"me-explore-modal-grid\">\n                <button class=\"me-explore-modal-card me-explore-modal-all\" data-category-id=\"\" data-category-name=\"\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Ver todo<\/span>\n                <\/button>\n                                <button class=\"me-explore-modal-card\" data-category-id=\"357\" data-category-name=\"Escorts Mujeres\" data-category-slug=\"escorts-mujeres\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/><circle cx=\"12\" cy=\"7\" r=\"4\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Escorts Mujeres<\/span>\n                    <span class=\"me-cat-count\">56<\/span>\n                <\/button>\n                                <button class=\"me-explore-modal-card\" data-category-id=\"358\" data-category-name=\"Escorts Hombres\" data-category-slug=\"escorts-hombres\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/><circle cx=\"12\" cy=\"7\" r=\"4\"\/><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"17\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Escorts Hombres<\/span>\n                    <span class=\"me-cat-count\">10<\/span>\n                <\/button>\n                                <button class=\"me-explore-modal-card\" data-category-id=\"106\" data-category-name=\"Gays\" data-category-slug=\"gays\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Gays<\/span>\n                    <span class=\"me-cat-count\">0<\/span>\n                <\/button>\n                                <button class=\"me-explore-modal-card\" data-category-id=\"30\" data-category-name=\"Trans\" data-category-slug=\"trans\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><circle cx=\"12\" cy=\"12\" r=\"5\"\/><line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"7\"\/><line x1=\"4.22\" y1=\"4.22\" x2=\"8.17\" y2=\"8.17\"\/><line x1=\"17\" y1=\"12\" x2=\"23\" y2=\"12\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Trans<\/span>\n                    <span class=\"me-cat-count\">15<\/span>\n                <\/button>\n                                <button class=\"me-explore-modal-card\" data-category-id=\"115\" data-category-name=\"Spas er\u00f3ticos\" data-category-slug=\"spas-eroticos\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Spas er\u00f3ticos<\/span>\n                    <span class=\"me-cat-count\">15<\/span>\n                <\/button>\n                                <button class=\"me-explore-modal-card\" data-category-id=\"359\" data-category-name=\"Contenido VIP\" data-category-slug=\"contenido-vip\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M2 4l3 12h14l3-12-5 4-5-6-5 6z\"\/><rect x=\"5\" y=\"16\" width=\"14\" height=\"3\" rx=\"1\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Contenido VIP<\/span>\n                    <span class=\"me-cat-count\">0<\/span>\n                <\/button>\n                                <button class=\"me-explore-modal-card\" data-category-id=\"360\" data-category-name=\"Virtual\" data-category-slug=\"virtual\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><polygon points=\"23 7 16 12 23 17 23 7\"\/><rect x=\"1\" y=\"5\" width=\"15\" height=\"14\" rx=\"2\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Virtual<\/span>\n                    <span class=\"me-cat-count\">1<\/span>\n                <\/button>\n                                <button class=\"me-explore-modal-card\" data-category-id=\"361\" data-category-name=\"Sex Shops\" data-category-slug=\"sex-shops\">\n                    <span class=\"me-cat-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><circle cx=\"9\" cy=\"21\" r=\"1\"\/><circle cx=\"20\" cy=\"21\" r=\"1\"\/><path d=\"M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6\"\/><\/svg><\/span>\n                    <span class=\"me-cat-name\">Sex Shops<\/span>\n                    <span class=\"me-cat-count\">0<\/span>\n                <\/button>\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n\/* ME APP - MOBILE FIRST *\/\n\n:root {\n    --me-red: #C41E3A;\n    --me-red-glow: #E8344E;\n    --me-red-deep: #8B0000;\n    --me-black: #080808;\n    --me-card: #0F0F0F;\n    --me-text: #F0EBE6;\n    --me-text-muted: #888;\n    --me-text-dim: #555;\n    --me-border: rgba(196, 30, 58, 0.12);\n    --me-radius: 16px;\n    --me-tab-height: 64px;\n    --me-header-height: 52px;\n}\n\n.me-state { display: none; }\n.me-state.active { display: block; }\n\n#me-app {\n    background: var(--me-black);\n    min-height: 100vh;\n    min-height: 100dvh;\n    color: var(--me-text);\n    font-family: 'Outfit', sans-serif;\n}\n\n\/* HOME *\/\n.me-home-header {\n    padding: 16px 20px 8px;\n    text-align: center;\n}\n\n.me-logo {\n    font-family: 'Outfit', sans-serif;\n    font-weight: 400;\n    font-size: 26px;\n    letter-spacing: 6px;\n    margin: 0;\n    text-transform: uppercase;\n}\n.me-logo-mundo { color: var(--me-text); }\n.me-logo-erotic { color: var(--me-red); }\n\n.me-home-content {\n    padding: 12px 20px 100px;\n}\n\n.me-home-title {\n    font-size: 20px;\n    font-weight: 300;\n    margin: 0 0 20px;\n    color: var(--me-text);\n    text-align: center!important;\n}\n\n\/* \u2550\u2550\u2550 STORIES SECTION (premium visibility + monetization) \u2550\u2550\u2550 *\/\n.me-stories-section {\n    margin-bottom: 20px;\n    margin-top: 15%;\n}\n\n.me-stories-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    margin-bottom: 12px;\n}\n\n.me-stories-label {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    font-size: 14px;\n    font-weight: 600;\n    color: var(--me-text);\n    letter-spacing: 0.5px;\n}\n\n.me-stories-label svg {\n    color: #D4AF37;\n}\n\n.me-stories-cta-link {\n    display: flex;\n    align-items: center;\n    gap: 4px;\n    font-size: 12px;\n    font-weight: 500;\n    color: var(--me-red) !important;\n    text-decoration: none !important;\n    transition: color 0.2s;\n}\n\n.me-stories-cta-link:hover {\n    color: var(--me-red-glow) !important;\n}\n\n.me-stories {\n    display: flex;\n    gap: 14px;\n    overflow-x: auto;\n    padding: 4px 0 8px;\n    scrollbar-width: none;\n    -webkit-overflow-scrolling: touch;\n}\n.me-stories::-webkit-scrollbar { display: none; }\n\n.me-story {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 6px;\n    flex-shrink: 0;\n    background: none;\n    border: none;\n    padding: 0;\n    cursor: pointer;\n    -webkit-tap-highlight-color: transparent;\n    font-family: inherit;\n    text-decoration: none;\n    position: relative;\n}\n.me-story:active { transform: scale(0.95); }\n\n.me-story-ring {\n    width: 72px;\n    height: 72px;\n    border-radius: 50%;\n    padding: 3px;\n    background: linear-gradient(135deg, var(--me-red), var(--me-red-glow), var(--me-red-deep));\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    animation: me-ring-rotate 4s linear infinite;\n    background-size: 200% 200%;\n}\n\n@keyframes me-ring-rotate {\n    0% { background-position: 0% 50%; }\n    50% { background-position: 100% 50%; }\n    100% { background-position: 0% 50%; }\n}\n\n.me-story-ring img {\n    width: 100%;\n    height: 100%;\n    border-radius: 50%;\n    object-fit: cover;\n    border: 2.5px solid var(--me-black);\n}\n\n.me-story-placeholder {\n    width: 100%;\n    height: 100%;\n    border-radius: 50%;\n    background: var(--me-card);\n    border: 2.5px solid var(--me-black);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    color: var(--me-red);\n    font-size: 22px;\n    font-weight: 600;\n}\n\n\/* VIP stories: gold animated border *\/\n.me-story-vip .me-story-ring {\n    background: linear-gradient(135deg, #B8860B, #FFD700, #D4AF37, #B8860B);\n    background-size: 300% 300%;\n    animation: me-ring-gold 3s linear infinite;\n    box-shadow: 0 0 12px rgba(212, 175, 55, 0.35);\n}\n\n@keyframes me-ring-gold {\n    0% { background-position: 0% 50%; }\n    50% { background-position: 100% 50%; }\n    100% { background-position: 0% 50%; }\n}\n\n.me-story-badge {\n    position: absolute;\n    top: -2px;\n    right: -2px;\n    background: linear-gradient(135deg, #B8860B, #FFD700);\n    color: #000;\n    font-size: 8px;\n    font-weight: 800;\n    padding: 2px 5px;\n    border-radius: 6px;\n    letter-spacing: 0.5px;\n    line-height: 1;\n    z-index: 2;\n}\n\n.me-story-name {\n    font-size: 11px;\n    color: var(--me-text-muted);\n    max-width: 72px;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    text-align: center;\n}\n\n\/* CTA story: dashed border, + icon *\/\n.me-story-cta {\n    text-decoration: none !important;\n}\n\n.me-story-ring-cta {\n    background: none !important;\n    border: 2px dashed rgba(196, 30, 58, 0.4);\n    animation: none !important;\n    box-shadow: none !important;\n}\n\n.me-story-cta-icon {\n    width: 100%;\n    height: 100%;\n    border-radius: 50%;\n    background: rgba(196, 30, 58, 0.08);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    color: var(--me-red);\n    transition: background 0.2s;\n}\n\n.me-story-cta:hover .me-story-cta-icon {\n    background: rgba(196, 30, 58, 0.15);\n}\n\n.me-story-cta .me-story-name {\n    color: var(--me-red);\n    font-weight: 500;\n}\n\n\/* DESKTOP NAV (hidden on mobile) *\/\n.me-desktop-nav {\n    display: none;\n}\n\n\/* CTA BANNER *\/\n.me-cta-banner {\n    margin-top: 24px;\n    padding: 24px 20px;\n    background: linear-gradient(135deg, rgba(196, 30, 58, 0.12) 0%, rgba(139, 0, 0, 0.08) 100%);\n    border: 1px solid rgba(196, 30, 58, 0.2);\n    border-radius: var(--me-radius);\n}\n.me-cta-content {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 16px;\n    text-align: center;\n}\n.me-cta-title {\n    font-size: 18px;\n    font-weight: 400;\n    color: var(--me-text);\n    margin: 0;\n}\n.me-cta-desc {\n    font-size: 13px;\n    color: var(--me-text-muted);\n    margin: 0;\n    line-height: 1.5;\n}\n.me-cta-btn {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    padding: 12px 24px;\n    background: linear-gradient(135deg, var(--me-red) 0%, var(--me-red-deep) 100%);\n    border-radius: 12px;\n    color: #FFFFFF !important;\n    font-size: 15px;\n    font-weight: 500;\n    text-decoration: none !important;\n    font-family: 'Outfit', sans-serif;\n    transition: all 0.2s;\n}\n.me-cta-btn:active {\n    transform: scale(0.97);\n}\n\n\/* CATEGORY CARDS *\/\n.me-categories {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n    margin-bottom: 24px;\n}\n\n.me-category-card {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 8px;\n    padding: 20px 12px;\n    background: var(--me-card);\n    border: 1px solid var(--me-border);\n    border-radius: var(--me-radius);\n    cursor: pointer;\n    transition: all 0.2s;\n    -webkit-tap-highlight-color: transparent;\n    color: var(--me-text);\n    font-family: inherit;\n    font-size: inherit;\n}\n\n.me-category-card:active {\n    transform: scale(0.96);\n    background: var(--me-text);\n    border-color: var(--me-text);\n}\n.me-category-card:active .me-cat-icon,\n.me-category-card:active .me-cat-name {\n    color: var(--me-red);\n}\n.me-category-card:active .me-cat-count {\n    color: var(--me-red);\n    background: rgba(196, 30, 58, 0.15);\n}\n\n.me-cat-icon { color: var(--me-red); }\n\n.me-cat-name {\n    font-size: 14px;\n    font-weight: 400;\n}\n\n.me-cat-count {\n    font-size: 12px;\n    color: var(--me-text-muted);\n    background: rgba(196, 30, 58, 0.08);\n    padding: 2px 10px;\n    border-radius: 20px;\n}\n\n\/* DIVIDER *\/\n.me-home-divider {\n    text-align: center;\n    margin: 24px 0;\n    position: relative;\n}\n.me-home-divider::before,\n.me-home-divider::after {\n    content: '';\n    position: absolute;\n    top: 50%;\n    width: calc(50% - 80px);\n    height: 1px;\n    background: var(--me-border);\n}\n.me-home-divider::before { left: 0; }\n.me-home-divider::after { right: 0; }\n.me-home-divider span {\n    font-size: 13px;\n    color: var(--me-text-dim);\n    padding: 0 12px;\n}\n\n\/* LOCATION *\/\n.me-btn-geolocation {\n    width: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    padding: 14px;\n    background: transparent;\n    border: 2px solid rgba(255,255,255,0.5);\n    border-radius: var(--me-radius);\n    color: #fff;\n    font-size: 15px;\n    font-weight: 400;\n    font-family: 'Outfit', sans-serif;\n    cursor: pointer;\n    transition: all 0.2s;\n    margin-bottom: 12px;\n}\n.me-btn-geolocation:active {\n    background: rgba(255, 255, 255, 0.08);\n}\n.me-btn-geolocation.located {\n    border-color: #059669;\n    color: #34d399;\n}\n\n.me-location-selects {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 10px;\n    margin-bottom: 12px;\n}\n\n.me-select {\n    width: 100%;\n    padding: 12px 14px;\n    background: var(--me-card);\n    border: 1px solid var(--me-border);\n    border-radius: 12px;\n    color: var(--me-text);\n    font-size: 14px;\n    font-family: 'Outfit', sans-serif;\n    -webkit-appearance: none;\n    appearance: none;\n    background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'\/%3E%3C\/svg%3E\");\n    background-repeat: no-repeat;\n    background-position: right 12px center;\n}\n.me-select:disabled { opacity: 0.4; }\n\n.me-btn-search {\n    width: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    padding: 16px;\n    background: linear-gradient(135deg, var(--me-red) 0%, var(--me-red-deep) 100%);\n    border: none;\n    border-radius: var(--me-radius);\n    color: var(--me-text);\n    font-size: 16px;\n    font-weight: 400;\n    font-family: 'Outfit', sans-serif;\n    cursor: pointer;\n    margin-top: 4px;\n    transition: all 0.2s;\n}\n.me-btn-search:active { transform: scale(0.98); }\n\n\/* FEED *\/\n\/* FEED HEADER - red glassmorphic bar with back + context + filters + geo *\/\n.me-feed-header {\n    position: fixed;\n    top: 0;\n    left: 0;\n    right: 0;\n    z-index: 9998;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    padding: 10px 12px;\n    background: rgba(139, 0, 0, 0.45);\n    box-shadow: 0 4px 30px rgba(196, 30, 58, 0.15);\n    backdrop-filter: blur(14px);\n    -webkit-backdrop-filter: blur(14px);\n    border-bottom: 1px solid rgba(196, 30, 58, 0.3);\n    min-height: var(--me-header-height);\n    transition: transform 0.3s ease, opacity 0.3s ease;\n}\n\n.me-feed-header.me-hidden {\n    transform: translateY(-100%);\n    opacity: 0;\n    pointer-events: none;\n}\n\n.me-back-btn,\n.me-feed-geo-btn {\n    background: none;\n    border: none;\n    color: var(--me-text);\n    padding: 4px;\n    cursor: pointer;\n    -webkit-tap-highlight-color: transparent;\n    flex-shrink: 0;\n}\n\n.me-feed-geo-btn.located {\n    color: #34d399;\n}\n\n.me-feed-context {\n    font-size: 13px;\n    font-weight: 400;\n    color: var(--me-text);\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    flex-shrink: 1;\n    min-width: 0;\n}\n\n.me-feed-select {\n    flex: 1;\n    min-width: 0;\n    padding: 8px 26px 8px 10px;\n    background: rgba(8, 8, 8, 0.5);\n    border: 1px solid rgba(240, 235, 230, 0.2);\n    border-radius: 8px;\n    color: var(--me-text);\n    font-size: 13px;\n    font-family: 'Outfit', sans-serif;\n    appearance: none;\n    -webkit-appearance: none;\n    background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23F0EBE6' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'\/%3E%3C\/svg%3E\");\n    background-repeat: no-repeat;\n    background-position: right 8px center;\n}\n\n.me-feed-select:disabled {\n    opacity: 0.4;\n}\n\n\/* AUTO-HIDE TAB BAR *\/\n.selectvip-tab-bar {\n    transition: transform 0.3s ease, opacity 0.3s ease;\n}\n.selectvip-tab-bar.me-hidden {\n    -webkit-transform: translate3d(0, 100%, 0);\n    transform: translate3d(0, 100%, 0);\n    opacity: 0;\n    pointer-events: none;\n}\n\n\/* SCROLL TO TOP BUTTON *\/\n.me-scroll-top {\n    position: fixed;\n    bottom: calc(var(--me-tab-height) + 16px);\n    right: 16px;\n    z-index: 9997;\n    width: 44px;\n    height: 44px;\n    border-radius: 50%;\n    border: none;\n    background: rgba(196, 30, 58, 0.85);\n    backdrop-filter: blur(8px);\n    -webkit-backdrop-filter: blur(8px);\n    color: #fff;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    cursor: pointer;\n    box-shadow: 0 4px 16px rgba(0,0,0,0.4);\n    transition: opacity 0.3s, transform 0.3s;\n    -webkit-tap-highlight-color: transparent;\n}\n.me-scroll-top:active {\n    transform: scale(0.9);\n}\n\n\/* PULL TO REFRESH *\/\n.me-pull-indicator {\n    position: fixed;\n    top: 0;\n    left: 0;\n    right: 0;\n    z-index: 9999;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    height: 0;\n    overflow: hidden;\n    background: rgba(196, 30, 58, 0.9);\n    backdrop-filter: blur(10px);\n    -webkit-backdrop-filter: blur(10px);\n    transition: height 0.2s ease;\n    color: #fff;\n    font-size: 13px;\n    font-weight: 600;\n    font-family: 'Outfit', sans-serif;\n}\n.me-pull-indicator.active {\n    height: 48px;\n}\n.me-pull-indicator.refreshing .me-pull-icon {\n    animation: me-spin 0.8s linear infinite;\n}\n.me-pull-indicator.refreshing .me-pull-text::after {\n    content: '...';\n}\n\n\/* TIKTOK SNAP SCROLL *\/\n.me-feed-scroll {\n    scroll-snap-type: y mandatory;\n    overflow-y: scroll;\n    height: calc(100vh - var(--me-tab-height));\n    height: calc(100dvh - var(--me-tab-height));\n    -webkit-overflow-scrolling: touch;\n    scroll-behavior: smooth;\n}\n\n.me-tiktok-card {\n    scroll-snap-align: start;\n    height: calc(100vh - var(--me-tab-height));\n    height: calc(100dvh - var(--me-tab-height));\n    display: flex;\n    flex-direction: column;\n    background: var(--me-black);\n    position: relative;\n    overflow: hidden;\n}\n\n\/* GALLERY - fills all remaining space *\/\n.me-tiktok-gallery {\n    flex: 1 1 auto;\n    position: relative;\n    overflow: hidden;\n    min-height: 0;\n}\n\n\/* Transform-based slider \u2014 no scroll container, no conflict with feed *\/\n.me-tiktok-slides {\n    display: flex;\n    height: 100%;\n    overflow: hidden;\n    touch-action: pan-y;\n    position: relative;\n}\n\n.me-tiktok-track {\n    display: flex;\n    height: 100%;\n    will-change: transform;\n    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n}\n.me-tiktok-track.dragging {\n    transition: none;\n}\n\n.me-tiktok-slide {\n    flex: 0 0 100%;\n    height: 100%;\n    position: relative;\n}\n\n.me-tiktok-slide img {\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    background: var(--me-black);\n    pointer-events: none;\n    -webkit-user-drag: none;\n    user-select: none;\n}\n\n\/* Tap zones: invisible hit areas on left\/right edges *\/\n.me-tap-zone {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    width: 25%;\n    z-index: 3;\n    cursor: pointer;\n    -webkit-tap-highlight-color: transparent;\n}\n.me-tap-prev { left: 0; }\n.me-tap-next { right: 0; }\n\n.me-tiktok-no-image {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: var(--me-card);\n    color: var(--me-text-dim);\n    font-size: 16px;\n}\n\n\/* BADGES *\/\n.me-tiktok-badges {\n    position: absolute;\n    top: calc(var(--me-header-height) + 8px);\n    left: 12px;\n    display: flex;\n    gap: 6px;\n    z-index: 2;\n}\n\n.me-badge {\n    width: 28px;\n    height: 28px;\n    border-radius: 8px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 13px;\n    font-weight: 700;\n    background: rgba(8, 8, 8, 0.6);\n    backdrop-filter: blur(8px);\n    color: var(--me-text);\n}\n\n.me-badge-verified {\n    background: linear-gradient(135deg, #059669, #047857);\n    color: white;\n}\n\n\/* DOTS *\/\n.me-tiktok-dots {\n    position: absolute;\n    bottom: 12px;\n    left: 50%;\n    transform: translateX(-50%);\n    display: flex;\n    gap: 6px;\n    align-items: center;\n    z-index: 2;\n}\n\n.me-dot {\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    background: rgba(240, 235, 230, 0.4);\n    transition: all 0.3s;\n}\n\n.me-dot.active {\n    width: 8px;\n    height: 8px;\n    background: var(--me-red);\n}\n\n.me-dot-more {\n    font-size: 10px;\n    color: var(--me-text-muted);\n}\n\n\/* COUNTER *\/\n.me-tiktok-counter {\n    position: absolute;\n    top: calc(var(--me-header-height) + 8px);\n    right: 12px;\n    padding: 4px 10px;\n    background: rgba(8, 8, 8, 0.6);\n    backdrop-filter: blur(8px);\n    border-radius: 20px;\n    font-size: 12px;\n    color: var(--me-text);\n    z-index: 2;\n}\n\n\/* FEATURED BADGE *\/\n.me-tiktok-featured {\n    position: absolute;\n    top: calc(var(--me-header-height) + 8px);\n    left: 50%;\n    transform: translateX(-50%);\n    padding: 6px 18px;\n    background: linear-gradient(135deg, var(--me-red), var(--me-red-deep));\n    background-size: 200% auto;\n    border-radius: 20px;\n    font-size: 12px;\n    font-weight: 700;\n    letter-spacing: 1.5px;\n    color: white;\n    z-index: 2;\n    display: flex;\n    align-items: center;\n    gap: 5px;\n    box-shadow: 0 2px 12px rgba(196, 30, 58, 0.5);\n    animation: me-badge-shine 3s linear infinite;\n    background-image: linear-gradient(90deg, var(--me-red) 0%, var(--me-red-glow) 25%, var(--me-red) 50%, var(--me-red-deep) 100%);\n    background-size: 200% auto;\n}\n.me-tiktok-featured.me-featured-vip {\n    background-image: linear-gradient(90deg, #B8860B 0%, #FFD700 25%, #D4AF37 50%, #B8860B 100%);\n    background-size: 200% auto;\n    box-shadow: 0 2px 16px rgba(212, 175, 55, 0.6);\n}\n.me-tiktok-featured.me-featured-biz {\n    background-image: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);\n    background-size: 200% auto;\n    box-shadow: 0 2px 12px rgba(15, 52, 96, 0.6);\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    font-size: 11px;\n    letter-spacing: 1px;\n}\n\n\/* \u2550\u2550\u2550 PREMIUM TIKTOK CARD VISUALS \u2550\u2550\u2550 *\/\n@keyframes me-pulse-red {\n    0%, 100% { box-shadow: 0 0 8px rgba(196, 30, 58, 0.3); }\n    50% { box-shadow: 0 0 20px rgba(196, 30, 58, 0.5), 0 0 40px rgba(196, 30, 58, 0.15); }\n}\n@keyframes me-pulse-gold {\n    0%, 100% { box-shadow: 0 0 10px rgba(212, 175, 55, 0.4); }\n    50% { box-shadow: 0 0 24px rgba(212, 175, 55, 0.6), 0 0 50px rgba(212, 175, 55, 0.2); }\n}\n@keyframes me-badge-shine {\n    0% { background-position: -200% center; }\n    100% { background-position: 200% center; }\n}\n.me-tiktok-card.me-premium {\n    border: 2px solid rgba(196, 30, 58, 0.5);\n    animation: me-pulse-red 3s ease-in-out infinite;\n}\n.me-tiktok-card.me-tier-featured .me-tiktok-info {\n    background: linear-gradient(180deg, var(--me-card) 0%, rgba(196, 30, 58, 0.12) 100%);\n    border-top: 2px solid rgba(196, 30, 58, 0.5);\n}\n.me-tiktok-card.me-tier-vip {\n    border: 2px solid rgba(212, 175, 55, 0.6);\n    animation: me-pulse-gold 3s ease-in-out infinite;\n}\n.me-tiktok-card.me-tier-vip .me-tiktok-info {\n    background: linear-gradient(180deg, var(--me-card) 0%, rgba(212, 175, 55, 0.1) 100%);\n    border-top: 2px solid rgba(212, 175, 55, 0.6);\n}\n.me-tiktok-card.me-tier-vip .me-tiktok-price {\n    color: #D4AF37;\n}\n\n\/* \u2550\u2550\u2550 PREMIUM GRID CARD VISUALS \u2550\u2550\u2550 *\/\n.me-grid-card.me-grid-premium {\n    border: 2px solid rgba(196, 30, 58, 0.5);\n    box-shadow: 0 0 12px rgba(196, 30, 58, 0.2), inset 0 0 20px rgba(196, 30, 58, 0.05);\n    animation: me-grid-pulse-red 3s ease-in-out infinite;\n}\n@keyframes me-grid-pulse-red {\n    0%, 100% { box-shadow: 0 0 12px rgba(196, 30, 58, 0.2), inset 0 0 20px rgba(196, 30, 58, 0.05); }\n    50% { box-shadow: 0 0 20px rgba(196, 30, 58, 0.35), 0 0 40px rgba(196, 30, 58, 0.1), inset 0 0 20px rgba(196, 30, 58, 0.08); }\n}\n.me-grid-card.me-grid-premium .me-grid-card-overlay {\n    background: linear-gradient(transparent 30%, rgba(139, 0, 0, 0.85) 100%);\n}\n.me-grid-card.me-grid-premium .me-grid-card-price {\n    color: var(--me-red-glow);\n    font-weight: 500;\n}\n\n.me-grid-card.me-grid-vip {\n    grid-column: span 2;\n    aspect-ratio: 16\/9;\n    border: 2px solid rgba(212, 175, 55, 0.6);\n    box-shadow: 0 0 16px rgba(212, 175, 55, 0.25), inset 0 0 24px rgba(212, 175, 55, 0.05);\n    animation: me-grid-pulse-gold 3s ease-in-out infinite;\n}\n@keyframes me-grid-pulse-gold {\n    0%, 100% { box-shadow: 0 0 16px rgba(212, 175, 55, 0.25), inset 0 0 24px rgba(212, 175, 55, 0.05); }\n    50% { box-shadow: 0 0 24px rgba(212, 175, 55, 0.4), 0 0 50px rgba(212, 175, 55, 0.12), inset 0 0 24px rgba(212, 175, 55, 0.08); }\n}\n.me-grid-card.me-grid-vip .me-grid-card-overlay {\n    background: linear-gradient(transparent 20%, rgba(50, 40, 0, 0.85) 100%);\n}\n.me-grid-card.me-grid-vip .me-grid-card-name {\n    color: #FFD700;\n}\n.me-grid-card.me-grid-vip .me-grid-card-price {\n    color: #D4AF37;\n    font-weight: 500;\n}\n\n.me-grid-card-badge {\n    position: absolute;\n    top: 6px;\n    left: 6px;\n    padding: 3px 10px;\n    background-image: linear-gradient(90deg, var(--me-red) 0%, var(--me-red-glow) 25%, var(--me-red) 50%, var(--me-red-deep) 100%);\n    background-size: 200% auto;\n    border-radius: 12px;\n    font-size: 10px;\n    font-weight: 700;\n    letter-spacing: 1px;\n    color: white;\n    z-index: 2;\n    animation: me-badge-shine 3s linear infinite;\n    box-shadow: 0 2px 8px rgba(196, 30, 58, 0.4);\n}\n.me-grid-card-badge.me-badge-vip {\n    background-image: linear-gradient(90deg, #B8860B 0%, #FFD700 25%, #D4AF37 50%, #B8860B 100%);\n    background-size: 200% auto;\n    box-shadow: 0 2px 10px rgba(212, 175, 55, 0.6);\n}\n\n\/* MINI FICHA - compact, auto-height so gallery gets max space *\/\n.me-tiktok-info {\n    flex: 0 0 auto;\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n    padding: 10px 16px 12px;\n    background: var(--me-card);\n    border-top: 1px solid var(--me-border);\n}\n\n.me-tiktok-info-top {\n    display: flex;\n    flex-direction: column;\n    gap: 2px;\n}\n\n.me-tiktok-name {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n}\n\n.me-tiktok-name h3 {\n    margin: 0;\n    font-size: 16px;\n    font-weight: 500;\n    color: var(--me-text);\n    line-height: 1.2;\n}\n\n.me-tiktok-name a {\n    color: inherit;\n    text-decoration: none;\n}\n\n.me-tiktok-name a:hover h3 {\n    text-decoration: underline;\n}\n\n.me-verified-dot {\n    width: 18px;\n    height: 18px;\n    border-radius: 50%;\n    background: #059669;\n    color: white;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 10px;\n}\n\n.me-tiktok-location {\n    font-size: 12px;\n    color: var(--me-text-muted);\n}\n\n.me-tiktok-available {\n    font-size: 11px;\n    color: #34d399;\n    font-weight: 400;\n}\n\n.me-tiktok-info-bottom {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 10px;\n}\n\n.me-tiktok-price {\n    font-size: 15px;\n    font-weight: 500;\n    color: var(--me-red);\n}\n\n.me-tiktok-actions {\n    display: flex;\n    gap: 8px;\n    flex-shrink: 0;\n}\n\n.me-btn-wa {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    padding: 8px 14px;\n    background: #25D366;\n    border-radius: 10px;\n    color: #FFFFFF !important;\n    font-size: 13px;\n    font-weight: 500;\n    text-decoration: none !important;\n    white-space: nowrap;\n    font-family: 'Outfit', sans-serif;\n}\n.me-btn-wa svg {\n    color: #FFFFFF !important;\n    flex-shrink: 0;\n}\n\n.me-btn-profile {\n    display: flex;\n    align-items: center;\n    padding: 8px 14px;\n    background: rgba(196, 30, 58, 0.15);\n    border: 1px solid rgba(196, 30, 58, 0.3);\n    border-radius: 10px;\n    color: var(--me-text) !important;\n    font-size: 13px;\n    font-weight: 400;\n    text-decoration: none !important;\n    white-space: nowrap;\n    font-family: 'Outfit', sans-serif;\n}\n\n\/* EXPLORE STATE - grid mode *\/\n.me-explore-header {\n    position: fixed;\n    top: 0;\n    left: 0;\n    right: 0;\n    z-index: 9998;\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    padding: 10px 12px;\n    background: rgba(8, 8, 8, 0.85);\n    backdrop-filter: blur(14px);\n    -webkit-backdrop-filter: blur(14px);\n    border-bottom: 1px solid var(--me-border);\n    min-height: var(--me-header-height);\n    transition: transform 0.3s ease, opacity 0.3s ease;\n}\n.me-explore-header.me-hidden {\n    transform: translateY(-100%);\n    opacity: 0;\n    pointer-events: none;\n}\n\n.me-btn-surprise {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    margin-left: auto;\n    padding: 8px 16px;\n    background: linear-gradient(135deg, var(--me-red) 0%, var(--me-red-deep) 100%);\n    border: none;\n    border-radius: 20px;\n    color: #FFFFFF;\n    font-size: 13px;\n    font-weight: 500;\n    font-family: 'Outfit', sans-serif;\n    cursor: pointer;\n    -webkit-tap-highlight-color: transparent;\n    transition: transform 0.2s;\n}\n.me-btn-surprise:active {\n    transform: scale(0.95);\n}\n.me-btn-surprise svg {\n    color: #FFFFFF;\n}\n\n\/* \u2550\u2550\u2550 EXPLORE FILTERS (category + geo) \u2550\u2550\u2550 *\/\n.me-explore-filters {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    flex: 1;\n    min-width: 0;\n}\n\n.me-explore-filter-select {\n    flex: 1;\n    min-width: 0;\n    padding: 7px 26px 7px 10px;\n    background: rgba(8, 8, 8, 0.5);\n    border: 1px solid rgba(240, 235, 230, 0.2);\n    border-radius: 8px;\n    color: var(--me-text);\n    font-size: 12px;\n    font-family: 'Outfit', sans-serif;\n    appearance: none;\n    -webkit-appearance: none;\n    background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23F0EBE6' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'\/%3E%3C\/svg%3E\");\n    background-repeat: no-repeat;\n    background-position: right 8px center;\n    transition: border-color 0.2s;\n}\n.me-explore-filter-select:focus {\n    outline: none;\n    border-color: var(--me-red);\n}\n\n.me-explore-geo-btn {\n    background: none;\n    border: 1px solid rgba(240, 235, 230, 0.2);\n    border-radius: 8px;\n    color: var(--me-text);\n    padding: 6px 8px;\n    cursor: pointer;\n    -webkit-tap-highlight-color: transparent;\n    flex-shrink: 0;\n    transition: all 0.2s;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n.me-explore-geo-btn:active {\n    transform: scale(0.92);\n}\n.me-explore-geo-btn.located {\n    color: #34d399;\n    border-color: #059669;\n    background: rgba(5, 150, 105, 0.1);\n}\n.me-explore-geo-btn.loading {\n    opacity: 0.5;\n    pointer-events: none;\n}\n\n\/* Hide \"Sorpr\u00e9ndeme\" text on very small screens *\/\n@media (max-width: 380px) {\n    .me-surprise-text { display: none; }\n}\n\n.me-explore-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 4px;\n    padding: calc(var(--me-header-height) + 8px) 4px 80px;\n}\n\n.me-grid-card {\n    position: relative;\n    aspect-ratio: 3\/4;\n    border-radius: 8px;\n    overflow: hidden;\n    background: var(--me-card);\n}\n.me-grid-card img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n}\n.me-grid-card-overlay {\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    padding: 8px 10px;\n    background: linear-gradient(transparent, rgba(8, 8, 8, 0.85));\n}\n.me-grid-card-name {\n    font-size: 14px;\n    font-weight: 400;\n    color: var(--me-text);\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\n.me-grid-card-meta {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 4px;\n    margin-top: 2px;\n}\n.me-grid-card-location {\n    font-size: 11px;\n    color: var(--me-text-muted);\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\n.me-grid-card-price {\n    font-size: 12px;\n    font-weight: 400;\n    color: var(--me-red);\n    white-space: nowrap;\n}\n.me-grid-card-no-img {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 13px;\n    color: var(--me-text-dim);\n}\n.me-grid-card a {\n    text-decoration: none !important;\n    color: inherit !important;\n}\n\n\/* SPINNER *\/\n.me-spinner {\n    width: 32px;\n    height: 32px;\n    border: 3px solid var(--me-border);\n    border-top-color: var(--me-red);\n    border-radius: 50%;\n    animation: me-spin 0.7s linear infinite;\n    margin: 40px auto;\n}\n@keyframes me-spin { to { transform: rotate(360deg); } }\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   MARKETPLACE GRID: Spas & Sex Shops (1x2 cards)\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.me-marketplace-scroll {\n    overflow-y: auto;\n    height: calc(100vh - var(--me-tab-height) - var(--me-header-height));\n    height: calc(100dvh - var(--me-tab-height) - var(--me-header-height));\n    margin-top: var(--me-header-height);\n    -webkit-overflow-scrolling: touch;\n    padding: 12px 12px 20px;\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 12px;\n    align-content: start;\n}\n.me-mp-card {\n    background: var(--me-dark-card);\n    border-radius: 12px;\n    overflow: hidden;\n    position: relative;\n    transition: transform 0.2s;\n    display: flex;\n    flex-direction: column;\n}\n.me-mp-card:active { transform: scale(0.97); }\n.me-mp-featured { border: 1px solid rgba(196, 30, 58, 0.4); }\n.me-mp-card-link {\n    display: flex;\n    flex-direction: column;\n    text-decoration: none;\n    color: inherit;\n    height: 100%;\n}\n.me-mp-card-img {\n    position: relative;\n    aspect-ratio: 4\/3;\n    overflow: hidden;\n    background: #111;\n    flex-shrink: 0;\n}\n.me-mp-card-img img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n}\n.me-mp-card-no-img {\n    width: 100%;\n    height: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 32px;\n    background: #111;\n}\n.me-mp-badge {\n    position: absolute;\n    top: 8px;\n    left: 8px;\n    background: var(--me-red);\n    color: #fff;\n    font-size: 9px;\n    font-weight: 700;\n    letter-spacing: 0.5px;\n    padding: 3px 8px;\n    border-radius: 4px;\n    text-transform: uppercase;\n}\n.me-mp-card-body {\n    padding: 8px 10px 10px;\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n    min-height: 0;\n}\n.me-mp-card-title {\n    font-size: 13px;\n    font-weight: 600;\n    color: var(--me-white);\n    margin: 0 0 4px;\n    line-height: 1.3;\n    display: -webkit-box;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n}\n.me-mp-card-meta {\n    display: flex;\n    flex-direction: column;\n    gap: 2px;\n    margin-bottom: 6px;\n}\n.me-mp-card-loc {\n    font-size: 11px;\n    color: var(--me-text-muted);\n}\n.me-mp-card-extra {\n    font-size: 11px;\n    color: var(--me-text-secondary);\n}\n.me-mp-card-footer {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    margin-top: auto;\n}\n.me-mp-card-price {\n    font-size: 14px;\n    font-weight: 700;\n    color: var(--me-red);\n}\n.me-mp-card-wa {\n    position: absolute;\n    top: 8px;\n    right: 8px;\n    width: 32px;\n    height: 32px;\n    background: #25D366;\n    color: #fff;\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    z-index: 2;\n}\n.me-marketplace-empty {\n    grid-column: 1 \/ -1;\n    text-align: center;\n    color: var(--me-text-muted);\n    padding: 60px 20px;\n    font-size: 14px;\n}\n\n\/* FALLBACK: no results header *\/\n.me-fallback-header {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    scroll-snap-align: start;\n}\n.me-fallback-header.me-tiktok-card {\n    background: linear-gradient(180deg, var(--me-black) 0%, rgba(196, 30, 58, 0.08) 100%);\n}\n.me-fallback-content {\n    text-align: center;\n    padding: 40px 24px;\n}\n.me-fallback-icon {\n    font-size: 48px;\n    margin-bottom: 16px;\n    opacity: 0.7;\n}\n.me-fallback-content h3 {\n    font-family: 'Outfit', sans-serif;\n    font-size: 20px;\n    font-weight: 700;\n    color: var(--me-white);\n    margin: 0 0 8px;\n    letter-spacing: -0.3px;\n}\n.me-fallback-content p {\n    font-size: 14px;\n    color: var(--me-text-secondary);\n    margin: 0;\n    font-style: italic;\n}\n\n\/* Explorer: business badge for spa\/shop listings *\/\n.me-grid-card-badge.me-badge-biz {\n    background: linear-gradient(135deg, #C41E3A 0%, #FF6B6B 100%) !important;\n    font-size: 8px;\n    letter-spacing: 0.5px;\n    animation: none;\n}\n.me-grid-card.me-grid-biz {\n    border: 1px solid rgba(196, 30, 58, 0.3);\n}\n\n.me-feed-loading {\n    height: calc(100vh - var(--me-tab-height));\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   DESKTOP (>768px) - Full responsive adaptation\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n@media (min-width: 768px) {\n    :root {\n        --me-tab-height: 0px;\n    }\n\n    \/* \u2500\u2500 APP CONTAINER \u2500\u2500 *\/\n    #me-app {\n        max-width: 1200px;\n        margin: 0 auto;\n        padding: 0 24px;\n    }\n\n    \/* \u2500\u2500 HOME \u2500\u2500 *\/\n    .me-home-header {\n        padding: 32px 0 12px;\n    }\n    .me-logo {\n        font-size: 32px;\n        letter-spacing: 8px;\n    }\n    .me-home-content {\n        max-width: 960px;\n        margin: 0 auto;\n        padding: 16px 0 60px;\n    }\n    .me-home-title {\n        font-size: 24px;\n        margin-bottom: 24px;\n    }\n\n    \/* \u2500\u2500 DESKTOP NAV BAR \u2500\u2500 *\/\n    .me-desktop-nav {\n        display: flex;\n        justify-content: center;\n        gap: 6px;\n        margin-top: 12px;\n    }\n    .me-desktop-nav-item {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        padding: 10px 18px;\n        background: none;\n        border: 1px solid var(--me-border);\n        border-radius: 24px;\n        color: var(--me-text);\n        font-family: 'Outfit', sans-serif;\n        font-size: 14px;\n        font-weight: 400;\n        cursor: pointer;\n        text-decoration: none !important;\n        transition: all 0.2s;\n    }\n    .me-desktop-nav-item:hover {\n        border-color: rgba(196, 30, 58, 0.4);\n        background: rgba(196, 30, 58, 0.06);\n        color: var(--me-text);\n    }\n    .me-desktop-nav-item svg {\n        color: var(--me-red);\n    }\n    .me-desktop-nav-publish {\n        background: rgba(196, 30, 58, 0.1);\n        border-color: rgba(196, 30, 58, 0.3);\n    }\n    .me-desktop-nav-cta {\n        background: linear-gradient(135deg, var(--me-red) 0%, var(--me-red-deep) 100%);\n        border-color: transparent;\n        color: #FFFFFF !important;\n        font-weight: 500;\n    }\n    .me-desktop-nav-cta svg {\n        color: #FFFFFF;\n    }\n    .me-desktop-nav-cta:hover {\n        box-shadow: 0 4px 16px rgba(196, 30, 58, 0.3);\n        color: #FFFFFF !important;\n        background: linear-gradient(135deg, var(--me-red-glow) 0%, var(--me-red) 100%);\n    }\n\n    \/* \u2500\u2500 CTA BANNER (desktop: horizontal) \u2500\u2500 *\/\n    .me-cta-content {\n        flex-direction: row;\n        text-align: left;\n    }\n    .me-cta-text {\n        flex: 1;\n    }\n    .me-cta-title {\n        font-size: 20px;\n    }\n    .me-cta-desc {\n        font-size: 14px;\n    }\n    .me-cta-btn {\n        flex-shrink: 0;\n        padding: 14px 28px;\n    }\n    .me-cta-btn:hover {\n        box-shadow: 0 4px 20px rgba(196, 30, 58, 0.3);\n        transform: translateY(-2px);\n    }\n\n    \/* \u2500\u2500 STORIES (desktop: bigger circles, centered) \u2500\u2500 *\/\n    .me-stories-section {\n        margin-bottom: 28px;\n    }\n    .me-stories {\n        gap: 20px;\n        padding: 8px 0 12px;\n        justify-content: center;\n    }\n    .me-story-ring {\n        width: 80px;\n        height: 80px;\n    }\n    .me-story-name {\n        font-size: 12px;\n        max-width: 80px;\n    }\n    .me-stories-header {\n        justify-content: center;\n        gap: 24px;\n    }\n    .me-stories-label {\n        font-size: 15px;\n    }\n    .me-stories-cta-link {\n        font-size: 13px;\n    }\n\n    \/* \u2500\u2500 LOCATION SECTION (desktop: horizontal row, no wrap) \u2500\u2500 *\/\n    .me-location-section {\n        display: flex;\n        gap: 12px;\n        align-items: center;\n        flex-wrap: nowrap;\n    }\n    .me-btn-geolocation {\n        flex: 0 0 auto;\n        width: auto;\n        padding: 12px 16px;\n        margin-bottom: 0;\n        font-size: 13px;\n    }\n    .me-location-selects {\n        flex: 1;\n        margin-bottom: 0;\n        min-width: 0;\n    }\n    .me-location-section .me-btn-search {\n        width: auto;\n        padding: 14px 28px;\n        margin-top: 0;\n        flex-shrink: 0;\n    }\n\n    \/* \u2500\u2500 CATEGORIES (desktop: 4 cols) \u2500\u2500 *\/\n    .me-categories {\n        grid-template-columns: repeat(4, 1fr);\n        gap: 16px;\n        max-width: 960px;\n        margin: 0 auto 24px;\n    }\n    .me-category-card {\n        padding: 24px 16px;\n        transition: all 0.2s, transform 0.15s;\n    }\n    .me-category-card:hover {\n        transform: translateY(-2px);\n        border-color: rgba(196, 30, 58, 0.3);\n        box-shadow: 0 4px 20px rgba(196, 30, 58, 0.1);\n    }\n\n    \/* \u2500\u2500 DIVIDER (desktop) \u2500\u2500 *\/\n    .me-home-divider {\n        margin: 32px 0;\n    }\n\n    \/* \u2500\u2500 FEED HEADER (desktop: sticky, centered, rounded) \u2500\u2500 *\/\n    .me-feed-header {\n        position: sticky;\n        top: 0;\n        border-radius: 0 0 var(--me-radius) var(--me-radius);\n        padding: 12px 20px;\n        gap: 12px;\n    }\n    .me-feed-context {\n        font-size: 15px;\n    }\n    .me-feed-select {\n        max-width: 200px;\n    }\n\n    \/* \u2500\u2500 FEED SCROLL (desktop: card grid, no snap) \u2500\u2500 *\/\n    .me-feed-scroll {\n        scroll-snap-type: unset;\n        height: auto;\n        overflow: visible;\n        display: grid;\n        grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));\n        gap: 20px;\n        padding: 24px 0;\n    }\n\n    \/* \u2500\u2500 TIKTOK CARD (desktop: fixed height card) \u2500\u2500 *\/\n    .me-tiktok-card {\n        scroll-snap-align: unset;\n        height: 540px;\n        border-radius: var(--me-radius);\n        overflow: hidden;\n        border: 1px solid var(--me-border);\n        transition: transform 0.2s, box-shadow 0.2s;\n    }\n    .me-tiktok-card:hover {\n        transform: translateY(-4px);\n        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);\n    }\n\n    \/* Premium cards hover glow *\/\n    .me-tiktok-card.me-tier-featured:hover {\n        box-shadow: 0 8px 30px rgba(196, 30, 58, 0.2);\n    }\n    .me-tiktok-card.me-tier-vip:hover {\n        box-shadow: 0 8px 30px rgba(212, 175, 55, 0.25);\n    }\n\n    .me-tiktok-gallery { flex: 1 1 auto; }\n    .me-tiktok-info { flex: 0 0 auto; padding: 14px 20px 16px; }\n    .me-tiktok-name h3 { font-size: 18px; }\n    .me-tiktok-price { font-size: 16px; }\n\n    \/* Reset badge positions on desktop (header is sticky, not overlaying cards) *\/\n    .me-tiktok-badges { top: 12px; }\n    .me-tiktok-counter { top: 12px; }\n    .me-tiktok-featured { top: 12px; }\n    .me-tiktok-slide img { object-fit: cover; }\n\n    \/* \u2500\u2500 MARKETPLACE (desktop: 3-4 columns) \u2500\u2500 *\/\n    .me-marketplace-scroll {\n        height: auto;\n        overflow: visible;\n        margin-top: 0;\n        grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\n        gap: 20px;\n        padding: 24px 0;\n    }\n    .me-mp-card:hover {\n        transform: translateY(-4px);\n        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);\n    }\n    .me-mp-card-title { font-size: 14px; }\n\n    \/* \u2500\u2500 EXPLORE HEADER (desktop: sticky, centered) \u2500\u2500 *\/\n    .me-explore-header {\n        position: sticky;\n        top: 0;\n        border-radius: 0 0 var(--me-radius) var(--me-radius);\n        padding: 12px 20px;\n    }\n    .me-btn-surprise {\n        padding: 10px 24px;\n        font-size: 14px;\n    }\n    .me-btn-surprise:hover {\n        box-shadow: 0 4px 16px rgba(196, 30, 58, 0.3);\n    }\n\n    \/* \u2500\u2500 EXPLORE FILTERS (desktop) \u2500\u2500 *\/\n    .me-explore-filter-select {\n        max-width: 180px;\n        font-size: 13px;\n        padding: 8px 28px 8px 12px;\n    }\n    .me-explore-filter-select:hover {\n        border-color: rgba(240, 235, 230, 0.4);\n    }\n    .me-explore-geo-btn {\n        padding: 8px 10px;\n        border-radius: 8px;\n    }\n    .me-explore-geo-btn:hover {\n        background: rgba(240, 235, 230, 0.08);\n        border-color: rgba(240, 235, 230, 0.4);\n    }\n\n    \/* \u2500\u2500 EXPLORE GRID (desktop: 4 cols) \u2500\u2500 *\/\n    .me-explore-grid {\n        grid-template-columns: repeat(4, 1fr);\n        gap: 8px;\n        padding: calc(var(--me-header-height) + 16px) 0 40px;\n    }\n    .me-grid-card {\n        border-radius: 12px;\n        transition: transform 0.2s, box-shadow 0.2s;\n    }\n    .me-grid-card:hover {\n        transform: scale(1.02);\n        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);\n    }\n    .me-grid-card.me-grid-premium:hover {\n        box-shadow: 0 4px 20px rgba(196, 30, 58, 0.2);\n    }\n    .me-grid-card.me-grid-vip {\n        grid-column: span 2;\n    }\n    .me-grid-card.me-grid-vip:hover {\n        box-shadow: 0 4px 20px rgba(212, 175, 55, 0.25);\n    }\n\n    \/* \u2500\u2500 BACK BUTTON (desktop: larger clickable) \u2500\u2500 *\/\n    .me-back-btn {\n        padding: 8px;\n        border-radius: 8px;\n        transition: background 0.2s;\n    }\n    .me-back-btn:hover {\n        background: rgba(240, 235, 230, 0.1);\n    }\n\n    \/* \u2500\u2500 BUTTONS (desktop: hover states) \u2500\u2500 *\/\n    .me-btn-wa:hover {\n        background: #1da851;\n        box-shadow: 0 4px 12px rgba(37, 211, 102, 0.3);\n    }\n    .me-btn-profile:hover {\n        background: rgba(196, 30, 58, 0.25);\n        border-color: rgba(196, 30, 58, 0.5);\n    }\n    .me-btn-geolocation:hover {\n        background: rgba(196, 30, 58, 0.08);\n    }\n    .me-btn-search:hover {\n        box-shadow: 0 4px 20px rgba(196, 30, 58, 0.3);\n    }\n\n    \/* \u2500\u2500 LOADING (desktop: auto height) \u2500\u2500 *\/\n    .me-feed-loading {\n        height: auto;\n        padding: 60px 0;\n    }\n\n    \/* \u2500\u2500 AUTO-HIDE disabled on desktop \u2500\u2500 *\/\n    .me-feed-header.me-hidden,\n    .me-explore-header.me-hidden {\n        transform: none;\n        opacity: 1;\n        pointer-events: auto;\n    }\n}\n\n\/* \u2550\u2550\u2550 LARGE DESKTOP (>1200px) \u2550\u2550\u2550 *\/\n@media (min-width: 1200px) {\n    #me-app {\n        max-width: 1400px;\n    }\n    .me-home-content {\n        max-width: 900px;\n    }\n    .me-feed-scroll {\n        grid-template-columns: repeat(3, 1fr);\n    }\n    .me-explore-grid {\n        grid-template-columns: repeat(5, 1fr);\n        gap: 10px;\n    }\n}\n\n\/* \u2550\u2550\u2550 EXPLORE CATEGORY MODAL \u2550\u2550\u2550 *\/\n.me-explore-modal {\n    position: fixed;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    z-index: 10000;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n.me-explore-modal-overlay {\n    position: absolute;\n    inset: 0;\n    background: rgba(0, 0, 0, 0.85);\n    backdrop-filter: blur(8px);\n    -webkit-backdrop-filter: blur(8px);\n}\n.me-explore-modal-content {\n    position: relative;\n    z-index: 1;\n    width: 90%;\n    max-width: 400px;\n    max-height: 85vh;\n    overflow-y: auto;\n    padding: 28px 20px;\n    animation: meModalIn 0.3s ease;\n}\n@keyframes meModalIn {\n    from { opacity: 0; transform: scale(0.95) translateY(10px); }\n    to   { opacity: 1; transform: scale(1) translateY(0); }\n}\n.me-explore-modal-title {\n    text-align: center;\n    font-size: 20px;\n    font-weight: 300;\n    color: var(--me-text);\n    margin: 0 0 24px;\n}\n.me-explore-modal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n}\n.me-explore-modal-card {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 8px;\n    padding: 24px 12px;\n    background: var(--me-card);\n    border: 1px solid var(--me-border);\n    border-radius: var(--me-radius);\n    cursor: pointer;\n    transition: all 0.2s;\n    -webkit-tap-highlight-color: transparent;\n    color: var(--me-text);\n    font-family: inherit;\n    font-size: inherit;\n}\n.me-explore-modal-card:active {\n    transform: scale(0.96);\n    background: var(--me-text);\n    border-color: var(--me-text);\n}\n.me-explore-modal-card:active .me-cat-icon,\n.me-explore-modal-card:active .me-cat-name {\n    color: var(--me-red);\n}\n.me-explore-modal-card:active .me-cat-count {\n    color: var(--me-red);\n    background: rgba(196, 30, 58, 0.15);\n}\n.me-explore-modal-all {\n    grid-column: 1 \/ -1;\n    background: rgba(196, 30, 58, 0.08);\n    border-color: rgba(196, 30, 58, 0.25);\n}\n.me-explore-modal-card .me-cat-icon {\n    font-size: 28px;\n}\n.me-explore-modal-card .me-cat-name {\n    font-size: 13px;\n    font-weight: 500;\n}\n.me-explore-modal-card .me-cat-count {\n    font-size: 11px;\n    color: var(--me-muted);\n    background: rgba(240, 235, 230, 0.08);\n    padding: 2px 8px;\n    border-radius: 10px;\n}\n@media (min-width: 768px) {\n    .me-explore-modal-content {\n        max-width: 500px;\n    }\n    .me-explore-modal-grid {\n        grid-template-columns: repeat(3, 1fr);\n    }\n    .me-explore-modal-card {\n        padding: 28px 16px;\n    }\n    .me-explore-modal-card:hover {\n        transform: translateY(-2px);\n        border-color: rgba(196, 30, 58, 0.3);\n        box-shadow: 0 4px 20px rgba(196, 30, 58, 0.1);\n    }\n}\n<\/style>\n\n<script>\n(function() {\n    'use strict';\n\n    const app = document.getElementById('me-app');\n    if (!app) return;\n    const AJAX = app.dataset.ajax;\n    var NONCE = app.dataset.nonce;\n    let state = 'home';\n\n    \/\/ Refresh nonce on load (page cache may serve stale nonce)\n    (function refreshNonce() {\n        var fd = new FormData();\n        fd.append('action', 'selectvip_get_nonce');\n        fetch(AJAX, { method: 'POST', body: fd })\n            .then(function(r) { return r.json(); })\n            .then(function(data) {\n                if (data.success && data.data && data.data.nonce) {\n                    NONCE = data.data.nonce;\n                }\n            })\n            .catch(function() {});\n    })();\n    let currentPage = 1;\n    let totalPages = 1;\n    let isLoading = false;\n    let activeCategory = null;\n    let activeCategoryName = '';\n    let activeLocationId = null;\n    let activeDistance = 5;\n    let userLat = null;\n    let userLng = null;\n    let explorePage = 1;\n    let exploreTotalPages = 1;\n    let exploreLoading = false;\n    let exploreLocationId = null;\n    let exploreLocationName = '';\n\n    \/\/ SEO routing: slug tracking\n    var ME_HOME_URL = app.dataset.homeUrl || '\/';\n    var activeCategorySlug = app.dataset.initialCategorySlug || '';\n    var activeDeptSlug = app.dataset.initialDeptSlug || '';\n    var activeCitySlug = app.dataset.initialCitySlug || '';\n    var ME_CAT_SLUGS = {\"357\":\"escorts-mujeres\",\"358\":\"escorts-hombres\",\"106\":\"gays\",\"30\":\"trans\",\"115\":\"spas-eroticos\",\"359\":\"contenido-vip\",\"360\":\"virtual\",\"361\":\"sex-shops\"};\n    var ME_DEPT_SLUGS = {\"309\":\"amazonas\",\"56\":\"antioquia\",\"288\":\"arauca\",\"81\":\"atlantico\",\"348\":\"bogota\",\"35\":\"bogota-d-c\",\"89\":\"bolivar\",\"273\":\"boyaca\",\"210\":\"caldas-2\",\"295\":\"caqueta\",\"281\":\"casanare\",\"224\":\"cauca\",\"259\":\"cesar\",\"238\":\"cordoba\",\"171\":\"cundinamarca\",\"316\":\"guainia\",\"323\":\"guaviare\",\"189\":\"huila\",\"266\":\"la-guajira\",\"252\":\"magdalena\",\"231\":\"meta\",\"217\":\"narino\",\"163\":\"norte-de-santander\",\"302\":\"putumayo\",\"203\":\"quindio\",\"196\":\"risaralda\",\"339\":\"san-andres-y-providencia\",\"98\":\"santander\",\"245\":\"sucre\",\"181\":\"tolima\",\"70\":\"valle-del-cauca\",\"328\":\"vaupes\",\"334\":\"vichada\"};\n    var ME_CITY_SLUGS = {};\n\n    function buildSpaUrl() {\n        if (state === 'home') return ME_HOME_URL;\n        if (state === 'explore') return ME_HOME_URL + 'explorar\/';\n        if (state === 'feed' && activeCategorySlug) {\n            var url = ME_HOME_URL + activeCategorySlug + '\/';\n            if (activeDeptSlug) {\n                url += activeDeptSlug + '\/';\n                if (activeCitySlug) url += activeCitySlug + '\/';\n            }\n            return url;\n        }\n        return ME_HOME_URL;\n    }\n\n    const homeEl = document.getElementById('me-home');\n    const feedEl = document.getElementById('me-feed');\n    const exploreEl = document.getElementById('me-explore');\n    const feedScroll = document.getElementById('meFeedScroll');\n    const marketplaceScroll = document.getElementById('meMarketplaceScroll');\n    const feedLoading = document.getElementById('meFeedLoading');\n    const MARKETPLACE_CATS = ['361', '115']; \/\/ Sex Shops, Spas\n    const feedScrollTopBtn = document.getElementById('meFeedScrollTop');\n    const exploreScrollTopBtn = document.getElementById('meExploreScrollTop');\n    const feedContext = document.getElementById('meFeedContext');\n    const backBtn = document.getElementById('meBackBtn');\n    const searchBtn = document.getElementById('meSearchBtn');\n    const geoBtn = document.getElementById('meGeoBtn');\n    const deptSelect = document.getElementById('meDepartment');\n    const citySelect = document.getElementById('meCity');\n    const distSelect = document.getElementById('meDistance');\n    const feedCatSelect = document.getElementById('meFeedCat');\n    const feedDeptSelect = document.getElementById('meFeedDept');\n    const feedCitySelect = document.getElementById('meFeedCity');\n    const feedGeoBtn = document.getElementById('meFeedGeoBtn');\n    const exploreGrid = document.getElementById('meExploreGrid');\n    const exploreLoaderEl = document.getElementById('meExploreLoading');\n    const surpriseBtn = document.getElementById('meSurpriseBtn');\n    const exploreBackBtn = document.getElementById('meExploreBackBtn');\n    const exploreCatSelect = document.getElementById('meExploreCat');\n    const exploreGeoBtn = document.getElementById('meExploreGeoBtn');\n    const exploreContext = document.getElementById('meExploreContext');\n    const exploreCatModal = document.getElementById('meExploreCatModal');\n    function hideAllStates() {\n        homeEl.classList.remove('active');\n        feedEl.classList.remove('active');\n        exploreEl.classList.remove('active');\n    }\n\n    function showHome(skipPush) {\n        state = 'home';\n        activeCategorySlug = '';\n        activeDeptSlug = '';\n        activeCitySlug = '';\n        hideAllStates();\n        homeEl.classList.add('active');\n        feedScroll.textContent = '';\n        exploreGrid.textContent = '';\n        currentPage = 1;\n        window.scrollTo(0, 0);\n        if (!skipPush) history.pushState({ state: 'home' }, '', ME_HOME_URL);\n        clearTimeout(hideTimer);\n        var tb = getTabBar();\n        if (tb) tb.classList.remove('me-hidden');\n        document.querySelectorAll('.selectvip-tab').forEach(function(t) {\n            t.classList.toggle('active', t.dataset.tab === 'home');\n        });\n    }\n\n    function isMarketplaceCategory(catId) {\n        return catId && MARKETPLACE_CATS.indexOf(String(catId)) !== -1;\n    }\n\n    function showFeed(contextLabel, skipPush) {\n        state = 'feed';\n        hideAllStates();\n        feedEl.classList.add('active');\n        feedContext.textContent = contextLabel || 'Explorando';\n\n        var isMP = isMarketplaceCategory(activeCategory);\n        feedScroll.textContent = '';\n        marketplaceScroll.textContent = '';\n        feedScroll.style.display = isMP ? 'none' : '';\n        marketplaceScroll.style.display = isMP ? '' : 'none';\n\n        currentPage = 1;\n        totalPages = 1;\n        window.scrollTo(0, 0);\n        if (!isMP) feedScroll.scrollTop = 0;\n        if (isMP) marketplaceScroll.scrollTop = 0;\n        if (feedCatSelect) feedCatSelect.value = activeCategory || '';\n        feedDeptSelect.value = '';\n        feedCitySelect.textContent = '';\n        var defOpt = document.createElement('option');\n        defOpt.value = '';\n        defOpt.textContent = 'Ciudad';\n        feedCitySelect.appendChild(defOpt);\n        feedCitySelect.disabled = true;\n        if (!skipPush) {\n            history.pushState({\n                state: 'feed', catId: activeCategory, catName: activeCategoryName,\n                catSlug: activeCategorySlug, deptSlug: activeDeptSlug, citySlug: activeCitySlug,\n                locId: activeLocationId\n            }, '', buildSpaUrl());\n        }\n        loadFeed();\n        showUI();\n        document.querySelectorAll('.selectvip-tab').forEach(function(t) {\n            t.classList.toggle('active', false);\n        });\n    }\n\n    function showExplore(skipModal, skipPush) {\n        state = 'explore';\n        hideAllStates();\n        exploreEl.classList.add('active');\n        activeCategory = null;\n        activeCategoryName = '';\n        activeCategorySlug = '';\n        activeDeptSlug = '';\n        activeCitySlug = '';\n        activeLocationId = null;\n        if (!skipPush) history.pushState({ state: 'explore' }, '', ME_HOME_URL + 'explorar\/');\n        exploreLocationId = null;\n        exploreLocationName = '';\n        exploreGrid.textContent = '';\n        explorePage = 1;\n        exploreTotalPages = 1;\n        exploreLoading = false;\n        if (exploreCatSelect) exploreCatSelect.value = '';\n        if (exploreContext) exploreContext.textContent = 'Explorar';\n        window.scrollTo(0, 0);\n        \/\/ Show category modal or load directly\n        if (!skipModal && exploreCatModal) {\n            exploreCatModal.style.display = 'flex';\n        } else {\n            loadExplore();\n        }\n        var tb = getTabBar();\n        if (tb) tb.classList.remove('me-hidden');\n        document.querySelectorAll('.selectvip-tab').forEach(function(t) {\n            t.classList.toggle('active', t.dataset.tab === 'explore');\n        });\n    }\n\n    function reloadFeed() {\n        feedScroll.textContent = '';\n        currentPage = 1;\n        totalPages = 1;\n        isLoading = false;\n        loadFeed();\n    }\n\n    \/\/ Feed location filter handlers\n    feedDeptSelect.addEventListener('change', function() {\n        var opt = this.options[this.selectedIndex];\n        activeDeptSlug = this.value ? (opt && opt.dataset.slug || ME_DEPT_SLUGS[this.value] || '') : '';\n        activeCitySlug = '';\n        if (this.value) {\n            activeLocationId = this.value;\n            loadFeedCities(this.value);\n        } else {\n            feedCitySelect.textContent = '';\n            var defOpt = document.createElement('option');\n            defOpt.value = '';\n            defOpt.textContent = 'Ciudad';\n            feedCitySelect.appendChild(defOpt);\n            feedCitySelect.disabled = true;\n            activeLocationId = null;\n        }\n        history.replaceState({\n            state: 'feed', catSlug: activeCategorySlug, deptSlug: activeDeptSlug, citySlug: '',\n            catId: activeCategory, catName: activeCategoryName, locId: activeLocationId\n        }, '', buildSpaUrl());\n        reloadFeed();\n    });\n\n    feedCitySelect.addEventListener('change', function() {\n        activeLocationId = this.value || null;\n        var opt = this.options[this.selectedIndex];\n        activeCitySlug = this.value ? (opt && opt.dataset.slug || ME_CITY_SLUGS[this.value] || '') : '';\n        var label = activeCategoryName || 'Explorando';\n        if (this.value) {\n            var cityName = opt ? opt.text : '';\n            if (cityName) label += ' en ' + cityName;\n        }\n        feedContext.textContent = label;\n        history.replaceState({\n            state: 'feed', catSlug: activeCategorySlug, deptSlug: activeDeptSlug, citySlug: activeCitySlug,\n            catId: activeCategory, catName: activeCategoryName, locId: activeLocationId\n        }, '', buildSpaUrl());\n        reloadFeed();\n    });\n\n    \/\/ Feed category dropdown change\n    if (feedCatSelect) {\n        feedCatSelect.addEventListener('change', function() {\n            var opt = this.options[this.selectedIndex];\n            if (this.value) {\n                activeCategory = this.value;\n                activeCategoryName = opt ? opt.text : '';\n                activeCategorySlug = opt && opt.dataset.slug || ME_CAT_SLUGS[this.value] || '';\n            } else {\n                activeCategory = null;\n                activeCategoryName = '';\n                activeCategorySlug = '';\n            }\n            activeDeptSlug = '';\n            activeCitySlug = '';\n            \/\/ Update context label\n            var label = activeCategoryName || 'Explorando';\n            if (feedCitySelect.value) {\n                var cityName = feedCitySelect.options[feedCitySelect.selectedIndex] ? feedCitySelect.options[feedCitySelect.selectedIndex].text : '';\n                if (cityName) label += ' en ' + cityName;\n            }\n            feedContext.textContent = label;\n            \/\/ Toggle marketplace\/tiktok mode\n            var isMP = isMarketplaceCategory(activeCategory);\n            feedScroll.textContent = '';\n            marketplaceScroll.textContent = '';\n            feedScroll.style.display = isMP ? 'none' : '';\n            marketplaceScroll.style.display = isMP ? '' : 'none';\n            history.replaceState({\n                state: 'feed', catSlug: activeCategorySlug, deptSlug: '', citySlug: '',\n                catId: activeCategory, catName: activeCategoryName\n            }, '', buildSpaUrl());\n            reloadFeed();\n        });\n    }\n\n    function loadFeedCities(deptId) {\n        var fd = new FormData();\n        fd.append('action', 'selectvip_get_cities_by_department');\n        fd.append('nonce', NONCE);\n        fd.append('department_id', deptId);\n        fetch(AJAX, { method: 'POST', body: fd })\n            .then(function(r) { return r.json(); })\n            .then(function(data) {\n                feedCitySelect.textContent = '';\n                var defaultOpt = document.createElement('option');\n                defaultOpt.value = '';\n                defaultOpt.textContent = 'Ciudad';\n                feedCitySelect.appendChild(defaultOpt);\n                if (data.success && data.data && data.data.cities) {\n                    data.data.cities.forEach(function(c) {\n                        var opt = document.createElement('option');\n                        opt.value = c.id;\n                        opt.textContent = c.name;\n                        if (c.slug) {\n                            opt.dataset.slug = c.slug;\n                            ME_CITY_SLUGS[c.id] = c.slug;\n                        }\n                        feedCitySelect.appendChild(opt);\n                    });\n                    feedCitySelect.disabled = false;\n                }\n            });\n    }\n\n    feedGeoBtn.addEventListener('click', function() {\n        if (!navigator.geolocation) {\n            alert('Tu navegador no soporta geolocalizacion');\n            return;\n        }\n        feedGeoBtn.disabled = true;\n        navigator.geolocation.getCurrentPosition(\n            function(pos) {\n                userLat = pos.coords.latitude;\n                userLng = pos.coords.longitude;\n                document.getElementById('meCenterLat').value = userLat;\n                document.getElementById('meCenterLng').value = userLng;\n                feedGeoBtn.classList.add('located');\n                feedGeoBtn.disabled = false;\n\n                var fd = new FormData();\n                fd.append('action', 'selectvip_find_nearby_location');\n                fd.append('nonce', NONCE);\n                fd.append('lat', userLat);\n                fd.append('lng', userLng);\n                fetch(AJAX, { method: 'POST', body: fd })\n                    .then(function(r) { return r.json(); })\n                    .then(function(data) {\n                        if (data.success && data.data && data.data.location) {\n                            var loc = data.data.location;\n                            var deptOpts = Array.from(feedDeptSelect.options);\n                            var deptOpt = deptOpts.find(function(o) { return o.text === loc.department; });\n                            if (deptOpt) {\n                                feedDeptSelect.value = deptOpt.value;\n                                loadFeedCities(deptOpt.value);\n                                \/\/ After cities load, select the city and reload\n                                var cityId = loc.city_id || loc.id;\n                                setTimeout(function() {\n                                    if (loc.city_id) feedCitySelect.value = loc.city_id;\n                                    activeLocationId = cityId;\n                                    var cityName = loc.city_id ? loc.city : loc.department;\n                                    feedContext.textContent = (activeCategoryName || 'Explorando') + ' en ' + cityName;\n                                    reloadFeed();\n                                }, 600);\n                            }\n                        }\n                    });\n            },\n            function() {\n                feedGeoBtn.disabled = false;\n                alert('No se pudo obtener tu ubicacion.');\n            },\n            { enableHighAccuracy: true, timeout: 10000 }\n        );\n    });\n\n    document.querySelectorAll('.me-category-card').forEach(function(card) {\n        card.addEventListener('click', function() {\n            activeCategory = this.dataset.categoryId;\n            activeCategoryName = this.dataset.categoryName;\n            activeCategorySlug = this.dataset.categorySlug || ME_CAT_SLUGS[this.dataset.categoryId] || '';\n            activeDeptSlug = '';\n            activeCitySlug = '';\n            activeLocationId = null;\n            showFeed(activeCategoryName);\n        });\n    });\n\n    backBtn.addEventListener('click', showHome);\n\n    searchBtn.addEventListener('click', function() {\n        var dept = deptSelect.value;\n        var city = citySelect.value;\n        activeLocationId = city || dept || null;\n        activeDistance = distSelect.value || 5;\n        \/\/ Capture slugs for URL\n        var deptOpt = deptSelect.options[deptSelect.selectedIndex];\n        activeDeptSlug = dept ? (deptOpt && deptOpt.dataset.slug || ME_DEPT_SLUGS[dept] || '') : '';\n        var cityOpt = citySelect.options[citySelect.selectedIndex];\n        activeCitySlug = city ? (cityOpt && cityOpt.dataset.slug || ME_CITY_SLUGS[city] || '') : '';\n\n        var label = 'Explorando';\n        if (activeCategoryName) label = activeCategoryName;\n        if (city) {\n            var cityName = cityOpt ? cityOpt.text : '';\n            label += (label !== 'Explorando' ? ' en ' : '') + cityName;\n        }\n        showFeed(label);\n    });\n\n    geoBtn.addEventListener('click', function() {\n        if (!navigator.geolocation) {\n            alert('Tu navegador no soporta geolocalizacion');\n            return;\n        }\n        geoBtn.querySelector('.me-geo-text').style.display = 'none';\n        geoBtn.querySelector('.me-geo-loading').style.display = 'inline';\n        geoBtn.disabled = true;\n\n        navigator.geolocation.getCurrentPosition(\n            function(pos) {\n                userLat = pos.coords.latitude;\n                userLng = pos.coords.longitude;\n                document.getElementById('meCenterLat').value = userLat;\n                document.getElementById('meCenterLng').value = userLng;\n\n                geoBtn.classList.add('located');\n                geoBtn.querySelector('.me-geo-text').textContent = 'Ubicacion detectada';\n                geoBtn.querySelector('.me-geo-text').style.display = 'inline';\n                geoBtn.querySelector('.me-geo-loading').style.display = 'none';\n                geoBtn.disabled = false;\n                distSelect.style.display = 'block';\n\n                var fd = new FormData();\n                fd.append('action', 'selectvip_find_nearby_location');\n                fd.append('nonce', NONCE);\n                fd.append('lat', userLat);\n                fd.append('lng', userLng);\n                fetch(AJAX, { method: 'POST', body: fd })\n                    .then(function(r) { return r.json(); })\n                    .then(function(data) {\n                        if (data.success && data.data && data.data.location) {\n                            var loc = data.data.location;\n                            \/\/ Find department by name in select\n                            var deptOpts = Array.from(deptSelect.options);\n                            var deptOpt = deptOpts.find(function(o) { return o.text === loc.department; });\n                            if (deptOpt) {\n                                deptSelect.value = deptOpt.value;\n                                \/\/ Use city_id if available, otherwise don't auto-select city\n                                loadCities(deptOpt.value, loc.city_id || null);\n                            }\n                        }\n                    });\n            },\n            function() {\n                geoBtn.querySelector('.me-geo-text').style.display = 'inline';\n                geoBtn.querySelector('.me-geo-loading').style.display = 'none';\n                geoBtn.disabled = false;\n                alert('No se pudo obtener tu ubicacion. Selecciona manualmente.');\n            },\n            { enableHighAccuracy: true, timeout: 10000 }\n        );\n    });\n\n    deptSelect.addEventListener('change', function() {\n        if (this.value) {\n            loadCities(this.value);\n        } else {\n            citySelect.textContent = '';\n            var opt = document.createElement('option');\n            opt.value = '';\n            opt.textContent = 'Ciudad';\n            citySelect.appendChild(opt);\n            citySelect.disabled = true;\n        }\n    });\n\n    function loadCities(deptId, autoSelectCity) {\n        var fd = new FormData();\n        fd.append('action', 'selectvip_get_cities_by_department');\n        fd.append('nonce', NONCE);\n        fd.append('department_id', deptId);\n        fetch(AJAX, { method: 'POST', body: fd })\n            .then(function(r) { return r.json(); })\n            .then(function(data) {\n                citySelect.textContent = '';\n                var defaultOpt = document.createElement('option');\n                defaultOpt.value = '';\n                defaultOpt.textContent = 'Ciudad';\n                citySelect.appendChild(defaultOpt);\n                if (data.success && data.data && data.data.cities) {\n                    data.data.cities.forEach(function(c) {\n                        var opt = document.createElement('option');\n                        opt.value = c.id;\n                        opt.textContent = c.name;\n                        if (c.slug) {\n                            opt.dataset.slug = c.slug;\n                            ME_CITY_SLUGS[c.id] = c.slug;\n                        }\n                        citySelect.appendChild(opt);\n                    });\n                    citySelect.disabled = false;\n                    if (autoSelectCity) citySelect.value = autoSelectCity;\n                }\n            });\n    }\n\n    function loadFeed(randomRefresh) {\n        if (isLoading) return;\n\n        var isMP = isMarketplaceCategory(activeCategory);\n        var targetContainer = isMP ? marketplaceScroll : feedScroll;\n\n        \/\/ Infinite loop: when past last page, append random content seamlessly\n        var loopRandom = false;\n        if (!randomRefresh && currentPage > totalPages && totalPages > 0) {\n            loopRandom = true;\n            currentPage = 1;\n        }\n\n        if (randomRefresh) {\n            targetContainer.textContent = '';\n            currentPage = 1;\n            totalPages = 1;\n        }\n\n        isLoading = true;\n        feedLoading.style.display = 'flex';\n\n        var fd = new FormData();\n        fd.append('nonce', NONCE);\n        fd.append('page', currentPage);\n        fd.append('format', isMP ? 'marketplace' : 'tiktok');\n        if (randomRefresh || loopRandom) fd.append('random', '1');\n\n        if (activeLocationId || userLat) {\n            fd.append('action', 'selectvip_get_listings_by_location');\n            if (activeLocationId) fd.append('location_id', activeLocationId);\n            if (userLat) {\n                fd.append('center_lat', userLat);\n                fd.append('center_lng', userLng);\n            }\n            fd.append('distance', activeDistance);\n        } else {\n            fd.append('action', 'selectvip_get_all_listings');\n        }\n\n        if (activeCategory) {\n            fd.append('category', activeCategory);\n        }\n\n        fetch(AJAX, { method: 'POST', body: fd })\n            .then(function(r) { return r.json(); })\n            .then(function(data) {\n                feedLoading.style.display = 'none';\n                isLoading = false;\n\n                if (data.success && data.data) {\n                    var isFirstPage = (currentPage === 1 && !loopRandom);\n\n                    \/\/ Fallback: show nice heading before similar results\n                    if (data.data.fallback && isFirstPage) {\n                        var fallbackHeader = document.createElement('div');\n                        fallbackHeader.className = 'me-fallback-header';\n                        if (!isMP) fallbackHeader.className += ' me-tiktok-card';\n                        else fallbackHeader.style.gridColumn = '1 \/ -1';\n\n                        var fbContent = document.createElement('div');\n                        fbContent.className = 'me-fallback-content';\n                        var fbIcon = document.createElement('div');\n                        fbIcon.className = 'me-fallback-icon';\n                        fbIcon.textContent = '\\uD83D\\uDD0D';\n                        var fbTitle = document.createElement('h3');\n                        fbTitle.textContent = 'No encontramos lo que buscas';\n                        var fbSub = document.createElement('p');\n                        fbSub.textContent = 'Pero te puede interesar...';\n                        fbContent.appendChild(fbIcon);\n                        fbContent.appendChild(fbTitle);\n                        fbContent.appendChild(fbSub);\n                        fallbackHeader.appendChild(fbContent);\n                        targetContainer.appendChild(fallbackHeader);\n                    }\n\n                    if (data.data.html) {\n                        targetContainer.insertAdjacentHTML('beforeend', data.data.html);\n                        if (!isMP) initGalleries();\n                        \/\/ JuicyAds: inject ad after every N cards\n                        if (window.meInjectFeedAd) window.meInjectFeedAd(targetContainer);\n                    }\n                    totalPages = data.data.total_pages || 1;\n                    currentPage++;\n                    if (isFirstPage) {\n                        requestAnimationFrame(function() {\n                            targetContainer.scrollTop = 0;\n                            window.scrollTo(0, 0);\n                        });\n                    }\n                }\n            })\n            .catch(function() {\n                feedLoading.style.display = 'none';\n                isLoading = false;\n            });\n    }\n\n    \/\/ EXPLORE: grid loader\n    function loadExplore(random) {\n        if (exploreLoading) return;\n\n        \/\/ Infinite loop: when past last page, seamlessly append random\n        var loopRandom = false;\n        if (!random && explorePage > exploreTotalPages && exploreTotalPages > 0) {\n            loopRandom = true;\n            explorePage = 1;\n        }\n\n        exploreLoading = true;\n        exploreLoaderEl.style.display = 'flex';\n\n        var fd = new FormData();\n        fd.append('action', 'selectvip_get_all_listings');\n        fd.append('nonce', NONCE);\n        fd.append('format', 'grid');\n        if (random) {\n            fd.append('random', 12);\n            exploreGrid.textContent = '';\n        } else if (loopRandom) {\n            fd.append('random', 12);\n        } else {\n            fd.append('page', explorePage);\n        }\n\n        \/\/ Pass explore-specific filters\n        var catVal = exploreCatSelect ? exploreCatSelect.value : '';\n        if (catVal) fd.append('category_id', catVal);\n        if (exploreLocationId) fd.append('location_id', exploreLocationId);\n\n        fetch(AJAX, { method: 'POST', body: fd })\n            .then(function(r) { return r.json(); })\n            .then(function(data) {\n                exploreLoaderEl.style.display = 'none';\n                exploreLoading = false;\n                if (data.success && data.data) {\n                    var isFirst = (explorePage === 1 || random);\n\n                    \/\/ Fallback heading for explore\n                    if (data.data.fallback && isFirst && !loopRandom) {\n                        var fbDiv = document.createElement('div');\n                        fbDiv.className = 'me-fallback-header';\n                        fbDiv.style.gridColumn = '1 \/ -1';\n                        var fbC = document.createElement('div');\n                        fbC.className = 'me-fallback-content';\n                        var fbI = document.createElement('div');\n                        fbI.className = 'me-fallback-icon';\n                        fbI.textContent = '\\uD83D\\uDD0D';\n                        var fbH = document.createElement('h3');\n                        fbH.textContent = 'No encontramos lo que buscas';\n                        var fbP = document.createElement('p');\n                        fbP.textContent = 'Pero te puede interesar...';\n                        fbC.appendChild(fbI);\n                        fbC.appendChild(fbH);\n                        fbC.appendChild(fbP);\n                        fbDiv.appendChild(fbC);\n                        exploreGrid.appendChild(fbDiv);\n                    }\n\n                    if (data.data.html) {\n                        exploreGrid.insertAdjacentHTML('beforeend', data.data.html);\n                        \/\/ JuicyAds: inject ad after every N cards\n                        if (window.meInjectFeedAd) window.meInjectFeedAd(exploreGrid);\n                    }\n                    if (!random && !loopRandom) {\n                        exploreTotalPages = data.data.total_pages || 1;\n                        explorePage++;\n                    }\n                    if (random) {\n                        requestAnimationFrame(function() { window.scrollTo(0, 0); });\n                    }\n                }\n            })\n            .catch(function() {\n                exploreLoaderEl.style.display = 'none';\n                exploreLoading = false;\n            });\n    }\n\n    \/\/ Surprise button\n    if (surpriseBtn) {\n        surpriseBtn.addEventListener('click', function() {\n            loadExplore(true);\n        });\n    }\n    if (exploreBackBtn) {\n        exploreBackBtn.addEventListener('click', showHome);\n    }\n\n    \/\/ Explore category filter\n    if (exploreCatSelect) {\n        exploreCatSelect.addEventListener('change', function() {\n            var label = 'Explorar';\n            if (this.value) {\n                var selText = this.options[this.selectedIndex] ? this.options[this.selectedIndex].text : '';\n                label = selText;\n            }\n            if (exploreLocationName) label += ' en ' + exploreLocationName;\n            if (exploreContext) exploreContext.textContent = label;\n            \/\/ Reset and reload grid\n            exploreGrid.textContent = '';\n            explorePage = 1;\n            exploreTotalPages = 1;\n            exploreLoading = false;\n            loadExplore(false);\n        });\n    }\n\n    \/\/ Explore category modal handlers\n    if (exploreCatModal) {\n        exploreCatModal.querySelectorAll('.me-explore-modal-card').forEach(function(card) {\n            card.addEventListener('click', function() {\n                var catId = this.dataset.categoryId;\n                var catName = this.dataset.categoryName;\n                if (exploreCatSelect) exploreCatSelect.value = catId || '';\n                if (exploreContext) exploreContext.textContent = catName || 'Explorar';\n                exploreCatModal.style.display = 'none';\n                exploreGrid.textContent = '';\n                explorePage = 1;\n                exploreTotalPages = 1;\n                exploreLoading = false;\n                loadExplore(false);\n            });\n        });\n        \/\/ Overlay click = \"Ver todo\"\n        var modalOverlay = exploreCatModal.querySelector('.me-explore-modal-overlay');\n        if (modalOverlay) {\n            modalOverlay.addEventListener('click', function() {\n                if (exploreCatSelect) exploreCatSelect.value = '';\n                if (exploreContext) exploreContext.textContent = 'Explorar';\n                exploreCatModal.style.display = 'none';\n                loadExplore(false);\n            });\n        }\n    }\n\n    \/\/ Explore geolocation button\n    if (exploreGeoBtn) {\n        exploreGeoBtn.addEventListener('click', function() {\n            if (!navigator.geolocation) {\n                alert('Tu navegador no soporta geolocalizaci\u00f3n');\n                return;\n            }\n            exploreGeoBtn.classList.add('loading');\n            exploreGeoBtn.disabled = true;\n\n            navigator.geolocation.getCurrentPosition(\n                function(pos) {\n                    userLat = pos.coords.latitude;\n                    userLng = pos.coords.longitude;\n                    document.getElementById('meCenterLat').value = userLat;\n                    document.getElementById('meCenterLng').value = userLng;\n\n                    \/\/ Find nearest location via AJAX\n                    var fd = new FormData();\n                    fd.append('action', 'selectvip_find_nearby_location');\n                    fd.append('nonce', NONCE);\n                    fd.append('lat', userLat);\n                    fd.append('lng', userLng);\n                    fetch(AJAX, { method: 'POST', body: fd })\n                        .then(function(r) { return r.json(); })\n                        .then(function(data) {\n                            exploreGeoBtn.classList.remove('loading');\n                            exploreGeoBtn.disabled = false;\n                            if (data.success && data.data && data.data.location) {\n                                var loc = data.data.location;\n                                exploreLocationId = loc.id;\n                                exploreLocationName = loc.city || loc.name || '';\n                                exploreGeoBtn.classList.add('located');\n\n                                \/\/ Update context label\n                                var catText = exploreCatSelect && exploreCatSelect.value\n                                    ? (exploreCatSelect.options[exploreCatSelect.selectedIndex] ? exploreCatSelect.options[exploreCatSelect.selectedIndex].text : 'Explorar')\n                                    : 'Explorar';\n                                if (exploreContext) exploreContext.textContent = catText + ' en ' + exploreLocationName;\n\n                                \/\/ Reload grid with location filter\n                                exploreGrid.textContent = '';\n                                explorePage = 1;\n                                exploreTotalPages = 1;\n                                exploreLoading = false;\n                                loadExplore(false);\n                            }\n                        })\n                        .catch(function() {\n                            exploreGeoBtn.classList.remove('loading');\n                            exploreGeoBtn.disabled = false;\n                        });\n                },\n                function() {\n                    exploreGeoBtn.classList.remove('loading');\n                    exploreGeoBtn.disabled = false;\n                    alert('No se pudo obtener tu ubicaci\u00f3n.');\n                },\n                { enableHighAccuracy: true, timeout: 10000 }\n            );\n        });\n    }\n\n    \/\/ Desktop nav buttons\n    document.querySelectorAll('.me-desktop-nav-item[data-action]').forEach(function(btn) {\n        btn.addEventListener('click', function(e) {\n            e.preventDefault();\n            var action = this.dataset.action;\n            if (action === 'explore') showExplore();\n            else if (action === 'surprise') {\n                showExplore(true);\n                setTimeout(function() { loadExplore(true); }, 100);\n            }\n        });\n    });\n\n    \/\/ Stories: click opens the listing permalink\n    document.querySelectorAll('.me-story[data-href]').forEach(function(story) {\n        story.addEventListener('click', function() {\n            var href = this.dataset.href;\n            if (href) window.location.href = href;\n        });\n    });\n\n    \/\/ Explore infinite scroll\n    window.addEventListener('scroll', function() {\n        if (state !== 'explore') return;\n        var scrollBottom = window.scrollY + window.innerHeight;\n        var docHeight = document.documentElement.scrollHeight;\n        if (docHeight - scrollBottom < 300) {\n            loadExplore(false);\n        }\n    });\n\n    \/\/ Infinite scroll + auto-hide UI (mobile only)\n    var hideTimer = null;\n\n    function isMobile() {\n        return window.innerWidth < 768;\n    }\n\n    function getTabBar() {\n        return document.getElementById('selectvipTabBar');\n    }\n\n    function showUI() {\n        var fh = document.getElementById('meFeedHeader');\n        var tb = getTabBar();\n        if (fh) fh.classList.remove('me-hidden');\n        if (tb) tb.classList.remove('me-hidden');\n        clearTimeout(hideTimer);\n        \/\/ Only auto-hide in TikTok mode, never in marketplace\n        if (state === 'feed' && isMobile() && !isMarketplaceCategory(activeCategory)) {\n            hideTimer = setTimeout(hideUI, 1200);\n        }\n    }\n\n    function hideUI() {\n        if (state !== 'feed' || !isMobile()) return;\n        \/\/ Never hide UI in marketplace mode\n        if (isMarketplaceCategory(activeCategory)) return;\n        var fh = document.getElementById('meFeedHeader');\n        var tb = getTabBar();\n        if (fh) fh.classList.add('me-hidden');\n        if (tb) tb.classList.add('me-hidden');\n    }\n\n    if (feedScroll) {\n        \/\/ Mobile: container scroll (snap scroll mode)\n        feedScroll.addEventListener('scroll', function() {\n            if (!isMobile()) return;\n            var scrollBottom = this.scrollTop + this.clientHeight;\n            var scrollHeight = this.scrollHeight;\n            if (scrollHeight - scrollBottom < 200) {\n                loadFeed();\n            }\n            showUI();\n            \/\/ Show\/hide scroll-to-top (show after 2 cards scrolled)\n            if (feedScrollTopBtn) {\n                feedScrollTopBtn.style.display = this.scrollTop > this.clientHeight * 1.5 ? '' : 'none';\n            }\n        });\n\n        \/\/ \u2500\u2500 PULL TO REFRESH (TikTok only) \u2500\u2500\n        var pullIndicator = document.getElementById('mePullIndicator');\n        var pullText = document.getElementById('mePullText');\n        var pullStartY = 0;\n        var pullCurrentDist = 0;\n        var isPulling = false;\n        var pullThreshold = 70;\n        var pullRefreshing = false;\n\n        feedScroll.addEventListener('touchstart', function(e) {\n            if (pullRefreshing) return;\n            if (this.scrollTop <= 5 && !isMarketplaceCategory(activeCategory)) {\n                pullStartY = e.touches[0].clientY;\n                pullCurrentDist = 0;\n                isPulling = true;\n            }\n        }, { passive: true });\n\n        feedScroll.addEventListener('touchmove', function(e) {\n            if (!isPulling || pullRefreshing) return;\n            if (this.scrollTop > 5) {\n                isPulling = false;\n                pullCurrentDist = 0;\n                if (pullIndicator) pullIndicator.classList.remove('active');\n                return;\n            }\n            pullCurrentDist = e.touches[0].clientY - pullStartY;\n            if (pullCurrentDist > 15 && pullIndicator) {\n                pullIndicator.classList.add('active');\n                if (pullText) pullText.textContent = pullCurrentDist > pullThreshold ? 'Suelta para actualizar' : 'Tira hacia abajo...';\n            } else if (pullCurrentDist <= 0) {\n                isPulling = false;\n                if (pullIndicator) pullIndicator.classList.remove('active');\n            }\n        }, { passive: true });\n\n        feedScroll.addEventListener('touchend', function() {\n            if (!isPulling || pullRefreshing) return;\n            isPulling = false;\n            if (pullCurrentDist >= pullThreshold && pullIndicator) {\n                pullRefreshing = true;\n                pullIndicator.classList.add('refreshing');\n                if (pullText) pullText.textContent = 'Actualizando';\n                setTimeout(function() {\n                    feedScroll.scrollTop = 0;\n                    currentPage = 1;\n                    totalPages = 1;\n                    isLoading = false;\n                    loadFeed(true);\n                    setTimeout(function() {\n                        pullIndicator.classList.remove('active', 'refreshing');\n                        pullRefreshing = false;\n                    }, 800);\n                }, 300);\n            } else {\n                if (pullIndicator) pullIndicator.classList.remove('active');\n            }\n            pullCurrentDist = 0;\n        }, { passive: true });\n    }\n\n    if (marketplaceScroll) {\n        \/\/ Marketplace: container scroll for infinite scroll (UI stays always visible)\n        marketplaceScroll.addEventListener('scroll', function() {\n            var scrollBottom = this.scrollTop + this.clientHeight;\n            var scrollHeight = this.scrollHeight;\n            if (scrollHeight - scrollBottom < 300) {\n                loadFeed();\n            }\n            \/\/ Keep UI visible in marketplace mode\n            showUI();\n        });\n    }\n\n    \/\/ Desktop: window scroll for feed infinite scroll (overflow: visible)\n    window.addEventListener('scroll', function() {\n        if (isMobile()) return;\n        if (state === 'feed') {\n            var scrollBottom = window.scrollY + window.innerHeight;\n            var docHeight = document.documentElement.scrollHeight;\n            if (docHeight - scrollBottom < 400) {\n                loadFeed();\n            }\n        }\n    });\n\n    \/\/ \u2500\u2500 SCROLL TO TOP BUTTONS \u2500\u2500\n    if (feedScrollTopBtn) {\n        feedScrollTopBtn.addEventListener('click', function() {\n            if (feedScroll) {\n                feedScroll.scrollTo({ top: 0, behavior: 'smooth' });\n            }\n            window.scrollTo({ top: 0, behavior: 'smooth' });\n            this.style.display = 'none';\n        });\n    }\n    if (exploreScrollTopBtn) {\n        exploreScrollTopBtn.addEventListener('click', function() {\n            window.scrollTo({ top: 0, behavior: 'smooth' });\n            this.style.display = 'none';\n        });\n    }\n\n    \/\/ \u2500\u2500 EXPLORE: show scroll-top on window scroll \u2500\u2500\n    window.addEventListener('scroll', function() {\n        if (state === 'explore' && exploreScrollTopBtn) {\n            exploreScrollTopBtn.style.display = window.scrollY > 600 ? '' : 'none';\n        }\n    });\n\n    function initGalleries() {\n        feedScroll.querySelectorAll('.me-tiktok-slides').forEach(function(slider) {\n            if (slider.dataset.init) return;\n            slider.dataset.init = '1';\n\n            var postId = slider.id.replace('slides-', '');\n            var track = slider.querySelector('.me-tiktok-track');\n            var dots = document.getElementById('dots-' + postId);\n            var counter = document.getElementById('counter-' + postId);\n            var totalSlides = parseInt(slider.dataset.count, 10) || 1;\n\n            if (!track || totalSlides <= 1) return;\n\n            var currentIndex = 0;\n            var startX = 0;\n            var startY = 0;\n            var dragX = 0;\n            var isDragging = false;\n            var dirLocked = false;\n            var isHorizontal = false;\n            var THRESHOLD = 12;\n            var SWIPE_MIN = 40;\n\n            function goTo(idx, animate) {\n                if (idx < 0) idx = 0;\n                if (idx >= totalSlides) idx = totalSlides - 1;\n                currentIndex = idx;\n                if (animate !== false) {\n                    track.classList.remove('dragging');\n                }\n                track.style.transform = 'translateX(-' + (currentIndex * 100) + '%)';\n                updateUI();\n                lazyLoad(idx);\n            }\n\n            function updateUI() {\n                if (dots) {\n                    dots.querySelectorAll('.me-dot').forEach(function(d, i) {\n                        d.classList.toggle('active', i === currentIndex);\n                    });\n                }\n                if (counter) {\n                    counter.textContent = currentIndex + 1;\n                }\n            }\n\n            function lazyLoad(idx) {\n                \/\/ Load current, prev, and next slides\n                [idx - 1, idx, idx + 1].forEach(function(i) {\n                    if (i < 0 || i >= totalSlides) return;\n                    var slide = track.children[i];\n                    if (!slide) return;\n                    var img = slide.querySelector('img');\n                    if (img && img.dataset.src && !img.src) {\n                        img.src = img.dataset.src;\n                    }\n                });\n            }\n\n            \/\/ \u2500\u2500 Touch: swipe horizontal, pass vertical to parent \u2500\u2500\n            slider.addEventListener('touchstart', function(e) {\n                startX = e.touches[0].clientX;\n                startY = e.touches[0].clientY;\n                dragX = 0;\n                isDragging = false;\n                dirLocked = false;\n                isHorizontal = false;\n            }, { passive: true });\n\n            slider.addEventListener('touchmove', function(e) {\n                var dx = e.touches[0].clientX - startX;\n                var dy = e.touches[0].clientY - startY;\n\n                if (!dirLocked) {\n                    if (Math.abs(dx) > THRESHOLD || Math.abs(dy) > THRESHOLD) {\n                        dirLocked = true;\n                        isHorizontal = Math.abs(dx) > Math.abs(dy);\n                    }\n                    if (!dirLocked) return;\n                }\n\n                \/\/ Vertical: do nothing, let parent feed scroll\n                if (!isHorizontal) return;\n\n                \/\/ Horizontal: move the track\n                isDragging = true;\n                dragX = dx;\n                track.classList.add('dragging');\n                var offset = -(currentIndex * 100) + (dragX \/ slider.clientWidth * 100);\n\n                \/\/ Rubber-band at edges\n                if ((currentIndex === 0 && dragX > 0) || (currentIndex === totalSlides - 1 && dragX < 0)) {\n                    offset = -(currentIndex * 100) + (dragX \/ slider.clientWidth * 100) * 0.3;\n                }\n\n                track.style.transform = 'translateX(' + offset + '%)';\n            }, { passive: true });\n\n            slider.addEventListener('touchend', function() {\n                if (!isDragging) return;\n                isDragging = false;\n\n                if (Math.abs(dragX) > SWIPE_MIN) {\n                    if (dragX < 0 && currentIndex < totalSlides - 1) {\n                        goTo(currentIndex + 1);\n                    } else if (dragX > 0 && currentIndex > 0) {\n                        goTo(currentIndex - 1);\n                    } else {\n                        goTo(currentIndex); \/\/ Snap back\n                    }\n                } else {\n                    goTo(currentIndex); \/\/ Snap back\n                }\n            }, { passive: true });\n\n            \/\/ \u2500\u2500 Tap zones: prev\/next on edges \u2500\u2500\n            slider.addEventListener('click', function(e) {\n                var zone = e.target.closest('.me-tap-zone');\n                if (!zone) return;\n                if (zone.dataset.dir === 'next' && currentIndex < totalSlides - 1) {\n                    goTo(currentIndex + 1);\n                } else if (zone.dataset.dir === 'prev' && currentIndex > 0) {\n                    goTo(currentIndex - 1);\n                }\n            });\n\n            \/\/ \u2500\u2500 Dot click \u2500\u2500\n            if (dots) {\n                dots.addEventListener('click', function(e) {\n                    var dot = e.target.closest('.me-dot');\n                    if (!dot) return;\n                    var idx = parseInt(dot.dataset.index, 10);\n                    if (!isNaN(idx)) goTo(idx);\n                });\n            }\n\n            \/\/ Init: load first + second images\n            lazyLoad(0);\n        });\n    }\n\n    \/\/ Hide Elementor header + content after the app (footer SEO copywriting, etc.)\n    (function() {\n        \/\/ Hide Elementor header (JS fallback for browsers without :has() support)\n        document.querySelectorAll('.site-header, #site-header, .elementor-location-header, header.site-header, .ehf-header, #masthead').forEach(function(h) {\n            h.style.display = 'none';\n        });\n        \/\/ Traverse up from #me-app, hiding all next siblings at each level\n        var el = app;\n        while (el.parentElement && el.parentElement !== document.body) {\n            var next = el.nextElementSibling;\n            while (next) {\n                if (next.tagName !== 'SCRIPT' && next.tagName !== 'STYLE' && next.id !== 'selectvipTabBar') {\n                    next.style.display = 'none';\n                }\n                next = next.nextElementSibling;\n            }\n            el = el.parentElement;\n        }\n    })();\n\n    \/\/ Tab bar navigation (pushState handled inside show* functions)\n    document.addEventListener('click', function(e) {\n        var tab = e.target.closest('.selectvip-tab[data-tab]');\n        if (!tab) return;\n        var action = tab.dataset.tab;\n        if (action === 'home') {\n            e.preventDefault();\n            showHome();\n        } else if (action === 'explore') {\n            e.preventDefault();\n            showExplore();\n        } else if (action === 'search') {\n            e.preventDefault();\n            showHome();\n            setTimeout(function() {\n                var locSection = document.querySelector('.me-location-section');\n                if (locSection) locSection.scrollIntoView({ behavior: 'smooth' });\n            }, 100);\n        }\n    });\n\n    \/\/ Browser back\/forward button handler\n    window.addEventListener('popstate', function(e) {\n        var s = e.state;\n        if (!s) { showHome(true); return; }\n        if (s.state === 'home') {\n            showHome(true);\n        } else if (s.state === 'explore') {\n            showExplore(true, true); \/\/ skipModal, skipPush\n        } else if (s.state === 'feed') {\n            activeCategory = s.catId || null;\n            activeCategoryName = s.catName || '';\n            activeCategorySlug = s.catSlug || '';\n            activeDeptSlug = s.deptSlug || '';\n            activeCitySlug = s.citySlug || '';\n            activeLocationId = s.locId || null;\n            showFeed(activeCategoryName, true); \/\/ skipPush\n            \/\/ Restore dept\/city dropdowns if needed\n            if (s.deptSlug && feedDeptSelect) {\n                var deptVal = Object.keys(ME_DEPT_SLUGS).find(function(k) { return ME_DEPT_SLUGS[k] === s.deptSlug; });\n                if (deptVal) {\n                    feedDeptSelect.value = deptVal;\n                    if (s.citySlug) {\n                        var cityVal = Object.keys(ME_CITY_SLUGS).find(function(k) { return ME_CITY_SLUGS[k] === s.citySlug; });\n                        loadFeedCities(deptVal);\n                        if (cityVal) {\n                            setTimeout(function() { feedCitySelect.value = cityVal; }, 600);\n                        }\n                    }\n                }\n            }\n        }\n    });\n\n    \/\/ Initial route handler \u2014 reads data attributes from PHP\n    (function handleInitialRoute() {\n        var initState = app.dataset.initialState;\n        if (initState === 'explore') {\n            showExplore(false, true); \/\/ skipPush (already at correct URL)\n            history.replaceState({ state: 'explore' }, '', ME_HOME_URL + 'explorar\/');\n        } else if (initState === 'feed') {\n            activeCategory = app.dataset.initialCategoryId || null;\n            activeCategoryName = app.dataset.initialCategoryName || '';\n            activeCategorySlug = app.dataset.initialCategorySlug || '';\n            activeDeptSlug = app.dataset.initialDeptSlug || '';\n            activeCitySlug = app.dataset.initialCitySlug || '';\n            var initDeptId = app.dataset.initialDeptId || null;\n            var initCityId = app.dataset.initialCityId || null;\n            activeLocationId = initCityId || initDeptId || null;\n            showFeed(activeCategoryName, true); \/\/ skipPush\n            history.replaceState({\n                state: 'feed', catId: activeCategory, catName: activeCategoryName,\n                catSlug: activeCategorySlug, deptSlug: activeDeptSlug, citySlug: activeCitySlug,\n                locId: activeLocationId\n            }, '', buildSpaUrl());\n            \/\/ Pre-select dept and city dropdowns\n            if (initDeptId && feedDeptSelect) {\n                feedDeptSelect.value = initDeptId;\n                if (initCityId) {\n                    loadFeedCities(initDeptId);\n                    setTimeout(function() { feedCitySelect.value = initCityId; }, 600);\n                }\n            }\n        } else {\n            \/\/ Home state \u2014 check for legacy hash routing\n            var hash = window.location.hash;\n            if (hash === '#explore') {\n                showExplore(false, true);\n            } else if (hash === '#search') {\n                setTimeout(function() {\n                    var locSection = document.querySelector('.me-location-section');\n                    if (locSection) locSection.scrollIntoView({ behavior: 'smooth' });\n                }, 300);\n            }\n            history.replaceState({ state: 'home' }, '', window.location.pathname);\n        }\n    })();\n\n})();\n<\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\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":"elementor_header_footer","meta":{"_rtcl_gb_attr":"","footnotes":""},"class_list":["post-93","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mundoerotic.com\/en\/wp-json\/wp\/v2\/pages\/93","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mundoerotic.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mundoerotic.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mundoerotic.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mundoerotic.com\/en\/wp-json\/wp\/v2\/comments?post=93"}],"version-history":[{"count":46,"href":"https:\/\/mundoerotic.com\/en\/wp-json\/wp\/v2\/pages\/93\/revisions"}],"predecessor-version":[{"id":708,"href":"https:\/\/mundoerotic.com\/en\/wp-json\/wp\/v2\/pages\/93\/revisions\/708"}],"wp:attachment":[{"href":"https:\/\/mundoerotic.com\/en\/wp-json\/wp\/v2\/media?parent=93"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}