@charset "utf-8";
/* CSS Document */
body {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  min-height: 100vh; /* Ensure body takes at least full viewport height */
  /*background-color: #fcfaf3;*/
  overflow-y: auto; /* Enable vertical scrolling */
}

img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  user-select: none;
}

.business_card {
  /*width: 480px;*/
  width: 100vw;
  height: 100vh;
  text-align: center;
  margin: 0px auto; /* Add margin to prevent sticking to top */
  padding-top: 0;
}

/* Ensure the image maintains aspect ratio and fits mobile screens */
img[usemap] {
  width: 100%;
  height: auto;
  max-width: 480px;
}

/* Disable tap highlight and focus outline for image map areas */
area {
  cursor: pointer;
  outline: none;
}

/* Disable tap highlight for the map element */
map {
  -webkit-tap-highlight-color: transparent;
}

/* Style for installation prompt */
.install-prompt {
  display: none;
  justify-content: center;
  margin-top: 20px;
  margin-bottom: 20px;
}

.install-icon {
  display: none;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
}

.android-install, .ios-install {
  display: none;
}

.install-icon img {
  width: 50px;
  height: 50px;
  border-radius: 10px;
  transition: transform 0.2s;
}

.install-icon img:hover {
  transform: scale(1.1);
}

.install-icon p {
  color: white;
  font-size: 14px;
  margin-top: 5px;
  text-align: center;
}

.share-popup {
  display: none;
  position: fixed;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.95);
  border-radius: 10px;
  padding: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  z-index: 1001;
  width: 320px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.share-popup.show {
  display: flex !important;
}
.share-icon {
  margin: 5px;
  cursor: pointer;
  transition: transform 0.2s;
  text-align: center;
}
.share-icon img {
  width: 30px;
  height: 30px;
}
.share-icon:hover {
  transform: scale(1.1);
}

.share-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1000;
}

.share-overlay.show {
  display: block !important;
}

.share-popup {
  display: none;            /* hidden by default, JS adds .show */
  position: fixed;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  width: 90vw;              /* 90% of screen width */
  max-width: 420px;
  max-height: 260px;        /* enough for 5 rows of 5 icons */
  background: rgba(255, 255, 255, 0.95);
  border-radius: 12px;
  padding: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  z-index: 1001;

  /* 5×N grid */
  display: grid;
  grid-template-columns: repeat(5, 1fr);   /* 5 columns */
  grid-auto-rows: 60px;                    /* row height */
  gap: 8px;
  overflow-y: auto;                        /* thin vertical scroller */
}

/* when JS toggles .show, popup becomes visible */
.share-popup.show {
  display: grid !important;
}

.share-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.2s;
}

.share-icon img {
  width: 32px;
  height: 32px;
}

/* hover effect */
.share-icon:hover {
  transform: scale(1.1);
}

/* small screens fine-tuning */
@media only screen and (max-width: 480px) {
  .share-popup {
    bottom: 40px;
    max-height: 230px;
  }
  .share-icon img {
    width: 28px;
    height: 28px;
  }
}


/* Ensure visibility and scrollability on mobile devices */
@media only screen and (max-width: 1024px) {
  body {
    justify-content: flex-start;
    padding-bottom: 20px; /* Add padding to ensure bottom content is accessible */
  }
  .business_card {
    margin: 0px auto;
  }
  .install-prompt {
    padding: 10px;
  }
  .install-icon {
    padding: 5px;
  }
  .install-icon p {
    font-size: 12px;
  }
}