.fihe-wrap{--fihe-primary:#111;--fihe-accent:#c49a5a;--fihe-text:#202020;--fihe-muted:#777;--fihe-border:#dedede;max-width:960px;margin:40px auto;padding:0px;font-family:inherit;color:var(--fihe-text)}
.fihe-card{background:#fff;border:1px solid #e9e9e9;border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.09);overflow:hidden}
.fihe-header{text-align:center;padding:42px 35px 28px;background:linear-gradient(135deg,#faf8f4,#fff)}
.fihe-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:2px;color:var(--fihe-accent);margin-bottom:8px}.fihe-header h2{margin:0 0 8px;font-size:32px;line-height:1.2}.fihe-header p{margin:0;color:var(--fihe-muted);font-size:15px}
.fihe-progress{position:relative;display:flex;justify-content:space-between;padding:22px 7%;border-bottom:1px solid #eee}.fihe-progress-line{position:absolute;left:10%;right:10%;top:37px;height:2px;background:#e8e8e8}.fihe-progress-line span{display:block;height:100%;width:0;background:var(--fihe-accent);transition:width .25s}.fihe-step-dot{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:7px;color:#999}.fihe-step-dot b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eee;color:#777;font-size:12px}.fihe-step-dot small{font-size:11px;font-weight:600}.fihe-step-dot.active,.fihe-step-dot.complete{color:#222}.fihe-step-dot.active b,.fihe-step-dot.complete b{background:var(--fihe-primary);color:#fff}
#fihe-form{padding:38px 42px}.fihe-step{display:none}.fihe-step.active{display:block}.fihe-step-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:26px}.fihe-step-heading>span{font-size:12px;font-weight:800;letter-spacing:1px;color:var(--fihe-accent);padding-top:5px}.fihe-step-heading h3{margin:0 0 4px;font-size:23px}.fihe-step-heading p{margin:0;color:var(--fihe-muted);font-size:14px}
.fihe-grid{display:grid;gap:20px}.fihe-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fihe-grid.one{grid-template-columns:1fr}.fihe-field label{display:block;font-size:13px;font-weight:700;margin:0 0 8px}.fihe-field label em{color:#c53030;font-style:normal}.fihe-field input,.fihe-field select,.fihe-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--fihe-border);border-radius:8px;background:#fff;color:#222;padding:13px 14px;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s}.fihe-field textarea{resize:vertical;min-height:120px}.fihe-field input:focus,.fihe-field select:focus,.fihe-field textarea:focus{border-color:var(--fihe-accent);box-shadow:0 0 0 3px rgba(196,154,90,.12)}.fihe-field input.fihe-invalid,.fihe-field select.fihe-invalid,.fihe-field textarea.fihe-invalid{border-color:#c53030}
.fihe-choice-row{display:flex;gap:10px;flex-wrap:wrap}.fihe-choice{cursor:pointer!important;margin:0!important}.fihe-choice input{position:absolute;opacity:0;width:1px;height:1px}.fihe-choice span{display:block;border:1px solid var(--fihe-border);border-radius:8px;padding:12px 18px;background:#fff;font-size:14px;font-weight:600}.fihe-choice input:checked+span{border-color:var(--fihe-primary);background:#111;color:#fff}
.fihe-date-range{display:grid;grid-template-columns:1fr 28px 1fr;gap:12px;align-items:end}.fihe-range-arrow{text-align:center;padding-bottom:13px;color:#999;font-size:20px}.fihe-note{margin:0;color:var(--fihe-muted);font-size:12px;line-height:1.6}
.fihe-errors{min-height:22px;margin-top:18px;color:#b42318;font-size:13px;font-weight:600}.fihe-actions{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.fihe-btn{appearance:none;border:0;border-radius:8px;padding:13px 22px;font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s,opacity .15s,background .15s}.fihe-btn:hover{transform:translateY(-1px)}.fihe-prev{background:#f1f1f1;color:#333}.fihe-next,.fihe-submit{margin-left:auto;background:var(--fihe-primary);color:#fff}.fihe-submit{background:var(--fihe-accent);color:#fff}.fihe-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.fihe-loading{display:none;text-align:right;color:var(--fihe-muted);font-size:12px;margin-top:12px}.fihe-loading.show{display:block}.fihe-success{text-align:center;padding:55px 35px}.fihe-success-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#1f7a4d;color:#fff;font-size:30px}.fihe-success h3{margin:0 0 8px;font-size:28px}.fihe-success p{max-width:560px;margin:0 auto 24px;color:var(--fihe-muted);line-height:1.7}.fihe-reset{background:#111;color:#fff}
.flatpickr-calendar{font-family:inherit}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:#111;border-color:#111}.flatpickr-day.inRange{background:#eee;border-color:#eee;color:#111}
@media(max-width:700px){.fihe-header{padding:30px 20px}.fihe-header h2{font-size:25px}.fihe-progress{padding:18px 4%}.fihe-step-dot small{display:none}.fihe-progress-line{top:33px;left:8%;right:8%}#fihe-form{padding:28px 20px}.fihe-grid.two,.fihe-date-range{grid-template-columns:1fr}.fihe-range-arrow{display:none}.fihe-actions{flex-wrap:wrap}.fihe-next,.fihe-submit{margin-left:0;width:100%}.fihe-prev{width:100%}.fihe-choice-row{display:grid;grid-template-columns:1fr 1fr}.fihe-choice:last-child{grid-column:1/-1}.fihe-success{padding:40px 20px}}


.fihe-time-picker {
    width: 100%;
}

.fihe-time-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 4px;
}

.fihe-time-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #d9dde3;
    border-radius: 10px;
    background: #fff;
    color: #24292f;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition:
        background-color .18s ease,
        border-color .18s ease,
        color .18s ease,
        box-shadow .18s ease,
        transform .12s ease;
}

.fihe-time-btn:hover:not(:disabled) {
    border-color: #b88932;
    background: #fffaf1;
    color: #8a621e;
    transform: translateY(-1px);
}

.fihe-time-btn:focus-visible {
    outline: 3px solid rgba(184, 137, 50, .22);
    outline-offset: 2px;
}

.fihe-time-btn.selected {
    background: #b88932;
    border-color: #b88932;
    color: #fff;
    box-shadow: 0 4px 12px rgba(184, 137, 50, .25);
}

.fihe-time-btn.selected:hover {
    background: #a97827;
    border-color: #a97827;
    color: #fff;
}

.fihe-time-btn.booked,
.fihe-time-btn:disabled {
    background: #f3f4f6;
    border-color: #e3e5e8;
    color: #a0a5ab;
    cursor: not-allowed;
    opacity: .75;
    transform: none;
}

.fihe-time-btn.booked::after {
    content: "Booked";
    position: absolute;
    right: 6px;
    bottom: 4px;
    font-size: 9px;
    font-weight: 500;
    color: #9a9fa5;
}

.fihe-time-btn.booked {
    padding-bottom: 14px;
}

.fihe-time-empty {
    padding: 14px 16px;
    margin-top: 4px;
    border: 1px dashed #d9dde3;
    border-radius: 10px;
    background: #f8f9fa;
    color: #777;
    font-size: 14px;
    text-align: center;
}

.fihe-time-picker.has-error .fihe-time-grid {
    border-radius: 10px;
}

@media (max-width: 768px) {

    .fihe-time-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .fihe-time-btn {
        min-height: 46px;
        padding: 9px 8px;
        font-size: 13px;
    }

}

@media (max-width: 480px) {

    .fihe-time-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .fihe-time-btn {
        min-height: 48px;
        font-size: 14px;
    }

}

.fihe-time-helper {
    margin: -6px 0 12px;
    color: #777;
    font-size: 13px;
}

.mt-10 {
    margin-top: 10px;
}