body{
background:#f5f5f5;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
width: 100%;
margin: 0;
padding: 0;
}

.container-fluid{
background:white;
border:1px solid #cfcfcf;
}

.formulario{

min-width:210mm;
min-height: 270mm;
border:2px solid #222;
border-radius:8px;
}

.formularioPDF{
    width: 100%;
    max-width: 1200px;
    margin: auto;
    overflow: hidden;
}

.titulo-formulario{
color:#003366;
font-weight:bold;
letter-spacing:1px;
}

.titulo1{
text-align:center;
font-size: 50px;
font-weight:bold;
margin:28px 0;
}

label,
.label-azul
{
    color:#1d2da8;
    font-size:17px !important;
    font-weight:normal;
    margin-bottom:2px;
}

.label-negro {
    color: black;
    font-size:22px !important;
}

.form-control,
.form-select,
input[type="text"],
input[type="number"],
input[type="date"],
textarea{
font-size:19px !important;
min-height:36px !important;
height:36px !important;
font-weight:bold !important;
color:#000 !important;
border:1px solid #000000;
}



.titulo1{
    font-size:28px !important;
    margin:8px 0 !important;
}

h2,h3,h4,h5,h6{
    font-size:16px !important;
}

.table th{
    font-size:17px !important;
    padding:2px !important;
    color: #1d2da8;
}

.table td {
    font-size:17px !important;
    padding:2px !important;
    color: black;
}

.bloque,
.bloque-azul{
    padding:8px !important;
    margin-bottom:6px !important;
    border-radius:6px;
}

.campo{
    border:1px solid #777;
}

.pedidos-compacto label,
.pedidos-compacto .form-control,
.pedidos-compacto .form-select{
    font-size:19px !important;
}

.pedidos-compacto .mb-2{
    margin-bottom:4px !important;
}

.firma{
    height:55px !important;
    min-height:55px !important;
    border:1px solid #888 !important;
    background:#fff !important;
}

.bloque-rgpd{
    font-size:13px !important;
    line-height:1.1 !important;
    padding:8px !important;
}

.bloque-rgpd p{
    margin-bottom:4px !important;
    font-size:13px !important;
}

@page{
    size:A4 portrait;
    margin:0;
}


.titulo1{
    font-size:36px !important;
    margin:12px 0 !important;
}

h2,h3,h4,h5,h6{
    font-size:20px !important;
}

.table td,
.table th{
    padding:2px !important;
    font-size:15px !important;
}

.table .form-control{
    height:28px !important;
    min-height:28px !important;
}

.firma{
    height:80px !important;
    min-height:80px !important;
}

.bloque-rgpd{
    font-size:11px !important;
    line-height:1.15 !important;
}

.formulario{
    max-width:1200px !important;
    min-width:auto !important;
    margin:auto !important;
}

.pedidos-compacto .mb-2{
    margin-bottom:4px !important;
}

.pedidos-compacto label{
    display:inline !important;
}


/* AJUSTE PEDIDOS Y FACTURACION */
.pedidos-compacto label{
    font-size:19px !important;
    font-weight:normal !important;
}

.pedidos-compacto .form-control,
.pedidos-compacto .form-select{
    font-size:19px !important;
}

.bloque-checks{
    margin-top: 20px;
}

.label-negro{
    color:#000 !important;
    min-width:50px;
}

input[type="checkbox"]{
    width:20px !important;
    height:20px !important;
    transform:scale(1.25);
    margin-right:4px !important;
    margin-left:4px !important;
    vertical-align:middle;
}

.pedidos-compacto label{
    display:inline-block !important;
    width:300px !important;
}

.form-check{
    display:flex;
    align-items:flex-start;
    gap:10px;
}

.form-check-input{
    margin-top:4px !important;
    flex-shrink:0;
}

.form-check-label{
    display:block;
    color:#1d2da8;
    line-height:1.3;
    margin:0;
}

.opcion-check{
    display:inline-block;
    width:80px;
}

/* Ajustes para pantallas móviles (Responsivo) */
@media (max-width: 767px) {
    .titulo1 {
        font-size: 18px !important;
        margin: 5px 0 !important;
    }
    
    .pedidos-compacto label {
        display: block !important;
        width: 100% !important;
        margin-bottom: 5px !important;
    }
    
    .bloque-checks {
        margin-top: 10px;
    }
    
    /* Pequeños ajustes para campos en móviles */
    .form-control,
    .form-select {
        font-size: 16px !important;
    }
}

.linea-guiones {
    width: 100%;
    border-top: 2px dashed #000;
}

.firma {
    width: 350px !important;

}

/* Alinear labels de IBAN con sus campos */
.bloque-azul .row.mt-1 > div > label {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 2px !important;
}
.error-campo {
    color: red;
    font-size: 14px;
    font-weight: bold;
    margin-top: 3px;
}

.campo-obligatorio-error {
    border: 2px solid red !important;
}

canvas {
        width: 100%;
        height: 100%;
        cursor: crosshair;
    }
