/* GS Projects mobile showcase: stable cards + image-overlay navigation */
@media (max-width: 767px) {
  .gs-roow.gsp-mobile-slider-ready {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    width: 100% !important;
    position: relative !important;
  }

  .gs-roow.gsp-mobile-slider-ready > .gs-project-single {
    display: none !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .gs-roow.gsp-mobile-slider-ready > .gs-project-single.gsp-mobile-active {
    display: block !important;
  }

  .gs-project-single .gsp-content-box {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
  }

  .gs-project-single h3.gsp-title.gsp-mobile-title-top {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  .gs-project-single .gsp-content .gsp-title { display: none !important; }

  /* Only show the single mobile website button. */
  .gs-project-single .gsp-img-wrap .gsp-overlay-content,
  .gs-project-single .gsp-img-wrap .gsp-action-btn-wrapper,
  .gs-project-single .gsp-action-btn,
  .gs-project-single .gsp-content .gsp-btn-url {
    display: none !important;
  }

  .gs-project-single .gsp-img-wrap {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    position: relative !important;
    overflow: visible !important;
    background: #fff !important;
  }

  .gs-project-single a.gsp-mobile-view-website {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 11px 16px !important;
    border-radius: 0 !important;
    background: #960030 !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    position: relative !important;
    z-index: 2 !important;
  }

  /* Full screenshot: natural aspect ratio, no crop, no zoom animation. */
  .gs-project-single .gsp-thumbnail-wrapper {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #f7f7f7 !important;
  }

  .gs-project-single .gsp-thumbnail-wrapper > a {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .gs-project-single .gsp-thumbnail-wrapper img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: top center !important;
    transform: none !important;
    transition: none !important;
  }

  /* Arrows are placed inside the image wrapper by the companion JS. */
  .gs-mobile-slider-controls {
    position: absolute !important;
    inset: 0 !important;
    z-index: 20 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }

  .gs-mobile-slider-controls button {
    position: absolute !important;
    top: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    border: 1px solid rgba(255,255,255,.8) !important;
    border-radius: 50% !important;
    background: rgba(150,0,48,.92) !important;
    color: #fff !important;
    font-size: 24px !important;
    line-height: 1 !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.22) !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    -webkit-tap-highlight-color: transparent;
  }

  .gs-mobile-slider-controls .gsp-mobile-prev { left: 10px !important; }
  .gs-mobile-slider-controls .gsp-mobile-next { right: 10px !important; }

  .gs-mobile-slider-controls .gsp-mobile-counter {
    position: absolute !important;
    left: 50% !important;
    bottom: 10px !important;
    transform: translateX(-50%) !important;
    padding: 5px 10px !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.92) !important;
    color: #222 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
  }

  .gs-project-single .gsp-content {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 58px !important;
    padding: 14px 12px !important;
    text-align: center !important;
    background: #fff !important;
  }

  .gs-project-single .gsp-tagline {
    margin: 0 !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
  }

  .gs-project-popup .mfp-content--container {
    display: flex !important;
    flex-direction: column !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
  }

  .gs-project-popup .gsp-mobile-popup-title {
    order: 0;
    display: block !important;
    margin: 0 12px 12px !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    color: #111 !important;
  }

  .gs-project-popup .gsp-popup-left-container { order: 1; width: 100% !important; }
  .gs-project-popup .gsp-popup-right-container { order: 2; width: 100% !important; }
  .gs-project-popup .gsp-popup-right-container .gsp-title { display: none !important; }
}

@media (min-width: 768px) {
  .gsp-mobile-view-website,
  .gs-mobile-slider-controls,
  .gsp-mobile-title-top,
  .gsp-mobile-popup-title { display: none !important; }
}
