/* Tool page "ברכת שבת עם הלוגו שלך". Tokens only (brand styles.css + home.css). */
.tool{max-width:var(--content-max);padding-block:32px 64px}
.tool-hero h1{font-size:clamp(36px,7vw,56px);line-height:1.15;letter-spacing:-.03em;margin:8px 0 16px}
.tool-hero .lead{font-size:20px}
.steps{list-style:none;padding:0;margin:24px 0 8px;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:16px;color:var(--text-muted)}
.steps li{display:flex;align-items:center;gap:8px;min-height:56px;cursor:pointer}
.steps li:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:8px}
.steps li:before{content:'';width:12px;height:12px;border-radius:999px;border:2px solid var(--border-field)}
.steps li.done:before{background:var(--pt-sage);border-color:var(--pt-sage)}
.steps li.current{color:var(--text-brand);font-weight:600}
.steps li.current:before{background:var(--action-bg);border-color:var(--action-bg)}
.step{padding-block:24px;border-top:1px solid var(--border-subtle);margin-top:16px}
.step h2{font-size:30px;margin-bottom:8px}
.step h3{font-size:24px;font-weight:600;margin:40px 0 8px}
.step>p{margin:8px 0 16px}
.field{display:flex;flex-direction:column;gap:6px;margin-block:16px}
.field label{font-weight:600}
.field input,.field select{font:inherit;font-size:18px;min-height:var(--hit-target);padding:12px 16px;border:1.5px solid var(--border-field);border-radius:var(--radius-field);background:var(--surface-raised);color:var(--text-body);width:100%}
.field input:focus-visible,.field select:focus-visible,.range input:focus-visible,.check input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.field input[aria-invalid=true]{border-color:var(--pt-error-border,var(--pt-error-ink))}
.check{display:flex;align-items:center;gap:14px;min-height:var(--hit-target);padding-block:0;cursor:pointer}
.check input{width:56px;height:56px;flex:none;margin:0;accent-color:var(--action-bg)}
.hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.note,.tip{font-size:16px;color:var(--text-muted)}
.tip{background:var(--surface-card);border-radius:var(--radius-alert);padding:14px 18px}
.alert{background:var(--pt-error-bg);border-inline-start:5px solid var(--pt-error-ink, var(--pt-ink));border-radius:var(--radius-alert);padding:12px 16px;margin-block:16px}
.status{min-height:28px;color:var(--text-muted);margin-block:8px}
.primary{border:0;font:inherit;font-size:18px;cursor:pointer;width:100%;margin-block:16px 4px}
.primary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}
.reset-action{display:block;margin-top:28px;font-size:16px}
.file{position:relative;overflow:hidden}
.file input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
label.text-action.file{display:inline-flex}
.logo-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:16px}
.pick{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:120px;padding:16px;border:2px solid var(--action-bg);border-radius:var(--radius-card);background:var(--surface-raised);color:var(--text-body);cursor:pointer;text-align:center}
.pick b{font-size:22px;color:var(--text-brand)}
.pick span{font-size:16px;color:var(--text-muted)}
.pick:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}
.pick:hover{background:var(--surface-selected)}
body[data-mode="personal"] .business-only,body[data-mode="personal"] [data-step-dot="logo"]{display:none!important}
body:not([data-mode="personal"]) .personal-only{display:none!important}
button.pick{font:inherit}
.mode-pick .pick{min-height:160px}
.mode-pick .pick b{font-size:20px}
.step-back{min-height:56px;font-size:18px;margin:0 0 16px}
@media(max-width:719px){.mode-pick{grid-template-columns:1fr}.mode-pick .pick{min-height:var(--hit-target)}}
.presets{border:0;padding:0;margin:8px 0 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.preset{display:flex;flex-direction:column;gap:6px;min-height:var(--hit-target);padding:10px;border:2px solid transparent;border-radius:16px;background:var(--surface-card);cursor:pointer;position:relative}
.preset input{position:absolute;opacity:0;inset:0;cursor:pointer}
.preset .dots{display:flex;gap:4px}
.preset .dots i{width:24px;height:24px;border-radius:999px;border:1px solid var(--border-subtle)}
.preset span{font-size:16px;font-weight:600}
.preset:has(input:checked){border-color:var(--action-bg);background:var(--surface-selected)}
.preset:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}
.dedication{text-align:center;font-size:16px;font-weight:400;color:var(--text-muted);margin:48px 0 0}
.install-how{border-top:1px solid var(--border-subtle);padding-block:8px}
.install-how summary{font-weight:600;min-height:var(--hit-target);display:flex;align-items:center;cursor:pointer}
.install-how ol{margin:0 0 8px;padding-inline-start:24px}
.install-how li{margin-block:6px}
.preview-wrap,.hero-image{margin:16px 0;border-radius:var(--radius-card);overflow:hidden;background:var(--surface-card)}
.preview-wrap canvas,.hero-image img{display:block;width:100%;height:auto;aspect-ratio:1/1}
.hero-image figcaption{padding:12px 18px;font-size:16px;color:var(--text-muted);font-weight:600}
.result-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.result-actions .text-action,.card-actions .text-action{min-height:56px}
.result-logo-actions{display:flex;flex-wrap:wrap;gap:12px 20px;margin:-4px 0 20px}
.result-logo-actions .text-action{min-height:56px;font-size:18px}
.card-actions{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:4px}
.range{display:flex;flex-direction:column;gap:4px;margin-block:8px}
.range label{font-weight:600}
.range input{width:100%;min-height:var(--hit-target);accent-color:var(--action-bg)}
.styles{border:0;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.style-choice{position:relative;display:flex;flex-direction:column;gap:8px;cursor:pointer;border-radius:var(--radius-card);padding:10px;background:var(--surface-card);border:2px solid transparent}
.style-choice img{display:block;width:100%;height:auto;aspect-ratio:1/1;border-radius:18px}
.style-choice span{font-weight:600;min-height:32px;padding-inline:6px}
.style-choice input{position:absolute;opacity:0;inset:0;cursor:pointer}
.style-choice:has(input:checked){border-color:var(--action-bg);background:var(--surface-selected)}
.style-choice:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}
.style-choice:has(input:checked) span:after{content:' · נבחר'}
.occasions{list-style:none;padding:0;margin:8px 0 0}
.occasions li{display:grid;grid-template-columns:88px 1fr;gap:16px;align-items:center;padding-block:12px;border-top:1px solid var(--border-subtle)}
.occasions img{width:88px;height:88px;border-radius:14px;display:block;background:var(--surface-card)}
.occasions .when{font-size:16px;color:var(--text-muted)}
.occasions .what{font-weight:600}
.occasions .text-action{min-height:var(--hit-target);padding:4px 0}
.elements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.elements figure{margin:0;background:var(--surface-selected);border-radius:18px;padding:10px}
.elements img{display:block;width:100%;height:auto;max-height:220px;object-fit:contain}
.elements figcaption{font-size:16px;font-weight:600;margin-top:6px;background:var(--surface-raised);border-radius:8px;padding:2px 8px;width:fit-content}
.elements .element-save{display:block;margin-top:4px;min-height:56px}
.actions-more{display:flex;flex-wrap:wrap;gap:24px;margin-top:40px}
dialog{width:min(560px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:var(--radius-card);background:var(--surface-raised);color:var(--text-body);box-shadow:var(--shadow-overlay)}
dialog::backdrop{background:color-mix(in srgb,var(--pt-ink) 48%,transparent)}
.logo-dialog-card{padding:24px;overflow:auto}.logo-dialog-card h2{margin-top:0}.logo-dialog-card .preview-wrap{margin-block:12px}.dialog-actions{display:flex;gap:16px;align-items:center}.dialog-actions .primary{margin:8px 0 0}.dialog-actions .text-action{min-height:56px}
@media(min-width:720px){.styles{grid-template-columns:repeat(4,minmax(0,1fr))}.elements{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Her greeting fonts: free Hebrew Google Fonts (SIL OFL), self-hosted. Licences in /tools/shabbat/fonts. */
@font-face{font-family:"Rubik";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/rubik-hebrew-400-normal.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"Rubik";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/rubik-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Rubik";font-style:normal;font-weight:700;font-display:swap;src:url(/tools/shabbat/fonts/rubik-hebrew-700-normal.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"Rubik";font-style:normal;font-weight:700;font-display:swap;src:url(/tools/shabbat/fonts/rubik-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Heebo";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/heebo-hebrew-400-normal.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"Heebo";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/heebo-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Heebo";font-style:normal;font-weight:700;font-display:swap;src:url(/tools/shabbat/fonts/heebo-hebrew-700-normal.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"Heebo";font-style:normal;font-weight:700;font-display:swap;src:url(/tools/shabbat/fonts/heebo-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Assistant";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/assistant-hebrew-400-normal.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"Assistant";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/assistant-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Assistant";font-style:normal;font-weight:700;font-display:swap;src:url(/tools/shabbat/fonts/assistant-hebrew-700-normal.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"Assistant";font-style:normal;font-weight:700;font-display:swap;src:url(/tools/shabbat/fonts/assistant-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Frank Ruhl Libre";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/frank-ruhl-libre-hebrew-400-normal.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"Frank Ruhl Libre";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/frank-ruhl-libre-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Frank Ruhl Libre";font-style:normal;font-weight:700;font-display:swap;src:url(/tools/shabbat/fonts/frank-ruhl-libre-hebrew-700-normal.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"Frank Ruhl Libre";font-style:normal;font-weight:700;font-display:swap;src:url(/tools/shabbat/fonts/frank-ruhl-libre-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Secular One";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/secular-one-hebrew-400-normal.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"Secular One";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/secular-one-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Suez One";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/suez-one-hebrew-400-normal.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"Suez One";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/suez-one-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Varela Round";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/varela-round-hebrew-400-normal.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"Varela Round";font-style:normal;font-weight:400;font-display:swap;src:url(/tools/shabbat/fonts/varela-round-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
.swatches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.swatch{display:flex;align-items:center;gap:12px;min-height:var(--hit-target);padding:8px 12px;border:1.5px solid var(--border-field);border-radius:var(--radius-field);background:var(--surface-raised);cursor:pointer;font-weight:600}
.swatch input{width:44px;height:44px;border:0;padding:0;background:none;border-radius:10px;cursor:pointer;flex:none}
.swatch input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.pairs{border:0;padding:0;margin:12px 0;display:grid;gap:12px}
.pair-choice{position:relative;display:grid;gap:2px;padding:14px 18px;border-radius:var(--radius-card);background:var(--surface-card);border:2px solid transparent;cursor:pointer;min-height:var(--hit-target)}
.pair-choice input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pair-choice:has(input:checked){border-color:var(--action-bg);background:var(--surface-selected)}
.pair-choice:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}
.pair-choice .sample{font-size:34px;line-height:1.2}
.pair-choice .sample2{font-size:20px}
.pair-choice .name{font-size:16px;color:var(--text-muted)}
.pair-choice:has(input:checked) .name:after{content:' · נבחר'}
@media(min-width:720px){.swatches{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* WhatsApp optional (default) or required (SHABBAT_WHATSAPP_REQUIRED=true, after Eran's legal check) */
[data-whatsapp="optional"] .wa-required, [data-whatsapp="required"] .wa-optional { display: none }
/* Two tiers (Eran 15.10.2026): basic without email consent = family greetings only. */
body:not([data-tier="basic"]) .basic-only { display: none !important }
body[data-tier="basic"] #mode-business { opacity: .72 }
.lock { font-size: 16px; font-weight: 600; color: var(--action-bg) }
.upgrade { margin-top: 16px; padding: 16px; border-radius: var(--radius-card); background: var(--surface-card); display: grid; gap: 12px }
.upgrade p { margin: 0 }
/* One full deep-green button per screen: on results that is "לשלוח בוואטסאפ". */
#results-upgrade .primary { background: transparent; color: var(--text-action); border: 2px solid var(--action-bg) }
#results-upgrade .primary:hover { background: var(--pt-sage-tint) }
#results-upgrade .primary:active { background: var(--surface-selected) }
/* Follow gate: hidden unless the launch configuration switches data-follow to "optional". */
[data-follow="off"] .follow-gate { display: none }
.follow-btn { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: var(--hit-target, 56px); margin-block: 16px 4px; padding: 8px 20px; border: 2px solid var(--action-bg); border-radius: var(--radius-pill, 999px); color: var(--action-bg); font-weight: 600; font-size: 18px; text-decoration: none }
.follow-btn:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 4px }
#follow-check[data-missing] input { outline: 3px solid var(--focus-ring); outline-offset: 2px }

/* The full Hebrew font library */
.font-lib { margin-block: 12px; border-radius: var(--radius-card); background: var(--surface-card); padding: 0 16px }
.font-lib summary { min-height: var(--hit-target); display: flex; align-items: center; cursor: pointer; font-weight: 600 }
.font-lib[open] { padding-bottom: 16px }
.font-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; max-height: 560px; overflow-y: auto; overscroll-behavior: contain }
.font-item { width: 100%; display: grid; gap: 2px; text-align: right; padding: 12px 16px; min-height: var(--hit-target); border-radius: var(--radius-card); border: 2px solid var(--border-subtle); background: var(--surface-raised); color: var(--text-body); font: inherit; cursor: pointer }
.font-item .sample { font-size: 30px; line-height: 1.25; overflow-wrap: anywhere }
.font-item.loading .sample { color: var(--text-muted) }
.font-item .name { font-size: 16px; text-align: right; color: var(--text-muted) }
.font-item .kind { font-size: 16px; color: var(--text-muted) }
.font-item[aria-pressed="true"] { border-color: var(--action-bg); background: var(--surface-selected) }
.font-item[aria-pressed="true"] .kind:after { content: ' · נבחר' }
.font-item:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px }

/* One consent tick (Eran 16.10.2026): the main point large, the details small and grey. */
.consent-one span{font-size:20px;font-weight:600;line-height:1.4}
.consent-details{margin:-4px 0 12px;padding-inline-start:70px}
.consent-details p{font-size:16px;line-height:1.5;color:var(--text-muted);margin:0 0 8px}
.consent-details a{padding-block:18px}
/* inline-flex drops the space before a <bdi>, so "(קובץ ZIP)" read "(קובץZIP)". */
.tool .text-action:has(>bdi){display:inline-block;padding-block:14px}
.follow-gate[data-missing] .follow-btn{outline:3px solid var(--focus-ring);outline-offset:3px}

/* Accessibility: focused skip and home links retain a 56px touch target. */
.skip{display:inline-flex;align-items:center;min-height:56px;padding:12px 16px}
.skip:focus{padding:12px 16px}
footer>a{display:inline-flex;align-items:center;min-height:56px;padding:12px 0}
