/**
 * AM Locations CSS
 */
 
 /* Single Template */
 .single-ma-locations .location-page-row {padding-left: 20px !important;}
 
 
 /* Map Image */
 .mapimg {display:block; height:250px; width:auto;}

 /* -- Directions form - active only on single locations -- */
 .directions_form { float:left;display:block;border:1px solid #ddd; width:100%; }
 .directions_form>div { display:block;padding:10px; overflow:hidden; }
 .directions_form .saddr{ width:100% !important; padding:10px; clear:both; }
 .directions_form strong { display:block; }
 .directions_form .dbtn { width:100% !important; white-space: normal; margin-top: 10px; }

 
 /* Full width map image */
  .static-map, .static-map.fullwidth img { width:100%;}

 
 /* map details columns below am_map */
 .location-row {
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   width: 100%;
 }
 
 .location-column {
   display: flex;
   flex-direction: column;
   flex-basis: 100%;
   flex: 1;
   min-width:250px;
   padding: 20px 20px 20px 0;
 }
 
 /* individual location page content */
 .location-page-row {
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   width: 100%;
 }
 
 .location-page-row > * {
   flex: 1 100% !important;
 }
 
 .location-page-column {
   display: flex;
   flex-direction: column;
   flex-basis: 100%;
   flex: 1;
   min-width:50%;
   padding: 20px 20px 20px 0;
 }
 
 .location-page-column img{
   max-width: 100%;
 }
 

 
 /* Medium screens */
  @media all and (min-width: 600px) {
    /* We tell both sidebars to share a row */
    .location-info { flex: 2 auto !important; }
    .location-page-column.location-info {
       padding-left: 20px;
     }
  }
  
  /* Large screens */
  @media all and (min-width: 800px) {
    /* We invert order of first sidebar and main
     * And tell the main element to take twice as much width as the other two sidebars 
     */
    .location-map { flex: 2 0px !important; }
  }
 

   /* Header Blocks CSS */
 .locations-separator {

  margin-right: 20px;
  margin-left: 20px;
 }

 @media only screen and (max-width: 768px) {

  #ast-mobile-popup.content-flex-start .locations-block {
    text-align: left;
    padding-left: 20px;
    padding-right: 20px;

  }

  #ast-mobile-popup.content-align-center .locations-block {
    text-align: center;
    padding-left: 20px;
    padding-right: 20px;
  }

  #ast-mobile-popup.content-align-flex-end .locations-block {
    text-align: right;
    padding-left: 20px;
    padding-right: 20px;
  }
 }

/* Location Template Styles */
.location-details {
    margin-bottom: 2em;
}

.location-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2em;
    margin-top: 2em;
}

.location-address,
.location-contact {
    padding: 1.5em;
    background: #f8f9fa;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.location-address h2,
.location-contact h2 {
    margin-top: 0;
    margin-bottom: 1em;
    font-size: 1.5em;
    color: #333;
}

.location-phone,
.location-fax,
.location-email {
    margin-bottom: 1em;
}

.location-phone strong,
.location-fax strong,
.location-email strong {
    display: inline-block;
    min-width: 60px;
    margin-right: 0.5em;
}

.location-directions {
    margin-top: 1.5em;
}

.location-extra {
    margin: 1em 0;
    padding-top: 1em;
    border-top: 1px solid #ddd;
}

/* Responsive Map Container */
.location-map {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    overflow: hidden;
    border-radius: 4px;
}

.location-map img,
.location-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

