.tbp-wrap{--tbp-pri:var(--tbp-pri-l,#9a6b2f);--tbp-pri-t:var(--tbp-pri-tl,#fff);--tbp-bg:var(--tbp-bg-l,#f6f1ea);--tbp-card:var(--tbp-card-l,#fff);--tbp-text:var(--tbp-text-l,#1f1b16);--tbp-bad:#b42318;--tbp-ok:#157347;--tbp-warn:#b7791f;
--tbp-muted:color-mix(in srgb,var(--tbp-text) 58%,var(--tbp-card));--tbp-line:color-mix(in srgb,var(--tbp-text) 13%,var(--tbp-card));--tbp-soft:color-mix(in srgb,var(--tbp-pri) 11%,var(--tbp-card));--tbp-bg2:color-mix(in srgb,var(--tbp-pri) 14%,var(--tbp-bg));--tbp-shadow:0 10px 40px color-mix(in srgb,var(--tbp-text) 10%,transparent);--tbp-glow:color-mix(in srgb,var(--tbp-pri) 38%,transparent);
box-sizing:border-box;max-width:1080px;margin:0 auto;padding:34px 22px;color:var(--tbp-text);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Bengali",sans-serif;background:radial-gradient(1200px 400px at 10% -10%,var(--tbp-bg2),transparent),var(--tbp-bg);border-radius:28px;border:1px solid var(--tbp-line)}
.tbp-wrap *{box-sizing:border-box}
@media (prefers-color-scheme:dark){.tbp-wrap[data-theme="auto"]{--tbp-pri:var(--tbp-pri-d,#d4a357);--tbp-pri-t:var(--tbp-pri-td,#1a1408);--tbp-bg:#14110e;--tbp-card:#1e1a16;--tbp-text:#f3ece2;--tbp-bad:#f2867c;--tbp-ok:#5fd39a;--tbp-warn:#f0b955}}
.tbp-wrap[data-theme="dark"]{--tbp-pri:var(--tbp-pri-d,#d4a357);--tbp-pri-t:var(--tbp-pri-td,#1a1408);--tbp-bg:#14110e;--tbp-card:#1e1a16;--tbp-text:#f3ece2;--tbp-bad:#f2867c;--tbp-ok:#5fd39a;--tbp-warn:#f0b955}
.tbp-title{font:600 34px/1.15 Georgia,"Times New Roman",serif;margin:0 0 6px;color:var(--tbp-text);letter-spacing:-.01em}
.tbp-sub{color:var(--tbp-muted);margin:0 0 26px;font-size:16px}
.tbp-skel{padding:40px;text-align:center;color:var(--tbp-muted)}
@media (max-width:840px){.tbp-wrap{padding:22px 12px;border-radius:20px}.tbp-title{font-size:27px}}
.tbp-card{background:var(--tbp-card);border:1px solid var(--tbp-line);border-radius:22px;padding:24px;box-shadow:var(--tbp-shadow)}
.tbp-h{display:flex;align-items:center;gap:10px;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--tbp-muted);margin:0 0 18px;font-weight:700}
.tbp-step{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--tbp-pri);color:var(--tbp-pri-t);font-size:13px;letter-spacing:0}
.tbp-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.04em;text-transform:none;color:var(--tbp-ok);font-weight:600}
.tbp-live i{width:8px;height:8px;border-radius:50%;background:var(--tbp-ok);box-shadow:0 0 0 0 var(--tbp-ok);animation:tbp-pulse 2s infinite}
@keyframes tbp-pulse{0%{box-shadow:0 0 0 0 rgba(21,115,71,.5)}70%{box-shadow:0 0 0 8px rgba(21,115,71,0)}100%{box-shadow:0 0 0 0 rgba(21,115,71,0)}}
.tbp-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.tbp-cal-head b{font:600 19px Georgia,serif;color:var(--tbp-text)}
.tbp-nav{border:1px solid var(--tbp-line);background:var(--tbp-card);color:var(--tbp-text);width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:20px;padding:0;line-height:1;transition:.15s}
.tbp-nav:hover:not(:disabled){background:var(--tbp-soft);border-color:var(--tbp-pri)}
.tbp-nav:disabled{opacity:.35;cursor:not-allowed}
.tbp-dow,.tbp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}
.tbp-dow span{font-size:11.5px;color:var(--tbp-muted);padding:4px 0;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.tbp-day{aspect-ratio:1;border:1px solid transparent;border-radius:12px;background:none;color:var(--tbp-text);cursor:pointer;font:inherit;font-weight:500;padding:0;transition:.12s}
.tbp-day:hover:not(:disabled){background:var(--tbp-soft);border-color:var(--tbp-line)}
.tbp-day:disabled{color:var(--tbp-muted);opacity:.3;cursor:not-allowed}
.tbp-day.tbp-off{color:var(--tbp-muted);opacity:.55;text-decoration:line-through}
.tbp-day.tbp-today{border-color:var(--tbp-pri)}
.tbp-day.tbp-sel{background:var(--tbp-pri);color:var(--tbp-pri-t);font-weight:700;opacity:1;text-decoration:none;box-shadow:0 6px 16px var(--tbp-glow)}
.tbp-day.tbp-range{background:var(--tbp-soft);border-radius:4px;color:var(--tbp-text)}
.tbp-day.tbp-in{border-radius:12px 4px 4px 12px}.tbp-day.tbp-out{border-radius:4px 12px 12px 4px}
.tbp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.tbp-chip{flex:1;min-width:110px;background:var(--tbp-soft);border-radius:14px;padding:9px 12px}
.tbp-chip small{display:block;color:var(--tbp-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.tbp-chip b{font-size:14px}.tbp-chip-n{flex:0 0 auto;display:flex;align-items:center;background:var(--tbp-pri);color:var(--tbp-pri-t)}
.tbp-stitle{margin:20px 0 10px;font-size:13.5px;color:var(--tbp-muted);font-weight:600}
.tbp-meter{margin:0 0 14px;padding:12px 14px;border-radius:14px;background:var(--tbp-soft)}
.tbp-meter-top{font-size:13px;font-weight:600;margin-bottom:8px}
.tbp-meter-bar{height:8px;border-radius:99px;background:var(--tbp-line);overflow:hidden}
.tbp-meter-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--tbp-ok),#8fd3b0);transition:width .5s}
.tbp-meter.tbp-m-low .tbp-meter-bar i{background:linear-gradient(90deg,var(--tbp-warn),#f3c97c)}
.tbp-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px}
.tbp-slot{display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 8px;border-radius:14px;border:1px solid var(--tbp-line);background:var(--tbp-card);color:var(--tbp-text);cursor:pointer;font:inherit;transition:.15s}
.tbp-st{font-weight:700;font-size:14.5px}
.tbp-sl{font-size:11.5px;color:var(--tbp-ok);font-weight:600}
.tbp-slot.tbp-low .tbp-sl{color:var(--tbp-warn)}
.tbp-slot:hover:not(:disabled){border-color:var(--tbp-pri);transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.07)}
.tbp-slot.tbp-sel{background:var(--tbp-pri);color:var(--tbp-pri-t);border-color:var(--tbp-pri);box-shadow:0 8px 20px var(--tbp-glow)}
.tbp-slot.tbp-sel .tbp-sl{color:var(--tbp-pri-t);opacity:.85}
.tbp-slot:disabled{opacity:.45;cursor:not-allowed;background:var(--tbp-soft)}
.tbp-slot:disabled .tbp-st{text-decoration:line-through}.tbp-slot:disabled .tbp-sl{color:var(--tbp-muted)}
.tbp-rooms{display:grid;gap:10px}
.tbp-room{display:flex;justify-content:space-between;gap:14px;text-align:left;padding:14px 16px;border-radius:16px;border:1px solid var(--tbp-line);background:var(--tbp-card);color:var(--tbp-text);cursor:pointer;font:inherit;transition:.15s}
.tbp-room:hover{border-color:var(--tbp-pri);box-shadow:0 6px 18px rgba(0,0,0,.07)}
.tbp-room.tbp-sel{border-color:var(--tbp-pri);box-shadow:0 0 0 2px var(--tbp-pri) inset;background:var(--tbp-soft)}
.tbp-room-main{display:flex;flex-direction:column;gap:3px}.tbp-room-main b{font-size:16px}
.tbp-room small,.tbp-room-price small{color:var(--tbp-muted);font-size:12.5px}
.tbp-tag{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--tbp-soft);color:var(--tbp-pri);padding:2px 8px;border-radius:99px}
.tbp-room-price{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:2px;text-align:right;white-space:nowrap}.tbp-room-price b{font-size:18px}
.tbp-pick{margin-top:6px;font-size:12.5px;font-weight:700;color:var(--tbp-pri)}
.tbp-notice{padding:14px;border-radius:14px;background:var(--tbp-soft);color:var(--tbp-bad);font-weight:600;margin-bottom:12px}
.tbp-f{margin-bottom:14px}
.tbp-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:480px){.tbp-row{grid-template-columns:1fr}}
.tbp-wrap label{display:block;font-size:13px;font-weight:600;margin:0 0 6px;color:var(--tbp-text)}
.tbp-wrap input[type=text],.tbp-wrap input[type=email],.tbp-wrap input[type=tel],.tbp-wrap select,.tbp-wrap textarea{width:100%;padding:12px 13px;border:1px solid var(--tbp-line);border-radius:12px;background:var(--tbp-bg);color:var(--tbp-text);font:inherit;box-shadow:none;margin:0;height:auto;transition:.15s}
.tbp-wrap input:focus,.tbp-wrap select:focus,.tbp-wrap textarea:focus{outline:0;border-color:var(--tbp-pri);box-shadow:0 0 0 3px var(--tbp-glow)}
.tbp-err{color:var(--tbp-bad);font-size:12.5px;min-height:16px;margin-top:3px}
.tbp-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.tbp-sum{background:var(--tbp-soft);border-radius:14px;padding:13px 15px;margin:6px 0 14px;font-size:14px;font-weight:500;border-left:4px solid var(--tbp-pri)}
.tbp-btn{width:100%;padding:15px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--tbp-pri),color-mix(in srgb,var(--tbp-pri) 70%,#000));color:var(--tbp-pri-t);font:700 16px system-ui,sans-serif;cursor:pointer;box-shadow:0 10px 24px var(--tbp-glow);transition:.15s}
.tbp-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.tbp-btn:disabled{opacity:.6;cursor:wait;transform:none}
.tbp-msg{margin-top:12px;padding:12px;border-radius:12px;font-size:14px;background:var(--tbp-soft);color:var(--tbp-bad)}
.tbp-done{text-align:center;max-width:580px;margin:0 auto}
.tbp-check{width:68px;height:68px;margin:0 auto 12px;border-radius:50%;background:var(--tbp-ok);color:#fff;display:flex;align-items:center;justify-content:center;font-size:34px;animation:tbp-pop .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes tbp-pop{from{transform:scale(0)}to{transform:scale(1)}}
.tbp-done h3{font:600 26px Georgia,serif;margin:0 0 6px;color:var(--tbp-text)}
.tbp-done p{margin:6px 0;color:var(--tbp-text)}.tbp-small{color:var(--tbp-muted);font-size:13px}
.tbp-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;text-align:left;background:var(--tbp-soft);border-radius:16px;padding:16px 18px;margin:16px 0}
.tbp-dl dt{color:var(--tbp-muted);font-size:13px}.tbp-dl dd{margin:0;font-weight:600}
.tbp-done a.tbp-link{display:inline-block;margin:6px 0 4px;color:var(--tbp-pri);font-weight:700}
.tbp-done .tbp-again{margin-top:14px;width:auto;padding:12px 24px}

.tbp-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:22px;align-items:start}
.tbp-grid>.tbp-card{animation:tbp-in .35s ease}
@media (max-width:840px){.tbp-grid{grid-template-columns:1fr}}
.tbp-calview[hidden],.tbp-lower[hidden]{display:none}
.tbp-lower{animation:tbp-in .3s ease}
.tbp-lower .tbp-stitle{margin-top:4px;font-size:16px;color:var(--tbp-text);font-weight:700}
@keyframes tbp-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tbp-steps{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 20px;max-width:420px}
.tbp-steps[hidden]{display:none}
.tbp-steps i{flex:1;height:2px;background:var(--tbp-line);border-radius:2px}
.tbp-stp{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--tbp-muted);white-space:nowrap}
.tbp-stp span{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--tbp-card);border:2px solid var(--tbp-line);font-size:13px}
.tbp-stp.on{color:var(--tbp-text)}.tbp-stp.on span{background:var(--tbp-pri);border-color:var(--tbp-pri);color:var(--tbp-pri-t);box-shadow:0 6px 16px var(--tbp-glow)}
.tbp-stp.ok span{background:var(--tbp-ok);border-color:var(--tbp-ok);color:#fff}
.tbp-back{background:none;border:0;color:var(--tbp-pri);font:700 14px system-ui,sans-serif;cursor:pointer;padding:0 0 14px}
.tbp-back:hover{text-decoration:underline}
.tbp-sel-box{background:var(--tbp-soft);border-radius:16px;padding:14px 16px;margin:0 0 18px;border-left:4px solid var(--tbp-pri)}
.tbp-sel-box small{display:block;color:var(--tbp-muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin-bottom:3px}
.tbp-sel-box .tbp-sum{background:none;padding:0;margin:0;border:0;font-size:15px;font-weight:700}

/* v2.1: the [hidden] attribute must always win over display:grid/flex rules (fixes form staying visible after booking). */
.tbp-wrap [hidden]{display:none!important}
.tbp-captcha{display:flex;justify-content:center;margin:14px 0 6px;max-width:100%;overflow:hidden}
.tbp-done-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:10px}
.tbp-done-actions .tbp-link{margin:0}
.tbp-done-actions .tbp-again{margin-top:0}
/* after a successful booking only the thank-you card is shown (hide page title + subtitle) */
.tbp-wrap.tbp-is-done>.tbp-title,.tbp-wrap.tbp-is-done>.tbp-sub{display:none!important}

/* v2.2: hotel flow - guests selector above the rooms; booking form stays in place while scrolling */
.tbp-guestbar{max-width:260px;margin:0 0 14px}
.tbp-lower .tbp-chips{margin:0 0 14px}
.tbp-room-main{min-width:0}
@media (min-width:841px){
.tbp-grid>.tbp-card:nth-child(2){position:sticky;align-self:start;top:calc(var(--wp-admin--admin-bar--height,0px) + var(--tbp-sticky-top,24px));max-height:calc(100vh - 48px);overflow:auto}
}
/* v2.9.3: JS follow-scroll is active -> let the script move the card (works even when a theme parent has overflow) */
@media (min-width:841px){
.tbp-grid.tbp-follow>.tbp-card:nth-child(2){position:relative;top:auto;overflow:auto;will-change:transform}
}


/* ===== v2.3: premium hotel booking UI (filters + 2-column room cards) ===== */
.tbp-wrap{--tbp-ac:#0b7285;--tbp-ac-bg:#e3f6fb;--tbp-nac:#b45309;--tbp-nac-bg:#fef3c7}
@media (prefers-color-scheme:dark){.tbp-wrap[data-theme="auto"]{--tbp-ac:#6fd6e8;--tbp-ac-bg:rgba(111,214,232,.14);--tbp-nac:#f6c26b;--tbp-nac-bg:rgba(246,194,107,.14)}}
.tbp-wrap[data-theme="dark"]{--tbp-ac:#6fd6e8;--tbp-ac-bg:rgba(111,214,232,.14);--tbp-nac:#f6c26b;--tbp-nac-bg:rgba(246,194,107,.14)}
.tbp-wrap.tbp-is-hotel{max-width:1180px}
.tbp-is-hotel .tbp-grid{grid-template-columns:1.5fr 1fr}
@media (max-width:840px){.tbp-is-hotel .tbp-grid{grid-template-columns:1fr}}
.tbp-ico{display:inline-flex;align-items:center;line-height:0}

/* filter bar: Guests | Beds | Condition */
.tbp-fbar{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr) minmax(0,1.2fr);gap:14px;margin:0 0 20px;padding:14px 16px 16px;border:1px solid var(--tbp-line);border-radius:18px;background:linear-gradient(180deg,var(--tbp-soft),color-mix(in srgb,var(--tbp-soft) 40%,var(--tbp-card)))}
.tbp-fbar .tbp-err{grid-column:1/-1;min-height:0;margin:0}
.tbp-fgl{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tbp-muted)}
.tbp-fbar select{height:44px;padding:0 12px;border-radius:12px;font-weight:600;background-color:var(--tbp-card)}
.tbp-seg{display:flex;gap:3px;padding:3px;height:44px;border-radius:13px;border:1px solid var(--tbp-line);background:var(--tbp-card)}
.tbp-wrap button.tbp-seg-b{flex:1;margin:0;padding:0 8px;border:0;border-radius:10px;background:none;color:var(--tbp-muted);font:600 13px/1 system-ui,-apple-system,"Segoe UI","Noto Sans Bengali",sans-serif;letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer;box-shadow:none;transition:.15s}
.tbp-wrap button.tbp-seg-b:hover{color:var(--tbp-text);background:var(--tbp-soft)}
.tbp-wrap button.tbp-seg-b.on{background:var(--tbp-pri);color:var(--tbp-pri-t);box-shadow:0 6px 14px var(--tbp-glow)}
.tbp-wrap button.tbp-seg-b:focus-visible{outline:2px solid var(--tbp-pri);outline-offset:1px}
@media (min-width:841px) and (max-width:1020px){.tbp-fbar{grid-template-columns:1fr}}
@media (max-width:640px){.tbp-fbar{grid-template-columns:1fr}}

/* room cards: two per row */
.tbp-is-hotel .tbp-rooms{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:560px){.tbp-is-hotel .tbp-rooms{grid-template-columns:1fr}}
.tbp-wrap button.tbp-room{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:12px;margin:0;padding:16px;border:1px solid var(--tbp-line);border-radius:20px;background:var(--tbp-card);color:var(--tbp-text);text-align:left;text-transform:none;letter-spacing:0;cursor:pointer;box-shadow:0 1px 2px color-mix(in srgb,var(--tbp-text) 6%,transparent);transition:transform .18s,box-shadow .18s,border-color .18s}
.tbp-wrap button.tbp-room:hover{transform:translateY(-3px);border-color:var(--tbp-pri);box-shadow:0 14px 30px color-mix(in srgb,var(--tbp-text) 12%,transparent)}
.tbp-wrap button.tbp-room.tbp-sel{border-color:var(--tbp-pri);box-shadow:0 0 0 2px var(--tbp-pri),0 14px 30px var(--tbp-glow);background:linear-gradient(180deg,var(--tbp-soft),var(--tbp-card) 70%)}
.tbp-room-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tbp-room-head b{font:600 19px/1.2 Georgia,"Times New Roman",serif;color:var(--tbp-text)}
.tbp-bds{display:flex;flex-wrap:wrap;gap:6px}
.tbp-bd{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:99px;background:var(--tbp-soft);color:var(--tbp-text);font-size:12px;font-weight:600;white-space:nowrap}
.tbp-bd .tbp-ico{opacity:.75}
.tbp-bd-ac{background:var(--tbp-ac-bg);color:var(--tbp-ac)}.tbp-bd-ac .tbp-ico{opacity:1}
.tbp-bd-nac{background:var(--tbp-nac-bg);color:var(--tbp-nac)}.tbp-bd-nac .tbp-ico{opacity:1}
.tbp-room-desc{margin:0;font-size:12.5px;line-height:1.45;color:var(--tbp-muted)}
.tbp-room-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px dashed var(--tbp-line)}
.tbp-room .tbp-room-price{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:2px;text-align:left;white-space:normal}
.tbp-room-amt b{font-size:21px;line-height:1.1;color:var(--tbp-text)}
.tbp-room-amt small{font-size:12px}
.tbp-room-total{font-size:11.5px!important}
.tbp-room .tbp-pick{display:inline-flex;align-items:center;gap:5px;margin:0;padding:8px 15px;border-radius:99px;background:var(--tbp-soft);color:var(--tbp-pri);font-size:13px;font-weight:700;transition:.15s}
.tbp-wrap button.tbp-room:hover .tbp-pick,.tbp-room.tbp-sel .tbp-pick{background:var(--tbp-pri);color:var(--tbp-pri-t)}

/* hotel: calmer, more premium date chips */
.tbp-is-hotel .tbp-chip{border:1px solid var(--tbp-line);background:var(--tbp-card);border-radius:16px;padding:10px 14px}
.tbp-is-hotel .tbp-chip-n{border-color:transparent;background:linear-gradient(135deg,var(--tbp-pri),color-mix(in srgb,var(--tbp-pri) 72%,#000));box-shadow:0 8px 18px var(--tbp-glow)}
.tbp-is-hotel .tbp-lower .tbp-stitle{display:flex;align-items:center;gap:10px;font-size:15px;letter-spacing:.01em}
.tbp-is-hotel .tbp-lower .tbp-stitle:after{content:"";flex:1;height:1px;background:var(--tbp-line)}

/* ===== v2.4: professional typography ===== */
.tbp-wrap,.tbp-wrap input,.tbp-wrap select,.tbp-wrap textarea,.tbp-wrap button{font-family:var(--tbp-font,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Bengali",sans-serif);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.tbp-wrap{letter-spacing:-.003em}
.tbp-title{font-family:var(--tbp-font,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);font-weight:700;letter-spacing:-.025em;font-size:32px}
.tbp-sub{font-weight:400}
.tbp-h{font-weight:700;letter-spacing:.08em}
.tbp-wrap button,.tbp-wrap .tbp-slot,.tbp-wrap label{font-weight:600}
@media (max-width:840px){.tbp-title{font-size:26px}}

/* Hotel: several rooms per booking */
.tbp-multi-hint{margin:-4px 0 10px;font-size:13px;line-height:1.5;opacity:.75}

/* ==== v2.9.2 theme-proof colours ====
   Themes / Elementor kits style every <button> (background, colour, hover, focus). These rules are more
   specific than a theme's "button" selectors and restate every state, so the colours chosen in
   Booking Pro > Settings > Appearance are the ones that always show. */
.tbp-wrap{accent-color:var(--tbp-pri);-webkit-tap-highlight-color:transparent}

/* calendar: previous / next */
.tbp-wrap .tbp-cal-head button.tbp-nav{width:38px;height:38px;margin:0;padding:0;border:1px solid var(--tbp-line);border-radius:50%;background:var(--tbp-card);color:var(--tbp-text);box-shadow:none;text-transform:none;letter-spacing:0;font-size:20px;line-height:1;cursor:pointer}
.tbp-wrap .tbp-cal-head button.tbp-nav:hover:not(:disabled),.tbp-wrap .tbp-cal-head button.tbp-nav:focus-visible:not(:disabled){background:var(--tbp-soft);border-color:var(--tbp-pri);color:var(--tbp-pri);outline:0}
.tbp-wrap .tbp-cal-head button.tbp-nav:active:not(:disabled){background:var(--tbp-pri);border-color:var(--tbp-pri);color:var(--tbp-pri-t)}
.tbp-wrap .tbp-cal-head button.tbp-nav:disabled{opacity:.35;cursor:not-allowed;background:var(--tbp-card);color:var(--tbp-muted)}

/* calendar: days (available days carry a soft tint of the main colour, the chosen day is solid) */
.tbp-wrap .tbp-days button.tbp-day{margin:0;padding:0;border:1px solid transparent;border-radius:12px;background:color-mix(in srgb,var(--tbp-pri) 13%,var(--tbp-card));color:var(--tbp-text);box-shadow:none;text-transform:none;letter-spacing:0;text-decoration:none;font:inherit;font-weight:600;opacity:1;cursor:pointer}
.tbp-wrap .tbp-days button.tbp-day:hover:not(:disabled),.tbp-wrap .tbp-days button.tbp-day:focus-visible:not(:disabled){background:color-mix(in srgb,var(--tbp-pri) 26%,var(--tbp-card));border-color:var(--tbp-pri);color:var(--tbp-text);outline:0}
.tbp-wrap .tbp-days button.tbp-day:active:not(:disabled){background:color-mix(in srgb,var(--tbp-pri) 38%,var(--tbp-card));color:var(--tbp-text)}
.tbp-wrap .tbp-days button.tbp-day:disabled{background:none;color:var(--tbp-muted);opacity:.3;font-weight:500;cursor:not-allowed}
.tbp-wrap .tbp-days button.tbp-day.tbp-off{background:none;color:var(--tbp-muted);opacity:.55;font-weight:500;text-decoration:line-through}
.tbp-wrap .tbp-days button.tbp-day.tbp-today{border-color:var(--tbp-pri)}
.tbp-wrap .tbp-days button.tbp-day.tbp-range{background:var(--tbp-soft);border-radius:4px;color:var(--tbp-text);opacity:1;text-decoration:none}
.tbp-wrap .tbp-days button.tbp-day.tbp-sel,.tbp-wrap .tbp-days button.tbp-day.tbp-sel:hover,.tbp-wrap .tbp-days button.tbp-day.tbp-sel:focus,.tbp-wrap .tbp-days button.tbp-day.tbp-sel:active{background:var(--tbp-pri);border-color:var(--tbp-pri);color:var(--tbp-pri-t);font-weight:700;opacity:1;text-decoration:none;box-shadow:0 6px 16px var(--tbp-glow)}
.tbp-wrap .tbp-days button.tbp-day.tbp-in{border-radius:12px 4px 4px 12px}
.tbp-wrap .tbp-days button.tbp-day.tbp-out{border-radius:4px 12px 12px 4px}

/* time slots */
.tbp-wrap .tbp-slots button.tbp-slot{margin:0;border:1px solid var(--tbp-line);border-radius:14px;background:var(--tbp-card);color:var(--tbp-text);box-shadow:none;text-transform:none;letter-spacing:0;cursor:pointer}
.tbp-wrap .tbp-slots button.tbp-slot:hover:not(:disabled),.tbp-wrap .tbp-slots button.tbp-slot:focus-visible:not(:disabled){background:var(--tbp-soft);border-color:var(--tbp-pri);color:var(--tbp-text);outline:0;box-shadow:0 6px 16px rgba(0,0,0,.07)}
.tbp-wrap .tbp-slots button.tbp-slot.tbp-sel,.tbp-wrap .tbp-slots button.tbp-slot.tbp-sel:hover,.tbp-wrap .tbp-slots button.tbp-slot.tbp-sel:focus,.tbp-wrap .tbp-slots button.tbp-slot.tbp-sel:active{background:var(--tbp-pri);border-color:var(--tbp-pri);color:var(--tbp-pri-t);box-shadow:0 8px 20px var(--tbp-glow)}
.tbp-wrap .tbp-slots button.tbp-slot:disabled{opacity:.45;background:var(--tbp-soft);color:var(--tbp-text);cursor:not-allowed}

/* "change date" link and the main buttons */
.tbp-wrap button.tbp-back{background:none;border:0;box-shadow:none;color:var(--tbp-pri);text-transform:none;letter-spacing:0}
.tbp-wrap button.tbp-back:hover,.tbp-wrap button.tbp-back:focus{background:none;color:var(--tbp-pri);text-decoration:underline}
.tbp-wrap button.tbp-btn,.tbp-wrap button.tbp-btn:hover,.tbp-wrap button.tbp-btn:focus,.tbp-wrap button.tbp-btn:active{border:0;background:linear-gradient(135deg,var(--tbp-pri),color-mix(in srgb,var(--tbp-pri) 70%,#000));color:var(--tbp-pri-t);text-transform:none;letter-spacing:0;text-decoration:none}
.tbp-wrap button.tbp-btn{border-radius:14px;box-shadow:0 10px 24px var(--tbp-glow)}
.tbp-wrap button.tbp-btn:focus-visible{outline:2px solid var(--tbp-pri);outline-offset:2px}
.tbp-wrap button.tbp-btn:disabled{opacity:.6}
