/* ==========================================================================
   pedidos.css — Estilos compilados del backend para pedidos_online.php
   Compilado manualmente desde sass/scss/base/_typography.scss y _tables.scss
   Variables: $color-principal: #8e1f30, $color-secundario: #545759,
   $color-terciario: #c78f98, tint/shade calculados
   ========================================================================== */

/* ── Base font-size (el backend original usa body{font-size:10px}) ── */
.GenericLogin{
  font-size: 12px;
  margin: 0 auto;
}
@media (min-width: 600px){ .GenericLogin{ font-size: 12px; } }
@media (min-width: 800px){ .GenericLogin{ font-size: 14px; } }
@media (min-width: 1024px){ .GenericLogin{ font-size: 16px; } }

/* Override main.css .lineas que aplica display:flex */
table.lineas{ display: table !important; border-radius: 0 !important; }
.GenericLogin select{ width: auto; font-size: 1.3em; }
.GenericLogin dl{ display: inline-block; padding-right: 1em; }
.GenericLogin input{ margin: 0; border: 1px solid; padding: 0.2em 1em; font-size: 1em; }
.GenericLogin h1,.GenericLogin h2,.GenericLogin h3{
  color: #fff;
  padding: 0.5em;
}
.GenericLogin h1 a,.GenericLogin h2 a,.GenericLogin h3 a{ color: #fff; }
.GenericLogin h1{ font-size: 1.3em; background-color: #8e1f30;   font-weight: inherit; }
.GenericLogin h2{ font-size: 1.2em; background-color: #3b3d3e;   font-weight: inherit;}
.GenericLogin h3{ font-size: 1.1em; background-color: #545759;   font-weight: inherit;}
.GenericLogin h2 cite,.GenericLogin h3 cite{
  float: right; font-size: 0.8em; color: #545759; font-weight: 400;
}
.GenericLogin h2 cite span,.GenericLogin h3 cite span{
  color: #8e1f30; font-weight: 600; font-style: normal;
}

.GenericLogin h1.svg-icon,.GenericLogin h2.svg-icon,.GenericLogin h3.svg-icon{
  padding-left: 2.1em; position: relative;
}
.GenericLogin h1.svg-icon:before,.GenericLogin h2.svg-icon:before,.GenericLogin h3.svg-icon:before{
  background-position-y: 100%; width: 1.4em; height: 1.4em; left: 0.4em; top: 0.3em;
}

/* ── FotoOferta / FotoPieza ── */
.GenericLogin .FotoOferta,.GenericLogin .FotoPieza{
  float: left; clear: left; padding: 0 0.5em 0.2em 0;
}
@media (min-width: 768px){
  .GenericLogin .FotoOferta{ width: 20%; }
  .GenericLogin .FotoPieza{ width: 20%; }
  .GenericLogin .LineasOferta{ width: 80%; }
}
@media (min-width: 1024px){
  .GenericLogin{ font-size: 14px; }
}
@media (min-width: 1200px){
  .GenericLogin{ font-size: 16px; }
}

/* ── LineasOferta ── */
.GenericLogin .LineasOferta{
  float: left; width: 100%;
}
.GenericLogin .LineasOferta .lineas th{
  border-left-width: 0; border-top: 0; border-right-width: 0;
  font-weight: 400; color: #222324; background-color: #fff; border-color: #ddddde;
}
.GenericLogin .LineasOferta .lineas td{
  border-left-width: 0; border-right-width: 0; border-color: #ddddde;
}
.GenericLogin .LineasOferta .fam_subfam{
  font-weight: 400; padding: 2px 0 5px 0;
}
.GenericLogin .LineasOferta h3{
  font-size: 1.3em; font-weight: 400; padding: 0; background-color: #fff;
}
.GenericLogin .LineasOferta h3 a{ color: #8e1f30; font-weight: 600; }
.GenericLogin .LineasOferta h3.DescPieza a{ font-weight: 400; }

@media (min-width: 600px){
  .GenericLogin .FotoOferta{ width: 20%; }
  .GenericLogin .FotoPieza{ width: 20%; }
  .GenericLogin .LineasOferta{ width: 80%; }
}
@media (min-width: 480px) and (max-width: 599px){
  .GenericLogin .FotoOferta{ width: 30%; }
  .GenericLogin .FotoPieza{ width: 25%; }
  .GenericLogin .LineasOferta{ width: 70%; }
}

/* ── Botonera ── */
.GenericLogin .botonera{ margin-bottom: 1em; }
.GenericLogin .botonera form{ float: left; }
.GenericLogin .botonera form input{ font-size: 1.2em; padding: 0.5em 1em; }

/* ── Caja dirección ── */
.GenericLogin .caja_direccion{
  border: 1px solid #545759; margin: 0.5em 0; width: 100%;
}
.GenericLogin .caja_direccion h3{
  font-size: 1em; background: none; border-bottom: 1px solid #545759;
  color: #3b3d3e; text-align: center; padding: 0;
}
@media (min-width: 768px){
  .GenericLogin .caja_direccion.flota_dcha{ float: right; }
  .GenericLogin .caja_direccion.flota_izda{ float: left; }
  .GenericLogin .caja_direccion{ width: 45%; }
}

/* ── table.lineas ── */
.GenericLogin table.lineas{ width: 100%; border-collapse: collapse; display: table !important; border-radius: 0 !important; border: none; }
.GenericLogin table.lineas th{
  text-align: left; font-weight: 600; padding: 0.2em 0.4em;
  border-bottom: 1px solid #ddddde; color: #222324; background-color: #f5f5f5;
}
.GenericLogin table.lineas td{
  padding: 0.2em 0.4em; border-bottom: 1px solid #ddddde; vertical-align: top;
}
.GenericLogin table.lineas td.svg-icon,
.GenericLogin table.lineas th.svg-icon{
  padding-left: 2.1em; position: relative;
}
.GenericLogin table.lineas td.svg-icon:before,
.GenericLogin table.lineas th.svg-icon:before{
  width: 1.4em; height: 1.4em; left: 0.3em; top: 0.3em;
}
.GenericLogin table.lineas p.svg-icon{ padding-left: 30px; }
.GenericLogin .Carrito_Mini .lineas td,.GenericLogin .Carrito_Mini .lineas th{
  padding: 0 0.1em; line-height: 22px;
}
.GenericLogin .caja_direccion .lineas td{ line-height: 1.8em; }

/* ── TotalPedido ── */
.GenericLogin .TotalPedido table{ width: 100%; }
.GenericLogin .TotalPedido td{ text-align: right; padding: 0.2em 0.5em; }

/* ── SVG Icons — Base + variantes ── */
.svg-icon{ position: relative; }
.svg-icon > a{ padding-left: 25px; }
.svg-icon:before{
  content: ""; position: absolute; display: block;
  background: transparent url('https://www.grupocrisol.com/recursos/mapa_iconos_v5.webp') no-repeat scroll calc(100% / 100 * 3) 50%;
  background-size: 10100%;
  width: 20px; height: 20px; left: 6px; top: 6px;
}
.svg-icon.b_right:before{ left: inherit; right: 6px; }
.svg-icon:hover:before,.svg-icon.b_r:before{ background-position-y: 0; }
.svg-icon.h_g:hover:before{ background-position-y: 50%; }
.svg-icon.h_w:hover:before,.svg-icon.b_w:before{ background-position-y: 100%; }
.svg-icon.p_r{ position: relative; line-height: 2.2em; padding-left: 1.8em; }
.svg-icon.p_r:before{ width: 18px; height: 18px; left: 0; top: 0; }
.svg-icon.size25:before{ width: 25px; height: 25px; }

/* ── Sprite v5 (mapa_iconos_v5.webp) — Flechas/UI ── */
.svg-icon.svg-down:before{ background-position-x: calc(100% / 100 * 0); }
.svg-icon.svg-up:before{ background-position-x: calc(100% / 100 * 1); }
.svg-icon.svg-left:before{ background-position-x: calc(100% / 100 * 2); }
.svg-icon.svg-right:before{ background-position-x: calc(100% / 100 * 3); }
.svg-icon.svg-right_s:before{ background-position-x: calc(100% / 100 * 4); }
.svg-icon.svg-right_l:before{ background-position-x: calc(100% / 100 * 5); }
.svg-icon.svg-return:before{ background-position-x: calc(100% / 100 * 6); }
.svg-icon.svg-orden:before{ background-position-x: calc(100% / 100 * 7); }
.svg-icon.svg-plus:before{ background-position-x: calc(100% / 100 * 8); }
.svg-icon.svg-x:before{ background-position-x: calc(100% / 100 * 9); }
.svg-icon.svg-cancel:before{ background-position-x: calc(100% / 100 * 10); }
.svg-icon.svg-minus:before{ background-position-x: calc(100% / 100 * 11); }
.svg-icon.svg-menu:before{ background-position-x: calc(100% / 100 * 12); }
.svg-icon.svg-lineas:before{ background-position-x: calc(100% / 100 * 13); }
.svg-icon.svg-lista:before{ background-position-x: calc(100% / 100 * 14); }
.svg-icon.svg-filter:before{ background-position-x: calc(100% / 100 * 15); }
.svg-icon.svg-dot:before{ background-position-x: calc(100% / 100 * 16); }
.svg-icon.svg-rejilla:before{ background-position-x: calc(100% / 100 * 17); }
.svg-icon.svg-items:before{ background-position-x: calc(100% / 100 * 18); }
.svg-icon.svg-ok:before{ background-position-x: calc(100% / 100 * 19); }
.svg-icon.svg-locked:before{ background-position-x: calc(100% / 100 * 20); }
.svg-icon.svg-lock:before{ background-position-x: calc(100% / 100 * 21); }
.svg-icon.svg-user:before{ background-position-x: calc(100% / 100 * 22); }
.svg-icon.svg-user_add:before{ background-position-x: calc(100% / 100 * 23); }
.svg-icon.svg-user_ok:before{ background-position-x: calc(100% / 100 * 24); }
.svg-icon.svg-user_locked:before{ background-position-x: calc(100% / 100 * 25); }
.svg-icon.svg-user_lock:before{ background-position-x: calc(100% / 100 * 26); }
.svg-icon.svg-users:before{ background-position-x: calc(100% / 100 * 27); }
.svg-icon.svg-cliente:before{ background-position-x: calc(100% / 100 * 28); }
.svg-icon.svg-misdatos:before{ background-position-x: calc(100% / 100 * 29); }
.svg-icon.svg-find:before{ background-position-x: calc(100% / 100 * 30); }
.svg-icon.svg-find_r:before{ background-position-x: calc(100% / 100 * 31); }
.svg-icon.svg-find_plus:before{ background-position-x: calc(100% / 100 * 32); }
.svg-icon.svg-presup:before{ background-position-x: calc(100% / 100 * 33); }
.svg-icon.svg-presup_w:before{ background-position-x: calc(100% / 100 * 34); }
.svg-icon.svg-pptos:before{ background-position-x: calc(100% / 100 * 35); }
.svg-icon.svg-pedidos:before{ background-position-x: calc(100% / 100 * 36); }
.svg-icon.svg-cart:before{ background-position-x: calc(100% / 100 * 37); }
.svg-icon.svg-ref:before{ background-position-x: calc(100% / 100 * 38); }
.svg-icon.svg-help:before{ background-position-x: calc(100% / 100 * 39); }
.svg-icon.svg-camion:before{ background-position-x: calc(100% / 100 * 40); }
.svg-icon.svg-fabrica:before{ background-position-x: calc(100% / 100 * 41); }
.svg-icon.svg-bulb:before{ background-position-x: calc(100% / 100 * 42); }
.svg-icon.svg-pdf:before{ background-position-x: calc(100% / 100 * 43); }
.svg-icon.svg-word:before{ background-position-x: calc(100% / 100 * 44); }
.svg-icon.svg-excel:before{ background-position-x: calc(100% / 100 * 45); }
.svg-icon.svg-r:before{ background-position-x: calc(100% / 100 * 46); }
.svg-icon.svg-time:before{ background-position-x: calc(100% / 100 * 47); }
.svg-icon.svg-facebook:before{ background-position-x: calc(100% / 100 * 48); }
.svg-icon.svg-youtube:before{ background-position-x: calc(100% / 100 * 49); }
.svg-icon.svg-mail:before{ background-position-x: calc(100% / 100 * 50); }
.svg-icon.svg-movil:before{ background-position-x: calc(100% / 100 * 51); }
.svg-icon.svg-print:before{ background-position-x: calc(100% / 100 * 52); }
.svg-icon.svg-weblink:before{ background-position-x: calc(100% / 100 * 53); }
.svg-icon.svg-link:before{ background-position-x: calc(100% / 100 * 54); }
.svg-icon.svg-date:before{ background-position-x: calc(100% / 100 * 55); }
.svg-icon.svg-datetime:before{ background-position-x: calc(100% / 100 * 56); }
.svg-icon.svg-maps:before{ background-position-x: calc(100% / 100 * 57); }
.svg-icon.svg-region:before{ background-position-x: calc(100% / 100 * 58); }
.svg-icon.svg-coment:before{ background-position-x: calc(100% / 100 * 59); }
.svg-icon.svg-descarga:before{ background-position-x: calc(100% / 100 * 60); }
.svg-icon.svg-bultos:before{ background-position-x: calc(100% / 100 * 61); }
.svg-icon.svg-stock:before{ background-position-x: calc(100% / 100 * 62); }
.svg-icon.svg-act:before{ background-position-x: calc(100% / 100 * 63); }
.svg-icon.svg-status:before{ background-position-x: calc(100% / 100 * 64); }
.svg-icon.svg-casa:before{ background-position-x: calc(100% / 100 * 65); }
.svg-icon.svg-new:before{ background-position-x: calc(100% / 100 * 66); }
.svg-icon.svg-razon:before{ background-position-x: calc(100% / 100 * 67); }
.svg-icon.svg-money:before{ background-position-x: calc(100% / 100 * 68); }
.svg-icon.svg-peso:before{ background-position-x: calc(100% / 100 * 69); }
.svg-icon.svg-color:before{ background-position-x: calc(100% / 100 * 70); }
.svg-icon.svg-size:before{ background-position-x: calc(100% / 100 * 71); }
.svg-icon.svg-ean:before{ background-position-x: calc(100% / 100 * 72); }
.svg-icon.svg-dto:before{ background-position-x: calc(100% / 100 * 73); }
.svg-icon.svg-serie:before{ background-position-x: calc(100% / 100 * 74); }
.svg-icon.svg-tnt:before{ background-position-x: calc(100% / 100 * 75); }
.svg-icon.svg-dhl:before{ background-position-x: calc(100% / 100 * 76); }
.svg-icon.svg-nacex:before{ background-position-x: calc(100% / 100 * 77); }

/* ── Sprite v5 — Familias catálogo ── */
.svg-icon.svg-f1:before{ background-position-x: calc(100% / 100 * 78); }
.svg-icon.svg-f2:before{ background-position-x: calc(100% / 100 * 79); }
.svg-icon.svg-f3:before{ background-position-x: calc(100% / 100 * 80); }
.svg-icon.svg-f4:before{ background-position-x: calc(100% / 100 * 81); }
.svg-icon.svg-f5:before{ background-position-x: calc(100% / 100 * 82); }
.svg-icon.svg-f6:before{ background-position-x: calc(100% / 100 * 83); }
.svg-icon.svg-f7:before{ background-position-x: calc(100% / 100 * 84); }
.svg-icon.svg-f8:before{ background-position-x: calc(100% / 100 * 85); }
.svg-icon.svg-f9:before{ background-position-x: calc(100% / 100 * 86); }
.svg-icon.svg-f10:before{ background-position-x: calc(100% / 100 * 87); }
.svg-icon.svg-f11:before{ background-position-x: calc(100% / 100 * 88); }
.svg-icon.svg-f12:before{ background-position-x: calc(100% / 100 * 89); }
.svg-icon.svg-f13:before{ background-position-x: calc(100% / 100 * 90); }
.svg-icon.svg-f14:before{ background-position-x: calc(100% / 100 * 91); }
.svg-icon.svg-f15:before{ background-position-x: calc(100% / 100 * 92); }

/* ── Sprite v5 — Especiales ── */
.svg-icon.svg-fams1:before{ background-position: calc(100% / 100 * 94) calc(100% / 2 * 2); }
.svg-icon.svg-fams_anim:before{ background-position-x: calc(100% / 100 * 94); }

/* ── Sprite v6 (mapa_iconos_v6.webp) ── */
.svg-icon.svg-ZC1:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 0); }
.svg-icon.svg-ZC2:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 1); }
.svg-icon.svg-ZC3:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 2); }
.svg-icon.svg-facebook-round:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 3); }
.svg-icon.svg-insta-round:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 4); }
.svg-icon.svg-x-round:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 5); }
.svg-icon.svg-in-round:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 6); }
.svg-icon.svg-whatsapp-round:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 7); }
.svg-icon.svg-pinterest-round:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 8); }
.svg-icon.svg-youtube-round:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 9); }
.svg-icon.svg-bajopedido:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 10); }
.svg-icon.svg-oferta:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 11); }
.svg-icon.svg-N:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 12); }
.svg-icon.svg-S:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 13); }
.svg-icon.svg-barras:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 14); }
.svg-icon.svg-alerta:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 15); }
.svg-icon.svg-corazon:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 16); }
.svg-icon.svg-cex:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 17); }
.svg-icon.svg-estado:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 18); }
.svg-icon.svg-origen:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 19); }
.svg-icon.svg-destino:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 20); }
.svg-icon.svg-cif:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 21); }
.svg-icon.svg-dto-round:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 22); }
.svg-icon.svg-foto:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 23); }
.svg-icon.svg-camara:before{ background-image: url('https://www.grupocrisol.com/recursos/mapa_iconos_v6.webp'); background-position-x: calc(100% / 100 * 24); }

