/* PizzaTÁR kereső – a fejléc keresősávja, a javaslatlista és a /kereses/ találati oldal */

/* Keresősáv: ami Elementorban nem állítható (placeholder, fókusz, natív legördülő). */
form.pz-search { position: relative; flex-wrap: nowrap; }
form.pz-search input::placeholder { color: var(--pz-mute, #6a6a6a); opacity: 1; }
form.pz-search:focus-within { border-color: #222; }
form.pz-search select { -webkit-appearance: none; appearance: none; }
form.pz-search select:focus-visible,
form.pz-search button:focus-visible { outline: 2px solid var(--pz-ink, #222); outline-offset: 2px; }
form.pz-search .pzs-legacy-input {
  flex: 1 1 0; min-width: 0; height: 36px; padding: 0; border: 0; background: transparent;
  font: inherit; font-size: 15px; color: var(--pz-ink, #222); outline: none;
}

/* Bejelentkezve a ragadós fejléc ne csússzon a WordPress adminsáv alá. */
.admin-bar .elementor .pz-header { inset-block-start: 32px; }
@media (max-width: 782px) { .admin-bar .elementor .pz-header { inset-block-start: 46px; } }

/* Főoldali gyors tésztaszámító */
.pz-calc-cell:focus-within { box-shadow: inset 0 0 0 2px var(--pz-red, #e3262f); }
form.pz-calc-form select { -webkit-appearance: none; appearance: none; cursor: pointer; }

/* Fejléc menü: a ☰ + avatar gomb nyitja (a megjelenés Elementor-osztályokban van) */
.elementor .pz-menu.is-open { display: flex; flex-direction: column; }
.pz-user:focus-visible { outline: 2px solid var(--pz-ink, #222); outline-offset: 2px; }
.pz-user[aria-expanded="true"] { box-shadow: 0 2px 10px rgba(0, 0, 0, .12); }
.pz-ghost, .pz-menu-a, .pz-menu-cta { position: relative; }
.pz-ghost > a::after, .pz-menu-a > a::after, .pz-menu-cta > a::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
}
.elementor .pz-menu a:focus-visible, .elementor .pz-ghost > a:focus-visible { outline: none; }
.pz-menu-a:focus-within, .pz-ghost:focus-within { box-shadow: inset 0 0 0 2px var(--pz-ink, #222); }
.pz-menu-cta:focus-within { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--pz-ink, #222); }
.pz-menu-a.is-current { background: var(--pz-tint, #fdf0ee); color: var(--pz-red, #e3262f); font-weight: 700; }
@media (max-width: 767px) {
  .elementor .pz-menu .pz-menu-cta { order: -1; margin: 0 0 6px; }
}
@media (min-width: 440px) and (max-width: 767px) {
  .elementor .pz-menu .pz-menu-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: no-preference) {
  .elementor .pz-menu.is-open { animation: pz-menu-in .14s ease-out; }
  @keyframes pz-menu-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
}

/* Képforrások (CC-licencű fotók szerzői) */
.pz-credits a { color: inherit; text-decoration: underline; text-decoration-color: rgba(0, 0, 0, .25); text-underline-offset: 2px; }
.pz-credits a:hover { color: var(--pz-ink, #222); text-decoration-color: currentColor; }

/* Beküldő űrlap (Hely beküldése) */
form.pz-sub-form select { -webkit-appearance: none; appearance: none; }
form.pz-sub-form select.is-empty { color: var(--pz-mute, #6a6a6a); }
form.pz-sub-form input::placeholder, form.pz-sub-form textarea::placeholder { color: #8c8c8c; opacity: 1; }
form.pz-sub-form textarea { resize: vertical; }
form.pz-sub-form button[type="submit"]:disabled { opacity: .6; cursor: progress; }
.elementor form.pz-sub-form input[type="checkbox"] {
  flex: none; width: 22px; height: 22px; margin: 0; border: 1.5px solid #b5b5b5; border-radius: 6px; cursor: pointer;
}
.elementor form.pz-sub-form input[type="checkbox"]:checked { background: var(--pz-red, #e3262f); border-color: var(--pz-red, #e3262f); }
.elementor form.pz-sub-form input[type="checkbox"]:focus-visible { outline: 2px solid var(--pz-ink, #222); outline-offset: 2px; }
form.pz-sub-form .pz-check-label { cursor: pointer; }
.pz-sub-list ul, .pz-sub-list ol { margin: 0 0 10px; padding-left: 1.3em; }
.pz-sub-list li { margin: 5px 0; padding-left: 2px; }
.pz-sub-list li::marker { color: var(--pz-red, #e3262f); font-weight: 700; }

/* Javaslatlista */
.pzs-pop {
  position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 1000;
  margin: 0; padding: 6px; max-height: min(72vh, 620px); overflow-y: auto; overscroll-behavior: contain;
  background: #fff; border: 1px solid var(--pz-line, #ebebeb); border-radius: 18px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .16);
  font-size: 15px; line-height: 1.35; text-align: left; color: var(--pz-ink, #222);
}
.pzs-pop[hidden] { display: none; }
.pzs-opt {
  display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; align-items: center;
  padding: 8px 10px; border-radius: 12px; color: inherit; text-decoration: none;
}
.pzs-opt:hover, .pzs-opt[aria-selected="true"] { background: var(--pz-soft, #f7f7f7); }
.pzs-ic { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; flex: none; }
.pzs-ic img { display: block; width: 20px; height: 20px; }
.pzs-tx { display: block; min-width: 0; }
.pzs-k {
  display: block; margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
  color: var(--pz-red, #e3262f); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pzs-t { display: block; margin: 0; font-weight: 600; color: var(--pz-ink, #222); }
.pzs-t mark { background: none; color: inherit; font-weight: 800; box-shadow: inset 0 -.38em 0 rgba(227, 38, 47, .16); }
.pzs-d {
  display: block; margin: 0; font-size: 13px; color: var(--pz-mute, #6a6a6a);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pzs-all {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  margin: 6px 4px 2px; padding: 12px 10px 8px; border-top: 1px solid var(--pz-line, #ebebeb);
  font-size: 14px; font-weight: 700; color: var(--pz-red, #e3262f); text-decoration: none;
}
.pzs-all:hover { text-decoration: underline; }
.pzs-note { padding: 14px 12px; font-size: 14px; color: var(--pz-mute, #6a6a6a); }
.pzs-note strong { color: var(--pz-ink, #222); }
.pzs-link {
  -webkit-appearance: none; appearance: none; border: 0; background: none; padding: 0; cursor: pointer;
  font: inherit; font-weight: 700; color: var(--pz-red, #e3262f); text-decoration: underline;
}

/* Találati oldal */
.pzs-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pzs-chips-l { margin-right: 4px; font-size: 14px; color: var(--pz-mute, #6a6a6a); }
.pzs-chip {
  -webkit-appearance: none; appearance: none; display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px; border: 1px solid var(--pz-line, #ebebeb); border-radius: 999px; background: #fff;
  font: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; color: var(--pz-ink, #222);
  text-decoration: none; cursor: pointer;
}
.pzs-chip:hover { border-color: #bbb; }
.pzs-chip span { font-weight: 500; color: var(--pz-mute, #6a6a6a); }
.pzs-chip[aria-pressed="true"] { background: var(--pz-ink, #222); border-color: var(--pz-ink, #222); color: #fff; }
.pzs-chip[aria-pressed="true"] span { color: rgba(255, 255, 255, .75); }
.pzs-chip:focus-visible, .pzs-more:focus-visible, .pzs-link:focus-visible { outline: 2px solid var(--pz-ink, #222); outline-offset: 2px; }

.pzs-row {
  position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; align-items: start;
  padding: 18px 0; border-bottom: 1px solid var(--pz-line, #ebebeb);
}
.pzs-row .pzs-ic-lg { width: 56px; height: 56px; border-radius: 14px; }
.pzs-row .pzs-ic-lg img { width: 26px; height: 26px; }
.pzs-row .pzs-k { margin-top: 2px; }
.pzs-row .pzs-t {
  margin: 3px 0 4px; font-family: inherit; font-size: 18px; font-weight: 700; letter-spacing: -.01em; line-height: 1.3;
}
.pzs-row .pzs-t a { color: inherit; text-decoration: none; }
.pzs-row .pzs-t a::after { content: ""; position: absolute; inset: 0; }
.pzs-row .pzs-t a:focus-visible { outline: none; }
.pzs-row:hover .pzs-t a { color: var(--pz-red, #e3262f); }
.pzs-row:focus-within { outline: 2px solid var(--pz-ink, #222); outline-offset: 4px; border-radius: 6px; }
.pzs-row .pzs-d { white-space: normal; font-size: 14px; line-height: 1.5; }
.pzs-a { display: block; margin: 4px 0 0; font-size: 13px; color: var(--pz-mute, #6a6a6a); }
.pzs-more {
  -webkit-appearance: none; appearance: none; display: block; margin: 24px auto 0; padding: 12px 22px;
  border: 1px solid var(--pz-ink, #222); border-radius: 999px; background: #fff; cursor: pointer;
  font: inherit; font-size: 15px; font-weight: 700; color: var(--pz-ink, #222);
}
.pzs-more:hover { background: var(--pz-ink, #222); color: #fff; }
.pzs-empty { padding: 24px 0; font-size: 16px; line-height: 1.6; color: var(--pz-mute, #6a6a6a); }
.pzs-empty p { margin: 0 0 8px; }
.pzs-empty strong { color: var(--pz-ink, #222); }
.pzs-empty a { font-weight: 600; color: var(--pz-red, #e3262f); }

@media (max-width: 767px) {
  .pzs-pop { max-height: 65vh; border-radius: 16px; }
  .pzs-row { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 14px 0; }
  .pzs-row .pzs-ic-lg { width: 44px; height: 44px; border-radius: 12px; }
  .pzs-row .pzs-ic-lg img { width: 22px; height: 22px; }
  .pzs-row .pzs-t { font-size: 16px; }
}
@media (prefers-reduced-motion: no-preference) {
  .pzs-opt, .pzs-chip, .pzs-more { transition: background-color .12s, border-color .12s, color .12s; }
}
