.irr{--irr-accent:#1d4e89;--irr-accent-soft:color-mix(in srgb, var(--irr-accent) 12%, #fff);--irr-free:#e6f4ea;--irr-free-text:#1e6b35;--irr-full:#f3f3f3;--irr-border:#dcdfe4;--irr-radius:10px;max-width:560px;margin:1.5em 0;padding:20px;border:1px solid var(--irr-border);border-radius:var(--irr-radius);background:#fff;font-size:16px;line-height:1.5;color:#222;box-sizing:border-box}.irr *,.irr *::before,.irr *::after{box-sizing:border-box}.irr [hidden]{display:none!important}.irr-title{margin:0 0 12px}.irr-steps{display:flex;gap:6px;margin-bottom:16px;font-size:13px}.irr-step{flex:1;text-align:center;padding:6px 4px;border-radius:6px;background:#f4f5f7;color:#666}.irr-step.is-active{background:var(--irr-accent);color:#fff;font-weight:600}.irr-step.is-done{background:var(--irr-accent-soft);color:var(--irr-accent)}.irr-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.irr-cal-title{text-transform:capitalize;font-size:17px}.irr-nav{width:38px;height:38px;border:1px solid var(--irr-border);border-radius:50%;background:#fff;font-size:22px;line-height:1;cursor:pointer;color:var(--irr-accent);padding:0}.irr-nav:disabled{opacity:.3;cursor:default}.irr-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.irr-cal-dow span{text-align:center;font-size:12px;color:#777;padding:4px 0;text-transform:uppercase}.irr-day{height:46px;border:0;border-radius:8px;font-size:15px;display:flex;align-items:center;justify-content:center;padding:0;min-height:36px;font-family:inherit}.irr-day.is-empty{background:#fff0}.irr-day.is-closed{background:#fff0;color:#c2c5ca}.irr-day.is-full{background:var(--irr-full);color:#aaa;text-decoration:line-through}.irr-day.is-available{background:var(--irr-free);color:var(--irr-free-text);font-weight:600;cursor:pointer;transition:transform .1s,background .1s}.irr-day.is-available:hover,.irr-day.is-available:focus-visible{background:var(--irr-accent);color:#fff;transform:scale(1.05)}.irr-day.is-selected{background:var(--irr-accent)!important;color:#fff!important}.irr-day.is-today{box-shadow:inset 0 0 0 2px var(--irr-accent)}.irr-legend{display:flex;gap:16px;margin-top:10px;font-size:13px;color:#666}.irr-dot{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px}.irr-dot.is-available{background:var(--irr-free);border:1px solid #b5dcc0}.irr-dot.is-full{background:var(--irr-full);border:1px solid #ddd}.irr-loading{grid-column:1 / -1;padding:24px 0;text-align:center;color:#777}.irr-chosen{margin:0 0 14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.irr-link{background:none;border:0;color:var(--irr-accent);text-decoration:underline;cursor:pointer;padding:0;font:inherit}.irr-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.irr-slots p{grid-column:1 / -1}.irr-slot{padding:10px 6px;border:1px solid var(--irr-accent);border-radius:8px;background:#fff;color:var(--irr-accent);font-weight:600;font-size:15px;cursor:pointer;display:flex;flex-direction:column;align-items:center;font-family:inherit}.irr-slot small{font-weight:400;font-size:11px;opacity:.8}.irr-slot:hover,.irr-slot:focus-visible{background:var(--irr-accent);color:#fff}.irr-slot.is-full{border-color:#ddd;color:#aaa;background:#f7f7f7;cursor:default}.irr-field{margin-bottom:12px}.irr-field label{display:block;font-weight:600;margin-bottom:4px;font-size:14px}.irr-field input[type=text],.irr-field input[type=email],.irr-field input[type=tel],.irr-field select,.irr-field textarea{width:100%;padding:10px 12px;border:1px solid var(--irr-border);border-radius:8px;font:inherit;background:#fff}.irr-field input:focus,.irr-field select:focus,.irr-field textarea:focus{outline:2px solid var(--irr-accent);outline-offset:0;border-color:var(--irr-accent)}.irr-field.has-error input,.irr-field.has-error textarea{border-color:#c62828}.irr-check label{font-weight:400;display:flex;gap:8px;align-items:flex-start;font-size:14px}.irr-check input{margin-top:4px;flex:0 0 auto}.irr-check span{flex:1}.irr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.irr-error{background:#fdecea;color:#a12622;padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:14px}.irr-submit{width:100%;padding:13px;border:0;border-radius:8px;background:var(--irr-accent);color:#fff;font-size:16px;font-weight:600;cursor:pointer;font-family:inherit}.irr-submit:disabled{opacity:.6;cursor:wait}.irr-success{text-align:center;padding:10px 0}.irr-check-icon{width:64px;height:64px;margin:0 auto 10px;border-radius:50%;background:var(--irr-free);color:var(--irr-free-text);font-size:34px;line-height:64px}.irr-success-title strong{font-size:18px}@media (max-width:420px){.irr{padding:14px}.irr-cal-grid{gap:3px}.irr-steps{font-size:12px}}.irr-persons{margin-bottom:16px}.irr-label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}.irr-persons-btns{display:flex;flex-wrap:wrap;gap:6px}.irr-pbtn{min-width:44px;height:44px;padding:0 10px;border:1px solid var(--irr-border);border-radius:8px;background:#fff;font:inherit;font-weight:600;color:#333;cursor:pointer}.irr-pbtn:hover,.irr-pbtn:focus-visible{border-color:var(--irr-accent);color:var(--irr-accent)}.irr-pbtn.is-selected{background:var(--irr-accent);border-color:var(--irr-accent);color:#fff}.irr-hint{margin:8px 0 0;font-size:13px;color:#666}.irr-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:480px){.irr-row{grid-template-columns:1fr}}