
/* Rental Car Group - pagina preventivo V7
   File separato per evitare cache e conflitti con il CSS principale. */

html,
body.preventivo-v7-page{
  width:100%;
  min-height:100%;
  height:auto;
  max-height:none;
  margin:0;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

body.preventivo-v7-page{
  position:relative;
  display:block;
}

.preventivo-v7-page .quote-request-page,
.preventivo-v7-page .quote-request-section,
.preventivo-v7-page .quote-request-container{
  display:block;
  position:relative;
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  overflow:visible;
}

.preventivo-v7-page .quote-request-section{
  padding:32px 0 100px;
}

.preventivo-v7-page .quote-request-container{
  width:min(900px,calc(100% - 32px));
  margin:0 auto;
}

.preventivo-v7-page .vehicle-picker-panel{
  display:block;
  width:100%;
  height:auto;
  margin:0 0 22px;
  padding:22px;
  box-sizing:border-box;
  overflow:visible;
}

.preventivo-v7-page .vehicle-picker-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:18px;
}

.preventivo-v7-page .vehicle-select-label,
.preventivo-v7-page .field{
  display:grid;
  gap:8px;
}

.preventivo-v7-page select,
.preventivo-v7-page input{
  width:100%;
  min-height:52px;
  box-sizing:border-box;
}

/* Riepilogo compatto e sempre sopra il modulo */
.preventivo-v7-page .selected-vehicle-card{
  display:block;
  position:relative;
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  margin:0 0 24px;
  overflow:hidden;
}

.preventivo-v7-page .selected-vehicle-image{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:240px;
  min-height:0;
  max-height:240px;
  margin:0;
  padding:14px 20px;
  box-sizing:border-box;
  overflow:hidden;
  background:#f7f9fc;
}

.preventivo-v7-page .selected-vehicle-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.preventivo-v7-page .selected-vehicle-body{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  padding:18px 22px 22px;
  box-sizing:border-box;
  overflow:visible;
}

.preventivo-v7-page .selected-vehicle-body h2{
  margin:5px 0 13px;
  font-size:21px;
  line-height:1.25;
}

.preventivo-v7-page .selected-price{
  width:100%;
  max-width:320px;
  margin:0 0 12px;
  padding:12px 16px;
  box-sizing:border-box;
}

.preventivo-v7-page .selected-price strong{
  display:block;
  margin:3px 0;
  font-size:27px;
  line-height:1;
}

.preventivo-v7-page .included-row{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:16px;
  padding:10px 0;
}

.preventivo-v7-page .included-row strong{
  max-width:none;
  text-align:left;
  overflow-wrap:anywhere;
}

.preventivo-v7-page .selected-note{
  margin:10px 0 0;
  padding-top:10px;
}

/* Il modulo è un blocco normale della pagina, mai nascosto */
.preventivo-v7-page .customer-form-anchor{
  display:block;
  position:relative;
  width:100%;
  height:auto;
  margin:0;
  box-sizing:border-box;
}

.preventivo-v7-page #quoteRequestForm,
.preventivo-v7-page .quote-request-form{
  display:block;
  position:relative;
  visibility:visible;
  opacity:1;
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  margin:0 0 60px;
  padding:24px;
  box-sizing:border-box;
  overflow:visible;
  transform:none;
  pointer-events:auto;
}

.preventivo-v7-page .form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  width:100%;
  height:auto;
  max-height:none;
  overflow:visible;
}

.preventivo-v7-page .form-grid .field{
  grid-column:auto;
  visibility:visible;
  opacity:1;
}

.preventivo-v7-page .form-grid .field:nth-child(1),
.preventivo-v7-page .form-grid .field:nth-child(2),
.preventivo-v7-page .form-grid .field:nth-child(7),
.preventivo-v7-page .form-grid .field:nth-child(8),
.preventivo-v7-page .form-grid .field:nth-child(9){
  grid-column:1 / -1;
}

.preventivo-v7-page .privacy-consent,
.preventivo-v7-page .quote-submit,
.preventivo-v7-page .form-error,
.preventivo-v7-page .form-success{
  position:relative;
  display:flex;
  visibility:visible;
  opacity:1;
}

.preventivo-v7-page .quote-submit{
  width:100%;
  justify-content:center;
  margin-top:18px;
}

/* Evita che banner o elementi fissi blocchino il fondo pagina */
.preventivo-v7-page .cookie-banner{
  max-height:70vh;
  overflow-y:auto;
}

@media(max-width:760px){
  .preventivo-v7-page .quote-request-container{
    width:calc(100% - 20px);
  }

  .preventivo-v7-page .vehicle-picker-fields,
  .preventivo-v7-page .form-grid{
    grid-template-columns:1fr;
  }

  .preventivo-v7-page .form-grid .field{
    grid-column:1;
  }

  .preventivo-v7-page .selected-vehicle-image{
    height:190px;
    max-height:190px;
    padding:10px 14px;
  }

  .preventivo-v7-page .selected-vehicle-body{
    padding:16px;
  }

  .preventivo-v7-page .included-row{
    grid-template-columns:1fr;
    gap:5px;
  }

  .preventivo-v7-page #quoteRequestForm{
    padding:18px 14px;
    margin-bottom:90px;
  }
}

/* centered summary tweak */
.preventivo-v7-page .selected-vehicle-image{
height:300px!important;
max-height:300px!important;
padding:20px!important;
}
.preventivo-v7-page .selected-vehicle-body{
text-align:center!important;
display:flex!important;
flex-direction:column!important;
align-items:center!important;
}
.preventivo-v7-page .selected-vehicle-body h2{
text-align:center!important;
max-width:700px;
}
.preventivo-v7-page .selected-price{
margin:0 auto 18px!important;
max-width:420px!important;
}
.preventivo-v7-page .included-row{
grid-template-columns:1fr!important;
text-align:center!important;
justify-items:center!important;
gap:6px!important;
}
.preventivo-v7-page .selected-note{
text-align:center!important;
max-width:700px;
}
@media(max-width:760px){
.preventivo-v7-page .selected-vehicle-image{height:240px!important;max-height:240px!important;}
.preventivo-v7-page .selected-price{max-width:100%!important;}
}
