.vr-booking{--vr-rose:#ad7772;--vr-ink:#414141;background:#f7f4f0;color:var(--vr-ink);padding:95px 32px;scroll-margin-top:120px}.vr-booking *{box-sizing:border-box}.vr-booking-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.vr-eyebrow{display:block;font:11px/1.7 Arial,sans-serif;letter-spacing:2px;color:#98615c}.vr-intro h2{font:normal clamp(36px,3.6vw,53px)/1.14 Georgia,serif!important;margin:24px 0!important;color:#414141!important;letter-spacing:-1px}.vr-rule{width:54px;height:1px;background:#ad7772;margin:27px 0}.vr-intro p{font:18px/1.8 Georgia,serif;max-width:390px}.vr-intro ul{list-style:none;padding:15px 0!important;margin:0!important;font:14px/2.6 Arial,sans-serif}.vr-intro li:before{content:'—';color:var(--vr-rose);margin-right:13px}.vr-contact{border-top:1px solid #dfd5ce;margin-top:35px;padding-top:24px;font:13px/1.8 Arial,sans-serif}.vr-contact span{display:block;color:#777}.vr-contact a{color:#8b5854!important}.vr-card{background:#fff;padding:38px 40px;border:1px solid #eee6df;box-shadow:0 16px 45px #4e382a06}.vr-card h3{font:normal 30px/1.2 Georgia,serif!important;margin:0 0 10px!important;color:#414141!important}.vr-subtitle{font:14px/1.6 Arial,sans-serif!important;color:#777;margin:0 0 28px!important}.vr-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.vr-booking label{display:block;font:12px/1.5 Arial,sans-serif;color:#414141}.vr-booking label>span{color:#777;font-weight:normal}.vr-booking input:not([type=checkbox]),.vr-booking select,.vr-booking textarea{display:block;width:100%;border:1px solid #ded8d2!important;border-radius:0!important;padding:12px!important;margin:7px 0 0!important;background:#fff!important;color:#414141!important;font:14px/1.5 Arial,sans-serif!important;min-height:46px;box-shadow:none!important}.vr-booking input:focus,.vr-booking select:focus,.vr-booking textarea:focus{outline:2px solid #ad7772;outline-offset:2px}.vr-notes{margin-top:20px}.vr-booking textarea{resize:vertical}.vr-consent{display:flex!important;gap:10px;align-items:flex-start;margin:22px 0!important;font-size:11px!important;line-height:1.7!important}.vr-consent input{flex:0 0 auto;margin:3px 0 0;accent-color:var(--vr-rose)}.vr-consent a{color:#8b5854;text-decoration:underline}.vr-submit{display:flex;justify-content:space-between;align-items:center;width:100%;background:var(--vr-rose)!important;color:white!important;border:1px solid var(--vr-rose)!important;border-radius:0!important;padding:17px 20px!important;font:11px/1.5 Arial,sans-serif!important;letter-spacing:1.4px;cursor:pointer}.vr-submit:hover{background:#935e59!important}.vr-submit span{font-size:20px}.vr-disclaimer{font:11px/1.7 Arial,sans-serif!important;color:#777;text-align:center;margin:14px 0 0!important}.vr-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.vr-success{padding:40px 0}.vr-success h3{margin-top:20px!important}.vr-success p{font:17px/1.8 Georgia,serif}.vr-success a{color:#8b5854;text-decoration:underline}@media(max-width:850px){.vr-booking{padding:60px 22px}.vr-booking-inner{grid-template-columns:1fr;gap:35px}.vr-intro p{max-width:100%}.vr-card{padding:28px 24px}}@media(max-width:440px){.vr-grid{grid-template-columns:1fr}.vr-booking{padding:45px 16px}.vr-card{padding:26px 20px}}
/* Villa Rosa: allineamento e controlli indipendenti dagli stili del tema. */
.vr-booking,
.vr-booking .vr-intro,
.vr-booking .vr-intro h2,
.vr-booking .vr-intro p,
.vr-booking .vr-eyebrow,
.vr-booking .vr-contact,
.vr-booking .vr-card,
.vr-booking .vr-card h3,
.vr-booking .vr-card p,
.vr-booking form,
.vr-booking label {
  text-align: left !important;
}
.vr-booking .vr-intro ul,
.vr-booking .vr-intro ul li {
  list-style: none !important;
  list-style-type: none !important;
  list-style-image: none !important;
  text-align: left !important;
}
.vr-booking .vr-intro ul li {
  display: flex !important;
  align-items: baseline;
  gap: 13px;
  margin-left: 0 !important;
  padding-left: 0 !important;
}
.vr-booking .vr-intro ul li::marker {
  content: '' !important;
}
.vr-booking .vr-intro ul li::before {
  content: '—' !important;
  position: static !important;
  display: inline-block !important;
  flex: 0 0 auto;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  color: var(--vr-rose, #ad7772) !important;
  font: inherit !important;
  transform: none !important;
}
.vr-booking .vr-card form {
  display: block;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.vr-booking .vr-card form button.vr-submit {
  display: flex !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  justify-content: space-between !important;
  text-align: left !important;
}

/* Mobile e tablet: più spazio utile per testo e campi. */
@media (max-width: 850px) {
  .vr-booking {
    padding: 48px 12px !important;
    width: 100% !important;
    max-width: none !important;
  }
  .vr-booking .vr-booking-inner {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    margin: 0 !important;
  }
  .vr-booking .vr-intro,
  .vr-booking .vr-card {
    min-width: 0;
    width: 100% !important;
    max-width: none !important;
  }
  .vr-booking .vr-intro p {
    max-width: none !important;
  }
  .vr-booking .vr-card {
    padding: 24px 16px !important;
  }
}
@media (max-width: 600px) {
  .vr-booking {
    padding: 36px 8px !important;
  }
  .vr-booking .vr-card {
    padding: 24px 12px !important;
    box-shadow: none !important;
  }
  .vr-booking .vr-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
  .vr-booking .vr-contact a {
    overflow-wrap: anywhere;
  }
}
