/* =========================================================
   BASE
   ========================================================= */
* { box-sizing: border-box; }
html, body { height: 100%; }
body{
  margin:0;
  font-family:'Roboto',sans-serif;
  background:#ffffff;
  color:#000;
  scroll-behavior:smooth;
}

/* ✅ Bloquear scroll del body cuando hay modal abierto */
body.modal-open{
  overflow:hidden;
}

/* =========================================================
   LOGO SUPERIOR
   ========================================================= */
.header-logo{
  background:#2f2f2f;
  text-align:center;
  padding:16px 0;
  border-bottom:1px solid #444;
}

.header-logo img{
  width:100%;
  max-width:515px;
  height:auto;
  display:block;
  margin:0 auto;
}

@media (max-width: 768px){
  .header-logo img{
    width:90%;
  }
}

/* =========================================================
   LÍNEA DIVISORIA
   ========================================================= */
.linea-divisoria{
  height:6px;
  background:url("imagenes/linea-divisoria.jpg") repeat-x center;
}

/* =========================================================
   FRANJA NEGRA SOBRE BOTONERA
   ========================================================= */
.rotulo-marcas{
  background:#000;
  color:#fff;
  text-align:center;
  padding:10px;
  font-size:1.05rem;
  letter-spacing:.5px;
}

/* =========================================================
   SELECTOR GLOBAL
   ========================================================= */
.selector-producto{
  background-color:#3d3d3d;
  padding:48px 0 40px;
  text-align:center;
  border-bottom:1px solid #444;

  background-image:url("imagenes/fondo-menu.png");
  background-repeat:no-repeat;
  background-position:left center;
  background-size:auto 100%;
}

.selector-producto label{
  display:block;
  color:#fff;
  font-size:1.05rem;
  margin-bottom:10px;
  font-weight:500;
}

.selector-producto select{
  font-size:1rem;
  padding:8px 12px;
  border:1px solid #ccc;
  border-radius:6px;
  background:#fff;
  min-width:280px;
  max-width:420px;
}

/* =========================================================
   GRID DE FICHAS
   ========================================================= */
.grid{
  display:grid;
  gap:20px;
  grid-template-columns:repeat(2,1fr);
  justify-items:center;
}
@media (max-width:800px){
  .grid{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   FICHA (CARD)
   ========================================================= */
.card{
  max-width:480px;
  width:92vw;
  margin:20px auto;
  background:#f0f0f0;
  border:1px solid #ccc;
  border-radius:12px;
  box-shadow:0 3px 10px rgba(0,0,0,.08);
  padding:15px;
  text-align:center;
}
.card h3{
  margin:10px 0;
  font-size:1.1rem;
  font-weight:500;
}

/* =========================================================
   CARRUSEL
   ========================================================= */
.carousel{
  position:relative;
  width:100%;
  max-width:450px;
  margin:10px auto;
  overflow:hidden;
  background:#f6f6f6;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  touch-action:pan-y;
}
.slides{
  display:flex;
  transition:transform .35s ease;
  align-items:center;
  width:100%;
}
.slide{
  flex:0 0 100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.slide img{
  width:100%;
  height:auto;
  max-height:390px;
  object-fit:contain;
  object-position:center center;
  border-radius:10px;
}
@media (max-width:768px){
  .slide img{
    max-height:320px;
  }
}

/* Flechas */
.arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border-radius:50%;
  border:0;
  background:rgba(0,0,0,.55);
  color:#fff;
  cursor:pointer;
}
.arrow.prev{ left:10px; }
.arrow.next{ right:10px; }

.carousel.grabbing{ cursor:grabbing; }

/* =========================================================
   DESCRIPCIÓN + PRODUCCIÓN MÍNIMA COLECTIVA
   ========================================================= */
.descripcion{
  margin:12px 0 6px;
  font-size:.98rem;
  color:#222;
}
.produccion-minima-box {
  background:#e9e9e9;
  border:1px solid #d7d7d7;
  border-radius:10px;
  padding:12px;
  margin:12px 0;
  font-size:.88rem;
  color:#666; /* Gris solicitado */
  font-weight:500;
  text-align:center;
}

/* =========================================================
   BOTÓN COTIZAR
   ========================================================= */
.btn-cotizar{
  background:#000;
  color:#fff;
  border:0;
  padding:10px 18px;
  border-radius:6px;
  cursor:pointer;
  font-weight:500;
}
.btn-cotizar:hover{
  background:#222;
}

/* =========================================================
   MODALES (FORM + CONF)
   ========================================================= */
.modal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.5);
  z-index:1000;
}
.modal-contenido{
  background:#fff;
  width:92%;
  max-width:420px;
  margin:8vh auto;
  border-radius:10px;
  padding:18px 16px;
}
.modal-contenido .cerrar{
  float:right;
  border:0;
  background:transparent;
  font-size:26px;
  cursor:pointer;
}
.modal-contenido h2{
  margin:0 0 10px;
  font-weight:600;
}
.modal-contenido label{
  display:block;
  font-size:.9rem;
  margin-top:8px;
  color:#333;
}
.modal-contenido input,
.modal-contenido select,
.modal-contenido textarea{
  width:100%;
  padding:9px 10px;
  border:1px solid #ccc;
  border-radius:6px;
  margin-top:4px;
}
.btn-enviar{
  width:100%;
  margin-top:12px;
  padding:10px 16px;
  border:0;
  background:#000;
  color:#fff;
  border-radius:6px;
  cursor:pointer;
}
.btn-enviar:hover{ background:#222; }
.confirmacion{ text-align:center; }
.confirmacion p{ font-size:1rem; margin-bottom:10px; }

/* =========================================================
   MODAL IMAGEN (AMPLIAR FOTO)
   ========================================================= */
.modal-imagen{
  background: rgba(0,0,0,.15);
  padding: 14px;
  max-width: min(1200px, 94vw);
  max-height: 88vh;
  overflow: auto;
  position: relative;
  border-radius: 18px;
}

.modal-imagen .cerrar{
  color:#fff;
  font-size:34px;
  float:none;
  position: sticky;
  top: 6px;
  margin-left: auto;
  display: block;
  background:rgba(0,0,0,.35);
  border-radius:999px;
  width:44px;
  height:44px;
  line-height:44px;
  text-align:center;
}

#imgAmpliada{
  display:block;
  width: 100%;
  height:auto;
  border-radius:16px;
  background:#fff;
}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{
  background:#2f2f2f;
  color:#ccc;
  text-align:center;
  padding:12px;
  font-size:.9rem;
  border-top:1px solid #444;
}

