/* mobile.css - Add this as a new file in your assets directory */

/* Base responsive adjustments */
html, body {
  overflow-x: hidden;
  width: 100%;
  -webkit-text-size-adjust: 100%;
}

/* Mobile controls */
.mobile-controls {
  position: fixed;
  top: 15px; /* Move higher up to avoid header elements */
  right: 15px;
  z-index: 101; /* Higher z-index to ensure it's above the bottom bar */
  display: flex;
  flex-direction: column;
}

/* The rest of the mobile-control-btn styles can remain the same */
.mobile-control-btn {
  width: 40px;
  height: 40px;
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  margin: 5px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  border: none;
  cursor: pointer;
}

/* Mobile-specific adjustments */
@media screen and (max-width: 767px) {
  body.mobile-view {
    /* Mobile-specific body styles */
  }
  
  

  /* Typography adjustments */
  body {
    font-size: 16px;
  }
  
  h1 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  
  h2 {
    font-size: 20px;
    margin-bottom: 12px;
  }
  
  /* Header adjustments */
  .c-header {
    padding: 15px;
    transform: none;
    position: relative;
    height: auto;
    background-color: white;
  }
  
  .c-header:before {
    height: 100%;
    opacity: 0.8;
  }
  
  .c-header__col {
    position: relative;
    display: block;
    width: 100%;
    text-align: center;
  }
  
  .c-header__nav {
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 10px 0;
  }
  
  .c-header__nav li {
    margin: 0 10px;
  }
  
  .c-header__nav a {
    font-size: 16px;
  }
  
  /* Spheres visualization */
  .c-spheres-wrapper {
    height: auto;
    min-height: 70vh;
    padding-top: 20px;
  }
  
  .c-spheres__inner {
    width: 100%;
  }
  
  .c-sphere {
    width: 50vw;
    margin: 1.5vw;
  }
  
  .c-sphere__label {
    font-size: 3vw;
  }
  
  /* Bottom bar adjustments */
  .c-bottom-bar {
    z-index: 100;
    padding-bottom: env(safe-area-inset-bottom, 10px); /* For newer iOS devices */
  }
  
  .c-bottom-bar__inner {
    padding: 10px;
  }
  
  .c-sentence-select {
    font-size: 14px;
    padding: 10px 5px;
    line-height: 1.3;
  }
  
  /* Make sure the sentence select dropdowns are properly sized */
  .c-sentence-select__dropdown {
    max-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  
  .c-bar {
    min-width: 0;
    width: 100%;
  }
  
  .c-bar-wrapper {
    padding: 5px 0 20px;
  }
  
  /* Overlay pages (about, contribute) */
  .c-overlay {
    padding: 15px;
    overflow-y: auto;
  }
  
  .c-overlay__container {
    padding: 60px 15px 30px;
  }
  
  .c-overlay__inner {
    font-size: 16px;
  }
  
  .c-overlay__close {
    top: 15px;
    right: 15px;
  }
  
  .c-overlay__intro {
    font-size: 20px;
  }
  
  .c-overlay__highlighted {
    font-size: 18px;
  }
  
  /* Company page */
  .o-detail-header {
    flex-direction: column;
    position: relative;
  }
  
  .o-detail-header__col {
    width: 100%;
    padding: 10px;
  }
  
  .o-detail__col {
    padding: 10px 15px;
  }
  
  .o-detail__col:first-of-type {
    padding-top: 60px;
  }
  
  .c-filters {
    flex-direction: column;
    padding: 10px 15px;
    position: relative;
    top: 0;
    width: 100%;
  }
  
  .c-filters__item {
    margin: 5px 0;
  }
  
  .c-filters__item + .c-filters__item {
    margin-left: 0;
  }
  
  .c-card {
    padding: 15px;
  }
  
  /* Cards and content */
  .c-card__title {
    font-size: 18px;
  }
  
  .c-card__tag {
    font-size: 12px;
  }
  
  /* Chart and visualization */
  .c-chart-wrapper {
    width: 90vw;
    height: 90vw;
    margin: 0 auto;
  }
  
  /* Modal */
  .modal-content {
    width: 85%;
    padding: 15px;
  }
  
  /* Controls */
  .controls {
    position: fixed;
    top: 15px; /* Move higher up */
    right: 15px;
    display: flex;
    flex-direction: column;
    z-index: 101; /* Higher z-index */
  }
  
  .js-zoom-in, .js-zoom-out {
    display: block;
    width: 40px;
    height: 40px;
    background-color: white;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    position: relative;
    cursor: pointer;
    margin: 5px 0;
    text-align: center;
    line-height: 40px;
    font-weight: bold;
    font-size: 20px;
  }
  
  .js-zoom-in:after {
    content: "+";
  }
  
  .js-zoom-out:after {
    content: "−";
  }
}

/* Small phones */
@media screen and (max-width: 374px) {
  .c-sphere__label {
    font-size: 3.5vw;
  }
  
  .c-header__nav li {
    margin: 0 5px;
  }
  
  .c-header__nav a {
    font-size: 14px;
  }
  
  .c-sentence-select {
    font-size: 12px;
  }
  
  .c-sentence-select__dropdown {
    max-width: 80px;
  }
}