/* Booking Acortec. Scoped, original interface for Acosta. */
.bac {
  --bac-ink:#183c47; --bac-blue:#005388; --bac-blue-hover:#003e67;
  --bac-muted:#52656a; --bac-cream:#f5f3ec; --bac-sky:#e5eef7; --bac-line:#d2dcdf;
  color:var(--bac-ink); font-family:inherit; font-size:17px; line-height:1.6;
  padding-block:24px 78px; scroll-margin-top:35px;
}
.bac *, .bac *::before, .bac *::after { box-sizing:border-box; }
.bac [hidden] { display:none !important; }
.bac .bac-heading { max-width:790px; margin-bottom:36px; }
.bac .bac-heading h2 { color:var(--bac-ink); font-size:clamp(36px,4.5vw,56px); font-weight:500; line-height:1.13; letter-spacing:-.035em; margin:0 0 20px; }
.bac .bac-heading>p:not(.bac-kicker) { color:var(--bac-muted); font-size:19px; line-height:1.6; margin:0; max-width:63ch; }
.bac .bac-kicker { font-size:12px; line-height:1.5; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:var(--bac-blue); margin:0 0 16px; }
.bac .bac-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(225px,.65fr); gap:clamp(35px,5vw,75px); align-items:start; }
.bac .bac-panel, .bac .bac-aside { min-width:0; }
.bac .bac-demo { padding:16px 19px; margin:0 0 25px; background:var(--bac-cream); border-left:3px solid var(--bac-blue); border-radius:0 4px 4px 0; font-size:14px; line-height:1.6; color:var(--bac-muted); }
.bac .bac-demo strong { color:var(--bac-ink); font-weight:600; }
.bac .bac-progress { display:flex; flex-wrap:wrap; gap:16px 28px; list-style:none; padding:0 0 25px; margin:0 0 31px; border-bottom:1px solid var(--bac-line); font-size:14px; line-height:1.4; scroll-margin-top:28px; }
.bac .bac-progress li { display:flex; gap:10px; align-items:center; color:var(--bac-muted); margin:0; }
.bac .bac-progress li>span { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid var(--bac-line); border-radius:50%; flex:0 0 30px; font-size:13px; }
.bac .bac-progress li[aria-current] { color:var(--bac-blue); font-weight:600; }
.bac .bac-progress li[aria-current]>span { background:var(--bac-blue); border-color:var(--bac-blue); color:#fff; }
.bac .bac-progress .bac-complete>span { color:var(--bac-blue); border-color:var(--bac-blue); background:var(--bac-sky); }
.bac .bac-form { margin:0; }
.bac .bac-fieldset, .bac .bac-daypart { min-width:0; border:0; padding:0; margin:0 0 31px; }
.bac .bac-fieldset>legend, .bac .bac-step-title { float:none; width:100%; padding:0; margin:0 0 15px; font-size:24px; line-height:1.3; font-weight:500; letter-spacing:-.02em; color:var(--bac-ink); }
.bac .bac-required { display:inline-block; color:var(--bac-muted); font-size:11px; font-weight:500; letter-spacing:.025em; text-transform:uppercase; vertical-align:middle; margin-left:8px; }
.bac .bac-help { font-size:14px; color:var(--bac-muted); line-height:1.6; margin:0 0 17px; max-width:66ch; }
.bac .bac-mode-grid, .bac .bac-center-grid, .bac .bac-daypart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.bac .bac-reason-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.bac .bac-choice { position:relative; display:block; margin:0; cursor:pointer; min-width:0; }
.bac .bac-choice>input { position:absolute; width:1px; height:1px; padding:0; margin:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.bac .bac-choice>span { display:flex; align-items:center; gap:13px; min-height:56px; height:100%; padding:17px; border:1px solid var(--bac-line); border-radius:5px; background:#fff; line-height:1.4; color:var(--bac-ink); }
.bac .bac-choice:hover>span { border-color:var(--bac-blue); }
.bac .bac-choice>input:checked+span { border-color:var(--bac-blue); background:var(--bac-sky); box-shadow:inset 0 0 0 1px var(--bac-blue); }
.bac .bac-choice>input:focus-visible+span { outline:3px solid var(--bac-blue); outline-offset:3px; }
.bac .bac-choice strong { display:block; font-size:15px; font-weight:600; line-height:1.4; }
.bac .bac-choice small { display:block; font-size:13px; line-height:1.5; margin-top:5px; color:var(--bac-muted); }
.bac .bac-icon { display:block; width:28px; height:28px; flex:0 0 28px; color:var(--bac-blue); }
.bac .bac-mode>span { padding:18px 19px; }
.bac .bac-mode .bac-icon { width:30px; height:30px; flex-basis:30px; }
.bac .bac-reason>span { flex-direction:column; justify-content:flex-start; text-align:center; gap:11px; min-height:119px; padding:18px 10px 15px; position:relative; }
.bac .bac-reason strong { font-size:13px; font-weight:500; }
.bac .bac-reason .bac-icon { width:29px; height:29px; flex-basis:29px; }
.bac .bac-selected-mark { display:none; position:absolute; top:7px; right:8px; color:var(--bac-blue); font-size:12px; line-height:1; font-weight:600; }
.bac .bac-choice>input:checked+span .bac-selected-mark { display:block; }
.bac .bac-center>span { display:block; min-height:114px; padding:18px 29px 18px 17px; position:relative; }
.bac .bac-center strong { font-size:16px; }
.bac .bac-center small { margin-top:7px; font-size:13px; }
.bac .bac-context { color:var(--bac-blue); background:var(--bac-sky); font-size:14px; padding:12px 16px; border-radius:4px; margin:0 0 27px; overflow-wrap:anywhere; }
.bac .bac-notice { padding:17px 19px; background:var(--bac-cream); border-radius:4px; color:var(--bac-muted); font-size:14px; line-height:1.65; margin:0 0 27px; }
.bac .bac-notice a, .bac .bac-consent a { color:var(--bac-blue); text-decoration:underline; text-underline-offset:3px; }
.bac .bac-preference { border-top:1px solid var(--bac-line); padding-top:26px; margin-top:34px; }
.bac .bac-preference>legend { transform:translateY(11px); padding-right:12px; background:#fff; width:auto; }
.bac .bac-daypart { margin:20px 0 0; }
.bac .bac-daypart>legend { margin:0 0 10px; padding:0; font-size:15px; font-weight:600; line-height:1.5; }
.bac .bac-daypart .bac-choice>span { padding:12px 16px; }
.bac .bac-daypart .bac-icon { width:24px; height:24px; flex-basis:24px; }
.bac .bac-field { margin:0 0 22px; min-width:0; }
.bac .bac-field>label { display:block; font-size:15px; font-weight:600; margin:0 0 8px; line-height:1.5; color:var(--bac-ink); }
.bac .bac-field>input, .bac .bac-field>textarea, .bac .bac-field>select {
  display:block; width:100%; max-width:100%; min-width:0; min-height:52px; border:1px solid #8b9da4;
  border-radius:4px; padding:13px 15px; color:var(--bac-ink); background:#fff; font:inherit; font-size:16px; line-height:1.5;
}
.bac .bac-field>textarea { resize:vertical; min-height:108px; }

.bac .bac-field>input[type=number] { max-width:160px; }
.bac .bac-field input::placeholder, .bac .bac-field textarea::placeholder { color:#6b797d; opacity:1; }
.bac .bac-field>small { display:block; font-size:13px; line-height:1.6; color:var(--bac-muted); margin-top:8px; }
.bac .bac-optional { font-size:13px; font-weight:400; color:var(--bac-muted); }
.bac .bac-consent { display:flex; gap:12px; align-items:flex-start; font-size:14px; color:var(--bac-muted); line-height:1.65; margin:28px 0; padding-block:5px; cursor:pointer; }
.bac .bac-consent input { flex:0 0 20px; width:20px; height:20px; margin:3px 0 0; accent-color:var(--bac-blue); }
.bac .bac-consent>span { min-width:0; }
.bac .bac-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px 25px; margin-top:30px; }
.bac .bac-button, .bac .bac-back, .bac .bac-event-register>summary { font:inherit; cursor:pointer; }
.bac .bac-button { display:inline-flex; align-items:center; justify-content:space-between; gap:27px; min-height:54px; border:1px solid var(--bac-blue); border-radius:5px; padding:15px 24px; background:var(--bac-blue); color:#fff; font-size:15px; font-weight:600; line-height:1.45; text-align:left; text-decoration:none; }
.bac .bac-button>span { font-size:23px; line-height:1; font-weight:400; }
.bac .bac-button:hover { background:var(--bac-blue-hover); border-color:var(--bac-blue-hover); }
.bac .bac-button:disabled { cursor:wait; opacity:.65; }
.bac .bac-back { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:10px 1px; border:0; border-bottom:1px solid var(--bac-line); border-radius:0; color:var(--bac-ink); background:transparent; font-size:14px; font-weight:600; line-height:1.5; text-decoration:none; }
.bac .bac-back:hover { color:var(--bac-blue); border-color:var(--bac-blue); }
.bac .bac-button:focus-visible, .bac .bac-back:focus-visible, .bac a:focus-visible, .bac input:focus-visible, .bac textarea:focus-visible, .bac select:focus-visible, .bac summary:focus-visible { outline:3px solid var(--bac-blue); outline-offset:3px; }
.bac input[aria-invalid=true], .bac textarea[aria-invalid=true], .bac select[aria-invalid=true] { border-color:#a32d2d; }
.bac .bac-choice>input[aria-invalid=true]+span { border-color:#a32d2d; }
.bac .bac-error { margin:24px 0 0; color:#8c2020; background:#fff2ef; border-left:3px solid #a32d2d; padding:14px 17px; font-size:14px; line-height:1.6; }
.bac .bac-summary { margin:24px 0 28px; border-top:1px solid var(--bac-line); }
.bac .bac-summary>div { display:grid; grid-template-columns:135px minmax(0,1fr); gap:22px; border-bottom:1px solid var(--bac-line); padding:16px 0; }
.bac .bac-summary dt { color:var(--bac-muted); font-size:14px; line-height:1.6; margin:0; }
.bac .bac-summary dd { margin:0; font-size:16px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.bac .bac-success { background:var(--bac-cream); border-radius:5px; padding:clamp(24px,4vw,42px); }
.bac .bac-success h3, .bac .bac-success h4 { font-weight:500; font-size:clamp(28px,3vw,38px); line-height:1.2; letter-spacing:-.03em; margin:0 0 18px; color:var(--bac-ink); }
.bac .bac-success>p:not(.bac-kicker) { margin:0 0 22px; font-size:16px; line-height:1.65; color:var(--bac-muted); }
.bac .bac-success .bac-reference { font-size:14px; color:var(--bac-blue); font-weight:600; }
.bac .bac-aside { padding-top:26px; border-top:1px solid var(--bac-line); }
.bac .bac-aside h3 { font-size:clamp(28px,3vw,35px); line-height:1.18; letter-spacing:-.03em; font-weight:500; margin:0 0 23px; color:var(--bac-ink); }
.bac .bac-aside>p:not(.bac-kicker) { color:var(--bac-muted); font-size:16px; line-height:1.7; margin:0 0 27px; }
.bac .bac-aside-note { display:flex; gap:14px; align-items:flex-start; padding:21px 0; border-block:1px solid var(--bac-line); margin-bottom:20px; }
.bac .bac-aside-note p { font-size:14px; line-height:1.7; color:var(--bac-muted); margin:0; }
.bac .bac-aside-note strong { color:var(--bac-ink); font-weight:500; }
.bac .bac-aside-note .bac-icon { width:24px; height:24px; flex-basis:24px; margin-top:3px; }
.bac .bac-phone { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:54px; color:var(--bac-blue); font-size:23px; font-weight:500; text-decoration:none; letter-spacing:-.025em; }
.bac .bac-phone:hover { text-decoration:underline; text-underline-offset:5px; }
.bac .bac-honeypot, .bac .bac-sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.bac.bac-events { padding-top:45px; }
.bac .bac-event { padding:30px 0; border-top:1px solid var(--bac-line); max-width:850px; }
.bac .bac-event h3 { font-size:30px; font-weight:500; letter-spacing:-.025em; line-height:1.25; color:var(--bac-ink); margin:0 0 16px; }
.bac .bac-event-date { font-size:18px; color:var(--bac-blue); font-weight:500; margin:0 0 10px; }
.bac .bac-event-address { white-space:pre-line; font-size:15px; color:var(--bac-muted); margin:0 0 16px; }
.bac .bac-event-description { color:var(--bac-muted); white-space:pre-line; font-size:16px; line-height:1.7; margin:0 0 22px; overflow-wrap:anywhere; }
.bac .bac-event-register { margin-top:20px; border:1px solid var(--bac-line); border-radius:5px; }
.bac .bac-event-register>summary { color:var(--bac-blue); padding:15px 19px; min-height:54px; font-size:15px; font-weight:600; }
.bac .bac-event-register[open]>summary { border-bottom:1px solid var(--bac-line); }
.bac .bac-event-form { padding:25px; margin:0; max-width:650px; }
.bac .bac-event-register>.bac-success { margin:20px; }
.bac .bac-event-status { margin:15px 0 0; color:var(--bac-muted); font-size:14px; }
.bac .bac-empty { font-size:16px; color:var(--bac-muted); margin:0; padding:21px 0; border-top:1px solid var(--bac-line); }
@media (max-width:1050px) {
  .bac .bac-layout { grid-template-columns:minmax(0,1fr) 250px; gap:35px; }
  .bac .bac-reason-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bac .bac-reason>span { flex-direction:row; text-align:left; justify-content:flex-start; min-height:77px; padding:16px; gap:12px; }
  .bac .bac-reason strong { max-width:14ch; }
}
@media (max-width:850px) {
  .bac .bac-layout { grid-template-columns:1fr; gap:42px; }
  .bac .bac-aside { max-width:650px; }
  .bac .bac-aside h3 { max-width:23ch; }
}
@media (max-width:580px) {
  .bac { padding-block:16px 55px; scroll-margin-top:20px; font-size:16px; }
  .bac .bac-heading { margin-bottom:27px; }
  .bac .bac-heading h2 { font-size:37px; }
  .bac .bac-heading>p:not(.bac-kicker) { font-size:17px; }
  .bac .bac-demo { font-size:13px; padding:14px 15px; }
  .bac .bac-progress { gap:17px; font-size:12px; padding-bottom:22px; margin-bottom:27px; }
  .bac .bac-progress li { gap:7px; }
  .bac .bac-progress li>span { width:26px; height:26px; flex-basis:26px; font-size:12px; }
  .bac .bac-fieldset>legend, .bac .bac-step-title { font-size:23px; }
  .bac .bac-required { font-size:10px; }
  .bac .bac-mode-grid { gap:10px; }
  .bac .bac-mode>span { align-items:flex-start; flex-direction:column; padding:16px 14px; gap:12px; min-height:133px; }
  .bac .bac-mode strong { font-size:14px; }
  .bac .bac-mode small { font-size:12px; }
  .bac .bac-reason-grid { gap:9px; }
  .bac .bac-reason>span { flex-direction:column; text-align:center; justify-content:flex-start; gap:10px; min-height:117px; padding:16px 10px; }
  .bac .bac-reason strong { font-size:13px; max-width:16ch; }
  .bac .bac-center-grid { grid-template-columns:1fr; gap:10px; }
  .bac .bac-center>span { min-height:102px; padding-block:16px; }
  .bac .bac-daypart-grid { gap:10px; }
  .bac .bac-daypart .bac-choice>span { padding:13px 12px; gap:9px; }
  .bac .bac-daypart .bac-choice strong { font-size:14px; }
  .bac .bac-actions { gap:12px 23px; margin-top:25px; }
  .bac .bac-button { padding:15px 20px; }
  .bac .bac-summary>div { grid-template-columns:103px minmax(0,1fr); gap:17px; padding:15px 0; }
  .bac .bac-summary dd { font-size:15px; }
  .bac .bac-summary dt { font-size:13px; }
  .bac .bac-event h3 { font-size:27px; }
  .bac .bac-event-form { padding:20px 16px; }
}
@media (prefers-reduced-motion:reduce) { .bac *, .bac *::before, .bac *::after { scroll-behavior:auto !important; } }

.bac .bac-data-policy{margin:24px 0 18px;padding:20px;border:1px solid #dce5ec;border-radius:10px;background:#f5f8fb;color:#425967;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.bac .bac-data-policy h4{margin:0 0 10px;font-size:16px}.bac .bac-data-policy div{max-width:100%}

.bac .bac-policy-text{white-space:pre-wrap}

.bac .bac-date-control { display:flex; max-width:310px; min-width:0; border:1px solid #8b9da4; border-radius:4px; background:#fff; }
.bac .bac-date-control:focus-within { outline:3px solid var(--bac-blue); outline-offset:3px; }
.bac .bac-date-control>input { display:block; width:100%; min-width:0; min-height:52px; padding:13px 15px; border:0; border-radius:4px; background:transparent; color:var(--bac-ink); font:inherit; font-size:16px; cursor:pointer; }
.bac .bac-date-control>input:focus-visible { outline:none; }
.bac .bac-date-control>input[aria-invalid=true] { box-shadow:inset 0 0 0 1px #a32d2d; }
.bac .bac-date-open { display:grid; place-items:center; flex:0 0 48px; min-height:50px; padding:10px; border:0; border-radius:0 4px 4px 0; color:var(--bac-blue); background:transparent; cursor:pointer; }
.bac .bac-date-open:hover { background:var(--bac-sky); }
.bac .bac-date-open:focus-visible { outline:3px solid var(--bac-blue); outline-offset:2px; }
.bac .bac-date-open svg { width:23px; height:23px; }
#ui-datepicker-div.bac-datepicker { box-sizing:border-box; display:none; z-index:100010!important; width:338px; max-width:calc(100vw - 24px); padding:12px; border:1px solid #dce5ec; border-radius:9px; background:#fff; color:#203e49; box-shadow:0 10px 35px #203e4926; font-family:inherit; font-size:15px; }
.bac-datepicker .ui-datepicker-header { position:relative; min-height:40px; padding:7px 38px 10px; background:#fff; border:0; }
.bac-datepicker .ui-datepicker-title { margin:0; color:#203e49; text-align:center; font-size:16px; font-weight:600; line-height:1.5; }
.bac-datepicker .ui-datepicker-prev, .bac-datepicker .ui-datepicker-next { position:absolute; top:0; display:grid; place-items:center; width:36px; height:36px; border:0; border-radius:5px; color:#265b91; background:#f4f7fa; text-decoration:none; cursor:pointer; }
.bac-datepicker .ui-datepicker-prev { left:0; }
.bac-datepicker .ui-datepicker-next { right:0; }
.bac-datepicker .ui-datepicker-prev:after { content:'‹'; font-size:27px; line-height:1; }
.bac-datepicker .ui-datepicker-next:after { content:'›'; font-size:27px; line-height:1; }
.bac-datepicker .ui-datepicker-prev>span, .bac-datepicker .ui-datepicker-next>span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.bac-datepicker .ui-datepicker-prev.ui-state-disabled, .bac-datepicker .ui-datepicker-next.ui-state-disabled { opacity:.3; cursor:default; }
.bac-datepicker table { width:100%; margin:6px 0 0; border:0; border-collapse:separate; border-spacing:2px; table-layout:fixed; background:transparent; }
.bac-datepicker th { height:31px; padding:3px 0; border:0; color:#536570; background:transparent; text-align:center; font-size:12px; font-weight:600; }
.bac-datepicker td { padding:0; border:0; background:transparent; text-align:center; }
.bac-datepicker td>a, .bac-datepicker td>span { display:grid; place-items:center; box-sizing:border-box; width:100%; height:40px; padding:0; border:1px solid transparent; border-radius:5px; color:#203e49; background:#fff; font-size:15px; line-height:1; text-align:center; text-decoration:none; }
.bac-datepicker td>a:hover { color:#265b91; background:#e8f0fa; }
.bac-datepicker td>.ui-state-active { color:#fff; background:#265b91; }
.bac-datepicker td.ui-datepicker-today>a { border-color:#265b91; }
.bac-datepicker td.ui-datepicker-unselectable>span { color:#a1aab1; background:#f7f8f9; cursor:default; }
.bac-datepicker a:focus-visible { outline:3px solid #265b91; outline-offset:1px; }
