/* JMSPRO offer page (v2.6.0) — maroon/gold, uses site tokens so light/dark both work */
.jo{--mar1:#4e0719;--mar2:#86122c;--gold1:#ffdf91;--gold2:#d5a33c;--gold3:#f8d77e;overflow-x:clip}
.jo h1,.jo h2,.jo h3{margin:0}
.jo-eyebrow,.jo-kicker{font:800 12px/1 var(--body);letter-spacing:.18em;text-transform:uppercase}
.jo-eyebrow{color:var(--gold);margin-bottom:14px}
/* hero */
.jo-hero{position:relative;color:#fff8e9;background:radial-gradient(120% 90% at 85% 0,rgba(239,176,63,.22),transparent 55%),linear-gradient(135deg,var(--mar1),var(--mar2) 62%,#3b0715);padding:clamp(40px,7vw,96px) 0 clamp(48px,7vw,104px)}
.jo-hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.jo-hero-bg i{position:absolute;border:1px solid rgba(255,213,107,.28);border-radius:50%;animation:joFloat 9s ease-in-out infinite}
.jo-hero-bg i:nth-child(1){width:420px;height:420px;right:-120px;top:-140px}
.jo-hero-bg i:nth-child(2){width:260px;height:260px;right:6%;bottom:-120px;animation-delay:-3s}
.jo-hero-bg i:nth-child(3){width:90px;height:90px;left:44%;top:12%;background:radial-gradient(circle,rgba(255,213,107,.35),transparent 70%);border:0;animation-delay:-6s}
.jo-hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:center}
.jo-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--gold1)}
.jo-kicker b{width:9px;height:9px;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 4px rgba(213,163,60,.3),0 0 14px var(--gold2)}
.jo-hero h1{color:#fff8e9;font-size:clamp(36px,5.6vw,72px);line-height:1;letter-spacing:-.04em;font-weight:800;margin:18px 0;max-width:13ch}
.jo-hero h1 em{font-style:normal;color:var(--gold1)}
.jo-lead{color:#f4dfd0;font-size:clamp(16px,1.4vw,19px);max-width:52ch}
.jo-hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:30px}
.jo-glow{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(255,225,157,.9);border-radius:999px;padding:16px 30px;background:linear-gradient(135deg,var(--gold1) 0,var(--gold2) 48%,var(--gold3));color:#4d0b1b;font:800 16px/1.2 var(--body);cursor:pointer;box-shadow:0 0 18px rgba(226,173,62,.55),0 0 42px rgba(226,173,62,.25),inset 0 1px 0 rgba(255,255,255,.8);transition:transform .2s,box-shadow .2s}
.jo-glow:before{content:"";position:absolute;inset:-5px;border-radius:inherit;border:1px solid rgba(255,215,128,.5);z-index:-1;animation:joPulse 2.2s ease-out infinite}
.jo-glow:hover{transform:translateY(-2px);box-shadow:0 0 26px rgba(226,173,62,.75),0 0 56px rgba(226,173,62,.35),inset 0 1px 0 #fff}
.jo-sm{padding:12px 20px;font-size:14px}
.jo-ghost{color:var(--gold1);font-weight:700;text-decoration:none;padding:12px 6px;border-bottom:1px solid rgba(255,223,145,.45)}
.jo-ghost:hover{border-color:var(--gold1)}
.jo-trust{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin:26px 0 0;padding:0;color:#ead5c8;font-size:14px}
.jo-trust li:before{content:"✓";color:var(--gold1);margin-right:7px;font-weight:800}
.jo-valid{margin-top:16px;color:#ead5c8;font-size:14px}.jo-valid b{color:var(--gold1)}
/* price card */
.jo-card-price{background:rgba(255,248,233,.08);border:1px solid rgba(255,223,145,.4);border-radius:26px;padding:clamp(22px,3vw,34px);backdrop-filter:blur(8px);box-shadow:0 30px 70px -30px rgba(0,0,0,.6)}
.jo-cp-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#ead5c8;font-size:14px}.jo-cp-top del{font-size:20px;color:#ead5c8}
.jo-cp-top em{margin-left:auto;font-style:normal;font-weight:800;font-size:12px;letter-spacing:.08em;background:var(--gold1);color:#5b0b1d;padding:6px 12px;border-radius:99px}
.jo-cp-label{margin-top:18px;color:var(--gold1);font:800 12px var(--body);letter-spacing:.16em;text-transform:uppercase}
.jo-cp-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.jo-cp-price strong{font:800 clamp(44px,6vw,68px)/1 var(--disp);color:#ffdb76;letter-spacing:-.03em}.jo-cp-price span{color:#f4dfd0}
.jo-cp-split{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.jo-cp-split>div{background:rgba(0,0,0,.2);border:1px solid rgba(255,223,145,.2);border-radius:16px;padding:14px}
.jo-cp-split small{display:block;color:#ead5c8;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.jo-cp-split b{display:block;font:800 24px var(--disp);color:#fff8e9;margin:4px 0 2px}.jo-cp-split span{font-size:12.5px;color:#ead5c8}
.jo-cp-note{margin-top:16px;font-size:14px;color:#f4dfd0}.jo-cp-note b{color:var(--gold1)}
/* sections */
.jo-sec{padding:clamp(48px,7vw,92px) 0}.jo-alt{background:var(--bg2,rgba(0,0,0,.03))}
.jo-sec h2{font-size:clamp(28px,3.8vw,46px);max-width:20ch;margin-bottom:12px}
.jo-sub{color:var(--mut);max-width:58ch;margin-bottom:28px}.jo-sub a{color:var(--gold);font-weight:700}
.jo-fine{color:var(--mut);font-size:14px;margin-top:14px}
.jo-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:20px;background:var(--card)}
.jo-table{width:100%;border-collapse:collapse;min-width:620px;font-size:16px}
.jo-table th{text-align:left;font:700 12px var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);padding:16px 20px;border-bottom:1px solid var(--line)}
.jo-table td{padding:18px 20px;border-bottom:1px solid var(--line);color:var(--ink)}.jo-table tr:last-child td{border:0}
.jo-total td{background:color-mix(in srgb,var(--gold) 10%,transparent)}
.jo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.jo-feat{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;transition:transform .2s,border-color .2s}.jo-feat:hover{transform:translateY(-3px);border-color:var(--gold)}
.jo-feat svg{color:var(--gold);margin-bottom:12px}.jo-feat h3{font-size:18px;letter-spacing:-.02em;margin-bottom:6px;line-height:1.2}.jo-feat p{color:var(--mut);font-size:15px;line-height:1.5}
.jo-renew{margin-top:22px;background:var(--card);border:1px dashed var(--gold);border-radius:20px;padding:22px 24px}.jo-renew h3{font-size:20px;margin-bottom:8px}.jo-renew p{color:var(--mut)}.jo-renew p b{color:var(--ink)}
.jo-renew ul{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 28px}.jo-renew li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:6px 0}
.jo-how{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:s}
.jo-how li{position:relative;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px 18px}
.jo-how b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--mar1),var(--mar2));color:var(--gold1);font:800 15px var(--disp);margin-bottom:12px}
.jo-how h3{font-size:18px;margin-bottom:6px}.jo-how p{color:var(--mut);font-size:14.5px;line-height:1.5}
.jo-faq-w{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,64px);align-items:start}
.jo-faq details{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:0 20px;margin-bottom:10px}
.jo-faq summary{cursor:pointer;font-weight:700;padding:18px 24px 18px 0;list-style:none;position:relative}.jo-faq summary::-webkit-details-marker{display:none}
.jo-faq summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:24px;color:var(--gold);transition:transform .2s}.jo-faq details[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.jo-faq details p{color:var(--mut);padding:0 0 18px}.jo-faq a{color:var(--gold);font-weight:700}
.jo-final{text-align:center;color:#fff8e9;background:linear-gradient(135deg,var(--mar1),var(--mar2));border-radius:28px;padding:clamp(34px,6vw,70px) 22px;position:relative;overflow:hidden}
.jo-final h2{color:#fff8e9;margin:0 auto 12px;max-width:22ch}.jo-final p{color:#f4dfd0;margin-bottom:24px}
.jo-sticky{display:none}
/* return panel */
.jo-return{margin-top:-28px;position:relative;z-index:2}
.jo-rcard{background:var(--card);border:1px solid var(--gold);border-radius:24px;padding:clamp(22px,4vw,40px);box-shadow:0 24px 60px -30px rgba(0,0,0,.45)}
.jo-rcard h2{font-size:clamp(24px,3vw,34px);margin:6px 0 10px}.jo-rcard p{color:var(--mut)}
.jo-rcard .jo-ref{display:inline-block;margin:12px 0;font:700 20px ui-monospace,Menlo,Consolas,monospace;border:1px solid var(--line);border-radius:12px;padding:8px 16px;background:var(--bg);color:var(--ink)}
.jo-spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--gold);animation:joSpin .9s linear infinite;margin-bottom:10px}
.jo-rcard .jo-btn2{margin-top:10px}
/* modal */
.jo-modal{display:none;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;padding:20px}.jo-modal.is-open{display:flex}
.jo-backdrop{position:absolute;inset:0;background:rgba(10,7,12,.74);backdrop-filter:blur(7px)}
.jo-dialog{position:relative;z-index:1;width:min(660px,100%);max-height:min(92vh,940px);overflow:auto;background:var(--card);color:var(--ink);border:1px solid rgba(215,177,102,.55);border-radius:26px;padding:clamp(22px,4vw,38px);box-shadow:0 30px 100px rgba(0,0,0,.4);animation:joIn .22s ease}
.jo-dialog h2{font-size:clamp(26px,3.4vw,34px);margin:4px 0 6px}.jo-modal-intro{color:var(--mut);margin:0 0 20px}
.jo-x{position:absolute;right:14px;top:14px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--bg);color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
.jo-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.jo-wide{grid-column:1/-1}
.jo-f{display:flex;flex-direction:column;gap:6px;min-width:0}.jo-f label{font-weight:700;font-size:14px}
.jo-f input,.jo-f select,.jo-f textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--bg);color:var(--ink);font:inherit;font-size:16px}
.jo-f input:focus,.jo-f select:focus,.jo-f textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.jo-f small{color:var(--mut);font-size:13px}.jo-f .jo-ok{color:#1c8a4a;font-weight:700}
.jo-row{display:flex;gap:8px;align-items:stretch}.jo-cc{display:grid;place-items:center;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);font-weight:700}
.jo-btn2{flex:none;border:1px solid var(--gold);background:transparent;color:var(--ink);border-radius:12px;padding:0 18px;font:700 14px var(--body);cursor:pointer;min-height:46px}.jo-btn2:hover:not(:disabled){background:var(--gold);color:#2a1c04}.jo-btn2:disabled{opacity:.5;cursor:not-allowed}
.jo-otp{margin-top:8px}
.jo-consent{flex-direction:row;gap:10px;align-items:flex-start;font-size:14px}.jo-consent input{width:20px;height:20px;margin-top:3px;flex:none}.jo-consent label{font-weight:400}.jo-consent a{color:var(--gold);font-weight:700}
.jo-pay{margin:18px 0 14px;border:1px solid var(--gold);background:color-mix(in srgb,var(--gold) 9%,transparent);border-radius:16px;padding:14px 18px}
.jo-pay small{display:block;color:var(--mut);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.jo-pay div>b{font:800 28px var(--disp)}.jo-pay span b{font:inherit;font-weight:700}.jo-pay span{display:block;color:var(--mut);font-size:13.5px}
.jo-submit{width:100%;border:0;border-radius:14px;padding:16px 22px;background:linear-gradient(135deg,var(--mar1),var(--mar2));color:#fff8e9;font:800 16px var(--body);cursor:pointer;transition:filter .2s}.jo-submit:hover:not(:disabled){filter:brightness(1.15)}.jo-submit:disabled{opacity:.55;cursor:not-allowed}
.jo-alert{padding:13px 16px;border-radius:12px;margin:0 0 14px;background:#edf8ed;color:#155724}.jo-alert.bad{background:#fff0e8;color:#8a2600}.jo-alert a{color:inherit;font-weight:700}
html[data-theme=dark] .jo-alert.bad{background:rgba(220,90,40,.15);color:#ffb08f}
.jo-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
body.jo-lock{overflow:hidden}
@keyframes joPulse{0%{transform:scale(.98);opacity:.8}100%{transform:scale(1.1);opacity:0}}
@keyframes joIn{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}
@keyframes joFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes joSpin{to{transform:rotate(360deg)}}
@media(max-width:1020px){.jo-grid{grid-template-columns:repeat(2,1fr)}.jo-how{grid-template-columns:repeat(2,1fr)}.jo-how li:last-child{grid-column:1/-1}}
@media(max-width:860px){.jo-hero-grid,.jo-faq-w{grid-template-columns:1fr}.jo-hero h1{max-width:none}}
@media(max-width:640px){
 .jo-grid,.jo-how,.jo-renew ul,.jo-fields{grid-template-columns:1fr}.jo-how li:last-child{grid-column:auto}
 .jo-modal{padding:8px;align-items:flex-end}.jo-dialog{max-height:94vh;border-radius:22px 22px 12px 12px}
 .jo-hero-cta .jo-glow{width:100%}
 .jo-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--gold);box-shadow:0 -10px 30px rgba(0,0,0,.18)}
 .jo-sticky small{color:var(--mut)}.jo-sticky b{font:800 20px var(--disp)}
 .jo{padding-bottom:70px}
}
@media(prefers-reduced-motion:reduce){.jo-glow:before,.jo-hero-bg i,.jo-spin,.jo-dialog{animation:none}}
/* neutralise global form/label rules from site.css inside the popup */
.jo form{border:0;background:none;border-radius:0;padding:0;display:block}
.jo .jo-f label{display:block;font-size:14px;color:var(--ink);font-weight:700}
.jo .jo-consent label{display:block;font-weight:400;font-size:14px;color:var(--mut);line-height:1.5}
.jo .jo-hp label{display:block}
@media(max-width:640px){.jo-sticky small{display:block;white-space:nowrap}.jo-sticky .jo-glow{white-space:nowrap}}

.jo-dom{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;font-size:13px}.jo-dom small{flex-basis:100%;color:var(--mut)}
.jo-chip{border:1px solid var(--line,#d9dee7);background:#fff;border-radius:999px;padding:5px 11px;font-size:13px;cursor:pointer}
.jo-chip.available{border-color:#1a8f4c;color:#126b38}.jo-chip.taken{border-color:#c0392b;color:#9b2c20;text-decoration:line-through}.jo-chip.unknown{color:var(--mut)}

/* pricing section */
.jo-pg{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:20px;margin-top:28px;align-items:stretch}
.jo-pcard{background:var(--card,#fff);border:1px solid var(--line,#e3e6ee);border-radius:22px;padding:clamp(20px,2.4vw,30px);transition:transform .25s,box-shadow .25s}
.jo-pcard:hover{transform:translateY(-3px);box-shadow:0 24px 50px -28px rgba(20,24,40,.35)}
.jo-pmain{border-color:rgba(200,150,40,.55);background:linear-gradient(180deg,rgba(255,244,214,.55),var(--card,#fff))}
.jo-pcard h3{margin:0 0 10px;font-size:20px}
.jo-badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:linear-gradient(135deg,#F2D48E,#D9AE5E);color:#5A1A22;box-shadow:0 1px 0 rgba(255,255,255,.5) inset;margin-bottom:12px}
.jo-pp{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:6px 0 8px}.jo-pp del{color:var(--mut);font-size:18px}.jo-pp strong{font-size:clamp(36px,4.4vw,52px);letter-spacing:-.02em;line-height:1}.jo-pp span{flex-basis:100%;color:var(--mut);font-size:14px}
.jo-pcta{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 10px}
.jo-ghost2{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line,#cfd4e0);border-radius:999px;padding:14px 22px;background:transparent;color:inherit;font-weight:700;cursor:pointer;text-decoration:none;font-size:15px;transition:background .2s,transform .2s}.jo-ghost2:hover{background:rgba(120,120,140,.1);transform:translateY(-1px)}
.jo-ck{list-style:none;margin:0;padding:0;display:grid;gap:9px}.jo-ck li{position:relative;padding-left:26px;font-size:15px;line-height:1.45}.jo-ck li:before{content:"";position:absolute;left:3px;top:6px;width:10px;height:6px;border-left:2px solid #1a8f4c;border-bottom:2px solid #1a8f4c;transform:rotate(-45deg)}
.jo-disc{margin-top:26px;border:1px solid var(--line,#e3e6ee);border-radius:20px;padding:clamp(18px,2.4vw,28px)}.jo-disc h3{margin:0 0 12px}.jo-disc td{padding:10px 8px;border-bottom:1px solid var(--line,#e3e6ee);vertical-align:top}.jo-disc td:last-child{text-align:right;font-weight:600}
.jo-alert.ok{background:rgba(26,143,76,.12);border:1px solid #1a8f4c;color:inherit;padding:14px;border-radius:12px;margin-top:12px}
@media(max-width:980px){.jo-pg{grid-template-columns:1fr}.jo-pcta .jo-glow,.jo-pcta .jo-ghost2{width:100%}.jo-disc td:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){.jo-pcard,.jo-ghost2{transition:none}.jo-pcard:hover{transform:none}}

/* ---- v2.14: countdown + confidence ---- */
.jo-count{margin:22px 0 4px;max-width:470px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,223,145,.35);backdrop-filter:blur(4px)}
.jo-count-h{font-size:13px;color:#ead5c8;letter-spacing:.04em;margin-bottom:10px}.jo-count-h b{color:var(--gold1)}
.jo-count-t{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.jo-count-t div{text-align:center;background:rgba(0,0,0,.28);border-radius:12px;padding:10px 4px;border:1px solid rgba(255,223,145,.18)}
.jo-count-t b{display:block;font:800 28px/1 var(--head,inherit);color:var(--gold1);font-variant-numeric:tabular-nums}.jo-count-t small{display:block;margin-top:5px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#d9c3b8}
.jo-count.is-urgent .jo-count-t b{color:#ffb3a1}.jo-count-end{margin-top:18px;padding:12px 16px;border-radius:12px;background:rgba(255,120,100,.16);color:#ffd5cb;font-weight:700}
.jo-sure-g{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.jo-sure-g article{position:relative;background:var(--jo-card,#fff);border:1px solid rgba(160,110,40,.22);border-radius:18px;padding:26px 22px 22px;box-shadow:0 10px 30px rgba(78,7,25,.07)}
.jo-sure-g i{position:absolute;top:-14px;left:20px;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#f0c35a,#c8921f);color:#4d0b1b;font:800 14px/30px var(--body,inherit);text-align:center;font-style:normal}
.jo-sure-g h3{margin:6px 0 8px;font-size:17px}.jo-sure-g p{margin:0;font-size:14.5px;line-height:1.6;opacity:.88}.jo-sure-g a{font-weight:700}
html[data-theme=dark] .jo-sure-g article{background:#1a1418;border-color:rgba(255,223,145,.2)}
@media(max-width:860px){.jo-sure-g{grid-template-columns:1fr 1fr}}@media(max-width:560px){.jo-sure-g{grid-template-columns:1fr}.jo-count-t b{font-size:23px}}

/* v2.15 — visible Track button in hero */
a.jo-ghost{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;border:2px solid var(--gold1);background:rgba(255,223,145,.1);color:var(--gold1);font-weight:800;text-decoration:none}
a.jo-ghost:hover{background:var(--gold1);color:#4d0b1b}a.jo-track::before{content:"📍"}

/* v2.16 — secure-pay trust row + chat button no longer covers the mobile Reserve bar */
.jo-trust{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:center;margin:12px 0 4px;font-size:12.5px;font-weight:700;color:var(--mut)}.jo-trust span{display:inline-flex;align-items:center;gap:6px}.jo-trust svg{color:#1a8f4c;flex:none}
@media(max-width:640px){body:has(.jo-sticky) .jpc-fab{bottom:calc(86px + env(safe-area-inset-bottom,0px));right:14px;width:52px;height:52px}body:has(.jo-sticky) .jpc{bottom:calc(150px + env(safe-area-inset-bottom,0px));height:min(560px,calc(100vh - 190px))}body:has(.jo-sticky) .jo-footer-pad{height:70px}}

.jo-cmpg{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:12px}.jo-cmpg h4{margin:0 0 12px;font-size:15px}.jo-plus li:before{content:'+'!important;border:0!important;transform:none!important;width:auto!important;height:auto!important;top:-1px!important;left:5px!important;color:#b8860b;font-weight:800;font-size:16px;line-height:1.4}.jo-demo{border-color:var(--gold1,#c8932f);font-weight:700}@media(max-width:720px){.jo-cmpg{grid-template-columns:1fr}}

.jo-disc .jo-table{min-width:0;width:100%}.jo-disc{overflow:hidden}
@media(max-width:640px){.jo-disc .jo-table,.jo-disc .jo-table tbody,.jo-disc .jo-table tr,.jo-disc .jo-table td{display:block;width:100%}.jo-disc .jo-table tr{padding:10px 0;border-bottom:1px solid var(--line,#e3e6ee)}.jo-disc .jo-table td{border:0;padding:2px 0;text-align:left!important;overflow-wrap:anywhere}.jo-disc .jo-table td:first-child{font-size:15px}.jo-disc .jo-table td:last-child{color:var(--mut)}.jo-disc .jo-table tr:last-child{border:0}.jo-cmp{padding:16px}}
.jo-table-wrap{max-width:100%}

/* offer ended: regular price only (switches live when the countdown reaches zero) */
.jo:not(.is-ended) .jo-reg-only{display:none!important}
.jo.is-ended .jo-offer-only{display:none!important}

.jo-demo-note{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.jo-demo-link{display:inline-block;padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,#f8d77e,#d5a33c);color:#4e0719!important;font-weight:800;font-size:15px;text-decoration:none!important;box-shadow:0 6px 16px rgba(78,7,25,.15)}
.jo-demo-link:hover{filter:brightness(1.06)}
.jo-demo-note span{font-size:13px;opacity:.8}
/* hero highlight list: keep it light on the maroon hero (the modal's .jo-trust rule must not grey it) */
ul.jo-trust{justify-content:flex-start;margin:26px 0 0;font-size:14.5px;font-weight:600;color:#fff1e6}
ul.jo-trust li{color:#fff1e6}
@media(max-width:700px){ul.jo-trust{justify-content:flex-start}}

/* comparison: two separate cards */
.jo-cmp.jo-disc{border:0;padding:0;overflow:visible;background:none}
.jo-cmp>h3{margin:0 0 14px}
.jo-cmpg{gap:20px;margin-top:0}
.jo-cmpcard{background:var(--card,#fff);border:1px solid var(--line,#e3e6ee);border-radius:20px;padding:clamp(18px,2.4vw,28px);box-shadow:0 10px 28px rgba(78,7,25,.06);position:relative;overflow:hidden}
.jo-cmpcard:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:#1a8f4c}
.jo-cmpcard.jo-cup:before{background:linear-gradient(90deg,#f8d77e,#d5a33c)}
.jo-cmpcard h4{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:6px 0 14px;font-size:17px}
.jo-cmpcard h4 small{font-size:12.5px;font-weight:600;opacity:.7}
.jo-cico{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e6f5ec;color:#1a8f4c;font-weight:800;font-size:15px}
.jo-cup .jo-cico{background:#fbf0d2;color:#9a6b00}
html[data-theme=dark] .jo-cmpcard{background:#1a1418;border-color:rgba(255,223,145,.2)}
@media(max-width:760px){.jo-cmpg{grid-template-columns:1fr}}
a.jo-btn2{display:inline-flex;align-items:center;justify-content:center;min-height:46px;text-decoration:none}

#jo-mobile.is-locked{background:rgba(26,143,76,.08);border-color:#1a8f4c;color:inherit;cursor:not-allowed}
.jo-chg{background:none;border:0;padding:0;margin-left:6px;color:#9a6b00;font-weight:700;text-decoration:underline;cursor:pointer;font:inherit}
.jo-trackbox{margin-top:18px;padding:16px 18px;border:1px solid rgba(160,110,40,.35);border-radius:14px;background:rgba(248,215,126,.14)}
.jo-trackbox p{margin:6px 0 10px}

/* v2.20.1 pricing card emphasis */
.jo-cp-top span{font-weight:800;color:#fff8e9}.jo-cp-top del{font-size:26px;font-weight:800;color:#fff;text-decoration-thickness:3px;opacity:.95}
.jo-cp-top em{font-size:13px;padding:7px 14px}.jo-cp-price span{font-weight:800;font-size:15px;color:#fff8e9;text-transform:uppercase;letter-spacing:.06em}
.jo-pp del{font-weight:800;color:#5b0b1d;opacity:1;text-decoration-thickness:2px}

/* payment-return screens */
.jo-rcard{max-width:640px;margin-left:auto;margin-right:auto;text-align:center}
.jo-rcard .jo-spin{margin:0 auto 14px}
.jo-ic{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;font-size:26px;font-weight:800}
.jo-ic-fail{background:#fde8e8;color:#9b2c2c}.jo-ic-warn,.jo-ic-wait,.jo-ic-net{background:#fbf0d4;color:#8a5a00}.jo-ic-off{background:#eee;color:#555}
.jo-refrow{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin:14px 0;padding:10px 14px;border:1px dashed var(--line,#e5d9c3);border-radius:12px}
.jo-refrow span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.jo-refrow b{font-size:16px;letter-spacing:.03em}
.jo-copy{border:1px solid var(--line,#e5d9c3);background:transparent;color:inherit;border-radius:999px;padding:6px 14px;font-weight:700;cursor:pointer}
.jo-acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:10px}
.jo-btn3{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid currentColor;text-decoration:none;font-weight:700;color:inherit}
html[data-theme=dark] .jo-ic-fail{background:#3a1a1a;color:#ffb3b3}html[data-theme=dark] .jo-ic-warn,html[data-theme=dark] .jo-ic-wait,html[data-theme=dark] .jo-ic-net{background:#3a2d12;color:#f0c35a}html[data-theme=dark] .jo-ic-off{background:#2a2a2a;color:#ccc}
@media(max-width:520px){.jo-acts>*{flex:1 1 100%}}
.jo-steps{list-style:none;margin:12px auto;padding:0;max-width:360px;text-align:left;font-size:.95rem}.jo-steps li{padding:5px 0;color:#7a8499}.jo-steps li.done{color:#1c8a4a}.jo-steps li.cur{color:#8a6100;font-weight:600}

.jo-pkgsel{border:1px solid #eadcc3;border-radius:14px;padding:10px 12px;margin:0 0 14px;display:grid;gap:8px}
.jo-pkgsel legend{font-weight:700;font-size:13px;padding:0 6px}
.jo-pk{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #eadcc3;border-radius:12px;cursor:pointer}
.jo-pk:has(input:checked){border-color:#d5a33c;background:#fffaf0}
.jo-pk span{display:grid;gap:2px}.jo-pk em{font-style:normal;font-weight:800}.jo-pk small{opacity:.7}
.jo-choose-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:18px 0}
html[data-theme=dark] .jo-pkgsel,html[data-theme=dark] .jo-pk{border-color:#4a3d22}html[data-theme=dark] .jo-pk:has(input:checked){background:#2a2316}

/* M1: how-it-works cards (own class; the sign-up progress list keeps .jo-steps) */
.jo-how{width:100%;max-width:none;margin:28px 0 0}
.jo-how li{min-width:0}
.jo-how h3{overflow-wrap:break-word;hyphens:auto}
@media(max-width:1020px){.jo-how{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.jo-how{grid-template-columns:1fr}}

/* ===== 3.111.0 ===== */
/* M4/M2: package switch */
.jo-pkg-sw{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(244,211,122,.45);margin:0 0 14px;max-width:100%}
.jo-pkg-sw button{border:0;background:transparent;color:inherit;font:700 13px var(--body,inherit);padding:8px 14px;border-radius:999px;cursor:pointer;white-space:nowrap}
.jo-pkg-sw button.is-on{background:linear-gradient(135deg,#f4d37a,#d5a33c);color:#3a0a16}
.jo-pkg-sw-l{background:#f3ead8;border-color:#e2cfa5;color:#3a2a10}
.jo[data-pkg="crm"] [data-pkgv="web"],.jo[data-pkg="web"] [data-pkgv="crm"]{display:none!important}
.jo-cp-fine{font-size:12px;opacity:.8;margin:6px 0 0}
.jo-hero-cta{flex-wrap:wrap}.jo-hero-cta .jo-track{flex-basis:auto;font-size:14px;padding:9px 16px}
/* M2: pricing steps */
.jo-plan{border:1px solid var(--line);background:var(--card);border-radius:20px;overflow:hidden;margin-top:18px}
.jo-plan-row{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:16px 20px;border-top:1px solid var(--line)}
.jo-plan-row:first-child{border-top:0}
.jo-plan-n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--mar1),var(--mar2));color:var(--gold1);font:800 15px var(--disp)}
.jo-plan-t b{display:block;font-size:17px}.jo-plan-t small{display:block;color:var(--mut);font-size:13.5px;line-height:1.45;margin-top:2px}
.jo-plan-a{text-align:right}.jo-plan-a b{display:block;font:800 22px var(--disp)}.jo-plan-a small{display:block;color:var(--mut);font-size:12px}
.jo-plan-total{background:rgba(213,163,60,.14)}
.jo-plan-total .jo-plan-n{background:#d5a33c;color:#3a0a16}
@media(max-width:640px){.jo-plan-row{grid-template-columns:34px 1fr;padding:14px}.jo-plan-a{grid-column:2;text-align:left}.jo-plan-a b{display:inline;font-size:20px}.jo-plan-a small{display:inline;margin-left:8px}}
/* M3: package cards in the booking pop-up */
.jo-pkgsel{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jo-pkgsel legend{grid-column:1/-1}
.jo-pk{display:flex;gap:10px;align-items:flex-start;text-align:left}
.jo-pk input[type=radio]{flex:none;width:18px;height:18px;min-width:18px;margin:2px 0 0;padding:0}
.jo-pk>span{flex:1;min-width:0;display:grid;gap:3px;justify-items:start}
.jo-pk b{font-size:15px;line-height:1.25}.jo-pk em del{opacity:.55;font-weight:400;margin-right:4px}.jo-pk em i{font-style:normal;font-size:11.5px;font-weight:700;background:#f4d37a;color:#3a0a16;border-radius:99px;padding:2px 8px;margin-left:6px;white-space:nowrap}
.jo-pk small{font-size:12.5px}
#jo-modal:focus{outline:none}
@media(max-width:640px){.jo-pkgsel{grid-template-columns:1fr}}
/* M8/M9 */
.jo-confetti{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:99999}
.jo-tick{display:grid;place-items:center;margin:6px 0 4px}
.jo-tick circle{stroke-dasharray:152;stroke-dashoffset:152;animation:joDraw .6s ease forwards}
.jo-tick path{stroke-dasharray:40;stroke-dashoffset:40;animation:joDraw .4s .5s ease forwards}
@keyframes joDraw{to{stroke-dashoffset:0}}
.jo-rcard h2{text-align:center}.jo-congrats{text-align:center;font-size:1.1em;color:#1a8f4c}
.jo-btn2-glow{background:linear-gradient(135deg,#f4d37a,#d5a33c)!important;color:#3a0a16!important;border-color:#d5a33c!important;font-weight:800;animation:joGlow 2s ease-in-out infinite;transition:transform .15s}
.jo-btn2-glow:hover{transform:translateY(-2px);box-shadow:0 0 22px 6px rgba(213,163,60,.65)}
@keyframes joGlow{0%,100%{box-shadow:0 0 6px 0 rgba(213,163,60,.45)}50%{box-shadow:0 0 22px 7px rgba(213,163,60,.7)}}
@media(prefers-reduced-motion:reduce){.jo-btn2-glow{animation:none;box-shadow:0 0 14px 3px rgba(213,163,60,.55)}.jo-tick circle,.jo-tick path{animation:none;stroke-dashoffset:0}}
/* M6/M7: number check, OTP states */
.jo-exists{grid-column:1/-1;border:1px solid #e3a68f;background:#fff1ec;color:#7a2a12;border-radius:14px;padding:14px 16px}
.jo-exists p{margin:6px 0 10px}.jo-exists-b{display:flex;gap:10px;flex-wrap:wrap}
html[data-theme=dark] .jo-exists{background:#3a1a12;color:#ffd9cc;border-color:#7a3a28}
#jo-form.is-exists .jo-f:not(.jo-mobile-f),#jo-form.is-exists .jo-consent,#jo-form.is-exists .jo-pay{opacity:.4;pointer-events:none;user-select:none}
#jo-form.is-exists #jo-submit{display:none}
.jo-btn2.is-busy::before{content:"";display:inline-block;width:13px;height:13px;margin-right:8px;vertical-align:-2px;border:2.5px solid #d5a33c;border-top-color:transparent;border-radius:50%;animation:joSpin .7s linear infinite}
@keyframes joSpin{to{transform:rotate(360deg)}}
.jo-shake{animation:joShake .5s}
@keyframes joShake{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
.jo-pop{animation:joPop .5s ease}
@keyframes joPop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.06)}100%{transform:scale(1);opacity:1}}
.jo-verified-flash{animation:joFlash 1.2s ease}
@keyframes joFlash{0%{box-shadow:0 0 0 0 rgba(26,143,76,.7)}100%{box-shadow:0 0 0 14px rgba(26,143,76,0)}}
#jo-verified{color:#1a8f4c;font-weight:600}
@media(prefers-reduced-motion:reduce){.jo-btn2.is-busy::before,.jo-shake,.jo-pop,.jo-verified-flash{animation:none}}

/* ===== 3.112.0 ===== */
/* N2/N4: package-aware blocks */
.jo-feat-off{opacity:.62;border-style:dashed}.jo-feat-off h3{text-decoration:none}
.jo-pcard-off{opacity:.8;border-style:dashed;background:transparent}.jo-pcard-off:hover{transform:none;box-shadow:none}
.jo-off-tag{display:inline-block;margin-left:6px;padding:2px 9px;border-radius:999px;background:#eee4d2;color:#6a5328;font:700 12px var(--body,inherit);vertical-align:middle}
.jo-sw-top{display:none}
.jo-price .jo-pkg-sw-l{display:inline-flex}
/* N4: one main button, quiet links under it */
.jo-pg .jo-pcard{display:flex;flex-direction:column}
.jo-pg .jo-pmain .jo-pcta{margin:18px 0 8px}.jo-pg .jo-pmain .jo-pcta .jo-glow{width:100%}
.jo-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line,#e3e6ee);font-size:14px}
.jo-links a,.jo-links button{background:none;border:0;padding:2px 0;font:600 14px var(--body,inherit);color:var(--gold-d,#8a5a00);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.jo-pp span{flex-basis:100%}
/* N1: bottom bar follows the package */
.jo-st-sw{display:none}
@media(max-width:640px){
 .jo-sticky{flex-wrap:wrap;row-gap:8px}
 .jo-st-sw{display:flex;flex-basis:100%;gap:4px;padding:3px;border-radius:999px;background:rgba(213,163,60,.16);border:1px solid rgba(213,163,60,.45)}
 .jo-st-sw button{flex:1;border:0;background:transparent;color:inherit;font:700 13px var(--body,inherit);padding:6px 8px;border-radius:999px;cursor:pointer;white-space:nowrap}
 .jo-st-sw button.is-on{background:linear-gradient(135deg,#f4d37a,#d5a33c);color:#3a0a16}
 .jo-st-p{min-width:0}
 .jo{padding-bottom:112px}
 body:has(.jo-sticky) .jpc-fab{bottom:calc(128px + env(safe-area-inset-bottom,0px))!important}
 body:has(.jo-sticky) .jpc{bottom:calc(192px + env(safe-area-inset-bottom,0px))!important;height:min(520px,calc(100vh - 230px))!important}
 body:has(.jo-sticky) .jo-footer-pad{height:112px!important}
 /* N1/N5: package switch near the top, full-width tidy hero on phones */
 .jo-sw-top{display:flex;width:100%;margin:14px 0 0}
 .jo-sw-top button{flex:1;padding:9px 6px;font-size:13px}
 .jo-hero-cta{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}
 .jo-hero-cta .jo-glow,.jo-hero-cta a.jo-ghost{width:100%;justify-content:center;text-align:center;box-sizing:border-box;min-height:50px}
 .jo-hero-cta a.jo-track{min-height:42px;font-size:14px;padding:9px 16px;border-width:1px;font-weight:700}
 ul.jo-trust{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;justify-content:start;text-align:left;margin:20px 0 0;font-size:13.5px}
 ul.jo-trust li{display:flex;align-items:flex-start}ul.jo-trust li:before{flex:none}
 .jo-hero .jo-valid,.jo-hero-copy{text-align:left}
 .jo-hero-copy .w{padding-left:0}
}
/* 2.32.1 — clearer "already booked" card (N32) */
.jo-rbooked{text-align:center}.jo-rbooked h2{text-align:center;width:100%;margin:8px auto 8px}
.jo-rbooked .jo-lead{margin:0 0 6px}.jo-refbig{flex-direction:column;gap:6px;max-width:420px;margin:16px auto;padding:16px;border:1.5px solid var(--gold);border-style:solid;background:var(--bg)}
.jo-refbig b{font:700 24px ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em}
.jo-rbooked .jo-next{margin:6px auto 4px;max-width:460px;color:var(--ink)}
.jo-loginbtn{display:inline-block;margin-top:12px;background:linear-gradient(135deg,#F2D48E,#B8862F);color:#1F2342!important;font-weight:800;padding:14px 26px;border-radius:999px;text-decoration:none}
.jo-trackbox{text-align:center}
/* 2.32.1 — FAQ layout (N34) */
.jo-faq-w{grid-template-columns:minmax(260px,.75fr) 1.25fr;gap:clamp(24px,5vw,72px)}
.jo-faq-w>div:first-child{position:sticky;top:96px}.jo-faq-w h2{margin:8px 0 12px;line-height:1.1}
.jo-faq-w .jo-sub{line-height:1.6}.jo-nw{white-space:nowrap}
.jo-faq details{margin-bottom:8px}.jo-faq summary{padding:16px 28px 16px 0}.jo-faq details p{padding:0 0 16px;line-height:1.6}
@media(max-width:860px){.jo-faq-w>div:first-child{position:static}}

.jo-pay .jo-pay-pk{margin-top:8px;font-size:13.5px;color:inherit}.jo-pay .jo-pay-pk em{font-style:normal;font-weight:700}.jo-pay .jo-pay-pk a{color:inherit;text-decoration:underline;font-weight:700}
