/* ============================================================
   Michel's Pickups — hoja de estilos del sitio
   Paleta del demo original; los tonos de texto se oscurecieron
   hasta pasar WCAG AA, los de relleno quedaron igual.
   ============================================================ */
:root{
  --cream:#F3E4CE;
  --paper:#FBF6EA;
  --navy:#1F3A5F;
  --navy-deep:#152943;
  --orange:#E07B2E;         /* solo rellenos, nunca texto chico */
  --orange-text:#9B4508;    /* 5,99:1 sobre paper */
  --orange-claro:#EE9B5A;   /* texto naranja sobre azul: 5,18:1 sobre navy */
  --ink:#2B2420;
  --muted:#544639;
  --mono-3:#655640;
  --line:#8A7B60;
  --line-soft:#DCCBA8;
  --cream-on-navy:#E8DCC0;
  --ok:#1F6B3F;

  --wrap:1180px;
  --r:3px;
  --f-head:'Bitter',Georgia,'Times New Roman',serif;
  --f-mono:'Space Mono','SF Mono',Menlo,Consolas,monospace;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}
body{
  margin:0;background-color:var(--cream);
  background-image:radial-gradient(rgba(43,36,32,.055) 1px, transparent 1px);
  background-size:3px 3px;
  color:var(--ink);font-family:var(--f-head);font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100vh;
}
img{max-width:100%;display:block;}
a{color:inherit;}
/* [hidden] tiene que ganarle a cualquier display:flex/grid de los componentes */
[hidden]{display:none!important;}
:focus-visible{outline:2px solid var(--orange-text);outline-offset:3px;border-radius:2px;}
.navbar :focus-visible,footer :focus-visible,.mobile-cta :focus-visible,.demo-note :focus-visible,.toast :focus-visible,header.site :focus-visible{outline-color:var(--cream-on-navy);} /* 10,79:1 sobre navy-deep */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:24px;}
@media (max-width:520px){.wrap{padding-inline:16px;}}
.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;top:0;left:0;z-index:100;background:var(--orange);color:var(--navy-deep);padding:10px 16px;font-family:var(--f-mono);font-size:13px;font-weight:700;}
.skip:focus{width:auto;height:auto;overflow:visible;clip-path:none;top:8px;left:8px;}
h1,h2,h3,h4{font-family:var(--f-head);margin:0;line-height:1.22;text-wrap:balance;}
p{margin:0;}
main{flex:1;overflow-x:clip;} /* la cinta inclinada no puede empujar la página hacia los costados */
.tag{display:inline-block;font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-text);border:1.5px solid var(--orange-text);padding:4px 11px;border-radius:2px;}
.nota{font-family:var(--f-mono);font-size:12px;color:var(--mono-3);line-height:1.6;}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}

/* Cinta: la banda angulada del logo, reusada como recurso gráfico */
.cinta{
  display:inline-block;background:var(--orange);color:var(--navy-deep);
  font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:6px 22px;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
}

/* ---------- Barra superior fija ---------- */
.navbar{position:sticky;top:0;z-index:40;background:var(--navy-deep);border-bottom:6px solid var(--orange);}
.navbar .wrap{display:flex;align-items:center;gap:14px;padding-block:10px;}
.navbar .marcas{flex:none;display:flex;align-items:center;gap:12px;}
.navbar .marca-nav{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-decoration:none;min-height:44px;}
.navbar .marca-nav img{width:112px;height:29px;}
.navbar .marca-sub{font-family:var(--f-mono);font-size:10px;font-weight:700;letter-spacing:.42em;text-transform:uppercase;color:var(--orange-claro);line-height:1;padding-left:.42em;}
.navbar .marca-sep{width:1px;align-self:stretch;margin-block:6px;background:rgba(232,220,192,.3);}
.navbar .marca-rep{flex:none;display:flex;flex-direction:column;justify-content:center;min-height:44px;padding:4px 8px;border-radius:var(--r);font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);text-decoration:none;line-height:1.25;}
.navbar .marca-rep span{font-size:10px;font-weight:400;letter-spacing:.06em;color:var(--cream-on-navy);text-transform:none;}
.navbar .marca-rep:hover{background:rgba(255,255,255,.1);}
.navbar .marca-rep[aria-current="page"]{color:var(--orange-claro);box-shadow:inset 0 -2px 0 var(--orange);}
.navbar nav{display:flex;gap:2px;flex-wrap:wrap;}
.navbar nav a{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cream-on-navy);text-decoration:none;padding:9px 10px;border-radius:var(--r);}
.navbar nav a:hover{color:var(--cream);background:rgba(255,255,255,.1);}
.navbar nav a[aria-current="page"]{color:var(--orange);box-shadow:inset 0 -2px 0 var(--orange);}
.nav-acts{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none;}
@media (max-width:1040px){.navbar nav{display:none;}}

/* Botón del carrito con contador */
.cart-btn{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border-radius:var(--r);border:2px solid var(--cream-on-navy);background:transparent;color:var(--cream);font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;}
.cart-btn:hover{background:rgba(255,255,255,.12);}
.cart-btn svg{width:17px;height:17px;flex:none;}
.cart-btn .n{min-width:21px;height:21px;padding:0 5px;border-radius:11px;background:var(--orange);color:var(--navy-deep);display:grid;place-items:center;font-size:12px;font-weight:700;}
.cart-btn .n[hidden]{display:none;}
@media (max-width:560px){
  /* A 320px el logo + dos botones con texto no entran: quedan los iconos */
  .nav-acts .txt{display:none;}
  .nav-acts .btn,.cart-btn{padding-inline:13px;}
  .navbar .wrap{gap:10px;}
}
@media (max-width:560px){.navbar .marca-nav img{width:96px;height:25px;}.navbar .marca-rep{padding-inline:6px;}.navbar .marcas{gap:9px;}}
@media (max-width:360px){.navbar .marca-nav img{width:80px;height:21px;}.navbar .marca-sub{font-size:9px;letter-spacing:.3em;}.navbar .marca-rep span{display:none;}.navbar .marcas{gap:7px;}}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-mono);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:12px 18px;border-radius:var(--r);border:2px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease;min-height:44px;}
.btn-primary{background:var(--orange);color:var(--navy-deep);border-color:var(--orange);}
.btn-primary:hover{background:var(--orange-text);border-color:var(--orange-text);color:var(--cream);}
.btn-navy{background:var(--navy);color:var(--cream);border-color:var(--navy);}
.btn-navy:hover{background:var(--orange-text);border-color:var(--orange-text);}
.btn-ghost{border-color:var(--line);color:var(--ink);background:transparent;}
.btn-ghost:hover{border-color:var(--navy);background:var(--paper);}
.btn-sm{padding:9px 13px;font-size:12px;min-height:44px;}
.btn-lg{padding:15px 26px;font-size:14px;min-height:52px;}
.btn[disabled]{opacity:.45;cursor:not-allowed;}
.btn svg{width:15px;height:15px;flex:none;}

/* ---------- Aviso demo ---------- */
.demo-note{background:var(--navy);color:var(--cream-on-navy);font-family:var(--f-mono);font-size:12px;line-height:1.55;}
.demo-note .wrap{display:flex;gap:14px;align-items:center;padding-block:6px;}
.demo-note b{color:var(--orange-claro);}
.demo-note p{flex:1;}
.demo-note button{flex:none;background:none;border:1px solid rgba(232,220,192,.45);color:var(--cream-on-navy);font:inherit;cursor:pointer;padding:3px 12px;min-height:44px;border-radius:var(--r);}
.demo-note button:hover{background:rgba(255,255,255,.1);color:var(--cream);}
@media (max-width:700px){.demo-note .solo-ancho{display:none;}}

