/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Map markers */

/* Close button */
.premium-maps-container .gm-style-iw-chr button {
    width: 24px !important;
    height: 24px !important;
}
.premium-maps-container .gm-style-iw-chr button span {
    margin: 2px !important;
    width: 20px !important;
    height: 20px !important;
}
.premium-maps-container .gm-style-iw-ch {
    height: 0 !important;
}

/* Content */
.premium-maps-container .gm-style-iw-d {
    margin-top: -24px !important;
    padding: 10px !important;
    word-wrap: break-word;
    text-align: center;
    overflow: hidden !important;
}

/* Image */
.premium-maps-info-desc img {
    /* Keep image aspect ratio and limit it to a landscape ratio size to prevent it from getting too tall */
    max-width: 100% !important;
    max-height: 180px !important;
    width: auto !important;
    height: auto !important;
    display: block;
    margin: 0 auto;
    object-fit: contain;
}

/* Fix marker padding and layout */
.premium-maps-info-container {
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.premium-maps-info-title {
    margin: 0 !important;
    font-weight: bold;
    padding: 0 8px 4px 0;
    line-height: 1.3;
    text-align: center;
    word-break: break-all;
    overflow-wrap: anywhere;
    hyphens: auto;
    max-width: 100%;
}

.premium-maps-title-wrap {
    position: relative;
    padding: 0 !important;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.premium-maps-info-desc {
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
}

.premium-maps-info-desc p {
    margin: 0 !important;
}

.gm-style-iw.gm-style-iw-c {
    padding: 0 !important;
    max-width: 320px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
}

/* Fix image alignment if it has alignleft class */
.premium-maps-info-desc img.alignleft,
.premium-maps-info-desc img.alignright,
.premium-maps-info-desc img.aligncenter {
    float: none !important;
    margin: 0 auto !important;
    display: block !important;
}

/* Force text breaking for long titles */
.gm-style-iw-d > div {
    max-width: 180px !important;
    overflow: hidden !important;
}

.premium-maps-info-container,
.premium-maps-title-wrap,
.premium-maps-info-title,
.premium-maps-title-wrap p,
.premium-maps-info-container p.premium-maps-info-title {
    max-width: 180px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    word-break: break-all !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
}

/* Target the paragraph directly with higher specificity */
.gm-style-iw-d div.premium-maps-info-container div.premium-maps-title-wrap p.premium-maps-info-title {
    word-break: break-all !important;
    overflow-wrap: anywhere !important;
    max-width: 100% !important;
    white-space: normal !important;
    display: block !important;
}

/* Breakpoint for screens up to 767px */
@media (max-width: 767px) {
  .elementor-widget-container ul, .elementor-widget-container ol {
    margin-top: 0.4rem;
    margin-bottom: 0.4rem;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
  }
  .elementor-widget-container p {
    margin-block-end: .4rem;
  }
}