:root{--teal:#006775;--teal-d:#004e59;--teal2:#5298A1;--teal3:#8fbcc2;--mist:#EDF7F9;--mist2:#DCEDEF;--line:#D7DFE2;--ink:#1f2a2e;--muted:#5e6b70;--panel:#F5F7F7;--gold:#B08A3E;--grad:linear-gradient(90deg,#004e59 0%,#006775 45%,#3f8f99 100%)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Assistant","Heebo",system-ui,sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.45}
html[lang=en] body{font-family:"Assistant","Heebo",system-ui,sans-serif}
a{color:var(--teal)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid #f2b84b;outline-offset:2px}
img{max-width:100%}
.boot{display:grid;place-items:center;height:60vh;color:var(--teal);font-weight:700;font-size:22px}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--teal);background:#fff;color:var(--teal);border-radius:999px;padding:9px 20px;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap;line-height:1.2}
.btn:hover{background:var(--mist)}
.btn.pri{background:var(--teal);color:#fff}.btn.pri:hover{background:var(--teal-d)}
.btn.ghost{border-color:var(--line);color:var(--ink)}
.btn.danger{color:#b3261e}
.btn.sm{padding:5px 13px;font-size:14px}
.btn:disabled{opacity:.5;cursor:default}
.lnk{background:none;border:0;color:var(--teal);cursor:pointer;font-weight:700;padding:4px}
/* logo */
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.logo .palm{width:38px;height:38px;display:grid;place-items:center}
.logo .palm svg{width:100%;height:100%}
.logo .lw{display:flex;flex-direction:column;line-height:1}
.logo .lw b{font-family:"Playfair Display","Frank Ruhl Libre",serif;font-size:26px;font-weight:700;letter-spacing:.02em}
.logo .lw small{font-family:"Frank Ruhl Libre",serif;font-size:15px;opacity:.85;margin-top:2px}
.logo img{height:46px;width:auto;display:block}
.logo.big{flex-direction:column;color:var(--teal);gap:4px;margin:6px auto 0}
.logo.big .palm{width:64px;height:64px}
.logo.big .lw{align-items:center}.logo.big .lw b{font-size:46px}.logo.big .lw small{font-size:20px}
.logo.big img{height:90px}
/* tools */
.tools{display:flex;align-items:center;gap:10px}
.langs{display:inline-flex;border:1px solid currentColor;border-radius:999px;overflow:hidden;opacity:.95}
.langs button{background:transparent;border:0;padding:4px 11px;cursor:pointer;font-weight:700;font-size:14px;color:inherit}
.langs button.on{background:#fff;color:var(--teal)}
.tbtn{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;font-weight:700;padding:5px 10px;border-radius:999px}
.tbtn:hover{background:rgba(255,255,255,.15)}
.uic{font-size:17px}
.un{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* home header (white, like Dekel) */
.home-h{background:#fff;padding:14px 24px 6px;text-align:center;position:relative}
.home-h .langs button.on{background:var(--teal);color:#fff}
.home-h .tbtn:hover{background:var(--mist)}
.search{display:flex;max-width:640px;margin:14px auto 18px;border:1px solid var(--line);border-radius:999px;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.search input{flex:1;border:0;padding:12px 20px;outline:0;min-width:0;background:transparent}.search:focus-within{outline:2px solid var(--teal);outline-offset:2px} /* A11Y41 */
.search button{border:0;background:transparent;color:var(--teal);font-size:22px;padding:0 18px;cursor:pointer}
.home-cats{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;padding:6px 0 16px;border-bottom:1px solid var(--line)}
.home-cats a{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15px;min-width:76px}
.home-cats .ic,.ccard .ic{width:62px;height:62px;border-radius:50%;background:var(--mist);display:grid;place-items:center;transition:transform .15s}
.home-cats .ic img{width:38px;height:38px}
.home-cats a:hover .ic{transform:translateY(-2px);background:var(--mist2)}
/* home body */
.home{max-width:1240px;margin:0 auto;padding:0 24px}
.pillbanner{margin:26px auto 8px;background:var(--grad);color:#fff;border-radius:999px;padding:30px 40px;text-align:center;display:flex;flex-direction:column;gap:4px;box-shadow:0 8px 24px rgba(0,103,117,.18)}
.pillbanner b{font-family:"Playfair Display","Frank Ruhl Libre",serif;font-size:34px;line-height:1.15}
.pillbanner span{font-size:19px;opacity:.95}
.welcome{text-align:center;max-width:860px;margin:34px auto}
.welcome h1{color:var(--teal);font-family:"Frank Ruhl Libre","Playfair Display",serif;font-size:34px;margin:0 0 10px}
.welcome p{color:var(--muted);font-size:18px;margin:0}
.steps3{background:var(--mist);border-radius:28px;padding:34px 30px;margin:20px 0 40px;text-align:center}
.steps3 h2,.explore h2,.popular h2{color:var(--teal);font-size:26px;margin:0 0 6px;letter-spacing:.01em}
.s3{display:flex;align-items:stretch;justify-content:center;gap:14px;margin-top:22px}
.s3c{background:#fff;border-radius:20px;padding:22px 22px 18px;flex:1;max-width:340px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.s3c h3{margin:6px 0;font-size:20px}.s3c p{margin:0;color:var(--muted)}
.stp{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--teal)}
.arr{align-self:center;color:var(--teal2);font-size:26px}
html[dir=rtl] .arr{transform:scaleX(-1)}
.explore,.popular{text-align:center;margin:10px 0 44px}
.explore>p,.popular>p{color:var(--muted);margin:0 0 22px}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px}
.ccard{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 10px;border:1px solid var(--line);border-radius:20px;text-decoration:none;color:var(--ink);transition:box-shadow .15s,transform .15s}
.ccard:hover{box-shadow:0 8px 20px rgba(0,0,0,.07);transform:translateY(-2px)}
.ccard .ic{width:84px;height:84px}.ccard .ic img{width:50px;height:50px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px}
.pcard{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--muted);font-weight:700;font-size:14px}
.pcard canvas{width:100%;height:auto;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.12);background:#f3f5f5;aspect-ratio:5/7}
/* inner header */
.bar{background:var(--grad);color:#fff;position:sticky;top:0;z-index:40}

.bar .logo .palm{color:#fff}
.bar .tools{direction:ltr}
.cat-strip{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:62px;z-index:39}
.cs-in{display:flex;gap:6px;overflow-x:auto;padding:6px 16px;scrollbar-width:thin}
.cat-strip a{display:flex;align-items:center;gap:7px;padding:6px 14px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600;white-space:nowrap}
.cat-strip a img{width:24px;height:24px}
.cat-strip a:hover{background:var(--panel)}
.cat-strip a.on{background:var(--mist);color:var(--teal)}
/* editor */
.editor{display:grid;grid-template-columns:340px minmax(0,1fr) 500px;height:calc(100vh - 94px);height:calc(100dvh - 94px);min-height:560px}
.col{display:flex;flex-direction:column;min-width:0;min-height:0}
.c1{background:var(--panel);border-inline-end:1px solid var(--line)}
.c3{border-inline-start:1px solid var(--line)}
.ch{padding:14px 20px 8px}
.ch h2{margin:0;font-size:20px}
.cb{flex:1;min-height:0;overflow-y:auto;padding:4px 20px 24px;scrollbar-width:thin}
/* sub-categories: Dekel's pill box at the top of STEP 1 */
.subtabs{display:flex;gap:15px;margin:0 20px 10px;padding:15px;border-radius:12px;background:#e2eaec;border:1px solid #e2eaec}
.subtabs-row{display:flex;flex-wrap:wrap;gap:5px}
.subtabs a{display:flex;align-items:center;justify-content:center;height:26px;padding:3px 12px;border-radius:50px;background:#fff;text-decoration:none;color:#000;font-size:13px;border:1px solid #a7b7bd;white-space:nowrap;transition:background .15s}
.subtabs a:hover{border-color:#006775;color:#006775}
.subtabs a.on{background:linear-gradient(to right,#5298a1 0%,#006775 100%);color:#fff;border-color:#e2eaec}
html[dir=rtl] .subtabs a.on{background:linear-gradient(to left,#5298a1 0%,#006775 100%)}
/* C152 (TheDekel 19/10 6:04 PM): the selected sub-category chip keeps WHITE text in every state - after a tap an iPhone keeps :hover on the chip and the theme's hover colour (teal) turned it teal-on-teal; its light end is a little deeper so white text is >=4.5:1 everywhere on the chip (was 3.3:1 at the light end) */
.subtabs .subtabs-row a.on,.subtabs .subtabs-row a.on:hover,.subtabs .subtabs-row a.on:focus,.subtabs .subtabs-row a.on:active{color:#fff;border-color:#e2eaec;background:linear-gradient(to right,#257d89 0%,#006775 100%);background:linear-gradient(to right,color-mix(in srgb,var(--th-c4,#5298a1) 45%,var(--th-c1,#006775)) 0%,var(--th-c1,#006775) 100%)}
html[dir=rtl] .subtabs .subtabs-row a.on,html[dir=rtl] .subtabs .subtabs-row a.on:hover,html[dir=rtl] .subtabs .subtabs-row a.on:focus,html[dir=rtl] .subtabs .subtabs-row a.on:active{background:linear-gradient(to left,#257d89 0%,#006775 100%);background:linear-gradient(to left,color-mix(in srgb,var(--th-c4,#5298a1) 45%,var(--th-c1,#006775)) 0%,var(--th-c1,#006775) 100%)}
.subtabs .subtabs-row a:focus-visible{outline:2px solid var(--th-c1,#006775);outline-offset:2px}
.formcard{background:#fff;border-radius:18px;padding:16px 16px 8px;border:1px solid #d3e4e5;box-shadow:none} /* P109: thin line like the original, no shadow */
.ctitle{margin:0 0 8px;color:var(--teal);font-size:17px}
/* C151 (TheDekel 19/10 6:04 PM 'why do we need this?'): when the sub-category chips are there, the name above the step-1 fields only repeats the selected chip - hidden on screen, kept for screen readers (heading order) and for the phone step-2 title that copies it */
#step1:has(.subtabs) .formcard>h3.ctitle{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* G94 (TheDekel #94): on desktop step 1 never shows the simcha name above the fields (also without sub-category chips); kept for screen readers */
@media (min-width:981px){ #step1 .formcard>h3.ctitle{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0} }
.fld{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:14px}
.fld>span:first-child{font-weight:700;color:var(--muted)}
.inp{position:relative;display:flex}
.inp input,.inp textarea,.fld select{width:100%;border:1px solid var(--line);border-radius:22px;padding:9px 16px;background:#fff;min-width:0}
.inp textarea{border-radius:16px;resize:vertical;line-height:1.4}
.fld select{border-radius:12px;padding:8px 12px}
.inp .clr{position:absolute;inset-inline-end:6px;top:6px;width:26px;height:26px;border-radius:50%;border:0;background:var(--panel);color:var(--muted);cursor:pointer;font-size:12px}
.inp:has(.clr) input,.inp:has(.clr) textarea{padding-left:38px;padding-right:38px}
.nextl{display:block;text-align:center;margin:14px 0;font-weight:700;color:var(--teal);text-decoration:none}
.fbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:4px 20px 12px;border-bottom:1px solid var(--line);font-size:14px;font-weight:600;color:var(--muted)}
.fbar select{border:1px solid var(--line);border-radius:999px;padding:5px 10px;background:#fff;color:var(--ink);margin-inline-start:4px}
.dens{margin-inline-start:auto;display:flex;align-items:center;gap:4px}
.dens button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:2px 6px;cursor:pointer;color:var(--teal3);font-size:11px;letter-spacing:-2px}
.dens button.on{border-color:var(--teal);color:var(--teal)}
.dgrid{display:grid;gap:18px;padding-top:14px}
.dgrid.d2{grid-template-columns:repeat(2,minmax(0,1fr))}.dgrid.d3{grid-template-columns:repeat(3,minmax(0,1fr))}.dgrid.d4{grid-template-columns:repeat(4,minmax(0,1fr))}
.dcard{display:flex;flex-direction:column;gap:6px}
.dth{border:2px solid transparent;border-radius:10px;padding:6px;background:var(--panel);cursor:pointer;display:block;transition:border-color .15s}
.dth canvas{width:100%;height:auto;display:block;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.14);background:#fff}
.dcard.sel .dth{border-color:var(--teal);background:var(--mist)}
.dth:hover{border-color:var(--teal3)}
.ph{position:absolute;top:10px;inset-inline-start:10px;background:#fff3cd;color:#7a5b00;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px}
.dmeta{display:flex;align-items:center;gap:8px;font-size:14px}
.price{font-weight:800}
.code{color:var(--muted);font-weight:700}
.heart{margin-inline-start:auto;border:0;background:none;font-size:20px;color:var(--teal);cursor:pointer;line-height:1}
.dots{display:flex;gap:5px}
.dots i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}
.empty{color:var(--muted);text-align:center;padding:20px 0}
.pvbar{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;margin-bottom:8px}
.stage{background:radial-gradient(circle at 50% 40%,#fff 0%,#eef2f3 70%);border-radius:18px;padding:22px;display:grid;place-items:center}
.stage canvas{max-width:100%;max-height:calc(100dvh - 440px);min-height:200px;width:auto;height:auto;box-shadow:0 14px 34px rgba(0,0,0,.22);background:#fff}
.pvinfo{color:var(--muted);font-size:14px;margin:10px 0}
.phi{color:#7a5b00;font-weight:700}
.acts{display:flex;flex-wrap:wrap;gap:8px}
.acts .btn{flex:1 1 auto}
.status{min-height:1.4em;color:var(--teal);font-weight:700;font-size:14px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:100;display:grid;place-items:center;padding:30px;overflow:auto}
.modal canvas{max-width:96vw;max-height:92vh;width:auto;height:auto;background:#fff}
.modal .x{position:fixed;top:14px;inset-inline-end:18px;background:#fff;border:0;border-radius:50%;width:40px;height:40px;font-size:18px;cursor:pointer}
/* sub page */
.subpage{max-width:1100px;margin:0 auto;padding:30px 24px 50px;text-align:center}
.subpage h1{color:var(--teal);margin:0}
.lead{color:var(--muted)}
.subgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px;margin-top:20px}
.subtile{display:flex;flex-direction:column;gap:6px;align-items:center;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:16px;transition:box-shadow .15s}
.subtile:hover{box-shadow:0 10px 24px rgba(0,0,0,.08)}
.st-img{position:relative;width:100%;background:var(--mist);border-radius:14px;padding:16px;display:grid;place-items:center;min-height:120px}
.st-img canvas{width:62%;height:auto;box-shadow:0 6px 16px rgba(0,0,0,.18);background:#fff}
.st-ic{position:absolute;bottom:8px;inset-inline-end:8px;width:40px;height:40px;background:#fff;border-radius:50%;padding:6px}
.subtile b{font-size:19px}.subtile small{color:var(--muted)}
/* auth + account */
.authp{display:grid;place-items:center;padding:50px 18px;min-height:calc(100vh - 240px)}
.authbox{width:100%;max-width:420px;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
.authbox h1{margin:0 0 18px;color:var(--teal);text-align:center}
.err{color:#b3261e;min-height:1.2em;font-weight:700;margin:0 0 10px}
.alt{text-align:center;color:var(--muted)}
.accp,.admin{max-width:1200px;margin:0 auto;padding:26px 24px 50px}
.acc-h,.adm-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.acc-h h1,.adm-h h1{margin:0;color:var(--teal)}
.panel{border:1px solid var(--line);border-radius:20px;padding:20px;margin-top:18px;background:#fff}
.panel h2{margin:0 0 14px;font-size:19px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.svgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.svc{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:10px}
.svc canvas{width:84px;height:auto;box-shadow:0 3px 8px rgba(0,0,0,.15);flex:none}
.svc>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.svc small{color:var(--muted)}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(30px);background:var(--ink);color:#fff;padding:10px 20px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:200;font-weight:700;max-width:90vw;text-align:center}
#toast.show{opacity:1;transform:translateX(-50%)}
#toast.bad{background:#b3261e}
/* admin */
.atabs{display:flex;gap:4px;background:var(--panel);border-radius:999px;padding:4px}
.atabs a{padding:7px 16px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:700}
.atabs a.on{background:var(--teal);color:#fff}
.warnbar{background:#fff3cd;color:#6b5000;border-radius:14px;padding:10px 16px;margin-top:14px;font-weight:700}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}
.toolbar select{border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:#fff}
.toolbar .sp{flex:1}.toolbar .ttl{font-size:18px}
.dlist,.clist{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.drow,.crow{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:14px;padding:8px 12px}
.crow.kid{margin-inline-start:40px;background:var(--panel)}
.crow img{width:36px;height:36px}
.dimg{width:52px;height:70px;flex:none;background:var(--panel);border-radius:6px;overflow:hidden}
.dimg img{width:100%;height:100%;object-fit:cover}
.dtx{flex:1;min-width:0}.dtx small{display:block;color:var(--muted)}
.dact{display:flex;gap:6px;flex-wrap:wrap}
.tag{display:inline-block;font-size:12px;font-weight:800;padding:2px 9px;border-radius:999px;background:var(--panel);color:var(--muted)}
.tag.ok{background:#dff3e6;color:#1d6b3a}.tag.ph{background:#fff3cd;color:#7a5b00}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.chk{display:flex;gap:8px;align-items:center;font-weight:700;margin:6px 0 12px;font-size:14px}
.iconrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.iconrow img{width:44px;height:44px;object-fit:contain;background:var(--mist);border-radius:50%;padding:4px}
.hint{color:var(--muted);font-size:13px;margin:4px 0}
.de{display:grid;grid-template-columns:300px minmax(0,1fr) 320px;gap:16px;align-items:start;margin-top:14px}
.de .panel{margin-top:0}
.de-c{position:sticky;top:130px}
.pstage{position:relative;margin:8px auto 0;width:fit-content;max-width:100%;touch-action:none;user-select:none}
.pstage canvas{display:block;max-width:100%;max-height:calc(100vh - 200px);width:auto;height:auto;box-shadow:0 10px 26px rgba(0,0,0,.18);background:#fff}
#boxes{position:absolute;inset:0}
.pbox{position:absolute;border:1.5px dashed rgba(0,103,117,.7);background:rgba(0,103,117,.06);cursor:move;border-radius:3px}
.pbox.on{border:2px solid #f2a01c;background:rgba(242,160,28,.12)}
.pbox .pl{position:absolute;top:-11px;inset-inline-start:-11px;width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
.pbox.on .pl{background:#f2a01c}
.pbox .rh{position:absolute;right:-7px;top:50%;width:12px;height:22px;margin-top:-11px;background:#fff;border:2px solid #f2a01c;border-radius:4px;cursor:ew-resize}
.pbox .rh2{position:absolute;right:-8px;bottom:-8px;width:16px;height:16px;background:#fff;border:2px solid #f2a01c;border-radius:4px;cursor:nwse-resize}
.noimg{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-weight:700}
.fh{display:flex;justify-content:space-between;align-items:center}.fh h3{margin:0}
.flist{display:flex;flex-direction:column;gap:4px;margin:10px 0 14px}
.fitem{text-align:start;border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 10px;cursor:pointer}
.fitem.on{border-color:#f2a01c;background:#fff8ec}
.fitem b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--teal);color:#fff;font-size:11px;margin-inline-end:6px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;width:fit-content}
.seg button{border:0;background:#fff;padding:5px 14px;cursor:pointer;font-size:16px}
.seg button.on{background:var(--teal);color:#fff}
.cpick{display:flex;flex-wrap:wrap;gap:6px}
.cpick label{cursor:pointer}.cpick input{position:absolute;opacity:0}
.cpick i{display:block;width:24px;height:24px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.cpick input:checked+i{box-shadow:0 0 0 2px var(--teal)}
.cpick input:focus-visible+i{outline:3px solid #f2b84b}
input[type=color]{width:60px;height:34px;border:1px solid var(--line);border-radius:8px;padding:2px;background:#fff}
.tbl{overflow-x:auto;margin-top:16px;border:1px solid var(--line);border-radius:14px}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:start;white-space:nowrap}
th{background:var(--panel)}
.cform .row{margin-top:8px}
.loading{color:var(--muted);padding:30px;text-align:center}
/* footer */
.foot-in{margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;}
.foot .logo .palm{color:#fff}
.foot p{margin:0;opacity:.92}
.foot a{color:#fff}
.foot nav{opacity:.95}
.foot .contact{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
/* responsive */
@media (max-width:1250px){.editor{grid-template-columns:300px minmax(0,1fr) 400px}.de{grid-template-columns:260px minmax(0,1fr) 280px}}
@media (max-width:980px){
  .editor{display:block;height:auto}
  .col{display:block}.cb{overflow:visible}
  .c1,.c3{border:0}.c2{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .stage canvas{max-height:none;max-width:100%}
  .dgrid.d3,.dgrid.d4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .de{grid-template-columns:1fr}.de-c{position:static}
  .two{grid-template-columns:1fr}
}
@media (max-width:640px){
.cat-strip{top:56px}
  .logo .lw b{font-size:21px}.logo .palm{width:30px;height:30px}
  .un{display:none}
  .home-h{padding:10px 14px 4px}.home-cats{gap:14px}.home-cats a{min-width:64px;font-size:13px}.home-cats .ic{width:52px;height:52px}
  .pillbanner{border-radius:26px;padding:22px 18px}.pillbanner b{font-size:25px}.pillbanner span{font-size:16px}
  .welcome h1{font-size:26px}.welcome p{font-size:16px}
  .s3{flex-direction:column;align-items:center}.arr{transform:rotate(90deg)!important}
  .home{padding:0 14px}
  .cgrid{grid-template-columns:repeat(2,1fr)}.pgrid{grid-template-columns:repeat(2,1fr)}
  .fbar{padding:4px 14px 10px}.ch{padding:12px 14px 6px}.cb{padding:4px 14px 20px}.subtabs{margin:0 14px 10px}
  .dens{display:none}
  .g2,.g3{grid-template-columns:1fr 1fr}
  .drow{flex-wrap:wrap}.crow.kid{margin-inline-start:16px}
  .accp,.admin{padding:18px 14px 40px}
}

/* home top (Dekel home: language pill + icons on the right) */
.hh-top{display:flex;align-items:center;justify-content:space-between;color:var(--teal);direction:ltr}
.hh-r{display:flex;align-items:center;gap:15px;margin-left:auto}
.hh-ics{display:flex;align-items:center;gap:15px}
.hh-ics .dkh-ic{color:var(--teal)}
.hh-ics .dkh-ic svg{width:21px;height:21px}
.hh-ics .dkh-uname{color:var(--teal)}
.hh-burger{display:none;width:26px;height:26px;border:0;background:none;color:var(--teal);padding:0;cursor:pointer}
.hh-burger svg{width:100%;height:100%}
.home-h .dkh-lang.dark{height:31px}
.search{position:relative;overflow:visible}
.search input{border-radius:999px}
.search button{display:flex;align-items:center}
.search button svg{width:22px;height:22px}
.search .sug{top:calc(100% + 4px);left:0;right:0;width:auto;max-width:none}
/* search results page */
.srch{max-width:1200px;margin:0 auto;padding:26px 22px 50px;min-height:50vh}
.srch h1{font-size:26px;color:var(--teal);margin:0 0 14px}
.sr-cats{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;color:var(--muted);font-weight:700}
.sr-cat{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border:1px solid var(--line);border-radius:50px;text-decoration:none;color:var(--ink);font-weight:600;background:#fff}
.sr-cat img{width:22px;height:22px}
.sr-cat:hover{border-color:var(--teal);color:var(--teal)}
.sr-n{color:var(--muted);margin:0 0 12px}
.sr-card small{display:block;color:var(--muted);font-size:12px;font-weight:400}
.sr-st{display:grid;place-items:center;aspect-ratio:5/7;background:var(--mist);color:#c9a13b;border-radius:8px}
.sr-st svg{width:40px;height:40px}
@media (max-width:820px){.hh-burger{display:block}.hh-ics{display:none}.editor{height:auto}}
@media (max-width:640px){.srch{padding:18px 14px 40px}.srch h1{font-size:21px}}

.tplbox{margin-top:14px;border-top:1px solid #dde4e6;padding-top:10px}.tplbox h3{margin:0 0 4px;font-size:15px}.tplbox .hint{color:#667;font-size:12.5px;margin:0 0 8px}table.tpl{width:100%;border-collapse:collapse;font-size:13px}table.tpl th{text-align:start;font-weight:600;color:#556;padding:3px}table.tpl td{padding:2px 3px}table.tpl input:not([type=checkbox]),table.tpl select{width:100%;padding:4px 6px;border:1px solid #cfd8db;border-radius:6px;font:inherit}.mlhint{display:block;color:#5e6b70;font-size:11.5px;margin-top:2px}

/* simchas list: quick inline order / visibility */
.cq{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-inline-start:auto}
.cqf{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--muted,#6b7a80);width:92px}
.cqf input{width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px;text-align:center}
.cqf-na{visibility:hidden}
.cqc{display:flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap;cursor:pointer}
.cqc input{width:17px;height:17px;accent-color:#0e5e6a}
.cq-off{opacity:.35}
.cq-st{font-size:13px;color:#0e7a4a;margin-inline-start:10px}
@media (max-width:700px){ .crow{flex-wrap:wrap} .cq{width:100%;margin:0;gap:8px} .cqf{width:84px} }

.crow-h{border:0;padding:0 12px;font-size:12px;font-weight:700;color:var(--muted,#6b7a80);position:sticky;top:0;background:var(--bg,#fff);z-index:2}
.crow-h .crh-ic{width:36px}.crow-h .dact{visibility:hidden;height:0;overflow:hidden}
.cq .cqc{width:96px;justify-content:center}
.cq .cqf{width:96px;text-align:center}
@media (min-width:701px){ .crow:not(.crow-h) .cqf>span,.crow:not(.crow-h) .cqc>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)} .clist .crow{padding:5px 12px} .clist{gap:6px} }
@media (max-width:700px){ .crow-h{display:none} .cq .cqc{width:auto} .cq .cqf{text-align:start} }

.infopage{max-width:760px;margin:0 auto;padding:24px 16px 48px}
.infopage .info-txt{line-height:1.8;white-space:normal}
.contact-box{display:flex;flex-direction:column;gap:10px}
.contact-box .btn.wide{justify-content:center}

@media (max-width:900px){.c1 .nextl{background:var(--teal);color:#fff;padding:14px 16px;border-radius:12px;font-size:17px;box-shadow:0 4px 14px rgba(0,103,117,.25)}}
.sr-sugg{margin-top:14px}.sr-sugg p{margin:0 0 8px;color:var(--muted)}

.authbox .fgt{margin-top:-4px}.authbox .fgt a{font-size:14px}
.okbox{background:#eaf7ef;border:1px solid #b9e2c8;border-radius:10px;padding:10px 12px;margin:8px 0;line-height:1.6}
.warnbox{background:#fff7e6;border:1px solid #f0d49a;border-radius:10px;padding:10px 12px;margin:8px 0;line-height:1.6}
.fgt-c{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.home-cats .hc-plus{display:flex;align-items:center;justify-content:center;font-size:30px;color:var(--teal2);font-weight:300}

/* ---- FIX-B UX (round 2): step-1 hint, grey sample placeholders, step-3 card first + folding add-ons, unchanged-details check ---- */
.ux-fillhint{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:#f1f7f8;color:#2c5560;font-size:.88rem;line-height:1.45}
#fields input::placeholder,#fields textarea::placeholder,.phfields input::placeholder,.phfields textarea::placeholder{color:#a0a8b0;opacity:1}
.ux-addfold{margin:10px 0;border:1px solid #e1e6ea;border-radius:12px;background:#fff}
.ux-addfold>summary{cursor:pointer;list-style:none;padding:12px 14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-height:44px}
.ux-addfold>summary::-webkit-details-marker{display:none}
.ux-addfold>summary::after{content:'▾';margin-inline-start:auto;color:#0e5e6a;transition:transform .2s}
.ux-addfold[open]>summary::after{transform:rotate(180deg)}
.ux-af-d{color:#6b7680;font-size:.85rem}
.ux-af-n{background:#0e5e6a;color:#fff;border-radius:999px;padding:1px 9px;font-size:.78rem}
.ux-addfold>.addons{padding:0 10px 10px;margin-top:0}
@media (min-width:761px){ .ux-addfold{border:0;background:none;margin:0}.ux-addfold>summary{display:none}.ux-addfold>.addons{padding:0} }
@media (max-width:760px){
  .ux-nophone{display:none!important}
  #step3 .cb{display:flex;flex-direction:column}
  #step3 .cb>*{order:3}
  #step3 .cb>.stage{order:1}
  #step3 .cb>.pt-sides{order:1}
  #step3 .cb>.pvbar{order:2}
  #step3 .cb>.varrow{order:2}
  #step3 .pvlinks{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  #step3 .pvlinks::-webkit-scrollbar{display:none}
}
#step2.ux-few .fbar,#step2.ux-few #xfBar{display:none!important}
@media (pointer:coarse){ html:not(.ux-hkb-touch) .hkb-toggle{display:none!important} }
.ux-unch{position:fixed;inset:0;background:rgba(20,30,40,.45);z-index:3000;display:flex;align-items:center;justify-content:center;padding:16px}
.ux-unch-c{background:#fff;border-radius:16px;max-width:440px;width:100%;padding:20px 18px;box-shadow:0 10px 40px rgba(0,0,0,.25);max-height:90vh;overflow:auto}
.ux-unch-c h3{margin:0 0 8px;font-size:1.15rem}.ux-unch-c p{margin:0 0 10px;color:#4b5560;font-size:.92rem}
.ux-unch-c ul{margin:0 0 14px;padding-inline-start:18px;font-size:.9rem}.ux-unch-c li span{color:#7a838c}
.ux-unch-b{display:flex;gap:8px;flex-wrap:wrap}.ux-unch-b .btn{flex:1;min-height:44px}
/* step 1: instruction line + fields made of parts, stacked like the original site (fields helper) */
#fields .fl-tip{margin:0 0 10px;font-size:14px;line-height:1.4;color:#41525a;background:#f3f8f9;border-radius:8px;padding:8px 10px}
#fields .pgrp{display:flex;flex-direction:column;gap:8px} /* P107: each part = its own pill, same as a normal field (no outer box) */
#fields .pgrp .prow{display:flex;flex-direction:column;padding:0;border-top:0;position:relative}
#fields .pgrp .prow:first-child{border-top:0}
#fields .pgrp .plbl{font-size:11px;color:#7b878c;line-height:1.2;margin-bottom:2px}
#fields .pgrp .pctl{display:flex;align-items:center;gap:6px;min-height:34px}
#fields .pgrp .pctl input,#fields .pgrp .pctl select,#fields .pgrp .pctl .datebtn{flex:1;min-width:0;border:1px solid var(--line,#d7dfe2);border-radius:22px;background:#fff;font:inherit;padding:9px 16px;box-shadow:none} /* P107: dropdown/date part = a normal dropdown/date field */
#fields .pgrp .prow:is(.t-text,.t-number,.t-time) .pctl input{border-color:#ccc;border-radius:8px;padding:8px 16px;line-height:1.35} /* P107: typed part = a normal text field */
#fields .pgrp .pctl .pother{border-top-style:solid}
#fields .pgrp .pfix{flex:1;color:#55646a;font-size:15px;padding:6px 0}
#fields .pgrp .prow.t-fixed{background:transparent}
#fields .pgrp .pico{color:#7b878c;display:flex}
#fields .pgrp .hidden{display:none}

/* SMALLS (Shimon 11:43): no iOS auto-zoom when tapping a field on a phone: fields at 16px. Pinch-zoom stays enabled. */
@media (max-width:820px){ input, select, textarea { font-size:16px !important } }
/* /SMALLS */
/* STEP1 — Shimon 12:18/12:19: step-1 instruction line hidden on phone; step-1 field texts centred (settings s1_hide_tip_phone, s1_center; '0' = off) */
@media (max-width:820px){#fields.s1-tipph .fl-tip{display:none}}
#fields.s1-center .fl-tip,#fields.s1-center .fld>span:first-child,#fields.s1-center .pgrp .plbl,#fields.s1-center .pgrp .pfix,#fields.s1-center .mlhint{text-align:center}
#fields.s1-center .fld input:not(.affix),#fields.s1-center .fld textarea,#fields.s1-center .fld select{text-align:center;text-align-last:center}
#fields.s1-center .fld input:not(.affix)::placeholder,#fields.s1-center .fld textarea::placeholder{text-align:center}
#fields.s1-center .fld .inp.date .datebtn,#fields.s1-center .pgrp .pctl .datebtn{justify-content:center;text-align:center}
/* /STEP1 */

/* BUGFIX 18/10: the page body fills at least one screen, so the footer starts below the fold and cannot jump when a list (all designs, search, simchas board) finishes loading */
#app>main:not(.fc-auth):not(.authp){min-height:100vh;min-height:100svh}

/* C35 (card 35, TheDekel 18/10 6:08 PM "במחשב (לפטופ) אני גולל למטה ותראה מה קורה זה לא אמור להיות"): on desktop the three editor
   columns are exactly one screen tall under the header. The 18/10 "page body fills at least one screen" rule (min-height:100vh on #app>main)
   also hit the editor and beat its own height (100dvh minus the header), so the page grew one header-height taller than the screen:
   scrolling down pushed the columns up and left a white strip under them, and the column bottoms sat below the fold. */
@media (min-width:981px){ #app>main.editor:not(.fc-auth):not(.authp){min-height:440px} }
/* C35: the step-1 field labels that layout3 hides visually (.l3-sr, absolute, 1px) have no positioned parent, so each one was placed
   at its spot inside the scrolling column but measured against the page: the lowest label stretched the page past the screen
   (+150 to +480px of empty page under the columns, more on categories with long forms). Pinned to the page's top corner, they
   stay readable to screen readers and no longer stretch the page. Desktop only: on phones the columns are not scroll boxes. */
@media (min-width:981px){ .editor .l3-sr{top:0!important;left:0!important} }
/* #80 (Oct 19, TheDekel: "on desktop the bottom keeps jumping, an empty white band appears under the columns"): the same C35 bug, two more
   visually-hidden boxes - step 3's print-size line (#pvInfo) and the filter chips' live region (.fch-live) - were absolute with no positioned
   parent, so each sat at the end of its scrolling column's content but stretched the PAGE (+50 to +120px of empty band, and the page height
   changed whenever step 3 re-rendered, so the bottom jumped). Root fix: each desktop column's scroll box is now the containing block of
   anything absolute inside it, so nothing inside a column can ever stretch the page again; the hidden boxes are also pinned to its corner.
   Desktop only (on phones the columns are not scroll boxes). */
@media (min-width:981px){ .editor>.col>.cb{position:relative} .editor #pvInfo,.editor .fch-live{top:0!important;left:0!important} }

/* #58 ADMIN FULL WIDTH (TheDekel 19/10): every admin screen uses the whole screen width. Scoped to main.admin only, so customer pages are untouched.
   Lives here (styles.css loads before anything renders) so the admin never jumps from narrow to wide when its bundle arrives. */
main.admin,main.admin.has-side{max-width:none!important;padding-inline:clamp(14px,1.6vw,24px)}
main.admin :is(.dks,.cga,.iba,.opt-adm,.tha,.tx-hub,.sa-page,.md-page,.g2x.sp-one>section.panel){max-width:none!important}
main.admin .adm-col,main.admin .adm-b{min-width:0}
main.admin .tbl{max-width:100%}
