/* Booking page. Every colour, size and radius is a brand token from /brand/styles.css. */
*{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body)}
.wrap{width:min(100%,640px);margin-inline:auto;padding:24px 16px 72px}
.brandbar{display:flex;align-items:center;gap:16px;margin:0 0 24px;color:var(--text-brand);text-decoration:none}
.brandbar img{height:64px;width:auto;max-width:200px;object-fit:contain;flex:none}
.brandbar strong{font-size:var(--fs-h3);font-weight:var(--fw-semibold,600)}
.brandbar span{display:block;font-size:var(--fs-secondary);color:var(--text-muted)}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1);color:var(--text-brand);font-weight:700;margin:0 0 8px}
h2{font-size:var(--fs-h3);margin:0 0 12px}
p{margin:0 0 12px}
a{color:var(--text-action)}
.muted{color:var(--text-muted)}
.google-login{display:flex;justify-content:center;margin:18px 0 10px;min-height:40px}
.login-divider{text-align:center;color:var(--text-muted);margin:8px 0;font-size:.85rem}
.meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--text-muted);font-size:var(--fs-secondary);margin:0 0 16px}
.card{background:var(--surface-card);border-radius:var(--radius-card);padding:24px 20px;margin:0 0 16px}
.tzrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;font-size:var(--fs-secondary)}
select,input,textarea{font:inherit;font-size:var(--fs-body);color:var(--text-body);background:var(--surface-raised);border:1px solid var(--border-field);border-radius:var(--radius-field);min-height:var(--hit-target-field);padding:10px 14px;width:100%}
.tzrow select{width:auto;max-width:100%}
textarea{min-height:104px;resize:vertical}
label{display:block;font-size:var(--fs-label);font-weight:600;margin:16px 0 6px}
label .opt{font-weight:400;color:var(--text-muted)}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.days{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin:0 -2px 8px;scroll-snap-type:x proximity}
.day{flex:none;scroll-snap-align:start;min-width:88px;min-height:var(--hit-target);padding:8px 12px;border-radius:var(--radius-field);border:1px solid var(--border-card);background:var(--surface-raised);color:var(--text-body);font:inherit;font-size:var(--fs-secondary);line-height:1.3;cursor:pointer;text-align:center}
.day b{display:block;font-size:var(--fs-body)}
.day[aria-pressed=true]{border:2px solid var(--text-action);background:var(--surface-selected)}
.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.time{min-height:var(--hit-target);border-radius:var(--radius-control);border:1px solid var(--text-action);background:var(--surface-raised);color:var(--text-action);font:inherit;font-weight:600;cursor:pointer;direction:ltr}
.time:hover{background:var(--surface-selected)}
.primary{display:flex;justify-content:center;align-items:center;width:100%;min-height:var(--hit-target);margin-top:24px;padding:12px 28px;border:0;border-radius:var(--radius-control);background:var(--action-bg);color:var(--text-on-action);font:inherit;font-size:var(--fs-button);font-weight:600;cursor:pointer;text-decoration:none}
.primary:hover{background:var(--action-bg-hover)}.primary:active{background:var(--action-bg-press)}
.primary[disabled]{opacity:.6;cursor:wait}
.secondary{display:inline-flex;justify-content:center;align-items:center;min-height:var(--hit-target);padding:10px 22px;border-radius:var(--radius-control);border:1px solid var(--text-action);background:transparent;color:var(--text-action);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.link{background:none;border:0;padding:0;min-height:var(--hit-target-min);color:var(--text-action);font:inherit;text-decoration:underline;cursor:pointer}
.summary{font-weight:600;margin:0 0 4px}
.alert{border-radius:var(--radius-alert);padding:12px 16px;margin:0 0 16px;background:var(--doc-overdue-bg);color:var(--doc-overdue-ink)}
.ok{background:var(--doc-paid-bg);color:var(--doc-paid-ink)}
.events{display:grid;gap:12px}
.event{display:block;text-decoration:none;color:inherit;background:var(--surface-card);border-radius:var(--radius-card);padding:20px;min-height:var(--hit-target)}
.event b{display:block;font-size:var(--fs-h3);color:var(--text-brand)}
.hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.foot{margin-top:32px;font-size:var(--fs-secondary);color:var(--text-muted)}
.locs{border:0;padding:0;margin:16px 0 0}
.locs legend{font-size:var(--fs-label);font-weight:600;margin:0 0 6px;padding:0}
.loc{display:inline-flex;align-items:center;gap:8px;min-height:var(--hit-target);margin:0 0 0 16px;font-weight:400}
.loc input{width:22px;height:22px;min-height:0;margin:0;accent-color:var(--action-bg)}
.check{width:22px;height:22px;min-height:0;margin:0;accent-color:var(--action-bg)}
.dayrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--border-subtle);padding:4px 0}
.dayrow .loc{margin:0;min-width:96px}
.range{display:flex;align-items:center;gap:8px;flex:1 1 240px}
.range input{flex:1 1 0;width:0;min-width:0;padding-inline:10px}
.blist{list-style:none;margin:0;padding:0}
.blist li{padding:12px 0;border-top:1px solid var(--border-subtle)}
.blist li:first-child{border-top:0}
.blist b{display:block}
.blist span{color:var(--text-muted);font-size:var(--fs-secondary)}
.powered{margin-top:40px;text-align:center;font-size:var(--fs-secondary)}
.powered a{color:var(--text-muted)}
.color{width:96px;padding:4px;min-height:var(--hit-target-field)}
.blist a{display:block;font-size:var(--fs-secondary);word-break:break-all}
.pay{background:var(--surface-raised);border:1px solid var(--border-card);border-radius:var(--radius-field);padding:16px;margin:0 0 16px}
.pay p{font-weight:600}
.help{margin:16px 0}
.help summary{min-height:56px;display:flex;align-items:center;cursor:pointer;color:var(--text-action);font-weight:600}
.help ol{padding-inline-start:24px;margin:0}
.help li p{margin:8px 0}
.shot{display:block;width:100%;padding:0;border:1px solid var(--border-card);border-radius:var(--radius-field);background:none;cursor:zoom-in;overflow:hidden}
.shot img{display:block;width:100%;height:auto}
.zoom{position:fixed;inset:0;z-index:50;background:var(--surface-page);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px;overflow:auto}
.zoom img{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain}
/* Footer «העדפות מדידה ופרסום»: a plain button would fall back to the browser's 13px. */
.text-action{display:inline-flex;align-items:center;min-height:var(--hit-target);padding:12px 0;border:0;background:transparent;color:var(--text-action);font:inherit;font-size:var(--fs-secondary);text-decoration:underline;cursor:pointer}
/* Booking pages: the measurement notice sits at the end of the page instead of floating over the time slots. */
.meet-page .pashut-consent{position:static;width:auto;max-width:560px;max-height:none;margin:24px auto;padding:0 16px}
body.meet-page:has(.pashut-consent:not([hidden])){padding-bottom:0}
.form-notice{margin:14px 0 0;color:var(--text-muted);font-size:16px;line-height:1.5}
.form-notice a{color:var(--text-action);font-weight:600;display:inline-flex;align-items:center;min-height:56px}
.form-notice-links{display:flex;flex-wrap:wrap;column-gap:24px}

/* 390px review 27.10: 56px fields, 18px labels and meta, wide enough radios */
select,input:not([type=radio]):not([type=checkbox]),textarea{min-height:56px}
label,.meta,.tzrow,.locs legend,.day{font-size:18px}
.loc{min-width:56px;min-height:56px}
