/* layout.css */

.center-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.outer-wrapper {
  width: 95vw;
  height: 95vh;
  display: flex;
  flex-direction: column;
  border-radius: 1rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}

.header-panel {
  padding: 1rem 2rem;
  background: rgba(0,0,0,0.25);
  font-weight: 700;
  font-size: 1.5rem;
  color: #3b82f6;
}

.container {
  flex: 1;
  display: flex;
  overflow: hidden;
}

.bot-panel {
  width: 35%;
  background: rgba(255,255,255,0.05);
  display: flex;
  flex-direction: column;
  
}

/*.viewer-panel {
  position: relative;
  z-index: 1;
  background: linear-gradient(135deg, rgba(13, 71, 161, 0.4), rgba(38, 198, 218, 0.4)); display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  overflow-y: auto;
  overflow: hidden;
}*/

/* Hide viewer-back on desktop */
@media (min-width: 769px) {
  .viewer-back {
    display: none !important;
  }
}

@media (max-width: 768px) {


.viewer-back {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 8px 14px;
  background: linear-gradient(to right, #FF5C35, #FF784E);
  font-weight: bold;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  z-index: 25;
  transition: background 0.2s ease;
}

.viewer-back:hover {
  background: linear-gradient(to right, #FF784E, #FF5C35);
}

/* Mobile-only scroll for pricing cards */
.grid-wrapper {
    display: flex;
    overflow-x: auto;
    gap: 1rem;
    padding: 1rem;
    scroll-snap-type: x mandatory;
  }

  .grid-card {
    flex: 0 0 80%;
    scroll-snap-align: start;
    min-width: 250px; /* Ensures each card has a reasonable width */
  }

.container {
    flex-direction: column;
    position: relative;
  }

.outer-wrapper {
    width:100%;
    height:100%;
    border-radius: 0;
}

  .bot-panel {
    width: 100%;
    height: 100vh;
    z-index: 1;
    transition: transform 0.3s ease-in-out;
  }

/*.viewer-panel {
  display: block;           
  overflow-y: auto;
  height: 100vh;           
  padding: 2rem 1rem;
  position: absolute;
  top: 0;
  left: 100%;
  width: 100%;
  background: transparent;
  transition: transform 0.3s ease-in-out;
  z-index: 20;
}*/

  



 .viewer-open .viewer-panel {      /* <-- listen to the class JS adds */
  transform: translateX(-100%);
}

/*.viewer-panel {
  -webkit-overflow-scrolling: touch;
}*/

  .viewer-card {
  width: 100%;
  max-width: 320px;
  overflow-y: visible;
  margin: 0 auto;
  padding: 1rem;
  }
  
  /* dark overlay behind drawer */
.viewer-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.45);
  opacity: 0; pointer-events: none;
  transition: opacity .3s;
  z-index: 15;
}
/* orange pull-tab */
.viewer-handle {
  position: fixed; top: 45%; right: 0;
  width: 18px; height: 80px;
  border-radius: 8px 0 0 8px;
  background: #FF5C35;
  z-index: 14;
}
/* show overlay + enable clicks when drawer open */
.viewer-open .viewer-overlay {
    opacity: 1;
    pointer-events: auto; 
    
}

.viewer-panel {
  position: absolute;
  top: 0;
  left: 100%;
  width: 100%;
  height: 100vh;
  background: linear-gradient(135deg, rgba(13, 71, 161, 0.4), rgba(38, 198, 218, 0.4));
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 2rem 1rem;
  box-sizing: border-box;
  transition: transform 0.3s ease-in-out;
  z-index: 20;
  -webkit-overflow-scrolling: touch;
  border: 2px solid red;
}







