/* NESCARRS — Tapicería Automotriz.
   ---------------------------------------------------------------------------
   Referencia: las cartas de color de los fabricantes de material de interiores
   (Alcantara) y los folletos de las casas de interiores a la medida (Carlex).
   De ahí sale todo lo que se ve aquí: blanco, mucho aire, líneas de un pelo y
   la foto mandando. Cero recuadros y cero sombras: en este oficio lo caro es
   la precisión, no el adorno.

   Tres cosas hacen la marca:
     · la geométrica en versalitas espaciadas, que es la del propio logo;
     · el hilo de oro — una línea de 1 px que subraya cada rótulo;
     · el código de referencia bajo cada servicio y cada muestra, como en la
       carta de colores de un fabricante.
   Escrito primero para celular: casi todo el tráfico llega de WhatsApp. */

:root{
  --tinta:#14110E;          /* negro cálido, no azulado */
  --tinta2:#5C554C;
  --tinta3:#918878;
  --papel:#FFFFFF;
  --hueso:#F7F4EF;          /* fondo de las secciones que respiran */
  --linea:#E4DFD6;
  --linea2:#CFC7B9;
  --oro:#B0872F;
  --oro-claro:#E8D5A8;
  --verde:#1EA85A;

  --ancho:1240px;
  --display:'Jost',Futura,'Trebuchet MS',sans-serif;
  --firma:'Yellowtail','Brush Script MT',cursive;   /* la manuscrita del logo */
  --sans:Manrope,system-ui,-apple-system,'Segoe UI',sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--tinta);scroll-behavior:smooth}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--sans);
  font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
:focus-visible{outline:1.5px solid var(--oro);outline-offset:3px}
[hidden]{display:none !important}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;line-height:1.08;
  letter-spacing:.01em}

.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 22px}

/* Rótulo pequeño en versalitas: el conector de toda la página. */
.rotulo{font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.24em;
  text-transform:uppercase;color:var(--oro)}

/* Encabezado de sección: rótulo, título y el hilo de oro que cruza hasta el
   borde. Es el gesto que se repite en cada sección. */
.seccion{padding:clamp(52px,7vw,92px) 0}
.seccion--hueso{background:var(--hueso)}
.enc{display:grid;gap:10px;margin-bottom:clamp(24px,3.5vw,40px)}
.enc h2{font-size:clamp(26px,4.6vw,44px);font-weight:300;letter-spacing:.02em}
.enc h2 em{font-style:normal;color:var(--oro)}
.enc-fila{display:flex;align-items:baseline;gap:18px}
.enc-fila::after{content:'';flex:1;height:1px;background:var(--linea2)}
.enc p{margin:0;color:var(--tinta2);max-width:52ch;font-size:15px}