/* ---------- Migas ---------- */
.migas{font-family:var(--f-mono);font-size:12px;color:var(--mono-3);padding-block:16px 0;}
.migas ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.migas li::after{content:'/';margin-left:6px;color:var(--mono-3);}
.migas li:last-child::after{content:none;}
.migas a{color:var(--mono-3);text-decoration:underline;text-underline-offset:2px;}
.migas a:hover{color:var(--orange-text);}
.migas [aria-current]{color:var(--ink);}

/* ---------- Cabecera de página ---------- */
.page-head{padding-block:26px 6px;}
.page-head h1{font-size:clamp(27px,4vw,40px);color:var(--navy-deep);font-weight:800;margin-bottom:12px;}
.page-head p.lede{font-size:17px;color:var(--muted);line-height:1.62;max-width:64ch;}
.page-head .cinta{margin-bottom:16px;}

/* ---------- Portada ---------- */
header.site{
  position:relative;overflow:hidden;text-align:center;padding:40px 24px 34px;
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);
}
header.site .filigrana{
  position:absolute;left:50%;top:50%;width:min(820px,150%);transform:translate(-50%,-50%);
  opacity:.07;pointer-events:none;
}
header.site .marca{
  position:relative;width:min(340px,76vw);height:auto;margin:0 auto 18px;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.45));
}
header.site .lema{position:relative;color:var(--orange-claro);font-family:var(--f-mono);font-size:13px;font-weight:700;font-style:italic;}
header.site .sub{position:relative;color:var(--cream-on-navy);font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-top:8px;}

.hero{max-width:820px;margin:0 auto;padding:40px 24px 8px;text-align:center;}
.hero h2{font-size:clamp(26px,3.8vw,38px);color:var(--navy-deep);margin:18px 0 14px;font-weight:800;}
.hero p.lede{font-size:17px;color:var(--muted);line-height:1.62;max-width:62ch;margin:0 auto;}
.hero-cta{display:flex;flex-wrap:wrap;gap:11px;justify-content:center;margin-top:26px;}

/* ---------- Banda de garantías ---------- */
.band{max-width:var(--wrap);margin:36px auto 0;padding-inline:24px;}
.band-inner{background:var(--paper);border:1px solid var(--line-soft);border-radius:6px;display:grid;grid-template-columns:1fr;overflow:hidden;}
@media (min-width:700px){.band-inner{grid-template-columns:repeat(4,1fr);}}
.band-inner div{padding:16px 18px;border-bottom:1px solid var(--line-soft);}
.band-inner div:last-child{border-bottom:none;}
@media (min-width:700px){.band-inner div{border-bottom:none;border-right:1px solid var(--line-soft);}.band-inner div:last-child{border-right:none;}}
.band-inner b{display:block;font-family:var(--f-mono);font-size:13px;font-weight:700;color:var(--navy-deep);margin-bottom:4px;}
.band-inner span{font-family:var(--f-mono);font-size:12px;color:var(--mono-3);line-height:1.55;}

/* ---------- Secciones ---------- */
.section{padding-block:clamp(34px,4.5vw,52px);}
.section-label{display:flex;align-items:center;gap:16px;margin-bottom:10px;}
.section-label h2{font-size:clamp(20px,2.4vw,25px);color:var(--navy-deep);white-space:nowrap;font-weight:700;}
.section-label .line{flex:1;height:1px;background:var(--line-soft);}
.section-label .tag{white-space:nowrap;}
@media (max-width:660px){
  .section-label{flex-wrap:wrap;gap:10px;}
  .section-label h2{white-space:normal;flex:1 1 100%;}
  .section-label .line{display:none;}
}
.section-intro{color:var(--muted);font-size:16px;max-width:64ch;margin-bottom:26px;}

/* ---------- Filtros ---------- */
.filters{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:26px;align-items:flex-end;}
.fgroup{display:flex;flex-direction:column;gap:9px;}
.fgroup > span{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mono-3);}
.fopts{display:flex;flex-wrap:wrap;gap:8px;}
.chip{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;background:transparent;border:1.5px solid var(--line);color:var(--ink);padding:9px 14px;border-radius:var(--r);cursor:pointer;min-height:44px;transition:background .15s,border-color .15s,color .15s;}
.chip:hover{background:var(--paper);border-color:var(--navy);}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--cream);font-weight:700;}
.count{font-family:var(--f-mono);font-size:12.5px;color:var(--mono-3);margin-left:auto;padding-bottom:10px;}

/* ---------- Grilla de productos ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:28px;}
.card{background:var(--paper);border:1px solid var(--line-soft);border-radius:6px;box-shadow:0 6px 18px rgba(31,58,95,.10);overflow:hidden;position:relative;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(31,58,95,.18);}
.card .ribbon{position:absolute;top:16px;left:-36px;transform:rotate(-45deg);z-index:2;font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 42px;box-shadow:0 2px 6px rgba(0,0,0,.25);}
.card .ribbon.vintage{background:var(--orange);color:var(--navy-deep);}
.card .ribbon.medida{background:var(--navy);color:var(--cream);}
.card .ribbon.eco{background:var(--navy-deep);color:var(--cream-on-navy);}
.card .photo-wrap{position:relative;overflow:hidden;background:var(--navy-deep);display:block;}
.card .photo-wrap img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;}
.card .tag-hole{position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;background:rgba(21,41,67,.45);border:2px solid rgba(243,228,206,.85);z-index:2;}
.card .nfotos{position:absolute;right:12px;bottom:12px;z-index:2;background:rgba(21,41,67,.82);color:var(--cream);font-family:var(--f-mono);font-size:12px;padding:4px 9px;border-radius:2px;}
.card .body{padding:20px;display:flex;flex-direction:column;flex:1;gap:12px;}
.card .kicker{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mono-3);}
.card h3{font-size:20px;color:var(--navy-deep);font-weight:700;}
.card h3 a{text-decoration:none;}
.card h3 a:hover{color:var(--orange-text);}
.card .desc{font-size:14.5px;color:var(--muted);line-height:1.55;}
.card .chips{display:flex;flex-wrap:wrap;gap:6px;}
.card .chips span{font-family:var(--f-mono);font-size:12px;color:var(--navy-deep);background:var(--cream);border:1px solid var(--line-soft);padding:3px 8px;border-radius:2px;}
.footer-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line-soft);}
@media (max-width:560px){
  /* Dos por fila en el teléfono. El detalle largo vive en la ficha del producto. */
  .grid{grid-template-columns:1fr 1fr;gap:12px;}
  .card .body{padding:13px;gap:8px;}
  .card h3{font-size:16px;}
  .card .kicker{font-size:12px;letter-spacing:.1em;}
  .card .desc,.card .chips{display:none;}
  .card .ribbon{font-size:12px;letter-spacing:.06em;padding:3px 40px;top:14px;left:-42px;}
  .card .nfotos{font-size:12px;padding:3px 7px;right:8px;bottom:8px;}
  .card .tag-hole{width:16px;height:16px;top:10px;right:10px;}
  .footer-row{flex-direction:column;align-items:stretch;gap:10px;padding-top:11px;}
  .footer-row .precio b{font-size:16px;}
  .footer-row .btn{width:100%;}
}
.precio{font-family:var(--f-mono);font-variant-numeric:tabular-nums;}
.precio b{display:block;font-size:18px;font-weight:700;color:var(--orange-text);}
.precio small{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mono-3);margin-top:3px;}

