/* Presupuesto Safekat */

* {
  box-sizing: border-box;
}

body {
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333;
  background-color: #fff;
}

table {
  border-spacing: 0;
  background-color: transparent;
  border-collapse: collapse;
}

th {
  text-align: left;
}

td {
  padding: 0;
}

body table.logo {
  padding: 0;
  width: 100%;
  color: black;
}

body table.logo td.logo img {
  width: 100%;
  vertical-align: middle;
}

body table.presupuesto-data {
  width: 100%;
  font-size: 12px;
  margin-top: -22px;
}

body table.presupuesto-data th {
  background: black;
  color: white;
  padding: 6px;
}

body table.presupuesto-data th.intro_presupuesto {
  width: 20%;
  padding-left: 15px;
}

body table.presupuesto-data th.num_presupuesto {
  width: 10%;
  font-weight: lighter;
}

body table.presupuesto-data th.intro_cliente {
  width: 11%;
  padding-left: 15px;
}

body table.presupuesto-data th.letra {
  font-size: 9px;
}

body table.presupuesto-data th.cliente {
  width: 38%;
  font-weight: lighter;
  text-transform: uppercase;
}

body table.presupuesto-data th.intro_fecha {
  width: 10%;
}

body table.presupuesto-data th.fecha {
  width: 10%;
  text-align: right;
  font-weight: lighter;
}

body table.presupuesto-data td {
  background: #e3e4e7;
  padding-left: 15px;
}

body table.presupuesto-data td.titulo {
  padding-top: 5px;
}

body table.presupuesto-data td div.intro-coleccion,
body table.presupuesto-data td div.intro_autor {
  font-weight: bold;
  padding-bottom: 10px;
}

body table.presupuesto-data td.coleccion,
body table.presupuesto-data td.autor {
  padding-top: 3px;
  padding-bottom: 10px;
}

body table.impresion {
  width: 100%;
  font-size: 11px;
}

body table.impresion th {
  color: white;
  font-size: 12px;
  font-weight: lighter;
  background: #8ac948;
  padding: 3px;
  padding-left: 8px;
}

body table.impresion td {
  border-bottom: 1px dotted black;
  padding: 3px;
  font-family: 'Open Sans', sans-serif;
}

body table.impresion td.t {
  width: 18%;
  font-weight: bold;
  border-right: 1px dotted black;
}

body table.impresion td.t-first {
  width: 8%;
  font-weight: bold;
  border-left: 1px dotted black;
  border-right: 1px dotted black;
}

body table.impresion td.t-second {
  width: 11%;
  font-weight: bold;
  border-left: 1px dotted black;
  border-right: 1px dotted black;
}

body table.impresion td.v {
  width: 12%;
}

body table.impresion td.v-second {
  width: 11%;
}

body table.impresion td.v-first {
  width: 40%;
}

body table.cubierta {
  width: 100%;
  font-size: 11px;
  margin-top: -2px;
}

body table.cubierta th {
  background: #0C2C84;
  color: white;
  font-size: 12px;
  font-weight: lighter;
  padding: 3px;
  padding-left: 8px;
}

body table.cubierta td {
  border-bottom: 1px dotted black;
  padding: 3px;
}

body table.cubierta td.t {
  width: 18%;
  font-weight: bold;
  border-right: 1px dotted black;
}

body table.cubierta td.t-first,
body table.cubierta td.t-second,
body table.cubierta td.t-third,
body table.cubierta tdv.second {
  width: 8%;
  font-weight: bold;
  border-left: 1px dotted black;
  border-right: 1px dotted black;
}

body table.cubierta td.v {
  width: 10%;
}

body table.cubierta td.v-third {
  width: 12%;
}

body table.cubierta td.v-first {
  width: 28%;
}

body table.encuadernacion {
  width: 100%;
  font-size: 11px;
  margin-top: -2px;
}

body table.encuadernacion th {
  color: white;
  font-size: 12px;
  font-weight: lighter;
  background: #8ac948;
  padding: 3px;
  padding-left: 8px;
}

body table.encuadernacion td {
  border-bottom: 1px dotted black;
  padding: 3px;
}

body table.encuadernacion td.t {
  width: 18%;
  font-weight: bold;
  border-right: 1px dotted black;
}

body table.encuadernacion td.v {
  width: 46%;
}

body table.encuadernacion td.v-first {
  width: 7%;
  border-left: 1px dotted black;
  border-right: 1px dotted black;
}

body table.encuadernacion td.v.second {
  width: 8%;
  border-left: 1px dotted black;
  border-right: 1px dotted black;
}

body table.encuadernacion td.t-first {
  width: 8%;
  font-weight: bold;
  border-left: 1px dotted black;
  border-right: 1px dotted black;
}

body table.encuadernacion td.t-second {
  width: 9%;
  font-weight: bold;
  border-right: 1px dotted black;
}

body table.extras {
  width: 100%;
  font-size: 11px;
  margin-top: -2px;
}

body table.extras th {
  color: white;
  font-size: 12px;
  font-weight: lighter;
  background: #0C2C84;
  padding: 3px;
  padding-left: 8px;
}

body table.extras td {
  border-bottom: 1px dotted black;
  padding: 3px;
}

body table.extras td.t {
  width: 18%;
  font-weight: bold;
  border-right: 1px dotted black;
}

