/* Juanito — Carrito · v1.0.0 · el diseño aprobado, sobre WooCommerce */
:root{
  --jcart-hueso:#fdfdfb; --jcart-tinta:#161513; --jcart-tinta2:#6b6560; --jcart-gris:#9a938c;
  --jcart-hair:#eeede8; --jcart-hairF:#ddd9d4; --jcart-arcilla:#9c5b3b;
  --jcart-bb:cubic-bezier(.4,0,.2,1);
  --jcart-seda:cubic-bezier(.16,1,.3,1);
}
body.woocommerce-cart{background:var(--jcart-hueso)}
.jcart{max-width:560px;margin:0 auto;padding:8px 18px 90px;font-family:Poppins,-apple-system,"Segoe UI",sans-serif;font-weight:300;color:var(--jcart-tinta)}
.jcart *{box-sizing:border-box}
.jcart button{font-family:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.jcart button:focus-visible,.jcart-pill:focus-visible{outline:2px solid var(--jcart-arcilla);outline-offset:1px}
.jcart button:active{transform:scale(.99);transition:transform .1s var(--jcart-seda)}
.jcart ::selection{background:var(--jcart-arcilla);color:var(--jcart-hueso)}
@keyframes jcartUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.jcart-ln,.jcart-sug{animation:jcartUp .7s var(--jcart-seda) both}
/* la entrada solo la primera vez: en cada refresco por AJAX, nada se mueve */
.jcart.ya .jcart-ln,.jcart.ya .jcart-sug{animation:none}

.jcart-cab{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px}
.jcart-tit{font-family:"Yanone Kaffeesatz",sans-serif;font-weight:600;font-size:30px;line-height:1;margin:0;color:var(--jcart-tinta)}
.jcart-cnt,.jcart-rot{font-family:Oswald,sans-serif;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--jcart-gris)}
.jcart-rot{color:var(--jcart-tinta2)}