/* ---------- Tarjetas de categoría ---------- */
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;}
@media (max-width:560px){
  /* Dos columnas también en el teléfono: si no, la home se hace eterna */
  .cats{grid-template-columns:1fr 1fr;gap:12px;}
  .cat{min-height:190px;}
  .cat .cat-body{padding:13px;}
  .cat h3{font-size:16px;}
  .cat p{display:none;}
}
.cat{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:230px;border-radius:6px;overflow:hidden;text-decoration:none;background:var(--navy-deep);border:1px solid var(--line-soft);box-shadow:0 6px 18px rgba(31,58,95,.10);transition:transform .2s,box-shadow .2s;}
.cat:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(31,58,95,.20);}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58;}
.cat .cat-body{position:relative;padding:18px;background:linear-gradient(180deg,rgba(21,41,67,0) 0%,rgba(21,41,67,.92) 46%);}
.cat h3{font-size:20px;color:var(--cream);font-weight:700;margin-bottom:5px;}
.cat p{font-family:var(--f-mono);font-size:12px;color:var(--cream-on-navy);line-height:1.55;}
.cat .n{display:inline-block;margin-top:9px;font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-claro);}

/* ---------- Página de producto ---------- */
.prod{display:grid;grid-template-columns:1fr;gap:34px;padding-block:24px 8px;align-items:start;}
/* Sin esto la tira de miniaturas fija el ancho mínimo de la columna y desborda */
.prod > *{min-width:0;}
@media (min-width:900px){.prod{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:46px;}}
.principal-wrap{position:relative;background:var(--navy-deep);border:1px solid var(--line-soft);border-radius:6px;overflow:hidden;}
/* La foto entera, sin recortes; en el teléfono no pasa de 62% de la pantalla */
.galeria .principal{display:block;width:100%;height:auto;aspect-ratio:3/4;max-height:min(78vh,760px);object-fit:contain;cursor:zoom-in;}
@media (max-width:899px){.galeria .principal{max-height:62vh;}}
.ampliar{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 14px;border-radius:22px;border:1.5px solid rgba(243,228,206,.7);background:rgba(21,41,67,.82);color:var(--cream);font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(4px);}
.ampliar:hover{background:var(--orange-text);border-color:var(--orange-text);}
.ampliar svg{width:17px;height:17px;}
.foto-n{position:absolute;left:12px;bottom:12px;background:rgba(21,41,67,.82);color:var(--cream);font-family:var(--f-mono);font-size:12px;padding:4px 10px;border-radius:12px;}
.miniaturas{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px;}
.miniaturas button{flex:none;width:62px;height:62px;padding:0;border:2px solid var(--line);border-radius:3px;overflow:hidden;cursor:pointer;background:var(--navy-deep);}
.miniaturas button[aria-current="true"]{border-color:var(--orange-text);}
.miniaturas img{width:100%;height:100%;object-fit:cover;}
.prod-info{display:flex;flex-direction:column;gap:20px;}
.prod-info h1{font-size:clamp(25px,3.4vw,34px);color:var(--navy-deep);font-weight:800;}
.prod-info .kicker{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mono-3);margin-bottom:8px;}
.prod-info .largo{font-size:15.5px;color:var(--ink);line-height:1.68;}
.prod-info h2.sub{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--mono-3);margin-bottom:10px;}
.spec-list{margin:0;border-top:1px dashed var(--line);}
.spec-list > div{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line-soft);align-items:baseline;}
.spec-list dt{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-deep);min-width:0;overflow-wrap:anywhere;}
.spec-list dd{margin:0;font-family:var(--f-mono);font-size:13px;color:var(--muted);line-height:1.55;}
.opt-group + .opt-group{margin-top:18px;}
.opts{display:flex;flex-wrap:wrap;gap:8px;}
.opt{font-family:var(--f-mono);font-size:12.5px;background:var(--cream);border:1.5px solid var(--line);color:var(--ink);padding:10px 14px;border-radius:var(--r);cursor:pointer;min-height:44px;text-align:left;transition:border-color .15s,background .15s;}
.opt:hover{border-color:var(--navy);}
.opt[aria-pressed="true"]{border-color:var(--orange-text);background:var(--paper);font-weight:700;}
.opt small{color:var(--orange-text);margin-left:7px;font-weight:700;}
.comprar{background:var(--paper);border:1px solid var(--line-soft);border-radius:6px;padding:20px;display:flex;flex-direction:column;gap:16px;}
.comprar .fila{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:space-between;}
.comprar .precio b{font-size:27px;}
.comprar .acciones{display:flex;gap:10px;flex-wrap:wrap;}
.comprar .acciones .btn{flex:1 1 auto;}

/* Selector de cantidad */
.cant-sel{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--cream);}
.cant-sel button{width:44px;height:44px;border:none;background:none;color:var(--navy-deep);font-size:19px;line-height:1;cursor:pointer;font-family:var(--f-mono);}
.cant-sel button:hover{background:var(--line-soft);}
.cant-sel input{width:48px;height:44px;border:none;background:none;text-align:center;font-family:var(--f-mono);font-size:15px;font-weight:700;color:var(--ink);-moz-appearance:textfield;}
.cant-sel input::-webkit-outer-spin-button,.cant-sel input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

/* ---------- Servicios ---------- */
.servicios{display:grid;gap:18px;grid-template-columns:1fr;}
@media (min-width:760px){.servicios{grid-template-columns:repeat(3,1fr);}}
.servicio{background:var(--paper);border:1px solid var(--line-soft);border-left:4px solid var(--orange);border-radius:0 6px 6px 0;padding:22px;display:flex;flex-direction:column;gap:10px;}
.servicio h3{font-size:19px;color:var(--navy-deep);font-weight:700;}
.servicio p{font-size:14.5px;color:var(--muted);line-height:1.6;flex:1;}

/* ---------- Lista de precios ---------- */
.precios{border-top:1px solid var(--line-soft);}
.precios details{border-bottom:1px solid var(--line-soft);}
.precios summary{cursor:pointer;padding:15px 0;display:flex;align-items:center;gap:12px;list-style:none;min-height:50px;font-family:var(--f-mono);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy-deep);}
.precios summary::-webkit-details-marker{display:none;}
.precios summary .cant{margin-left:auto;font-weight:400;color:var(--mono-3);text-transform:none;letter-spacing:0;}
.precios summary::after{content:'+';color:var(--orange-text);font-size:17px;flex:none;margin-left:12px;}
.precios details[open] summary::after{content:'\2013';}
.precios summary:hover{color:var(--orange-text);}
.tabla{width:100%;border-collapse:collapse;margin-bottom:16px;}
.tabla th{text-align:left;font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mono-3);font-weight:700;padding:6px 0;border-bottom:1px solid var(--line-soft);}
.tabla th:last-child,.tabla th:nth-child(2){text-align:right;}
.tabla td{padding:10px 0;border-bottom:1px dashed var(--line-soft);font-size:14.5px;color:var(--muted);vertical-align:middle;}
.tabla td.p{text-align:right;white-space:nowrap;font-family:var(--f-mono);font-size:13.5px;color:var(--orange-text);font-weight:700;font-variant-numeric:tabular-nums;padding-left:16px;}
.tabla td.a{text-align:right;white-space:nowrap;padding-left:14px;width:1%;}
.tabla tr:last-child td{border-bottom:none;}
@media (max-width:560px){
  /* Tres columnas no entran en un teléfono: cada repuesto pasa a ser un bloque */
  .tabla,.tabla tbody,.tabla tr,.tabla td{display:block;width:auto;}
  .tabla thead{display:none;}
  .tabla tr{padding:13px 0;border-bottom:1px dashed var(--line-soft);}
  .tabla tr:last-child{border-bottom:none;}
  .tabla td{border:none;padding:0 0 8px;}
  .tabla td.p,.tabla td.a{text-align:left;padding-left:0;width:auto;}
  .tabla td.a{padding-bottom:0;}
}