/* =========================================================
   BOTÓN “ARRIBA”
   ========================================================= */
#btnArriba{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1100;
  border:0;
  background:transparent;
  padding:0;
  line-height:0;
  cursor:pointer;
}
#btnArriba img{
  display:block;
  width:clamp(56px, 9vw, 84px);
  height:auto;
  pointer-events:none;
}

/* =========================================================
   LAYOUT FRANJAS 2026 (REDUCIDO A 4 MARCAS)
   ========================================================= */
.botonera{
  display:block;
  padding:0;
  margin:0;
  background:#222;
  border-top:7px solid #ffffff;
}
.marca-seccion{
  display:block;
  border-bottom:7px solid #ffffff;
}
.marca-seccion .btn-cat{
  width:100%;
  border:0;
  padding:10px 0;
  cursor:pointer;
  text-align:center;
  display:block;
  text-decoration:none;
}

/* Colores de fondo detrás de los botones */
.marca-seccion .btn-cat[data-seccion="memofix"]{ background:#fcf08c; }
.marca-seccion .btn-cat[data-seccion="newpen"]{ background:#404041; }
.marca-seccion .btn-cat[data-seccion="ci"]{ background:#4f2064; }
.marca-seccion .btn-cat[data-seccion="carandache"]{ background:#e31818; }

/* Imágenes 585x135 centradas */
.marca-seccion .btn-cat img{
  width:585px;
  height:135px;
  display:block;
  margin:0 auto;
}

/* Contenido entre botones (fichas) */
.marca-seccion .contenido-seccion{
  background:#ffffff;
  padding:0;
}
.marca-seccion .contenido-seccion:not(:empty){
  padding:24px 40px;
}
.marca-seccion .contenido-seccion .grid{
  padding:0;
}

/* Mobile */
@media (max-width: 768px){
  .marca-seccion .contenido-seccion:not(:empty){
    padding:16px 10px;
  }
  .marca-seccion .btn-cat img{
    width:92%;
    height:auto;
  }
  .card{
    width:100%;
    margin:12px auto;
  }
}

/* =========================================================
   SLIDER CLIENTES
   ========================================================= */
.clientes{
  background:#ffffff;
  text-align:center;
  padding:24px 0 32px;
  border-top:1px solid #e0e0e0;
}

.clientes h2{
  margin:0 0 18px;
  font-size:1.1rem;
  color:#333;
  font-weight:500;
}

.clientes-slider{
  width:544px;
  max-width:100%;
  margin:0 auto;
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 2px 6px rgba(0,0,0,.12);
  background:#fff;
}

.clientes-slider img{
  display:block;
  width:100%;
  height:auto;
}

@media (max-width:768px){
  .clientes{
    padding:18px 0 24px;
  }
  .clientes h2{
    font-size:1rem;
  }
}