/* ════════════════════════════════════════════════════════════ barra de datos ═ */
/* Negra, fina y quieta. En el celular no cabe: ahí sí corre. */
.cinta{background:var(--tinta);color:#CFC7B7;border-bottom:1px solid #2A251E}
.cinta-in{max-width:var(--ancho);margin:0 auto;padding:9px 22px;display:flex;
  justify-content:center;gap:0;overflow:hidden}
.cinta-tira{display:flex;white-space:nowrap;gap:0}
.cinta-tira span{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  padding:0 22px}
.cinta-tira span+span{border-left:1px solid #322C24}
@media (max-width:760px){
  .cinta-in{justify-content:flex-start}
  .cinta-tira{animation:correr var(--vuelta,30s) linear infinite}
  .cinta-tira span+span{border-left:0}
  .cinta-tira span::after{content:'◆';margin-left:22px;font-size:6px;color:var(--oro);
    vertical-align:middle}
}
@keyframes correr{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ═════════════════════════════════════════════════════════════════ cabecera ═ */
.cab{position:sticky;top:0;z-index:300;background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.cab-in{max-width:var(--ancho);margin:0 auto;padding:14px 22px;display:flex;
  align-items:center;gap:20px;flex-wrap:wrap}
.cab-menu{display:inline-flex;background:none;border:0;padding:6px;margin-left:-6px;cursor:pointer}
.cab-menu svg{width:22px;height:22px}

.marca{display:flex;align-items:center;gap:11px;min-width:0;flex:none}
.marca-logo{width:auto;height:42px;flex:none}
.marca-txt{display:flex;flex-direction:column;line-height:1;min-width:0}
.marca-txt b{font-family:var(--display);font-size:17px;font-weight:400;letter-spacing:.3em;
  text-transform:uppercase;white-space:nowrap}
.marca-txt em{font-family:var(--firma);font-size:13px;font-style:normal;letter-spacing:.01em;
  color:var(--oro);margin-top:5px;white-space:nowrap;line-height:1}

.nav{display:none;gap:26px;margin:0 auto}
.nav a{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tinta2);padding:4px 0;border-bottom:1px solid transparent;transition:.18s}
.nav a:hover,.nav a.activa{color:var(--tinta);border-bottom-color:var(--oro)}

.cab-acts{display:flex;align-items:center;gap:14px;margin-left:auto;flex:none}
.ic{display:inline-flex;background:none;border:0;padding:0;cursor:pointer;color:var(--tinta)}
.ic svg{width:21px;height:21px}
.ic:hover{color:var(--oro)}

.menu-movil{display:grid;border-top:1px solid var(--linea);padding:6px 22px 16px}
.menu-movil a,.menu-movil button{padding:13px 0;font-size:12px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;border:0;border-bottom:1px solid var(--linea);
  background:none;text-align:left;cursor:pointer;color:var(--tinta)}
.menu-movil a.activa{color:var(--oro)}

/* ═════════════════════════════════════════════════════════════════════ hero ═ */
/* Foto a sangre con el titular metido adentro, como el folleto de un
   fabricante. Nada de tarjetas encima. */
.hero{position:relative;min-height:clamp(420px,64vh,640px);display:flex;align-items:flex-end;
  background:var(--tinta) center/cover no-repeat;color:#fff;overflow:hidden}
.hero::after{content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(12,10,8,.88) 0%,rgba(12,10,8,.62) 42%,rgba(12,10,8,.18) 72%),
             linear-gradient(0deg,rgba(12,10,8,.72) 0%,transparent 46%)}
.hero-in{position:relative;z-index:1;width:100%;max-width:var(--ancho);margin:0 auto;
  padding:clamp(46px,8vw,86px) 22px clamp(34px,5vw,54px)}
.hero .rotulo{color:var(--oro-claro)}
.hero-regla{width:56px;height:1px;background:var(--oro);margin:16px 0 18px}
.hero h1{font-size:clamp(32px,5.4vw,62px);font-weight:300;letter-spacing:.005em;max-width:19ch}
.hero h1 em{font-style:normal;display:block;color:var(--oro-claro)}
.hero p{margin:20px 0 0;max-width:46ch;font-size:15.5px;color:#D6CFC4}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* Tira de datos duros bajo la foto. */
.datos-tira{border-bottom:1px solid var(--linea)}
.datos-tira-in{max-width:var(--ancho);margin:0 auto;padding:0 22px;display:grid}
.datos-tira div{padding:18px 0;border-bottom:1px solid var(--linea)}
.datos-tira div:last-child{border-bottom:0}
.datos-tira dt{font-size:9.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--oro);margin:0 0 5px}
.datos-tira dd{margin:0;font-size:14.5px;color:var(--tinta)}
@media (min-width:820px){
  .datos-tira-in{grid-template-columns:repeat(3,1fr);gap:44px}
  .datos-tira div{border-bottom:0;padding:22px 0}
}

/* ═════════════════════════════════════════════════════════════════ catálogo ═ */
.filtros{display:flex;gap:26px;overflow-x:auto;padding:0 0 2px;margin-bottom:34px;
  border-bottom:1px solid var(--linea);scrollbar-width:none}
.filtros::-webkit-scrollbar{display:none}
.filtro{flex:none;background:none;border:0;padding:0 0 14px;cursor:pointer;
  font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--tinta3);border-bottom:1px solid transparent;margin-bottom:-1px;transition:.18s}
.filtro:hover{color:var(--tinta)}
.filtro[aria-selected="true"]{color:var(--tinta);border-bottom-color:var(--oro)}

.rejilla{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(26px,4vw,52px) clamp(16px,2.4vw,30px)}
.pieza{display:flex;flex-direction:column;text-align:left;background:none;border:0;padding:0;
  cursor:pointer;min-width:0}
.pieza-foto{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--hueso)}
.pieza-foto img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.pieza:hover .pieza-foto img{transform:scale(1.045)}
/* El código de referencia, como en la carta de colores de un fabricante. */
.pieza-codigo{position:absolute;left:0;bottom:0;background:var(--papel);color:var(--tinta);
  font-size:9.5px;font-weight:700;letter-spacing:.18em;padding:6px 11px}

.pieza-cuerpo{padding-top:14px;display:flex;flex-direction:column;gap:6px;flex:1}
.pieza-cat{font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--tinta3)}
.pieza-nombre{font-family:var(--display);font-size:clamp(15px,1.5vw,18px);font-weight:400;
  letter-spacing:.01em;line-height:1.15;transition:color .18s}
