/* Create strict 2-line title container */
.elementor-loop-item h2 {
    line-height: 1.4em !important;
    height: 2.8em !important;   /* 1.4 x 2 lines */
    overflow: hidden !important;
    position: relative;
}

/* Add ellipsis effect */
.elementor-loop-item h2::after {
    content: "...";
    position: absolute;
    bottom: 0;
    right: 0;
    padding-left: 5px;
    background: white; /* change to your card bg color */
}

/* Hide Jetpack Related Posts everywhere (all post types) */
#jp-relatedposts,
.jp-relatedposts,
.jp-relatedposts-headline,
.jp-relatedposts-items,
.jp-relatedposts-posts {
  display: none !important;
}


/* Make popup image show FULL (no crop) */
.geodir-bubble-meta-side img,
.geodir-bubble-meta-top img,
.leaflet-popup-content img {
    width: 100% !important;
    height: auto !important;
    max-height: 200px; /* You can change this */
    object-fit: contain !important;
    background: #fff;
    padding: 5px;
}

/* Remove fixed height if applied */
.geodir-bubble-meta-side .geodir-post-image,
.geodir-bubble-meta-top .geodir-post-image {
    height: auto !important;
    max-height: none !important;
}

/* Hide whole top meta area (stars + heart) */
.leaflet-popup-content .geodir-bubble-meta-top {
    display: none !important;
}

/* Extra safety: hide stars */
.leaflet-popup-content .geodir-rating,
.leaflet-popup-content .star-rating,
.leaflet-popup-content .geodir-review-stars {
    display: none !important;
}

/* Extra safety: hide favorite heart */
.leaflet-popup-content .gd-list-favorite,
.leaflet-popup-content .geodir-addtofav,
.leaflet-popup-content .geodir-addtofav-icon,
.leaflet-popup-content .geodir-act-fav {
    display: none !important;
}

/* KAYA QR: Main Layout */
.wpkqcg_qrcode_wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.wpkqcg_qrcode_wrapper img {
    order: 1;
    width: 140px !important;
    max-width: 140px !important;
    height: auto !important;
    margin-bottom: 0 !important;
}

.wpkqcg_qrcode_wrapper h2 {
    order: 2;
    margin-top: 5px !important;
    margin-bottom: 2px !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400;
    color: #333;
    text-align: center;
}

.wpkqcg_button {
    order: 3;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-top: 3px !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400;
    color: #00477f !important;
    text-decoration: underline;
    cursor: pointer;
}

.wpkqcg_button:hover {
    opacity: 0.8;
}

.wpkqcg_qrcode_wrapper,
.wpkqcg_qrcode_wrapper * {
    line-height: normal !important;
}

body.page-id-37307,
body.page-id-37307 #page,
body.page-id-37307 #content,
body.page-id-37307 main#content.site-main{
  height: 100dvh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
}

body.page-id-37307 .page-content{
  height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(10px, 2.2vw, 28px) !important;
  box-sizing: border-box !important;
}

body.page-id-37307 .page-content > figure.wp-block-image{
  margin: 0 0 clamp(10px, 2vw, 18px) 0 !important;
  width: min(640px, 86vw) !important;
}

body.page-id-37307 .page-content > figure.wp-block-image img{
  width: 100% !important;
  height: auto !important;
  max-height: clamp(70px, 16vh, 130px) !important;
  object-fit: contain !important;
  display: block !important;
}

body.page-id-37307 .loginmmb,
body.page-id-37307 .loginmobile{
  width: min(980px, 92vw) !important;
  max-height: calc(100dvh - clamp(90px, 18vh, 160px) - clamp(20px, 4vh, 44px)) !important;
  overflow: hidden !important;
  border-radius: clamp(18px, 2.2vw, 34px) !important;
}

body.page-id-37307 .loginmmb{
  display: flex !important;
  align-items: stretch !important;
}

@media (max-width: 992px){
  body.page-id-37307 .loginmmb{
    flex-direction: column !important;
  }
}

body.page-id-37307 .loginmmb > *{
  min-width: 0 !important;
}

body.page-id-37307 .loginmmb .left,
body.page-id-37307 .loginmmb .right{
  padding: clamp(14px, 2.2vw, 28px) !important;
}

@media (max-width: 992px){
  body.page-id-37307 .loginmmb .left{
    padding-bottom: clamp(10px, 1.6vw, 18px) !important;
  }
  body.page-id-37307 .loginmmb .right{
    padding-top: clamp(10px, 1.6vw, 18px) !important;
  }
}

body.page-id-37307 .loginmmb .right{
  overflow: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

body.page-id-37307 .loginmmb input,
body.page-id-37307 .loginmmb button,
body.page-id-37307 .loginmmb .button,
body.page-id-37307 .loginmmb .um-button,
body.page-id-37307 .loginmmb .wpforms-submit{
  font-size: clamp(12px, 1.2vw, 15px) !important;
}

body.page-id-37307 .loginmmb h1,
body.page-id-37307 .loginmmb h2,
body.page-id-37307 .loginmmb .title{
  font-size: clamp(18px, 2.1vw, 30px) !important;
  line-height: 1.15 !important;
  margin: 0 0 clamp(8px, 1.2vw, 14px) 0 !important;
}

body.page-id-37307 .loginmmb p,
body.page-id-37307 .loginmmb .desc{
  font-size: clamp(12px, 1.25vw, 15px) !important;
  line-height: 1.4 !important;
  margin: 0 0 clamp(10px, 1.4vw, 16px) 0 !important;
}

body.page-id-37307 .loginmmb .form-row,
body.page-id-37307 .loginmmb .um-field,
body.page-id-37307 .loginmmb .wpforms-field{
  margin-bottom: clamp(8px, 1.2vw, 14px) !important;
}

body.page-id-37307 .loginmmb button,
body.page-id-37307 .loginmmb .button,
body.page-id-37307 .loginmmb .um-button{
  padding: clamp(10px, 1.1vw, 14px) clamp(14px, 1.6vw, 20px) !important;
}

@media (max-height: 760px){
  body.page-id-37307 .page-content{
    padding: 10px !important;
  }
  body.page-id-37307 .page-content > figure.wp-block-image img{
    max-height: 90px !important;
  }
  body.page-id-37307 .loginmmb,
  body.page-id-37307 .loginmobile{
    max-height: calc(100dvh - 110px) !important;
  }
}

@media (max-height: 640px){
  body.page-id-37307 .page-content > figure.wp-block-image img{
    max-height: 70px !important;
  }
  body.page-id-37307 .loginmmb .left,
  body.page-id-37307 .loginmmb .right{
    padding: 12px !important;
  }
}
/* Hide original GeoDirectory no listing text */
.geodir-info .alert-info {
    font-size: 0 !important;
}

/* Add custom text */
.geodir-info .alert-info::after {
    content: "NO DATA YET";
    font-size: 18px;
    font-weight: 600;
    display: block;
    text-align: center;
    color: #333; /* change color if needed */
}