/* ── SVG icons dentro de tablesorter ── */
/* Reset mask-image de main.css que sobreescribe el sprite webp en iconos globales */
.tablesorter .svg-icon:before,
.GenericLogin .svg-icon:before,
.doc-container .svg-icon:before{
  mask-image: none !important;
  -webkit-mask-image: none !important;
}
.tablesorter td.svg-icon,
.tablesorter th.svg-icon{
  padding-left: 2.1em; position: relative;
}
.tablesorter td.svg-icon:before,
.tablesorter th.svg-icon:before{
  width: 1.4em; height: 1.4em; left: 0.3em; top: 0.4em;
}
.tablesorter th.svg-icon:before{
  background-position-y: 100%;
}
.tablesorter p.svg-icon{ padding-left: 30px; }

/* ── SVG icons en enlaces de tablesorter ── */
.tablesorter td a.svg-icon{
  padding-left: 25px; position: relative; display: inline-block;
}
.tablesorter td a.svg-icon:before{
  width: 1.2em; height: 1.2em; left: 2px; top: 2px;
}
.tablesorter td a.svg-icon.b_right{
  position: relative; display: inline-block; vertical-align: middle;
  padding: 0; width: 20px; height: 20px; margin-left: 4px;
}
.tablesorter td a.svg-icon.b_right:before{
  left: 0 !important; right: auto; top: 0; width: 18px; height: 18px;
}