body table.extras td.v {
  border-right: 1px dotted black;
}

body table.envio {
  width: 100%;
  font-size: 11px;
  margin-top: -2px;
  margin-bottom: 5px;
}

body table.envio th {
  color: white;
  font-size: 12px;
  font-weight: lighter;
  background: #8ac948;
  padding: 3px;
  padding-left: 8px;
}

body table.envio td {
  border-bottom: 1px dotted black;
  padding: 3px;
}

body table.envio td.v {
  width: 12%;
  border-right: 1px dotted black;
}

body table.envio td.t-ejemplares,
body table.envio td.t {
  width: 9%;
  font-weight: bold;
  border-right: 1px dotted black;
}

body table.envio td.t-second {
  width: 4%;
  border-right: 1px dotted black;
  font-weight: bold;
}

body table.envio td.v-second {
  width: 5%;
}

body table.envio td.v-first,
body table.envio td.v-third {
  width: 12%;
  border-right: 1px dotted black;
}

body table.envio td.v-third {
  width: 16%;
  border-right: 1px dotted black;
}

body table.envio td.t-first,
body table.envio td.t-third,
body table.envio td.t-fourth,
body table.envio td.t-first-direccion,
body table.envio td.t-first {
  width: 8%;
  font-weight: bold;
  border-left: 1px dotted black;
  border-right: 1px dotted black;
}

body table.totales {
  margin-left: auto;
  margin-right: 0;
  width: 50%;
  text-align: center;
}

body table.totales th {
  width: 16%;
  font-weight: bold;
  font-size: 11px;
  text-align: center;
  color: white;
  background: #0C2C84;
  padding: 3px;
}

body table.totales td {
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  border: 1px dotted #4e4e4e;
  border-top: none;
  padding: 3px;
}

body table.totales td.tirada {
  border-left: none;
}

body table.totales td.precio {

}


/* Presupuesto Manual */

table.presupuesto-data td {
  background: #e3e4e7;
  padding-left: 15px;
}

table.presupuesto-data td.descripcion {
  padding-top: 10px;
  padding-bottom: 10px;
}

table.presupuesto-manual-lineas {
  width: 100%;
  margin-top: 20px;
  border-spacing: 0;
  border-collapse: collapse;
}

table.presupuesto-manual-lineas tr.head-lineas-manual {
  background: #688BC0;
  color: white;
}

table.presupuesto-manual-lineas th {
  font-size: 11pt;
  font-weight: lighter;
  padding: 5px !important;
  color: white;
  border-right: 1px solid white;
}

table.presupuesto-manual-lineas td {
  padding: 10px !important;
  font-size: 9pt;
  color: black;
  border: 1px dotted #4e4e4e;
  border-top: none;
}

table.presupuesto-manual-lineas td.num_unidades {
  border-left: none;
}

table.presupuesto-manual-lineas td.concepto {
  border-right: none;
}

table.presupuesto-manual-lineas td.precio_unidad {
  text-align: right;
}

table.presupuesto-manual-lineas td.total {
  border-right: none;
  text-align: right;
}

table.totales-manual {
  width: 25%;
  margin-top: 15px;
  text-align: center;
  padding: 3px;
}

table.totales-manual th {
  font-weight: lighter;
  font-size: 10pt;
  padding: 5px;
  text-align: center;
  color: white;
  background: #688BC0;
  border-right: 1px solid white;
}

table.totales-manual td {
  font-size: 9pt;
  padding: 5px;
  text-align: center;
  border: 1px dotted #4e4e4e;
  border-top: none;
}

table.totales-manual td.precio {
  border-left: none;
  border-right: none;
}

table.totales-manual td.iva {
  border: none;
  text-align: right;
  font-size: 8pt;
}

.observaciones {
  color: #0C2C84;
  font-weight: bold;
  margin-bottom: 0px;
}

div.comentarios {
  font-size: 9pt;
  border: 1px solid #ddd;
  padding-left: 10px;
  padding-right: 10px;
  word-break: break-word; /* <-- fuerza corte de palabras largas */
  overflow-wrap: break-word; /* <-- compatibilidad extra */
}

div.observaciones {
  padding: 15px;
  margin-top: -15px;
  margin-bottom: -30px;
}

.footer {
  position: fixed;
  padding: 15px;
  bottom: 15mm; /* Ajusta esto si el footer no se ve o se corta */
  left: 0;
  right: 0;
  height: 30mm;
  font-size: 10px;
  text-align: justify;
}

div.footer .taxto-info {

}

div.footer .texto-email {
  font-weight: bold;
}

div.footer .texto-asteriscos {
  margin-top: 10px;
  font-size: 11px;
}

div.footer .texto-presupuesto {
  color: black;
  margin-top: 10px;
  font-size: 7pt;
}

div.footer.servicios {
  margin-top: 10px;
}

div.footer.tirada {
  margin-top: 0px;
}

div.footer.sin-servicios {
  margin-top: 82px;
}

/* Presup. y pedido maquetacion */

table.pedido-maquetacion-lineas {
  width: 100%;
}

table.pedido-maquetacion-lineas td {
  padding: 3px;
}

table.pedido-maquetacion-totales {
  margin-top: 10px;
  margin-bottom: 60px;
}

table.pedido-maquetacion-totales td.iva_right {
  font-size: 10px;
  margin-top: 2px;
}