/* ---------- Listas simples ---------- */
.rubros{display:flex;flex-wrap:wrap;gap:8px;}
.rubros span{font-family:var(--f-mono);font-size:12.5px;color:var(--navy-deep);background:var(--paper);border:1px solid var(--line-soft);padding:7px 12px;border-radius:2px;}

/* ---------- Instrumentos usados ---------- */
.usados{display:grid;gap:16px;grid-template-columns:1fr;}
@media (min-width:720px){.usados{grid-template-columns:repeat(2,1fr);}}
.usado{background:var(--paper);border:1px solid var(--line-soft);border-radius:6px;padding:20px;display:flex;flex-direction:column;gap:8px;}
.usado h3{font-size:17px;color:var(--navy-deep);font-weight:700;}
.usado p{font-size:14px;color:var(--muted);line-height:1.55;flex:1;}
.usado .u-precio{font-family:var(--f-mono);font-size:17px;font-weight:700;color:var(--orange-text);}

/* ---------- Audio ---------- */
.audio-list{display:flex;flex-direction:column;border-top:1px solid var(--line-soft);}
.audio-row{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line-soft);}
.audio-btn{flex:none;width:46px;height:46px;border-radius:50%;border:2px solid var(--navy);background:var(--paper);color:var(--navy);cursor:pointer;display:grid;place-items:center;}
.audio-btn:hover{background:var(--navy);color:var(--cream);}
.audio-btn svg{width:15px;height:15px;}
.audio-info{flex:1;min-width:0;}
.audio-info b{display:block;font-size:17px;color:var(--navy-deep);font-weight:700;}
.audio-info span{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mono-3);}
.audio-wave{flex:none;display:flex;align-items:flex-end;gap:2px;height:26px;width:92px;}
.audio-wave i{flex:1;background:#D9C9A4;border-radius:1px;}
@media (max-width:560px){.audio-wave{display:none;}}

/* ---------- Proceso y firma ---------- */
.proceso{display:grid;grid-template-columns:1fr;counter-reset:paso;}
@media (min-width:760px){.proceso{grid-template-columns:repeat(4,1fr);}}
.paso{padding:20px 22px 22px 0;border-top:2px solid var(--navy);counter-increment:paso;}
.paso::before{content:counter(paso,decimal-leading-zero);display:block;font-family:var(--f-mono);font-size:12.5px;font-weight:700;letter-spacing:.14em;color:var(--orange-text);margin-bottom:9px;}
.paso h3{font-size:19px;color:var(--navy-deep);margin-bottom:8px;font-weight:700;}
.paso p{font-size:14.5px;color:var(--muted);line-height:1.55;}
.firma{margin-top:34px;padding-top:24px;border-top:1px dashed var(--line);display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.firma img{width:210px;height:54px;opacity:.9;}
@media (max-width:560px){.firma{align-items:flex-start;}.firma img{width:160px;height:41px;}}

/* ---------- Diccionario / FAQ ---------- */
.dicc{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line-soft);}
@media (min-width:780px){.dicc{grid-template-columns:1fr 1fr;column-gap:40px;}}
.dicc details{border-bottom:1px solid var(--line-soft);}
.dicc summary{cursor:pointer;padding:15px 0;display:flex;align-items:center;gap:12px;list-style:none;min-height:48px;font-family:var(--f-mono);font-size:13px;font-weight:700;color:var(--navy-deep);}
.dicc summary::-webkit-details-marker{display:none;}
.dicc summary::after{content:'+';margin-left:auto;color:var(--orange-text);font-size:17px;flex:none;}
.dicc details[open] summary::after{content:'\2013';}
.dicc summary:hover{color:var(--orange-text);}
.dicc p{padding:0 0 16px;font-size:14.5px;color:var(--muted);line-height:1.6;max-width:56ch;}
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line-soft);max-width:78ch;}
.faq details{border-bottom:1px solid var(--line-soft);}
.faq summary{cursor:pointer;padding:16px 0;font-size:18px;font-weight:700;color:var(--navy-deep);display:flex;gap:14px;align-items:center;list-style:none;min-height:50px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';margin-left:auto;color:var(--orange-text);font-family:var(--f-mono);font-size:18px;flex:none;}
.faq details[open] summary::after{content:'\2013';}
.faq summary:hover{color:var(--orange-text);}
.faq p{padding:0 0 18px;color:var(--muted);font-size:15.5px;line-height:1.65;max-width:62ch;}

/* ---------- Contacto ---------- */
.contacto{display:grid;gap:16px;grid-template-columns:1fr;}
@media (min-width:700px){.contacto{grid-template-columns:repeat(3,1fr);}}
.vcard{background:var(--paper);border:1px solid var(--line-soft);border-radius:6px;padding:22px;display:flex;flex-direction:column;gap:7px;text-decoration:none;transition:border-color .16s,box-shadow .16s;}
.vcard:hover{border-color:var(--orange-text);box-shadow:0 8px 20px rgba(31,58,95,.14);}
.vcard span{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mono-3);}
.vcard b{font-size:21px;color:var(--navy-deep);font-weight:700;}
.vcard small{font-family:var(--f-mono);font-size:12.5px;color:var(--muted);}

/* ============================================================
   CARRITO Y CHECKOUT
   ============================================================ */
.tienda{display:grid;grid-template-columns:1fr;gap:30px;align-items:start;padding-block:10px 20px;}
/* Sin esto, un texto largo sin cortes estira la columna y desborda la página */
.tienda > *{min-width:0;}
@media (min-width:920px){.tienda{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:40px;}}

.linea-items{border-top:1px solid var(--line-soft);}
.item{display:grid;grid-template-columns:86px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line-soft);align-items:start;}
.item .ph{width:86px;height:110px;object-fit:cover;background:var(--navy-deep);border-radius:4px;}
.item .ph.sin{display:grid;place-items:center;color:var(--cream-on-navy);font-family:var(--f-mono);font-size:12px;text-align:center;padding:6px;line-height:1.35;}
.item .it-body{display:flex;flex-direction:column;gap:8px;min-width:0;}
.item h3{font-size:17.5px;color:var(--navy-deep);font-weight:700;}
.item h3 a{text-decoration:none;}
.item h3 a:hover{color:var(--orange-text);}
.item .it-opts{font-family:var(--f-mono);font-size:12px;color:var(--mono-3);line-height:1.65;}
.item .it-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:2px;}
.item .it-precio{font-family:var(--f-mono);font-size:16px;font-weight:700;color:var(--orange-text);font-variant-numeric:tabular-nums;}
.item .it-precio small{display:block;font-size:12px;font-weight:400;color:var(--mono-3);}
.quitar{background:none;border:none;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mono-3);cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px 8px;min-height:44px;}
.quitar:hover{color:#8C2F13;}

.resumen{background:var(--paper);border:1px solid var(--line-soft);border-radius:6px;padding:24px;position:sticky;top:96px;display:flex;flex-direction:column;gap:16px;}
.resumen h2{font-family:var(--f-mono);font-size:13px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--navy-deep);}
.resumen dl{margin:0;display:flex;flex-direction:column;gap:9px;}
.resumen dl > div{display:flex;justify-content:space-between;gap:14px;align-items:baseline;font-family:var(--f-mono);font-size:13.5px;color:var(--muted);}
.resumen dl dt{flex:1;min-width:0;}
.resumen dl dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;}
.resumen .desc dd,.resumen .desc dt{color:var(--ok);}
.resumen .total{border-top:1px solid var(--line-soft);padding-top:14px;margin-top:4px;}
.resumen .total dt{font-size:14px;font-weight:700;color:var(--navy-deep);text-transform:uppercase;letter-spacing:.08em;}
.resumen .total dd{font-size:23px;font-weight:700;color:var(--orange-text);}
.resumen .btn{width:100%;}
@media (max-width:919px){
  .resumen{position:static;}
  /* En el teléfono, antes de enviar se ve primero qué se está pidiendo */
  .tienda.enviar .resumen{order:-1;}
}

