@charset "utf-8";

@font-face {
  font-family: 'MapfreText';
  src: url('../fonts/MapfreDisplay-400-Regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

body{
	font-family: 'MapfreText' !important;
}


/* CSS Document */
/************
1. 1600px
************/
@media only screen and (max-width: 1600px) {
  .precio {
    font-size: 35pt;
  }
}

/************
2. 1440px
************/
@media only screen and (max-width: 1440px) {
  .precio {
    font-size: 30pt;
  }
}

/************
3. 1380px
************/
@media only screen and (max-width: 1399px) {
  .precio {
    font-size: 35pt;
  }

  .price {
    height: calc(var(--vh, 1vh) * 60);
  }

  .car {
    max-width: 40%;
    position: absolute;
    top: 45%;
    transform: translate(0, -50%);
  }
}

/************
3. 1280px
************/
@media only screen and (max-width: 1280px) {
  .precio {
    font-size: 20pt;
  }
}

/************
4. 1199px
************/
@media only screen and (max-width: 1199px) {
  .precio {
    font-size: 20pt;
  }
}

/************
4. 1100px
************/
@media only screen and (max-width: 1100px) {}

/************
5. 1024px
************/
@media only screen and (max-width: 1024px) {
  .paycard {
    margin: auto;
  }

  .toppay {
    margin-top: auto;
  }

  .pay {
    border-radius: 15px;
    border-color: none;
    padding: 1rem;
  }

  .toppay button {
    margin-top: 1rem;
  }

  .precio {
    font-size: 20pt;
  }
}

/************
6. 991px
************/
@media only screen and (max-width: 991px) {

  html,
  body {
    height: 100%;
    background: #F3F3F3 url(../images/bg-gray-m.png) no-repeat left bottom;
  }

  .card-body {
    display: none;
  }

  .modal-body {
    padding: 1rem 1rem 1rem 1rem;
  }

  .multiselect .card-header a:after {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto;
    content: "";
    background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e);
    background-repeat: no-repeat;
    background-size: 1.25rem;
    transition: transform .2s ease-in-out;
  }

  .multiselect .card .card-header {
    padding: 15px 15px 15px 45px;
  }

  .multiselect .form-check-input {
    position: absolute;
    left: 7px;
    top: 13px;
    width: 25px;
    height: 25px;
  }

  .msn {
    display: none;
    content: none;
  }

  #download .collapse:not(.show) {
    display: none;
  }

  #download .collapse,
  .text .collapse {
    visibility: hidden;
  }

  .colorhead {
    background-color: #fff;
    background-image: none;
    box-shadow: 2px 10px 49px -32px;
  }

  .formcotiza {
    margin-bottom: 40px;
    margin-top: 0;
  }

  .cardedit {
    margin: auto;
  }

  .vehicule {
    margin-bottom: 2rem;
  }

  #cubre {
    padding: 3rem 0;
  }

  .sino .btn {
    margin-bottom: 15px;
  }

  .modal-dialog {
    /* max-width: 600px; */
    /* margin: 25vh auto; */
  }

  .circulos {
    z-index: -1;
    max-width: 100%;
    margin: auto;
  }

  .car {
    max-width: 50%;
    left: 40%;
    top: 40%;
    transform: translate(0, -40%);
  }

  .opcion .tarjeta-m .img-json {
    min-height: 80px;
    display: grid;
    overflow: hidden;
  }

  .opcion .tarjeta-m .svgfill {
    min-height: 120px;
  }

  .img-json {
    min-height: 190px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }

  .svgfill {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }

  .ventajas svg {
    padding: 1rem;
  }

  .overhead {
    background: none !important;
  }

  .multisteps-form__progress-btn:before {
    text-indent: 0;
  }

  #faq {
    padding: 0 1rem;
  }

  footer {
    text-align: center;
  }

  footer span {
    display: block;
    font-size: 15px;
    text-align: center;
  }

  footer .copy {
    margin-bottom: 15px;
  }

  .tarjeta {
    margin: 15px !important;
    padding: 15px;
  }

  .metodopago p {
    font-size: 11.5px;
    margin: 0;
    line-height: 15px;
  }

  .multisteps-form__panel .btn-link.js-btn-prev {
    top: -140px;
  }

  .multisteps-form__panel .btn-link.js-btn-next {
    top: -140px;
  }

  .headstep {
    /* margin-top: 110px; */
  }

  .cardmateriales b {
    font-size: 12px;
  }

  .cardmateriales img {
    width: 50px;

  }

  .faq svg [fill="#3b0c0c"],
  .customization-context:not(.original-color) {
    fill: #fff !important;
  }

  .faq svg [fill="#094b94"],
  .customization-context:not(.original-color) {
    fill: var(--theme) !important;
  }

  .timeout {
    margin-top: 55vh;
  }

  #descarga {
    padding-top: 10rem;
  }

  .mediospagos {
    display: none;
  }



  .alerta {
    height: 200px;
  }

  #descarga button {
    margin: 20px 0;
  }

  .poliza {
    margin-top: 10px !important;
  }

  .xs-none {
    display: none;
  }

  .vehiculo {
    min-width: 130px !important;
  }
}

