/* v1 additions */
.screen.boot{display:grid;place-items:center;background:#000617}
.screen.boot img{opacity:.9}
.welcome .hero{flex:none;height:44vh;min-height:250px}
.welcome .logo{mix-blend-mode:lighten;margin-top:-120px}
.welcome{overflow-y:auto}
.welcome .field label{color:#CFC8BA}
.welcome .input{background:#0E1B30;border-color:rgba(220,192,143,.35);color:#fff}
.welcome .input:focus{border-color:var(--gold2)}
.auth-err{color:#E59A7C;min-height:1.2em;font-size:14px;margin:0 2px 10px}
.sheet .auth-err,.form .auth-err{color:var(--due)}
.auth-note{text-align:center;color:#AFA89B;font-size:13.5px;margin:16px 0 0}
.auth-note a,.welcome p a{color:var(--gold2);text-decoration:underline}
.welcome p b{color:#fff}
.center{text-align:center}
.pad{padding:14px 16px}
.card.pad .kv{margin:0;border:0}
.pre{white-space:normal}
.empty,.empty-hero{margin:14px 16px 0;padding:22px 18px;text-align:center}
.empty p{color:var(--muted);margin:0 0 14px;line-height:1.45}
.empty-hero h3{font-family:var(--serif);font-size:28px;color:var(--navy);margin:6px 0}
.empty-hero .btn{margin-top:12px}
.install{display:flex;align-items:center;gap:12px;margin:14px 16px 0;padding:12px;border-radius:18px;background:var(--navy);color:#fff;position:relative}
.install img{width:44px;height:44px;border-radius:11px;flex:none}
.install div{flex:1;min-width:0}
.install b{display:block;font-size:14.5px}
.install span{font-size:12.5px;color:#C9C3B8}
.btn.sm{width:auto;min-height:36px;padding:0 14px;font-size:14px;border-radius:10px;flex:none}
.install .x{position:absolute;top:2px;right:4px;background:none;border:0;color:#9A9286;font-size:20px;cursor:pointer;padding:4px 8px}
.zm{padding:14px}
.zhead{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:10px}
.zhead span{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zhead svg{width:15px;height:15px;fill:none;stroke:var(--goldd);stroke-width:2;flex:none}
.zhead a{color:var(--goldd);font-weight:600;flex:none}
.zgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.zgrid div{background:var(--cream);border-radius:12px;padding:10px 8px;text-align:center}
.zgrid b{display:block;font-family:var(--serif);font-size:21px;color:var(--navy);font-weight:600}
.zgrid span{font-size:11.5px;color:var(--muted)}
.zshab{display:flex;gap:8px;align-items:center;margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--navy);color:#E8DFCD;font-size:13.5px}
.zshab b{color:var(--gold2)}
.zshab svg{width:22px;height:22px;fill:none;stroke:var(--gold2);stroke-width:1.6;flex:none}
.zt{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--navy)}
.rewards-mini{display:block;padding:16px;background:linear-gradient(140deg,#13223A,#0B1729);color:#fff;border:0}
.rewards-mini b{display:block;font-family:var(--serif);font-size:26px;color:var(--gold2);margin:2px 0}
.rewards-mini .muted{color:#C9C3B8}
.rewards-card{margin:16px;padding:20px;border-radius:22px;color:#fff;background:linear-gradient(140deg,#7A6440,#B39062 55%,#7A6440)}
.rewards-card .eyebrow{color:#FFF3DC}
.rewards-card b{display:block;font-family:var(--serif);font-size:40px;margin:4px 0 14px}
.rewards-card .r{display:flex;gap:24px;font-size:13px;color:rgba(255,255,255,.85)}
.rewards-card strong{display:block;font-size:20px;color:#fff}
.note{padding:14px 16px}
.note p{margin:6px 0 0;line-height:1.5}
.ev{width:100%;background:none;border:0;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
.live{display:inline-flex!important;align-items:center;gap:4px;margin-top:6px;color:var(--goldd)!important;font-weight:600;font-size:12.5px!important}
.live svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.doc .warn{margin-top:10px;display:flex;gap:6px;align-items:center;font-size:12.5px;background:rgba(229,154,124,.18);color:#FFD2BF;border-radius:10px;padding:6px 10px}
.doc .warn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;flex:none}
.doc .warn.soft{background:rgba(255,255,255,.08);color:#CFC8BA}
.warnline{display:flex;gap:8px;align-items:flex-start;background:#F8EBDD;color:var(--due);padding:10px 12px;border-radius:12px;font-size:14px}
.warnline svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;flex:none;margin-top:1px}
.docimg{display:block;width:100%;max-height:340px;object-fit:contain;border-radius:14px;background:#EFEAE0;margin:10px 0}
.filepick{display:block;cursor:pointer}
.filepick input{position:absolute;opacity:0;width:1px;height:1px}
.filepick span{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px;border:1.5px dashed var(--gold);border-radius:16px;background:#fff;text-align:center}
.filepick svg{width:28px;height:28px;fill:none;stroke:var(--goldd);stroke-width:1.7}
.filepick b{color:var(--navy)}
.filepick em{font-style:normal;font-size:12.5px;color:var(--muted)}
.filepick input:focus-visible+span{outline:2px solid var(--gold)}
.sheet-form .field{margin-bottom:14px}
select.input{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239C7F52' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center}
.btn.danger{color:#A2402A}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.btn.wa svg{fill:#fff;stroke:none}
.fwd{display:flex;gap:10px;align-items:flex-start;margin:22px 16px 0;padding:12px 14px;border-radius:14px;background:var(--cream);font-size:13.5px;color:var(--muted);line-height:1.45}
.fwd svg{width:20px;height:20px;fill:none;stroke:var(--goldd);stroke-width:1.7;flex:none;margin-top:1px}
.fwd a{color:var(--goldd);font-weight:600;word-break:break-all}
.emer{margin:14px 16px 0;padding:18px;border-radius:20px;background:var(--navy);color:#fff}
.emer .eyebrow{color:var(--gold2)}
.emer b{display:block;font-family:var(--serif);font-size:32px;margin:2px 0 14px}
.li.check{cursor:default}
.li.check.done b{text-decoration:line-through;color:var(--muted)}
.cb{flex:none;width:28px;height:28px;border-radius:8px;border:2px solid var(--gold);background:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
.li.done .cb{background:var(--goldd);border-color:var(--goldd)}
.cb svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.6}
.x{flex:none;background:none;border:0;padding:6px;cursor:pointer;color:#B4AC9F}
.x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.composer.inline{position:static;margin:0 16px;border:0;background:none;padding:0}
.steps{padding-left:22px;line-height:1.6}
.steps svg{width:18px;height:18px;vertical-align:-3px;fill:none;stroke:#2F7CF6;stroke-width:2}
.muted svg,.small svg{width:14px;height:14px;vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:2}
.li .t span{word-break:break-word}
.chat-head .back svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2}
.tabbar a .badge[hidden]{display:none}
.opt{cursor:pointer}
.btn[disabled]{opacity:.5}
.tabbar.hide{transform:translateY(140%);pointer-events:none}
.chat-screen{display:flex;flex-direction:column;padding-bottom:0}
.chat-screen .msgs{flex:1 0 auto}
.chat-screen .composer{padding-bottom:calc(8px + var(--safe-b))}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.two .field{min-width:0}
body{font-variant-numeric:lining-nums}
.btn{font-family:var(--sans)}

/* v1.2 guest mode */
.signin-pill{min-height:38px;border-radius:20px;padding:0 16px;font-weight:600}
.next .btn.sm{display:inline-flex;align-items:center}
.dest-row{display:flex;gap:10px;overflow-x:auto;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none;scroll-snap-type:x mandatory}
.dest-row::-webkit-scrollbar{display:none}
.dest{position:relative;flex:none;width:150px;height:190px;border-radius:18px;overflow:hidden;background:#0B1729 center/cover;scroll-snap-align:start;display:flex;align-items:flex-end;box-shadow:0 8px 18px rgba(11,23,41,.14)}
.dest:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,23,41,0) 45%,rgba(11,23,41,.82) 100%)}
.dest span{position:relative;padding:12px 14px;color:#fff;font-family:var(--serif);font-size:21px;font-weight:600;line-height:1.1}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.card.svc{display:flex;align-items:center;gap:10px;padding:14px 12px;min-height:62px;color:var(--navy)}
.card.svc .ic{width:36px;height:36px;border-radius:12px;background:var(--cream);display:grid;place-items:center;flex:none}
.card.svc svg{width:20px;height:20px;fill:none;stroke:var(--goldd);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card.svc b{font-size:14px;font-weight:600;line-height:1.2}
.lock-card{padding:26px 20px 20px;text-align:center}
.lock-card .lock-ic{width:60px;height:60px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:var(--navy)}
.lock-card .lock-ic svg{width:26px;height:26px;fill:none;stroke:var(--gold2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lock-card h3{font-family:var(--serif);font-size:25px;font-weight:600;color:var(--navy);margin:0 0 8px;line-height:1.15}
.lock-card p{margin:0 0 18px;line-height:1.5}
.guest-alt{padding:18px}
.guest-alt b{display:block;font-family:var(--serif);font-size:21px;font-weight:600;color:var(--navy);margin-bottom:4px;text-decoration:none}
.guest-alt p{margin:0 0 14px;line-height:1.5}
.done .guest-alt b{text-decoration:none;color:var(--navy)}
.guest-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 14px 10px;margin:4px 0 18px}
.guest-box a{color:var(--goldd);font-weight:600}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

/* v1.3 vacation packages */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pkg-row{display:flex;gap:12px;overflow-x:auto;margin:0 -16px;padding:2px 16px 8px;scrollbar-width:none;scroll-snap-type:x mandatory}
.pkg-row::-webkit-scrollbar{display:none}
.pkg-card{flex:none;width:252px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;scroll-snap-align:start;display:flex;flex-direction:column;color:var(--ink);box-shadow:0 8px 18px rgba(11,23,41,.08)}
.pkg-card .pk-ph{position:relative;display:block;height:150px;background:#0B1729 center/cover}
.pkg-card .feat{position:absolute;top:10px;left:10px;background:rgba(11,23,41,.72);color:var(--gold2);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:20px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pkg-card .tx{display:flex;flex-direction:column;gap:3px;padding:12px 14px 14px;min-width:0}
.pkg-card .eyebrow{font-size:11px}
.pkg-card b{font-family:var(--serif);font-size:21px;font-weight:600;line-height:1.1;color:var(--navy)}
.pkg-card .when{font-size:13px;color:var(--muted)}
.pkg-card .price{font-size:13.5px;font-weight:600;color:var(--goldd);margin-top:2px}
.pkg-list{display:flex;flex-direction:column;gap:16px;margin:16px 16px 0}
.pkg-card.wide{width:auto}
.pkg-card.wide .pk-ph{height:200px}
.pkg-card.wide b{font-size:25px}
.pkg-hero{height:340px}
.pkg-hero .in{padding-bottom:40px}
.pkg-facts{display:flex;margin:-22px 16px 0;position:relative;z-index:2;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 24px rgba(11,23,41,.10)}
.pkg-facts>div{flex:1;min-width:0;padding:12px 12px;text-align:center;border-left:1px solid var(--line)}
.pkg-facts>div:first-child{border-left:0}
.pkg-facts span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--goldd);font-weight:600}
.pkg-facts b{display:block;margin-top:3px;font-size:14px;color:var(--navy);line-height:1.25;overflow-wrap:anywhere}
.pkg-gal{display:flex;gap:8px;overflow-x:auto;margin:16px 0 0;padding:0 16px;scrollbar-width:none}
.pkg-gal::-webkit-scrollbar{display:none}
.pkg-gal .pk-ph{flex:none;width:118px;height:88px;border-radius:14px;border:0;padding:0;background:#0B1729 center/cover;cursor:pointer}
.pkg-ul{list-style:none;margin:0;padding:0 4px}
.pkg-ul li{position:relative;padding:7px 0 7px 22px;font-size:15.5px;line-height:1.45;color:var(--ink)}
.pkg-ul li:before{content:"";position:absolute;left:4px;top:15px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.pkg-desc{margin:0 4px;font-size:15.5px;line-height:1.6;color:var(--ink)}
.pkg-inc{padding:4px 0}
.pkg-inc .row{display:flex;gap:12px;align-items:flex-start;padding:10px 16px;font-size:15px;line-height:1.4;border-top:1px solid var(--line)}
.pkg-inc .row:first-child{border-top:0}
.pkg-inc .ck{flex:none;width:22px;height:22px;border-radius:50%;background:var(--cream);display:grid;place-items:center;margin-top:-1px}
.pkg-inc .ck svg{width:14px;height:14px;fill:none;stroke:var(--goldd);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.screen.pkg-screen{padding-bottom:calc(176px + var(--safe-b))}
.pkg-cta{position:absolute;left:0;right:0;bottom:0;z-index:6;margin:0;padding:12px 16px calc(12px + var(--safe-b));background:rgba(251,249,245,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line)}
.pkg-screen .demo-foot{margin-bottom:0}
.pkg-banner{display:flex;align-items:center;gap:12px;margin:0 16px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:18px}
.pkg-banner .pk-ph{flex:none;width:64px;height:64px;border-radius:12px;background:#0B1729 center/cover}
.pkg-banner .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pkg-banner .eyebrow{font-size:10.5px}
.pkg-banner b{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--navy);line-height:1.1}
.pkg-banner button{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--paper);font-size:20px;line-height:1;color:var(--muted);cursor:pointer}
.pkg-viewer{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:8px -20px 0;padding:0 20px}
.pkg-viewer img{flex:none;width:100%;max-height:70vh;object-fit:cover;border-radius:16px;scroll-snap-align:center}

/* v1.4 online package booking */
.bk-prog{margin:12px 20px 12px}
.bk-bar{height:4px;border-radius:4px;background:var(--line);overflow:hidden;margin-bottom:8px}
.bk-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold2),var(--goldd));border-radius:4px;transition:width .3s}
.bk-pk{margin-bottom:18px}
.bk-q{font-family:var(--serif);font-weight:600;font-size:26px;line-height:1.15;color:var(--navy);margin:2px 2px 14px}
.bk-opts{display:grid;gap:10px;margin-bottom:16px}
.bk-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;min-height:64px;cursor:pointer;font:inherit;color:var(--ink)}
.bk-opt>span{display:flex;flex-direction:column;gap:3px;min-width:0}
.bk-opt b{font-size:16px;font-weight:600}
.bk-opt .rad{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line)}
.bk-opt.on{border-color:var(--goldd);box-shadow:0 0 0 1px var(--goldd) inset}
.bk-opt.on .rad{border-color:var(--goldd);background:radial-gradient(circle,var(--goldd) 0 5px,#fff 6px)}
.bk-opt:disabled{opacity:.5;cursor:default}
.bk-sum{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:8px 0 14px}
.bk-sum>div{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;padding:5px 0;color:var(--muted)}
.bk-sum>div b{color:var(--ink);font-weight:600;white-space:nowrap}
.bk-sum .bk-total{font-size:17px;color:var(--navy);border-bottom:1px solid var(--line);padding:2px 0 9px;margin-bottom:4px}
.bk-sum .bk-total b{font-family:var(--serif);font-size:26px;color:var(--navy)}
.bk-terms{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:13.5px;line-height:1.5;color:var(--muted);max-height:180px;overflow:auto;margin-bottom:12px;overflow-wrap:anywhere}
.bk-agree{display:flex;gap:10px;align-items:flex-start;font-size:15px;font-weight:600;color:var(--ink);margin:0 2px 16px;cursor:pointer}
.bk-agree input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--goldd)}
.bk-pay{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}
.bk-pay>svg{flex:none;width:26px;height:26px;fill:none;stroke:var(--goldd);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.bk-pay p{margin:4px 0 0}
.bk-form .kv{margin:0 0 6px}
.bk-form .kv div span:last-child,.bk-rec .kv div span:last-child{text-align:right;overflow-wrap:anywhere;min-width:0}
.bk-done{padding-top:calc(40px + var(--safe-t))}
.bk-rec{text-align:left;margin:16px 0 12px}
.bk-note{font-style:normal;font-weight:500;font-size:12px;color:var(--goldd);text-transform:uppercase;letter-spacing:.08em}
.bk-deps .row{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;font-size:15px;border-top:1px solid var(--line)}
.bk-deps .row:first-child{border-top:0}
.bk-deps .row span:last-child{color:var(--ok);white-space:nowrap}
.bk-deps .row span.muted:last-child{color:var(--muted)}
.bk-cta-note{margin:7px 0 0}
.bk-form span.lbl{display:block;font-size:13px;font-weight:600;color:var(--muted);margin:0 2px 8px;letter-spacing:.02em}
.bk-pn{font-size:12.5px}

/* v1.5 Face ID sign-in (passkeys) */
.pk-ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-4px}
.btn .pk-ico{width:20px;height:20px}
.pk-signin{display:flex;align-items:center;justify-content:center;gap:8px}
.welcome .pk-signin{background:#fff;color:var(--navy);border:0}
.alogin .pk-signin{margin-bottom:4px}
.pk-err{margin-top:8px}
.pk-or{display:flex;align-items:center;gap:12px;margin:2px 0 14px;font-size:13px;color:#AFA89B}
.pk-or:before,.pk-or:after{content:"";flex:1;height:1px;background:rgba(220,192,143,.3)}
.alogin .pk-or{color:var(--muted)}.alogin .pk-or:before,.alogin .pk-or:after{background:var(--line)}
.pk-lead{margin:0 0 12px;line-height:1.45}
.pk-list{border:1px solid var(--line);border-radius:14px;margin:0 0 12px;overflow:hidden}
.pk-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid var(--line)}
.pk-row:first-child{border-top:0}
.pk-dot{width:36px;height:36px;border-radius:50%;background:var(--cream);color:var(--goldd);display:grid;place-items:center;flex:none}
.pk-txt{flex:1;min-width:0}.pk-txt b{display:block;font-size:15px}.pk-txt span{display:block}
.pk-enroll{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.pk-note{color:var(--muted);margin:0}
.pk-lock{display:flex;gap:12px;align-items:flex-start;margin:16px 0 4px;cursor:pointer}
.pk-lock input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--navy);flex:none}
.pk-lock b{display:block;font-size:15px}.pk-lock .small{display:block;margin-top:2px;line-height:1.4}
.pk-after{margin:10px 0 0 34px}
.pk-offer{text-align:center;padding-top:4px}
.pk-offer h2{margin-top:6px}
.pk-big{width:64px;height:64px;margin:4px auto 6px;border-radius:50%;background:var(--cream);color:var(--goldd);display:grid;place-items:center}
.pk-big .pk-ico{width:34px;height:34px;stroke-width:1.5}
.pk-lockscreen{position:fixed;inset:0;z-index:9999;background:var(--paper);display:grid;place-items:center;padding:24px;padding-top:calc(24px + var(--safe-t))}
.pk-lockin{width:100%;max-width:340px;text-align:center}
.pk-lockin img{margin:0 auto 18px;display:block;border-radius:14px}
.pk-lockin h1{font-family:var(--serif);font-size:34px;color:var(--navy);margin:6px 0 6px}
.pk-lockin .muted{margin:0 0 20px}
.pk-lockin .auth-err{color:var(--due);margin-top:10px}
.facepill{display:inline-flex;align-items:center;gap:3px;color:var(--ok);font-weight:600}
.pk-err:empty{display:none}

/* v1.7 Jewish guide */
.pkg-card .jg-badge{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-top:6px;font-size:11.5px;font-weight:600;color:var(--navy);background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:3px 9px 3px 7px}
.pkg-card .jg-badge svg{width:14px;height:14px;fill:none;stroke:var(--goldd);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.jg-card{padding:4px 0}
.jg-card .row{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-top:1px solid var(--line)}
.jg-card .row:first-child{border-top:0}
.jg-ic{flex:none;width:32px;height:32px;border-radius:50%;background:var(--cream);display:grid;place-items:center}
.jg-ic svg{width:18px;height:18px;fill:none;stroke:var(--goldd);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.jg-tx{flex:1;min-width:0;font-size:14.5px;line-height:1.45;color:var(--ink);overflow-wrap:anywhere}
.jg-tx .jg-h{display:block;font-family:var(--serif);font-size:19px;font-weight:600;color:var(--navy);line-height:1.2;margin:4px 0 4px}
.jg-tx p{margin:0}
.jg-tx ul{list-style:none;margin:0;padding:0}
.jg-tx li{padding:4px 0}
.jg-tx li+li{border-top:1px dashed var(--line)}
.jg-tx li b{font-weight:600;color:var(--ink)}
.jg-tx .jg-sub{display:block;color:var(--muted);font-size:13.5px}
.jg-tx a{color:var(--goldd);text-decoration:underline;text-underline-offset:2px}
.jg-shab .shabbos{margin:12px 0 0}
.jg-foot{margin:10px 4px 0}

/* v1.8 hotel + flights */
.tv-card{padding:0}
.tv-hotel,.tv-leg{padding:14px 16px;border-top:1px solid var(--line)}
.tv-hotel:first-child,.tv-leg:first-child{border-top:0}
.tv-hd{display:flex;gap:12px;align-items:flex-start}
.tv-hn{flex:1;min-width:0;overflow-wrap:anywhere}
.tv-name{display:block;font-family:var(--serif);font-size:21px;font-weight:600;color:var(--navy);line-height:1.15;margin-top:3px}
.tv-stars{display:block;color:var(--gold);font-size:13px;letter-spacing:2px;margin-top:3px}
.tv-area{display:block;color:var(--muted);font-size:13.5px;margin-top:3px;line-height:1.35}
.tv-io{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 0;padding:12px;background:var(--cream);border-radius:12px}
.tv-io>div{min-width:0}
.tv-io span,.tv-line span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--goldd);font-weight:600}
.tv-io b{display:block;font-size:15px;color:var(--ink);margin-top:3px}
.tv-io em{display:block;font-style:normal;font-size:13px;color:var(--muted);margin-top:1px}
.tv-line{margin:12px 0 0;font-size:14.5px;color:var(--ink)}
.tv-note{margin:8px 0 0;font-size:13.5px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.tv-link{display:inline-flex;align-items:center;gap:2px;margin-top:10px;color:var(--goldd);font-weight:600;font-size:14px}
.tv-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.tv-lhd{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;color:var(--muted)}
.tv-dir{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--goldd);font-weight:600}
.tv-route{display:flex;align-items:flex-start;gap:8px;margin-top:8px}
.tv-pt{flex:none;min-width:72px;max-width:38%}
.tv-pt.r{text-align:right}
.tv-pt b{display:block;font-family:var(--serif);font-size:30px;font-weight:600;color:var(--navy);line-height:1;letter-spacing:.02em;overflow-wrap:anywhere}
.tv-pt em{display:block;font-style:normal;font-size:18px;font-weight:600;color:var(--ink);margin-top:4px;font-variant-numeric:tabular-nums}
.tv-pt span{display:block;font-size:13px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}
.tv-mid{flex:1;display:flex;align-items:center;gap:6px;padding-top:9px;min-width:30px}
.tv-mid i{flex:1;height:0;border-top:1.5px dashed var(--gold)}
.tv-mid svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--goldd);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tv-arr{margin:8px 0 0;font-size:13px;color:var(--goldd);font-weight:600}
.tv-who{margin:8px 0 0;font-size:14px;color:var(--ink);font-weight:500}

/* v1.9 client flights */
.cf-card{display:block;color:inherit;text-decoration:none}
.cf-link{display:block;color:inherit;text-decoration:none}
.cf-act{padding:0 16px 16px}
.cf-act .btn{min-height:46px;font-size:15px}
.cf-band{margin:14px 0 0;padding:12px;border-radius:14px;background:var(--navy);color:#fff}
.cf-band .eyebrow{color:var(--gold2)}
.cf-band .count{margin-top:8px}
.cf-band.soon{box-shadow:inset 0 0 0 1.5px var(--gold)}
.cf-air{margin:6px 0 2px;font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.15}
.cf-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 2px}
.cf-meta>div{min-width:0}
.cf-meta span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--goldd);font-weight:600}
.cf-meta b{display:block;font-size:15px;color:var(--ink);margin-top:3px;overflow-wrap:anywhere}
.tv-pt span.cf-term{color:var(--ink);font-weight:500}
.tv-pt span.cf-tz{font-size:11.5px;letter-spacing:.06em}

/* v1.10 preference dropdowns */
.pf-chips{display:flex;flex-wrap:wrap;gap:8px}
.pf-chips .chip{position:relative;display:inline-flex;align-items:center;min-height:40px;margin:0;font-size:14px;font-weight:600;letter-spacing:0;color:var(--navy);user-select:none;-webkit-user-select:none}
.pf-chips .chip.on{color:#fff}
.pf-chips .chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.pf-chips .chip:focus-within{outline:2px solid var(--gold);outline-offset:2px}
.pf-chips .chip:has(input:checked){background:var(--navy);color:#fff;border-color:var(--navy)}
.pf-other{margin-top:8px}

/* v1.11: package categories (departs from) */
.pkg-cats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pkg-cats.one{grid-template-columns:1fr}
.pkg-cats .pkg-card{width:auto;min-width:0}
.pkg-cats .pkg-card .pk-ph{height:132px}
.pkg-cats .pkg-card b{font-size:19px}
.pkg-cat .when.cities{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pkg-cat .price{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px}
.pkg-cat .go{display:inline-flex;width:18px;height:18px;flex:none}
.pkg-cats.scroll{display:flex;gap:12px;overflow-x:auto;margin:0 -16px;padding:2px 16px 8px;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-padding-left:16px}
.pkg-cats.scroll::-webkit-scrollbar{display:none}
.pkg-cats.scroll .pkg-card{flex:none;width:158px;scroll-snap-align:start}
.pkg-cat .go svg{width:18px;height:18px;fill:none;stroke:var(--goldd);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* v1.13 customize this package */
.pkg-cta .cu-btn{min-height:44px;margin-top:8px;font-size:15px}
.cu-nights{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 18px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:15px}
.cu-nights>span:first-child{color:var(--muted,#7A7A7A);font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.cu-bad{color:#A2402A;font-weight:600}
.cu-price{margin:0 0 18px}
.cu-base{display:flex;flex-direction:column;gap:2px}
.cu-base span{font-size:13px;color:var(--muted,#7A7A7A)}
.cu-base b{font-size:17px;color:var(--navy)}

/* v1.15 simple calendar card */
.cal-card{padding:16px}
.cal-card-top{display:flex;gap:12px;align-items:flex-start}
.cal-card-ic{width:40px;height:40px;border-radius:12px;background:var(--cream);display:grid;place-items:center;flex:none}
.cal-card-ic svg{width:22px;height:22px;fill:none;stroke:var(--goldd);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cal-card-top b{display:block;font-size:16px;color:var(--navy);line-height:1.25}
.cal-card-top span{display:block;font-size:13.5px;color:var(--muted,#6B6459);margin-top:3px;line-height:1.4}
.cal-card .btn{margin-top:14px}
.cal-help{display:block;text-align:center;margin-top:10px;font-size:13px;color:var(--muted,#6B6459);text-decoration:underline}
.cal-on{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 4px;font-size:13.5px;color:var(--muted,#6B6459)}
.cal-on span{color:var(--navy);font-weight:600}
.cal-on a{color:var(--muted,#6B6459);text-decoration:underline;font-size:13px}
.cal-one{margin:2px 20px 0;font-size:13px;text-align:center}
.cal-one a{color:var(--muted,#6B6459);text-decoration:underline}
.cal-status{margin:0 0 4px;font-weight:600;color:var(--navy)}
.cal-trouble summary{cursor:pointer;font-weight:600;color:var(--navy);list-style:none}
.cal-trouble summary::-webkit-details-marker{display:none}
.cal-trouble summary::after{content:' ›';color:var(--goldd)}
.cal-trouble[open] summary::after{content:' ⌄'}
.cal-help-steps{margin-top:12px}