/* ── Tablesorter base ── */
.tablesorter{
  width: 100%; background-color: #fff; margin: 0; text-align: left;
  border-spacing: 0; border: 1px solid #c78f98; vertical-align: top;
}
.tablesorter thead{ border: 0; }
.tablesorter th,.tablesorter td{
  border: 1px solid #c78f98; border-bottom-color: #fff; border-width: 0 1px 0 0;
}
@media (min-width: 768px){ .tablesorter th,.tablesorter td{ font-size: 1.1em; } }
@media (min-width: 1024px){ .tablesorter th,.tablesorter td{ font-size: 1.2em; } }
/*
.tablesorter tbody td a{
  padding: 2px 0 2px 20px; position: relative;
}
.tablesorter tbody td a:before{
  content: ""; position: absolute;
  background: transparent url('https://www.grupocrisol.com/recursos/mapa_iconos_v5.webp') no-repeat scroll calc(100% / 100 * 54) 50%;
  background-size: 10100%; width: 1em; height: 1em; left: 1px; top: 3px;
}
.tablesorter tbody td a.nolink{ padding: 2px 0; }
.tablesorter tbody td a.nolink:before{ background: none; }
.tablesorter tbody td a:hover{ color: #8e1f30; }
.tablesorter tbody td a:hover:before{ background-position-y: 0; }
*/
.tablesorter th,.tablesorter thead td{
  position: relative; font-weight: bold; color: #8e1f30; font-size: 1.5em;
  background-color: #f9eced; border-collapse: collapse; padding: 0;
  line-height: 32px; border-width: 0 1px 0 0;
}
.tablesorter th p{
  margin: 0; line-height: inherit; color: inherit;
}
.tablesorter th p.svg-icon{
  padding-left: 30px; position: relative;
}
.tablesorter th p.svg-icon:before{
  width: 1.4em; height: 1.4em; left: 0.3em; top: 0.3em;
}

