


    .presupuesto-ensalza-pagina {
        page-break-after: always;
    }

    .presupuesto-ensalza-pagina:last-child {
        page-break-after: auto;
    }

    .presupuesto-ensalza-contenido {
        padding: 0;
    }

    .presupuesto-ensalza-texto-intro {
        font-size: 12pt;
        color: #568d00;
    }

    .presupuesto-ensalza-texto-intro-titulo {
        font-size: 14pt;
    }

    .presupuesto-ensalza-titulo-1 {
        font-family: 'Poppins', sans-serif;
        font-style: normal;
        font-variant: normal;
        font-weight: 500;
        color: #568D00 !important;
        font-size: 22px;
        margin-top: 0;
        margin-bottom: 14px;
        line-height: 1.3;
    }

    .presupuesto-ensalza-titulo-2 {
        font-family: 'Poppins', sans-serif;
        font-style: normal;
        font-variant: normal;
        font-weight: 500;
        color: #000000;
        font-size: 18px;
        margin-top: 50px;
        margin-bottom: 12px;
        line-height: 1.35;
    }

    .presupuesto-ensalza-logo {
        margin-right: 200px;
    }

    .presupuesto-ensalza-texto-derecha {
        text-align: right;
    }

    .presupuesto-ensalza-texto-izquierda {
        text-align: left;
    }

    .presupuesto-ensalza-documento p {
        margin-top: 0;
        line-height: 1.5;
    }

    .presupuesto-ensalza-documento h3 {
        margin-top: 18px;
        margin-bottom: 5px;
        page-break-after: avoid;
    }

    .presupuesto-ensalza-intro h2 {
        font-size: 28px;
        line-height: 1.25;
        margin-top: 0;
    }

    .presupuesto-ensalza-intro h3 {
        font-size: 20px;
        line-height: 1.3;
        margin-bottom: 5px;
    }

    .presupuesto-ensalza-intro p,
    .presupuesto-ensalza-intro li {
        font-size: 15px;
        line-height: 1.5;
    }

    .presupuesto-ensalza-intro h4 {
        font-size: 18px;
        line-height: 1.35;
        font-weight: 700;
        margin-top: 28px;
        margin-bottom: 8px;
        letter-spacing: -0.2px;
    }

    .presupuesto-ensalza-intro h4::before {
        content: "";
        display: inline-block;
        width: 9px;
        height: 9px;
        margin-right: 10px;
        background: #9dc043;
        border-radius: 50%;
        vertical-align: middle;
    }

    .presupuesto-ensalza-divider {
        border-top: 1px solid #cccccc;
        margin: 8px 0 14px 0;
    }

    .presupuesto-ensalza-bloque-concepto {
        page-break-inside: auto;
        margin-bottom: 18px;
    }

    .presupuesto-ensalza-bloque-final {
        page-break-inside: avoid;
    }

    .presupuesto-ensalza-documento table {
        width: 100%;
        page-break-inside: auto;
        border-collapse: collapse;
    }

    .presupuesto-ensalza-documento tr {
        page-break-inside: avoid;
        page-break-after: auto;
    }

    .presupuesto-ensalza-celda-cabecera-precio {
        text-align: right;
        background-color: #568D00;
        color: white;
        width: 23%;
    }

    .presupuesto-ensalza-celda-cabecera-concepto {
        background-color: #568D00;
        color: white;
        width: 77%;
    }

    /*  H2 */

    .presupuesto-ensalza-cabecera-seccion {
        page-break-inside: avoid;
        break-inside: avoid;
    }
    /* tabla precios */
    .tabla-precios-bloque {
        margin-bottom: 34px;
        page-break-inside: avoid;
    }

    .tabla-precios-bloque h2 {
        margin-bottom: 12px;
    }

    .tabla-precios {
        width: 100%;
        border-collapse: collapse;
        font-family: DejaVu Sans, Arial, sans-serif;
        font-size: 10.5pt;
        color: #222222;
    }

    .tabla-precios th {
        background-color: #568D00;
        color: #ffffff;
        font-weight: bold;
        padding: 8px 10px;
        border: 1px solid #568D00;
    }

    .tabla-precios th.col-concepto {
        text-align: left;
        width: 77%;
    }

    .tabla-precios th.col-precio {
        text-align: right;
        width: 23%;
    }

    .tabla-precios td {
        padding: 8px 10px;
        border-bottom: 1px solid #E3E3E3;
        vertical-align: top;
        line-height: 1.35;
    }

    .tabla-precios .celda-concepto {
        text-align: left;
    }

    .tabla-precios .celda-precio {
        text-align: right;
        white-space: nowrap;
        font-weight: bold;
    }

    .tabla-precios .concepto-nombre {
        font-weight: bold;
        color: #222222;
    }

    .tabla-precios .concepto-titulo {
        font-size: 9.5pt;
        color: #555555;
        margin-top: 2px;
    }

    .tabla-precios .fila-total td {
        background-color: #EDF4E5;
        border-top: 2px solid #568D00;
        border-bottom: 1px solid #C9DDB7;
        font-weight: bold;
        padding-top: 9px;
        padding-bottom: 9px;
    }

    .tabla-precios .total-label {
        color: #568D00;
        text-transform: uppercase;
    }

    .tabla-precios .total-precio {
        color: #000000;
        font-size: 11pt;
    }
/* ---------- */

    .presupuesto-ensalza-fondo-pagina {
        position: fixed;
        top: -130px;
        left: -60px;
        width: 210mm;
        height: 297mm;
        z-index: -1000;
    }
    /* presupuestados */
    .presupuesto-ensalza-caja-titulo {
        margin: 0 0 12px 0;
        padding: 10px 12px;
        background-color: #f4f8ee;
        font-size: 11.5pt;
        line-height: 1.4;
        color: #222222;
        margin-top: 5px;
    }

    .presupuesto-ensalza-listado-servicios {
        margin: 0 0 18px 0;
        padding-left: 36px;
        font-size: 11.5pt;
        line-height: 1.55;
        color: #222222;
    }

    .presupuesto-ensalza-listado-servicios li {
        margin-bottom: 4px;
        padding-left: 4px;
    }
    .presupuesto-ensalza-concepto-titulo {
        margin: 22px 0 16px 0;
        padding: 10px 14px;
        background-color: #f4f8ee;
        border-left: 5px solid #81c301;
        page-break-after: avoid;
    }

    .presupuesto-ensalza-concepto-titulo span {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 15pt;
        font-weight: 700;
        color: #222222;
        line-height: 1.3;
    }
    .presupuesto-ensalza-linea-seccion {
        width: 100%;
        height: 2px;
        background-color: #81c301;
    }
    .presupuesto-ensalza-linea-divisoria-conceptos {
        width: 100%;
        background-color: #273013;
    }