#custom-booking{background:#f7f8f4;color:#202825;padding:22px;border-radius:12px;font-family:Barlow,Arial,sans-serif}#custom-booking *{box-sizing:border-box}.booking-demo{font-size:10px;font-weight:800;letter-spacing:.06em;color:#58624f;margin:0 0 16px}.booking-steps{display:flex;list-style:none;gap:8px;padding:0;margin:0 0 22px}.booking-steps li{flex:1;border-bottom:3px solid #d5dbcf;padding-bottom:8px;color:#596451;font-size:13px;font-weight:700}.booking-steps li[aria-current]{color:#31551d;border-color:#6f9f39}.booking-stage h3{font-family:Alegreya,Georgia,serif;font-size:28px;line-height:1.12;margin:0 0 18px;color:#202825}.booking-week{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:8px}.booking-week strong{font-size:16px}.booking-week button{width:44px;height:44px;border:1px solid #b4bfa9;background:#fff;border-radius:50%;color:#253320;font-size:20px;cursor:pointer}.booking-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.booking-day{min-height:72px;background:#fff;border:1px solid #aebba4;border-radius:10px;color:#253320;cursor:pointer;font-family:inherit}.booking-day span{display:block;font-size:12px}.booking-day strong{font-size:24px}.booking-day[aria-pressed=true],.booking-times button[aria-pressed=true]{background:#e0edce;border:2px solid #547e2f}.booking-hint{color:#52604b;font-size:14px;line-height:1.5;margin:18px 0}.booking-primary{background:#8ec642;color:#18191b;font:700 15px Barlow,Arial,sans-serif;border:1px solid transparent;border-radius:999px;padding:13px 18px;min-height:48px;cursor:pointer}.booking-stage>.booking-primary{width:100%}#custom-booking button:disabled{opacity:.45;cursor:not-allowed}#custom-booking button:not(:disabled):hover{filter:brightness(.96)}#custom-booking :focus-visible{outline:3px solid #426924;outline-offset:3px}.booking-zone{font-size:12px;color:#52604b;line-height:1.5;margin:18px 0 0}.booking-times{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.booking-times button{border:1px solid #aebba4;background:#fff;border-radius:10px;min-height:58px}.booking-chosen{padding:14px;background:#e9eddf;border-radius:8px;color:#304227;font-size:16px;font-weight:600;line-height:1.4}.booking-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.booking-back{background:transparent;color:#365720;border:0;min-height:44px;font:700 13px Barlow,Arial,sans-serif;cursor:pointer;padding:8px}.booking-stage label{display:block;font-size:14px;font-weight:600;margin-top:14px}.booking-stage input{display:block;width:100%;background:#fff;color:#202825;border:1px solid #aebba4;border-radius:8px;padding:12px;font:16px Barlow,Arial,sans-serif;margin-top:6px;min-height:48px}.booking-stage input::-moz-placeholder{color:#68715f}.booking-stage input::placeholder{color:#68715f}.booking-options{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-options legend{font-size:14px;font-weight:700;margin-bottom:12px}.booking-options .booking-option{position:relative;display:flex;align-items:center;gap:10px;margin:0;min-height:76px;padding:12px;background:#fff;border:1px solid #aebba4;border-radius:10px;cursor:pointer;line-height:1.35}.booking-options .booking-option:has(input:checked){background:#e0edce;border-color:#547e2f}.booking-options input,.booking-consent input{width:18px;height:18px;min-height:0;flex:none;margin:0;accent-color:#547e2f}.booking-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-stage .booking-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:400;line-height:1.5;margin-top:20px}.booking-consent input{margin-top:3px}.booking-review{display:grid;gap:10px;margin:18px 0}.booking-review div{border-bottom:1px solid #d5dbcf;padding-bottom:8px}.booking-review dt{font-size:12px;color:#52604b}.booking-review dd{font-size:15px;margin:2px 0 0;overflow-wrap:anywhere}.booking-hint a{color:#365720;text-decoration:underline;text-underline-offset:3px}@media (max-width:360px){.booking-options,.booking-contact-grid{grid-template-columns:1fr}}@media (max-width:600px){#custom-booking{padding:18px}.booking-stage h3{font-size:26px}.booking-actions{flex-wrap:wrap}.booking-demo{font-size:11px}}