.tablesorter tbody td,.tablesorter tfoot th,.tablesorter tfoot td{
  padding: 8px 5px; vertical-align: top;
}
.tablesorter tfoot th,
.tablesorter tfoot th.tablesorter-headerDesc,
.tablesorter tfoot th.tablesorter-headerAsc,
.tablesorter tfoot th.tablesorter-header{
  background-image: none !important; background-color: #f9eced; cursor: default;
}
.tablesorter .header,.tablesorter .tablesorter-header{
  background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
  background-repeat: no-repeat; background-position: center right;
  padding: 0 18px 0 0; line-height: 32px; white-space: normal; cursor: pointer;
}
.tablesorter .headerSortUp,.tablesorter .tablesorter-headerSortUp,.tablesorter .tablesorter-headerAsc{
  background-color: #dfc3c9;
  background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
}
.tablesorter .headerSortDown,.tablesorter .tablesorter-headerSortDown,.tablesorter .tablesorter-headerDesc{
  background-color: #dfc3c9;
  background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
}
.tablesorter thead .sorter-false{ background-image: none; cursor: default; padding: 4px; }
.tablesorter td{
  color: #222324; background-color: #fff; padding: 4px; vertical-align: top;
}
.tablesorter td a{ color: #222324; font-weight: bold; }

.tablesorter tbody > tr.hover > td,
.tablesorter tbody > tr:hover > td{ background-color: #ddddde; }
.tablesorter tbody tr.odd > td{ background-color: #fdfbfb; }
.tablesorter tbody tr.even > td{ background-color: #fff; }

/* ── Filter widget ── */
.tablesorter .tablesorter-filter-row td{
  padding-bottom: 10px; border-width: 0 1px 0 0;
  background-color: #f9eced; text-align: center;
  transition: line-height 0.1s ease;
}
.tablesorter .tablesorter-filter-row .disabled{
  opacity: 0.5; cursor: not-allowed;
}
.tablesorter .tablesorter-filter-row.hideme td{
  padding: 2px; margin: 0; line-height: 0; cursor: pointer;
}
.tablesorter .tablesorter-filter-row.hideme *{
  height: 1px; min-height: 0; border: 0; padding: 0; margin: 0; opacity: 0;
}
.tablesorter input.tablesorter-filter,
.tablesorter select.tablesorter-filter{
  width: calc(100% - 10px); height: auto; margin: 0; padding: 4px;
  background-color: #fff; border: 1px solid #8e1f30; color: #333;
  box-sizing: border-box; transition: height 0.1s ease;
}
.tablesorter .filtered{ display: none; }
.tablesorter .tablesorter-errorRow td{
  text-align: center; cursor: pointer; background-color: #e6bf99;
}

/* ── Column selector ── */
.columnSelectorWrapper{
  position: relative; margin: 0; display: inline-block; float: right;
}
.columnSelectorWrapper .hidden{ display: none; }
.columnSelectorWrapper .columnSelectorButton{
  z-index: 4; position: relative; background: #c78f98; cursor: pointer;
  color: #fff; font-weight: 600; font-size: 15px;
  border-top-left-radius: 5px; border-top-right-radius: 5px;
  padding: 9px 10px 5px 30px; margin: 0;
}
.columnSelectorWrapper .columnSelectorButton:hover{ background: #8e1f30; }
.columnSelectorWrapper #colSelect1:checked + label{ background: #8e1f30; }
.columnSelectorWrapper #colSelect1:checked ~ #columnSelector{ display: block; }
.columnSelectorWrapper .columnSelector{
  display: none; width: auto; position: absolute; top: 30px;
  padding: 10px; background: #fff; border: 1px solid #8e1f30;
  border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; z-index: 10;
}
.columnSelectorWrapper .columnSelector label{ display: block; }
.columnSelectorWrapper .columnSelector label:nth-child(1){
  border-bottom: #8e1f30 solid 1px; margin-bottom: 5px;
}
.columnSelectorWrapper .columnSelector input{ margin-right: 5px; }
.columnSelectorWrapper .columnSelector .disabled{ color: #ddd; }

/* ── Tooltip (jquery.tooltip.js) ── */
#tooltip{
  z-index: 1000;
  background-color: #e09d9d;
  border: 1px solid #b13837;
  color: #333;
  padding: 0;
  margin-left: -10em;
  max-width: 70em;
  line-height: 1em;
}
#tooltip h3{
  font-size: 1em; text-align: left;
}
#tooltip h3 td, #tooltip h3 th{
  padding: 0.5em; border: 1px solid #b13837;
}
#tooltip h3 td{
  background-color: #f0bdbd;
}
#tooltip p{
  padding: 1em; font-size: 0.95em; margin: 5px 0 0 5px; text-align: left;
}
#jcart-tooltip{
  z-index: 1000;
  border: 1px solid #8e1f30;
  font-size: 20px; font-weight: bold;
  margin-top: 6px; color: #8e1f30;
  background-color: #fff;
  padding: 7px 10px 7px 28px;
  border-radius: 10px; border-top-left-radius: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.25), 0 2px 2px rgba(0,0,0,0.5);
}
#jcart-tooltip:before{
  content: ""; position: absolute;
  background: transparent url('https://www.grupocrisol.com/recursos/mapa_iconos_v5.webp') no-repeat scroll calc(100% / 100 * 19) 0;
  background-size: 10100%;
  width: 20px; height: 20px; left: 6px; top: 6px;
}

