{"id":875,"date":"2025-05-19T19:29:01","date_gmt":"2025-05-19T19:29:01","guid":{"rendered":"https:\/\/filminsonora.gilasw.com\/?page_id=875"},"modified":"2025-07-31T17:50:38","modified_gmt":"2025-07-31T17:50:38","slug":"locations","status":"publish","type":"page","link":"https:\/\/filminsonora.gilasw.com\/en\/locations\/","title":{"rendered":"Locations"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"875\" class=\"elementor elementor-875\">\n\t\t\t\t<div class=\"elementor-element elementor-element-10e9571 e-con-full e-flex e-con e-parent\" data-id=\"10e9571\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-4680822 elementor-hidden-desktop e-flex e-con-boxed e-con e-child\" data-id=\"4680822\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-681ad8c e-con-full e-flex e-con e-child\" data-id=\"681ad8c\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ffaace9 elementor-widget elementor-widget-heading\" data-id=\"ffaace9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Over 110 unique locations to tell your story<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-44213e8 e-con-full e-flex e-con e-child\" data-id=\"44213e8\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7559769 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"7559769\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Explore the catalog<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-63a7a48 elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed e-con e-child\" data-id=\"63a7a48\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-66e17a9 elementor-widget elementor-widget-heading\" data-id=\"66e17a9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Over 110 unique locations to tell your story<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-34261bd e-flex e-con-boxed e-con e-parent\" data-id=\"34261bd\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-caa35f2 e-con-full e-flex e-con e-child\" data-id=\"caa35f2\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-954e54d elementor-widget elementor-widget-heading\" data-id=\"954e54d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Explore by<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-58a28c0 elementor-widget elementor-widget-heading\" data-id=\"58a28c0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">CATEGORY<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-166cd0b e-con-full e-flex e-con e-child\" data-id=\"166cd0b\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c88885b elementor-widget elementor-widget-shortcode\" data-id=\"c88885b\" data-element_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 class=\"filmin-categories\">\r\n    <div class=\"filmin-categories__grid\">\r\n                    <div class=\"filmin-category__card\" style=\"background-image: url('https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/06\/DJI_0487-scaled.jpg')\">\r\n                <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?tipo_locacion=ciudad\" class=\"filmin-category__link\">\r\n                    <div class=\"filmin-category__overlay\"><\/div>\r\n                    <p class=\"filmin-category__name\">City<\/p>\r\n                <\/a>\r\n            <\/div>\r\n                    <div class=\"filmin-category__card\" style=\"background-image: url('https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/06\/T2506126-scaled.jpg')\">\r\n                <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?tipo_locacion=desierto\" class=\"filmin-category__link\">\r\n                    <div class=\"filmin-category__overlay\"><\/div>\r\n                    <p class=\"filmin-category__name\">Desert<\/p>\r\n                <\/a>\r\n            <\/div>\r\n                    <div class=\"filmin-category__card\" style=\"background-image: url('https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/06\/DJI_0540-scaled.jpg')\">\r\n                <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?tipo_locacion=frontera\" class=\"filmin-category__link\">\r\n                    <div class=\"filmin-category__overlay\"><\/div>\r\n                    <p class=\"filmin-category__name\">Border<\/p>\r\n                <\/a>\r\n            <\/div>\r\n                    <div class=\"filmin-category__card\" style=\"background-image: url('https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/06\/MKO09743-Edit-scaled.jpg')\">\r\n                <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?tipo_locacion=playa\" class=\"filmin-category__link\">\r\n                    <div class=\"filmin-category__overlay\"><\/div>\r\n                    <p class=\"filmin-category__name\">Beach<\/p>\r\n                <\/a>\r\n            <\/div>\r\n                    <div class=\"filmin-category__card\" style=\"background-image: url('https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/06\/DJI_0893-scaled.jpg')\">\r\n                <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?tipo_locacion=pueblo\" class=\"filmin-category__link\">\r\n                    <div class=\"filmin-category__overlay\"><\/div>\r\n                    <p class=\"filmin-category__name\">Town<\/p>\r\n                <\/a>\r\n            <\/div>\r\n                    <div class=\"filmin-category__card\" style=\"background-image: url('https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/06\/T2503932-scaled.jpg')\">\r\n                <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?tipo_locacion=pueblo-magico\" class=\"filmin-category__link\">\r\n                    <div class=\"filmin-category__overlay\"><\/div>\r\n                    <p class=\"filmin-category__name\">Magic Town<\/p>\r\n                <\/a>\r\n            <\/div>\r\n            <\/div>\r\n    <div class=\"filmin-categories__cta\">\r\n        <a href=\"https:\/\/filminsonora.gilasw.com\/en\/categories\/\" class=\"filmin-categories__cta-button\">View all categories<\/a>\r\n    <\/div>\r\n<\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7efa193 e-con-full e-flex e-con e-parent\" data-id=\"7efa193\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-5b9fdf6 e-con-full e-flex e-con e-child\" data-id=\"5b9fdf6\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-62ed94e elementor-widget elementor-widget-heading\" data-id=\"62ed94e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Explore by<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5979352 elementor-widget elementor-widget-heading\" data-id=\"5979352\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">REGION<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2f658df elementor-widget elementor-widget-shortcode\" data-id=\"2f658df\" data-element_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 class=\"filmin-zones-slider\">\r\n    <div class=\"swiper-wrapper\">\r\n                <div class=\"swiper-slide\">\r\n            <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=centro\">\r\n                <div class=\"zone-box\" style=\"background-color: #f3e6e8;\">\r\n                    <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/06\/Frame-8zonas.png\" alt=\"Centro\" class=\"zone-icon\">\r\n                    <p>Center<\/p>\r\n                <\/div>\r\n            <\/a>\r\n        <\/div>\r\n                <div class=\"swiper-slide\">\r\n            <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=este\">\r\n                <div class=\"zone-box\" style=\"background-color: #ebe4f0;\">\r\n                    <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/Este-1.png\" alt=\"Este\" class=\"zone-icon\">\r\n                    <p>East<\/p>\r\n                <\/div>\r\n            <\/a>\r\n        <\/div>\r\n                <div class=\"swiper-slide\">\r\n            <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=noreste\">\r\n                <div class=\"zone-box\" style=\"background-color: E6E6F4;\">\r\n                    <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/Frame-10zonas-2.png\" alt=\"Noreste\" class=\"zone-icon\">\r\n                    <p>Northeast<\/p>\r\n                <\/div>\r\n            <\/a>\r\n        <\/div>\r\n                <div class=\"swiper-slide\">\r\n            <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=noroeste\">\r\n                <div class=\"zone-box\" style=\"background-color: #f4e8df;\">\r\n                    <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/Frame-6zonas-1.png\" alt=\"Noroeste\" class=\"zone-icon\">\r\n                    <p>Northwest<\/p>\r\n                <\/div>\r\n            <\/a>\r\n        <\/div>\r\n                <div class=\"swiper-slide\">\r\n            <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=norte\">\r\n                <div class=\"zone-box\" style=\"background-color: #dde6f9;\">\r\n                    <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/Frame-11zonas-1.png\" alt=\"Norte\" class=\"zone-icon\">\r\n                    <p>North<\/p>\r\n                <\/div>\r\n            <\/a>\r\n        <\/div>\r\n                <div class=\"swiper-slide\">\r\n            <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=oeste\">\r\n                <div class=\"zone-box\" style=\"background-color: #fef6e3;\">\r\n                    <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/Frame-12zonas-1-1.png\" alt=\"Oeste\" class=\"zone-icon\">\r\n                    <p>West<\/p>\r\n                <\/div>\r\n            <\/a>\r\n        <\/div>\r\n                <div class=\"swiper-slide\">\r\n            <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=sur\">\r\n                <div class=\"zone-box\" style=\"background-color: #e8dee5;\">\r\n                    <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/Frame-7zonas-1.png\" alt=\"Sur\" class=\"zone-icon\">\r\n                    <p>South<\/p>\r\n                <\/div>\r\n            <\/a>\r\n        <\/div>\r\n                <div class=\"swiper-slide\">\r\n            <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=sureste\">\r\n                <div class=\"zone-box\" style=\"background-color: #fcede7;\">\r\n                    <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/Sureste-1.png\" alt=\"Sureste\" class=\"zone-icon\">\r\n                    <p>Southeast<\/p>\r\n                <\/div>\r\n            <\/a>\r\n        <\/div>\r\n                <div class=\"swiper-slide\">\r\n            <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=suroeste\">\r\n                <div class=\"zone-box\" style=\"background-color: #dcdce7;\">\r\n                    <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/Suroeste-1.png\" alt=\"Suroeste\" class=\"zone-icon\">\r\n                    <p>Southwest<\/p>\r\n                <\/div>\r\n            <\/a>\r\n        <\/div>\r\n            <\/div>\r\n<\/div>\r\n\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n    const sliderContainer = document.querySelector('.filmin-zones-slider');\r\n    if (!sliderContainer) return;\r\n\r\n    const swiper = new Swiper(sliderContainer, {\r\n        slidesPerView: 1.3,\r\n        spaceBetween: 20,\r\n        loop: true,\r\n        breakpoints: {\r\n          480: {\r\n            slidesPerView: 2.3,\r\n            spaceBetween: 15\r\n          },\r\n          768: {\r\n            slidesPerView: 5.5,\r\n            spaceBetween: 20\r\n          },\r\n          1024: {\r\n            slidesPerView: 4.5,\r\n            spaceBetween: 24\r\n          },\r\n        }\r\n      });\r\n});\r\n<\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8bae0a6 e-con-full e-flex e-con e-parent\" data-id=\"8bae0a6\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-ed94a30 e-con-full e-flex e-con e-child\" data-id=\"ed94a30\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a06be98 elementor-widget elementor-widget-heading\" data-id=\"a06be98\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Explore by<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-240ae6d elementor-widget elementor-widget-heading\" data-id=\"240ae6d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">LOCATIONS ON MAP<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6627667 e-con-full e-flex e-con e-child\" data-id=\"6627667\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5ac5637 elementor-widget elementor-widget-shortcode\" data-id=\"5ac5637\" data-element_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\">\r\n<div id=\"filmin-search-map\" class=\"map-container\"><\/div>\r\n\r\n<script>\r\n\r\n    document.addEventListener('DOMContentLoaded', function() {\r\n        if (typeof google !== 'undefined' && google.maps) {\r\n            loadAllLocationsMap();\r\n        }\r\n    });\r\n<\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a88f583 e-flex e-con-boxed e-con e-parent\" data-id=\"a88f583\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-5b0edff e-con-full e-flex e-con e-child\" data-id=\"5b0edff\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9b2fd4d elementor-widget elementor-widget-heading\" data-id=\"9b2fd4d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Locations<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c5d2de0 elementor-widget elementor-widget-heading\" data-id=\"c5d2de0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">WORTH HIGHLIGHTING<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3432c4d e-con-full e-flex e-con e-child\" data-id=\"3432c4d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e863a63 elementor-widget elementor-widget-shortcode\" data-id=\"e863a63\" data-element_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 class=\"swiper filmin-featured-slider\">\r\n    <div class=\"swiper-wrapper\">\r\n                    <div class=\"swiper-slide\">\r\n                \r\n<div class=\"filmin-location-card\" id=\"filmin-location-card-6a4d2f542f4ff\">\r\n  <div class=\"filmin-location-card__image-wrapper\">\r\n    <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouter\/punta-chueca\/\">\r\n      <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/DJI_0785.jpg\"\r\n        alt=\"Punta Chueca\"\r\n        class=\"filmin-location-card__image\">\r\n      <div class=\"filmin-location-card__title-overlay\">\r\n        Punta Chueca      <\/div>\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <div class=\"filmin-location-card__info\">\r\n          <span>\r\n                  <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?tipo_locacion=playa\">\r\n            Beach          <\/a>\r\n                        <\/span>\r\n        <span>\r\n      <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=oeste\">\r\n        West                  <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/Frame-12zonas-1-1.png\"\r\n            alt=\"Icono\"\r\n            class=\"filmin-location-card__zone-icon\">\r\n              <\/a>\r\n    <\/span>\r\n  <\/div>\r\n\r\n      <div class=\"filmin-location-card__tags-container\">\r\n      <!-- Contenedor oculto para medir el ancho de los tags -->\r\n      <div class=\"filmin-location-card__tags-measure\" id=\"filmin-location-card-6a4d2f542f4ff-measure\"><\/div>\r\n\r\n      <!-- Contenedor visible de tags -->\r\n      <div class=\"filmin-location-card__tags-visible\" id=\"filmin-location-card-6a4d2f542f4ff-visible\">\r\n                  <!-- Los tags se renderizar\u00e1n din\u00e1micamente con JavaScript -->\r\n              <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    (function() {\r\n      'use strict';\r\n\r\n      class ExpandableLocationCard {\r\n        constructor(cardId, tags, baseUrl, maxVisibleTags) {\r\n          this.cardId = cardId;\r\n          this.tags = tags;\r\n          this.baseUrl = baseUrl;\r\n          this.maxVisibleTags = maxVisibleTags || 3;\r\n          this.isExpanded = false;\r\n          this.visibleTags = [];\r\n          this.hiddenTags = [];\r\n\r\n          this.tagsMeasure = document.getElementById(cardId + '-measure');\r\n          this.tagsVisible = document.getElementById(cardId + '-visible');\r\n\r\n          if (this.tagsMeasure && this.tagsVisible) {\r\n            this.init();\r\n          }\r\n        }\r\n\r\n        init() {\r\n          this.createMeasureTags();\r\n          this.calculateVisibleTags();\r\n          this.renderTags();\r\n\r\n          \/\/ Recalcular en resize\r\n          window.addEventListener('resize', () => {\r\n            this.calculateVisibleTags();\r\n            this.renderTags();\r\n          });\r\n        }\r\n\r\n        createMeasureTags() {\r\n          this.tagsMeasure.innerHTML = '';\r\n          this.tags.forEach(tag => {\r\n            const tagElement = document.createElement('div');\r\n            tagElement.className = 'filmin-location-card__tag';\r\n            tagElement.innerHTML = `<a href=\"${this.baseUrl}?nombre=${encodeURIComponent(tag.slug)}\" class=\"filmin-location-card__tag-link\">${tag.name}<\/a>`;\r\n            tagElement.style.marginRight = '6px';\r\n            this.tagsMeasure.appendChild(tagElement);\r\n          });\r\n        }\r\n\r\n        calculateVisibleTags() {\r\n          const containerWidth = this.tagsVisible.offsetWidth;\r\n\r\n          \/\/ Primero, intentar mostrar al menos max_visible_tags\r\n          let visible = this.tags.slice(0, this.maxVisibleTags);\r\n          let hidden = this.tags.slice(this.maxVisibleTags);\r\n\r\n          \/\/ Si hay menos tags que max_visible_tags, mostrar todos\r\n          if (this.tags.length <= this.maxVisibleTags) {\r\n            this.visibleTags = this.tags;\r\n            this.hiddenTags = [];\r\n            return;\r\n          }\r\n\r\n          \/\/ Calcular el ancho real del bot\u00f3n \"m\u00e1s\" con el n\u00famero de tags ocultos\r\n          const moreButtonText = `+${hidden.length}`;\r\n          const moreButtonWidth = this.calculateMoreButtonWidth(moreButtonText);\r\n          const availableWidth = containerWidth - moreButtonWidth - 12; \/\/ 12px de padding\r\n\r\n          let currentWidth = 0;\r\n          const finalVisible = [];\r\n          let finalHidden = [];\r\n\r\n          const measureTags = this.tagsMeasure.children;\r\n\r\n          \/\/ Verificar cu\u00e1ntos tags realmente caben\r\n          for (let i = 0; i < this.tags.length; i++) {\r\n            const tagElement = measureTags[i];\r\n            if (tagElement) {\r\n              const tagWidth = tagElement.offsetWidth + 6; \/\/ 6px para el gap\r\n\r\n              if (currentWidth + tagWidth <= availableWidth) {\r\n                finalVisible.push(this.tags[i]);\r\n                currentWidth += tagWidth;\r\n              } else {\r\n                finalHidden.push(this.tags[i]);\r\n              }\r\n            }\r\n          }\r\n\r\n          \/\/ Asegurar que al menos se muestre 1 tag si hay tags disponibles\r\n          if (finalVisible.length === 0 && this.tags.length > 0) {\r\n            finalVisible.push(this.tags[0]);\r\n            finalHidden = this.tags.slice(1);\r\n          }\r\n\r\n          this.visibleTags = finalVisible;\r\n          this.hiddenTags = finalHidden;\r\n        }\r\n\r\n        calculateMoreButtonWidth(text) {\r\n          \/\/ Crear un elemento temporal para medir el ancho del bot\u00f3n\r\n          const tempButton = document.createElement('button');\r\n          tempButton.className = 'filmin-location-card__more-button';\r\n          tempButton.style.position = 'absolute';\r\n          tempButton.style.visibility = 'hidden';\r\n          tempButton.style.whiteSpace = 'nowrap';\r\n          tempButton.innerHTML = `\r\n            <svg class=\"filmin-location-card__more-icon\" viewBox=\"0 0 24 24\">\r\n              <circle cx=\"12\" cy=\"12\" r=\"1\"><\/circle>\r\n              <circle cx=\"19\" cy=\"12\" r=\"1\"><\/circle>\r\n              <circle cx=\"5\" cy=\"12\" r=\"1\"><\/circle>\r\n            <\/svg>\r\n            <span>${text}<\/span>\r\n          `;\r\n\r\n          document.body.appendChild(tempButton);\r\n          const width = tempButton.offsetWidth;\r\n          document.body.removeChild(tempButton);\r\n\r\n          return width;\r\n        }\r\n\r\n        renderTags() {\r\n          this.tagsVisible.innerHTML = '';\r\n\r\n          \/\/ Agregar clase expanded si es necesario\r\n          if (this.isExpanded) {\r\n            this.tagsVisible.classList.add('expanded');\r\n          } else {\r\n            this.tagsVisible.classList.remove('expanded');\r\n          }\r\n\r\n          const displayedTags = this.isExpanded ? this.tags : this.visibleTags;\r\n\r\n          \/\/ Renderizar tags\r\n          displayedTags.forEach(tag => {\r\n            const tagElement = document.createElement('div');\r\n            tagElement.className = 'filmin-location-card__tag';\r\n            tagElement.innerHTML = `<a href=\"${this.baseUrl}?nombre=${encodeURIComponent(tag.slug)}\" class=\"filmin-location-card__tag-link\">${tag.name}<\/a>`;\r\n            this.tagsVisible.appendChild(tagElement);\r\n          });\r\n\r\n          \/\/ Renderizar bot\u00f3n \"m\u00e1s\" si es necesario\r\n          if (this.hiddenTags.length > 0 && !this.isExpanded) {\r\n            const moreButton = document.createElement('button');\r\n            moreButton.className = 'filmin-location-card__more-button';\r\n            moreButton.setAttribute('aria-label', `Mostrar ${this.hiddenTags.length} tags m\u00e1s`);\r\n            moreButton.onclick = () => this.toggleExpanded();\r\n\r\n            moreButton.innerHTML = `\r\n                    <svg class=\"filmin-location-card__more-icon\" viewBox=\"0 0 24 24\">\r\n                        <circle cx=\"12\" cy=\"12\" r=\"1\"><\/circle>\r\n                        <circle cx=\"19\" cy=\"12\" r=\"1\"><\/circle>\r\n                        <circle cx=\"5\" cy=\"12\" r=\"1\"><\/circle>\r\n                    <\/svg>\r\n                    <span>+${this.hiddenTags.length}<\/span>\r\n                `;\r\n\r\n            this.tagsVisible.appendChild(moreButton);\r\n          } else if (this.isExpanded && this.hiddenTags.length > 0) {\r\n            const lessButton = document.createElement('button');\r\n            lessButton.className = 'filmin-location-card__more-button';\r\n            lessButton.setAttribute('aria-label', 'Mostrar menos tags');\r\n            lessButton.onclick = () => this.toggleExpanded();\r\n            lessButton.textContent = 'Mostrar menos';\r\n\r\n            this.tagsVisible.appendChild(lessButton);\r\n          }\r\n        }\r\n\r\n        toggleExpanded() {\r\n          this.isExpanded = !this.isExpanded;\r\n          this.renderTags();\r\n        }\r\n      }\r\n\r\n      \/\/ Inicializar cuando el DOM est\u00e9 listo\r\n      function initCard() {\r\n        const tags = [{\"name\":\"arena\",\"slug\":\"arena\"},{\"name\":\"bay\",\"slug\":\"bay\"},{\"name\":\"comcaac\",\"slug\":\"comcaac\"},{\"name\":\"etnia\",\"slug\":\"etnia\"},{\"name\":\"isla\",\"slug\":\"isla\"},{\"name\":\"kino\",\"slug\":\"kino\"},{\"name\":\"mar\",\"slug\":\"mar\"},{\"name\":\"mar de cortez\",\"slug\":\"mar-de-cortez\"},{\"name\":\"nativos\",\"slug\":\"nativos\"},{\"name\":\"palapas\",\"slug\":\"palapas\"},{\"name\":\"panga\",\"slug\":\"panga\"},{\"name\":\"pescadores\",\"slug\":\"pescadores\"},{\"name\":\"Playa\",\"slug\":\"playa\"},{\"name\":\"Pueblo\",\"slug\":\"pueblo\"},{\"name\":\"seris\",\"slug\":\"seris\"}];\r\n\r\n        new ExpandableLocationCard(\r\n          'filmin-location-card-6a4d2f542f4ff',\r\n          tags,\r\n          'https:\/\/filminsonora.gilasw.com\/scouters-search\/',\r\n          4        );\r\n      }\r\n\r\n      \/\/ Intentar inicializar inmediatamente si el DOM est\u00e1 listo\r\n      if (document.readyState === 'loading') {\r\n        document.addEventListener('DOMContentLoaded', initCard);\r\n      } else {\r\n        \/\/ Si el DOM ya est\u00e1 listo, usar setTimeout para asegurar que los estilos est\u00e9n aplicados\r\n        setTimeout(initCard, 0);\r\n      }\r\n    })();\r\n  <\/script>\r\n            <\/div>\r\n                    <div class=\"swiper-slide\">\r\n                \r\n<div class=\"filmin-location-card\" id=\"filmin-location-card-6a4d2f542fce7\">\r\n  <div class=\"filmin-location-card__image-wrapper\">\r\n    <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouter\/kino-nuevo-playa\/\">\r\n      <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/DJI_0811.jpg\"\r\n        alt=\"Kino Nuevo Playa\"\r\n        class=\"filmin-location-card__image\">\r\n      <div class=\"filmin-location-card__title-overlay\">\r\n        Kino Nuevo Playa      <\/div>\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <div class=\"filmin-location-card__info\">\r\n          <span>\r\n                  <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?tipo_locacion=playa\">\r\n            Beach          <\/a>\r\n                        <\/span>\r\n        <span>\r\n      <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=oeste\">\r\n        West                  <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/Frame-12zonas-1-1.png\"\r\n            alt=\"Icono\"\r\n            class=\"filmin-location-card__zone-icon\">\r\n              <\/a>\r\n    <\/span>\r\n  <\/div>\r\n\r\n      <div class=\"filmin-location-card__tags-container\">\r\n      <!-- Contenedor oculto para medir el ancho de los tags -->\r\n      <div class=\"filmin-location-card__tags-measure\" id=\"filmin-location-card-6a4d2f542fce7-measure\"><\/div>\r\n\r\n      <!-- Contenedor visible de tags -->\r\n      <div class=\"filmin-location-card__tags-visible\" id=\"filmin-location-card-6a4d2f542fce7-visible\">\r\n                  <!-- Los tags se renderizar\u00e1n din\u00e1micamente con JavaScript -->\r\n              <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    (function() {\r\n      'use strict';\r\n\r\n      class ExpandableLocationCard {\r\n        constructor(cardId, tags, baseUrl, maxVisibleTags) {\r\n          this.cardId = cardId;\r\n          this.tags = tags;\r\n          this.baseUrl = baseUrl;\r\n          this.maxVisibleTags = maxVisibleTags || 3;\r\n          this.isExpanded = false;\r\n          this.visibleTags = [];\r\n          this.hiddenTags = [];\r\n\r\n          this.tagsMeasure = document.getElementById(cardId + '-measure');\r\n          this.tagsVisible = document.getElementById(cardId + '-visible');\r\n\r\n          if (this.tagsMeasure && this.tagsVisible) {\r\n            this.init();\r\n          }\r\n        }\r\n\r\n        init() {\r\n          this.createMeasureTags();\r\n          this.calculateVisibleTags();\r\n          this.renderTags();\r\n\r\n          \/\/ Recalcular en resize\r\n          window.addEventListener('resize', () => {\r\n            this.calculateVisibleTags();\r\n            this.renderTags();\r\n          });\r\n        }\r\n\r\n        createMeasureTags() {\r\n          this.tagsMeasure.innerHTML = '';\r\n          this.tags.forEach(tag => {\r\n            const tagElement = document.createElement('div');\r\n            tagElement.className = 'filmin-location-card__tag';\r\n            tagElement.innerHTML = `<a href=\"${this.baseUrl}?nombre=${encodeURIComponent(tag.slug)}\" class=\"filmin-location-card__tag-link\">${tag.name}<\/a>`;\r\n            tagElement.style.marginRight = '6px';\r\n            this.tagsMeasure.appendChild(tagElement);\r\n          });\r\n        }\r\n\r\n        calculateVisibleTags() {\r\n          const containerWidth = this.tagsVisible.offsetWidth;\r\n\r\n          \/\/ Primero, intentar mostrar al menos max_visible_tags\r\n          let visible = this.tags.slice(0, this.maxVisibleTags);\r\n          let hidden = this.tags.slice(this.maxVisibleTags);\r\n\r\n          \/\/ Si hay menos tags que max_visible_tags, mostrar todos\r\n          if (this.tags.length <= this.maxVisibleTags) {\r\n            this.visibleTags = this.tags;\r\n            this.hiddenTags = [];\r\n            return;\r\n          }\r\n\r\n          \/\/ Calcular el ancho real del bot\u00f3n \"m\u00e1s\" con el n\u00famero de tags ocultos\r\n          const moreButtonText = `+${hidden.length}`;\r\n          const moreButtonWidth = this.calculateMoreButtonWidth(moreButtonText);\r\n          const availableWidth = containerWidth - moreButtonWidth - 12; \/\/ 12px de padding\r\n\r\n          let currentWidth = 0;\r\n          const finalVisible = [];\r\n          let finalHidden = [];\r\n\r\n          const measureTags = this.tagsMeasure.children;\r\n\r\n          \/\/ Verificar cu\u00e1ntos tags realmente caben\r\n          for (let i = 0; i < this.tags.length; i++) {\r\n            const tagElement = measureTags[i];\r\n            if (tagElement) {\r\n              const tagWidth = tagElement.offsetWidth + 6; \/\/ 6px para el gap\r\n\r\n              if (currentWidth + tagWidth <= availableWidth) {\r\n                finalVisible.push(this.tags[i]);\r\n                currentWidth += tagWidth;\r\n              } else {\r\n                finalHidden.push(this.tags[i]);\r\n              }\r\n            }\r\n          }\r\n\r\n          \/\/ Asegurar que al menos se muestre 1 tag si hay tags disponibles\r\n          if (finalVisible.length === 0 && this.tags.length > 0) {\r\n            finalVisible.push(this.tags[0]);\r\n            finalHidden = this.tags.slice(1);\r\n          }\r\n\r\n          this.visibleTags = finalVisible;\r\n          this.hiddenTags = finalHidden;\r\n        }\r\n\r\n        calculateMoreButtonWidth(text) {\r\n          \/\/ Crear un elemento temporal para medir el ancho del bot\u00f3n\r\n          const tempButton = document.createElement('button');\r\n          tempButton.className = 'filmin-location-card__more-button';\r\n          tempButton.style.position = 'absolute';\r\n          tempButton.style.visibility = 'hidden';\r\n          tempButton.style.whiteSpace = 'nowrap';\r\n          tempButton.innerHTML = `\r\n            <svg class=\"filmin-location-card__more-icon\" viewBox=\"0 0 24 24\">\r\n              <circle cx=\"12\" cy=\"12\" r=\"1\"><\/circle>\r\n              <circle cx=\"19\" cy=\"12\" r=\"1\"><\/circle>\r\n              <circle cx=\"5\" cy=\"12\" r=\"1\"><\/circle>\r\n            <\/svg>\r\n            <span>${text}<\/span>\r\n          `;\r\n\r\n          document.body.appendChild(tempButton);\r\n          const width = tempButton.offsetWidth;\r\n          document.body.removeChild(tempButton);\r\n\r\n          return width;\r\n        }\r\n\r\n        renderTags() {\r\n          this.tagsVisible.innerHTML = '';\r\n\r\n          \/\/ Agregar clase expanded si es necesario\r\n          if (this.isExpanded) {\r\n            this.tagsVisible.classList.add('expanded');\r\n          } else {\r\n            this.tagsVisible.classList.remove('expanded');\r\n          }\r\n\r\n          const displayedTags = this.isExpanded ? this.tags : this.visibleTags;\r\n\r\n          \/\/ Renderizar tags\r\n          displayedTags.forEach(tag => {\r\n            const tagElement = document.createElement('div');\r\n            tagElement.className = 'filmin-location-card__tag';\r\n            tagElement.innerHTML = `<a href=\"${this.baseUrl}?nombre=${encodeURIComponent(tag.slug)}\" class=\"filmin-location-card__tag-link\">${tag.name}<\/a>`;\r\n            this.tagsVisible.appendChild(tagElement);\r\n          });\r\n\r\n          \/\/ Renderizar bot\u00f3n \"m\u00e1s\" si es necesario\r\n          if (this.hiddenTags.length > 0 && !this.isExpanded) {\r\n            const moreButton = document.createElement('button');\r\n            moreButton.className = 'filmin-location-card__more-button';\r\n            moreButton.setAttribute('aria-label', `Mostrar ${this.hiddenTags.length} tags m\u00e1s`);\r\n            moreButton.onclick = () => this.toggleExpanded();\r\n\r\n            moreButton.innerHTML = `\r\n                    <svg class=\"filmin-location-card__more-icon\" viewBox=\"0 0 24 24\">\r\n                        <circle cx=\"12\" cy=\"12\" r=\"1\"><\/circle>\r\n                        <circle cx=\"19\" cy=\"12\" r=\"1\"><\/circle>\r\n                        <circle cx=\"5\" cy=\"12\" r=\"1\"><\/circle>\r\n                    <\/svg>\r\n                    <span>+${this.hiddenTags.length}<\/span>\r\n                `;\r\n\r\n            this.tagsVisible.appendChild(moreButton);\r\n          } else if (this.isExpanded && this.hiddenTags.length > 0) {\r\n            const lessButton = document.createElement('button');\r\n            lessButton.className = 'filmin-location-card__more-button';\r\n            lessButton.setAttribute('aria-label', 'Mostrar menos tags');\r\n            lessButton.onclick = () => this.toggleExpanded();\r\n            lessButton.textContent = 'Mostrar menos';\r\n\r\n            this.tagsVisible.appendChild(lessButton);\r\n          }\r\n        }\r\n\r\n        toggleExpanded() {\r\n          this.isExpanded = !this.isExpanded;\r\n          this.renderTags();\r\n        }\r\n      }\r\n\r\n      \/\/ Inicializar cuando el DOM est\u00e9 listo\r\n      function initCard() {\r\n        const tags = [{\"name\":\"arena\",\"slug\":\"arena\"},{\"name\":\"bay\",\"slug\":\"bay\"},{\"name\":\"isla\",\"slug\":\"isla\"},{\"name\":\"kino\",\"slug\":\"kino\"},{\"name\":\"mar\",\"slug\":\"mar\"},{\"name\":\"mar de cortez\",\"slug\":\"mar-de-cortez\"},{\"name\":\"palapas\",\"slug\":\"palapas\"},{\"name\":\"panga\",\"slug\":\"panga\"},{\"name\":\"pescadores\",\"slug\":\"pescadores\"},{\"name\":\"Playa\",\"slug\":\"playa\"}];\r\n\r\n        new ExpandableLocationCard(\r\n          'filmin-location-card-6a4d2f542fce7',\r\n          tags,\r\n          'https:\/\/filminsonora.gilasw.com\/scouters-search\/',\r\n          4        );\r\n      }\r\n\r\n      \/\/ Intentar inicializar inmediatamente si el DOM est\u00e1 listo\r\n      if (document.readyState === 'loading') {\r\n        document.addEventListener('DOMContentLoaded', initCard);\r\n      } else {\r\n        \/\/ Si el DOM ya est\u00e1 listo, usar setTimeout para asegurar que los estilos est\u00e9n aplicados\r\n        setTimeout(initCard, 0);\r\n      }\r\n    })();\r\n  <\/script>\r\n            <\/div>\r\n                    <div class=\"swiper-slide\">\r\n                \r\n<div class=\"filmin-location-card\" id=\"filmin-location-card-6a4d2f5430455\">\r\n  <div class=\"filmin-location-card__image-wrapper\">\r\n    <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouter\/hacienda-de-los-santos\/\">\r\n      <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/T2503996.jpg\"\r\n        alt=\"Hacienda de los Santos\"\r\n        class=\"filmin-location-card__image\">\r\n      <div class=\"filmin-location-card__title-overlay\">\r\n        Hacienda de los Santos      <\/div>\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <div class=\"filmin-location-card__info\">\r\n          <span>\r\n                  <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?tipo_locacion=pueblo-magico\">\r\n            Magic Town          <\/a>\r\n                        <\/span>\r\n        <span>\r\n      <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=sur\">\r\n        South                  <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/Frame-7zonas-1.png\"\r\n            alt=\"Icono\"\r\n            class=\"filmin-location-card__zone-icon\">\r\n              <\/a>\r\n    <\/span>\r\n  <\/div>\r\n\r\n      <div class=\"filmin-location-card__tags-container\">\r\n      <!-- Contenedor oculto para medir el ancho de los tags -->\r\n      <div class=\"filmin-location-card__tags-measure\" id=\"filmin-location-card-6a4d2f5430455-measure\"><\/div>\r\n\r\n      <!-- Contenedor visible de tags -->\r\n      <div class=\"filmin-location-card__tags-visible\" id=\"filmin-location-card-6a4d2f5430455-visible\">\r\n                  <!-- Los tags se renderizar\u00e1n din\u00e1micamente con JavaScript -->\r\n              <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    (function() {\r\n      'use strict';\r\n\r\n      class ExpandableLocationCard {\r\n        constructor(cardId, tags, baseUrl, maxVisibleTags) {\r\n          this.cardId = cardId;\r\n          this.tags = tags;\r\n          this.baseUrl = baseUrl;\r\n          this.maxVisibleTags = maxVisibleTags || 3;\r\n          this.isExpanded = false;\r\n          this.visibleTags = [];\r\n          this.hiddenTags = [];\r\n\r\n          this.tagsMeasure = document.getElementById(cardId + '-measure');\r\n          this.tagsVisible = document.getElementById(cardId + '-visible');\r\n\r\n          if (this.tagsMeasure && this.tagsVisible) {\r\n            this.init();\r\n          }\r\n        }\r\n\r\n        init() {\r\n          this.createMeasureTags();\r\n          this.calculateVisibleTags();\r\n          this.renderTags();\r\n\r\n          \/\/ Recalcular en resize\r\n          window.addEventListener('resize', () => {\r\n            this.calculateVisibleTags();\r\n            this.renderTags();\r\n          });\r\n        }\r\n\r\n        createMeasureTags() {\r\n          this.tagsMeasure.innerHTML = '';\r\n          this.tags.forEach(tag => {\r\n            const tagElement = document.createElement('div');\r\n            tagElement.className = 'filmin-location-card__tag';\r\n            tagElement.innerHTML = `<a href=\"${this.baseUrl}?nombre=${encodeURIComponent(tag.slug)}\" class=\"filmin-location-card__tag-link\">${tag.name}<\/a>`;\r\n            tagElement.style.marginRight = '6px';\r\n            this.tagsMeasure.appendChild(tagElement);\r\n          });\r\n        }\r\n\r\n        calculateVisibleTags() {\r\n          const containerWidth = this.tagsVisible.offsetWidth;\r\n\r\n          \/\/ Primero, intentar mostrar al menos max_visible_tags\r\n          let visible = this.tags.slice(0, this.maxVisibleTags);\r\n          let hidden = this.tags.slice(this.maxVisibleTags);\r\n\r\n          \/\/ Si hay menos tags que max_visible_tags, mostrar todos\r\n          if (this.tags.length <= this.maxVisibleTags) {\r\n            this.visibleTags = this.tags;\r\n            this.hiddenTags = [];\r\n            return;\r\n          }\r\n\r\n          \/\/ Calcular el ancho real del bot\u00f3n \"m\u00e1s\" con el n\u00famero de tags ocultos\r\n          const moreButtonText = `+${hidden.length}`;\r\n          const moreButtonWidth = this.calculateMoreButtonWidth(moreButtonText);\r\n          const availableWidth = containerWidth - moreButtonWidth - 12; \/\/ 12px de padding\r\n\r\n          let currentWidth = 0;\r\n          const finalVisible = [];\r\n          let finalHidden = [];\r\n\r\n          const measureTags = this.tagsMeasure.children;\r\n\r\n          \/\/ Verificar cu\u00e1ntos tags realmente caben\r\n          for (let i = 0; i < this.tags.length; i++) {\r\n            const tagElement = measureTags[i];\r\n            if (tagElement) {\r\n              const tagWidth = tagElement.offsetWidth + 6; \/\/ 6px para el gap\r\n\r\n              if (currentWidth + tagWidth <= availableWidth) {\r\n                finalVisible.push(this.tags[i]);\r\n                currentWidth += tagWidth;\r\n              } else {\r\n                finalHidden.push(this.tags[i]);\r\n              }\r\n            }\r\n          }\r\n\r\n          \/\/ Asegurar que al menos se muestre 1 tag si hay tags disponibles\r\n          if (finalVisible.length === 0 && this.tags.length > 0) {\r\n            finalVisible.push(this.tags[0]);\r\n            finalHidden = this.tags.slice(1);\r\n          }\r\n\r\n          this.visibleTags = finalVisible;\r\n          this.hiddenTags = finalHidden;\r\n        }\r\n\r\n        calculateMoreButtonWidth(text) {\r\n          \/\/ Crear un elemento temporal para medir el ancho del bot\u00f3n\r\n          const tempButton = document.createElement('button');\r\n          tempButton.className = 'filmin-location-card__more-button';\r\n          tempButton.style.position = 'absolute';\r\n          tempButton.style.visibility = 'hidden';\r\n          tempButton.style.whiteSpace = 'nowrap';\r\n          tempButton.innerHTML = `\r\n            <svg class=\"filmin-location-card__more-icon\" viewBox=\"0 0 24 24\">\r\n              <circle cx=\"12\" cy=\"12\" r=\"1\"><\/circle>\r\n              <circle cx=\"19\" cy=\"12\" r=\"1\"><\/circle>\r\n              <circle cx=\"5\" cy=\"12\" r=\"1\"><\/circle>\r\n            <\/svg>\r\n            <span>${text}<\/span>\r\n          `;\r\n\r\n          document.body.appendChild(tempButton);\r\n          const width = tempButton.offsetWidth;\r\n          document.body.removeChild(tempButton);\r\n\r\n          return width;\r\n        }\r\n\r\n        renderTags() {\r\n          this.tagsVisible.innerHTML = '';\r\n\r\n          \/\/ Agregar clase expanded si es necesario\r\n          if (this.isExpanded) {\r\n            this.tagsVisible.classList.add('expanded');\r\n          } else {\r\n            this.tagsVisible.classList.remove('expanded');\r\n          }\r\n\r\n          const displayedTags = this.isExpanded ? this.tags : this.visibleTags;\r\n\r\n          \/\/ Renderizar tags\r\n          displayedTags.forEach(tag => {\r\n            const tagElement = document.createElement('div');\r\n            tagElement.className = 'filmin-location-card__tag';\r\n            tagElement.innerHTML = `<a href=\"${this.baseUrl}?nombre=${encodeURIComponent(tag.slug)}\" class=\"filmin-location-card__tag-link\">${tag.name}<\/a>`;\r\n            this.tagsVisible.appendChild(tagElement);\r\n          });\r\n\r\n          \/\/ Renderizar bot\u00f3n \"m\u00e1s\" si es necesario\r\n          if (this.hiddenTags.length > 0 && !this.isExpanded) {\r\n            const moreButton = document.createElement('button');\r\n            moreButton.className = 'filmin-location-card__more-button';\r\n            moreButton.setAttribute('aria-label', `Mostrar ${this.hiddenTags.length} tags m\u00e1s`);\r\n            moreButton.onclick = () => this.toggleExpanded();\r\n\r\n            moreButton.innerHTML = `\r\n                    <svg class=\"filmin-location-card__more-icon\" viewBox=\"0 0 24 24\">\r\n                        <circle cx=\"12\" cy=\"12\" r=\"1\"><\/circle>\r\n                        <circle cx=\"19\" cy=\"12\" r=\"1\"><\/circle>\r\n                        <circle cx=\"5\" cy=\"12\" r=\"1\"><\/circle>\r\n                    <\/svg>\r\n                    <span>+${this.hiddenTags.length}<\/span>\r\n                `;\r\n\r\n            this.tagsVisible.appendChild(moreButton);\r\n          } else if (this.isExpanded && this.hiddenTags.length > 0) {\r\n            const lessButton = document.createElement('button');\r\n            lessButton.className = 'filmin-location-card__more-button';\r\n            lessButton.setAttribute('aria-label', 'Mostrar menos tags');\r\n            lessButton.onclick = () => this.toggleExpanded();\r\n            lessButton.textContent = 'Mostrar menos';\r\n\r\n            this.tagsVisible.appendChild(lessButton);\r\n          }\r\n        }\r\n\r\n        toggleExpanded() {\r\n          this.isExpanded = !this.isExpanded;\r\n          this.renderTags();\r\n        }\r\n      }\r\n\r\n      \/\/ Inicializar cuando el DOM est\u00e9 listo\r\n      function initCard() {\r\n        const tags = [{\"name\":\"antiguo\",\"slug\":\"antiguo\"},{\"name\":\"Boutique\",\"slug\":\"boutique\"},{\"name\":\"casa\",\"slug\":\"casa\"},{\"name\":\"casona\",\"slug\":\"casona\"},{\"name\":\"finca\",\"slug\":\"finca\"},{\"name\":\"hacienda\",\"slug\":\"hacienda\"},{\"name\":\"Hotel\",\"slug\":\"hotel\"},{\"name\":\"iglesia\",\"slug\":\"iglesia\"},{\"name\":\"jard\\u00edn\",\"slug\":\"jardin\"},{\"name\":\"mansion\",\"slug\":\"mansion\"},{\"name\":\"Pueblo\",\"slug\":\"pueblo\"},{\"name\":\"quinta\",\"slug\":\"quinta\"},{\"name\":\"western\",\"slug\":\"western\"}];\r\n\r\n        new ExpandableLocationCard(\r\n          'filmin-location-card-6a4d2f5430455',\r\n          tags,\r\n          'https:\/\/filminsonora.gilasw.com\/scouters-search\/',\r\n          4        );\r\n      }\r\n\r\n      \/\/ Intentar inicializar inmediatamente si el DOM est\u00e1 listo\r\n      if (document.readyState === 'loading') {\r\n        document.addEventListener('DOMContentLoaded', initCard);\r\n      } else {\r\n        \/\/ Si el DOM ya est\u00e1 listo, usar setTimeout para asegurar que los estilos est\u00e9n aplicados\r\n        setTimeout(initCard, 0);\r\n      }\r\n    })();\r\n  <\/script>\r\n            <\/div>\r\n                    <div class=\"swiper-slide\">\r\n                \r\n<div class=\"filmin-location-card\" id=\"filmin-location-card-6a4d2f543091c\">\r\n  <div class=\"filmin-location-card__image-wrapper\">\r\n    <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouter\/plaza-de-armas\/\">\r\n      <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/T2503932.jpg\"\r\n        alt=\"Plaza de Armas\"\r\n        class=\"filmin-location-card__image\">\r\n      <div class=\"filmin-location-card__title-overlay\">\r\n        Plaza de Armas      <\/div>\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <div class=\"filmin-location-card__info\">\r\n          <span>\r\n                  <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?tipo_locacion=pueblo-magico\">\r\n            Magic Town          <\/a>\r\n                        <\/span>\r\n        <span>\r\n      <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=sur\">\r\n        South                  <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/Frame-7zonas-1.png\"\r\n            alt=\"Icono\"\r\n            class=\"filmin-location-card__zone-icon\">\r\n              <\/a>\r\n    <\/span>\r\n  <\/div>\r\n\r\n      <div class=\"filmin-location-card__tags-container\">\r\n      <!-- Contenedor oculto para medir el ancho de los tags -->\r\n      <div class=\"filmin-location-card__tags-measure\" id=\"filmin-location-card-6a4d2f543091c-measure\"><\/div>\r\n\r\n      <!-- Contenedor visible de tags -->\r\n      <div class=\"filmin-location-card__tags-visible\" id=\"filmin-location-card-6a4d2f543091c-visible\">\r\n                  <!-- Los tags se renderizar\u00e1n din\u00e1micamente con JavaScript -->\r\n              <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    (function() {\r\n      'use strict';\r\n\r\n      class ExpandableLocationCard {\r\n        constructor(cardId, tags, baseUrl, maxVisibleTags) {\r\n          this.cardId = cardId;\r\n          this.tags = tags;\r\n          this.baseUrl = baseUrl;\r\n          this.maxVisibleTags = maxVisibleTags || 3;\r\n          this.isExpanded = false;\r\n          this.visibleTags = [];\r\n          this.hiddenTags = [];\r\n\r\n          this.tagsMeasure = document.getElementById(cardId + '-measure');\r\n          this.tagsVisible = document.getElementById(cardId + '-visible');\r\n\r\n          if (this.tagsMeasure && this.tagsVisible) {\r\n            this.init();\r\n          }\r\n        }\r\n\r\n        init() {\r\n          this.createMeasureTags();\r\n          this.calculateVisibleTags();\r\n          this.renderTags();\r\n\r\n          \/\/ Recalcular en resize\r\n          window.addEventListener('resize', () => {\r\n            this.calculateVisibleTags();\r\n            this.renderTags();\r\n          });\r\n        }\r\n\r\n        createMeasureTags() {\r\n          this.tagsMeasure.innerHTML = '';\r\n          this.tags.forEach(tag => {\r\n            const tagElement = document.createElement('div');\r\n            tagElement.className = 'filmin-location-card__tag';\r\n            tagElement.innerHTML = `<a href=\"${this.baseUrl}?nombre=${encodeURIComponent(tag.slug)}\" class=\"filmin-location-card__tag-link\">${tag.name}<\/a>`;\r\n            tagElement.style.marginRight = '6px';\r\n            this.tagsMeasure.appendChild(tagElement);\r\n          });\r\n        }\r\n\r\n        calculateVisibleTags() {\r\n          const containerWidth = this.tagsVisible.offsetWidth;\r\n\r\n          \/\/ Primero, intentar mostrar al menos max_visible_tags\r\n          let visible = this.tags.slice(0, this.maxVisibleTags);\r\n          let hidden = this.tags.slice(this.maxVisibleTags);\r\n\r\n          \/\/ Si hay menos tags que max_visible_tags, mostrar todos\r\n          if (this.tags.length <= this.maxVisibleTags) {\r\n            this.visibleTags = this.tags;\r\n            this.hiddenTags = [];\r\n            return;\r\n          }\r\n\r\n          \/\/ Calcular el ancho real del bot\u00f3n \"m\u00e1s\" con el n\u00famero de tags ocultos\r\n          const moreButtonText = `+${hidden.length}`;\r\n          const moreButtonWidth = this.calculateMoreButtonWidth(moreButtonText);\r\n          const availableWidth = containerWidth - moreButtonWidth - 12; \/\/ 12px de padding\r\n\r\n          let currentWidth = 0;\r\n          const finalVisible = [];\r\n          let finalHidden = [];\r\n\r\n          const measureTags = this.tagsMeasure.children;\r\n\r\n          \/\/ Verificar cu\u00e1ntos tags realmente caben\r\n          for (let i = 0; i < this.tags.length; i++) {\r\n            const tagElement = measureTags[i];\r\n            if (tagElement) {\r\n              const tagWidth = tagElement.offsetWidth + 6; \/\/ 6px para el gap\r\n\r\n              if (currentWidth + tagWidth <= availableWidth) {\r\n                finalVisible.push(this.tags[i]);\r\n                currentWidth += tagWidth;\r\n              } else {\r\n                finalHidden.push(this.tags[i]);\r\n              }\r\n            }\r\n          }\r\n\r\n          \/\/ Asegurar que al menos se muestre 1 tag si hay tags disponibles\r\n          if (finalVisible.length === 0 && this.tags.length > 0) {\r\n            finalVisible.push(this.tags[0]);\r\n            finalHidden = this.tags.slice(1);\r\n          }\r\n\r\n          this.visibleTags = finalVisible;\r\n          this.hiddenTags = finalHidden;\r\n        }\r\n\r\n        calculateMoreButtonWidth(text) {\r\n          \/\/ Crear un elemento temporal para medir el ancho del bot\u00f3n\r\n          const tempButton = document.createElement('button');\r\n          tempButton.className = 'filmin-location-card__more-button';\r\n          tempButton.style.position = 'absolute';\r\n          tempButton.style.visibility = 'hidden';\r\n          tempButton.style.whiteSpace = 'nowrap';\r\n          tempButton.innerHTML = `\r\n            <svg class=\"filmin-location-card__more-icon\" viewBox=\"0 0 24 24\">\r\n              <circle cx=\"12\" cy=\"12\" r=\"1\"><\/circle>\r\n              <circle cx=\"19\" cy=\"12\" r=\"1\"><\/circle>\r\n              <circle cx=\"5\" cy=\"12\" r=\"1\"><\/circle>\r\n            <\/svg>\r\n            <span>${text}<\/span>\r\n          `;\r\n\r\n          document.body.appendChild(tempButton);\r\n          const width = tempButton.offsetWidth;\r\n          document.body.removeChild(tempButton);\r\n\r\n          return width;\r\n        }\r\n\r\n        renderTags() {\r\n          this.tagsVisible.innerHTML = '';\r\n\r\n          \/\/ Agregar clase expanded si es necesario\r\n          if (this.isExpanded) {\r\n            this.tagsVisible.classList.add('expanded');\r\n          } else {\r\n            this.tagsVisible.classList.remove('expanded');\r\n          }\r\n\r\n          const displayedTags = this.isExpanded ? this.tags : this.visibleTags;\r\n\r\n          \/\/ Renderizar tags\r\n          displayedTags.forEach(tag => {\r\n            const tagElement = document.createElement('div');\r\n            tagElement.className = 'filmin-location-card__tag';\r\n            tagElement.innerHTML = `<a href=\"${this.baseUrl}?nombre=${encodeURIComponent(tag.slug)}\" class=\"filmin-location-card__tag-link\">${tag.name}<\/a>`;\r\n            this.tagsVisible.appendChild(tagElement);\r\n          });\r\n\r\n          \/\/ Renderizar bot\u00f3n \"m\u00e1s\" si es necesario\r\n          if (this.hiddenTags.length > 0 && !this.isExpanded) {\r\n            const moreButton = document.createElement('button');\r\n            moreButton.className = 'filmin-location-card__more-button';\r\n            moreButton.setAttribute('aria-label', `Mostrar ${this.hiddenTags.length} tags m\u00e1s`);\r\n            moreButton.onclick = () => this.toggleExpanded();\r\n\r\n            moreButton.innerHTML = `\r\n                    <svg class=\"filmin-location-card__more-icon\" viewBox=\"0 0 24 24\">\r\n                        <circle cx=\"12\" cy=\"12\" r=\"1\"><\/circle>\r\n                        <circle cx=\"19\" cy=\"12\" r=\"1\"><\/circle>\r\n                        <circle cx=\"5\" cy=\"12\" r=\"1\"><\/circle>\r\n                    <\/svg>\r\n                    <span>+${this.hiddenTags.length}<\/span>\r\n                `;\r\n\r\n            this.tagsVisible.appendChild(moreButton);\r\n          } else if (this.isExpanded && this.hiddenTags.length > 0) {\r\n            const lessButton = document.createElement('button');\r\n            lessButton.className = 'filmin-location-card__more-button';\r\n            lessButton.setAttribute('aria-label', 'Mostrar menos tags');\r\n            lessButton.onclick = () => this.toggleExpanded();\r\n            lessButton.textContent = 'Mostrar menos';\r\n\r\n            this.tagsVisible.appendChild(lessButton);\r\n          }\r\n        }\r\n\r\n        toggleExpanded() {\r\n          this.isExpanded = !this.isExpanded;\r\n          this.renderTags();\r\n        }\r\n      }\r\n\r\n      \/\/ Inicializar cuando el DOM est\u00e9 listo\r\n      function initCard() {\r\n        const tags = [{\"name\":\"antiguo\",\"slug\":\"antiguo\"},{\"name\":\"jard\\u00edn\",\"slug\":\"jardin\"},{\"name\":\"palacio\",\"slug\":\"palacio\"},{\"name\":\"parque\",\"slug\":\"parque\"},{\"name\":\"Plaza\",\"slug\":\"plaza\"},{\"name\":\"Pueblo\",\"slug\":\"pueblo\"},{\"name\":\"pueblo m\\u00e1gico\",\"slug\":\"pueblo-magico\"},{\"name\":\"western\",\"slug\":\"western\"}];\r\n\r\n        new ExpandableLocationCard(\r\n          'filmin-location-card-6a4d2f543091c',\r\n          tags,\r\n          'https:\/\/filminsonora.gilasw.com\/scouters-search\/',\r\n          4        );\r\n      }\r\n\r\n      \/\/ Intentar inicializar inmediatamente si el DOM est\u00e1 listo\r\n      if (document.readyState === 'loading') {\r\n        document.addEventListener('DOMContentLoaded', initCard);\r\n      } else {\r\n        \/\/ Si el DOM ya est\u00e1 listo, usar setTimeout para asegurar que los estilos est\u00e9n aplicados\r\n        setTimeout(initCard, 0);\r\n      }\r\n    })();\r\n  <\/script>\r\n            <\/div>\r\n                    <div class=\"swiper-slide\">\r\n                \r\n<div class=\"filmin-location-card\" id=\"filmin-location-card-6a4d2f5430da7\">\r\n  <div class=\"filmin-location-card__image-wrapper\">\r\n    <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouter\/casa-de-las-delicias\/\">\r\n      <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/DJI_0867.jpg\"\r\n        alt=\"Casa de las Delicias\"\r\n        class=\"filmin-location-card__image\">\r\n      <div class=\"filmin-location-card__title-overlay\">\r\n        Casa de las Delicias      <\/div>\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <div class=\"filmin-location-card__info\">\r\n          <span>\r\n                  <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?tipo_locacion=pueblo-magico\">\r\n            Magic Town          <\/a>\r\n                        <\/span>\r\n        <span>\r\n      <a href=\"https:\/\/filminsonora.gilasw.com\/en\/scouters-search\/?zona=sur\">\r\n        South                  <img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/07\/Frame-7zonas-1.png\"\r\n            alt=\"Icono\"\r\n            class=\"filmin-location-card__zone-icon\">\r\n              <\/a>\r\n    <\/span>\r\n  <\/div>\r\n\r\n      <div class=\"filmin-location-card__tags-container\">\r\n      <!-- Contenedor oculto para medir el ancho de los tags -->\r\n      <div class=\"filmin-location-card__tags-measure\" id=\"filmin-location-card-6a4d2f5430da7-measure\"><\/div>\r\n\r\n      <!-- Contenedor visible de tags -->\r\n      <div class=\"filmin-location-card__tags-visible\" id=\"filmin-location-card-6a4d2f5430da7-visible\">\r\n                  <!-- Los tags se renderizar\u00e1n din\u00e1micamente con JavaScript -->\r\n              <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    (function() {\r\n      'use strict';\r\n\r\n      class ExpandableLocationCard {\r\n        constructor(cardId, tags, baseUrl, maxVisibleTags) {\r\n          this.cardId = cardId;\r\n          this.tags = tags;\r\n          this.baseUrl = baseUrl;\r\n          this.maxVisibleTags = maxVisibleTags || 3;\r\n          this.isExpanded = false;\r\n          this.visibleTags = [];\r\n          this.hiddenTags = [];\r\n\r\n          this.tagsMeasure = document.getElementById(cardId + '-measure');\r\n          this.tagsVisible = document.getElementById(cardId + '-visible');\r\n\r\n          if (this.tagsMeasure && this.tagsVisible) {\r\n            this.init();\r\n          }\r\n        }\r\n\r\n        init() {\r\n          this.createMeasureTags();\r\n          this.calculateVisibleTags();\r\n          this.renderTags();\r\n\r\n          \/\/ Recalcular en resize\r\n          window.addEventListener('resize', () => {\r\n            this.calculateVisibleTags();\r\n            this.renderTags();\r\n          });\r\n        }\r\n\r\n        createMeasureTags() {\r\n          this.tagsMeasure.innerHTML = '';\r\n          this.tags.forEach(tag => {\r\n            const tagElement = document.createElement('div');\r\n            tagElement.className = 'filmin-location-card__tag';\r\n            tagElement.innerHTML = `<a href=\"${this.baseUrl}?nombre=${encodeURIComponent(tag.slug)}\" class=\"filmin-location-card__tag-link\">${tag.name}<\/a>`;\r\n            tagElement.style.marginRight = '6px';\r\n            this.tagsMeasure.appendChild(tagElement);\r\n          });\r\n        }\r\n\r\n        calculateVisibleTags() {\r\n          const containerWidth = this.tagsVisible.offsetWidth;\r\n\r\n          \/\/ Primero, intentar mostrar al menos max_visible_tags\r\n          let visible = this.tags.slice(0, this.maxVisibleTags);\r\n          let hidden = this.tags.slice(this.maxVisibleTags);\r\n\r\n          \/\/ Si hay menos tags que max_visible_tags, mostrar todos\r\n          if (this.tags.length <= this.maxVisibleTags) {\r\n            this.visibleTags = this.tags;\r\n            this.hiddenTags = [];\r\n            return;\r\n          }\r\n\r\n          \/\/ Calcular el ancho real del bot\u00f3n \"m\u00e1s\" con el n\u00famero de tags ocultos\r\n          const moreButtonText = `+${hidden.length}`;\r\n          const moreButtonWidth = this.calculateMoreButtonWidth(moreButtonText);\r\n          const availableWidth = containerWidth - moreButtonWidth - 12; \/\/ 12px de padding\r\n\r\n          let currentWidth = 0;\r\n          const finalVisible = [];\r\n          let finalHidden = [];\r\n\r\n          const measureTags = this.tagsMeasure.children;\r\n\r\n          \/\/ Verificar cu\u00e1ntos tags realmente caben\r\n          for (let i = 0; i < this.tags.length; i++) {\r\n            const tagElement = measureTags[i];\r\n            if (tagElement) {\r\n              const tagWidth = tagElement.offsetWidth + 6; \/\/ 6px para el gap\r\n\r\n              if (currentWidth + tagWidth <= availableWidth) {\r\n                finalVisible.push(this.tags[i]);\r\n                currentWidth += tagWidth;\r\n              } else {\r\n                finalHidden.push(this.tags[i]);\r\n              }\r\n            }\r\n          }\r\n\r\n          \/\/ Asegurar que al menos se muestre 1 tag si hay tags disponibles\r\n          if (finalVisible.length === 0 && this.tags.length > 0) {\r\n            finalVisible.push(this.tags[0]);\r\n            finalHidden = this.tags.slice(1);\r\n          }\r\n\r\n          this.visibleTags = finalVisible;\r\n          this.hiddenTags = finalHidden;\r\n        }\r\n\r\n        calculateMoreButtonWidth(text) {\r\n          \/\/ Crear un elemento temporal para medir el ancho del bot\u00f3n\r\n          const tempButton = document.createElement('button');\r\n          tempButton.className = 'filmin-location-card__more-button';\r\n          tempButton.style.position = 'absolute';\r\n          tempButton.style.visibility = 'hidden';\r\n          tempButton.style.whiteSpace = 'nowrap';\r\n          tempButton.innerHTML = `\r\n            <svg class=\"filmin-location-card__more-icon\" viewBox=\"0 0 24 24\">\r\n              <circle cx=\"12\" cy=\"12\" r=\"1\"><\/circle>\r\n              <circle cx=\"19\" cy=\"12\" r=\"1\"><\/circle>\r\n              <circle cx=\"5\" cy=\"12\" r=\"1\"><\/circle>\r\n            <\/svg>\r\n            <span>${text}<\/span>\r\n          `;\r\n\r\n          document.body.appendChild(tempButton);\r\n          const width = tempButton.offsetWidth;\r\n          document.body.removeChild(tempButton);\r\n\r\n          return width;\r\n        }\r\n\r\n        renderTags() {\r\n          this.tagsVisible.innerHTML = '';\r\n\r\n          \/\/ Agregar clase expanded si es necesario\r\n          if (this.isExpanded) {\r\n            this.tagsVisible.classList.add('expanded');\r\n          } else {\r\n            this.tagsVisible.classList.remove('expanded');\r\n          }\r\n\r\n          const displayedTags = this.isExpanded ? this.tags : this.visibleTags;\r\n\r\n          \/\/ Renderizar tags\r\n          displayedTags.forEach(tag => {\r\n            const tagElement = document.createElement('div');\r\n            tagElement.className = 'filmin-location-card__tag';\r\n            tagElement.innerHTML = `<a href=\"${this.baseUrl}?nombre=${encodeURIComponent(tag.slug)}\" class=\"filmin-location-card__tag-link\">${tag.name}<\/a>`;\r\n            this.tagsVisible.appendChild(tagElement);\r\n          });\r\n\r\n          \/\/ Renderizar bot\u00f3n \"m\u00e1s\" si es necesario\r\n          if (this.hiddenTags.length > 0 && !this.isExpanded) {\r\n            const moreButton = document.createElement('button');\r\n            moreButton.className = 'filmin-location-card__more-button';\r\n            moreButton.setAttribute('aria-label', `Mostrar ${this.hiddenTags.length} tags m\u00e1s`);\r\n            moreButton.onclick = () => this.toggleExpanded();\r\n\r\n            moreButton.innerHTML = `\r\n                    <svg class=\"filmin-location-card__more-icon\" viewBox=\"0 0 24 24\">\r\n                        <circle cx=\"12\" cy=\"12\" r=\"1\"><\/circle>\r\n                        <circle cx=\"19\" cy=\"12\" r=\"1\"><\/circle>\r\n                        <circle cx=\"5\" cy=\"12\" r=\"1\"><\/circle>\r\n                    <\/svg>\r\n                    <span>+${this.hiddenTags.length}<\/span>\r\n                `;\r\n\r\n            this.tagsVisible.appendChild(moreButton);\r\n          } else if (this.isExpanded && this.hiddenTags.length > 0) {\r\n            const lessButton = document.createElement('button');\r\n            lessButton.className = 'filmin-location-card__more-button';\r\n            lessButton.setAttribute('aria-label', 'Mostrar menos tags');\r\n            lessButton.onclick = () => this.toggleExpanded();\r\n            lessButton.textContent = 'Mostrar menos';\r\n\r\n            this.tagsVisible.appendChild(lessButton);\r\n          }\r\n        }\r\n\r\n        toggleExpanded() {\r\n          this.isExpanded = !this.isExpanded;\r\n          this.renderTags();\r\n        }\r\n      }\r\n\r\n      \/\/ Inicializar cuando el DOM est\u00e9 listo\r\n      function initCard() {\r\n        const tags = [{\"name\":\"antiguo\",\"slug\":\"antiguo\"},{\"name\":\"casa\",\"slug\":\"casa\"},{\"name\":\"casona\",\"slug\":\"casona\"},{\"name\":\"hacienda\",\"slug\":\"hacienda\"},{\"name\":\"jard\\u00edn\",\"slug\":\"jardin\"},{\"name\":\"Pueblo\",\"slug\":\"pueblo\"},{\"name\":\"pueblo m\\u00e1gico\",\"slug\":\"pueblo-magico\"},{\"name\":\"western\",\"slug\":\"western\"}];\r\n\r\n        new ExpandableLocationCard(\r\n          'filmin-location-card-6a4d2f5430da7',\r\n          tags,\r\n          'https:\/\/filminsonora.gilasw.com\/scouters-search\/',\r\n          4        );\r\n      }\r\n\r\n      \/\/ Intentar inicializar inmediatamente si el DOM est\u00e1 listo\r\n      if (document.readyState === 'loading') {\r\n        document.addEventListener('DOMContentLoaded', initCard);\r\n      } else {\r\n        \/\/ Si el DOM ya est\u00e1 listo, usar setTimeout para asegurar que los estilos est\u00e9n aplicados\r\n        setTimeout(initCard, 0);\r\n      }\r\n    })();\r\n  <\/script>\r\n            <\/div>\r\n            <\/div>\r\n<\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c059539 e-flex e-con-boxed e-con e-parent\" data-id=\"c059539\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-2005ebd e-con-full e-flex e-con e-child\" data-id=\"2005ebd\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-acde283 e-con-full e-flex e-con e-child\" data-id=\"acde283\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-d3806da e-con-full elementor-hidden-desktop e-flex e-con e-child\" data-id=\"d3806da\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-32717f7 elementor-widget elementor-widget-heading\" data-id=\"32717f7\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">DO YOU WANT TO PRODUCE IN SONORA?<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-785bd78 elementor-widget elementor-widget-heading\" data-id=\"785bd78\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Discover the Economic Incentives<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b5c7e48 elementor-hidden-desktop elementor-widget elementor-widget-spacer\" data-id=\"b5c7e48\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-19b7c08 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"19b7c08\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"\/en\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-right\" viewbox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Learn about cash rebate<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-22b1ad3 e-con-full elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-child\" data-id=\"22b1ad3\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-582137e elementor-widget elementor-widget-heading\" data-id=\"582137e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">DO YOU WANT TO PRODUCE IN SONORA?<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fc4d0c2 e-grid e-con-full e-con e-child\" data-id=\"fc4d0c2\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a189081 elementor-widget elementor-widget-heading\" data-id=\"a189081\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Discover the Economic Incentives<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0d3f85d elementor-align-justify elementor-widget elementor-widget-button\" data-id=\"0d3f85d\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"\/en\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-right\" viewbox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Learn about cash rebate<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-057d6f7 e-flex e-con-boxed e-con e-parent\" data-id=\"057d6f7\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-95c39f7 e-grid e-con-full e-con e-child\" data-id=\"95c39f7\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-f2e3024 e-con-full e-flex e-con e-child\" data-id=\"f2e3024\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-400dfe2 elementor-widget elementor-widget-image\" data-id=\"400dfe2\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/05\/permisos.icon_.svg\" class=\"attachment-large size-large wp-image-977\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d34541a elementor-widget elementor-widget-heading\" data-id=\"d34541a\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Permissions<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ad91687 e-con-full e-flex e-con e-child\" data-id=\"ad91687\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-91e9bec elementor-widget elementor-widget-image\" data-id=\"91e9bec\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"85\" height=\"54\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/05\/proveedores-icon.svg\" class=\"attachment-large size-large wp-image-978\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7e3de28 elementor-widget elementor-widget-heading\" data-id=\"7e3de28\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Suppliers<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7807b11 e-con-full e-flex e-con e-child\" data-id=\"7807b11\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-774b390 elementor-widget elementor-widget-image\" data-id=\"774b390\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"76\" height=\"66\" src=\"https:\/\/filminsonora.gilasw.com\/wp-content\/uploads\/2025\/05\/acompanamiento-local-icon.svg\" class=\"attachment-large size-large wp-image-983\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-33829a7 elementor-widget elementor-widget-heading\" data-id=\"33829a7\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Local guidance<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>M\u00e1s de 110 locaciones \u00fanicas para contar tu historia Explora el cat\u00e1logo M\u00e1s de 110 locaciones \u00fanicas para contar tu historia Explora por CATEGOR\u00cdA Explora por<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-875","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/filminsonora.gilasw.com\/en\/wp-json\/wp\/v2\/pages\/875","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/filminsonora.gilasw.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/filminsonora.gilasw.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/filminsonora.gilasw.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/filminsonora.gilasw.com\/en\/wp-json\/wp\/v2\/comments?post=875"}],"version-history":[{"count":430,"href":"https:\/\/filminsonora.gilasw.com\/en\/wp-json\/wp\/v2\/pages\/875\/revisions"}],"predecessor-version":[{"id":9575,"href":"https:\/\/filminsonora.gilasw.com\/en\/wp-json\/wp\/v2\/pages\/875\/revisions\/9575"}],"wp:attachment":[{"href":"https:\/\/filminsonora.gilasw.com\/en\/wp-json\/wp\/v2\/media?parent=875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}