.vip-all-escort-body {
  padding: 0px 50px;
  color: var(--black-text);
}

.vip-all-escort-header {
  margin-bottom: 40px;
  text-align: left;
}

.vip-all-escort-header h1 {
  font-size: 2em;
  margin-bottom: 10px;
  text-align: left;
}

.vip-all-escort-header p {
  font-size: 1.1em;
  line-height: 1.5;
  color: var(--black-text);
}

.vip-all-escort-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 20px;
}

.vip-photo-tile {
  background-color: var(--white-back);
  width: calc(25% - 20px);
  padding: 10px;
  box-sizing: border-box;
  position: relative;
  transition: background-color 0.3s ease;
  display: flex;
  align-items: flex-end;
}

.vip-photo-tile:hover {
  background-color: var(--dark-red);
}

.vip-photo {
  position: relative;
  height: 450px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 10px;
  background-color: var(--white-back);
  text-align: left;
}

.vip-photo p {
  margin: 0;
  color: var(--black-text);
  font-weight: bold;
}

.vip-photo .vip-name {
  font-size: 1.25em;
}

.vip-photo .vip-location,
.vip-photo .vip-price {
  font-size: 1.2em;
}

.all-escort-content {
  margin-bottom: 50px;
}

.vip-all-escort-content h1{
  margin-left: 10px;
}

.vip-all-escort-content h2,
.vip-all-escort-content h3 {
  margin-top: 0; 
  margin-left: 10px;
  color: var(--black-text);
}

.vip-all-escort-content p {
  margin: 0;
  text-align: left;
  padding: 0;
  font-size: 1.1em;
  line-height: 1.5; 
  color: var(--black-text);
  margin-left: 10px;
}


#model-filter-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

#model-filter-form label {
    display: block;
}






.testimonial-container {
    width: 100%;
}

.testimonials {
    text-align: center;
}

.testimonials h3{
    text-align: left;
}

.testimonial {
    display: inline-block;
    width: 23%; 
    margin: 1%;
    vertical-align: top; 
    box-sizing: border-box; 
    padding: 10px;
    border-radius: 5px; 
    background-color: #f9f9f9; 
}














.vip-partners-heading {
  font-weight: bold;
  color: var(--black-text);
  font-size: 2em;
  margin: 10px;
}

.vip-footer-heading {
  font-weight: bold;
  color: var(--black-text);
  font-size: 1.1em;
  margin-left: 0 !important;
}

.vip-new-model-heading {
  font-weight: bold;
  color: var(--black-text);
  font-size: 2em;
  margin: 10px;
}

.vip-partners-subheading {
  font-size: 1.1em;
  margin: 10px 0;
}


.vip-partners-block {
  margin: 20px 0;
}

.vip-partners-heading {
  font-size: 24px;
  margin-bottom: 15px;
}

.vip-banners-block {
  display: flex;
  flex-wrap: wrap; 
  gap: 10px; 
  padding: 30px; 
}

.vip-banners-block a {
  flex: 1 1 auto; 
}
.vip-banners-block img {
  height: auto;
  display: block;
}












.gm-m-body {
    width: 100%;
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.gm-m-banner {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gm-m-banner img {
    width: 100%;
    height: 700px;
    display: block;
    object-fit: cover;
    max-width: 1920px;
}

.gm-m-banner-text {
    text-align: center;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 1400px;
    background: #1d1d1d;
    border-radius: 10px;
    margin-bottom: 50px;
}

.gm-m-banner-text h1 {
    margin: 10px;
    font-weight: 400;
    color: #f2cf4e;
    font-size: 42px;
    line-height: 100%;
}

.gm-m-banner-text p {
    font-size: 20px;
    color: #fff;
}

.gm-m-banner-text a {
    padding: 10px 20px;
    font-size: 18px;
    font-weight: 400;
    color: #000;
    border-radius: 15px 5px 15px 5px;
    border: 1px solid var(--text);
}
.wa_btn,
.tg_btn{
  background: #f2cf4e;
  padding: 10px 20px;
  border-radius: 10px;
}

.gm-m-banner-text a:hover {
    color: var(--bg);
    background: var(--hov);
    border: 1px solid var(--hov);
}

.gm-m-banner-contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 10px 0;
}

.gm-m-block {
    max-width: 1160px;
    margin: 0 auto;
}

.gm-m-block-models {
    max-width: 1560px;
}

.gm-m-block h2 {
    text-align: center;
    margin-bottom: 20px;
    font-weight: 400;
    font-size: 36px;
}

.gm-m-block p{
    /* text-indent: 20px;
    padding: 0 10px; */
}

.model-cards-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    margin-bottom: 50px;
}