/* ── Botones ── */
.btn{ display: inline-block; padding: 0.5em 1em; background: #545759; color: #fff; text-decoration: none; border-radius: 3px; border: none; cursor: pointer; font-size: 1em; }
.btn:hover{ background: #8e1f30; color: #fff; }
.btn-right{ float: right; }
.clearfloat,.clearfloatleft{ clear: both; }

/* ── Formularios de envío (form_wrapper / ContenedorFormularios) ── */
@media (min-width: 800px){ #ContenedorFormularios{ width: 48%; } }
#ContenedorFormularios a.btn-large{ color: #fff; padding: 8px 30px; background-color: #545759; margin-bottom: 0; }
#ContenedorFormularios form{ width: 100%; background: none; float: none; margin: 0; }
#ContenedorFormularios input[type=text],
#ContenedorFormularios input[type=email],
#ContenedorFormularios input[type=password]{ padding: 0.2em 1.8em 0.2em 0.5em; max-width: 100%; }
#ContenedorFormularios input[type=text].dcha{ padding: 0.2em 0.5em; text-align: right; }
#ContenedorFormularios select{ border-radius: 10px; font-size: 1em; margin-bottom: 0; padding: 2px 8px; width: auto; }
#ContenedorFormularios table.lineas{ font-size: 14px; }
.form_wrapper table.lineas{ display: table !important; border-collapse: collapse; width: 100%; font-size: 14px; }
.form_wrapper table.lineas th{
  text-align: left; padding: 3px 6px; font-weight: 700; color: #545759;
  background-color: #f9f4f5; border: 1px dotted gray;
}
.form_wrapper table.lineas td{ padding: 3px 6px; border: 1px dotted gray; }
.form_wrapper table.lineas th.Titulo,
.form_wrapper table.lineas td.Titulo{
  text-align: center; color: #fff; background-color: #545759;
  padding: 0.5em; font-weight: bold; border: 1px dotted gray;
}
.form_wrapper table.lineas input.required:invalid,
.form_wrapper table.lineas input.required[value=""]{ background-color: #fde8e8; }
/* h3 overridden below in shared form_wrapper rules */
.button-group-titulo{
  display: block; margin: 0; padding: 4px 10px 2px; font-size: 12px; font-weight: 700; color: #545759;
}
.button-group{
  display: flex; flex-wrap: wrap; gap: 2px; margin-bottom: 8px;
  padding: 0 !important; background-color: transparent !important; border: none !important;
}
.button-group label{
  flex: 1 1 calc(50% - 1px); min-width: 0; text-align: center;
  padding: 0.6em 0; cursor: pointer; font-size: 1em; font-weight: bold;
  background-color: #ddd; color: #333; box-sizing: border-box;
}
.button-group label:has(input:checked){ background-color: #8e1f30; color: #fff; }
.button-group input[type=radio]{ display: none; }
#ContenedorFormularios .btn-large,
#ContenedorFormularios input[type=submit]{
  display: block; width: 100%; text-align: center;
  padding: 0.6em 1em; font-size: 1.2em;
  background-color: #8e1f30; color: #fff;
  border: none; cursor: pointer; margin: 0.5em 0; box-sizing: border-box;
}
#ContenedorFormularios .btn-large:hover,
#ContenedorFormularios input[type=submit]:hover{ background-color: #545759; }

/* ── Misc ── */
.flota_izda{ float: left; }
.flota_dcha{ float: right; }
.NoImprimir{ }
@media print{ .NoImprimir{ display: none; } }

/* ══════════════════════════════════════════════════════════════════════
   CHECKOUT: formularios dirección jcart (flexW, lblPlaceH, etc.)
   ══════════════════════════════════════════════════════════════════════ */

/* ── Contenedores checkout ── */
.Carrito_Big{ max-width: 990px; margin: 0 auto; padding: 0.5em; }
.Carrito_Mini{ max-width: 400px; margin: 0 auto; }
.flxRowForms{ display: flex; flex-wrap: wrap; gap: 10px; }

/* ── Formularios login/dirección: layout flex ── */
form.login dl,
.form_wrapper dl,
.Direcciones dl{ display: flex; flex-wrap: wrap; gap: 0; }
/* Espacio entre h3 y el primer campo del formulario */
.form_wrapper > form:first-of-type,
.form_wrapper > .login{ padding-top: 10px; }

/* ── flexW: anchos flex proporcionales ── */
.flexW1{ flex: 1; display: flex; }
.flexW2{ flex: 2; display: flex; }
.flexW3{ flex: 3; display: flex; }
.flexW4{ flex: 4; display: flex; }
.flexW5{ flex: 5; display: flex; }
.flexW6{ flex: 1 1 100%; display: flex; }
.flexW1,.flexW2,.flexW3,.flexW4,.flexW5,.flexW6{ flex-wrap: wrap; }

.flexW1 input{ flex: 1 0 25%; width: 90px !important; }
.flexW2 input{ flex: 1 0 25%; width: 130px !important; }
.flexW3 input,.flexW3 select{ flex: 1 0 50%; width: 140px !important; }
.flexW4 input,.flexW5 input{ flex: 1; width: 200px !important; }
.flexW6 input,.flexW6 select{ flex: 1; width: 100% !important; }

@media (max-width: 600px){
  .flexW1,.flexW2,.flexW3,.flexW4,.flexW5{ flex: 1 1 100%; }
}

/* ── lblPlaceH: floating label ── */
.lblPlaceH{ position: relative; padding: 8px 10px; }
.form_wrapper .lblPlaceH > label,
.login .lblPlaceH > label,
.lblPlaceH > label{
  position: absolute; left: 20px; top: 0; z-index: 1;
  display: flex; align-items: center;
  padding: 0 3px; margin: 0;
  font-size: 12px; line-height: 16px; font-weight: 700;
  color: rgb(51, 51, 51); background-color: #fff;
  transform-origin: left top; pointer-events: auto;
}
.form_wrapper .lblPlaceH input[type="text"],
.form_wrapper .lblPlaceH input[type="email"],
.form_wrapper .lblPlaceH input[type="password"],
.form_wrapper .lblPlaceH select{
  font-size: 14px; padding: 10px 8px 6px;
  border: solid 1px #ddd; border-radius: 3px;
  width: 100%; box-sizing: border-box;
}

/* ── Checkboxes y radios: zona táctil mínima 44px ── */
.form_wrapper input[type="checkbox"],
.form_wrapper input[type="radio"]{
  width: 18px; height: 18px; margin: 0; vertical-align: middle;
  accent-color: #8e1f30;
}
.form_wrapper label:has(input[type="checkbox"]),
.form_wrapper label:has(input[type="radio"]){
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 44px; padding: 4px 8px; cursor: pointer;
  font-size: 14px; line-height: 1.3;
}
/* Checkbox/radio labels: NO floating */
.lblPlaceH > label:has(input[type="checkbox"]),
.lblPlaceH > label:has(input[type="radio"]){
  position: relative; left: auto; top: auto;
  background: none; font-size: 14px;
}

/* ── form_wrapper: inputs y select ── */
.form_wrapper input[type="text"],
.form_wrapper input[type="email"],
.form_wrapper input[type="password"],
.form_wrapper select{
  border: solid 1px #e5e5e5; background: #fff; color: rgb(51, 51, 51);
  font-size: 14px; margin: 0 0 5px 0; padding: 0 12px;
  width: 100%; box-sizing: border-box; box-shadow: 0 0 8px #f0f0f0;
}
.form_wrapper select{ padding: 0.2em 0.5em; width: 23.9em; -webkit-appearance: menulist; }
.form_wrapper input.required, .form_wrapper select.required{ border: solid 1px #ecafaf; }
.form_wrapper select.valid, .form_wrapper input.valid{
  border-color: #468847;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAgVBMVEUAAABetV5buFtcuFxcuVxdu11cuFxbuFtcuFxcuFxbtltcuFxbtltetl5cuFxct1xduV1fuF9cuFxcuFxbultcuFxduF1gtWBduV1cuFxcuVxcuFxcuFxcuFxet15dt11cuFxcuFxbt1teuF5duV1euF5cuVxcuFxcuFxcuFwAAADG3XcxAAAAKXRSTlMAJrDPRSnn1OjCKvM4MamLFivp8jvI1xgs6jpL++w5UvrxUU83RMe6MlhBCPsAAAABYktHRACIBR1IAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4AwTFzUBkZPjhwAAAHBJREFUGNNjYCAJMDIxsyDzWdk0NdmR+RyampqcCD4XiM/Nw8DLxy8A4gsKAfnCIgwMopqaYuIMDBIwPgOzJkhEQhLElwIplZYBMmWFQXw5iGHyCppgoCgHM14JLKLIg7BQGSiiqILsRFU1dQ3iPQgAPhMLEPHXqSUAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTYtMTItMTlUMjM6NTM6MDErMDE6MDCbiS6WAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTEyLTE5VDIzOjUzOjAxKzAxOjAw6tSWKgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII=);
  background-position: right 5px center; background-repeat: no-repeat;
  box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
}
.form_wrapper select.error, .form_wrapper input.error{
  border-color: #b94a48;
}
.form_wrapper select.SelectMunicipio{ display: none; }

/* ── Inputs no editables (Fecha de Alta, Email usuario, Código Cliente,
   CIF/DNI…): aspecto de texto estático para no inducir a editar. Solo
   tipos editables — NO submit/button — para no afectar al estado disabled
   de los botones de "Guardar cambios". ── */
.form_wrapper input[type="text"][disabled],
.form_wrapper input[type="text"][readonly],
.form_wrapper input[type="email"][disabled],
.form_wrapper input[type="email"][readonly],
.form_wrapper input[type="password"][disabled],
.form_wrapper input[type="password"][readonly],
.form_wrapper input[type="tel"][disabled],
.form_wrapper input[type="tel"][readonly],
.form_wrapper input[type="number"][disabled],
.form_wrapper input[type="number"][readonly]{
  background: transparent !important;
  background-image: none !important;
  border: 1px dashed transparent !important;
  box-shadow: none !important;
  color: #777 !important;
  cursor: default;
  padding-left: 0;
  font-style: italic;
}

/* Submit deshabilitado = "no hay nada que guardar": ocultar por completo
   en lugar de mostrar un botón fantasma sin bordes. */
.form_wrapper input[type="submit"][disabled],
.form_wrapper button[type="submit"][disabled]{
  display: none !important;
}

/* ── strength-meter (inyectado por jquery.form-validator junto al input
   de "Nueva contraseña"): bloque a ancho completo bajo el input y altura
   mayor que la del propio input para que sea visualmente prominente. Las
   reglas del plugin se aplican como inline styles, así que necesitamos
   !important para sobrescribirlas. ── */
.strength-meter{
  display: block !important;
  width: 100%;
  box-sizing: border-box;
  min-height: 3.6rem;
  margin: 0.4rem 0 0 !important;
  padding: 0.9rem 1rem !important;
  font-size: 1.5rem !important;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  border-radius: 3px;
}

/* ── form_wrapper h3 ── */
.form_wrapper h3{
  padding: 10px; text-align: center;
  background-color: #8e1f30; color: #fff;
  font-size: 16px; border-bottom: 1px solid #ddd; margin: 0;
}

/* ── form-error ── */
.form-error{
  display: block; color: #b94a48; line-height: 140%;
  margin: 0.5em 1em 1em; font-size: 1.2em;
  flex: 1 1 100%; text-align: center;
}

/* ── form_wrapper sizing ── */
.form_wrapper{
  flex: 0.5 0 100%; border: 1px solid #ddd; position: relative;
  margin: 10px 0 !important; min-width: 280px;
  box-shadow: 1px 1px 7px #ccc;
}
@media (min-width: 800px){
  .form_wrapper{ flex: 0.5 0 30%; margin-right: 5px !important; }
}

/* ── Contenedor envío: flex column para reordenar ── */
.form_wrapper > form[name="Form3"]{ display: flex; flex-direction: column; }
.form_wrapper > form[name="Form3"] > .button-group-titulo{ order: 0; }
.form_wrapper > form[name="Form3"] > .button-group{ order: 1; }
#NuevaDireccion,
.form_wrapper > form[name="Form3"] > div[id^="Direccion"]{ order: 2; }
.form_wrapper > form[name="Form3"] > .envio-detalle{ order: 3; }
.form_wrapper > form[name="Form3"] > .lblPlaceH{ order: 4; }

/* ── Dirección predeterminada resaltada ── */
.envio-detalle-activa{
  border: 2px solid #8e1f30 !important;
  background-color: #fdf5f6;
}

/* ── Botones checkout ── */
.btn{ display: inline-block; padding: 0.5em 1.5em; text-decoration: none; cursor: pointer;
      border: 1px solid #545759; border-radius: 4px; font-size: 1em; color: #545759; background: #fff; }
.btn:hover{ background: #f0f0f0; }
.btn-large{ font-size: 1.1em; padding: 0.6em 2em; }
.btn-red{ background-color: #8e1f30; color: #fff; border-color: #8e1f30; }
.btn-red:hover{ background-color: #6d1726; }
.btn-select{ background-color: #8e1f30; color: #fff; border-color: #8e1f30; }
.btn-half-l{ float: left; }
.btn-half-r{ float: right; }

/* ── Direcciones: contenedor flex que envuelve form_wrappers ── */
.Direcciones{ display: flex; flex-wrap: wrap; gap: 0.5em; width: 100%; box-sizing: border-box; font-size: 0.95em; line-height: 1.6; margin-top: var(--eL, 1.5rem); }
/* Hijos directos: tanto los .form_wrapper directos (envío) como el wrapper
   .direccion-bloque (factura colapsable) deben compartir el mismo flex sizing
   para que aparezcan a la par en desktop y ocupen el 100% en móvil. */
.Direcciones > .form_wrapper,
.Direcciones > .direccion-bloque{ flex: 1 1 45%; min-width: 280px; max-width: 390px; float: none; margin: 0 !important; }
@media (max-width: 600px){
  .Direcciones > .form_wrapper,
  .Direcciones > .direccion-bloque{ flex: 1 1 100%; max-width: none; min-width: 0; }
}

/* ── Plazos entrega y total pedido ── */
.CajaPlazos{ position: relative; float: left; font-size: 1.1em; display: inline-block; width: 12em; }
.CajaPlazos .svg-icon{ padding: 8px 5px 8px 35px; }
.TotalPedido{ float: right; padding-left: 10px; }
.TotalPedido td{ font-weight: bold; font-size: 1.2em; text-align: right; line-height: 1.5em; padding-left: 8px; }
.TotalPedido td:first-child{ font-size: 1em; }

/* ── Fotos en carrito checkout ── */
.Carrito_Big .FotoOferta{ width: 30%; }
.Carrito_Big .FotoPieza{ width: 20%; }
.Carrito_Big .imagen_mini{ max-width: 100%; height: auto; }

/* ── Loader de grabación ── */
#notificationsLoader{ display: none; font-size: 1.2em; color: #8e1f30; font-weight: bold; padding: 1em; }

/* ── Links de pago ── */
.link_visa, .link_transfer, .link_pedido_almacen{
  display: block; text-align: center; margin: 0.5em 0;
}

/* ── Errores ── */
.errortxt{ color: #c00; font-weight: bold; }

/* ══════════════════════════════════════════════════════════════════════
   CHECKOUT REDISEÑO: form_wrapper coherente con el resto del carrito
   (bordes redondeados, cabecera roja estilo .resumen-titulo, inputs
   con halo de focus rojo, tipografía del sistema de tokens)
   ══════════════════════════════════════════════════════════════════════ */

/* Contenedor */
.Direcciones .form_wrapper,
.checkout-columna-principal .form_wrapper{
  border: 1px solid var(--gM);
  outline: 1px solid var(--gC);
  outline-offset: 2px;
  border-radius: var(--rM);
  box-shadow: none;
  background: white;
  overflow: hidden;
  margin: 0 0 var(--eL) !important;
}

/* Cabecera h3 tipo .resumen-titulo (mismo tamaño que "Resumen del pedido") */
.checkout-columna-principal .form_wrapper h3,
.Direcciones .form_wrapper h3{
  margin: 0 0 var(--eL);
  padding: var(--eM) var(--eL);
  background: var(--r);
  color: white;
  font-size: var(--fL);
  line-height: var(--lhL);
  font-weight: 500;
  text-align: left;
  border-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--eS);
}

/* Padding inferior consistente para CabeceraDireccion */
.form_wrapper__body{
  padding: var(--eL);
  line-height: var(--lhM);
  font-size: var(--fM);
}
.form_wrapper__body p{ margin: 0 0 var(--eXS); }

/* Inputs / selects */
.checkout-columna-principal .form_wrapper input[type="text"],
.checkout-columna-principal .form_wrapper input[type="email"],
.checkout-columna-principal .form_wrapper input[type="password"],
.checkout-columna-principal .form_wrapper select,
.Direcciones .form_wrapper input[type="text"],
.Direcciones .form_wrapper input[type="email"],
.Direcciones .form_wrapper input[type="password"],
.Direcciones .form_wrapper select{
  border: 1px solid var(--rC);
  border-radius: var(--rP);
  background: white;
  box-shadow: none;
  color: var(--gO);
  font-size: var(--fS);
  line-height: var(--lhS);
  height: 2.5rem;
  padding: 0 var(--eS);
  margin: 0 0 var(--eXS);
  box-sizing: border-box;
}
.checkout-columna-principal .form_wrapper input:focus,
.checkout-columna-principal .form_wrapper input:focus-visible,
.checkout-columna-principal .form_wrapper select:focus,
.Direcciones .form_wrapper input:focus,
.Direcciones .form_wrapper input:focus-visible,
.Direcciones .form_wrapper select:focus{
  outline: none;
  border-color: var(--r);
  box-shadow: 0 0 0 2px var(--rC2);
}

/* Etiquetas flotantes */
.Direcciones .lblPlaceH > label,
.checkout-columna-principal .lblPlaceH > label{
  font-size: var(--fXS);
  color: var(--g);
  font-weight: 500;
  background: white;
}

/* Contenedor de formularios espaciado interno */
.Direcciones .form_wrapper > form,
.checkout-columna-principal .form_wrapper > form{
  padding: 0 var(--eL) var(--eL);
}

/* Tabla de líneas interior (datos dirección tabulados) */
.form_wrapper table.lineas{ font-size: var(--fS); }
.form_wrapper table.lineas th{
  background: var(--gC3);
  color: var(--gO);
  border: 1px dotted var(--gC);
  font-weight: 500;
}
.form_wrapper table.lineas td{ border: 1px dotted var(--gC); }
.form_wrapper table.lineas th.Titulo,
.form_wrapper table.lineas td.Titulo{
  background: var(--gO);
  color: white;
}

/* Botones dentro del form_wrapper */
.form_wrapper .btn{
  border: 1px solid var(--g);
  border-radius: var(--rP);
  background: white;
  color: var(--gO);
  font-size: var(--fS);
  padding: 0.4em 1em;
}
.form_wrapper .btn:hover{ background: var(--gC3); }
.form_wrapper .btn-red{
  background: var(--r); color: white; border-color: var(--r);
}
.form_wrapper .btn-red:hover{ background: var(--gO); border-color: var(--gO); }

/* Avisos amarillos (canarias, bajo pedido...) también con bordes redondeados */
.checkout-columna-principal .form_wrapper h3[style*="yellow"]{
  background: #f6c65a !important;
  color: var(--gO) !important;
  font-weight: 600;
}
.checkout-columna-principal .form_wrapper > div[style*="padding:1rem 2rem"],
.Direcciones .form_wrapper > div[style*="padding:1rem 2rem"]{
  font-size: var(--fM) !important;
  line-height: var(--lhM) !important;
}
