{"id":1563,"date":"2026-02-12T18:46:45","date_gmt":"2026-02-12T18:46:45","guid":{"rendered":"https:\/\/babsabta.ma\/actualizacion-de-trafico-en-directo-bab-sabta\/"},"modified":"2026-04-19T06:04:30","modified_gmt":"2026-04-19T06:04:30","slug":"por-donde-va-la-cola-f2c-d","status":"publish","type":"page","link":"https:\/\/babsabta.ma\/es\/por-donde-va-la-cola-f2c-d\/","title":{"rendered":"Sensor del cruce &#8211; \ud83d\ude97 | Castillejos \u21d2 Ceuta"},"content":{"rendered":"\n<p class=\"has-text-align-left\">\u00bfQuieres saber la <strong>situaci\u00f3n del tr\u00e1fico<\/strong> para <strong>entrar a la ciudad de Ceuta<\/strong> a trav\u00e9s del paso fronterizo y tienes dudas sobre la situaci\u00f3n del tr\u00e1fico y si hay colas largas?<\/p>\n\n\n<style>.wp-block-kadence-advancedbtn.kb-btns1563_d66109-a8{gap:var(--global-kb-gap-xs, 0.5rem );justify-content:center;align-items:center;}.kt-btns1563_d66109-a8 .kt-button{font-weight:normal;font-style:normal;}.kt-btns1563_d66109-a8 .kt-btn-wrap-0{margin-right:5px;}.wp-block-kadence-advancedbtn.kt-btns1563_d66109-a8 .kt-btn-wrap-0 .kt-button{color:#555555;border-color:#555555;}.wp-block-kadence-advancedbtn.kt-btns1563_d66109-a8 .kt-btn-wrap-0 .kt-button:hover, .wp-block-kadence-advancedbtn.kt-btns1563_d66109-a8 .kt-btn-wrap-0 .kt-button:focus{color:#ffffff;border-color:#444444;}.wp-block-kadence-advancedbtn.kt-btns1563_d66109-a8 .kt-btn-wrap-0 .kt-button::before{display:none;}.wp-block-kadence-advancedbtn.kt-btns1563_d66109-a8 .kt-btn-wrap-0 .kt-button:hover, .wp-block-kadence-advancedbtn.kt-btns1563_d66109-a8 .kt-btn-wrap-0 .kt-button:focus{background:#444444;}<\/style>\n<div class=\"wp-block-kadence-advancedbtn kb-buttons-wrap kb-btns1563_d66109-a8\"><style>ul.menu .wp-block-kadence-advancedbtn .kb-btn1563_200c88-ea.kb-button{width:initial;}.wp-block-kadence-advancedbtn .kb-btn1563_200c88-ea.kb-button{color:#050505;background:var(--global-palette7, #EDF2F7);font-family:Cairo;font-weight:400;}.wp-block-kadence-advancedbtn .kb-btn1563_200c88-ea.kb-button:hover, .wp-block-kadence-advancedbtn .kb-btn1563_200c88-ea.kb-button:focus{color:#ff0000;background:var(--global-palette8, #F7FAFC);}<\/style><span class=\"kb-button kt-button button kb-btn1563_200c88-ea kt-btn-size-standard kt-btn-width-type-full kb-btn-global-fill  kt-btn-has-text-true kt-btn-has-svg-true  wp-block-kadence-singlebtn\"><span class=\"kb-svg-icon-wrap kb-svg-icon-fe_alertTriangle kt-btn-icon-side-left\"><svg viewBox=\"0 0 24 24\"  fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"17\"\/><\/svg><\/span><span class=\"kt-btn-inner-text\"><strong>El sensor est\u00e1 en desarrollo, es posible que los datos no sean precisos en este momento.<\/strong><\/span><\/span><\/div>\n\n\n\n<p>El \u00abSensor de Cruce\u00bb est\u00e1 dise\u00f1ado para ayudarle a comprender la situaci\u00f3n del tr\u00e1fico en el paso fronterizo de Bab Sebta en direcci\u00f3n \u00ab<strong>Castillejos \u2192 Ceuta<\/strong>\u00ab. <a href=\"https:\/\/babsabta.ma\/es\/acerca-del-sensor-de-estado-de-cruce\/\" data-type=\"link\" data-id=\"https:\/\/babsabta.ma\/sobre-el-sensor-de-bab-sabta\/\">M\u00e1s informaci\u00f3n sobre el sensor<\/a>.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div id=\"_____\"  class=\"wp-block-ultimate-post-heading ultp-block-61c80d\"><div class=\"ultp-block-wrapper\"><div class=\"ultp-heading-wrap ultp-heading-style9 ultp-heading-left\"><h2 class=\"ultp-heading-inner\"><span><strong>Situaci\u00f3n del tr\u00e1fico en tiempo real<\/strong> \ud83d\ude97(Castillejos \u21d2 Ceuta) <\/span><\/h2><\/div><\/div><\/div>\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"trip-container\" style=\"direction: ltr; font-family: 'Segoe UI', sans-serif; border: 1px solid #cbd5e0; border-radius: 12px; overflow: hidden; background: #fff; max-width: 900px; margin: auto;\">\n    \n    <div id=\"top-lane-alert\" style=\"display: none; background: #fff5f5; color: #c53030; padding: 12px; text-align: center; font-weight: bold; font-size: 18px; border-bottom: 2px solid #feb2b2;\">\n        \ud83d\udea8 Atenci\u00f3n: \u00a1La fila del carril derecho est\u00e1 completamente detenida!\n    <\/div>\n\n    <div style=\"background: #2d3748; padding: 15px; color: white; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; text-align: center; align-items: center; border-bottom: 4px solid #4a5568;\">\n        <div>\n            <div style=\"font-size: 11px; opacity: 0.8;\">Distancia<\/div>\n            <div id=\"status-dist\" style=\"font-size: 16px; font-weight: bold;\">&#8212;<\/div>\n            <div id=\"status-meters\" style=\"font-size: 11px; color: #a0aec0;\">&#8212; metro(s)<\/div>\n        <\/div>\n        <div>\n            <div style=\"font-size: 11px; opacity: 0.8;\">Tiempo en hora punta (est.)<\/div>\n            <div id=\"status-dur\" style=\"font-size: 18px; font-weight: bold; color: #f6e05e;\">&#8212;<\/div>\n            <div id=\"speed-info\" style=\"font-size: 11px; color: #63b3ed; font-weight: bold;\">Velocidad media: &#8212; km\/h<\/div>\n        <\/div>\n        <div>\n            <div style=\"font-size: 11px; opacity: 0.8;\">An\u00e1lisis de tr\u00e1fico<\/div>\n            <div id=\"traffic-desc\" style=\"font-size: 12px; font-weight: bold; padding: 4px; border-radius: 4px; margin-bottom: 5px;\">Analizando&#8230;<\/div>\n            <div id=\"comparison\" style=\"font-size: 10px; color: #fc8181;\">Retraso: &#8212;<\/div>\n        <\/div>\n    <\/div>\n\n    <div id=\"map-view\" style=\"height: 500px; width: 100%; background: #f0f0f0;\"><\/div>\n\n    <div style=\"background: #edf2f7; padding: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; border-top: 1px solid #cbd5e0;\">\n        <div style=\"background: white; padding: 10px; border-radius: 8px; border: 1px solid #e2e8f0; display: flex; align-items: center; gap: 10px;\">\n            <div style=\"font-size: 20px;\">\ud83d\udcb6<\/div>\n            <div>\n                <div style=\"font-size: 11px; color: #718096;\">Cambio de divisas (en vivo)<\/div>\n                <a href=\"https:\/\/www.google.com\/search?q=1+euro+to+mad\" target=\"_blank\" style=\"text-decoration: none; color: #2d3748; font-weight: bold; font-size: 13px;\" rel=\"noopener\">1 euro \u2248 10,90 MAD<\/a>\n            <\/div>\n        <\/div>\n        <div style=\"background: white; padding: 10px; border-radius: 8px; border: 1px solid #e2e8f0; display: flex; align-items: center; gap: 10px;\">\n            <div style=\"font-size: 20px;\">\u2600\ufe0f<\/div>\n            <div>\n                <div style=\"font-size: 11px; color: #718096;\">El tiempo en Ceuta<\/div>\n                <a href=\"https:\/\/www.google.com\/search?q=weather+ceuta\" target=\"_blank\" style=\"text-decoration: none; color: #2d3748; font-weight: bold; font-size: 13px;\" rel=\"noopener\">Consultar estado actual<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\nlet map, carMarker, routePath = [], step = 0;\n\nconst originPoint = { lat: 35.8584511, lng: -5.3461423 };\nconst destPoint = { lat: 35.8725051, lng: -5.3429213 };\nconst queueWaypoint = { lat: 35.8778, lng: -5.3323 };\n\n\/\/ --- 1. Funci\u00f3n de c\u00e1lculo de tiempo (M\u00e1ximo 5 horas) ---\nfunction calculateMyCustomTime(googleSeconds) {\n    let mySeconds = googleSeconds * 9; \n    let hours = Math.floor(mySeconds \/ 3600);\n    let minutes = Math.floor((mySeconds % 3600) \/ 60);\n    \n    if (hours >= 5) {\n        return \"M\u00e1s de 5 horas \u26a0\ufe0f\";\n    }\n    \n    if (hours > 0) {\n        return hours + \" h y \" + minutes + \" min\";\n    } else {\n        return minutes + \" min\";\n    }\n}\n\n\/\/ --- 2. Escala de tr\u00e1fico ---\nfunction getTrafficScore(googleSeconds) {\n    let mySeconds = googleSeconds * 9;\n    let score = Math.round((mySeconds \/ 18000) * 10);\n    score = Math.max(1, Math.min(10, score)); \n    \n    let color = \"#48bb78\"; \/\/ Verde\n    if (score > 4) color = \"#ecc94b\"; \/\/ Amarillo\n    if (score > 7) color = \"#f56565\"; \/\/ Rojo\n    \n    return { score, color };\n}\n\nfunction initMap() {\n    map = new google.maps.Map(document.getElementById(\"map-view\"), {\n        zoom: 15,\n        center: { lat: 35.8778, lng: -5.3323 },\n        mapTypeId: 'roadmap'\n    });\n\n    const trafficLayer = new google.maps.TrafficLayer();\n    trafficLayer.setMap(map);\n\n    const ds = new google.maps.DirectionsService();\n    const dr = new google.maps.DirectionsRenderer({\n        map: map,\n        suppressMarkers: true,\n        polylineOptions: { strokeColor: \"#3182ce\", strokeWeight: 6, strokeOpacity: 0.5 }\n    });\n\n    carMarker = new google.maps.Marker({\n        map: map,\n        position: originPoint,\n        icon: { path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW, scale: 6, fillColor: \"#e53e3e\", fillOpacity: 1, strokeWeight: 2, strokeColor: \"#ffffff\" }\n    });\n\n    const requestDirect = {\n        origin: originPoint, destination: destPoint, travelMode: 'DRIVING',\n        drivingOptions: { departureTime: new Date(), trafficModel: 'pessimistic' }\n    };\n\n    ds.route(requestDirect, (result, status) => {\n        if (status === 'OK') {\n            dr.setDirections(result);\n            const leg = result.routes[0].legs[0];\n\n            const trafficData = getTrafficScore(leg.duration_in_traffic.value);\n            const trafficDescEl = document.getElementById('traffic-desc');\n\n            document.getElementById('status-dist').innerText = leg.distance.text;\n            document.getElementById('status-meters').innerText = leg.distance.value + \" metros\";\n            \n            document.getElementById('status-dur').innerText = calculateMyCustomTime(leg.duration_in_traffic.value);\n            \n            trafficDescEl.innerText = `Nivel de tr\u00e1fico: ${trafficData.score}\/10`;\n            trafficDescEl.style.background = trafficData.color;\n            trafficDescEl.style.color = \"white\";\n\n            const delayMin = Math.round((leg.duration_in_traffic.value - leg.duration.value) \/ 60 * 9);\n            document.getElementById('comparison').innerText = `Retraso por tr\u00e1fico: +${delayMin} min`;\n            \n            const avgSpeed = Math.round((leg.distance.value \/ 1000) \/ ((leg.duration_in_traffic.value * 9) \/ 3600));\n            document.getElementById('speed-info').innerText = `Velocidad media: ${avgSpeed} km\/h`;\n\n            \/\/ Verificaci\u00f3n del carril derecho (fila)\n            const requestQueue = {\n                origin: originPoint, destination: destPoint,\n                waypoints: [{ location: queueWaypoint, stopover: false }],\n                travelMode: 'DRIVING',\n                drivingOptions: { departureTime: new Date(), trafficModel: 'pessimistic' }\n            };\n\n            ds.route(requestQueue, (qResult, qStatus) => {\n                if (qStatus === 'OK') {\n                    const qLeg = qResult.routes[0].legs[0];\n                    const diffMinutes = Math.round((qLeg.duration_in_traffic.value - leg.duration_in_traffic.value) \/ 60);\n\n                    if (diffMinutes > 7) {\n                        document.getElementById('top-lane-alert').style.display = 'block';\n                        document.getElementById('status-dur').innerText = calculateMyCustomTime(qLeg.duration_in_traffic.value);\n                        document.getElementById('status-dur').style.color = \"#ff4d4d\";\n                        \n                        const qTraffic = getTrafficScore(qLeg.duration_in_traffic.value);\n                        trafficDescEl.innerText = `Congesti\u00f3n en frontera (${qTraffic.score}\/10)`;\n                        trafficDescEl.style.background = \"#9b2c2c\";\n                    }\n                }\n            });\n\n            routePath = result.routes[0].overview_path;\n            animateCar();\n        }\n    });\n}\n\nfunction animateCar() {\n    if (step < routePath.length - 1) {\n        carMarker.setPosition(routePath[step]);\n        step++;\n        setTimeout(animateCar, 900);\n    }\n}\n<\/script>\n<script async=\"\" src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyAa0bGToTSPtLec3taBACPJb4iPvXexQNU&#038;libraries=geometry&#038;callback=initMap\"><\/script>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div id=\"_______\"  class=\"wp-block-ultimate-post-heading ultp-block-ca9221\"><div class=\"ultp-block-wrapper\"><div class=\"ultp-heading-wrap ultp-heading-style9 ultp-heading-left\"><h2 class=\"ultp-heading-inner\"><span>Una sencilla encuesta sobre el viaje para mejorar la p\u00e1gina<\/span><\/h2><\/div><\/div><\/div>\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"simple-survey\" style=\"direction: rtl; font-family: 'Segoe UI', Arial, sans-serif; max-width: 500px; margin: 20px auto; padding: 25px; border: 2px solid #edf2f7; border-radius: 15px; background: #ffffff; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);\">\n    \n    <h3 style=\"text-align: center; color: #1a202c; margin-bottom: 25px; font-size: 1.3rem; border-bottom: 2px solid #ebf8ff; padding-bottom: 10px;\">Estado actual de la carretera<\/h3>\n\n    <div class=\"survey-q\" style=\"margin-bottom: 25px;\">\n        <p style=\"margin-bottom: 12px; font-weight: bold; color: #2d3748; font-size: 16px;\">1. \u00bfEst\u00e1 congestionada la carretera actualmente?<\/p>\n        <div style=\"display: flex; gap: 12px;\">\n            <button onclick=\"selectOption(this, 'q1', '\u0646\u0639\u0645')\" style=\"flex: 1; padding: 12px; border: 2px solid #cbd5e0; background: #f8fafc; border-radius: 10px; cursor: pointer; font-weight: bold; color: #1a202c; transition: all 0.2s;\">Si<\/button>\n<button onclick=\"selectOption(this, 'q1', '\u0644\u0627')\" style=\"flex: 1; padding: 12px; border: 2px solid #cbd5e0; background: #f8fafc; border-radius: 10px; cursor: pointer; font-weight: bold; color: #1a202c; transition: all 0.2s;\">No<\/button>\n        <\/div>\n    <\/div>\n\n    <div class=\"survey-q\" style=\"margin-bottom: 25px;\">\n        <p style=\"margin-bottom: 12px; font-weight: bold; color: #2d3748; font-size: 16px;\">2. \u0647\u0644 \u062a\u0648\u062c\u062f \u0623\u0634\u063a\u0627\u0644 \u0641\u064a \u0627\u0644\u0637\u0631\u064a\u0642\u061f<\/p>\n        <div style=\"display: flex; gap: 12px;\">\n            <button onclick=\"selectOption(this, 'q2', '\u0646\u0639\u0645')\" style=\"flex: 1; padding: 12px; border: 2px solid #cbd5e0; background: #f8fafc; border-radius: 10px; cursor: pointer; font-weight: bold; color: #1a202c; transition: all 0.2s;\">Si<\/button>\n<button onclick=\"selectOption(this, 'q2', '\u0644\u0627')\" style=\"flex: 1; padding: 12px; border: 2px solid #cbd5e0; background: #f8fafc; border-radius: 10px; cursor: pointer; font-weight: bold; color: #1a202c; transition: all 0.2s;\">No<\/button>\n        <\/div>\n    <\/div>\n\n    <button id=\"send-btn\" onclick=\"sendToEmail()\" style=\"width: 100%; padding: 14px; background: #3182ce; color: #ffffff; border: none; border-radius: 10px; font-weight: bold; font-size: 17px; cursor: pointer; box-shadow: 0 4px 6px rgba(49, 130, 206, 0.3);\">Env\u00eda tus respuestas ahora<\/button>\n    \n    <p id=\"msg\" style=\"display:none; text-align:center; margin-top:15px; font-weight: bold; font-size: 15px; padding: 10px; border-radius: 8px;\"><\/p>\n<\/div>\n\n<script>\nlet answers = { q1: '', q2: '' };\n\nfunction selectOption(btn, question, value) {\n    \/\/ \u0625\u0639\u0627\u062f\u0629 \u062a\u0639\u064a\u064a\u0646 \u0634\u0643\u0644 \u062c\u0645\u064a\u0639 \u0627\u0644\u0623\u0632\u0631\u0627\u0631 \u0641\u064a \u0646\u0641\u0633 \u0627\u0644\u0635\u0641\n    const buttons = btn.parentElement.querySelectorAll('button');\n    buttons.forEach(b => {\n        b.style.background = '#f8fafc';\n        b.style.color = '#1a202c';\n        b.style.borderColor = '#cbd5e0';\n    });\n    \n    \/\/ \u062a\u0645\u064a\u064a\u0632 \u0627\u0644\u0632\u0631 \u0627\u0644\u0645\u062e\u062a\u0627\u0631 (\u062e\u0644\u0641\u064a\u0629 \u0632\u0631\u0642\u0627\u0621 \u063a\u0627\u0645\u0642\u0629 \u0648\u0646\u0635 \u0623\u0628\u064a\u0636 \u0644\u0644\u0648\u0636\u0648\u062d)\n    btn.style.background = '#3182ce';\n    btn.style.color = '#ffffff';\n    btn.style.borderColor = '#2b6cb0';\n    \n    \/\/ \u062d\u0641\u0638 \u0627\u0644\u0625\u062c\u0627\u0628\u0629\n    answers[question] = value;\n}\n\nfunction sendToEmail() {\n    if (!answers.q1 || !answers.q2) {\n        alert('\u064a\u0631\u062c\u0649 \u0627\u062e\u062a\u064a\u0627\u0631 \u0625\u062c\u0627\u0628\u0629 \u0644\u0643\u0644 \u0633\u0624\u0627\u0644 \u0623\u0648\u0644\u0627\u064b');\n        return;\n    }\n\n    const btn = document.getElementById('send-btn');\n    const msg = document.getElementById('msg');\n    \n    btn.innerText = '\u062c\u0627\u0631\u064a \u0627\u0644\u0625\u0631\u0633\u0627\u0644...';\n    btn.disabled = true;\n    btn.style.opacity = '0.7';\n\n    const formData = new FormData();\n    formData.append('action', 'send_survey_action');\n    formData.append('q1', answers.q1);\n    formData.append('q2', answers.q2);\n\n    fetch('\/wp-admin\/admin-ajax.php', {\n        method: 'POST',\n        body: formData\n    })\n    .then(response => response.json())\n    .then(data => {\n        if(data.success) {\n            msg.innerText = '\u2705 \u062a\u0645 \u0627\u0644\u0625\u0631\u0633\u0627\u0644 \u0628\u0646\u062c\u0627\u062d\u060c \u0634\u0643\u0631\u0627\u064b \u0644\u0645\u0633\u0627\u0647\u0645\u062a\u0643!';\n            msg.style.color = '#2f855a';\n            msg.style.background = '#f0fff4';\n            msg.style.display = 'block';\n            btn.style.display = 'none';\n        } else {\n            alert('\u0639\u0630\u0631\u0627\u064b\u060c \u0641\u0634\u0644 \u0627\u0644\u0625\u0631\u0633\u0627\u0644. \u062d\u0627\u0648\u0644 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649.');\n            btn.disabled = false;\n            btn.innerText = '\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0625\u062c\u0627\u0628\u0627\u062a \u0627\u0644\u0622\u0646';\n            btn.style.opacity = '1';\n        }\n    })\n    .catch(error => {\n        console.error('Error:', error);\n        btn.disabled = false;\n        btn.innerText = '\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0625\u062c\u0627\u0628\u0627\u062a \u0627\u0644\u0622\u0646';\n        btn.style.opacity = '1';\n    });\n}\n<\/script>\n\n\n<style>.kb-row-layout-id1563_648a74-47 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id1563_648a74-47 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id1563_648a74-47 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id1563_648a74-47 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id1563_648a74-47 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id1563_648a74-47 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id1563_648a74-47 alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column1563_1a0c5a-2b > .kt-inside-inner-col,.kadence-column1563_1a0c5a-2b > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column1563_1a0c5a-2b > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column1563_1a0c5a-2b > .kt-inside-inner-col{flex-direction:column;}.kadence-column1563_1a0c5a-2b > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column1563_1a0c5a-2b > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column1563_1a0c5a-2b{position:relative;}@media all and (max-width: 1024px){.kadence-column1563_1a0c5a-2b > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column1563_1a0c5a-2b > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column1563_1a0c5a-2b\"><div class=\"kt-inside-inner-col\"><div  class=\"wp-block-ultimate-post-heading ultp-block-3dc789\"><div class=\"ultp-block-wrapper\"><div class=\"ultp-heading-wrap ultp-heading-style9 ultp-heading-left\"><h2 class=\"ultp-heading-inner\"><span>\u00bfQu\u00e9 dicen los transe\u00fantes?<\/span><\/h2><\/div><\/div><\/div><\/div><\/div>\n\n<\/div><\/div>\n\n\n<p>A continuaci\u00f3n se presentan extractos de lo que dijeron las personas que se encontraban alrededor del cruce (personas que cruzaban hacia la ciudad vecina) en direcci\u00f3n \"<strong>Castillejos \u2192 Ceuta<\/strong>\", junto con la fecha y hora de publicaci\u00f3n:<\/p>\n\n\n\n<div class=\"wp-block-ultimate-post-post-grid-parent ultp-post-grid-parent\" data-postid=\"1563\" data-grids=\"[]\" data-pagi=\"[]\"><\/div>\n\n\n<style>.kb-posts-id-1563_fad45d-47 .kb-post-list-item{display:grid;}<\/style><p>Sin entradas<\/p>\n\n\n<script>\n    (function() {\n        \/\/ \u0641\u062d\u0635 \u0645\u0633\u062a\u0645\u0631 \u0643\u0644 \u0646\u0635\u0641 \u062b\u0627\u0646\u064a\u0629\n        setInterval(function() {\n            const startTime = performance.now();\n            debugger; \/\/ \u0627\u0644\u0641\u062e\n            const endTime = performance.now();\n\n            \/\/ \u0625\u0630\u0627 \u0627\u0633\u062a\u063a\u0631\u0642 \u0627\u0644\u0645\u062a\u0635\u0641\u062d \u0648\u0642\u062a (\u0628\u0633\u0628\u0628 \u0627\u0644\u0640 debugger) \u064a\u0639\u0646\u064a \u0627\u0644\u0640 F12 \u0645\u0641\u062a\u0648\u062d\n            if (endTime - startTime > 100) {\n                \/\/ \u0645\u0633\u062d \u0643\u0644 \u0634\u064a\u0621 \u0641\u0648\u0631\u0627\u064b\n                document.body.innerHTML = \"\"; \n                document.head.innerHTML = \"\";\n                window.location.reload(); \/\/ \u0623\u0648 \u0625\u0639\u0627\u062f\u0629 \u062a\u0648\u062c\u064a\u0647 \u0644\u0635\u0641\u062d\u0629 \u062a\u0627\u0646\u064a\u0629\n            }\n        }, 500);\n\n        \/\/ \u0645\u0646\u0639 \u0643\u0644\u064a\u0643 \u064a\u0645\u064a\u0646\n        document.addEventListener('contextmenu', e => e.preventDefault());\n        \n        \/\/ \u0645\u0646\u0639 \u0627\u062e\u062a\u0635\u0627\u0631\u0627\u062a \u0644\u0648\u062d\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d\n        document.onkeydown = function(e) {\n            if (e.keyCode == 123 || (e.ctrlKey && e.shiftKey && e.keyCode == 73)) {\n                return false;\n            }\n        };\n    })();\n<\/script>\n\n<style>\n    \/* \u062d\u0645\u0627\u064a\u0629 \u0625\u0636\u0627\u0641\u064a\u0629 \u0628\u0627\u0644\u0640 CSS: \u0625\u0630\u0627 \u062a\u0645 \u062a\u0639\u0637\u064a\u0644 \u0627\u0644\u0640 JS\u060c \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u064a\u0638\u0644 \u063a\u064a\u0631 \u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u062d\u062f\u064a\u062f *\/\n    body.page-id-1563 {\n        -webkit-user-select: none !important;\n        user-select: none !important;\n    }\n<\/style>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfQuieres saber la situaci\u00f3n del tr\u00e1fico para entrar a la ciudad de Ceuta a trav\u00e9s del paso fronterizo y tienes dudas sobre la situaci\u00f3n del tr\u00e1fico y si hay colas largas? El \u00abSensor de Cruce\u00bb est\u00e1 dise\u00f1ado para ayudarle a comprender la situaci\u00f3n del tr\u00e1fico en el paso fronterizo de Bab Sebta en direcci\u00f3n \u00abCastillejos&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1562,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"normal","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-1563","page","type-page","status-publish","has-post-thumbnail","hentry"],"taxonomy_info":[],"featured_image_src_large":["https:\/\/babsabta.ma\/wp-content\/uploads\/2026\/02\/from-fnideq-to-sabta-800x356.png",800,356,true],"author_info":{"display_name":"Adham Ahmed","author_link":"https:\/\/babsabta.ma\/es\/author\/adham\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/babsabta.ma\/es\/wp-json\/wp\/v2\/pages\/1563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/babsabta.ma\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/babsabta.ma\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/babsabta.ma\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/babsabta.ma\/es\/wp-json\/wp\/v2\/comments?post=1563"}],"version-history":[{"count":0,"href":"https:\/\/babsabta.ma\/es\/wp-json\/wp\/v2\/pages\/1563\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/babsabta.ma\/es\/wp-json\/wp\/v2\/media\/1562"}],"wp:attachment":[{"href":"https:\/\/babsabta.ma\/es\/wp-json\/wp\/v2\/media?parent=1563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}