.pieza:hover .pieza-nombre{color:var(--oro)}
.pieza-mat{font-size:13px;color:var(--tinta2)}
.pieza-pie{margin-top:auto;padding-top:12px;border-top:1px solid var(--linea);
  display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.precio{font-family:var(--display);font-size:19px;font-weight:400;font-variant-numeric:tabular-nums}
.precio small{display:block;font-family:var(--sans);font-size:9px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--tinta3);margin-bottom:2px}
.precio.consulta{font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.pieza-ver{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--oro);white-space:nowrap}

.vacio{grid-column:1/-1;padding:60px 20px;text-align:center;border-top:1px solid var(--linea);
  color:var(--tinta2)}
.vacio b{display:block;font-family:var(--display);font-size:22px;font-weight:300;margin-bottom:8px}

/* ════════════════════════════════════════════════════════ carta de materiales ═ */
.carta{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,26px)}
.muestra{min-width:0}
.muestra img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--hueso)}
.muestra b{display:block;margin-top:10px;font-family:var(--display);font-size:13.5px;
  font-weight:400;letter-spacing:.04em}
.muestra i{display:block;font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.18em;
  color:var(--tinta3);margin-top:3px}
.muestra span{display:block;font-size:12.5px;color:var(--tinta2);line-height:1.4;margin-top:5px}
.carta-pie{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* ═══════════════════════════════════════════════════════════════ el taller ═ */
.tira-taller{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;padding-bottom:4px}
.tira-taller::-webkit-scrollbar{display:none}
.tira-taller figure{flex:none;width:78%;max-width:420px;margin:0;aspect-ratio:3/2;
  overflow:hidden;background:var(--hueso);scroll-snap-align:start}
.tira-taller img{width:100%;height:100%;object-fit:cover}
/* En PC no hay dedo para deslizar y la barra va escondida: con la tira, las
   fotos de la cuarta en adelante quedaban fuera sin forma de verlas. Ahí va
   en cuadrícula, todas a la vista. */
@media (min-width:900px){
  .tira-taller{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}
  .tira-taller figure{width:auto;max-width:none}
}

/* ══════════════════════════════════════════════════════════════════ botones ═ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 30px;border:1px solid var(--tinta);background:var(--tinta);color:#fff;
  font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--oro);border-color:var(--oro);color:var(--tinta)}
.btn svg{width:16px;height:16px;flex:none}
.btn--linea{background:none;color:var(--tinta);border-color:var(--linea2)}
.btn--linea:hover{background:var(--tinta);border-color:var(--tinta);color:#fff}
.btn--claro{background:none;color:#fff;border-color:rgba(255,255,255,.5)}
.btn--claro:hover{background:#fff;border-color:#fff;color:var(--tinta)}
.btn--oro{background:var(--oro);border-color:var(--oro);color:var(--tinta)}
.btn--oro:hover{background:var(--tinta);border-color:var(--tinta);color:#fff}
.btn--ancho{width:100%}

/* ══════════════════════════════════════════════════════════════════════ pie ═ */
.pie{background:var(--tinta);color:#CFC7B7}
.pie-in{max-width:var(--ancho);margin:0 auto;padding:clamp(46px,6vw,74px) 22px;display:grid;gap:34px}
.pie-logo{width:auto;max-width:230px;height:auto}
.pie h2{font-size:9.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--oro);margin-bottom:16px;font-family:var(--sans)}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pie li a,.pie p{font-size:14px;margin:0}
.pie p+p{margin-top:9px}
.pie li a:hover,.pie a:hover{color:#fff}
.pie-redes{display:flex;gap:16px;margin-top:20px}
.pie-redes a:hover{color:var(--oro)}
.pie-redes svg{width:17px;height:17px}
.pie-fin{border-top:1px solid #2A251E;padding:16px 22px;max-width:var(--ancho);margin:0 auto;
  display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:10px;
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#6E665A}

/* ═════════════════════════════════════════════════════════════════ flotante ═ */
.flotante{position:fixed;right:18px;bottom:18px;z-index:250;display:flex;align-items:center;
  justify-content:center;width:54px;height:54px;border-radius:50%;background:var(--verde);
  color:#fff;box-shadow:0 6px 22px rgba(20,17,14,.28);transition:transform .2s}
.flotante:hover{transform:translateY(-2px)}
.flotante svg{width:26px;height:26px}
.flotante span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ═════════════════════════════════════════════════════════════════════ capa ═ */
.capa{position:fixed;inset:0;z-index:400;display:flex;align-items:flex-end;justify-content:center}
.capa-fondo{position:absolute;inset:0;background:rgba(20,17,14,.55);backdrop-filter:blur(2px)}
.capa-caja{position:relative;width:100%;max-width:620px;max-height:94vh;overflow-y:auto;
  overscroll-behavior:contain;background:var(--papel);animation:subir .28s cubic-bezier(.2,.7,.3,1)}
@keyframes subir{from{transform:translateY(18px);opacity:0}}
.capa-x{position:absolute;top:14px;right:14px;z-index:3;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.92);border:1px solid var(--linea);cursor:pointer;display:flex;
  align-items:center;justify-content:center}
.capa-x svg{width:16px;height:16px}
.capa-cuerpo{padding:26px 24px 30px}

/* Galería de la ficha: la foto grande se desliza con el dedo y debajo van las
   miniaturas, como en cualquier tienda. Si el servicio tiene una sola foto,
   las miniaturas no salen. */
.galeria{background:var(--hueso)}
.galeria-tira{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none}
.galeria-tira::-webkit-scrollbar{display:none}
.galeria-tira figure{flex:none;width:100%;aspect-ratio:4/3;margin:0;scroll-snap-align:center;
  background-size:cover;background-position:center;background-repeat:no-repeat}
.minis{display:flex;gap:8px;padding:12px 24px 0;overflow-x:auto;scrollbar-width:none}
.minis::-webkit-scrollbar{display:none}
.mini{flex:none;width:60px;height:46px;padding:0;border:1px solid var(--linea);
  background:var(--hueso);cursor:pointer;overflow:hidden;opacity:.5;transition:.18s}
.mini img{width:100%;height:100%;object-fit:cover}
.mini.on{opacity:1;border-color:var(--oro)}
.capa-cuerpo h2{font-size:clamp(24px,4.5vw,32px);font-weight:500;margin:10px 0 0;
  letter-spacing:.005em}
.entrada{margin:14px 0 0;font-size:15px;color:var(--tinta2)}
.ficha-precio{margin-top:24px;padding:18px 0;border-top:1px solid var(--tinta);
  border-bottom:1px solid var(--linea);display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.ficha-precio .rot{font-size:9.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--tinta3)}
.ficha-precio .val{font-family:var(--display);font-size:30px;font-weight:300;
  font-variant-numeric:tabular-nums}
.ficha-precio .val--corta{font-size:19px;letter-spacing:.08em;text-transform:uppercase}
.datos{margin:0;padding:0}
.datos div{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--linea)}
.datos dt{margin:0;flex:none;width:110px;font-size:9.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--tinta3);padding-top:3px}
.datos dd{margin:0;font-size:14.5px}
/* El material, con su muestra al lado: es lo primero que pregunta el cliente
   después de ver la foto. */
.ficha-material{display:flex;align-items:center;gap:16px;margin-top:22px;padding-top:20px;
  border-top:1px solid var(--tinta)}
.ficha-material img{width:112px;height:74px;object-fit:cover;flex:none;background:var(--hueso)}
.ficha-material b{display:block;font-family:var(--display);font-size:18px;font-weight:400;
  line-height:1.2}
.ficha-material span{display:block;margin-top:5px;font-size:9.5px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--tinta3)}