.vacio{text-align:center;padding:56px 20px;background:var(--paper);border:1px dashed var(--line);border-radius:6px;display:flex;flex-direction:column;gap:14px;align-items:center;}
.vacio h2{font-size:22px;color:var(--navy-deep);font-weight:700;}
.vacio p{color:var(--muted);max-width:46ch;}

/* Pasos del checkout */
.pasos{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 28px;padding:0;counter-reset:pp;}
.pasos li{flex:1 1 0;min-width:96px;counter-increment:pp;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mono-3);border-top:3px solid var(--line-soft);padding-top:10px;}
.pasos li::before{content:counter(pp,decimal-leading-zero) ' · ';font-weight:700;}
.pasos li[aria-current="step"]{color:var(--navy-deep);border-top-color:var(--orange);font-weight:700;}
.pasos li.hecho{color:var(--ok);border-top-color:var(--ok);}

fieldset{border:1px solid var(--line-soft);border-radius:6px;background:var(--paper);padding:22px;margin:0 0 20px;}
legend{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--navy-deep);padding:0 8px;}
.campos{display:grid;grid-template-columns:1fr;gap:16px;}
@media (min-width:620px){.campos.dos{grid-template-columns:1fr 1fr;}}
.campo{display:flex;flex-direction:column;gap:6px;}
.campo label{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mono-3);}
.campo input,.campo select,.campo textarea{
  font-family:var(--f-head);font-size:16px;color:var(--ink);background:var(--cream);
  border:1.5px solid var(--line);border-radius:var(--r);padding:11px 13px;min-height:46px;width:100%;
}
.campo textarea{min-height:92px;resize:vertical;line-height:1.55;}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--orange-text);}
.campo .hint{font-family:var(--f-mono);font-size:12px;color:var(--mono-3);}
.campo .err{font-family:var(--f-mono);font-size:12px;color:#8C2F13;font-weight:700;}
.campo.malo input,.campo.malo select{border-color:#8C2F13;background:#FBEEE8;}

.opciones-pago{display:flex;flex-direction:column;gap:10px;}
.radio{display:flex;gap:13px;align-items:flex-start;border:1.5px solid var(--line);border-radius:var(--r);padding:14px 16px;cursor:pointer;background:var(--cream);transition:border-color .15s,background .15s;}
.radio:hover{border-color:var(--navy);}
.radio:has(input:checked){border-color:var(--orange-text);background:var(--paper);}
.radio input{margin:4px 0 0;width:18px;height:18px;accent-color:var(--orange-text);flex:none;}
.radio .rb{display:flex;flex-direction:column;gap:3px;min-width:0;}
.radio b{font-size:16px;color:var(--navy-deep);font-weight:700;}
.radio small{font-family:var(--f-mono);font-size:12px;color:var(--muted);line-height:1.55;}
.radio .rp{margin-left:auto;font-family:var(--f-mono);font-size:13px;font-weight:700;color:var(--orange-text);white-space:nowrap;padding-left:10px;}
.radio.off{opacity:.55;cursor:not-allowed;border-style:dashed;}
.radio.off:hover{border-color:var(--line);}

/* Líneas del resumen del checkout */
.res-items{display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--line-soft);padding-bottom:14px;}
.ri{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-family:var(--f-mono);font-size:13px;color:var(--ink);}
.ri > span{min-width:0;}
.ri small{display:block;font-size:12px;color:var(--mono-3);line-height:1.5;margin-top:2px;}
.ri b{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--navy-deep);}
.resumen .rec dd,.resumen .rec dt{color:var(--orange-text);}

.acciones-form{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:6px;}

/* Confirmación */
.ok-panel{background:var(--paper);border:1px solid var(--line-soft);border-top:5px solid var(--ok);border-radius:6px;padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:18px;max-width:72ch;margin-inline:auto;}
.ok-panel .nro{font-family:var(--f-mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mono-3);}
.ok-panel .nro b{color:var(--navy-deep);font-size:18px;letter-spacing:.06em;}
.ok-panel h1{font-size:clamp(25px,3.4vw,33px);color:var(--navy-deep);font-weight:800;}
.ok-panel .detalle{border-top:1px dashed var(--line);padding-top:16px;font-family:var(--f-mono);font-size:13px;color:var(--muted);line-height:1.75;white-space:pre-wrap;}
.ok-acc{display:flex;flex-wrap:wrap;gap:12px;}

/* Aviso */
.aviso{background:var(--paper);border:1px solid var(--line-soft);border-left:4px solid var(--orange);border-radius:0 6px 6px 0;padding:16px 18px;font-family:var(--f-mono);font-size:12.5px;color:var(--muted);line-height:1.65;}
.aviso b{color:var(--navy-deep);}

/* Aviso flotante al agregar al carrito */
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,120%);z-index:60;background:var(--navy-deep);color:var(--cream);border:2px solid var(--orange);border-radius:var(--r);padding:13px 20px;font-family:var(--f-mono);font-size:13px;display:flex;align-items:center;gap:14px;box-shadow:0 12px 30px rgba(21,41,67,.4);transition:transform .25s ease;max-width:min(520px,92vw);}
.toast.ver{transform:translate(-50%,0);}
.toast a{color:var(--orange-claro);font-weight:700;white-space:nowrap;}
@media (max-width:980px){.toast{bottom:88px;}}

/* ---------- Pie ---------- */
footer{background:var(--navy-deep);color:var(--cream-on-navy);padding:36px 24px calc(30px + env(safe-area-inset-bottom,0px));margin-top:44px;}
footer .wrap{display:grid;grid-template-columns:1fr;gap:28px;padding-inline:0;}
@media (min-width:760px){footer .wrap{grid-template-columns:1.4fr 1fr 1fr;gap:34px;}}
footer .fb img.logo{width:96px;height:auto;margin-bottom:14px;}
footer .fb img.wm{width:176px;height:68px;margin-bottom:8px;}
footer p{font-family:var(--f-mono);font-size:12.5px;line-height:1.7;max-width:46ch;}
footer h2{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--cream);margin-bottom:12px;}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
footer ul a{font-family:var(--f-mono);font-size:13px;color:var(--cream-on-navy);text-decoration:none;}
footer ul a:hover{color:var(--orange);text-decoration:underline;text-underline-offset:3px;}
footer .legal{grid-column:1/-1;border-top:1px solid rgba(232,220,192,.22);padding-top:18px;}
footer .legal b{color:var(--orange-claro);}