.jcart-ln{padding:14px 0;position:relative}
.jcart-ln::after{content:"";position:absolute;left:28px;right:28px;bottom:0;height:1px;background:var(--jcart-hair)}
.jcart-lista .jcart-ln:last-child::after{display:none}
.jcart-fila{display:flex;gap:13px;align-items:flex-start}
.jcart-img{width:56px !important;height:56px !important;object-fit:cover;flex:none;background:#efece8;-webkit-user-drag:none;user-select:none;border-radius:0}
.jcart-mid{flex:1;min-width:0}
.jcart-nombre{font-size:14.5px;line-height:1.35}
.jcart-estado{font-family:Oswald,sans-serif;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:var(--jcart-gris);display:block;margin-top:3px}
.jcart-acciones{display:flex;align-items:center;gap:12px;margin-top:9px}
.jcart-qt{display:inline-flex;align-items:center;border:1px solid var(--jcart-hairF);height:30px}
.jcart-qt button{width:30px;height:30px;border:0;background:transparent;color:var(--jcart-tinta);cursor:pointer;font-size:15px;padding:0;transition:background .15s var(--jcart-bb)}
.jcart-qt button:hover{background:rgba(22,21,19,.05)}
.jcart-qt span{min-width:26px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}
.jcart-quitar{background:none;border:0;padding:6px 4px;margin:-6px -4px;font-family:Oswald,sans-serif;font-size:9.5px;letter-spacing:1.1px;text-transform:uppercase;color:var(--jcart-gris);cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .15s var(--jcart-bb)}
.jcart-quitar:hover{color:var(--jcart-arcilla)}
.jcart-der{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.jcart-pr{font-variant-numeric:tabular-nums;font-weight:500;font-size:14.5px;color:var(--jcart-tinta)}
.jcart-pr .woocommerce-Price-amount{font-weight:500}
.jcart-lapiz{width:30px;height:30px;border:0;background:none;color:var(--jcart-gris);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:color .2s var(--jcart-seda),transform .45s var(--jcart-seda)}
.jcart-lapiz:hover{color:var(--jcart-arcilla)}
.jcart-lapiz.on{color:var(--jcart-arcilla);transform:rotate(90deg)}
.jcart-lapiz svg{width:15px;height:15px}
.jcart-lapiz:active,.jcart-lapiz.on:active{transform:rotate(90deg) scale(.985)}

.jcart-opc{overflow:hidden;max-height:0;transition:max-height .6s var(--jcart-seda)}
.jcart-opc.on{max-height:300px}
.jcart-opcin{padding:12px 0 4px}
.jcart-getq{font-family:Oswald,sans-serif;font-size:9px;letter-spacing:1.3px;text-transform:uppercase;color:var(--jcart-gris);display:block;margin-bottom:6px}
.jcart-grupo{margin-bottom:10px}
.jcart-op{font-family:Oswald,sans-serif;font-size:10px;letter-spacing:1.1px;text-transform:uppercase;padding:7px 11px;border:1px solid var(--jcart-hairF);background:transparent;color:var(--jcart-tinta2);cursor:pointer;margin-right:6px;transition:all .25s var(--jcart-seda)}
.jcart-op.on{background:var(--jcart-tinta);border-color:var(--jcart-tinta);color:var(--jcart-hueso)}
.jcart-listo{display:block;width:100%;height:40px;border:0;background:var(--jcart-tinta);color:var(--jcart-hueso);font-family:Oswald,sans-serif;font-size:10.5px;letter-spacing:1.7px;text-transform:uppercase;cursor:pointer;margin-top:11px;transition:background .15s var(--jcart-bb)}
.jcart-listo:hover{background:var(--jcart-arcilla)}

.jcart-pie{display:flex;justify-content:space-between;align-items:baseline;padding:15px 0 8px}
.jcart-total{font-variant-numeric:tabular-nums;font-weight:500;font-size:19px}
.jcart-total .woocommerce-Price-amount{font-weight:500}
.jcart-cta{display:block;width:100%;height:50px;line-height:50px;border:0;background:var(--jcart-tinta);color:var(--jcart-hueso) !important;font-family:Oswald,sans-serif;font-size:11.5px;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;text-align:center;text-decoration:none;transition:background .15s var(--jcart-bb)}
.jcart-cta:hover{background:var(--jcart-arcilla);color:var(--jcart-hueso)}
.jcart-nota{font-size:11px;color:var(--jcart-gris);text-align:center;margin:12px 0 0}
.jcart-vacio{text-align:center;padding:40px 18px}
.jcart-vacio h2{font-family:"Yanone Kaffeesatz",sans-serif;font-size:26px;font-weight:600;margin:0 0 5px;color:var(--jcart-tinta)}
.jcart-vacio p{font-size:13px;color:var(--jcart-gris);margin:0;max-width:34ch;margin-left:auto;margin-right:auto;line-height:1.6}
/* tienda aún sin abrir: un solo camino, escribirnos */
.jcart-cerrada .jcart-cab{justify-content:center}
.jcart-vacio .jcart-cta{max-width:260px;margin:20px auto 0}
.jcart-vacio .jcart-nota{margin-top:10px;font-size:11px;letter-spacing:.2px}

.jcart-extras{margin-top:18px}
.jcart-barra{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;border-top:1px solid var(--jcart-hair);padding:12px 2px;cursor:pointer;font-family:Oswald,sans-serif;font-size:9.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--jcart-gris);transition:color .25s var(--jcart-seda)}
.jcart-barra:hover{color:var(--jcart-arcilla)}
.jcart-mas{font-size:14px;line-height:1;transition:transform .45s var(--jcart-seda)}
.jcart-extras.on .jcart-mas{transform:rotate(45deg)}
.jcart-panel{overflow:hidden;max-height:0;transition:max-height .6s var(--jcart-seda)}
.jcart-extras.on .jcart-panel{max-height:340px}
.jcart-panelin{padding:2px 0 10px}
.jcart-sug{display:flex;align-items:center;gap:11px;padding:9px 2px;border-top:1px solid rgba(238,237,232,.6)}
.jcart-sug:first-child{border-top:0}
.jcart-sugimg{width:36px !important;height:36px !important;object-fit:cover;flex:none;background:#efece8;-webkit-user-drag:none}
.jcart-sugn{font-size:13px;color:var(--jcart-tinta2);line-height:1.25}
.jcart-sugp{font-family:Oswald,sans-serif;font-size:10px;letter-spacing:1px;color:var(--jcart-gris)}
.jcart-sugp .woocommerce-Price-amount{font-weight:400}
.jcart-add{margin-left:auto;width:30px;height:30px;border:1px solid var(--jcart-hairF);background:transparent;color:var(--jcart-tinta2);font-size:15px;line-height:1;cursor:pointer;flex:none;transition:all .15s var(--jcart-bb)}
.jcart-add:hover{border-color:var(--jcart-arcilla);color:var(--jcart-arcilla)}

.jcart-pill{position:fixed;right:14px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:9990;background:rgba(253,253,251,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--jcart-hairF);border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:9px;cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .55s var(--jcart-seda),transform .55s var(--jcart-seda);box-shadow:0 10px 26px rgba(22,21,19,.10);pointer-events:none;font-family:Poppins,sans-serif;color:var(--jcart-tinta)}
.jcart-pill.on{opacity:1;transform:none;pointer-events:auto}
.jcart-pill .jcart-pr{min-width:52px;text-align:right;font-size:14px}
.jcart-pill svg{width:14px;height:14px;color:var(--jcart-tinta2)}

.jcart.cargando{opacity:.55;pointer-events:none;transition:opacity .2s var(--jcart-bb)}

/* apagar restos del carrito clásico de Woo si el tema los pinta */
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message{display:none}

@media (prefers-reduced-motion:reduce){
  .jcart *,.jcart-pill{transition:none !important;animation:none !important}
  .jcart button:active{transform:none}
}

/* ── correcciones de la auditoría 2026-08-28 ───────────────────────── */
/* El bloque «JC HEADER-ICONS + WOO v13» del Customizer pinta TODOS los
   <a> de las páginas Woo con color tinta !important y dejaba el botón
   invisible (texto tinta sobre fondo tinta, contraste 1:1). No se baja
   la especificidad del Customizer (eso ya rompió la home una vez): se
   sube la nuestra repitiendo la clase, que es la técnica de la casa. */
body.woocommerce-cart .jcart a.jcart-cta.jcart-cta.jcart-cta.jcart-cta,
body.woocommerce-page .jcart a.jcart-cta.jcart-cta.jcart-cta.jcart-cta{
  color:var(--jcart-hueso) !important;
  background:var(--jcart-tinta) !important;
  text-decoration:none !important;
}
body.woocommerce-cart .jcart a.jcart-cta.jcart-cta.jcart-cta.jcart-cta:hover,
body.woocommerce-page .jcart a.jcart-cta.jcart-cta.jcart-cta.jcart-cta:hover{
  background:var(--jcart-arcilla) !important;
  color:var(--jcart-hueso) !important;
}
/* El tema ya imprime su propio H1 «Cart»: el nuestro no debe competir
   como segundo H1 ni repetir la palabra en pantalla. */
body.woocommerce-cart .page-header,
body.woocommerce-cart .entry-header,
body.woocommerce-cart header.page-header{display:none}

/* ── BLINDAJE contra el kit del tema (post-362) ───────────────────────
   `.elementor-kit-362 button` pinta TODOS los <button> del sitio:
   background #D84D2B (naranja), Oswald 16px MAYUSCULAS, letter-spacing
   1.2px, color blanco y padding 20px 60px.
   Esa regla es (0,1,1) y las clases sueltas del carrito son (0,1,0):
   el kit ganaba. Verificado en vivo inyectando botones de prueba — los 7
   (lapiz, Listo, tamano/molienda, agregar, «agrega algo mas», quitar y la
   pildorita) salian naranjas. Solo `.jcart-qt button` se salvaba.
   Se resetea todo y se re-aplica lo propio con clase repetida.
   ⛔ NO bajar la especificidad del kit: lo usa todo el sitio. */
.jcart button, button.jcart-pill {
  background: none !important; color: inherit !important; font: inherit !important;
  text-transform: none !important; letter-spacing: normal !important;
  border: 0 !important; border-radius: 0 !important;
  padding: 0 !important; min-height: 0 !important; box-shadow: none !important;
}
.jcart .jcart-qt button {
  width: 30px !important; height: 30px !important; background: transparent !important;
  color: var(--jcart-tinta) !important; font-size: 15px !important; cursor: pointer !important;
}
.jcart .jcart-quitar.jcart-quitar {
  padding: 6px 4px !important; margin: -6px -4px !important;
  font-family: Oswald, sans-serif !important; font-size: 9.5px !important;
  letter-spacing: 1.1px !important; text-transform: uppercase !important;
  color: var(--jcart-gris) !important; text-decoration: underline !important;
  text-underline-offset: 3px !important; cursor: pointer !important;
}
.jcart .jcart-lapiz.jcart-lapiz {
  width: 30px !important; height: 30px !important; color: var(--jcart-gris) !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  cursor: pointer !important;
}
.jcart .jcart-op.jcart-op {
  font-family: Oswald, sans-serif !important; font-size: 10px !important;
  letter-spacing: 1.1px !important; text-transform: uppercase !important;
  padding: 7px 11px !important; border: 1px solid var(--jcart-hairF) !important;
  background: transparent !important; color: var(--jcart-tinta2) !important;
  margin-right: 6px !important; cursor: pointer !important;
}
.jcart .jcart-op.jcart-op.on {
  background: var(--jcart-tinta) !important; border-color: var(--jcart-tinta) !important;
  color: var(--jcart-hueso) !important;
}
.jcart .jcart-listo.jcart-listo {
  display: block !important; width: 100% !important; height: 40px !important;
  background: var(--jcart-tinta) !important; color: var(--jcart-hueso) !important;
  font-family: Oswald, sans-serif !important; font-size: 10.5px !important;
  letter-spacing: 1.7px !important; text-transform: uppercase !important;
  margin-top: 11px !important; cursor: pointer !important;
}
.jcart .jcart-listo.jcart-listo:hover { background: var(--jcart-arcilla) !important; }
.jcart .jcart-barra.jcart-barra {
  width: 100% !important; display: flex !important; justify-content: space-between !important;
  align-items: center !important; border-top: 1px solid var(--jcart-hair) !important;
  padding: 12px 2px !important; font-family: Oswald, sans-serif !important;
  font-size: 9.5px !important; letter-spacing: 1.6px !important;
  text-transform: uppercase !important; color: var(--jcart-gris) !important; cursor: pointer !important;
}
.jcart .jcart-add.jcart-add {
  margin-left: auto !important; width: 30px !important; height: 30px !important;
  border: 1px solid var(--jcart-hairF) !important; background: transparent !important;
  color: var(--jcart-tinta2) !important; font-size: 15px !important; line-height: 1 !important;
  flex: none !important; cursor: pointer !important;
}
button.jcart-pill.jcart-pill {
  position: fixed !important; right: 14px !important;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  background: rgba(253, 253, 251, .86) !important;
  border: 1px solid var(--jcart-hairF) !important; border-radius: 12px !important;
  padding: 10px 14px !important; display: flex !important; align-items: center !important;
  gap: 9px !important; color: var(--jcart-tinta) !important;
  box-shadow: 0 10px 26px rgba(22, 21, 19, .10) !important; cursor: pointer !important;
}
