/* ============================================
   Co si dám — pages for visitors: try without an account, city menus
   (builds on the tokens in style.css)
   ============================================ */

/* ---- Try form ---- */
.try-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-xl);
    padding: 1.5rem;
    box-shadow: var(--shadow);
}
.try-form { display: flex; flex-direction: column; gap: 1.35rem; }
.try-step { border: 0; padding: 0; margin: 0; min-width: 0; }
.try-step legend {
    float: none; width: auto; display: flex; align-items: center; gap: 0.6rem;
    font-size: 1.12rem; font-weight: 800; letter-spacing: -0.02em; margin-bottom: 0.75rem;
}
.try-num {
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
    width: 1.75rem; height: 1.75rem; border-radius: 50%;
    background: var(--lime); color: var(--lime-ink); font-size: 0.9rem; font-weight: 800;
}

.try-where { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.try-where .form-select { flex: 1 1 10rem; width: auto; }
.try-locate {
    font: inherit; font-weight: 600; font-size: 0.95rem;
    display: inline-flex; align-items: center; gap: 0.4rem;
    padding: 0.55rem 1rem; border-radius: 999px;
    border: 1px solid var(--line-strong); background: var(--surface); color: var(--ink);
    cursor: pointer; transition: background var(--t), border-color var(--t);
}
.try-locate:hover { border-color: var(--ink); }
.try-locate:focus-visible { box-shadow: var(--focus); outline: 0; }
.try-locate[aria-pressed="true"] { background: var(--lime-soft); border-color: var(--lime-deep); }
.try-radius { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin-top: 0.75rem; font-size: 0.9rem; color: var(--ink-2); }
.try-note { margin: 0.6rem 0 0; font-size: 0.88rem; color: var(--ink-3); }

.try-more { margin-top: 0.9rem; }
.try-more summary { cursor: pointer; font-size: 0.92rem; font-weight: 600; color: var(--ink-2); }
.try-more summary:hover { color: var(--ink); }
.try-sub { display: block; font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-3); margin: 1rem 0 0.45rem; }
.check-chips.is-no .check-chip input:checked + span { background: transparent; color: var(--ink); border-color: var(--red); text-decoration: line-through; text-decoration-color: var(--red); text-decoration-thickness: 2px; }

.try-submit { align-self: flex-start; font-weight: 700; }
.try-privacy { margin: -0.6rem 0 0; font-size: 0.8rem; color: var(--ink-3); }

.try-form.is-compact { gap: 1.1rem; }
.try-form.is-compact .check-chip span { font-size: 0.88rem; padding: 0.3rem 0.8rem; }
.try-form.is-compact .try-submit { width: 100%; }

/* On the landing page the form takes the place of the old demo. */
.lp-try { padding: 1.4rem; scroll-margin-top: 1rem; }
.lp-try-head { font-size: 1.35rem; font-weight: 800; letter-spacing: -0.03em; margin: 0 0 1.1rem; }
.lp-try-head span { display: block; font-size: 0.92rem; font-weight: 500; letter-spacing: 0; color: var(--ink-3); margin-top: 0.15rem; }
.lp-hint a { color: inherit; }

/* ---- Try page + results ---- */
.try-page { max-width: 640px; margin: 0 auto; padding: 1.5rem 0 2rem; }
.try-kicker { font-size: 0.92rem; color: var(--ink-3); margin: 0 0 0.4rem; }
.try-kicker a { color: var(--ink-2); }
.try-title { font-weight: 800; font-size: clamp(2rem, 6vw, 2.8rem); line-height: 1.05; letter-spacing: -0.045em; margin: 0 0 0.75rem; }
.try-lead { font-size: 1.08rem; color: var(--ink-2); line-height: 1.55; margin-bottom: 1.5rem; }