/* ---------- Barra fija en mobile ---------- */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:35;display:none;gap:10px;background:var(--navy-deep);border-top:3px solid var(--orange);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));}
.mobile-cta .btn{flex:1;}
.mobile-cta .btn-ghost{border-color:var(--cream-on-navy);color:var(--cream);}
.mobile-cta .btn-ghost:hover{background:rgba(255,255,255,.1);}
@media (max-width:1040px){.mobile-cta{display:flex;}body{padding-bottom:76px;}}
/* En carrito y envío del pedido la barra fija se va: su WhatsApp manda un saludo sin el pedido
   y competiría con el botón que sí lo manda. */
@media (max-width:1040px){body.sin-barra{padding-bottom:0;}body.sin-barra .mobile-cta{display:none;}}


/* ============================================================
   HOME — piezas destacadas
   ============================================================ */
html.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
html.js .rv.in{opacity:1;transform:none;}
html.sin-scroll{overflow:hidden;}

/* Hero en dos columnas: texto y fotos tipo polaroid */
.hero2{padding:clamp(34px,5vw,64px) 0 clamp(30px,4vw,48px);overflow:hidden;}
.hero2-grid{display:grid;grid-template-columns:1fr;gap:34px;align-items:center;}
@media (min-width:920px){.hero2-grid{grid-template-columns:1.05fr .95fr;gap:40px;}}
.hero2-txt h2{font-size:clamp(30px,4.6vw,52px);line-height:1.08;color:var(--navy-deep);font-weight:800;margin:18px 0 16px;letter-spacing:-.01em;}
.hero2-txt h2 em{font-style:normal;color:var(--orange-text);background:linear-gradient(transparent 62%,rgba(224,123,46,.28) 62%);padding:0 .08em;}
.hero2-txt .lede{font-size:clamp(18px,1.9vw,21px);color:var(--ink);line-height:1.5;max-width:34ch;border-left:4px solid var(--orange);padding-left:16px;}
.hero2-txt .hero-cta{justify-content:flex-start;margin-top:28px;}
.hero2-puntos{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;}
.hero2-puntos li{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-deep);display:flex;align-items:center;gap:8px;}
.hero2-puntos li::before{content:'';width:9px;height:9px;background:var(--orange);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);}
.hero2-fotos{position:relative;height:clamp(330px,44vw,500px);max-width:560px;width:100%;margin-inline:auto;}
.polaroid{position:absolute;margin:0;background:var(--paper);padding:10px 10px 34px;border:1px solid var(--line-soft);box-shadow:0 18px 40px rgba(21,41,67,.22),0 3px 8px rgba(21,41,67,.12);width:46%;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .3s;}
.polaroid img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;background:var(--navy-deep);}
.polaroid figcaption{position:absolute;left:0;right:0;bottom:9px;text-align:center;font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-deep);}
.polaroid::before{content:'';position:absolute;top:-9px;left:50%;width:62px;height:18px;transform:translateX(-50%) rotate(-3deg);background:rgba(224,123,46,.55);}
.polaroid.p1{left:25%;top:0;z-index:3;transform:rotate(-2deg);}
.polaroid.p2{left:0;top:15%;z-index:2;transform:rotate(-9deg);}
.polaroid.p3{right:0;top:20%;z-index:1;transform:rotate(8deg);}
.hero2-fotos:hover .polaroid.p1{transform:rotate(0) translateY(-10px);}
.hero2-fotos:hover .polaroid.p2{transform:rotate(-12deg) translateX(-12px);}
.hero2-fotos:hover .polaroid.p3{transform:rotate(11deg) translateX(12px);}
.sello{position:absolute;right:-2%;bottom:-2%;width:clamp(104px,13vw,138px);height:auto;z-index:4;filter:drop-shadow(0 8px 16px rgba(21,41,67,.3));}
.sello .s-fondo{fill:var(--navy-deep);}
.sello .s-aro{fill:none;stroke:var(--orange);stroke-width:2;stroke-dasharray:3 5;}
.sello .s-txt{font-family:var(--f-mono);font-size:15.5px;font-weight:700;letter-spacing:2.2px;fill:var(--cream);}
.sello .s-num{font-family:var(--f-head);font-size:36px;font-weight:800;fill:var(--orange);}
.sello .s-dias{font-family:var(--f-mono);font-size:13px;font-weight:700;letter-spacing:4px;fill:var(--cream);}
.sello .s-ent{font-family:var(--f-mono);font-size:11px;font-weight:700;letter-spacing:3px;fill:var(--orange-claro);}
.sello text.s-txt{transform-origin:100px 100px;animation:girar 22s linear infinite;}
@keyframes girar{to{transform:rotate(360deg);}}
@media (max-width:560px){.hero2-fotos{height:320px;}.polaroid{width:50%;padding:7px 7px 28px;}.polaroid figcaption{font-size:11px;bottom:7px;}}

/* Cinta de materiales en movimiento */
.cinta-mat{background:var(--navy-deep);border-block:3px solid var(--orange);overflow:hidden;padding:13px 0;transform:rotate(-1.2deg);margin:6px -10px 0;box-shadow:0 10px 24px rgba(21,41,67,.2);}
.cinta-mat-track{display:flex;width:max-content;align-items:center;animation:desfile 38s linear infinite;}
.cinta-mat span{font-family:var(--f-mono);font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);white-space:nowrap;padding:0 18px;}
.cinta-mat i{font-style:normal;color:var(--orange);font-size:13px;}
.cinta-mat:hover .cinta-mat-track{animation-play-state:paused;}
@keyframes desfile{to{transform:translateX(-50%);}}

/* Cifras */
.cifras{padding:clamp(38px,5vw,60px) 0 clamp(10px,2vw,20px);}
.cifras-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media (min-width:760px){.cifras-grid{grid-template-columns:repeat(4,1fr);}}
.cifras-grid div{border-top:3px solid var(--navy-deep);padding-top:14px;}
.cifras-grid b{display:block;font-family:var(--f-head);font-size:clamp(38px,5vw,56px);line-height:1;font-weight:800;color:var(--navy-deep);font-variant-numeric:tabular-nums;}
.cifras-grid div:nth-child(odd) b{color:var(--orange-text);}
.cifras-grid span{display:block;margin-top:8px;font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mono-3);}

/* Guitarra / Bajo */
.instr-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media (min-width:820px){.instr-grid{grid-template-columns:1.25fr 1fr;}}
.instr{position:relative;min-height:440px;border-radius:8px;overflow:hidden;background:var(--navy-deep);display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 14px 34px rgba(21,41,67,.2);}
.instr > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .4s;}
.instr:hover > img{transform:scale(1.05);opacity:.62;}
.instr-body{position:relative;padding:clamp(22px,3vw,32px);background:linear-gradient(180deg,rgba(21,41,67,0) 0%,rgba(21,41,67,.9) 34%,var(--navy-deep) 100%);display:flex;flex-direction:column;gap:12px;align-items:flex-start;}
.instr-k{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-claro);}
.instr h3{font-size:clamp(34px,4.2vw,48px);font-weight:800;color:var(--cream);line-height:1;}
.instr h3 a{text-decoration:none;}
.instr h3 a:hover{color:var(--orange-claro);}
.instr p{color:var(--cream-on-navy);font-size:15px;max-width:44ch;}
.instr-fams{list-style:none;margin:2px 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:7px;}
.instr-fams a{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1.5px solid rgba(232,220,192,.5);border-radius:18px;font-family:var(--f-mono);font-size:12px;color:var(--cream);text-decoration:none;transition:background .15s,border-color .15s,color .15s;}
.instr-fams a:hover{background:var(--orange);border-color:var(--orange);color:var(--navy-deep);}
.instr-bajo{min-height:440px;}