/* Los colores del material. El mismo cuero cambia de color y no de material. */
.ficha-colores{display:flex;align-items:flex-start;gap:20px;padding:18px 0 4px}
.ficha-colores .rot{flex:none;padding-top:6px;font-size:9.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--tinta3)}
.bolitas{display:flex;gap:14px;flex-wrap:wrap}
.bolita{display:flex;flex-direction:column;align-items:center;gap:5px}
.bolita i{width:30px;height:30px;border-radius:50%;border:1px solid var(--linea2);
  box-shadow:inset 0 0 0 2px #fff}
.bolita em{font-style:normal;font-size:9px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--tinta3)}
.ficha-btns{display:grid;gap:10px;margin-top:24px}

.mat-grupo{margin-top:30px}
.mat-grupo h3{font-size:9.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--oro);font-family:var(--sans);padding-bottom:10px;border-bottom:1px solid var(--linea);
  margin-bottom:18px}

/* ═══════════════════════════════════════════════════════════════ formulario ═ */
.campo{margin-top:20px}
.campo label{display:block;font-size:9.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--tinta3);margin-bottom:8px}
.campo input,.campo select,.campo textarea{width:100%;background:none;border:0;
  border-bottom:1px solid var(--linea2);padding:8px 0;font-size:16px;outline:0;
  font-family:var(--sans);transition:border-color .2s}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-bottom-color:var(--oro)}
