/* רחל כהנא · inner pages, forms and the booking window (loaded after site.css) */

/* ---------- generic layout ---------- */
.wrap{max-width:calc(var(--wrap) + 2*var(--gut));margin:0 auto;padding-inline:var(--gut)}
.narrow{max-width:calc(760px + 2*var(--gut))}
.sec{padding-block:112px}
.sec.tight{padding-block:72px}
.sec-head{margin-bottom:40px}
.sec-head.c{text-align:center}
.sec-head .motif{justify-content:flex-start}
.sec-head.c .motif{justify-content:center}
.sec-head .h{font-size:44px;line-height:1.1}
.sec-head .sub{margin-top:14px;font-size:20px;line-height:1.35;color:var(--muted);max-width:640px}
.sec-head.c .sub{margin-inline:auto}
.surface{background:var(--cream-2)}
.lnk{color:var(--teal);font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s}
.lnk:hover{border-bottom-color:currentColor}
.lnk .arr{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-inline-start:4px}
.small{font-size:15px;color:var(--muted);line-height:1.45}
.center-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

/* ---------- page hero ---------- */
.phero{padding-top:136px;padding-bottom:72px}
.phero .grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.phero .motif{justify-content:flex-start}
.phero h1.h{font-size:60px;line-height:1.05}
.phero .lead{margin-top:18px;font-size:21px;line-height:1.4;color:var(--muted);max-width:520px}
.phero .ctas{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}
.phero .pic{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:5/4;background:var(--cream-2);box-shadow:0 30px 60px -36px rgba(43,42,51,.45)}
.phero .pic img{width:100%;height:100%;object-fit:cover}
.chips-m{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.chips-m li{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:15px;font-weight:600;color:var(--ink)}
.chips-m li i{width:7px;height:7px;border-radius:2px;background:var(--teal-b);display:block}
.chips-m li:nth-child(2) i{background:var(--orange)}
.chips-m li:nth-child(3) i{background:var(--pink)}

/* ---------- 3 visual steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;padding:0}
.steps li{display:block}
.steps .ph{border-radius:20px;overflow:hidden;aspect-ratio:4/5;background:var(--cream-2);box-shadow:0 8px 24px rgba(43,42,51,.07)}
.steps .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.steps li:hover .ph img{transform:scale(1.03)}
.steps .cap{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:20px;font-weight:600}
.steps .cap i{width:8px;height:8px;border-radius:2.5px;flex:none;background:var(--teal-b)}
.steps li:nth-child(2) .cap i{background:var(--orange)}
.steps li:nth-child(3) .cap i{background:var(--pink)}
.steps .cap small{display:block;font-weight:400;font-size:15px;color:var(--muted)}

/* ---------- gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;padding:0}
.gal li{border-radius:18px;overflow:hidden;aspect-ratio:1;background:#fff;box-shadow:0 8px 24px rgba(43,42,51,.06)}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gal li:hover img{transform:scale(1.03)}

/* ---------- facts ---------- */
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;padding:0}
.facts li{background:#fff;border-radius:20px;padding:26px 28px;box-shadow:0 8px 24px rgba(43,42,51,.05)}
.facts span{display:block;font-size:14px;color:var(--muted)}
.facts b{display:block;margin-top:6px;font-size:24px;font-weight:700}

/* ---------- price box ---------- */
.pricebox{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:stretch}
.pb-live{background:#fff;border-radius:24px;padding:36px;box-shadow:0 8px 24px rgba(43,42,51,.06);display:flex;flex-direction:column}
.pb-live .lbl{font-size:15px;font-weight:600;color:var(--muted)}
.stepper{margin-top:12px;display:inline-flex;align-items:center;gap:6px;background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:5px;align-self:flex-start}
.stepper button{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:600;color:var(--teal);background:#fff;border:1px solid var(--line);transition:background-color .25s,color .25s}
.stepper button:hover:not(:disabled){background:var(--teal);color:#fff;border-color:var(--teal)}
.stepper button:disabled{color:#B9C9C5;cursor:not-allowed}
.stepper output{min-width:56px;text-align:center;font-size:26px;font-weight:700}
.pb-sum{margin-top:22px;font-size:18px;color:var(--muted)}
.pb-sum b{display:block;margin-top:4px;font-size:40px;line-height:1.1;color:var(--ink);font-weight:700}
.pb-note{margin-top:8px;font-size:14px;color:var(--muted);min-height:1.4em}
.pb-live .btn{margin-top:auto;align-self:flex-start}
.pb-live .pb-cta{margin-top:28px}
.ptable{background:#fff;border-radius:24px;padding:24px 28px;box-shadow:0 8px 24px rgba(43,42,51,.06)}
.ptable table{width:100%;border-collapse:collapse;font-size:15px}
.ptable caption{text-align:start;font-weight:600;font-size:15px;color:var(--muted);padding-bottom:10px}
.ptable th,.ptable td{padding:7px 8px;text-align:start;border-bottom:1px solid #F0EBE3}
.ptable th{font-weight:600;color:var(--muted);font-size:13px}
.ptable td:nth-child(3){font-weight:700}
.ptable tr.on td{background:rgba(23,160,143,.1)}
.ptable tr.on td:first-child{border-radius:0 10px 10px 0}
.ptable tr.on td:last-child{border-radius:10px 0 0 10px}
.ptable .vat{margin-top:10px;font-size:13px;color:var(--muted)}
.vat-note{margin-top:10px;font-size:13px;color:var(--muted)}
@media (min-width:1024px){.bk-page .vat-m{display:none}}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 4px;font-size:19px;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:12px;height:12px;flex:none;border-inline-end:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(45deg) translateY(-3px);transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:rotate(-135deg) translateY(-3px)}
.faq .a{padding:0 4px 22px;color:var(--muted);line-height:1.5;max-width:640px}

/* ---------- visit / studio ---------- */
.visit{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.visit .pic{border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:var(--cream-2)}
.visit .pic img{width:100%;height:100%;object-fit:cover}
.visit .addr{margin-top:14px;font-size:20px;line-height:1.4;color:var(--muted)}
.visit .ctas{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.voucher-line{text-align:center;font-size:18px;color:var(--muted)}

/* ---------- sticky booking CTA ---------- */
.stick{position:fixed;bottom:16px;left:50%;z-index:65;display:flex;align-items:center;gap:16px;padding:8px 8px 8px 8px;padding-inline-start:22px;border-radius:999px;
  background:rgba(250,248,244,.86);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border:1px solid rgba(255,255,255,.75);
  box-shadow:0 18px 40px -20px rgba(43,42,51,.45);transform:translate(-50%,140%);opacity:0;transition:transform .55s var(--ease),opacity .4s var(--ease)}
.stick.show{transform:translate(-50%,0);opacity:1}
.stick .t{font-size:15px;line-height:1.25}
.stick .t b{display:block;font-size:16px}
.stick .btn{height:46px;border-radius:999px}

/* ---------- forms ---------- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.form .full{grid-column:1/-1}
.field label,.field .lbl{display:block;font-size:15px;font-weight:600;margin-bottom:8px}
.field .opt{font-weight:400;color:var(--muted)}
.inp{width:100%;height:52px;border:1.5px solid var(--line);border-radius:14px;background:#fff;padding:0 16px;font:400 17px var(--sans);color:var(--ink);transition:border-color .25s,box-shadow .25s}
textarea.inp{height:auto;min-height:110px;padding:14px 16px;resize:vertical;line-height:1.45}
select.inp{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--teal) 50%),linear-gradient(135deg,var(--teal) 50%,transparent 50%);
  background-position:left 22px center,left 16px center;background-size:6px 6px;background-repeat:no-repeat;padding-inline-end:40px}
.inp::placeholder{color:#716C76}
.inp:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,160,143,.25)}
.field.err .inp{border-color:#C21F3D}
.ferr{display:none;margin-top:6px;font-size:14px;color:#C21F3D;line-height:1.35}
.field.err .ferr{display:flex;gap:6px;align-items:flex-start}
.ferr::before,.alert.bad::before{content:"!";flex:none;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#C21F3D;color:#fff;font-size:11px;font-weight:700;margin-top:1px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.4;cursor:pointer}
.check input{flex:none;width:22px;height:22px;margin:0;margin-top:1px;accent-color:var(--teal)}
.check a{color:var(--teal);font-weight:600}
.count{display:block;margin-top:6px;font-size:13px;color:var(--muted);text-align:end}
.alert{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:16px;font-size:16px;line-height:1.45}
.alert.ok{background:rgba(23,160,143,.1);color:#0A5C52}
.alert.ok::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;margin-top:1px;background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.alert.bad{background:rgba(194,31,61,.07);color:#8E1229}
.alert .btn{margin-top:12px}
.form-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.btn[aria-busy=true]{pointer-events:none;opacity:.85}
.btn .spin{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.panel{background:#fff;border-radius:24px;padding:40px;box-shadow:0 8px 24px rgba(43,42,51,.06)}

/* ---------- choice cards (voucher type, workshop) ---------- */
.choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.choice{position:relative;display:block;background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:22px 22px 20px;cursor:pointer;transition:border-color .3s,box-shadow .3s}
.choice:hover{border-color:#CFC6B8}
.choice.on{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal) inset}
.choice input[type=radio]{position:absolute;inset-inline-end:18px;top:20px;width:20px;height:20px;accent-color:var(--teal);margin:0}
.choice .nm{display:block;font-size:19px;font-weight:700;padding-inline-end:30px}
.choice .ds{display:block;margin-top:4px;font-size:15px;color:var(--muted)}
.choice .pr{display:block;margin-top:14px;font-size:24px;font-weight:700;color:var(--ink)}
.choice .seg{margin-top:14px}
.choice .amt-f{margin-top:14px}

/* ---------- legal prose ---------- */
.prose{font-size:17px;line-height:1.6;color:var(--ink)}
.prose .upd{color:var(--muted);font-size:15px;margin-top:10px}
.prose h2{font-size:21px;font-weight:700;margin:40px 0 10px}
.prose p,.prose li{margin-top:10px}
.prose ol,.prose ul{padding-inline-start:22px}
.prose a{color:var(--teal);font-weight:600}
/* open items in the legal pages ([להשלים] ...) stay in the HTML for us but are hidden from visitors until filled.
   .todo-row hides a whole line / list item that would be empty or broken without its placeholder. */
.todo,.todo-row{display:none!important}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;list-style:none;padding:0;margin-top:36px}
.ccard{display:flex;align-items:center;gap:16px;background:#fff;border-radius:20px;padding:22px 24px;text-decoration:none;color:var(--ink);box-shadow:0 8px 24px rgba(43,42,51,.05);transition:transform .5s var(--ease)}
.ccard:hover{transform:translateY(-3px)}
.ccard .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(23,160,143,.12);color:var(--teal);flex:none}
.ccard .ic svg{width:22px;height:22px}
.ccard span{display:block;font-size:14px;color:var(--muted)}
.ccard b{display:block;font-size:19px;font-weight:700}
.map{border-radius:24px;overflow:hidden;aspect-ratio:16/10;background:var(--cream-2);box-shadow:0 8px 24px rgba(43,42,51,.06)}
.map iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.85)}

/* ---------- outside page ---------- */
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mosaic img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px}
.who{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;list-style:none;padding:0}
.who li{height:48px;display:inline-flex;align-items:center;gap:10px;padding:0 20px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:17px;font-weight:600}
.who li i{width:8px;height:8px;border-radius:2.5px;background:var(--teal-b)}
.who li:nth-child(4n+2) i{background:var(--orange)}.who li:nth-child(4n+3) i{background:var(--pink)}
.tile.pick{cursor:pointer}
.tile .sel{position:absolute;top:12px;inset-inline-start:12px;z-index:2;height:30px;padding:0 12px;border-radius:999px;background:var(--teal);color:#fff;font-size:13px;font-weight:600;
  display:inline-flex;align-items:center;opacity:0;transform:translateY(-4px);transition:opacity .3s,transform .3s}
.tile.is-picked .sel{opacity:1;transform:none}
.tile.is-picked .media{box-shadow:0 0 0 3px var(--teal),0 8px 24px rgba(43,42,51,.08)}

/* ---------- confirmation / 404 ---------- */
.done{padding-top:150px;padding-bottom:96px;text-align:center}
.done .h{font-size:60px;line-height:1.05}
.done .lead{margin-top:16px;font-size:21px;color:var(--muted);line-height:1.4}
.ticket{max-width:560px;margin:36px auto 0;background:#fff;border-radius:24px;padding:28px 32px;text-align:start;box-shadow:0 20px 50px -30px rgba(43,42,51,.4);position:relative}
.ticket::before,.ticket::after{content:"";position:absolute;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--cream)}
.ticket::before{inset-inline-start:-11px}.ticket::after{inset-inline-end:-11px}
.ticket dl{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;font-size:17px}
.ticket dt{color:var(--muted)}
.ticket dd{margin:0;font-weight:600}
.done .ctas{margin-top:32px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.cal-menu{position:relative;display:inline-block}
.cal-pop{position:absolute;top:calc(100% + 8px);inset-inline-start:0;z-index:5;min-width:220px;background:#fff;border-radius:16px;padding:8px;box-shadow:0 20px 40px -18px rgba(43,42,51,.4);border:1px solid var(--line);text-align:start}
.cal-pop[hidden]{display:none}
.cal-pop a,.cal-pop button{display:block;width:100%;text-align:start;padding:12px 14px;border-radius:10px;font-size:16px;font-weight:600;text-decoration:none;color:var(--ink)}
.cal-pop a:hover,.cal-pop button:hover{background:rgba(14,115,102,.08)}
.err404 .mandala{width:120px;height:120px;margin:0 auto 28px}

/* =========================================================
   Booking window
   ========================================================= */
.bk{position:fixed;inset:0;z-index:210;display:grid;place-items:center;padding:24px}
.bk[hidden]{display:none}
.bk-bg{position:absolute;inset:0;background:rgba(43,42,51,.38);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .35s var(--ease)}
.bk.open .bk-bg{opacity:1}
.bk-dlg{position:relative;width:min(1000px,100%);max-height:min(760px,calc(100svh - 48px));display:grid;grid-template-rows:auto 1fr;background:var(--cream);border-radius:28px;overflow:hidden;
  box-shadow:0 40px 90px -40px rgba(20,18,24,.55);opacity:0;transform:translateY(16px) scale(.985);transition:opacity .35s var(--ease),transform .45s var(--ease)}
.bk.open .bk-dlg{opacity:1;transform:none}
.bk-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid var(--line);background:#fff}
.bk-top h2{font-size:18px;font-weight:700}
.bk-x{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--ink);transition:background-color .25s}
.bk-x:hover{background:rgba(14,115,102,.08)}
.bk-x svg{width:18px;height:18px}
.bk-prog{display:flex;gap:6px;list-style:none;padding:0;margin:0;flex:1;justify-content:center}
.bk-prog li{display:flex;align-items:center;gap:8px;font-size:14px;color:#716C76;font-weight:600}
.bk-prog li+li::before{content:"";width:22px;height:1px;background:var(--line);margin-inline-end:4px}
.bk-prog b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:var(--cream-2);color:var(--muted)}
.bk-prog li.is-cur{color:var(--ink)}
.bk-prog li.is-cur b{background:var(--teal);color:#fff}
.bk-prog li.is-done b{background:rgba(23,160,143,.18);color:var(--teal)}
.bk-prog button{display:flex;align-items:center;gap:8px;font:inherit;color:inherit;padding:6px 4px;border-radius:8px}
.bk-prog button:disabled{cursor:default}
.bk-main{display:grid;grid-template-columns:1fr 300px;min-height:0}
.bk-body{overflow:auto;padding:32px 36px 36px;overscroll-behavior:contain}
.bk-step h3{font-size:28px;font-weight:700;line-height:1.15}
.bk-step .lead{margin-top:8px;color:var(--muted);font-size:17px}
.bk-step[hidden]{display:none}
.bk-foot{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.bk-back{font-weight:600;color:var(--muted);padding:10px 4px;border-radius:8px}
.bk-back:hover{color:var(--teal)}
.bk-aside{background:#fff;border-inline-start:1px solid var(--line);padding:28px 24px;overflow:auto}
.bk-aside h4{font-size:15px;color:var(--muted);font-weight:600}
.bk-sum{margin-top:14px;display:grid;gap:14px}
.bk-sum div{display:grid;gap:2px}
.bk-sum dt{font-size:13px;color:var(--muted)}
.bk-sum dd{margin:0;font-weight:600;font-size:16px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.bk-sum dd button{font-size:13px;color:var(--teal);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.bk-total{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.bk-total b{display:block;font-size:30px;font-weight:700}
.bk-total span{font-size:13px;color:var(--muted)}
.bk-ws{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bk-ws .choice{padding:0;overflow:hidden}
.bk-ws .choice img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.bk-ws .choice .in{padding:16px 18px 18px}
.bk-ws .choice input{top:14px;z-index:2;background:#fff}
.bk-mini{margin-top:18px;font-size:15px}
/* calendar */
.cal{margin-top:22px;display:grid;grid-template-columns:1fr;gap:18px}
.cal-head{display:flex;align-items:center;justify-content:space-between}
.cal-head b{font-size:18px}
.cal-nav{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:#fff;color:var(--teal)}
.cal-nav:disabled{opacity:.35;cursor:not-allowed}
.cal-nav svg{width:16px;height:16px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-grid .dow{text-align:center;font-size:12px;color:var(--muted);font-weight:600;padding-bottom:4px}
.day{position:relative;aspect-ratio:1;max-height:52px;border-radius:12px;display:grid;place-items:center;font-size:16px;font-weight:600;color:#767079;background:transparent}
.day.av{color:var(--ink);background:#fff;border:1px solid var(--line);cursor:pointer;transition:border-color .2s,background-color .2s}
.day.av::after{content:"";position:absolute;bottom:6px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--teal-b)}
.day.av:hover{border-color:var(--teal)}
.day.sel{background:var(--teal);color:#fff;border-color:var(--teal)}
.day.sel::after{background:#fff}
.day.today{box-shadow:inset 0 0 0 1px #CFC6B8}
.day.closed{color:#767079;text-decoration:line-through}
.cal-skel .day{background:linear-gradient(90deg,#F1ECE4,#F7F3EE,#F1ECE4);background-size:200% 100%;animation:skel 1.2s ease-in-out infinite;color:transparent}
@keyframes skel{to{background-position:-200% 0}}
.slots{display:flex;flex-wrap:wrap;gap:10px}
.slot{height:48px;padding:0 18px;border-radius:14px;background:#fff;border:1.5px solid var(--line);font-weight:600;font-size:16px;transition:border-color .2s,background-color .2s}
.slot small{font-weight:400;color:var(--muted);margin-inline-start:6px}
.slot:hover{border-color:var(--teal)}
.slot[aria-checked=true]{background:var(--teal);border-color:var(--teal);color:#fff}
.slot[aria-checked=true] small{color:rgba(255,255,255,.85)}
.cal-msg{padding:18px 20px;border-radius:16px;background:#fff;border:1px dashed var(--line);font-size:16px;line-height:1.45}
.cal-msg .btn{margin-top:12px}
.bk-help{margin-top:18px;font-size:15px;color:var(--muted)}
.bk-help a{color:var(--teal);font-weight:600}
/* participants */
.ppl{margin-top:26px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.ppl .stepper{margin-top:0}
.ppl-price{margin-top:22px;font-size:18px;color:var(--muted)}
.ppl-price b{color:var(--ink)}
.nudge{margin-top:10px;font-size:15px;color:var(--teal);font-weight:600;min-height:1.4em}
.limit{margin-top:6px;font-size:14px;color:var(--muted);min-height:1.4em}
.limit a{color:var(--teal);font-weight:600}
/* details */
.bk-form{margin-top:22px}
.vc-row{display:flex;gap:10px}
.vc-row .inp{flex:1}
.policy{font-size:15px;color:var(--muted);line-height:1.45}
.policy a{color:var(--teal);font-weight:600}
.secure{margin-top:10px;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px}
.secure svg{width:14px;height:14px;flex:none}
.hold{margin-top:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.hold b{color:var(--ink);font-variant-numeric:tabular-nums}
.hold button{font-size:14px;font-weight:600;color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.bk-proc{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:rgba(250,248,244,.92);text-align:center}
.bk-proc[hidden]{display:none}
.bk-proc .spin{width:34px;height:34px;border-width:3px;border-color:rgba(14,115,102,.2);border-top-color:var(--teal);margin:0 auto 14px}
.demo-tag{display:inline-block;margin-inline-start:8px;padding:2px 8px;border-radius:6px;background:rgba(245,130,31,.14);color:#9A4A06;font-size:12px;font-weight:600;vertical-align:middle}
.no-scroll{overflow:hidden}

/* ---------- responsive ---------- */
@media (max-width:1023px){
  .phero .grid,.visit,.pricebox{grid-template-columns:1fr;gap:36px}
  .bk-main{grid-template-columns:1fr}
  .bk-aside{display:none}
}
@media (max-width:767px){
  .sec{padding-block:72px}
  .sec.tight{padding-block:56px}
  .sec-head{margin-bottom:28px}
  .sec-head .h{font-size:30px}
  .sec-head .sub{font-size:18px}
  .phero{padding-top:96px;padding-bottom:48px}
  .phero .grid{gap:24px}
  .phero .pic{order:-1;aspect-ratio:4/5}
  .phero h1.h{font-size:40px}
  .phero .lead{font-size:18px}
  .phero .ctas .btn{width:100%}
  .steps{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:calc(-1*var(--gut));padding-inline:var(--gut);scrollbar-width:none}
  .steps::-webkit-scrollbar{display:none}
  .steps li{scroll-snap-align:start}
  .gal{grid-template-columns:repeat(2,1fr);gap:12px}
  .facts{grid-template-columns:1fr;gap:12px}
  .facts li{display:flex;justify-content:space-between;align-items:center;padding:18px 22px}
  .facts b{margin:0;font-size:19px}
  .pb-live{padding:26px 22px}
  .pb-live .btn{width:100%}
  .ptable{padding:18px 16px}
  .form{grid-template-columns:1fr}
  .form-actions .btn{width:100%}
  .panel{padding:26px 20px}
  .choices{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .mosaic{gap:10px}
  .done{padding-top:110px}
  .done .h{font-size:40px}
  .ticket{padding:22px}
  .stick{left:16px;right:84px;transform:translateY(140%);justify-content:space-between;padding-inline-start:16px}
  .stick.show{transform:none}
  .stick .t{font-size:13px}
  .stick .t b{font-size:14px}
  .stick .btn{height:42px;padding:0 16px;font-size:15px}
  /* booking: full screen with a summary bar */
  .bk{padding:0;place-items:stretch}
  .bk-dlg{width:100%;max-height:none;height:100%;border-radius:0;grid-template-rows:auto 1fr auto}
  .bk-top{padding:12px 14px;flex-wrap:wrap}
  .bk-top h2{font-size:16px}
  .bk-prog{order:3;flex-basis:100%;justify-content:space-between}
  .bk-prog li{font-size:12px;gap:5px}
  .bk-prog li+li::before{width:10px}
  .bk-prog .lbl{display:none}
  .bk-prog li.is-cur .lbl{display:inline}
  .bk-body{padding:22px 18px 28px}
  .bk-step h3{font-size:24px}
  .bk-ws{grid-template-columns:1fr}
  .bk-bar{display:flex!important}
  .bk-foot .btn{flex:1}
}
.bk-bar{display:none;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);font-size:14px}
.bk-bar b{font-size:18px;white-space:nowrap;flex:none}
@media (prefers-reduced-motion:reduce){
  .bk-dlg,.bk-bg,.stick{transition:none}
  .cal-skel .day,.btn .spin{animation:none}
}

/* ---------- additions: footer with site links, calendar cells ---------- */
.foot-in{grid-template-columns:1.3fr 1fr 1fr 1fr}
.foot-in .fl a{color:var(--ink);font-weight:400}
.foot-in .fl a:hover{color:var(--teal)}
.cal-grid [role=gridcell]{display:block;min-width:0}
.day{width:100%}
@media (max-width:1023px){.foot-in{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.foot-in{grid-template-columns:1fr}}
.field label.check{display:flex;margin:0;font-weight:400}
/* booking layout: column flex so the body (not the header) absorbs overflow */
.bk-dlg{display:flex;flex-direction:column}
.bk-top,.bk-bar{flex:none}
.bk-main{flex:1 1 auto;min-height:0}
.bk-body,.bk-aside{min-height:0}
.bk-prog{flex-wrap:nowrap}
.bk-prog li{white-space:nowrap}
@media (max-width:767px){.bk-dlg{height:100%}}

/* =========================================================
   Booking as a page (/book.html)
   ========================================================= */
.bk-wrap{padding-top:120px;padding-bottom:96px}
.bk-backlink{display:inline-block;font-size:15px}
.bk-h1{font-size:46px;line-height:1.1;margin:14px 0 26px}
.bk-page{position:static;display:block;padding:0;inset:auto}
.bk-page .bk-dlg{position:static;width:auto;max-height:none;opacity:1;transform:none;box-shadow:none;background:transparent;border-radius:0;overflow:visible;display:block}
.bk-page .bk-top{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 18px;margin-bottom:24px;justify-content:center}
.bk-page .bk-prog{flex:none;gap:10px}
.bk-page .bk-main{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start;min-height:0}
.bk-page .bk-body{background:#fff;border-radius:24px;padding:40px;box-shadow:0 8px 24px rgba(43,42,51,.06);overflow:visible}
.bk-page .bk-aside{position:sticky;top:110px;border:0;border-radius:24px;box-shadow:0 8px 24px rgba(43,42,51,.06);padding:28px}
.bk-page .bk-proc{position:fixed;z-index:120}
.bk-page .day{max-height:56px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:1023px){.bk-page .bk-main{grid-template-columns:1fr}.bk-page .bk-aside{display:none}}
@media (max-width:767px){
  .bk-wrap{padding-top:92px;padding-bottom:110px}
  .bk-h1{font-size:32px;margin-bottom:18px}
  .bk-page .bk-top{border-radius:16px;padding:10px 12px}
  .bk-page .bk-prog{justify-content:space-between;width:100%}
  .bk-page .bk-body{padding:24px 18px}
  .bk-page .bk-bar{display:flex!important;position:fixed;left:0;right:0;bottom:0;z-index:66;box-shadow:0 -10px 30px -18px rgba(43,42,51,.35)}
  .p-book .wa{display:none}
}

/* ---------- contact (quiet) ---------- */
.contact-s{padding-top:130px}
.steer{font-size:16px;color:var(--muted);padding:14px 18px;border-radius:14px;background:var(--cream-2);display:inline-block}
.contact-wrap{margin-top:36px;display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:start}
.contact-h{font:700 26px/1.2 var(--sans);color:var(--ink)}
.clist{list-style:none;padding:0;margin-top:20px;display:grid;gap:16px;font-size:17px}
.clist li{display:flex;gap:12px;align-items:flex-start;line-height:1.45}
.clist .ic{width:20px;height:20px;color:var(--teal);flex:none;margin-top:2px}
.clist .ic svg{width:20px;height:20px}
.clist a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.clist a:hover{color:var(--teal)}
@media (max-width:767px){.contact-s{padding-top:96px}.contact-wrap{grid-template-columns:1fr;gap:28px}}

/* ---------- footer quieter ---------- */
.foot-in{font-size:15px}
.foot-in .fc a{font-weight:400;color:var(--muted)}
.foot-in .fc a:hover{color:var(--teal)}

/* ---------- shop ---------- */
.shopgrid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}
.prod{display:flex;flex-direction:column;align-items:flex-start}
.prod .ph{display:block;width:100%;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--cream-2);box-shadow:0 8px 24px rgba(43,42,51,.07)}
.prod .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.prod:hover .ph img{transform:scale(1.03)}
.prod-a{display:block;width:100%}
.prod h3{margin-top:16px;font:700 20px/1.3 var(--sans)}
.prod .pl{margin-top:4px;font-size:15px;color:var(--muted);line-height:1.4}
.prod .pp{margin-top:10px;font-size:15px;color:var(--muted)}
.prod .pp b{color:var(--ink);font-size:18px}
.prod .btn{margin-top:14px;height:46px}
.shop-s .center{margin-top:36px}
.order{display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:start}
.osum{position:sticky;top:110px;background:#fff;border-radius:24px;padding:18px;box-shadow:0 8px 24px rgba(43,42,51,.06)}
.osum .ph{display:block;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:var(--cream-2)}
.osum img{width:100%;height:100%;object-fit:cover}
.osum h2{margin-top:14px;font:700 22px/1.3 var(--sans)}
.osum .pl{font-size:15px;color:var(--muted);margin-top:4px}
.osum .pp{margin-top:10px;color:var(--muted);font-size:15px}
.osum .pp b{color:var(--ink);font-size:20px}
.ototal{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:16px;color:var(--muted)}
.ototal b{font-size:26px;color:var(--ink)}
@media (max-width:1023px){.shopgrid{grid-template-columns:repeat(2,1fr)}.order{grid-template-columns:1fr}.osum{position:static;display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center}.osum .ph{grid-row:span 3}.osum h2{margin:0}}
@media (max-width:767px){.shopgrid{gap:24px 14px}.prod h3{font-size:17px}.prod .pl{font-size:14px}.prod .btn{width:100%}}

/* ---------- newsletter card ---------- */
.nl{position:fixed;z-index:220;bottom:24px;inset-inline-start:24px;width:min(380px,calc(100% - 48px));opacity:0;transform:translateY(24px);transition:opacity .45s var(--ease),transform .55s var(--ease)}
.nl.show{opacity:1;transform:none}
.nl[hidden]{display:none}
.nl-card{position:relative;overflow:hidden;border-radius:24px;padding:26px 24px 22px;background:rgba(250,248,244,.94);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);
  border:1px solid rgba(255,255,255,.8);box-shadow:0 30px 60px -28px rgba(43,42,51,.5)}
.nl-card .mand{position:absolute;width:120px;height:120px;inset-inline-end:-40px;top:-40px;opacity:.9;pointer-events:none}
.nl-card h2{font:700 22px/1.25 var(--sans);padding-inline-end:60px}
.nl-card p.l{margin-top:6px;font-size:15px;color:var(--muted);line-height:1.4;padding-inline-end:40px}
.nl-x{position:absolute;top:8px;inset-inline-start:8px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--muted);z-index:2}
.nl-x:hover{background:rgba(14,115,102,.08);color:var(--ink)}
.nl-x svg{width:16px;height:16px}
.nl form{margin-top:16px;display:grid;gap:12px}
.nl .inp{height:46px;font-size:16px}
.nl .check{font-size:14px}
.nl .check input{width:20px;height:20px}
.nl .btn{width:100%;height:48px}
.nl .later{justify-self:center;font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:0 12px}
.nl .field label{font-size:14px;margin-bottom:6px}
@media (max-width:767px){.nl{bottom:0;inset-inline:0;width:100%}.nl-card{border-radius:24px 24px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}}
@media (prefers-reduced-motion:reduce){.nl{transition:none;transform:none}}
.bk-ws .choice .in{display:block}
.mqs{overflow:hidden;max-width:100%}
.mqs{grid-template-columns:minmax(0,1fr)}
.hp{left:auto!important;inset-inline-start:0;clip-path:inset(50%);white-space:nowrap}
[hidden]{display:none!important}
.bk-page .bk-dlg{width:100%!important;max-width:none!important;margin:0}
.bk-page .bk-prog li{height:auto!important;min-height:0!important;align-self:center}
.bk-page .bk-top{height:auto}
.p-book footer{padding-bottom:calc(76px + env(safe-area-inset-bottom))}

/* round-6 polish */
.quote-one{max-width:760px;margin:0 auto}
.quote-one .q blockquote p{font-size:28px;line-height:1.4}
.ptable summary{cursor:pointer;font-weight:600;color:var(--teal);list-style:none;padding:4px 0}
.ptable summary::-webkit-details-marker{display:none}
.ptable[open] summary{margin-bottom:10px}
.pricebox{align-items:start}
.who-line{text-align:center;font-size:19px;color:var(--muted);line-height:1.8;max-width:760px;margin:0 auto}
.bk-page .bk-step{scroll-margin-top:120px}
#bookApp{scroll-margin-top:110px}
.ticket{max-width:460px}
.ticket dl{grid-template-columns:auto auto;justify-content:space-between}
.ticket dd{text-align:end}
.p-order .panel{padding-top:32px}
.choice .pr{font-size:20px}
.phero .lead{text-wrap:balance}
.nl-card h2:focus{outline:none}
.nl-card .mand{inset-inline-end:-56px;top:-56px;width:110px;height:110px}
@media (max-width:767px){.nl .nl-name{display:none}.nl-card{padding:20px 18px}.nl-card p.l{margin-top:4px}.nl form{gap:10px;margin-top:12px}}

/* =========================================================
   Round 7: accessibility, mobile and polish
   ========================================================= */
/* global animation stop: small, fixed, always reachable */
.astop{position:fixed;left:20px;bottom:80px;z-index:70;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--ink);
  background:rgba(250,248,244,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);box-shadow:0 8px 20px -12px rgba(43,42,51,.4)}
.astop svg{width:14px;height:14px;fill:currentColor}
.astop .i-play{display:none}
.paused .astop .i-play{display:block}
.paused .astop .i-pause{display:none}
.astop:hover{color:var(--teal)}
@media (prefers-reduced-motion:reduce){.astop{display:none}}
.p-book .astop{bottom:16px}
/* field borders 3:1, scroll margins under the floating nav and the summary bar */
.inp,.amt-f{border-color:#8A8173}
.inp,.check input,.choice input,.amt-f input{scroll-margin-top:110px;scroll-margin-bottom:90px}
#bkPay,.bk-foot .btn,#bkAlert{scroll-margin-bottom:80px}
/* summary bar: visible only when it has content, up to tablet */
.bk-page .bk-bar[hidden]{display:none!important}
@media (max-width:1023px){
  .bk-page .bk-bar:not([hidden]){display:flex!important;position:fixed;left:0;right:0;bottom:0;z-index:66;box-shadow:0 -10px 30px -18px rgba(43,42,51,.35)}
  .p-book .wa{display:none}
  .p-book footer{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .p-book .astop{bottom:84px}
}
@media (min-width:1024px){.p-book .bk-bar{display:none!important}}
/* tap targets on phones */
@media (max-width:767px){
  .bk-page .bk-body{padding:24px 12px}
  .cal-grid{gap:4px}
  footer li a,.legal a{display:inline-block;padding-block:10px}
  .nl-card{padding:20px 18px calc(20px + env(safe-area-inset-bottom))}
}
.day .sr{position:absolute}
/* shop grid: 3 on tablet/desktop; on phones the home shows two */
@media (min-width:768px){.shopgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.shop-s .shopgrid .prod:nth-child(3){display:none}}
/* workshop pages: one horizontal gallery */
.strip-wrap{position:relative}
.strip{list-style:none;padding:0 0 8px;margin:0;display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.strip::-webkit-scrollbar{display:none}
.strip li{flex:0 0 clamp(230px,26vw,330px);scroll-snap-align:start}
.strip .ph{display:block;border-radius:20px;overflow:hidden;aspect-ratio:4/5;background:var(--cream-2);box-shadow:0 8px 24px rgba(43,42,51,.07)}
.strip img{width:100%;height:100%;object-fit:cover}
.strip .cap{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:19px;font-weight:600}
.strip .cap i{width:8px;height:8px;border-radius:2.5px;flex:none;background:var(--teal-b)}
.strip li:nth-child(2) .cap i{background:var(--orange)}.strip li:nth-child(3) .cap i{background:var(--pink)}
.strip .cap small{display:block;font-weight:400;font-size:15px;color:var(--muted)}
.strip-nav{display:flex;justify-content:center;gap:10px;margin-top:18px}
.strip-nav button{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:#fff;color:var(--teal)}
.strip-nav svg{width:18px;height:18px}
@media (max-width:767px){.strip li{flex-basis:72%}.strip{margin-inline:calc(-1*var(--gut));padding-inline:var(--gut);scroll-padding-inline:var(--gut)}}
/* centred price calculator */
.pricebox.one{display:block;max-width:560px;margin:0 auto}
.pricebox.one .pb-live{text-align:center;align-items:center}
.pricebox.one .stepper,.pricebox.one .pb-live .btn{align-self:center}
.pricebox.one .ptable{margin-top:18px;background:none;box-shadow:none;padding:0;text-align:center}
.pricebox.one .ptable summary{display:inline-block}
.pricebox.one .ptable table{background:#fff;border-radius:16px;margin-top:12px;text-align:start}
.quote-one .q blockquote p{font-size:clamp(26px,3.2vw,36px);line-height:1.35}
.quote-one{text-align:center}
.quote-one .q .rule{display:none}
/* voucher page */
.scue{margin-top:26px}
.choice .ch-l{display:block;cursor:pointer}
.choice .seg{margin-top:14px}
.privacy-note{margin-top:8px}
.privacy-note a,.nl-priv a{color:var(--teal);font-weight:600}
.nl-priv{margin-top:-2px;font-size:13px}
.nl-card:focus{outline:none}
.vcard{position:relative;overflow:hidden;background:linear-gradient(140deg,#FFFEFB,#F6F2EB);border-radius:24px;padding:40px;box-shadow:0 30px 60px -30px rgba(43,42,51,.4);border:1px solid var(--line)}
.vcard .vm{position:absolute;width:180px;height:180px;inset-inline-end:-50px;top:-50px}
.vk{font-size:14px;color:var(--muted)}
.vt{margin-top:18px;font-size:48px;line-height:1}
.vto{margin-top:12px;font-size:22px;font-weight:700}
.vgr{margin-top:6px;color:var(--muted);font-size:17px}
.vdl{margin-top:22px;display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:16px}
.vdl dt{color:var(--muted)}.vdl dd{margin:0;font-weight:600}
.vnote{margin-top:16px;font-size:15px;line-height:1.55;max-width:52ch}
.vhow{margin-top:22px;font-size:14px;color:var(--muted)}
.vview{padding-top:130px;padding-bottom:80px}
@media print{.navwrap,footer,.wa,.astop,.skip,.no-print,.nl{display:none!important}.vview{padding:0}.vcard{box-shadow:none}}
/* home hero: the sub-line lives inside the H1 now */
.intro .h .sub{display:block;font:400 20px/1.35 var(--sans);letter-spacing:0;color:var(--muted);margin-top:16px}
@media (max-width:767px){.intro .h .sub{font-size:18px}}
@media (max-width:767px){
  .p-ws .sec{padding-block:56px}
  .p-ws .sec.tight{padding-block:44px}
  .p-ws .sec-head{margin-bottom:22px}
  .p-ws .visit{gap:22px}
  .p-ws .visit .pic{aspect-ratio:16/10}
  .p-ws .faq summary{padding:16px 4px}
  .p-ws .phero .pic{aspect-ratio:1/1}
}
.vview .ctas{display:flex;gap:12px;flex-wrap:wrap}
/* ---- round 7b: critic fixes ---- */
bdi{white-space:nowrap}
/* floating buttons never sit on forms */
@media (max-width:1023px){
  .p-order .wa,.p-voucher .wa{display:none}
  .p-order .astop,.p-voucher .astop{bottom:16px}
}
@media (max-width:767px){
  /* phones: the pause control sits at the top of the page and scrolls away with it (fixed, it covered card corners and form fields) */
  .astop{position:absolute;top:calc(84px + var(--promo-h,0px));bottom:auto;left:10px;width:44px;height:44px;background:rgba(250,248,244,.7)}
  html:not(.has-promo) .astop{top:84px}
  .p-book .astop,.p-order .astop,.p-voucher .astop{top:calc(84px + var(--promo-h,0px));bottom:auto}
}
/* newsletter: close button on the free side, mandala out of the heading */
.nl-x{inset-inline-start:auto;inset-inline-end:8px}
.nl-card h2{padding-inline:0 48px}
.nl-card .mand{inset-inline-end:auto;inset-inline-start:-58px;top:auto;bottom:-58px;opacity:.5}
.nl-card p.l{padding-inline:0 40px}
/* compact mobile footer */
@media (max-width:767px){
  .foot-in{gap:18px;padding-top:44px;padding-bottom:20px}
  .foot-in .fc{display:flex;flex-wrap:wrap;gap:0 18px}
  .foot-in .fl{display:flex;flex-wrap:wrap;gap:0 18px}
  .legal{flex-direction:column;align-items:center;text-align:center;gap:4px;padding-top:14px}
  .legal ul{justify-content:center;gap:0 16px}
}
/* FAQ arrow points down, flips up when open */
.faq summary::after{border-inline-end:0;border-right:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(45deg) translate(-2px,-2px)}
.faq details[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
/* workshop page rhythm + tablet hero */
.p-ws .quote-one+*{margin-top:0}
.p-ws section[aria-labelledby="h-q"]{padding-bottom:40px}
@media (min-width:768px) and (max-width:1023px){.phero .pic{order:-1;aspect-ratio:16/9;max-height:380px}}
/* quotes align */
.quotes{align-items:start}
/* outside: quotes stacked on phones */
@media (max-width:767px){.p-out .quotes{display:grid;overflow:visible;margin-inline:0;padding-inline:0;gap:28px}.p-out .q{flex:none}}
/* booking: show the next step's name too on phones */
@media (max-width:767px){.bk-prog li.is-cur+li .lbl{display:inline}}
/* voucher fine print */
.p-voucher .secure{font-size:13px;line-height:1.5}
/* shop / order */
.order-h1{font-size:36px;margin:12px 0 24px}
@media (max-width:767px){#oPay,.p-order .form-actions .btn{width:100%}.order-h1{font-size:28px}}
.prod .btn-p{height:46px}
/* home: hero cue easier to read */
.motion .cue{font-size:15px;background:rgba(250,248,244,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:10px 16px;border-radius:14px}
.logos-s,.mqs,.mq{background:transparent}
.p-out .logos-s{background:var(--cream-2);margin-top:0;padding-top:8px;padding-bottom:72px;max-width:none}
/* ---- round 8 polish ---- */
@media (max-width:767px){.p-out .quotes{grid-template-columns:1fr}.astop{opacity:.75}.astop:hover,.astop:focus-visible{opacity:1}
  .motion .cue{padding:8px 14px;gap:8px}.motion .cue .track{height:28px}}
.prod{height:100%}
.prod .pp{margin-top:auto;padding-top:10px}
.shopgrid{align-items:stretch}
.sec-head .sub,.s-head .sub{text-wrap:balance}
.p-voucher .secure,.p-order .secure{display:block}
/* ---- pay + admin ---- */
.pay-s{padding-top:130px}
.pay-h{font-size:34px;margin-bottom:20px}
.pay-locked{text-align:center;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.pay-for{font-size:18px;color:var(--muted)}
.pay-amt{margin-top:6px;font-size:22px;font-weight:600}
.pay-amt b{font-size:56px;line-height:1.1;color:var(--ink)}
.pay-cust{margin-top:6px;font-size:16px;font-weight:600}
.pay-sub{font-size:19px;margin:6px 0 14px}
.pay-done{padding-top:20px}
.pl-out{margin-top:20px}
.pl-link{margin-top:6px;font-size:16px;font-weight:600;word-break:break-all;background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.pl-link bdi{white-space:normal}
@media (max-width:767px){.pay-s{padding-top:96px}.pay-h{font-size:28px}#pPay,#plGo{width:100%}}
.p-pay .secure{display:block}
/* language switch */
.lang{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 10px;border-radius:999px;font:600 14px/1 var(--sans);letter-spacing:.04em;color:var(--teal);text-decoration:none;border:1px solid var(--line);background:rgba(255,255,255,.5)}
.lang:hover{background:rgba(14,115,102,.08)}
.lang-li{display:none}
@media (max-width:1023px){.pill>.lang{display:none}.lang-li{display:block}.menu .lang-m{display:inline-grid;margin:4px 16px 8px}}
.bk-step h3:focus{outline:none}

/* r2: cancellation-policy link on confirmations */
.done-policy{margin-top:10px;text-align:center}.done-policy a{color:var(--teal);text-underline-offset:3px}

/* ---- mobile-r2 ---- */
.choice{min-width:0}
/* select arrow: one SVG chevron at the inline end, both directions */
select.inp{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230E7366' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:12px 8px;background-position:left 18px center;background-repeat:no-repeat}
html[dir=ltr] select.inp{background-position:right 18px center}
/* /pay: no WhatsApp float over the form */
@media (max-width:1023px){.p-pay .wa{display:none}.p-pay .astop{bottom:16px}}
@media (max-width:767px){.p-pay .astop{top:calc(84px + var(--promo-h,0px));bottom:auto}}
/* mobile menu language switch: a small pill, not a full-width row */
.menu a.lang-m:not(.btn){display:inline-grid;place-items:center;width:auto;min-width:44px;height:44px;padding:0 14px;margin:4px 16px 8px;font-size:14px;border-radius:999px;border:1px solid var(--line)}
/* step bar at 360: shorter connectors so step 4 fits */
@media (max-width:400px){.bk-prog li+li::before{width:6px;margin-inline-end:2px}.bk-prog li{gap:4px}.bk-page .bk-prog{gap:4px}.bk-prog button{padding:6px 2px}}

/* real workshop video */
.realg{display:grid;grid-template-columns:minmax(0,400px) 1fr;gap:64px;align-items:center;justify-content:center}
.rvid{position:relative;margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/5;background:var(--cream-2);box-shadow:0 30px 60px -36px rgba(43,42,51,.45)}
.rvid video{display:block;width:100%;height:100%;object-fit:cover}
.rv-tg{position:absolute;inset-inline-end:14px;bottom:14px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px -8px rgba(0,0,0,.4)}
.rv-tg svg{width:20px;height:20px}
.rv-tg .pl{display:none}
.rv-tg[aria-pressed="true"] .pl{display:block}
.rv-tg[aria-pressed="true"] .pa{display:none}
.rv-tg:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.rsub{margin-top:10px;color:var(--muted);font-size:17px}
.rsteps{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px;counter-reset:r}
.rsteps li{counter-increment:r;display:flex;align-items:center;gap:14px;font-size:19px}
.rsteps li::before{content:counter(r);flex:none;width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px}
@media (max-width:900px){.realg{grid-template-columns:1fr;gap:28px}.rvid{max-width:420px;width:100%;margin-inline:auto}}

/* ---------- responsive polish (31.10.2026): tap targets ≥44px, mobile copy ≥14px ---------- */
.promo-x{width:44px;height:44px;inset-inline-end:2px}
.brand{min-height:44px}
.cal-nav{width:44px;height:44px}
.bk-prog button{min-height:44px;min-width:44px;justify-content:center}
/* stand-alone text links: 44px hit area without moving the layout */
.lnk{display:inline-block;padding-block:11px;margin-block:-11px}
.clist a{display:inline-block;padding-block:11px;margin-block:-11px}
.count,.secure,.p-voucher .secure{font-size:14px}
@media (max-width:767px){
  footer li a,.legal a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding-block:0}
  .stick .t{font-size:14px}
  .stick .t b{font-size:15px}
  .stick .btn{height:44px}
}
/* forms and the order page never grow wider than the phone (a long payment button used to push the grid 9px off-screen at 320) */
@media (max-width:1023px){.order{grid-template-columns:minmax(0,1fr)}.order>*{min-width:0}}
@media (max-width:767px){.form{grid-template-columns:minmax(0,1fr)}
  /* a button carrying a launch price may wrap onto two lines instead of overflowing */
  .btn:has(.lpx){white-space:normal;height:auto;min-height:48px;padding-block:8px;flex-wrap:wrap;row-gap:0;text-align:center;line-height:1.25}}
@media (max-width:767px){.bk-prog li{font-size:13px}}
/* tablet: the third WhatsApp column holds 3 messages; at 340px each in one row it ran off both edges (768-1023) */
@media (max-width:1023px) and (min-width:768px){.wa-col:nth-child(3){flex-wrap:wrap;align-items:flex-start}.wa-col:nth-child(3) .wam{width:min(340px,calc(50% - 10px))}}
.links a{min-height:44px;display:flex;align-items:center}
.bk-back{min-width:44px;min-height:44px}
.bk-sum dt{font-size:14px}
.bk-sum dd button{font-size:14px;padding-block:12px;margin-block:-12px;padding-inline:6px;margin-inline:-6px}
/* phones: the sticky booking bar leaves the WhatsApp float's side free. The float sits at the inline end
   (left in Hebrew, right in English), so the bar's gap is logical too (it used to cover the float in Hebrew) */
@media (max-width:767px){.stick{left:auto;right:auto;inset-inline-start:12px;inset-inline-end:80px;gap:10px}.stick .st-x{display:none}}
/* ≤400px: only the current step keeps its label (the next label pushed "תשלום / Payment" off the edge) */
@media (max-width:400px){.bk-prog li.is-cur+li .lbl{display:none}}
.ototal{gap:12px}.ototal>span{white-space:nowrap}.ototal b{text-align:end}.ototal .promo-tag,.pb-sum .promo-tag{font-size:14px;vertical-align:middle}
#promo{scroll-margin-top:130px}
/* language switch: a small flag next to the label (US → English, Israel → Hebrew) */
.lang{grid-auto-flow:column;gap:7px}
.lang::before{content:"";width:22px;height:15px;border-radius:3px;box-shadow:0 0 0 1px rgba(43,42,51,.14);background-size:cover;background-position:center}
.lang[lang="en"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 190 100'%3E%3Crect width='190' height='100' fill='%23fff'/%3E%3Cg fill='%23B22234'%3E%3Crect width='190' height='7.7'/%3E%3Crect y='15.4' width='190' height='7.7'/%3E%3Crect y='30.8' width='190' height='7.7'/%3E%3Crect y='46.2' width='190' height='7.7'/%3E%3Crect y='61.5' width='190' height='7.7'/%3E%3Crect y='76.9' width='190' height='7.7'/%3E%3Crect y='92.3' width='190' height='7.7'/%3E%3C/g%3E%3Crect width='76' height='53.8' fill='%233C3B6E'/%3E%3Cg fill='%23fff'%3E%3Ccircle cx='10' cy='9' r='2.6'/%3E%3Ccircle cx='25' cy='9' r='2.6'/%3E%3Ccircle cx='40' cy='9' r='2.6'/%3E%3Ccircle cx='55' cy='9' r='2.6'/%3E%3Ccircle cx='68' cy='9' r='2.6'/%3E%3Ccircle cx='17' cy='20' r='2.6'/%3E%3Ccircle cx='32' cy='20' r='2.6'/%3E%3Ccircle cx='47' cy='20' r='2.6'/%3E%3Ccircle cx='62' cy='20' r='2.6'/%3E%3Ccircle cx='10' cy='31' r='2.6'/%3E%3Ccircle cx='25' cy='31' r='2.6'/%3E%3Ccircle cx='40' cy='31' r='2.6'/%3E%3Ccircle cx='55' cy='31' r='2.6'/%3E%3Ccircle cx='68' cy='31' r='2.6'/%3E%3Ccircle cx='17' cy='42' r='2.6'/%3E%3Ccircle cx='32' cy='42' r='2.6'/%3E%3Ccircle cx='47' cy='42' r='2.6'/%3E%3Ccircle cx='62' cy='42' r='2.6'/%3E%3C/g%3E%3C/svg%3E")}
.lang[lang="he"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 160'%3E%3Crect width='220' height='160' fill='%23fff'/%3E%3Crect y='15' width='220' height='25' fill='%230038b8'/%3E%3Crect y='120' width='220' height='25' fill='%230038b8'/%3E%3Cg fill='none' stroke='%230038b8' stroke-width='5.5'%3E%3Cpath d='M110 52l25 43h-50z'/%3E%3Cpath d='M110 108l-25-43h50z'/%3E%3C/g%3E%3C/svg%3E")}

/* ---------- payments closed (RK.PAYMENTS_OPEN=false in js/booking.js): "opening very soon" card ---------- */
.soon{background:var(--cream-2);border:1px solid var(--line);border-radius:24px;padding:32px 28px;text-align:center}
.soon .motif{margin-bottom:16px}
.soon-t{font:700 26px/1.25 var(--display);color:var(--ink);text-wrap:balance}
.soon-t:focus{outline:none}
.soon-s{margin-top:10px;font-size:18px;color:var(--muted);text-wrap:balance}
.soon-ctas{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px}
.soon-ctas .btn{width:100%;max-width:360px}
.btn-wa{height:58px;font-size:18px}
.btn-wa svg{flex:none}
.soon-ctas .btn-s{height:48px;font-size:16px}
.bk-step #bkSoon{margin-top:22px}
.done .soon{margin-top:8px}
/* inline note above the WhatsApp button (voucher / candle order) */
.soon-inline{padding:20px 22px;margin-bottom:16px;text-align:start}
.soon-inline .soon-t{font-size:20px}
.soon-inline .soon-s{font-size:16px;margin-top:6px}
#vPay svg,#oPay svg{flex:none;width:22px;height:22px}
.soon-tel{margin-top:12px;font-size:16px}
@media (max-width:767px){
  .soon{padding:26px 18px;border-radius:20px}
  .soon-t{font-size:22px}
  .soon-s{font-size:17px}
  .soon-inline .soon-t{font-size:19px}
  #vPay,#oPay{width:100%;white-space:normal;line-height:1.2}
}
