
.feist-booking{max-width:1180px;margin:auto;color:#102126}.feist-booking [hidden]{display:none!important}.fb-preview-note{padding:12px 18px;border:1px dashed #7d8f69;border-radius:12px;font-size:14px!important}.fb-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;margin:24px 0}.fb-hero h1,.fb-success h1{font-size:clamp(32px,4.3vw,58px)!important;line-height:1.06!important}.fb-lead{font-size:23px!important}.fb-hero-photo{position:relative;height:310px}.fb-hero-photo>img:first-child{width:100%;height:100%;object-fit:cover}.fb-hero-photo .fb-figure{position:absolute;width:68%;height:auto;right:-8px;bottom:-25px}.fb-steps{display:flex;justify-content:space-between;list-style:none;padding:0;margin:40px 0;gap:16px}.fb-steps li{display:flex;align-items:center;gap:12px;font-size:18px}.fb-steps b,.fb-next b{display:inline-grid;place-items:center;border-radius:50%;width:44px;height:44px;background:#d9f000;color:#102126}.fb-types{padding:0;border:0;margin:0}.fb-option{display:flex;align-items:center;gap:22px;padding:24px;border:1px solid #dce3d4;border-radius:20px;margin:14px 0;background:#fffefa;cursor:pointer}.fb-option:has(input:checked){border:2px solid #c6dd00;background:#eef2e7}.fb-option input{accent-color:#a4bc00;width:22px;height:22px;flex-shrink:0}.fb-option>img{width:62px!important;height:62px!important;border-radius:0!important}.fb-option strong{font-size:24px;display:block}.fb-option span span{display:block;margin-top:8px}.fb-option em{display:inline-block;padding:5px 13px;border-radius:22px;background:#d9f000;font-style:normal;font-size:16px;margin:0 10px}.fb-option small{display:block;max-width:680px;margin-top:8px;font-size:15px}.fb-place{margin-left:auto;border-left:1px solid #ccd5c6;padding-left:22px;min-width:200px}.fb-panel{background:#eef2e7;padding:28px;border-radius:20px;margin:18px 0}.fb-panel h2,.fb-summary h2{font-size:29px!important}.fb-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin-bottom:18px}.feist-booking label{font-size:17px;line-height:1.5}.fb-form :is(input:not([type=radio]):not([type=checkbox]),select,textarea){display:block;width:100%;box-sizing:border-box;padding:13px 16px;border:1px solid #c8d1c3;border-radius:10px;background:#fffefa;color:#102126;font:inherit;margin-top:7px;min-width:0}.fb-check{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:22px 0}.fb-check input{width:21px;height:21px}.fb-info{background:#f8f8dc;border:1px solid #e1e6b7;border-radius:14px;padding:18px;font-size:17px!important}.fb-submit,.fb-links a{display:block;width:100%;background:#d9f000;border:0;border-radius:28px;padding:15px 24px;color:#102126;font:inherit;font-size:19px;font-weight:700;cursor:pointer;box-sizing:border-box;text-align:center;text-decoration:none}.fb-direct{text-align:center;margin-top:18px!important}.fb-success{display:grid;grid-template-columns:1.6fr 1fr;align-items:center}.fb-success img{max-height:300px;object-fit:contain}.fb-demo,.fb-status{font-size:15px!important;background:#f5f5ca;padding:10px 14px;border-radius:15px}.fb-summary{padding:28px;border:1px solid #dce3d4;border-radius:20px}.fb-summary dl{display:grid;grid-template-columns:1fr 2fr;margin:0}.fb-summary dt,.fb-summary dd{padding:16px 0;border-bottom:1px solid #dce3d4;margin:0;overflow-wrap:anywhere}.fb-summary dd{font-weight:700}.fb-next{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:22px 0}.fb-next h3{font-size:21px!important;margin-top:14px!important}.fb-next p{font-size:17px!important}.fb-links{display:flex;gap:20px}.fb-links a:nth-child(2){background:transparent;border:1px solid #829177}.fb-back{border:0;background:transparent;text-decoration:underline;color:#102126;padding:15px 0;font:inherit;cursor:pointer}.feist-booking :focus-visible{outline:3px solid #243e23;outline-offset:3px}.fb-prep{background:#f8f8df}@media(max-width:700px){.fb-hero,.fb-success,.fb-fields,.fb-next{grid-template-columns:1fr}.fb-hero-photo{height:250px}.fb-steps{gap:8px}.fb-steps li{font-size:13px;gap:6px}.fb-steps b{width:30px;height:30px}.fb-option{padding:18px;gap:12px;flex-wrap:wrap}.fb-option>img{width:42px!important;height:42px!important}.fb-option strong{font-size:21px}.fb-place{margin-left:76px;border:0;padding:0}.fb-panel,.fb-summary{padding:22px 18px}.fb-summary dl{grid-template-columns:1fr}.fb-summary dt{border:0;padding-bottom:0}.fb-success img{max-height:200px}.fb-links{flex-direction:column}}

[data-feist-calendar]{margin-top:8px;max-width:420px;background:#fffefa;border:1px solid #c8d1c3;border-radius:14px;padding:12px}.fb-calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.fb-calendar-head button{width:42px;height:42px;background:#eef2e7;border:0;border-radius:12px;font-size:26px;cursor:pointer}.fb-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.fb-calendar-grid button{min-width:0;min-height:42px;border:1px solid #c5d974;background:#eef4d4;border-radius:8px;color:#142021;font:inherit;cursor:pointer}.fb-calendar-grid button[aria-pressed=true]{background:#d9f000;border:2px solid #50610d;font-weight:700}.fb-calendar-grid button:disabled{background:#eee;color:#8c9189;border-color:transparent;cursor:not-allowed}.fb-calendar-head button:disabled{opacity:.35;cursor:not-allowed}.fb-weekday{text-align:center;font-size:14px;font-weight:700;padding:5px 0}.fb-calendar-key{font-size:13px!important;margin:10px 0 0!important}[data-date-error]{color:#9f2222;font-size:15px!important;margin-top:8px!important}

.feist-booking [data-feist-calendar]{width:100%;max-width:460px;box-sizing:border-box;min-width:0}
.feist-booking .fb-calendar-grid{width:100%;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.feist-booking .fb-calendar-grid>button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;padding:0!important;margin:0!important;font-size:16px!important;line-height:1!important;letter-spacing:normal;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;box-sizing:border-box}
.feist-booking .fb-calendar-head button{padding:0!important;display:grid;place-items:center;line-height:1!important;flex-shrink:0}
.feist-booking .fb-calendar-head strong{font-size:17px;text-align:center;line-height:1.3}
.feist-booking .fb-fields>*{min-width:0}
@media(max-width:700px){.feist-booking [data-feist-calendar]{max-width:none}.feist-booking .fb-calendar-grid>button{min-height:40px}}

/* V10.20: keep the figure inside narrow screens; desktop design unchanged. */
.feist-booking .fb-hero-photo .fb-figure{right:0;max-width:100%}
.feist-booking .fb-types{min-width:0}
@media(max-width:360px){.feist-booking .fb-steps{flex-wrap:wrap}.feist-booking .fb-steps li{min-width:0}.feist-booking .fb-place{min-width:0;margin-left:0;width:100%}}
