.hh4-form{max-width:1080px;margin:2rem auto;padding:1.5rem;border-radius:24px;background:#fbf7f0;box-shadow:0 16px 50px rgba(37,45,50,.08);font-family:inherit;color:#24313a;font-size:14px;line-height:1.35;box-sizing:border-box}.hh4-form *{box-sizing:border-box}.hh4-form h2{margin-top:0;font-size:1.55rem}.hh4-intro{font-size:.95rem}.hh4-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.hh4-form label{display:block;font-weight:600;color:#24313a}.hh4-form input,.hh4-form select,.hh4-form textarea{display:block;width:100%;border:1px solid #d8d0c4;border-radius:10px;padding:.65rem .8rem;background:#fff;font:inherit;color:#24313a;margin-top:.35rem}.hh4-form input[type="radio"],.hh4-form input[type="checkbox"]{display:inline-block;width:auto;margin:.05rem .35rem 0 0;padding:0;vertical-align:middle;accent-color:#24313a}.hh4-form small{display:block;font-weight:500;color:#6b6257;line-height:1.35;margin-top:.25rem}.hh4-mail-clean{min-height:1.2em}.hh4-mail-confirm.hh4-ok{color:#17733a}.hh4-mail-confirm.hh4-ko{color:#a12414}.hh4-date-help{font-size:.8rem}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{background:#ffe2dc!important;color:#9c2a1c!important;text-decoration:line-through}.hh4-room{border:1px solid #e0d6c7;border-radius:16px;padding:1rem;margin:1rem 0;background:#fff}.hh4-room legend{font-weight:800;padding:0 .5rem;font-size:1rem}.hh4-field{display:block;font-weight:600;color:#24313a}.hh4-field-full{grid-column:1/-1}.hh4-label-title{display:block;font-weight:700;color:#24313a;margin-bottom:.45rem}.hh4-radio-row{display:block}.hh4-radio-row label{display:inline-block!important;width:auto!important;margin:0 .55rem .55rem 0!important;font-weight:600!important;background:#fff;border:1px solid #d8d0c4;border-radius:999px;padding:.48rem .75rem;cursor:pointer;line-height:1.1;white-space:nowrap}.hh4-radio-row input{display:inline-block!important;width:auto!important;margin:0 .35rem 0 0!important;vertical-align:-1px}.hh4-check,.hh4-consent{display:block!important;font-weight:500!important}.hh4-check input,.hh4-consent input{display:inline-block!important;width:auto!important}.hh4-date-label>span{display:inline-block}.hh4-date-label>span i{display:inline-block;width:.75rem;height:.75rem;border-radius:999px;box-shadow:0 0 0 3px rgba(0,0,0,.04);margin-right:.45rem;vertical-align:-1px}.hh4-date-arrival>span i{background:#20a464}.hh4-date-departure>span i{background:#f28c28}.hh4-summary{background:#24313a;color:#fff;border-radius:18px;padding:1rem;margin:1.2rem 0}.hh4-summary h3{margin-top:0;color:#fff;font-size:1.05rem}.hh4-summary *{color:inherit}.hh4-table-wrap{overflow:auto}.hh4-table{width:100%;border-collapse:collapse;background:#fff;color:#24313a;border-radius:12px;overflow:hidden;font-size:12.5px}.hh4-table th,.hh4-table td{padding:.55rem;border-bottom:1px solid #e6dfd5;text-align:left;white-space:nowrap;color:#24313a}.hh4-table th{background:#efe7da}.hh4-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}.hh4-totals div{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:.75rem}.hh4-totals span{display:block;font-size:.78rem;opacity:.85}.hh4-totals strong{display:block;font-size:1.05rem;margin-top:.25rem}.hh4-note{opacity:.9;margin-bottom:0}.hh4-errors{background:#ffe9e4;color:#7d1b10;border-radius:12px;padding:.8rem;margin-bottom:1rem}.hh4-errors p{margin:.2rem 0}.hh4-button{border:0;border-radius:999px;padding:.85rem 1.2rem;background:#24313a;color:#fff;font-weight:800;cursor:pointer;width:auto}.hh4-button:hover{filter:brightness(1.1)}.hh4-alert{max-width:1080px;margin:1rem auto;padding:1rem;border-radius:14px;background:#e9f7ed;color:#173d22}.hh4-hidden{display:none!important}@media(max-width:760px){.hh4-grid,.hh4-totals{grid-template-columns:1fr}.hh4-form{font-size:13.5px;padding:1rem}.hh4-table th,.hh4-table td{padding:.5rem}.hh4-radio-row label{padding:.45rem .65rem;margin-right:.4rem!important}}

.hh4-validation-errors{background:#ffe5e5!important;border:2px solid #d93025!important;color:#8b0000!important;border-radius:14px!important;padding:1rem 1.1rem!important;margin:1rem 0!important;box-shadow:0 8px 24px rgba(217,48,37,.12)}.hh4-validation-errors strong{display:block;margin-bottom:.45rem;color:#8b0000!important}.hh4-validation-errors ul{margin:.35rem 0 0 1.15rem;padding:0}.hh4-validation-errors li{margin:.2rem 0;color:#8b0000!important}.hh4-form input.hh4-invalid,.hh4-form select.hh4-invalid,.hh4-form textarea.hh4-invalid{border:2px solid #d93025!important;background:#fff5f5!important;box-shadow:0 0 0 3px rgba(217,48,37,.12)!important}.hh4-form label.hh4-invalid{color:#8b0000!important}.hh4-form label.hh4-invalid .hh4-label-title,.hh4-form label.hh4-invalid span{color:#8b0000!important}.hh4-consent.hh4-invalid{background:#fff5f5;border:2px solid #d93025;border-radius:12px;padding:.65rem}.hh4-check.hh4-invalid{background:#fff5f5;border:2px solid #d93025;border-radius:12px;padding:.5rem}.hh4-radio-row label.hh4-invalid{border:2px solid #d93025!important;background:#fff5f5!important;color:#8b0000!important}

/* Validation JS : pas de validation native navigateur, erreurs visibles en rouge */
.hh4-validation-errors{background:#ffe5e5!important;border:2px solid #d93025!important;color:#8b0000!important;border-radius:14px!important;padding:1rem 1.1rem!important;margin:1rem 0!important;box-shadow:0 8px 24px rgba(217,48,37,.12)!important}.hh4-validation-errors *{color:#8b0000!important}.hh4-validation-errors strong{display:block;margin-bottom:.45rem}.hh4-validation-errors ul{margin:.35rem 0 0 1.15rem;padding:0}.hh4-validation-errors li{margin:.2rem 0}.hh4-form input.hh4-invalid,.hh4-form select.hh4-invalid,.hh4-form textarea.hh4-invalid{border:2px solid #d93025!important;background:#fff5f5!important;color:#111!important;box-shadow:0 0 0 3px rgba(217,48,37,.12)!important;outline:0!important}.hh4-form label.hh4-invalid{color:#8b0000!important}.hh4-form label.hh4-invalid .hh4-label-title,.hh4-form label.hh4-invalid span{color:#8b0000!important}.hh4-consent.hh4-invalid,.hh4-check.hh4-invalid{background:#fff5f5!important;border:2px solid #d93025!important;border-radius:12px!important;padding:.65rem!important}.hh4-radio-row label.hh4-invalid{border:2px solid #d93025!important;background:#fff5f5!important;color:#8b0000!important}.hh4-form input:invalid,.hh4-form select:invalid,.hh4-form textarea:invalid{box-shadow:none}.hh4-form input:focus,.hh4-form select:focus,.hh4-form textarea:focus{outline:2px solid rgba(36,49,58,.18);outline-offset:2px}.hh4-form input.hh4-invalid:focus,.hh4-form select.hh4-invalid:focus,.hh4-form textarea.hh4-invalid:focus{outline:2px solid rgba(217,48,37,.35)!important;outline-offset:2px}
.hh4-mail-clean.hh4-ko{color:#a12414;font-weight:700}.hh4-mail-clean.hh4-ko strong{color:#a12414}