.campo textarea{min-height:64px;resize:vertical}
.campo.mal input{border-bottom-color:#B3402A}
.opcional{color:var(--tinta3);font-weight:600}

.nota-forma{margin-top:16px;padding:16px 18px;background:var(--hueso);font-size:14px;
  color:var(--tinta2);border-left:2px solid var(--oro)}
.nota-forma b{color:var(--tinta);font-weight:700}
.elegido{margin-top:20px;padding:14px 0;border-top:1px solid var(--tinta);
  border-bottom:1px solid var(--linea)}
.elegido small{display:block;font-size:9.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--tinta3);margin-bottom:4px}
.elegido b{font-family:var(--display);font-size:17px;font-weight:400}
.aviso{margin-top:18px;padding:12px 14px;background:#FBF0EC;border-left:2px solid #B3402A;
  font-size:14px;color:#8A2F1E}

.acuse{text-align:center;padding:44px 26px 34px}
.acuse-marca{width:52px;height:52px;margin:0 auto 20px;border:1px solid var(--oro);
  border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--oro)}
.acuse-marca svg{width:24px;height:24px}
.acuse h2{margin-bottom:6px}
.acuse .ref{display:inline-block;margin:16px 0 8px;padding:8px 18px;border:1px solid var(--linea2);
  font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.acuse p{margin:0 auto;max-width:38ch;color:var(--tinta2);font-size:14.5px}
.acuse .ficha-btns{margin-top:26px}
.acuse textarea{margin-top:18px;width:100%;border:1px solid var(--linea);padding:12px;
  font-size:13px;font-family:var(--sans);resize:vertical}

/* ══════════════════════════════════════════════════════ pantallas grandes ══ */
@media (min-width:640px){
  .rejilla{grid-template-columns:repeat(3,1fr)}
  .carta{grid-template-columns:repeat(4,1fr)}
  .capa{align-items:center}
  .capa-caja{max-height:90vh}
  .ficha-btns{grid-template-columns:1fr 1fr}
  .acuse .ficha-btns{grid-template-columns:1fr}
}

@media (min-width:1000px){
  .cab-menu{display:none}
  .menu-movil{display:none !important}
  .nav{display:flex}
  .rejilla{grid-template-columns:repeat(3,1fr)}
  .carta{grid-template-columns:repeat(6,1fr)}
  .pie-in{grid-template-columns:1.5fr 1fr 1.2fr}
}