.try-picks { list-style: none; padding: 0; margin: 1.25rem 0 0.75rem; display: flex; flex-direction: column; gap: 0.6rem; counter-reset: pick; }
.try-pick {
    counter-increment: pick; position: relative;
    background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg);
    padding: 1rem 1.15rem 1rem 3.4rem;
}
.try-pick::before {
    content: counter(pick); position: absolute; left: 1.05rem; top: 1.05rem;
    width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--surface-2); color: var(--ink-2);
    display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 800;
}
.try-pick.is-top { background: var(--lime); border-color: var(--lime); color: var(--lime-ink); padding-top: 1.25rem; padding-bottom: 1.25rem; }
.try-pick.is-top::before { background: var(--lime-ink); color: var(--lime); top: 1.3rem; }
.try-pick-head { display: flex; align-items: baseline; gap: 0.75rem; }
.try-pick-name { font-weight: 700; font-size: 1.05rem; line-height: 1.3; letter-spacing: -0.01em; }
.is-top .try-pick-name { font-weight: 800; font-size: 1.3rem; letter-spacing: -0.025em; }
.try-pick-score { margin-left: auto; font-weight: 800; font-size: 0.85rem; white-space: nowrap; color: var(--ink-3); }
.is-top .try-pick-score { background: var(--lime-ink); color: var(--lime); border-radius: 999px; padding: 0.15rem 0.6rem; }
.try-pick-meta { margin-top: 0.25rem; font-size: 0.93rem; color: var(--ink-2); }
.is-top .try-pick-meta { color: var(--lime-ink); }
.try-tags { list-style: none; padding: 0; margin: 0.55rem 0 0; display: flex; flex-wrap: wrap; gap: 0.3rem; }
.try-tags li { font-size: 0.8rem; font-weight: 600; padding: 0.12rem 0.55rem; border-radius: 999px; background: var(--surface-2); color: var(--ink-2); }
.is-top .try-tags li { background: rgba(20, 20, 20, 0.08); color: var(--lime-ink); }

.try-excluded { font-size: 0.9rem; color: var(--ink-3); margin: 0.25rem 0 0.4rem; }
.try-excluded s { text-decoration-color: var(--red); text-decoration-thickness: 2px; }
.try-how { font-size: 0.85rem; color: var(--ink-3); margin: 0; }

.try-save {
    margin-top: 2rem; padding: 1.5rem; border-radius: var(--r-xl);
    background: var(--ink); color: var(--bg);
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 1.5rem;
}
.try-save h2 { color: var(--bg); font-size: 1.35rem; font-weight: 800; letter-spacing: -0.03em; margin: 0 0 0.3rem; }
.try-save p { margin: 0; color: var(--bg); opacity: 0.75; font-size: 0.95rem; max-width: 26rem; }
.try-save-btn, .try-save-btn:hover, .try-save-btn:focus { background: var(--lime); border-color: var(--lime); color: var(--lime-ink); font-weight: 700; }
.try-save-btn:hover { background: var(--lime-hover); border-color: var(--lime-hover); }
.try-city-link { margin-top: 1.25rem; font-weight: 600; }

/* ---- City pages ---- */
.city-page { max-width: 820px; margin: 0 auto; padding: 1.25rem 0 2rem; }
.city-head { margin-bottom: 1.25rem; }
.city-title { font-weight: 800; font-size: clamp(2.2rem, 6.5vw, 3.4rem); line-height: 1.02; letter-spacing: -0.05em; margin: 0 0 0.6rem; }
.city-lead { font-size: 1.08rem; color: var(--ink-2); margin-bottom: 1rem; }
.city-head .day-tabs { margin-bottom: 0; }

.city-cta {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1rem;
    padding: 1rem 1.15rem; margin-bottom: 1.25rem;
    background: var(--lime-soft); border: 1px solid var(--lime); border-radius: var(--r-lg);
}
.city-cta b { display: block; font-weight: 800; }
.city-cta span { color: var(--ink-2); font-size: 0.93rem; }

.city-jump { display: flex; gap: 0.4rem; overflow-x: auto; padding-bottom: 0.4rem; margin-bottom: 0.75rem; scrollbar-width: thin; }
.city-jump a {
    flex-shrink: 0; font-size: 0.88rem; font-weight: 600; text-decoration: none; white-space: nowrap;
    padding: 0.3rem 0.8rem; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); color: var(--ink-2);
}
.city-jump a:hover { border-color: var(--ink); color: var(--ink); }
.city-page .menu-restaurant-card { scroll-margin-top: 1rem; }
.city-r-name { font-size: 1.15rem; font-weight: 700; margin: 0; }
.city-missing { color: var(--ink-3); font-size: 0.92rem; margin-top: 1rem; }
.city-missing a { color: inherit; }
.city-others { margin-top: 1.5rem; color: var(--ink-3); font-size: 0.92rem; }

@media (max-width: 640px) {
    .try-card { padding: 1.1rem; border-radius: var(--r-lg); }
    .try-submit { width: 100%; }
    .try-pick { padding-left: 3rem; }
    .try-pick::before { left: 0.85rem; }
    .try-save { padding: 1.25rem; }
    .try-save-btn { width: 100%; }
}

/* Landing hero without the try form (switched off in admin). */
.lp-hero.is-single { grid-template-columns: minmax(0, 1fr); }
.lp-hero.is-single .lp-lead { max-width: 38rem; }