/* Tres líneas */
.lineas{display:grid;grid-template-columns:1fr;gap:20px;}
@media (min-width:780px){.lineas{grid-template-columns:repeat(3,1fr);}}
.linea-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line-soft);border-radius:6px;overflow:hidden;text-decoration:none;box-shadow:0 6px 18px rgba(31,58,95,.1);transition:transform .25s,box-shadow .25s;}
.linea-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(31,58,95,.2);}
.linea-foto{position:relative;display:block;overflow:hidden;background:var(--navy-deep);aspect-ratio:4/3;}
.linea-foto img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.linea-card:hover .linea-foto img{transform:scale(1.06);}
.linea-foto .ribbon{position:absolute;top:18px;left:-40px;transform:rotate(-45deg);font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 48px;box-shadow:0 2px 6px rgba(0,0,0,.25);}
.linea-foto .ribbon.vintage{background:var(--orange);color:var(--navy-deep);}
.linea-foto .ribbon.medida{background:var(--navy);color:var(--cream);}
.linea-foto .ribbon.eco{background:var(--navy-deep);color:var(--cream-on-navy);border-bottom:2px solid var(--orange);}
.linea-body{display:flex;flex-direction:column;gap:10px;padding:20px;flex:1;}
.linea-body h3{font-size:22px;color:var(--navy-deep);font-weight:800;}
.linea-body p{font-size:14.5px;color:var(--muted);line-height:1.55;flex:1;}
.linea-pie{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px dashed var(--line);padding-top:12px;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mono-3);}
.linea-pie b{font-size:15px;color:var(--orange-text);letter-spacing:0;text-transform:none;}

/* Destacado del taller */
.spot{padding:clamp(40px,6vw,76px) 0;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);position:relative;overflow:hidden;margin-top:12px;}
.spot::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(243,228,206,.07) 1px,transparent 1px);background-size:4px 4px;pointer-events:none;}
.spot-grid{position:relative;display:grid;grid-template-columns:1fr;gap:30px;align-items:center;}
@media (min-width:860px){.spot-grid{grid-template-columns:.85fr 1.15fr;gap:50px;}}
.spot-foto{position:relative;display:block;max-width:420px;width:100%;margin-inline:auto;transform:rotate(-2deg);transition:transform .4s;}
.spot-foto:hover{transform:rotate(0) scale(1.02);}
.spot-foto img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border:10px solid var(--paper);box-shadow:0 24px 50px rgba(0,0,0,.45);}
.spot-tag{position:absolute;top:22px;right:-14px;background:var(--orange);color:var(--navy-deep);font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:8px 18px;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);box-shadow:0 6px 14px rgba(0,0,0,.3);}
.spot-txt h2{font-size:clamp(28px,3.6vw,42px);color:var(--cream);font-weight:800;margin:16px 0 12px;line-height:1.12;}
.spot-txt .lede{color:var(--cream-on-navy);font-size:17px;max-width:48ch;}
.spot-specs{list-style:none;margin:24px 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(232,220,192,.2);border:1px solid rgba(232,220,192,.2);}
.spot-specs li{background:var(--navy-deep);padding:14px 16px;display:flex;flex-direction:column;gap:4px;}
.spot-specs span{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-claro);}
.spot-specs b{font-size:17px;color:var(--cream);font-weight:700;}
.spot-pie{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;}
.spot-pie .precio b{color:var(--orange-claro);font-size:30px;}
.spot-pie .precio small{color:var(--cream-on-navy);}
.spot :focus-visible{outline-color:var(--cream-on-navy);}

/* Catálogo: subtítulos de familias por instrumento */
.subfam{font-size:22px;color:var(--navy-deep);font-weight:800;margin:10px 0 16px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.subfam span{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mono-3);}
.cats + .subfam{margin-top:38px;}

/* Visor de fotos a pantalla completa */
.visor{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(10,20,34,.97);color:var(--cream);}
.visor::backdrop{background:rgba(10,20,34,.97);}
.visor-lienzo{position:absolute;inset:56px 0 0 0;display:flex;align-items:center;justify-content:center;padding:10px 12px 24px;touch-action:pinch-zoom;}
.visor-lienzo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 20px 50px rgba(0,0,0,.5);}
.visor-barra{position:absolute;top:0;left:0;right:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 18px;font-family:var(--f-mono);font-size:13px;letter-spacing:.08em;}
.visor-x{width:48px;height:48px;border-radius:50%;border:2px solid rgba(243,228,206,.6);background:transparent;color:var(--cream);font-size:26px;line-height:1;cursor:pointer;}
.visor-x:hover{background:var(--orange-text);border-color:var(--orange-text);}
.visor-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:2px solid rgba(243,228,206,.55);background:rgba(21,41,67,.7);color:var(--cream);font-size:34px;line-height:1;cursor:pointer;display:grid;place-items:center;padding-bottom:4px;}
.visor-nav:hover{background:var(--orange-text);border-color:var(--orange-text);}
.visor-nav.ant{left:12px;}
.visor-nav.sig{right:12px;}
@media (max-width:560px){.visor-nav{top:auto;bottom:18px;transform:none;}.visor-lienzo{bottom:80px;}}
.visor :focus-visible{outline-color:var(--cream-on-navy);}

@media (prefers-reduced-motion:reduce){
  .cinta-mat-track{animation:none;}
  .sello text.s-txt{animation:none;}
  html.js .rv{opacity:1;transform:none;}
}

/* ---------- Home en el teléfono: carruseles en lugar de columnas apiladas ---------- */
@media (max-width:779px){
  .lineas,.servicios{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;padding:4px 16px 14px;margin-inline:-16px;scrollbar-width:none;}
  .lineas::-webkit-scrollbar,.servicios::-webkit-scrollbar{display:none;}
  .lineas > *,.servicios > *{flex:0 0 82%;scroll-snap-align:start;}
  .linea-foto{aspect-ratio:16/10;}
  .instr{min-height:360px;}
  .instr-fams a{min-height:32px;padding:4px 10px;}
  .spot-foto{max-width:250px;}
  .spot-specs li{padding:11px 12px;}
  .spot-specs b{font-size:15px;}
  .band{margin-top:22px;}
  .band-inner{grid-template-columns:1fr 1fr;}
  .band-inner div{border-right:1px solid var(--line-soft);}
  .band-inner div:nth-child(2n){border-right:none;}
  .band-inner span{display:none;}
}

