.availability-status{display:flex;align-items:center;justify-content:center;align-self:flex-start;width:fit-content;max-width:100%;min-height:30px;text-align:center;line-height:1.3;margin:20px 0!important;font-size:14px!important;letter-spacing:.02em}.availability-status.available{background:#e1ebd9;border-color:#b1c2a5;color:#244329}.availability-status.soon{background:#eee5d5;border-color:#d6c7af;color:#655136}.availability-status.check{background:transparent}.service-link-card .availability-status{margin:0 0 14px!important;padding:5px 10px;font-size:12px!important}.availability-action{max-width:100%;white-space:normal;text-align:center}.availability-dialog{box-sizing:border-box;width:min(540px,calc(100% - 32px));max-height:90dvh;overflow:auto;border:1px solid #ccd0bf;border-radius:24px;padding:36px;background:#fffaf2;color:#223b27}.availability-dialog::backdrop{background:#18322288;backdrop-filter:blur(4px)}.availability-dialog h2{font-size:32px;line-height:1.15;margin:16px 0}.availability-dialog p{font-size:17px;line-height:1.5}.availability-close{display:block;margin-left:auto;background:none;border:0;color:inherit;cursor:pointer;padding:8px}.availability-dialog label{display:block;margin:20px 0 8px}.availability-dialog input{box-sizing:border-box;width:100%;padding:14px;border:1px solid #87987f;border-radius:8px;background:#fff;font:inherit;color:#223b27}.availability-dialog .availability-consent,.availability-dialog .availability-message{font-size:13px;line-height:1.5}.availability-dialog input:focus-visible,.availability-close:focus-visible{outline:2px solid #476247;outline-offset:3px}

/* Availability choices share the service-page status and signup action. */
.choice[hidden], .optional-extras label[hidden] { display:none !important; }
.future-visit-option { padding:1rem 0; border-top:1px solid #d2d8ca; }
.future-visit-option h4 { margin:0 0 .4rem; }
.service-choices .choice small { display:block; margin-top:.3rem; }

.future-visit-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 2rem; margin-top:2rem; }
.future-visit-options > h3 { grid-column:1/-1; margin-bottom:0; }
@media(max-width:600px){ .future-visit-options { grid-template-columns:1fr; } }
