/*!
 * Audacia Booking Form - front-end styles
 * Generated from the approved prototype. Every selector is scoped under .abf-root
 * (and every class is prefixed abf-) so nothing leaks into, or is overridden by,
 * Elementor / theme styles.
 */
.abf-root{
  --ink:#14103C; --paper:#F2F1F7; --indigo:#2A20A8; --pink:#D960AE;
  --grape:#7130AF; --lilac:#BE6FDE; --green:#4FAE50; --yellow:#FFD84D;
  --line:#DCDAE6; --radius:9px; --abf-sticky:12px;
  display:block; position:relative; box-sizing:border-box;
  max-width:940px; margin:0 auto; padding:0;
  font-family:Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:300; font-size:16px; line-height:1.5; color:var(--ink);
  -webkit-font-smoothing:antialiased; text-align:left; letter-spacing:normal; text-transform:none;
  scroll-margin-top:90px;
}
.abf-root.abf-portal{max-width:none;margin:0;position:static}
.abf-root *,.abf-root *::before,.abf-root *::after{box-sizing:border-box}
.abf-root .abf-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* ---- hardening against theme / Elementor global element styles ---- */
.abf-root.abf-root button{
  font-family:inherit; text-transform:none; letter-spacing:normal; text-decoration:none; text-shadow:none;
  box-shadow:none; min-height:0; min-width:0; height:auto; margin:0; line-height:1.35;
  -webkit-appearance:none; appearance:none; transition:none; white-space:normal;
}
.abf-root.abf-root h2,.abf-root.abf-root h3,.abf-root.abf-root h4,.abf-root.abf-root h5{
  font-family:inherit; text-transform:none; color:inherit; line-height:1.35; text-shadow:none;
}
.abf-root.abf-root p,.abf-root.abf-root dl,.abf-root.abf-root dd,.abf-root.abf-root dt{margin:0;padding:0;color:inherit;font-family:inherit}
.abf-root.abf-root label{margin:0;font-family:inherit;text-transform:none;letter-spacing:normal}
.abf-root.abf-root.abf-root input,.abf-root.abf-root.abf-root select,.abf-root.abf-root.abf-root textarea{
  font-family:inherit; text-transform:none; letter-spacing:normal; box-shadow:none; height:auto; min-height:0; margin:0; max-width:100%;
}
.abf-root.abf-root.abf-root input[type=checkbox]{width:auto;height:auto;padding:0;margin:0;accent-color:var(--indigo)}
.abf-root.abf-root .abf-page{padding:16px 14px 20px}
.abf-root.abf-root .abf-frame{background:#F7F7FB;border:1px solid var(--line);border-radius:13px;color:var(--ink)}
.abf-root.abf-root .abf-brandbar{background:var(--indigo);color:#fff;border-radius:12px 12px 0 0;padding:11px 18px;font-size:12.5px;font-weight:600;letter-spacing:.02em}
.abf-root.abf-root .abf-brandbar span{font-weight:300;opacity:.75;margin-left:7px;font-size:11.5px}
.abf-root.abf-root .abf-page{padding:16px 14px 20px}
.abf-root.abf-root .abf-layout{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}
.abf-root.abf-root .abf-layout.abf-rail{grid-template-columns:1fr 242px}
.abf-root.abf-root .abf-rail-col{position:sticky;top:calc(env(safe-area-inset-top,0px) + 12px);max-height:calc(100vh - 24px);overflow-y:auto}
.abf-root.abf-root .abf-rl{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}
.abf-root.abf-root .abf-rl h5{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--indigo);margin:0 0 9px}
.abf-root.abf-root .abf-rlwho{margin:0 0 9px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.abf-root.abf-root .abf-rlwho b{display:block;font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.3}
.abf-root.abf-root .abf-rlwho span{display:block;font-size:11px;color:#8A889C;margin-top:1px}
.abf-root.abf-root .abf-srow{display:block;width:100%;text-align:left;font-family:inherit;background:transparent;border:0;border-top:1px solid #F1F0F6;padding:7px 0;cursor:pointer}
.abf-root.abf-root .abf-srow:hover .abf-sv{color:var(--indigo)}
.abf-root.abf-root .abf-sk{display:block;font-size:9.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#9A98A8;margin-bottom:1px}
.abf-root.abf-root .abf-sv{display:block;font-size:12px;font-weight:400;color:var(--ink);line-height:1.35;word-break:break-word}
.abf-root.abf-root .abf-sv.abf-empty{color:#C2C0CE}
.abf-root.abf-root .abf-rlbar{height:3px;background:var(--paper);border-radius:2px;overflow:hidden}
.abf-root.abf-root .abf-rlbar i{display:block;height:100%;background:var(--green);transition:width .25s}
.abf-root.abf-root .abf-rltot{font-size:11px;color:#5F5E6E;margin:9px 0 0;padding-top:9px;border-top:1px solid var(--line)}
.abf-root.abf-root .abf-intro{margin:0 0 14px}
.abf-root.abf-root .abf-intro h2{font-size:18px;font-weight:600;margin:0 0 2px;letter-spacing:-.01em}
.abf-root.abf-root .abf-intro p{font-size:12.5px;color:#5F5E6E;margin:0}
.abf-root.abf-root .abf-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px 16px;margin-bottom:12px}
.abf-root.abf-root .abf-chead{display:flex;align-items:center;gap:9px;margin:0 0 14px}
.abf-root.abf-root .abf-num{flex:0 0 21px;width:21px;height:21px;border-radius:50%;background:var(--indigo);color:#fff;font-size:11.5px;font-weight:600;display:flex;align-items:center;justify-content:center}
.abf-root.abf-root .abf-chead h3{font-size:14.5px;font-weight:600;margin:0;letter-spacing:-.01em}
.abf-root.abf-root .abf-routed{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between;background:#fff;border:1px solid var(--line);border-left:3px solid var(--indigo);padding:11px 14px;margin-bottom:12px}
.abf-root.abf-root .abf-routed p{margin:0;font-size:12.5px;font-weight:500}
.abf-root.abf-root .abf-routed span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--indigo);margin-bottom:1px}
.abf-root.abf-root .abf-routed button{font-family:inherit;font-size:12px;font-weight:500;background:transparent;border:1px solid var(--line);border-radius:6px;padding:6px 12px;cursor:pointer;color:var(--indigo)}
.abf-root.abf-root .abf-routed button:hover{border-color:var(--indigo)}
.abf-root.abf-root .abf-amend{background:var(--yellow);color:#14103C;border-radius:9px;padding:10px 14px;font-size:12.5px;font-weight:400;margin-bottom:12px}
.abf-root.abf-root .abf-amend b{font-weight:600}
.abf-root.abf-root .abf-f{margin-bottom:16px}
.abf-root.abf-root .abf-f:last-child{margin-bottom:0}
.abf-root.abf-root .abf-fl{display:block;font-size:13px;font-weight:500;margin-bottom:1px}
.abf-root.abf-root .abf-fh{display:block;font-size:11.5px;color:#5F5E6E;margin-bottom:6px}
.abf-root.abf-root.abf-root input[type=text],
.abf-root.abf-root.abf-root input[type=email],
.abf-root.abf-root.abf-root input[type=date],
.abf-root.abf-root.abf-root input[type=number],
.abf-root.abf-root.abf-root select,
.abf-root.abf-root.abf-root textarea{width:100%;font-family:inherit;font-size:13.5px;font-weight:300;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:7px;padding:9px 11px}
.abf-root.abf-root.abf-root textarea{min-height:64px;resize:vertical}
.abf-root.abf-root.abf-root input:focus,
.abf-root.abf-root.abf-root select:focus,
.abf-root.abf-root.abf-root textarea:focus{outline:2px solid var(--indigo);outline-offset:-1px;border-color:var(--indigo)}
.abf-root.abf-root .abf-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.abf-root.abf-root .abf-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:7px}
.abf-root.abf-root .abf-rows.abf-cards{grid-template-columns:repeat(auto-fit,minmax(195px,1fr))}
.abf-root.abf-root .abf-rows.abf-two{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));max-width:280px}
.abf-root.abf-root .abf-row{display:block;width:100%;height:100%;text-align:left;font-family:inherit;font-size:13px;font-weight:400;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer;line-height:1.35}
.abf-root.abf-root .abf-row:hover{border-color:var(--indigo)}
.abf-root.abf-root .abf-row[aria-pressed="true"]{border-color:var(--indigo);border-width:1.5px;background:#FAFAFE;font-weight:500}
.abf-root.abf-root .abf-row b{display:block;font-weight:500;font-size:13.5px;margin-bottom:1px}
.abf-root.abf-root .abf-row[aria-pressed="true"] b{font-weight:600}
.abf-root.abf-root .abf-row i{display:block;font-style:normal;font-size:11.5px;font-weight:300;color:#5F5E6E;line-height:1.4}
.abf-root.abf-root .abf-chips{display:flex;flex-wrap:wrap;gap:6px}
.abf-root.abf-root .abf-chip{font-family:inherit;font-size:12.5px;font-weight:400;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer}
.abf-root.abf-root .abf-chip:hover{border-color:var(--indigo)}
.abf-root.abf-root .abf-chip[aria-pressed="true"]{background:var(--indigo);border-color:var(--indigo);color:#fff;font-weight:500}
.abf-root.abf-root .abf-chip.abf-soft[aria-pressed="true"]{background:var(--lilac);border-color:var(--lilac);color:#14103C}
.abf-root.abf-root .abf-seg{display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.abf-root.abf-root .abf-segb{flex:1 1 auto;font-family:inherit;font-size:12.5px;font-weight:400;color:#5F5E6E;background:#fff;border:0;border-right:1px solid var(--line);padding:10px 8px;cursor:pointer;white-space:nowrap}
.abf-root.abf-root .abf-segb:last-child{border-right:0}
.abf-root.abf-root .abf-segb:hover{color:var(--ink);background:#FAFAFE}
.abf-root.abf-root .abf-segb[aria-pressed="true"]{background:var(--indigo);color:#fff;font-weight:600}
.abf-root.abf-root .abf-custwrap{max-width:290px}
.abf-root.abf-root .abf-cust{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.abf-root.abf-root.abf-root .abf-cust select{width:auto;border:0;border-right:1px solid var(--line);border-radius:0;background:#FBFBFD;font-size:12.5px;padding:9px 8px;color:#5F5E6E}
.abf-root.abf-root.abf-root .abf-cust input{border:0;border-radius:0}
.abf-root.abf-root .abf-twocol{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.abf-root.abf-root .abf-colh{font-size:12.5px;font-weight:500;text-align:center;margin:0 0 6px;color:var(--ink)}
.abf-root.abf-root .abf-bigbtn{width:100%;font-family:inherit;font-size:13.5px;font-weight:500;background:#fff;border:1px solid var(--ink);border-radius:8px;padding:11px 10px;cursor:pointer;color:var(--ink)}
.abf-root.abf-root .abf-bigbtn:hover{border-color:var(--indigo);color:var(--indigo)}
.abf-root.abf-root .abf-bigbtn[aria-pressed="true"]{background:var(--indigo);border-color:var(--indigo);color:#fff}
.abf-root.abf-root .abf-adsum{background:#F3FAF4;border:1px solid #C3E3C4;border-radius:8px;padding:10px 12px;margin-top:11px;font-size:12.5px;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.abf-root.abf-root .abf-adsum b{font-weight:600}
.abf-root.abf-root .abf-ovl{position:fixed;inset:0;background:rgba(20,16,60,.45);z-index:40;border:0;padding:0;cursor:pointer}
.abf-root.abf-root .abf-panel{position:fixed;top:0;right:0;bottom:0;width:min(430px,100%);background:#fff;z-index:41;overflow-y:auto;color:var(--ink);
  padding:calc(env(safe-area-inset-top,0px) + 16px) 20px calc(env(safe-area-inset-bottom,0px) + 26px);
  box-shadow:-8px 0 28px rgba(20,16,60,.18)}
.abf-root.abf-root .abf-panel h3{font-size:18px;font-weight:600;color:var(--indigo);text-align:center;margin:0 0 18px;letter-spacing:-.01em}
.abf-root.abf-root .abf-pback{font-family:inherit;font-size:13px;font-weight:500;background:transparent;border:0;cursor:pointer;color:var(--ink);padding:0;margin-bottom:8px}
.abf-root.abf-root .abf-wc{font-size:11.5px;color:#5F5E6E;margin:5px 0 0}
.abf-root.abf-root .abf-wc b{font-weight:600}
.abf-root.abf-root .abf-wc.abf-over b{color:#A32D2D}
.abf-root.abf-root .abf-pacts{display:flex;flex-direction:column;gap:8px;margin-top:22px}
.abf-root.abf-root .abf-pacts .abf-btn{width:100%}
.abf-root.abf-root .abf-optlist{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.abf-root.abf-root .abf-optrow{display:flex;gap:11px;width:100%;text-align:left;font-family:inherit;background:#fff;border:0;border-top:1px solid var(--line);padding:12px 14px;cursor:pointer}
.abf-root.abf-root .abf-optrow:first-child{border-top:0}
.abf-root.abf-root .abf-optrow:hover{background:#FAFAFE}
.abf-root.abf-root .abf-radio{flex:0 0 15px;width:15px;height:15px;border-radius:50%;border:1.5px solid #C4C2D3;margin-top:2px}
.abf-root.abf-root .abf-optrow[aria-pressed="true"] .abf-radio{border-color:var(--indigo);border-width:4.5px}
.abf-root.abf-root .abf-optrow b{display:block;font-size:13.5px;font-weight:500;color:var(--ink);margin-bottom:1px}
.abf-root.abf-root .abf-optrow i{display:block;font-style:normal;font-size:12px;font-weight:300;color:#6E6C80;line-height:1.4}
.abf-root.abf-root .abf-ssbox{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px 11px}
.abf-root.abf-root.abf-root .abf-ssbox input{border:0;padding:0;background:transparent}
.abf-root.abf-root.abf-root .abf-ssbox input:focus{outline:0}
.abf-root.abf-root .abf-mag{flex:0 0 13px;height:13px;border:1.5px solid #A5A3B5;border-radius:50%;position:relative}
.abf-root.abf-root .abf-mag::after{content:"";position:absolute;right:-4px;bottom:-3px;width:5px;height:1.5px;background:#A5A3B5;transform:rotate(45deg)}
.abf-root.abf-root .abf-dd{border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;background:#fff;max-height:184px;overflow-y:auto}
.abf-root.abf-root .abf-ddi{display:block;width:100%;text-align:left;font-family:inherit;font-size:13px;background:#fff;border:0;border-top:1px solid #F2F1F7;padding:9px 11px;cursor:pointer;color:var(--ink)}
.abf-root.abf-root .abf-ddi:hover{background:#F4F3FA;color:var(--indigo)}
.abf-root.abf-root .abf-ddempty{font-size:12px;color:#9A98A8;padding:9px 11px}
.abf-root.abf-root .abf-sel{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.abf-root.abf-root .abf-selc{display:inline-flex;align-items:center;gap:7px;background:#EFEEF8;border:1px solid #DBD9ED;border-radius:999px;padding:5px 7px 5px 12px;font-size:12.5px;color:var(--ink)}
.abf-root.abf-root .abf-selc button{background:transparent;border:0;cursor:pointer;font-size:15px;line-height:1;color:#7A7890;padding:0 2px;font-family:inherit}
.abf-root.abf-root .abf-selc button:hover{color:#A32D2D}
.abf-root.abf-root .abf-sugg{border:1px solid var(--line);border-radius:8px;padding:10px 11px 5px;margin-bottom:9px;background:#FCFCFE}
.abf-root.abf-root .abf-sugg p{font-size:11.5px;font-weight:600;color:var(--grape);margin:0 0 8px}
.abf-root.abf-root .abf-sgc{display:inline-flex;align-items:center;gap:7px;background:#EFEEF8;border:1px solid #DBD9ED;border-radius:999px;padding:4px 6px 4px 12px;font-size:12.5px;color:var(--ink);cursor:pointer;margin:0 6px 6px 0;font-family:inherit}
.abf-root.abf-root .abf-sgc:hover{border-color:var(--indigo)}
.abf-root.abf-root .abf-sgc span{width:17px;height:17px;border-radius:50%;background:var(--indigo);color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.abf-root.abf-root .abf-otherbox{margin-top:7px}
.abf-root.abf-root .abf-tick{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#5F5E6E;margin-top:7px;cursor:pointer}
.abf-root.abf-root .abf-err{font-size:12px;color:#A32D2D;margin-top:5px}
.abf-root.abf-root .abf-drop{border:1.5px dashed var(--line);border-radius:8px;padding:13px;text-align:center;background:#FCFCFE}
.abf-root.abf-root .abf-drop:hover{border-color:var(--indigo)}
.abf-root.abf-root .abf-drop label{display:inline-block;font-size:12.5px;font-weight:600;color:var(--indigo);cursor:pointer}
.abf-root.abf-root .abf-drop p{font-size:11px;color:#5F5E6E;margin:4px 0 0}
.abf-root.abf-root.abf-root .abf-drop input[type=file]{display:none}
.abf-root.abf-root .abf-filed{font-size:12px;color:var(--ink);margin:7px 0 0;display:flex;align-items:center;gap:6px;justify-content:center}
.abf-root.abf-root .abf-filed b{font-weight:500}
.abf-root.abf-root .abf-orpaste{font-size:11.5px;color:#5F5E6E;text-align:center;margin:9px 0 6px}
.abf-root.abf-root .abf-submit{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px 16px}
.abf-root.abf-root .abf-btn{font-family:inherit;font-size:14px;font-weight:600;border:0;border-radius:8px;padding:11px 22px;cursor:pointer;background:var(--indigo);color:#fff}
.abf-root.abf-root .abf-btn:hover{background:#231b8c}
.abf-root.abf-root .abf-btn.abf-sm{font-size:12px;font-weight:500;padding:7px 13px;background:#fff;color:var(--indigo);border:1px solid var(--line)}
.abf-root.abf-root .abf-btn.abf-sm:hover{border-color:var(--indigo);background:#fff}
.abf-root.abf-root .abf-btn.abf-link{background:transparent;color:#5F5E6E;font-weight:400;font-size:12px;padding:10px 4px;text-decoration:underline}
.abf-root.abf-root .abf-subnote{font-size:11.5px;color:#5F5E6E;margin:9px 0 0}
.abf-root.abf-root .abf-slots{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 4px}
.abf-root.abf-root .abf-slot{font-family:inherit;font-size:12.5px;font-weight:400;background:#fff;border:1px solid var(--line);border-radius:7px;padding:9px 13px;cursor:pointer;color:var(--ink)}
.abf-root.abf-root .abf-slot:hover{border-color:var(--indigo)}
.abf-root.abf-root .abf-review{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.abf-root.abf-root .abf-rgroup{border-top:1px solid var(--line)}
.abf-root.abf-root .abf-rgroup:first-child{border-top:0}
.abf-root.abf-root .abf-rghead{background:var(--paper);padding:7px 12px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--indigo)}
.abf-root.abf-root .abf-rlist{margin:0;padding:9px 12px;display:grid;gap:7px}
.abf-root.abf-root .abf-rlist dt{font-size:11px;color:#5F5E6E;font-weight:400}
.abf-root.abf-root .abf-rlist dd{margin:0;font-size:12.5px;color:var(--ink)}
.abf-root.abf-root .abf-done{text-align:center;padding:8px 0 0}
.abf-root.abf-root .abf-check{width:40px;height:40px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;margin:0 auto 13px}
.abf-root.abf-root .abf-done h2{font-size:19px;font-weight:600;margin:0 0 3px;letter-spacing:-.01em}
.abf-root.abf-root .abf-done p{font-size:12.5px;color:#5F5E6E;margin:0}
.abf-root.abf-root .abf-next{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px 16px;margin-top:16px;text-align:left}
.abf-root.abf-root .abf-next h4{font-size:14.5px;font-weight:600;margin:0 0 3px}
.abf-root.abf-root .abf-next p{font-size:12.5px;color:#5F5E6E;margin:0}
.abf-root.abf-root .abf-revhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 8px}
.abf-root.abf-root .abf-revhead h3{font-size:15px;font-weight:600;margin:0}
@media (max-width:980px){
  .abf-root.abf-root .abf-layout.abf-rail{grid-template-columns:1fr}
  .abf-root.abf-root .abf-rail-col{display:none}
}
@media (max-width:640px){
  .abf-root.abf-root .abf-page{padding:13px 10px 16px}
  .abf-root.abf-root .abf-card,
.abf-root.abf-root .abf-submit,
.abf-root.abf-root .abf-next{padding:14px 13px}
  .abf-root.abf-root .abf-segb{flex:1 1 30%}
}

/* =====================================================================
   v1.1  FIELD SYSTEM — one set of sizes for every control, desktop + mobile
   Desktop: 46px controls, 14px side padding, 18px between fields.
   Mobile (<=640px): 48px controls and 16px text (stops iOS zooming on focus).
   ===================================================================== */
.abf-root{--abf-h:46px;--abf-px:14px;--abf-fs:14px;--abf-gap:18px;--abf-r:8px}

/* field wrapper, label, help, error */
.abf-root.abf-root .abf-f{margin:0 0 var(--abf-gap)}
.abf-root.abf-root .abf-card>.abf-f:last-child,.abf-root.abf-root .abf-next .abf-f:last-child{margin-bottom:0}
.abf-root.abf-root .abf-fl{display:block;margin:0 0 6px;font-size:13.5px;font-weight:500;line-height:1.35}
.abf-root.abf-root .abf-fl+.abf-fh{margin:-3px 0 8px;line-height:1.45}
.abf-root.abf-root .abf-fh{font-size:12px;line-height:1.45}
.abf-root.abf-root .abf-fh.abf-fh-after{margin:6px 0 0}
.abf-root.abf-root .abf-req{color:#A32D2D}
.abf-root.abf-root .abf-err{margin:6px 0 0;font-size:12.5px;line-height:1.4}

/* text-like controls: identical height, padding and radius */
.abf-root.abf-root.abf-root input[type=text],
.abf-root.abf-root.abf-root input[type=email],
.abf-root.abf-root.abf-root input[type=number],
.abf-root.abf-root.abf-root input[type=date],
.abf-root.abf-root.abf-root select{
  display:block;width:100%;height:var(--abf-h);min-height:var(--abf-h);padding:0 var(--abf-px);
  font-size:var(--abf-fs);line-height:normal;border-radius:var(--abf-r);margin:0;
}
.abf-root.abf-root.abf-root textarea{
  display:block;width:100%;min-height:104px;padding:12px var(--abf-px);
  font-size:var(--abf-fs);line-height:1.5;border-radius:var(--abf-r);margin:0;resize:vertical;
}
.abf-root.abf-root.abf-root input::placeholder,.abf-root.abf-root.abf-root textarea::placeholder{color:#8B8AA0;opacity:1}
.abf-root.abf-root.abf-root input:focus,.abf-root.abf-root.abf-root select:focus,.abf-root.abf-root.abf-root textarea:focus{outline:2px solid var(--indigo);outline-offset:-1px;border-color:var(--indigo)}
.abf-root.abf-root.abf-root input:disabled,.abf-root.abf-root.abf-root select:disabled{background:#F6F6FA;color:#9A98A8;cursor:not-allowed}

/* dropdown: same box as inputs, custom arrow, room so text never runs under it */
.abf-root.abf-root.abf-root select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:40px;cursor:pointer;text-overflow:ellipsis;
  background-color:#fff;background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235F5E6E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
/* date inputs: browsers render these differently (esp. iOS) — force the same box */
.abf-root.abf-root.abf-root input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;position:relative}
.abf-root.abf-root.abf-root input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0;min-height:1.4em}
.abf-root.abf-root.abf-root input[type=date]::-webkit-calendar-picker-indicator{margin:0;padding:4px;cursor:pointer}
.abf-root.abf-root.abf-root input[type=number]{-moz-appearance:textfield}
.abf-root.abf-root.abf-root input[type=number]::-webkit-inner-spin-button,.abf-root.abf-root.abf-root input[type=number]::-webkit-outer-spin-button{margin:0}

/* two-up rows (date range) */
.abf-root.abf-root .abf-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}

/* optional text box that opens under a choice, tick-boxes */
.abf-root.abf-root .abf-otherbox{margin:10px 0 0}
.abf-root.abf-root .abf-tick{display:flex;align-items:center;gap:9px;margin:10px 0 0;min-height:28px;font-size:12.5px;line-height:1.4;cursor:pointer}
.abf-root.abf-root.abf-root .abf-tick input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:0}

/* choice buttons */
.abf-root.abf-root .abf-rows{gap:8px}
.abf-root.abf-root .abf-row{display:flex;flex-direction:column;justify-content:center;min-height:var(--abf-h);padding:11px var(--abf-px);font-size:13.5px}
.abf-root.abf-root .abf-chips{gap:8px}
.abf-root.abf-root .abf-chip{display:inline-flex;align-items:center;min-height:38px;padding:7px 14px;font-size:13px;line-height:1.3}
.abf-root.abf-root .abf-optrow{padding:13px var(--abf-px);align-items:flex-start}
.abf-root.abf-root .abf-bigbtn{min-height:var(--abf-h);padding:11px var(--abf-px)}

/* budget: bands + currency/amount share the control height */
.abf-root.abf-root .abf-segb{display:flex;align-items:center;justify-content:center;min-height:var(--abf-h);padding:0 12px;font-size:13px}
.abf-root.abf-root .abf-custwrap{max-width:320px}
.abf-root.abf-root .abf-cust{min-height:var(--abf-h);align-items:stretch}
.abf-root.abf-root.abf-root .abf-cust select{height:auto;min-height:calc(var(--abf-h) - 2px);width:auto;flex:0 0 auto;padding:0 28px 0 12px;font-size:13px;background-position:right 10px center}
.abf-root.abf-root.abf-root .abf-cust input{height:auto;min-height:calc(var(--abf-h) - 2px);flex:1 1 auto;min-width:0;padding:0 var(--abf-px);border:0;border-radius:0}

/* search + multi-select */
.abf-root.abf-root .abf-ssbox{min-height:var(--abf-h);padding:0 var(--abf-px);gap:10px}
.abf-root.abf-root.abf-root .abf-ssbox input[type=text]{height:auto;min-height:calc(var(--abf-h) - 2px);padding:0;border:0;background:transparent;border-radius:0}
.abf-root.abf-root .abf-ddi{padding:11px var(--abf-px);font-size:13.5px}
.abf-root.abf-root .abf-ddempty{padding:11px var(--abf-px)}
.abf-root.abf-root .abf-sel{gap:8px;margin-top:10px}
.abf-root.abf-root .abf-sugg{padding:12px var(--abf-px) 6px;margin-bottom:10px}

/* uploads */
.abf-root.abf-root .abf-drop{padding:16px var(--abf-px)}

/* request-an-ad panel uses the same rhythm */
.abf-root.abf-root .abf-panel .abf-f{margin-bottom:20px}

/* =====================================================================
   v1.1  BOOKING CALENDAR + CONFIRMATION
   ===================================================================== */
.abf-root.abf-root .abf-cal-wrap{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:20px 24px;align-items:start;margin-top:14px}
.abf-root.abf-root .abf-cal{border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px}
.abf-root.abf-root .abf-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}
.abf-root.abf-root .abf-cal-title{font-size:14.5px;font-weight:600;text-align:center;flex:1}
.abf-root.abf-root .abf-cal-nav{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:20px;line-height:1;cursor:pointer}
.abf-root.abf-root .abf-cal-nav:hover:not(:disabled){border-color:var(--indigo);color:var(--indigo)}
.abf-root.abf-root .abf-cal-nav:disabled{opacity:.35;cursor:default}
.abf-root.abf-root .abf-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.abf-root.abf-root .abf-cal-dow{padding:4px 0 6px;text-align:center;font-size:11px;font-weight:500;color:#5F5E6E}
.abf-root.abf-root .abf-cal-day{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;min-height:38px;padding:0;border:0;border-radius:8px;background:transparent;color:#B3B2C4;font-size:13.5px;font-weight:400;line-height:1;cursor:default}
.abf-root.abf-root .abf-cal-day.abf-avail{background:var(--paper);color:var(--ink);font-weight:500;cursor:pointer}
.abf-root.abf-root .abf-cal-day.abf-avail:hover{background:#E4E2F5}
.abf-root.abf-root .abf-cal-day[aria-pressed="true"]{background:var(--indigo);color:#fff;font-weight:600}
.abf-root.abf-root .abf-cal-day.abf-today{box-shadow:inset 0 0 0 1px var(--indigo)}
.abf-root.abf-root .abf-cal-day.abf-blank{visibility:hidden}
.abf-root.abf-root .abf-picked{margin:0 0 12px;padding:11px var(--abf-px);border-radius:8px;background:var(--paper);font-size:13px;font-weight:500;line-height:1.4}
.abf-root.abf-root .abf-confirm-btn{width:100%;min-height:var(--abf-h)}
.abf-root.abf-root .abf-confirm-btn:disabled{opacity:.6;cursor:default}

.abf-root.abf-root .abf-done-booked{padding-top:10px}
.abf-root.abf-root .abf-done-booked h2{font-size:21px;line-height:1.3}
.abf-root.abf-root .abf-confirm{display:flex;align-items:center;gap:14px;max-width:460px;margin:18px auto 0;padding:14px 18px;border:1px solid #C3E3C4;border-radius:12px;background:#F3FAF4;text-align:left}
.abf-root.abf-root .abf-confirm small{display:block;font-size:11.5px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:#3C7F3D;margin:0 0 2px}
.abf-root.abf-root .abf-confirm b{display:block;font-size:15.5px;font-weight:600;line-height:1.35;color:var(--ink)}
.abf-root.abf-root .abf-confirm-ic{flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:var(--green);position:relative}
.abf-root.abf-root .abf-confirm-ic i{position:absolute;left:10px;right:10px;top:12px;bottom:10px;border:2px solid #fff;border-radius:3px}
.abf-root.abf-root .abf-confirm-ic i::before{content:"";position:absolute;left:-2px;right:-2px;top:4px;height:2px;background:#fff}

/* =====================================================================
   v1.1  TABLET / MOBILE
   ===================================================================== */
@media (max-width:760px){
  .abf-root.abf-root .abf-cal-wrap{grid-template-columns:minmax(0,1fr)}
  .abf-root.abf-root .abf-cal{padding:10px}
}
@media (max-width:640px){
  .abf-root{--abf-h:48px;--abf-fs:16px;--abf-px:14px;--abf-gap:18px}
  .abf-root.abf-root .abf-fl{font-size:14px}
  .abf-root.abf-root .abf-fh{font-size:12.5px}
  .abf-root.abf-root .abf-grid2{grid-template-columns:minmax(0,1fr)}
  .abf-root.abf-root .abf-custwrap{max-width:100%}
  .abf-root.abf-root .abf-rows.abf-two{max-width:none}
  .abf-root.abf-root .abf-twocol{grid-template-columns:minmax(0,1fr)}
  .abf-root.abf-root .abf-seg{flex-direction:column}
  .abf-root.abf-root .abf-segb{flex:0 0 auto;width:100%;border-right:0;border-bottom:1px solid var(--line);justify-content:flex-start;padding:0 var(--abf-px)}
  .abf-root.abf-root .abf-segb:last-child{border-bottom:0}
  .abf-root.abf-root .abf-chip{min-height:42px}
  .abf-root.abf-root .abf-tick{min-height:36px}
  .abf-root.abf-root .abf-btn{min-height:var(--abf-h)}
  .abf-root.abf-root .abf-btn.abf-sm{min-height:40px}
  .abf-root.abf-root .abf-btn.abf-link{min-height:40px}
  .abf-root.abf-root .abf-cal-day{min-height:40px;font-size:14px}
  .abf-root.abf-root .abf-confirm{padding:12px 14px}
  .abf-root.abf-root .abf-panel{padding-left:16px;padding-right:16px}
}

/* v1.2 — unavailable dates: visibly crossed out and not clickable */
.abf-root.abf-root .abf-cal-day.abf-full{background:transparent;color:#C4C3D2;text-decoration:line-through;cursor:not-allowed}
.abf-root.abf-root .abf-cal-day:disabled{pointer-events:none}
.abf-root.abf-root .abf-cal-legend{margin:8px 2px 0;font-size:11.5px;line-height:1.4;color:#5F5E6E}
.abf-root.abf-root select option:disabled{color:#A9A8B8}
