/* v67 (QA fixer, Nov 12 night): fixes from the T1/T2 night QA, for every city, phone and desktop. */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* long Jewish-life lists: search, sort, area */
.jlpw .jtools{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px;position:sticky;top:-1px;z-index:2;background:#fff;padding:6px 0 8px}
.jlpw .jq input{width:100%;box-sizing:border-box;min-height:48px;border:1px solid #D9D5CE;border-radius:12px;padding:0 14px;font:500 16px 'Plus Jakarta Sans',system-ui,sans-serif;color:#1F2A30;background:#F7F5F0}
.jlpw .jq input:focus{outline:2px solid #0A6C86;outline-offset:0;background:#fff}
.jlpw .jsel{display:flex;gap:8px}
.jlpw .jsel label{flex:1;display:flex;flex-direction:column;gap:2px;font-size:13px;font-weight:600;color:#5B6870;min-width:0}
.jlpw .jsel select{min-height:44px;border:1px solid #D9D5CE;border-radius:10px;padding:0 10px;font:600 15px 'Plus Jakarta Sans',system-ui,sans-serif;background:#fff;color:#1F2A30;width:100%}
.jlpw .jcount{margin:6px 0 0;font-size:13px;color:#5B6870}
.jlpw .jcount:empty{display:none}
.jlpw .jsa{margin-top:12px;min-height:48px;background:#0A6C86;color:#fff;border:0;border-radius:14px;font:700 15px 'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer;width:100%}
.jwp{display:inline-block;margin:4px 0 2px;padding:3px 10px;border-radius:999px;background:#FFF4E0;color:#7A4B00;font-size:13px;font-weight:600}
/* long shul names wrap and push the address down */
.jls h4{align-items:flex-start}
.jls h4 .jsn,.jsn{margin:0!important;padding:10px 0;min-height:44px;height:auto;white-space:normal;overflow-wrap:anywhere}
/* no prices until dates: one check on every page */
.fr67px{display:none!important}
.fr67ban{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;padding:14px 16px;border:1.5px dashed #0A6C86;border-radius:14px;background:#fff;color:#1F2A30;font:500 15px 'Plus Jakarta Sans',system-ui,sans-serif}
.fr67ban b{display:block;font-size:16px}.fr67ban small{display:block;font-size:13px;color:#5B6870}
.fr67ban button{margin-left:auto;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border:0;border-radius:22px;background:#0A6C86;color:#fff;font:700 15px 'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer}
.fr67ban .fr67t{flex:1;min-width:180px}
.fr67btn{cursor:pointer}
/* checkout: the right column is never pinned */
aside.cm-side,.cm-side,.co-side,.chk-side{position:static!important;top:auto!important}
/* tap targets 44px and text 13px on desktop too */
@media(min-width:821px){
 footer a,.foot a,.ft a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
 footer,footer p,footer small,.foot p,.foot small{font-size:13px}
}

/* v67: 44px tap targets on desktop and phone */
a.logo,a.nh-tn,button.dk-pill,a.tu,button.tu,button.stab,button.tlang,button.btn.sm,button.btn.ghost,button.gall,button.fbchip,button.achip,button.chip,.r3 .rsheet button,button.fx-pxb,select.kx-tm,.kx select,.r3top input,.mcity select,.multi select,select{min-height:44px;box-sizing:border-box}
a.nh-see,button.nh-see,a.linkbtn,button.linkbtn,footer a,.foot a{display:inline-flex!important;align-items:center;min-height:44px;min-width:44px;box-sizing:border-box}
button.whrt,button.fav,button.rmnav,button.fx-sw,button.fx-mx,.fr65x{min-width:44px!important;min-height:44px!important;box-sizing:border-box}
a.irow{min-height:44px;box-sizing:border-box}
button.kx-i{position:relative}button.kx-i::before{content:'';position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
input[type=checkbox],input[type=radio]{min-width:20px;min-height:20px}
label:has(> input[type=checkbox]),label:has(> input[type=radio]){min-height:44px;display:flex;align-items:center;gap:8px}
.demo-bar{font-size:13px!important}

/* v67: booking page (My trips → a booked trip) */
.bk67h .bk67back{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:#0A6C86;text-decoration:none;font-size:15px}
.bk67h h1{margin:4px 0 6px}.bk67s{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;font-size:15px;color:#5B6870}
.bk67{max-width:860px}
.bk67sum{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px}
.bk67sum small{display:block;font-size:13px;color:#5B6870}.bk67sum b{display:block;font-size:16px;margin-top:2px;overflow-wrap:anywhere}
@media(max-width:600px){.bk67sum{grid-template-columns:1fr 1fr}.bk67sum div:last-child{grid-column:1/-1}}
.bk67t{font-size:18px;margin:22px 0 10px}
.bk67list{display:flex;flex-direction:column;gap:10px}
.bk67it{display:flex;align-items:flex-start;gap:12px;padding:14px 16px}
.bk67ic{flex:0 0 40px;height:40px;border-radius:12px;background:#E6F1F4;color:#0A6C86;display:flex;align-items:center;justify-content:center}
.bk67tx{flex:1;min-width:0}.bk67tx b{display:block;font-size:15px}.bk67tx small{display:block;font-size:13px;color:#5B6870;margin-top:2px}
.bk67cf{color:#0A6C86!important;font-weight:600}
.bk67p{font-weight:700;font-size:15px;white-space:nowrap}
.bk67tr p{margin:6px 0;font-size:15px}.bk67tr small{color:#5B6870;font-size:13px}
.bk67act{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;align-items:center}
.bk67act .btn{display:inline-flex;align-items:center;gap:8px;min-height:48px}
.bk67cx{border-left:4px solid #B3261E;padding:14px 16px}.bk67cx b{font-size:15px}
.bk67n{margin-top:16px}
a.card.actrip{cursor:pointer}

/* v67: no tours listed → the honest line only (no sample cards or prices) */
#acts:has(> p.nonel) > :not(h2):not(.nonel){display:none!important}
.ne67{padding:18px}.ne67 .nonel{font-size:16px;font-weight:600;margin:0 0 6px}

/* v67: one icon per section title */
h2.hsh[data-c3] .tmt > svg.tmi{display:none}

.bk67s .acst{margin:0!important;position:static!important}

.wrap.bk67{max-width:none}

/* v67: the calendar always opens on top of the dates pop-up */
body:has(.fr65.on) .calm,body:has(.fr65.on) #calm,body:has(.fr65.on) .calp{z-index:2147483001!important}

/* v67 #26: one set of step numbers (the step bar); the review sections are not numbered */
.cm-card h2 .cq-n{display:none!important}

/* v67: a price line whose price is hidden (no dates) goes away whole, so no stray "from ·" */
.nh-price:has(.fr67px){display:none!important}

.bk67back,a.u3rel.u3h{display:inline-flex;align-items:center;min-height:44px}

/* v67: 44px taps on desktop too */
@media (min-width:700px){
 .seg button,[class*=trip-type] button,button.on,.fx-tt button{min-height:44px}
 input[type=text],input[type=search],input:not([type]),input[type=email],input[type=tel],input[type=number]{min-height:44px}
 h4[role=button]{min-height:44px;display:flex;align-items:center}
 .srt button,.sortb button,[data-sort]{min-height:44px}
 .pace button,.itpace button{min-height:44px}
 input[type=checkbox],input[type=radio]{min-width:24px;min-height:24px}
}
label:has(> input[type=checkbox]),label:has(> input[type=radio]){min-height:44px;display:flex;align-items:center}

.fx-sorts button{min-height:44px!important}
a[href^="tour.html"]{display:inline-flex;align-items:center;min-height:44px}

/* v67: no filter chips over an empty stays list */
body.fr67nost .r3chips{display:none!important}

.fx-sorts button{height:auto!important;min-height:44px!important}
button.dbx-a{min-width:44px!important;min-height:44px!important}

html body .fx-sorts button[data-s],html body .fx-sorts button.on{height:auto!important;min-height:44px!important}