/* Modificaciones de humbuckers: tarjeta ancha en la home, mismo lenguaje que las tarjetas de línea */
.mod-card{display:grid;grid-template-columns:1fr;background:var(--navy-deep);color:var(--cream);border-radius:6px;overflow:hidden;box-shadow:0 14px 34px rgba(21,41,67,.28);border:1px solid var(--navy);}
@media (min-width:780px){.mod-card{grid-template-columns:minmax(260px,38%) 1fr;}}
.mod-foto{position:relative;overflow:hidden;background:var(--navy-deep);aspect-ratio:16/10;}
@media (min-width:780px){.mod-foto{aspect-ratio:auto;min-height:320px;}}
.mod-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.mod-card:hover .mod-foto img{transform:scale(1.05);}
.mod-foto .ribbon{position:absolute;top:18px;left:-40px;transform:rotate(-45deg);font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 48px;box-shadow:0 2px 6px rgba(0,0,0,.25);background:var(--orange);color:var(--navy-deep);}
.mod-body{display:flex;flex-direction:column;gap:12px;padding:clamp(20px,3.4vw,38px);justify-content:center;}
.mod-k{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-claro);}
.mod-body h3{font-size:clamp(26px,3.4vw,38px);font-weight:800;color:var(--cream);line-height:1.1;}
.mod-body p{font-size:15.5px;line-height:1.6;color:var(--cream-on-navy);max-width:60ch;}
.mod-body .hero-cta{justify-content:flex-start;margin-top:6px;}
.mod-body .btn-ghost{color:var(--cream);border-color:var(--cream-on-navy);}
.mod-body .btn-ghost:hover{background:var(--cream);color:var(--navy-deep);}
.mod-card :focus-visible{outline-color:var(--cream-on-navy);}
.mod-card{scroll-margin-top:96px;}

/* ============================================================
   Repuestos (A.C.M.E. Guitar Parts): misma estética del sitio
   ============================================================ */
.acme-chips{position:sticky;top:var(--nav-h,71px);z-index:30;background:var(--cream);border-bottom:1px solid var(--line-soft);box-shadow:0 6px 14px rgba(21,41,67,.06);}
.acme-chips-in{display:flex;gap:8px;overflow-x:auto;padding-block:10px;scrollbar-width:none;}
.acme-chips-in::-webkit-scrollbar{display:none;}
.acme-chips a{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 13px;border:1.5px solid var(--line);border-radius:999px;font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--navy-deep);text-decoration:none;background:var(--paper);white-space:nowrap;}
.acme-chips a span{font-size:11px;color:var(--mono-3);}
.acme-chips a:hover{border-color:var(--navy);}
.acme-chips a.on{background:var(--navy);border-color:var(--navy);color:var(--cream);}
.acme-chips a.on span{color:var(--cream-on-navy);}

.acme-main{padding-block:10px 60px;}
.acme-grupo{padding-top:34px;scroll-margin-top:140px;}
.acme-grupo h2{display:flex;align-items:baseline;gap:10px;font-size:clamp(21px,2.6vw,27px);font-weight:800;color:var(--navy-deep);margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--orange);}
.acme-grupo h2 span{font-family:var(--f-mono);font-size:12px;font-weight:700;color:var(--orange-text);}
.acme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;}
@media (max-width:520px){.acme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}}
.acme-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line-soft);border-radius:6px;overflow:hidden;box-shadow:0 4px 12px rgba(31,58,95,.08);scroll-margin-top:140px;transition:transform .2s,box-shadow .2s;}
.acme-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(31,58,95,.16);}
.acme-card:target{outline:3px solid var(--orange);outline-offset:2px;}
.acme-foto{aspect-ratio:1/1;background:var(--navy-deep);overflow:hidden;}
.acme-foto img{width:100%;height:100%;object-fit:cover;display:block;}
.acme-sinfoto{display:grid;place-items:center;height:100%;padding:12px;text-align:center;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cream-on-navy);}
.acme-body{display:flex;flex-direction:column;gap:6px;padding:12px 13px 13px;flex:1;}
.acme-body h3{font-size:15.5px;font-weight:700;color:var(--navy-deep);line-height:1.3;}
.acme-body p{font-size:13px;color:var(--muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.acme-pie{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-top:8px;}
.acme-pie b{font-family:var(--f-mono);font-size:15px;color:var(--orange-text);}
@media (max-width:520px){.acme-body{padding:10px;}.acme-body h3{font-size:14px;}.acme-body p{font-size:12.5px;-webkit-line-clamp:2;}.acme-pie .btn{width:100%;}}

/* Acceso a repuestos en la home */
.acme-banda{display:grid;grid-template-columns:1fr auto;gap:clamp(16px,3vw,32px);align-items:center;background:var(--paper);border:1px solid var(--line-soft);border-left:4px solid var(--orange);border-radius:6px;padding:clamp(18px,3vw,28px);box-shadow:0 6px 18px rgba(31,58,95,.08);}
.acme-banda h3{font-size:clamp(20px,2.4vw,26px);font-weight:800;color:var(--navy-deep);}
.acme-banda p{font-size:14.5px;color:var(--muted);margin-top:6px;line-height:1.55;max-width:62ch;}
.acme-mini{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;}
.acme-mini img{width:54px;height:54px;object-fit:cover;border-radius:4px;border:1px solid var(--line-soft);}
@media (max-width:760px){.acme-banda{grid-template-columns:1fr;justify-items:start;}}

/* Catálogo: barra Guitarra / Bajo, bien visible y fija bajo el menú */
.inst-bar{position:sticky;top:var(--nav-h,71px);z-index:30;background:var(--cream);padding-block:12px;border-bottom:1px solid var(--line-soft);box-shadow:0 8px 16px rgba(21,41,67,.06);}
.inst-tabs{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr);border:2px solid var(--navy);border-radius:6px;overflow:hidden;background:var(--paper);}
.inst-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:64px;padding:10px 12px;border:0;border-left:2px solid var(--navy);background:transparent;cursor:pointer;
  font-family:var(--f-head);font-size:clamp(17px,2.2vw,22px);font-weight:800;color:var(--navy-deep);transition:background .15s,color .15s;}
.inst-tab:first-child{border-left:0;}
.inst-tab small{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mono-3);}
.inst-tab:hover{background:rgba(31,58,95,.07);}
.inst-tab[aria-pressed="true"]{background:var(--navy);color:var(--cream);box-shadow:inset 0 -4px 0 var(--orange);}
.inst-tab[aria-pressed="true"] small{color:var(--cream-on-navy);}
.inst-tab:focus-visible{outline:3px solid var(--orange);outline-offset:-5px;}
#sets{scroll-margin-top:160px;}
@media (max-width:520px){.inst-tab{min-height:56px;padding:8px 6px;}.inst-tab small{font-size:12px;letter-spacing:.04em;}}

/* Home más liviana en el celular: "Para empezar" en carrusel, destacado más compacto */
@media (max-width:700px){
  .grid-dest{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;padding:4px 16px 14px;margin-inline:-16px;scrollbar-width:none;}
  .grid-dest::-webkit-scrollbar{display:none;}
  .grid-dest > *{flex:0 0 72%;scroll-snap-align:start;}
  .spot{padding:34px 0;}
  .spot-grid{gap:22px;}
  .spot-foto{max-width:200px;}
  .spot-specs{margin:18px 0;}
  .spot-specs li{padding:10px 12px;}
}
@media (max-width:700px){
  /* En los paneles Guitarra/Bajo los modelos ya están como botones: la frase que los repite se omite */
  .instr-body > p{display:none;}
}
/* Ficha de repuesto: descripción en lista */
.rep-lista{list-style:none;margin:0;padding:0;border-top:1px dashed var(--line-soft);}
.rep-lista li{padding:9px 0 9px 18px;border-bottom:1px dashed var(--line-soft);position:relative;font-size:15.5px;line-height:1.45;}
.rep-lista li::before{content:"";position:absolute;left:2px;top:17px;width:7px;height:7px;background:var(--orange);border-radius:1px;}
.acme-body h3 a{color:inherit;text-decoration:none;}
.acme-body h3 a:hover{text-decoration:underline;}
.acme-foto{display:block;}