/************
7. 959px
************/
@media only screen and (max-width: 959px) {}

/************
8. 880px
************/
@media only screen and (max-width: 880px) {}

/************
9. 768px
************/
@media only screen and (max-width: 768px) {
  .circulos {
    z-index: -1;
    max-width: 90%;
    margin: auto;
  }

  .car {
    max-width: 100%;
    left: 0;
    top: auto;
    transform: translate(0, -100%);
  }

  .accordion-body {

    text-align: justify;
  }

  .whatsapp {
    bottom: 60px;
    right: 15px;
    width: 60px;
    height: 60px;
    font-size: 30px;
  }

  .whatsapp img {
    width: 35px;
  }

  .line-left {
    border-left: none;
  }

  .line-right {
    border-right: none;
  }
}

/************
10. 767px
************/
@media only screen and (max-width: 767px) {}

/************
11. 575px
************/
@media only screen and (max-width: 575px) {
  #cabecera {
    padding: 8rem 0 0 0;
    background: url(../../images/header_mobile.jpg) no-repeat top center;
    background-size: contain;
    margin-top: 120px;
  }

  .text-home {
    margin-bottom: 30px;
  }

  .display-none {
    display: none !important;
  }
}

/************
11. 539px
************/
@media only screen and (max-width: 539px) {}

/************
12. 480px
************/
@media only screen and (max-width: 480px) {}

/************
13. 479px
************/
@media only screen and (max-width: 479px) {}

/************
14. 400px
************/
@media only screen and (max-width: 400px) {}


.ui-dialog .ui-dialog-content {
    position: relative;
    border: 0;
    padding: 0.5em 1em;
    background: 0;
    overflow: hidden !important;
    zoom: 1;
}

.text-danger{
	color: #FF002D !important;
}

.text-success{
	color:  #28A575 !important;
}

.text-secondary{
	color:  #666666 !important;
}

.bg-danger{
	background-color: #FF002D !important;
}

.alert-warning{
	--bs-alert-color: #664d03;
    --bs-alert-bg: #FFEAA6;
    --bs-alert-border-color: #ffecb5;
}

/* =============================================
   PrimeFaces responsive overrides - Simulador
   ============================================= */

/* PrimeFaces selectOneMenu responsive */
.ui-selectonemenu {
  width: 100% !important;
  max-width: 100% !important;
}

.ui-selectonemenu-panel {
  max-width: 90vw !important;
}

/* PrimeFaces inputNumber / inputText responsive */
.ui-inputfield,
.ui-inputnumber,
.ui-inputtext {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* PrimeFaces calendar responsive */
.ui-calendar {
  width: 100% !important;
}

.ui-calendar .ui-inputfield {
  width: 100% !important;
}

.ui-datepicker {
  max-width: 100vw !important;
}

/* PrimeFaces dataTable reflow mode on small screens */
@media only screen and (max-width: 767px) {
  .ui-datatable-reflow thead th {
    display: none !important;
  }

  .ui-datatable-reflow tbody td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
    text-align: left !important;
    padding: 0.5rem 0.75rem !important;
    border-bottom: 1px solid #dee2e6;
  }

  .ui-datatable-reflow tbody td::before {
    content: attr(data-label);
    font-weight: 700;
    display: block;
    margin-bottom: 0.25rem;
    color: #FF002D;
    font-size: 0.85em;
  }

  .ui-datatable-reflow tbody tr {
    display: block !important;
    margin-bottom: 1rem;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  }

  /* PrimeFaces paginator stacking */
  .ui-paginator {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25rem;
  }

  .ui-paginator .ui-paginator-rpp-options {
    margin: 0.5rem 0 !important;
    width: auto !important;
  }
}

/* PrimeFaces dialog responsive */
@media only screen and (max-width: 575px) {
  .ui-dialog {
    width: 95vw !important;
    left: 2.5vw !important;
  }

  .ui-dialog-content {
    padding: 0.5em !important;
  }

  /* Ensure form labels wrap properly */
  .multisteps-form__content label {
    word-break: break-word;
  }

  /* Stack note card content vertically */
  .cardred-1 .row {
    flex-direction: column;
    text-align: center;
  }

  .cardred-1 img {
    margin-bottom: 0.75rem;
    max-width: 40px;
  }
}

/* Ensure PrimeFaces buttons are touch-friendly */
@media only screen and (max-width: 991px) {
  .ui-button,
  .ui-commandbutton {
    min-height: 44px;
    padding: 0.5rem 1rem !important;
  }

  .ui-selectonemenu-trigger {
    min-height: 44px;
  }
}