/* ============ Estilos generales ============ */
html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  touch-action: pan-y;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background-color: #f5f5f5;
}

/* ---------- contenedor principal ---------- */
.configurator-container {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding: 20px;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  min-height: 100%;
}

/* ---------- lado izquierdo (imagen) ---------- */
.image-container {
  flex: 2;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  padding-top: 300px;
  position: relative;
  overflow: hidden;
}

.diamond-grid {
  position: relative;
  margin: 0 auto;
  width: fit-content;
  transform-origin: center;
  transition: transform 0.3s ease;
}

.diamond-cell {
  position: absolute;
  width: 100px;
  height: 100px;
  animation: fadeInUp 0.4s ease;
}

.diamond-cell img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ---------- muros ---------- */
.wall {
  position: absolute;
  width: 168px;
  height: 168px;
  transform: scale(1);
  z-index: 5;
  pointer-events: none;
}
.wall img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.bottom-left-wall {
  position: absolute;
  width: 168px;
  height: 168px;
  transform: scale(1.5);
  z-index: 115;
  margin-top: 0.1%;
  left: -0.1%;
  pointer-events: none;
}
.bottom-left-wall img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

/* ---------- accesorios ---------- */
.accessory {
  position: absolute;
  z-index: 115;
  cursor: move;
  user-select: none;
  touch-action: none;
  width: 170px;
  height: 170px;
}
.accessory img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.accessory[data-title*="TV 55"],
.accessory[data-title*="Pantalla LED"],
.accessory[data-title*="Monitor Informativo"] {
  width: 100px;
  height: 100px;
}

.accessory.selected {
  outline: 2px dashed #fdb122;
}

/* ---------- logo ---------- */
.stand-logo {
  position: absolute;
  pointer-events: none;
  user-select: none;
  transform-origin: center;
  transition: all 0.3s ease;
  z-index: 100;
  
}
.stand-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

/* ---------- animaciones ---------- */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---------- controles ---------- */
.controls-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 30px;
  max-width: 350px;
  position: relative;
  z-index: 10;
}

/* slider tamaño stand */
#standSizeSlider {
  width: 100%;
  touch-action: manipulation;
  appearance: none;
  -webkit-appearance: none;
  height: 8px;
  background: #ddd;
  border-radius: 5px;
  margin: 15px 0;
}
#standSizeSlider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  background: #fdb122;
  border-radius: 50%;
  cursor: pointer;
}