.model-photo.working {
    display: flex;
    flex-direction: column;
    align-items: center;
}


.model-badges {
    display: none;
}

.model-all-info-card {
    display: none;
}

.model-card {
    text-decoration: none;
}

.model-name-card {
    padding: 5px 0;
    font-weight: 400;
    font-size: 18px;
}

.model-photo .working {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.gm-advantages {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.gm-advantage-item {
    padding: 10px;
    /* max-width: 570px; */
    width: 45%;
}

.gm-advantage-item h3{
    font-size: 28px;
}

.gm-reviews {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.gm-review-item {
    padding: 10px;
}

.gm-faq {
    display: flex;
    flex-direction: row;
    gap: 20px;
    flex-wrap: wrap;
}

.gm-faq-item {
    padding: 10px;
    /* max-width: 570px; */
     width: 45%;
}

.gm-contacts {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    margin: 30px 0;
}

.gm-contacts a {
    padding: 10px;
    text-decoration: none;
    color: var(--hov);
}


@media (max-width: 768px) {
    .gm-reviews {
        flex-direction: column;
    }
    
    .gm-m-banner-text h1 {
        font-size: 28px;
    }
    
    .gm-m-banner-text p {
        font-size: 20px;
    }
    
    .gm-m-block h2 {
        font-size: 26px;
    }
    
    h3 {
        font-size: 24px;
    }
    
    .gm-m-banner-text h1 {
        font-size: 32px;
    }
}

@media (max-width: 1040px) {
    
}

@media (max-width: 768px) {
    .gm-m-banner img {
        display: none;
    }
    
    .gm-m-banner-text {
        position: static;
        transform: none;
    }
    
    .gm-m-block h3 {
        font-size: 28px;
        text-align: center;
    }
}

















@media (max-width: 1000px) {
  .vip-banners-block {
    flex-direction: column;
    align-items: center; 
  }
}


@media (max-width: 1400px) {
    #model-filter-form {
        flex-direction: column;
    }
}

@media only screen and (max-width: 1400px) {
  .vip-all-escort-header {
    margin-bottom: 0px;
  }
    
  .vip-all-escort-body {
    padding: 0px 10px;
  }

  .vip-all-escort-header h1 {
    font-size: 2em;
  }

  .vip-all-escort-header p {
    font-size: 1.1em;
  }

  .vip-all-escort-gallery {
    gap: 15px;
  }

  .vip-photo-tile {
    width: calc(33.33% - 15px); 
    padding: 10px;
  }

  .vip-photo {
    height: 400px;
  }

  .vip-photo .vip-name {
    font-size: 1.3em;
  }

  .vip-photo .vip-location,
  .vip-photo .vip-price {
    font-size: 1.2em;
  }

  .vip-all-escort-content p {
    font-size: 1.1em;
    margin-left: 15px;
    padding: 0;
  }
}

@media only screen and (max-width: 480px) {
  .vip-all-escort-header {
    margin-bottom: 0px;
  }
    
  .vip-all-escort-body {
    padding: 0px 10px;
  }

  .vip-all-escort-header h1 {
    font-size: 14px;
  }
  .vip-all-escort-content h2 {
    font-size: 14px;
  }

  .vip-all-escort-header p {
    font-size: 12px;
  }

  .vip-all-escort-gallery {
    gap: 10px;
  }

  .vip-photo-tile {
    width: calc(50% - 10px);
    padding: 10px;
  }

  .vip-photo {
    height: 300px;
  }

  .vip-photo .vip-name {
    font-size: 12px;
  }

  .vip-photo .vip-location,
  .vip-photo .vip-price {
    font-size: 12px;
  }

  .vip-all-escort-content p {
    font-size: 12px;
    margin-left: 10px;
  }
}