.accessory-close-btn {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 24px;
  height: 24px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 50%;
  color: #d32f2f;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  transition: background 0.2s, color 0.2s;
}
.accessory-close-btn:hover {
  background: #fdb122;
  color: #fff;
  border-color: #fdb122;
}

 html, body {
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      overflow-x: hidden;
      touch-action: pan-y;
      -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
    }

    body {
      font-family: Arial, sans-serif;
      margin: 0;
      padding: 0;
      touch-action: manipulation;
      -webkit-tap-highlight-color: transparent;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      background-color: #f5f5f5;
    }

    .configurator-container {
      display: flex;
      justify-content: space-between;
      gap: 30px;
      padding: 20px;
      max-width: 1200px;
      margin: 0 auto;
      position: relative;
      z-index: 1;
      min-height: 100%;
    }

    .image-container {
      flex: 2;
      display: flex;
      justify-content: flex-end;
      align-items: flex-start;
      padding-top: 300px;
      position: relative;
      overflow: hidden;
    }

    .diamond-grid {
      position: relative;
      margin: 0 auto;
      width: fit-content;
      transform-origin: center;
      transition: transform 0.3s ease;
    }

    .diamond-cell {
      position: absolute;
      width: 100px;
      height: 100px;
      animation: fadeInUp 0.4s ease;
    }

    .diamond-cell img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    .wall {
      position: absolute;
      width: 168px;
      height: 168px;
      transform: scale(1);
      z-index: 5;
      pointer-events: none;
    }

    .wall img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      pointer-events: none;
    }

    .bottom-left-wall {
      position: absolute;
      width: 168px;
      height: 168px;
      transform: scale(1.5);
      z-index: 115;
      margin-top: 0.1%;
      left: -0.1%;
      pointer-events: none;
    }

    .bottom-left-wall img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      pointer-events: none;
    }

    .accessory {
      position: absolute;
      z-index: 110;
      cursor: move;
      user-select: none;
      touch-action: none;
      width: 170px;
      height: 170px;
    }

    .accessory img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      pointer-events: none;
    }

    .accessory[data-title*="TV 55"],
    .accessory[data-title*="Pantalla LED"],
    .accessory[data-title*="Monitor Informativo"] {
      width: 100px;
      height: 100px;
    }

    .accessory.selected {
      outline: 2px dashed #fdb122;
    }

    .stand-logo {
      position: absolute;
      pointer-events: none;
      user-select: none;
      transform-origin: center;
      transition: all 0.3s ease;
      z-index: 110;
    }

    .stand-logo img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      pointer-events: none;
    }

    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(20px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .controls-container {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 30px;
      max-width: 350px;
      position: relative;
      z-index: 10;
    }

    #standSizeSlider {
      width: 100%;
      touch-action: manipulation;
      -webkit-appearance: none;
      height: 8px;
      background: #ddd;
      border-radius: 5px;
      margin: 15px 0;
    }

    #standSizeSlider::-webkit-slider-thumb {
      -webkit-appearance: none;
      width: 20px;
      height: 20px;
      background: #fdb122;
      border-radius: 50%;
      cursor: pointer;
    }

    .wall-btn,
    .acc-selector {
      touch-action: manipulation;
      -webkit-user-select: none;
      user-select: none;
      -webkit-tap-highlight-color: rgba(0,0,0,0);
      pointer-events: auto;
      -webkit-touch-callout: none;
    }

    #standSizeLabel {
      font-family: Arial, sans-serif;
      font-size: 1rem;
      line-height: 20px;
      color: #555;
    }

    .section-title {
      font-weight: 700;
      font-family: 'Oswald', sans-serif;
      color: #96acb7;
      line-height: 24px;
      font-size: 22px;
      margin-bottom: 15px;
      text-transform: uppercase;
    }

    .walls-section {
      margin-bottom: 25px;
    }

    .price-section {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 20px;
    }

    .price-info {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
    }

    .price-title {
      font-weight: 700;
      font-family: 'Oswald', sans-serif;
      color: #96acb7;
      line-height: 24px;
      font-size: 22px;
      margin-bottom: 5px;
      text-transform: uppercase;
    }

    .price-amount {
      font-family: 'Poppins', sans-serif;
      font-size: 18px;
      font-weight: 700;
    }

    .price-iva {
      font-family: 'Poppins', sans-serif;
      font-size: 14px;
      color: #555;
    }

    .next-btn {
      font-family: 'Poppins', sans-serif;
      font-weight: 700;
      font-size: 16px;
      background-color: #fdb122;
      color: #000;
      border: none;
      padding: 12px 24px;
      border-radius: 25px;
      cursor: pointer;
      transition: all 0.3s;
      margin-top: 20px;
      width: 100%;
    }

    .next-btn:hover {
      opacity: 0.9;
    }

    .back-btn {
      font-family: 'Poppins', sans-serif;
      font-weight: 400;
      font-size: 14px;
      background-color: transparent;
      color: #555;
      border: none;
      padding: 8px 0;
      cursor: pointer;
      transition: all 0.3s;
      margin-top: 10px;
      width: 100%;
      text-align: center;
      text-decoration: underline;
    }

    .back-btn:hover {
      color: #333;
    }

    .wall-buttons {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }

    .wall-btn {
      font-family: 'Poppins', sans-serif;
      font-weight: 700;
      font-size: 13px;
      line-height: 18px;
      background-color: #fdb122;
      color: #000;
      border: none;
      padding: 8px 16px;
      border-radius: 20px;
      cursor: pointer;
      transition: all 0.3s;
    }

    .wall-btn:hover {
      opacity: 0.9;
    }

    .wall-btn.active {
      background-color: #fdb122;
    }

    .wall-btn:not(.active) {
      background-color: #ccc;
    }

    .acc-buttons {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      background-color: #525252;
      border-radius: 20px;
      padding: 12px;
    }

    .acc-selector {
      font-family: 'Poppins', sans-serif;
      font-weight: 400;
      font-size: 13px;
      line-height: 18px;
      background-color: #525252;
      color: white;
      border: none;
      padding: 8px 16px;
      border-radius: 20px;
      cursor: pointer;
      transition: all 0.3s;
    }

    .acc-selector:hover {
      background-color: #3d3d3d;
    }

    .acc-selector.active {
      background-color: #ccc;
      color: #000;
    }

    #acc-options {
      margin-top: 15px;
      position: relative;
    }

    .acc-cards-container {
      display: flex;
      gap: 15px;
      overflow-x: auto;
      scroll-behavior: smooth;
      padding: 10px 0;
      -webkit-overflow-scrolling: touch;
    }

    .acc-cards-container::-webkit-scrollbar {
      display: none;
    }

    .acc-card {
      border: 2px solid #e0e0e0;
      padding: 12px;
      cursor: pointer;
      border-radius: 12px;
      touch-action: manipulation;
      -webkit-user-select: none;
      user-select: none;
      background: white;
      min-width: 150px;
      flex-shrink: 0;
      transition: all 0.3s;
      display: flex;
      flex-direction: column;
      align-items: center;
      pointer-events: none;
    }

    .acc-card > * {
      pointer-events: auto;
    }

    .acc-card.selected {
      border-color: #fdb122;
      background-color: #fff9e6;
    }

    .acc-card img {
      width: 120px;
      height: 80px;
      object-fit: contain;
      user-select: none;
      -webkit-user-drag: none;
      margin-bottom: 10px;
    }

    .acc-card-title {
      font-family: 'Poppins', sans-serif;
      font-size: 13px;
      font-weight: 500;
      margin-bottom: 8px;
      text-align: center;
    }

    .quantity-controls {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: 5px;
    }

    .quantity-btn {
      width: 25px;
      height: 25px;
      border-radius: 50%;
      border: none;
      background-color: #fdb122;
      color: #000;
      font-weight: bold;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .quantity-value {
      min-width: 20px;
      text-align: center;
    }

    .add-btn {
      background-color: #2e7d32;
      color: white;
      border: none;
      padding: 6px 12px;
      border-radius: 15px;
      font-size: 12px;
      cursor: pointer;
      transition: all 0.3s;
      font-family: 'Poppins', sans-serif;
      margin-top: 5px;
    }

    .add-btn:hover {
      background-color: #1b5e20;
    }

    .remove-btn {
      background-color: #d32f2f;
      color: white;
      border: none;
      padding: 6px 12px;
      border-radius: 15px;
      font-size: 12px;
      cursor: pointer;
      transition: all 0.3s;
      font-family: 'Poppins', sans-serif;
      margin-top: 5px;
    }

    .remove-btn:hover {
      background-color: #b71c1c;
    }

    .nav-arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 30px;
      height: 30px;
      background-color: rgba(0,0,0,0.5);
      color: white;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 2;
      border: none;
      font-size: 16px;
    }

    .nav-arrow.left {
      left: -15px;
    }

    .nav-arrow.right {
      right: -15px;
    }

    .screen {
      display: none;
    }

    .screen.active {
      display: block;
      animation: fadeIn 0.5s ease forwards;
    }

    .fade-out {
      animation: fadeOut 0.5s ease forwards;
    }

    @keyframes fadeOut {
      from { opacity: 1; transform: translateY(0); }
      to { opacity: 0; transform: translateY(-20px); }
    }

    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @keyframes priceIncrease {
      0% { transform: scale(1); color: inherit; }
      50% { transform: scale(1.2); color: #4CAF50; }
      100% { transform: scale(1); color: inherit; }
    }

    @keyframes priceDecrease {
      0% { transform: scale(1); color: inherit; }
      50% { transform: scale(0.9); color: #F44336; }
      100% { transform: scale(1); color: inherit; }
    }

    .price-change {
      display: inline-block;
      transition: all 0.3s ease;
    }

    .price-increase {
      animation: priceIncrease 0.5s ease;
    }

    .price-decrease {
      animation: priceDecrease 0.5s ease;
    }

    select {
      width: 100%;
      padding: 10px;
      border-radius: 20px;
      border: 2px solid #ddd;
      font-family: 'Poppins', sans-serif;
      margin-bottom: 15px;
      background-color: white;
    }

    .date-selectors {
      display: flex;
      gap: 10px;
    }

    .date-selectors select {
      flex: 1;
    }

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    textarea {
      width: 100%;
      padding: 10px;
      border-radius: 20px;
      border: 2px solid #ddd;
      font-family: 'Poppins', sans-serif;
      margin-bottom: 15px;
    }

    textarea {
      height: 100px;
      resize: vertical;
    }

    .confirmation-message {
      text-align: center;
      padding: 20px;
      font-family: 'Poppins', sans-serif;
      font-size: 18px;
      color: #333;
      display: none;
    }

    .confirmation-message.active {
      display: block;
    }

    .position-modal {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0,0,0,0.7);
      z-index: 1000;
      justify-content: center;
      align-items: center;
    }
    
    .position-modal.active {
      display: flex;
    }
    
    .position-content {
      background-color: white;
      padding: 20px;
      border-radius: 15px;
      text-align: center;
      max-width: 300px;
      width: 90%;
      box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    }
    
    .position-title {
      font-family: 'Poppins', sans-serif;
      font-size: 18px;
      font-weight: 700;
      margin-bottom: 20px;
      color: #333;
    }
    
    .position-buttons {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    
    .position-btn {
      font-family: 'Poppins', sans-serif;
      font-weight: 700;
      font-size: 14px;
      background-color: #fdb122;
      color: #000;
      border: none;
      padding: 10px 15px;
      border-radius: 20px;
      cursor: pointer;
      transition: all 0.3s;
    }
    
    .position-btn:hover {
      opacity: 0.9;
    }

.floor-options-container {
    margin-top: 10px;
  }

  .floor-options {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
  }

  .floor-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
  }

  .floor-option-image {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #ddd;
    transition: all 0.3s;
  }

  .floor-option.selected .floor-option-image {
    border-color: #fdb122;
    transform: scale(1.1);
  }

  .floor-option img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .floor-option-label {
    margin-top: 5px;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    color: #555;
    text-align: center;
  }

    @media (max-width: 992px) {
      .configurator-container {
        flex-direction: column;
        align-items: center;
        gap: 30px;
        padding: 20px;
      }

      .image-container,
      .controls-container {
        max-width: 100%;
        width: 100%;
      }

      .image-container {
        justify-content: center;
        padding-top: 150px;
        margin-bottom: -100px;
      }

      .controls-container {
        max-width: 100%;
        margin-top: 50px;
        padding-top: 20px;
      }
    }

    @media (max-width: 576px) {
      .image-container {
        padding-top: 150px;
        margin-bottom: -80px;
      }

      .wall-buttons,
      .acc-buttons {
        justify-content: center;
        margin-bottom: 10px;
      }

      .controls-container {
        margin-top: 30px;
        padding-top: 15px;
      }

      .section-title {
        font-size: 18px;
        text-align: center;
        margin-top: 15px;
        margin-bottom: 10px;
      }

      .acc-card {
        min-width: 120px;
      }

      .acc-card img {
        width: 100px;
        height: 70px;
      }

      .date-selectors {
        flex-direction: column;
      }
    }

/* ---------- media queries ---------- */
@media (max-width: 992px) {
  .configurator-container {
    flex-direction: column;
    align-items: center;
    gap: 30px;
    padding: 20px;
  }
  .image-container,
  .controls-container {
    max-width: 100%;
    width: 100%;
  }
  .image-container {
    justify-content: center;
    padding-top: 150px;
    margin-bottom: -100px;
  }
  .controls-container {
    max-width: 100%;
    margin-top: 50px;
    padding-top: 20px;
  }
}

@media (max-width: 576px) {
  .image-container { padding-top: 150px; margin-bottom: -80px; }
  .wall-buttons,
  .acc-buttons { justify-content: center; margin-bottom: 10px; }
  .controls-container { margin-top: 30px; padding-top: 15px; }
  .section-title { font-size: 18px; text-align: center; margin-top: 15px; margin-bottom: 10px; }
  .acc-card { min-width: 120px; }
  .acc-card img { width: 100px; height: 70px; }
  .date-selectors { flex-direction: column; }
}

/* ------------------------------------------------------------------ */
/* 🔎  EXTRA: imagen final más grande                                 */
/* CENTRAR todo en la pantalla de confirmación */
/* ----- PANTALLA DE CONFIRMACIÓN ----------------------------------- */
/* Overlay SOLO cuando la pantalla está activa */
#confirmation-screen.screen.active {
  position: fixed;
  inset: 0;
  z-index: 1000;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}


/* texto del mensaje */
.confirmation-message {
  text-align: center;
  font-family: 'Poppins', sans-serif;
  font-size: 22px;
  line-height: 1.35;
  margin: 0;                   /* quita márgenes extra */
}

#confirmation-screen .confirmation-message {
  margin-top: 80px;
}

/* imagen collage */
.final-collage {
  width: 70%;          /* → agranda (ajusta 60-80 % según tu gusto) */
  max-width: 700px;    /* tope para pantallas grandes */
  height: auto;
  margin-top: 40px;    /* espacio entre texto e imagen */
  border-radius: 20px;
}

/* --- Ajuste definitivo del tamaño del botón de reinicio --- */
#restartBtn {
  font-size: 15px !important;      /* más pequeño */
  padding: 15px 18px !important;    /* menos alto y ancho */
  border-radius: 18px !important;  /* esquinas suavizadas */
  width: auto !important;          /* no se estira a 100 % */
  margin: 30px auto 0 !important;  /* mismo margen, centrado */
  display: block;                  /* sigue ocupando su línea */
}
/* ========== Encabezado Cotizador ========== */
.header-cotizador {
  width: 100%;
  padding: 20px 0 10px;
  text-align: center;
}

.title-cotizador {
  font-family: 'Oswald', sans-serif;
  font-size: 38px;          /* ajusta tamaño si quieres más grande */
  color: #96acb7;           /* mismo gris azulado que usas en subtítulos */
  margin: 0;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* Branding View Design */
.viewdesign-brand {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  color: #555;
  margin-top: 4px;
}

.viewdesign-brand strong {
  color: #fdb122;           /* tu color naranja para resaltarlo */
}

/* Si usas un logotipo en vez de texto */
.logo-viewdesign {
  height: 24px;             /* ajusta al alto que te guste */
  vertical-align: middle;
  margin-left: 4px;
}
/* ---------- Watermark View Design ---------- */
body::after {
  content: "";
  position: fixed;
  bottom: 20px;                 /* distancia desde el borde inferior   */
  left: 20px;                  /* distancia desde el borde derecho    */
  width: 180px;                 /* tamaño del logo (ajusta libremente) */
  height: 180px;
  background: url("https://webflow-files-prod.global.ssl.fastly.net/6728f7479847891c23d7edc2/675f1d69c94a26dd5d516536_baners-11.avif")
              no-repeat center/contain;
  opacity: 0.1;                /* sutil — sube a 0.06-0.08 si se ve muy tenue */
  pointer-events: none;         /* no bloquea clics ni drags             */
  z-index: 5;                   /* por debajo de overlays y controles    */
}

/* ----- Versión reducida del watermark en pantallas pequeñas ----- */
@media (max-width: 600px) {
  body::after {
    width: 120px;
    height: 120px;
  }
}
/* ========= Ajustes responsive para móviles ========= */
/* ========= Ajustes responsive para móviles ========= */
@media (max-width: 600px) {

  /* encabezado más compacto */
  .title-cotizador  { font-size: 26px; margin-bottom: 4px; }
  .viewdesign-brand { font-size: 12px; }

  /* contenedor en columna */
  .configurator-container {       /* separa el stand del título */
  padding-top: 0;        /* sin doble padding */
  justify-content: center;  }

  /* separa bien el stand del título */
   .image-container {
    padding-top: 250px !important; 
    justify-content: center;
    align-items: flex-start;     /* evita que se baje más */
  }

  /* controles a todo el ancho */
  .controls-container { max-width: 100%; width: 90%; }

  .header-cotizador { margin-bottom: 12px; }

  /* watermark más chico */
  body::after       { width: 90px; height: 90px; opacity: 0.05; }
}
@media (max-width: 1200px)  { .image-container { padding-top: 280px; } }
/* ========== Ajustes para escritorio (≥ 992 px) ========== */
/* ===== Pantallas grandes: título + stand pegados, controles scroll ===== */
@media (min-width: 992px) {

  /* 1. Encabezado se queda pegado arriba */
  .header-cotizador {
    position: sticky;
    width: 60%;
    left: 0;
    top: 0;
    background: #f5f5f596;
    z-index: 100;
    padding: 10px 0 8px;
  }

  /* 2. Imagen del stand pegada justo debajo del encabezado */
  .image-container {
    padding-top: 40vh !important;
    position: sticky;
    top: 110px;                 /* ≈ alto del header; ajusta 80-120 px si hace falta */
    padding-top: 15px;             /* quitamos paddings grandes */
  }

  /* 3. Alineación general */
  .configurator-container {
    align-items: flex-start;    /* evita que el panel derecho se suba de más */
  }

  /* 4. Panel de controles un poco más arriba (opcional) */
  .controls-container {
    margin-top: -10vh;           /* ajusta hasta que la parte superior del panel derecho
                                   quede alineada con el stand o donde te guste */
  }
}

.back-viewdesign-btn {
  display: block;
  width: 100%;
  max-width: 320px;
  margin: 0 auto 18px auto;
  padding: 12px 0;
  font-family: 'Poppins', Arial, sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(90deg, #1e293b 0%, #3b82f6 100%);
  border: none;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(30,41,59,0.08);
  cursor: pointer;
  letter-spacing: 0.5px;
  transition: background 0.2s, transform 0.15s;
}

.back-viewdesign-btn:hover, .back-viewdesign-btn:focus {
  background: linear-gradient(90deg, #3b82f6 0%, #1e293b 100%);
  transform: translateY(-2px) scale(1.03);
  outline: none;
}

.back-viewdesign-link {
  display: block;
  width: 100%;
  max-width: 320px;
  margin: 0 auto 18px auto;
  padding: 0;
  font-family: 'Poppins', Arial, sans-serif;
  font-size: 1.08rem;
  font-weight: 500;
  color: #1e293b;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.2px;
  border-radius: 6px;
  transition: color 0.18s, text-decoration 0.18s;
}

.back-viewdesign-link:hover, .back-viewdesign-link:focus {
  color: #3b82f6;
  text-decoration: underline;
  outline: none;
}

.top-bar {
  width: 100%;
  background: #e0e0e0;
  box-shadow: 0 2px 8px rgba(30,41,59,0.06);
  padding: 10px 0 8px 0;
  position: relative;
  z-index: 10000;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.viewdesign-logo-topbar {
  height: 38px;
  margin-left: 24px;
  margin-right: 12px;
  display: block;
}

.back-viewdesign-link {
  margin-top: 3px;
  margin-right: 60px;
  font-size: 0.98rem;
  font-weight: 500;
  color: #222;
  text-align: right;
  text-decoration: none;
  letter-spacing: 0.2px;
  border-radius: 6px;
  transition: color 0.18s, text-decoration 0.18s;
  display: inline-block;
  padding: 0 8px;
}

.back-viewdesign-link:hover, .back-viewdesign-link:focus {
  color: #3b82f6;
  text-decoration: underline;
  outline: none;
}

@media (max-width: 600px) {
  .back-viewdesign-link {
    font-size: 0.88rem;
  }
  .hide-on-mobile {
    display: none;
  }
}
