/* Üzlet- és ajánlatoldal (STORE_COMMUNITY_PWA_SYSTEM §9, §14–15, §18). Szakaszok elválasztóval, nem dobozban;
   keret csak a térképen és a tartalmilag önálló elemeken (galériakép, bolti válasz idézete). */

.uzlet { padding: 20px 0 64px; }
.shell--keskeny { width: min(820px, calc(100% - 2 * var(--gutter))); margin-inline: auto; }

.uzlet-fej { display: grid; gap: 20px; margin: 12px 0 8px; padding: 0 0 24px; }
.uzlet-fej { grid-template-columns: auto minmax(0, 1fr); align-items: start; }

.uzlet-fej__logo { width: 96px; height: 96px; border-radius: var(--radius-md); object-fit: contain; background: var(--td-hatter, var(--aq-paper)); }
.uzlet-fej__logo--jel { display: grid; place-items: center; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.uzlet-fej__logo--jel .ikon { width: 44px; height: 44px; }
.uzlet-fej__adatok { display: grid; gap: 10px; min-width: 0; }
.uzlet-fej__cimkek { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.uzlet-cimke { display: inline-flex; align-items: center; gap: 4px; padding: 2px 10px; border-radius: 999px; font-size: .8rem; font-weight: 800; }
.uzlet-cimke .ikon { width: 14px; height: 14px; }
.uzlet-cimke--ellenorzott { background: var(--td-siker-halvany, #DDEFD9); color: var(--td-siker-szoveg, #1F5A2E); }
.uzlet-cimke--allapot { background: var(--td-hiba-halvany, #F4E4DF); color: var(--td-hiba-szoveg, #7E2A18); }
.uzlet-cimke--fokat { background: var(--td-teal-halvany, #E2F0EE); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.uzlet-fej__nev { font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.6rem); overflow-wrap: anywhere; }
.uzlet-fej__cim, .uzlet-fej__ertekeles { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
.uzlet-fej__cim .ikon { width: 20px; height: 20px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.uzlet-fej__megj { flex-basis: 100%; color: var(--td-halk, var(--aq-muted)); font-size: .8125rem; }
.uzlet-fej__rovid { margin: 0; color: var(--td-halk, var(--aq-muted)); }
.uzlet-fej__gombok { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; max-width: 640px; }
.uzlet-fej__gombok .gomb { justify-content: center; }
.uzlet-fej__kapcsolat { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; }
.uzlet-fej__kapcsolat a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 700; }
.uzlet-fej__kapcsolat .ikon { width: 18px; height: 18px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.uzlet-fej__gombok .gomb[aria-pressed="true"] { background: var(--aq-plant); border-color: var(--aq-plant); color: #fff; }
.uzlet-fej__ceg { margin: 0; }
@media (max-width: 599px) {
  .uzlet-fej { grid-template-columns: 64px minmax(0, 1fr); gap: 14px; padding: 0 0 18px; }
  .uzlet-fej__logo { width: 64px; height: 64px; }
  .uzlet-fej__adatok { display: contents; }
  .uzlet-fej__cimkek { grid-column: 2; align-self: center; }
  .uzlet-fej__adatok > :not(.uzlet-fej__cimkek) { grid-column: 1 / -1; }
}.uzlet-terkep { height: 240px; border-radius: var(--radius-md); overflow: hidden; background: var(--td-felulet-2, var(--aq-surface)); }
.uzlet-terkep__tartalek { display: flex; align-items: center; justify-content: center; gap: 8px; height: 100%; min-height: 220px; margin: 0; padding: 16px; color: var(--td-halk, var(--aq-muted)); text-align: center; }
.uzlet-figyelem { display: flex; gap: 10px; padding: 14px 18px; border-radius: var(--radius-sm); background: var(--td-hiba-halvany, #F4E4DF); color: var(--td-hiba-szoveg, #7E2A18); font-weight: 700; }

.csillagok { display: inline-flex; font-size: 1.15rem; letter-spacing: 1px; }
.csillagok__teli { color: var(--td-figyelem-szoveg, #E0A21B); }
.csillagok__fel { background: linear-gradient(90deg, #E0A21B 50%, var(--td-felulet-3, #C9D2CB) 50%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.csillagok__ures { color: #C9D2CB; }

/* Mobilon egy oszlop a kért sorrendben (ajánlatok → nyitvatartás → térkép → bemutatkozás → értékelések);
   desktopon a fő tartalom és az oldalsáv két oszlop. */
.uzlet-racs { display: flex; flex-direction: column; gap: 16px; }
.uzlet-racs .uzlet-szakasz { margin: 0; }
@media (max-width: 999px) {
  .uzlet-racs > .uzlet-fo, .uzlet-racs > .uzlet-oldalsav { display: contents; }
  .uzlet-szakasz--akciok { order: 1; }
  .uzlet-doboz--nyitva { order: 2; }
  .uzlet-doboz--terkep { order: 3; }
  .uzlet-szakasz--rolunk { order: 4; }
  .uzlet-szakasz--galeria { order: 5; }
  .uzlet-szakasz--ertekelesek { order: 6; }
  .uzlet-doboz--vegen { order: 7; }
}
@media (min-width: 1000px) {
  .uzlet-racs { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 24px; }
  .uzlet-fo { display: grid; gap: 24px; }
}
.uzlet-szakasz { margin: 0 0 28px; padding: 20px 0 0; border-top: 1px solid var(--td-keret, var(--aq-line)); }
.uzlet-szakasz__cim { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; font-size: 1.4rem; }
.uzlet-szakasz__cim .ikon { width: 24px; height: 24px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.uzlet-szakasz__db { color: var(--td-halk, var(--aq-muted)); font-size: 1rem; font-weight: 700; }
.uzlet-osszes { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 12px 0; border-bottom: 1px solid var(--td-keret, var(--aq-line)); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); text-decoration: none; }
.uzlet-osszes span { flex: 1; min-width: 0; }
.uzlet-osszes .ikon { flex: none; width: 20px; height: 20px; }
.uzlet-osszes:hover strong { text-decoration: underline; }
.uzlet-alcim { margin: 18px 0 8px; font-size: 1.02rem; }
.uzlet-leiras p { max-width: 70ch; }
.uzlet-chipek { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.uzlet-chipek li { padding: 4px 12px; border-radius: 999px; background: var(--td-felulet-2, var(--aq-surface)); font-weight: 700; font-size: .9rem; }
.uzlet-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.uzlet-galeria img { width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; border-radius: var(--radius-sm); }

.uzlet-oldalsav { display: grid; gap: 16px; }
@media (min-width: 1000px) { .uzlet-oldalsav { position: sticky; top: calc(var(--fejlec-magassag) + 16px); } }
.uzlet-doboz { padding: 16px 0 0; border-top: 1px solid var(--td-keret, var(--aq-line)); }
.uzlet-doboz__cim { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 1.15rem; }
.uzlet-doboz__cim .ikon { width: 22px; height: 22px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.nyitvatartas { width: 100%; border-collapse: collapse; font-size: .95rem; }
.nyitvatartas th, .nyitvatartas td { padding: 7px 4px; border-bottom: 1px solid var(--td-keret, var(--aq-line)); text-align: left; }
.nyitvatartas th { font-weight: 700; }
.nyitvatartas__ma { background: var(--td-felulet-2, #EAF2E8); font-weight: 800; }
.nyitvatartas-kivetelek { margin: 0; padding-left: 1.1em; font-size: .92rem; display: grid; gap: 6px; }

.ertekeles-osszesito { display: grid; gap: 18px; margin-bottom: 18px; }
@media (min-width: 620px) { .ertekeles-osszesito { grid-template-columns: 180px 1fr; align-items: center; } }
.ertekeles-osszesito__atlag { display: grid; justify-items: center; gap: 4px; text-align: center; }
.ertekeles-osszesito__atlag strong { font-size: 2.8rem; line-height: 1; }
.ertekeles-osszesito__atlag span:last-child { color: var(--td-halk, var(--aq-muted)); font-size: .875rem; }
.ertekeles-osszesito__savok { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.ertekeles-osszesito__savok li { display: grid; grid-template-columns: 38px 1fr 34px; align-items: center; gap: 8px; font-size: .875rem; }
.sav { height: 10px; border-radius: 999px; background: var(--td-felulet-2, var(--aq-surface)); overflow: hidden; }
.sav span { display: block; height: 100%; width: var(--arany, 0%); background: #E0A21B; }
.ertekeles-iras { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 18px; }
.ertekeles-iras__sajat { margin: 0; font-weight: 700; }
.ertekeles-rendezes { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: .9rem; color: var(--td-halk, var(--aq-muted)); }
.ertekeles-rendezes a[aria-current="true"] { color: var(--td-szoveg, var(--aq-text)); font-weight: 800; }
.ertekeles-lista { margin: 0; padding: 0; list-style: none; display: grid; border-top: 1px solid var(--td-keret, var(--aq-line)); }
.ertekeles { padding: 16px 0; border-bottom: 1px solid var(--td-keret, var(--aq-line)); scroll-margin-top: calc(var(--fejlec-magassag) + 20px); }
.ertekeles:target { outline: 3px solid var(--aq-accent); outline-offset: 4px; }
.ertekeles__fej { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ertekeles__fej > span:nth-child(2) { display: grid; }
.ertekeles__avatar { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--td-felulet-2, var(--aq-surface)); font-weight: 800; overflow: hidden; }
.ertekeles__avatar img { width: 100%; height: 100%; object-fit: cover; }
.ertekeles__datum { color: var(--td-halk, var(--aq-muted)); font-size: .8rem; }
.ertekeles__csillag { margin-left: auto; }
.ertekeles__szoveg { margin: 10px 0 0; overflow-wrap: anywhere; }
.ertekeles__valasz { margin: 12px 0 0 12px; padding: 12px 14px; border-left: 4px solid var(--aq-plant); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--td-felulet-2, #EAF2E8); }
.ertekeles__valasz p { margin: 0; }
.ertekeles__valasz .ertekeles__valasz-cim { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; font-weight: 800; }
.ertekeles__valasz-cim span { color: var(--td-halk, var(--aq-muted)); font-weight: 600; font-size: .8rem; }
.ertekeles__valasz-cim .ikon { width: 18px; height: 18px; }
.ertekeles__lab { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; color: var(--td-halk, var(--aq-muted)); font-size: .875rem; }

.akcio-oldal { padding: 20px 0 64px; display: grid; gap: 18px; }
.akv-ajanlat--reszletes { gap: 12px; padding: 0 0 20px; }
.fiok-uzenet { padding: 48px 0 80px; }
.fiok-uzenet__kartya { display: grid; justify-items: center; gap: 12px; padding: 32px 24px; border-radius: var(--radius-lg); background: var(--td-felulet, #fff); box-shadow: var(--shadow-soft); text-align: center; }
.fiok-uzenet__kartya h1 { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); }
.fiok-uzenet__ikon { width: 48px; height: 48px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.fiok-uzenet__kartya--hiba .fiok-uzenet__ikon { color: var(--td-hiba-szoveg, #A33B28); }
.fiok-uzenet__kartya--siker .fiok-uzenet__ikon { color: var(--aq-plant); }
.fiok-uzenet__urlap { width: min(420px, 100%); text-align: left; }

/* ---------- Üzletadatlap a projektgazdai minta szerint (STORE §47.28, 2026-10-01): fejléckép, fejléckártya, fülsor, kártyák ---------- */
.uzl { padding-top: 12px; }
.uzl .morzsa ol { display: flex; flex-wrap: wrap; margin: 0 0 14px; padding: 0; list-style: none; font-size: .9rem; color: var(--td-halk, var(--aq-muted)); }
.uzl .morzsa li + li::before { content: "›"; margin: 0 10px; color: #A9B5AE; }
.uzl .morzsa a { color: inherit; text-underline-offset: .2em; }
.uzl-fej { position: relative; margin: 0 0 6px; scroll-margin-top: calc(var(--fejlec-magassag, 72px) + 12px); }
.uzl-fej__kep { overflow: hidden; height: clamp(150px, 16vw, 240px); border-radius: 18px 18px 0 0; background: #1E4A43; }
.uzl-fej__kep img { display: block; width: 100%; height: 100%; object-fit: cover; }
.uzl-fej__kartya { position: relative; display: grid; grid-template-columns: 136px minmax(0, 1fr) auto; gap: 8px 22px; align-items: center; margin: 0 14px; padding: 18px 22px 18px 18px;
  border: 1px solid var(--td-keret, var(--aq-line)); border-top: 0; border-radius: 0 0 18px 18px; background: var(--td-felulet, #fff); box-shadow: 0 10px 28px rgba(13, 26, 23, .07); }
.uzl-fej__logo { align-self: start; width: 120px; height: 120px; margin-top: -58px; padding: 10px; border-radius: 18px; background: var(--td-felulet, #fff); box-shadow: 0 6px 18px rgba(13, 26, 23, .14); object-fit: contain; }
.uzl-fej__logo--jel { display: grid; place-items: center; color: var(--td-info-szoveg, #2F6FB3); }
.uzl-fej__logo--jel .logo__jel { width: 86px; height: auto; color: var(--td-info-szoveg, #2F6FB3); }
.uzl-fej__adatok { display: grid; gap: 6px; min-width: 0; }
.uzl-fej__nev { margin: 0; font-size: clamp(1.6rem, 1.1rem + 1.4vw, 2.3rem); line-height: 1.1; letter-spacing: -.01em; overflow-wrap: anywhere; }
.uzl-fej__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; color: var(--td-halk, var(--aq-muted)); font-size: .98rem; }
.uzl-fej__meta > span { display: inline-flex; align-items: center; gap: 5px; }
.uzl-fej__meta .ikon { width: 16px; height: 16px; }
.uzl-fej__pont { color: #A9B5AE; }
.uzl-jel { padding: 2px 10px; border-radius: 999px; font-size: .8rem; font-weight: 800; }
.uzl-jel .ikon { width: 14px; height: 14px; }
.uzl-jel--ok { background: var(--td-siker-halvany, #DDEFD9); color: var(--td-siker-szoveg, #1F5A2E); }
.uzl-jel--figyel { background: var(--td-hiba-halvany, #F4E4DF); color: var(--td-hiba-szoveg, #7E2A18); }
.uzl-fej__meta .nyitva-jel { font-size: .8rem; }
/* A hosszú állapotszöveg (pl. rendkívüli nyitás) több sorba törhet: lekerekített doboz, belső margóval, a jel a szöveggel együtt folyik. */
.uzl .nyitva-jel { display: inline-block; max-width: 100%; padding: 3px 10px; border-radius: 10px; line-height: 1.4; }
.uzl .uzl-kartya__fej .nyitva-jel { display: block; width: 100%; padding: 8px 14px; border-radius: 12px; }
.uzl-fej__ertekeles { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; }
.uzl-fej__ertekeles strong { font-size: 1.05rem; }
.uzl-fej__ertekeles a { color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 700; text-underline-offset: 3px; }
.uzl-fej__gombok { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.uzl-gomb { min-height: 46px; padding: 0 18px; border: 1px solid var(--td-keret, var(--aq-line)); border-radius: 12px; background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-text)); font-weight: 700; }
.uzl-gomb .ikon { width: 19px; height: 19px; }
.uzl-gomb:hover { border-color: var(--aq-accent); background: var(--td-felulet-2, #F4FAF8); color: var(--td-szoveg, var(--aq-text)); }
.uzl-gomb[aria-pressed="true"] { border-color: var(--aq-accent-sotet); background: var(--td-teal-halvany, #E3F1EE); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
/* Bekapcsolt állapot az ikonon is látszik: követve telt harang, kedvencnél telt piros szív (web: .uzl-gomb, PWA: .au-muvelet). */
.uzl-gomb[data-kovet][aria-pressed="true"] .ikon { color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); fill: currentColor; }
.uzl-gomb[data-kedvenc][aria-pressed="true"] .ikon, .au-muvelet[data-kedvenc][aria-pressed="true"] .ikon { color: var(--td-hiba-szoveg, #B43C2A); fill: currentColor; }
.uzl-gomb--akcent { border: 1.5px solid var(--aq-accent-sotet); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.uzl-fulek { display: flex; gap: 6px; margin: 0 0 18px; padding: 0 14px; border-bottom: 1px solid var(--td-keret, var(--aq-line)); overflow-x: auto; scrollbar-width: none; }
.uzl-fulek::-webkit-scrollbar { display: none; }
.uzl-fulek a { display: inline-flex; align-items: center; gap: 8px; min-height: 52px; padding: 0 16px; border-bottom: 3px solid transparent; color: var(--td-halk, var(--aq-muted)); font-weight: 700; text-decoration: none; white-space: nowrap; }
.uzl-fulek a .ikon { width: 20px; height: 20px; }
.uzl-fulek a:hover { color: var(--td-szoveg, var(--aq-text)); }
.uzl-fulek a[aria-current="true"], .uzl-fulek a[aria-current="page"] { border-bottom-color: var(--aq-accent-sotet); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.uzl-racs { display: grid; gap: 18px; align-items: start; }
.uzl-fo, .uzl-oldal { display: grid; gap: 18px; min-width: 0; }
@media (min-width: 1000px) {
  .uzl-racs { grid-template-columns: minmax(0, 1fr) 330px; gap: 22px; }
}
.uzl-kartya { display: grid; gap: 14px; min-width: 0; padding: 20px 22px; border: 1px solid var(--td-keret, var(--aq-line)); border-radius: 16px; background: var(--td-felulet, #fff); scroll-margin-top: calc(var(--fejlec-magassag, 72px) + 16px); }
.uzl-kartya h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; font-size: 1.35rem; font-weight: 800; }
.uzl-kartya--oldal h2 { font-size: 1.2rem; }
.uzl-kartya__fej { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; }
.uzl-kartya--menta { border-color: var(--td-keret, #D7ECE6); background: var(--td-felulet-2, #EEF6F3); }
.uzl-kartya--menta p { margin: 0; color: var(--td-halk, var(--aq-muted)); }
.uzl-db { padding: 3px 11px; border-radius: 999px; background: var(--td-teal-halvany, #E3F1EE); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-size: .82rem; font-weight: 700; }
.uzl-link { padding: 0; border: 0; background: none; color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.uzl-link--nyil { display: inline-flex; align-items: center; gap: 6px; justify-self: start; min-height: 40px; text-decoration: none; }
.uzl-link--nyil .ikon { width: 16px; height: 16px; }
/* Akciókártyák */
.uzl-akciok { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.uzl-akcio { display: grid; grid-template-rows: 1fr auto; gap: 10px; min-width: 0; overflow: hidden; padding-bottom: 14px; border: 1px solid var(--td-keret, var(--aq-line)); border-radius: 14px; }
.uzl-akcio__link { display: grid; align-content: start; gap: 4px; color: inherit; text-decoration: none; }
.uzl-akcio__link:hover .uzl-akcio__cim { text-decoration: underline; text-underline-offset: 3px; }
.uzl-akcio__link:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: -3px; border-radius: 14px; }
.uzl-akcio__kep { position: relative; display: grid; place-items: center; overflow: hidden; aspect-ratio: 16 / 8.5; margin-bottom: 8px; background: var(--td-teal-halvany, #E2F0EE); }
.uzl-akcio__kep img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.uzl-akcio__kep--jel { background: radial-gradient(120% 140% at 50% 120%, var(--td-teal-halvany, #CFE7E0) 0%, var(--td-teal-halvany, #E6F2EE) 55%, var(--td-felulet-2, #EEF6F3) 100%); }
.uzl-akcio__kep--jel .logo__jel { width: auto; height: 58%; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); opacity: .85; }
.uzl-akcio__jelveny { position: absolute; left: 12px; bottom: 10px; max-width: calc(100% - 24px); overflow: hidden; padding: 4px 12px; border-radius: 999px; background: #B4581A; color: #fff;
  font-size: .95rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; box-shadow: 0 2px 8px rgba(13, 26, 23, .2); }
.uzl-akcio__jelveny--kupon { background: var(--aq-accent-sotetebb); }
.uzl-akcio__cim { padding: 0 14px; font-size: 1.05rem; font-weight: 800; line-height: 1.3; }
.uzl-akcio__leiras { display: -webkit-box; padding: 0 14px; overflow: hidden; color: var(--td-halk, var(--aq-muted)); font-size: .92rem; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.uzl-akcio__gomb { justify-content: center; min-height: 42px; margin: 0 14px; border: 1.5px solid var(--aq-accent-sotet); border-radius: 12px; background: var(--td-felulet, #fff); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 700; }
.uzl-akcio__gomb:hover { background: var(--td-felulet-2, #EEF7F4); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
/* Az üzletről */
.uzl-leiras p { max-width: 72ch; margin: 0 0 .6em; color: var(--td-szoveg, var(--aq-text)); line-height: 1.6; }
.uzl-leiras p:last-child { margin-bottom: 0; }
.uzl-leiras h3, .uzl-leiras h4 { max-width: 72ch; margin: .9em 0 .35em; color: var(--td-szoveg, var(--aq-text)); font-size: 1.05rem; font-weight: 800; line-height: 1.3; }
.uzl-leiras h4 { font-size: .98rem; }
.uzl-leiras h3:first-child, .uzl-leiras h4:first-child { margin-top: 0; }
.uzl-leiras ul, .uzl-leiras ol { max-width: 72ch; margin: 0 0 .6em; padding-left: 1.3em; color: var(--td-szoveg, var(--aq-text)); line-height: 1.55; }
.uzl-leiras li { margin: .15em 0; }
.uzl-leiras u { text-underline-offset: 2px; }
.uzl-kinalat { display: grid; gap: 14px 24px; }
@media (min-width: 760px) {
  .uzl-kinalat { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .uzl-kinalat__csoport + .uzl-kinalat__csoport:not(.uzl-kinalat__csoport--egyeb) { padding-left: 24px; border-left: 1px solid var(--td-keret, var(--aq-line)); }
}
.uzl-kinalat__csoport h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: 1rem; font-weight: 800; }
.uzl-kinalat__csoport h3 .ikon { width: 24px; height: 24px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.uzl-chipek { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.uzl-chipek li { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--td-keret, var(--aq-line)); border-radius: 999px; background: var(--td-felulet, #fff); font-size: .92rem; font-weight: 600; }
.uzl-chipek li .ikon { width: 18px; height: 18px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.uzl-chipek--egyszeru li { min-height: 34px; background: var(--td-felulet-2, var(--aq-surface)); border-color: transparent; }
.uzl-kinalat--rovid .uzl-chipek li:nth-child(n+5) { display: none; }
/* Galéria */
.uzl-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.uzl-galeria img { display: block; width: 100%; aspect-ratio: 16 / 9.5; height: auto; object-fit: cover; border-radius: 10px; }
/* Értékelések */
.uzl-ert-osszeg { display: grid; gap: 16px 28px; align-items: center; }
@media (min-width: 700px) { .uzl-ert-osszeg { grid-template-columns: 130px minmax(0, 1fr) auto; } }
.uzl-ert-osszeg__atlag { display: grid; justify-items: center; gap: 4px; padding-right: 8px; text-align: center; }
@media (min-width: 700px) { .uzl-ert-osszeg__atlag { border-right: 1px solid var(--td-keret, var(--aq-line)); } }
.uzl-ert-osszeg__atlag strong { font-size: 2.9rem; line-height: 1; }
.uzl-ert-osszeg__savok { display: grid; gap: 6px; max-width: 420px; margin: 0; padding: 0; list-style: none; }
.uzl-ert-osszeg__savok li { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 8px; font-size: .88rem; font-weight: 700; }
.uzl-ert-osszeg__savok .sav { height: 8px; }
.uzl-ert-osszeg__iras { margin: 0; }
.uzl-ert-osszeg__iras .gomb { min-height: 44px; padding: 0 22px; border: 1.5px solid var(--aq-accent-sotet); border-radius: 12px; color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 700; }
.uzl-ert-rendezes { display: flex; gap: 6px; border-bottom: 1px solid var(--td-keret, var(--aq-line)); }
.uzl-ert-rendezes a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 10px; border-bottom: 3px solid transparent; color: var(--td-halk, var(--aq-muted)); font-weight: 600; text-decoration: none; }
.uzl-ert-rendezes a[aria-current="true"] { border-bottom-color: var(--aq-accent-sotet); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 800; }
.uzl-ert-lista { display: grid; margin: 0; padding: 0; list-style: none; }
.uzl-ert-lista--rovid > li:nth-child(n+4) { display: none; }
.uzl-ert { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--td-keret, var(--aq-line)); scroll-margin-top: calc(var(--fejlec-magassag, 72px) + 20px); }
.uzl-ert[hidden] { display: none; }
.uzl-ert:target, .uzl-ert:focus { outline: 3px solid var(--aq-accent); outline-offset: 4px; border-radius: 8px; }
.uzl-ert__avatar { display: grid; place-items: center; width: 44px; height: 44px; overflow: hidden; border-radius: 50%; background: #6F7E78; color: #fff; font-weight: 800; }
.uzl-ert__avatar img { width: 100%; height: 100%; object-fit: cover; }
.uzl-ert__test { display: grid; gap: 4px; min-width: 0; }
.uzl-ert__fej { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0; }
.uzl-ert__fej time, .uzl-ert__fej small { color: var(--td-halk, var(--aq-muted)); font-size: .85rem; }
.uzl-ert__csillag { margin-left: auto; }
.uzl-ert__csillag .csillagok { font-size: 1rem; }
.uzl-ert__szoveg { margin: 0; overflow-wrap: anywhere; }
.uzl-ert__lab { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 2px 0 0; }
.uzl-ert__gomb { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0; border: 0; background: none; color: var(--td-halk, var(--aq-muted)); font: inherit; font-size: .85rem; cursor: pointer; }
.uzl-ert__gomb .ikon { width: 16px; height: 16px; }
.uzl-ert__gomb:hover { color: var(--td-szoveg, var(--aq-text)); }
.uzl-ert__gomb[aria-pressed="true"] { color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 700; }
.uzl-ert__valasz { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; margin-top: 8px; padding: 12px 14px; border-radius: 12px; background: var(--td-felulet-2, #EEF6F3); }
.uzl-ert__valasz > .ikon { width: 20px; height: 20px; margin-top: 2px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.uzl-ert__valasz p { margin: 0; }
.uzl-ert__valasz p:first-child { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.uzl-ert__valasz time { color: var(--td-halk, var(--aq-muted)); font-size: .82rem; }
.uzl-ert-tobb { justify-content: center; min-height: 46px; border: 1.5px solid var(--aq-accent-sotet); border-radius: 12px; color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 700; }
.uzl-ert-tobb[hidden] { display: none; }
/* Oldalsáv */
.uzl-hol__cim { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-weight: 700; }
.uzl-hol__cim small { display: block; color: var(--td-halk, var(--aq-muted)); font-size: .82rem; font-weight: 500; }
.uzl-hol__ikon { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--td-teal-halvany, #E3F1EE); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.uzl-hol__ikon .ikon { width: 17px; height: 17px; }
.uzl .uzl-hol__terkep { height: 190px; border-radius: 12px; }
.uzl-kartya--oldal .gomb--teljes { justify-content: center; min-height: 46px; border: 1.5px solid var(--aq-accent-sotet); border-radius: 12px; color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 700; background: var(--td-felulet, #fff); }
.uzl-kapcsolat { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.uzl-kapcsolat a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; color: var(--td-szoveg, var(--aq-text)); font-weight: 600; overflow-wrap: anywhere; }
.uzl-kapcsolat .ikon { flex: none; width: 18px; height: 18px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.uzl-nyitva { width: 100%; border-collapse: collapse; font-size: .98rem; }
.uzl-nyitva th, .uzl-nyitva td { padding: 9px 0; border-bottom: 1px solid var(--td-keret, var(--aq-line)); text-align: left; font-weight: 500; }
.uzl-nyitva td { text-align: right; font-variant-numeric: tabular-nums; }
.uzl-nyitva th { padding-right: 12px; white-space: nowrap; vertical-align: top; }
/* Több idősávos nap: soronként egy sáv, egy sávon belül nincs törés. */
.uzl-nyitva__sav { display: block; white-space: nowrap; }
.uzl-nyitva__sav + .uzl-nyitva__sav { margin-top: 2px; }
.uzl-nyitva__ma th, .uzl-nyitva__ma td { color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 800; }
.uzl-rendkivuli summary { display: flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 600; cursor: pointer; list-style: none; }
.uzl-rendkivuli summary::-webkit-details-marker { display: none; }
.uzl-rendkivuli summary .ikon { width: 18px; height: 18px; color: var(--td-halk, var(--aq-muted)); }
.uzl-rendkivuli__nyil { margin-left: auto; transition: transform .15s ease; }
.uzl-rendkivuli[open] .uzl-rendkivuli__nyil { transform: rotate(180deg); }
.uzl-rendkivuli p { margin: 0 0 4px; color: var(--td-halk, var(--aq-muted)); font-size: .92rem; }
@media (min-width: 1000px) { .uzl-oldal { position: sticky; top: calc(var(--fejlec-magassag, 72px) + 16px); } }
/* Keskeny kijelző: a fejléckártya egy oszlop, a logó a kép alól lóg be; az oldalsáv a tartalom után. */
@media (max-width: 999px) {
  .uzl-fej__kartya { grid-template-columns: 96px minmax(0, 1fr); }
  .uzl-fej__logo { width: 92px; height: 92px; margin-top: -48px; }
  .uzl-fej__logo--jel .logo__jel { width: 64px; }
  .uzl-fej__gombok { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 599px) {
  .uzl-fej__kep { height: 140px; border-radius: 14px 14px 0 0; }
  .uzl-fej__kartya { grid-template-columns: 76px minmax(0, 1fr); gap: 6px 14px; margin: 0 8px; padding: 14px; }
  .uzl-fej__logo { width: 76px; height: 76px; margin-top: -40px; padding: 6px; border-radius: 14px; }
  .uzl-fej__logo--jel .logo__jel { width: 52px; }
  .uzl-fej__gombok { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 8px; }
  .uzl-gomb { justify-content: center; padding: 0 10px; }
  .uzl-fulek { padding: 0; }
  .uzl-fulek a { padding: 0 12px; }
  .uzl-kartya { padding: 16px; }
  .uzl-akciok { grid-template-columns: minmax(0, 1fr); }
  .uzl-galeria { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { .uzl-rendkivuli__nyil { transition: none; } }
@media (max-width: 999px) {
  .uzl-fo, .uzl-oldal { display: contents; }
  .uzl-racs > * , .uzl-oldal > * { order: 7; }
  .uzl #akciok { order: 1; }
  .uzl [aria-labelledby="uzl-hol"] { order: 2; }
  .uzl [aria-labelledby="uzl-nyitva"] { order: 3; }
  .uzl [aria-labelledby="uzl-rolunk"] { order: 4; }
  .uzl #galeria { order: 5; }
  .uzl #ertekelesek { order: 6; }
}
@media (min-width: 600px) { .uzl-galeria { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 599px) {
  .uzl-fej__gombok { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .uzl-gomb { gap: 5px; min-height: 44px; padding: 0 6px; font-size: .88rem; }
  .uzl-gomb .ikon { width: 16px; height: 16px; }
  .uzl-akcio__kep { aspect-ratio: 16 / 7; }
}
@media (max-width: 599px) {
  /* Telefonon megjelenhet az Útvonal is: soronként legfeljebb három gomb. */
  .uzl-fej__gombok { display: flex; flex-wrap: wrap; }
  .uzl-fej__gombok > * { flex: 1 1 30%; min-width: 0; }
}
/* PWA-adatlap (/alkalmazas/uzlet): ugyanazok az elemek telefonra; a kártyák címe h3 (az app-fejlécben van a h1). */
.uzl-kartya .uzl-kartya__cim { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; font-size: 1.25rem; font-weight: 800; }
.uzl-kinalat__csoport h4 { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: 1rem; font-weight: 800; }
.uzl-kinalat__csoport h4 .ikon { width: 24px; height: 24px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.uzl-teljes-gomb { justify-content: center; min-height: 46px; border: 1.5px solid var(--aq-accent-sotet); border-radius: 12px; background: var(--td-felulet, #fff); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 700; }
.uzl--app { padding-top: 0; }
.uzl--app .uzl-fej { margin: 0; }
.uzl--app .uzl-fej__kep { height: 150px; border-radius: 16px 16px 0 0; }
.uzl--app .uzl-fej__kartya { grid-template-columns: 76px minmax(0, 1fr); gap: 6px 14px; margin: 0 8px; padding: 14px; }
.uzl--app .uzl-fej__logo { width: 76px; height: 76px; margin-top: -40px; padding: 6px; border-radius: 14px; }
.uzl--app .uzl-fej__logo--jel .logo__jel { width: 52px; }
.uzl--app .uzl-fej__nev { font-size: 1.45rem; }
.uzl--app .uzl-kartya { padding: 16px; }
.uzl--app .uzl-akciok { grid-template-columns: minmax(0, 1fr); }
.uzl--app .uzl-akcio__kep { aspect-ratio: 16 / 7; }
.uzl--app .uzl-galeria { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.uzl--app .uzl-ert-osszeg { grid-template-columns: 110px minmax(0, 1fr); }
.uzl--app .uzl-ert-osszeg__atlag { border-right: 1px solid var(--td-keret, var(--aq-line)); }
.uzl--app .uzl-ert-osszeg__iras { grid-column: 1 / -1; }
.uzl--app .uzl-ert-osszeg__iras .gomb { width: 100%; justify-content: center; }
/* Az appban a forrássorrend a végleges (a webes keskeny nézet átrendezése itt nem érvényes). */
.uzl--app #akciok, .uzl--app #galeria, .uzl--app #ertekelesek { order: 0; }

/* Élőlények és növények (a telephely publikus készlete; közös készletjelzés: helyterkep.css .tkf-*). */
.uzl-elo__alcim { margin: 0; color: var(--td-halk, var(--aq-muted)); font-size: .8rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.uzl-elo__lista { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }
.uzl-elo__elem { display: flex; align-items: flex-start; gap: 12px; min-width: 0; padding: 10px; border: 1px solid var(--td-keret, var(--aq-line)); border-radius: 14px; background: var(--td-felulet, #fff); scroll-margin-top: calc(var(--fejlec-magassag, 72px) + 16px); }
.uzl-elo__elem[hidden] { display: none; }
.uzl-elo__elem--kiemelt { border-color: var(--aq-accent-vilagos); background: var(--td-felulet-2, #F3F9F7); }
.uzl-elo__elem--kiemelt .tkf-kep { width: 96px; height: 96px; }
.uzl-elo__szoveg { display: grid; flex: 1; gap: 6px; min-width: 0; }
.uzl-elo__nev { margin: 0; line-height: 1.3; overflow-wrap: anywhere; }
.uzl-elo__nev em { color: var(--td-halk, var(--aq-muted)); font-size: .86rem; }
.uzl-elo__nincs { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 10px 12px; border-radius: 12px; background: var(--td-hatter, var(--aq-paper)); font-size: .92rem; }
.uzl-elo__nincs .ikon { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.uzl-elo__masnev { margin: -2px 0 0; color: var(--td-halk, var(--aq-muted)); font-size: .84rem; overflow-wrap: anywhere; }
/* Kereső az üzlet teljes kínálatában (rövid lista, „Összes élőlény” panel és értesítéskérő lap közös mezője). */
.uzl-elo__kereso { display: flex; align-items: center; gap: 6px; min-height: 48px; padding: 0 4px 0 12px; border: 1.5px solid var(--td-keret, var(--aq-line)); border-radius: 12px; background: var(--td-felulet, #fff); }
.uzl-elo__kereso[hidden] { display: none; }
.uzl-elo__kereso:focus-within { border-color: var(--aq-accent-sotet); box-shadow: 0 0 0 3px var(--aq-accent-vilagos); }
.uzl-elo__kereso-ikon { display: grid; flex: none; color: var(--td-halk, var(--aq-muted)); }
.uzl-elo__kereso-ikon .ikon { width: 19px; height: 19px; }
.uzl-elo__kereso input { flex: 1; min-width: 0; height: 44px; border: 0; background: transparent; color: var(--td-szoveg, var(--aq-text)); font: inherit; font-size: 1rem; }
.uzl-elo__kereso input:focus { outline: none; }
.uzl-elo__kereso input::-webkit-search-cancel-button { display: none; }
.uzl-elo__torol { display: grid; flex: none; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 10px; background: none; color: var(--td-halk, var(--aq-muted)); cursor: pointer; }
.uzl-elo__torol:hover { background: var(--td-felulet-2, var(--aq-vilagos)); color: var(--td-szoveg, var(--aq-text)); }
.uzl-elo__torol:focus-visible { outline: 3px solid var(--aq-accent-vilagos); outline-offset: -3px; }
.uzl-elo__torol[hidden], .uzl-elo__tolt[hidden] { display: none; }
.uzl-elo__torol .ikon { width: 18px; height: 18px; }
.uzl-elo__tolt { flex: none; width: 18px; height: 18px; margin: 0 6px; border: 2.5px solid var(--td-keret, var(--aq-line)); border-top-color: var(--aq-accent-sotet); border-radius: 50%; animation: uzl-forog .8s linear infinite; }
@keyframes uzl-forog { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .uzl-elo__tolt { animation-duration: 2.4s; } }
.uzl-elo__allapot { margin: -4px 0 0; color: var(--td-halk, var(--aq-muted)); font-size: .88rem; font-weight: 700; }
.uzl-elo__allapot:empty { display: none; }
.uzl-elo__lista[aria-busy="true"] { opacity: .55; transition: opacity .15s; }
.uzl-elo__lista[hidden] { display: none; }
.uzl-elo__nulla { display: grid; gap: 12px; justify-items: start; padding: 14px; border-radius: 12px; background: var(--td-hatter, var(--aq-paper)); }
.uzl-elo__nulla[hidden] { display: none; }
.uzl-elo__nulla p { display: flex; align-items: flex-start; gap: 8px; margin: 0; }
.uzl-elo__nulla p .ikon { flex: none; width: 18px; height: 18px; margin-top: 3px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.uzl-elo__nulla .gomb { min-height: 44px; white-space: normal; text-align: left; }
.uzl-elo__igeny { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; margin: 0; color: var(--td-halk, var(--aq-muted)); font-size: .92rem; }
.uzl-elo__igeny[hidden] { display: none; }
.uzl-elo__igeny .uzl-link { min-height: 44px; text-align: left; }
.uzl-elo__lab { display: flex; flex-wrap: wrap; gap: 10px; }
.uzl-elo__lab:not(:has(:not([hidden]))) { display: none; }
.uzl-elo__osszes { min-height: 46px; }
.uzl-elo__osszes[hidden] { display: none; }
@media (min-width: 700px) {
  .uzl-elo__lista:not(.uzl-elo__lista--kiemelt) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.uzl--app .uzl-elo__lista:not(.uzl-elo__lista--kiemelt) { grid-template-columns: minmax(0, 1fr); }
.uzl-elo__szoveg [data-bolt-faj-figyelo] { justify-self: start; }
.uzl-elo__szoveg [data-bolt-faj-figyelo]:empty { display: none; }

/* „Értesítést kérek, ha elérhető lesz ennél az üzletnél”: fajválasztó lap (rövid választó). */
.uzl-igeny { display: grid; gap: 12px; }
.uzl-igeny__bevezeto { margin: 0; }
.uzl-igeny__lista { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.uzl-igeny__lista:empty { display: none; }
.uzl-igeny__sor { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 12px 0; border-bottom: 1px solid var(--td-keret, var(--aq-line)); }
.uzl-igeny__sor:last-child { border-bottom: 0; }
.uzl-igeny__nev { display: grid; gap: 2px; flex: 1 1 200px; min-width: 0; overflow-wrap: anywhere; }
.uzl-igeny__nev em, .uzl-igeny__nev small { color: var(--td-halk, var(--aq-muted)); }
.uzl-igeny__nev small { font-size: .84rem; }
.uzl-igeny__muvelet { display: grid; justify-items: end; gap: 4px; flex: none; max-width: 100%; text-align: right; }
.uzl-igeny__muvelet small { color: var(--td-halk, var(--aq-muted)); font-size: .82rem; }
.uzl-igeny__muvelet .gomb { min-height: 44px; }
.uzl-igeny__muvelet .kf-allapot { display: inline-flex; align-items: center; gap: 5px; }
.uzl-igeny__muvelet .kf-allapot .ikon { width: 14px; height: 14px; }
.uzl-igeny__tobb summary { min-height: 44px; display: flex; align-items: center; color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 700; cursor: pointer; }
.uzl-igeny__urlap { display: grid; gap: 8px; margin-top: 6px; }
.uzl-igeny__urlap input { min-height: 46px; padding: 0 12px; border: 1.5px solid var(--td-keret, var(--aq-line)); border-radius: 12px; font: inherit; font-size: 1rem; }
.uzl-igeny__urlap input:focus { outline: none; border-color: var(--aq-accent-sotet); box-shadow: 0 0 0 3px var(--aq-accent-vilagos); }
.uzl-igeny__urlap small { color: var(--td-halk, var(--aq-muted)); }
.uzl-igeny__nincs { margin: 0; padding: 10px 12px; border-radius: 12px; background: var(--td-hatter, var(--aq-paper)); }
.uzl-igeny__meglevo { display: flex; align-items: flex-start; gap: 8px; margin: 0; }
.uzl-igeny__meglevo .ikon { flex: none; width: 18px; height: 18px; margin-top: 3px; color: var(--aq-plant); }
@media (max-width: 479px) {
  .uzl-igeny__muvelet { justify-items: start; text-align: left; }
}

/* ---------- Aktuális akciók: lapozható sáv, bontott számláló-szűrő (projektgazdai kérés, 2026-10-23; uzlet/akcio_sav.php) ---------- */
.uzl-akcio-sav__fej { gap: 10px 14px; }
.uzl-akcio-szamok { display: flex; flex-wrap: wrap; gap: 6px; margin-right: auto; }
.uzl-db--szuro { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 12px; border: 1px solid transparent; font: inherit; font-size: .84rem; font-weight: 800; cursor: pointer; }
.uzl-db--szuro .ikon { width: 15px; height: 15px; }
.uzl-db--szuro:hover { border-color: var(--aq-accent-sotet); }
.uzl-db--szuro[aria-pressed="true"] { border-color: var(--aq-accent-sotetebb); background: var(--aq-accent-sotetebb); color: #fff; }
.uzl-akcio-sav__jobb { display: inline-flex; align-items: center; gap: 12px; }
.uzl-akcio-sav__nyilak { display: inline-flex; gap: 6px; }
.uzl-akcio-sav__nyilak[hidden] { display: none; }
.uzl-nyil { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--td-keret, var(--aq-line)); border-radius: 50%; background: var(--td-felulet, #fff);
  color: var(--td-szoveg, var(--aq-text)); cursor: pointer; transition: background-color .15s ease, border-color .15s ease; }
.uzl-nyil .ikon { width: 18px; height: 18px; }
.uzl-nyil:hover:not(:disabled) { border-color: var(--aq-accent-sotet); background: var(--td-teal-halvany, #EEF7F4); }
.uzl-nyil:disabled { opacity: .35; cursor: default; }
.uzl-akciok.uzl-akciok--sav { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 28px) / 3); gap: 14px; overflow-x: auto;
  scroll-snap-type: x mandatory; scroll-padding: 0; overscroll-behavior-x: contain; scrollbar-width: none; padding-bottom: 2px; }
.uzl-akciok--sav::-webkit-scrollbar { display: none; }
.uzl-akciok--sav > li { scroll-snap-align: start; }
.uzl-akciok--sav > li[hidden] { display: none; }
.uzl-akcio__kuponjel { position: absolute; right: 10px; top: 10px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px;
  background: var(--aq-accent-sotetebb); color: #fff; font-size: .78rem; font-weight: 800; }
.uzl-akcio__kuponjel .ikon { width: 14px; height: 14px; }
@media (max-width: 1100px) { .uzl-akciok.uzl-akciok--sav { grid-auto-columns: calc((100% - 14px) / 2); } }
@media (max-width: 640px) {
  .uzl-akciok.uzl-akciok--sav { grid-auto-columns: 84%; }
  .uzl-akcio-sav__nyilak { display: none !important; }
}
.uzl--app .uzl-akciok.uzl-akciok--sav { grid-template-columns: none; grid-auto-columns: 84%; }
.uzl--app .uzl-akcio-sav__nyilak { display: none !important; }

/* ---------- A bolt aloldalai: Akciók és Élőlények (projektgazdai kérés, 2026-10-23, §47.28/B) ----------
   Az adatlap fejléce és fülsora marad (uzlet/fej.php, app/uzlet_fej.php), alatta egy teljes szélességű kártya. */
.uzl-al .uzl-fej__nev a { color: inherit; text-decoration: none; }
.uzl-al .uzl-fej__nev a:hover { text-decoration: underline; text-underline-offset: 4px; }
p.uzl-fej__nev { font-weight: 800; }
.uzl-al-cim { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0; font-size: clamp(1.35rem, 1.1rem + .8vw, 1.75rem); line-height: 1.2; }
.uzl--app .uzl-al-cim { font-size: 1.25rem; }
.uzl-akcio-oldal, .uzl-elo-oldal { gap: 18px; }
.uzl-akcio-oldal__fej { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.uzl-akcio-oldal__fej .uzl-akcio-szamok { margin-right: 0; }
.uzl-akcio-kereso { position: relative; display: flex; align-items: center; flex: 0 1 360px; margin: 0 0 0 auto; }
.uzl-akcio-kereso .ikon { position: absolute; left: 14px; width: 18px; height: 18px; color: var(--td-halk, var(--aq-muted)); pointer-events: none; }
.uzl-akcio-kereso input { width: 100%; min-height: 46px; padding: 0 14px 0 42px; border: 1.5px solid var(--td-keret, var(--aq-line)); border-radius: 12px;
  background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-text)); font: inherit; font-size: 1rem; }
.uzl-akcio-kereso input:focus { outline: none; border-color: var(--aq-accent-sotet); box-shadow: 0 0 0 3px var(--aq-accent-vilagos); }
.uzl-akciok.uzl-akciok--racs { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.uzl-akciok--racs > li[hidden] { display: none; }
.uzl-akcio__ervenyes { display: flex; align-items: center; gap: 6px; padding: 2px 14px 0; color: var(--td-halk, var(--aq-muted)); font-size: .86rem; font-weight: 600; }
.uzl-akcio__ervenyes .ikon { flex: none; width: 15px; height: 15px; }
.uzl-akcio-nulla, .uzl-akcio-ures p { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--td-halk, var(--aq-muted)); }
.uzl-akcio-nulla[hidden] { display: none; }
.uzl-akcio-nulla .ikon { flex: none; width: 18px; height: 18px; }
.uzl-akcio-ures { display: grid; justify-items: center; gap: 10px; padding: 36px 16px; text-align: center; }
.uzl-akcio-ures > .ikon { width: 40px; height: 40px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.uzl-elo-oldal__fej { display: grid; gap: 6px; }
.uzl-elo-oldal__lead { max-width: 72ch; margin: 0; color: var(--td-halk, var(--aq-muted)); }
@media (max-width: 640px) {
  .uzl-akcio-kereso { flex-basis: 100%; margin-left: 0; }
}
.uzl--app .uzl-akcio-kereso { flex-basis: 100%; margin-left: 0; }
.uzl--app.uzl-al .uzl-akcio-oldal, .uzl--app.uzl-al .uzl-elo-oldal { margin-top: 4px; }

/* A bolt élőlényoldala (uzlet/elolenyek_lista.php, §47.28/B): eszköztár (kereső + csoportszűrő), nagy képes kártyarács, lapozó. */
.uzl-elo-eszkoz { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.uzl-elo-eszkoz > * { min-width: 0; }
.uzl-elo-csop { position: relative; display: flex; gap: 8px; overflow-x: auto; padding: 2px; scrollbar-width: none; }
.uzl-elo-csop::-webkit-scrollbar { display: none; }
.uzl-elo-csop a { display: inline-flex; flex: none; align-items: center; gap: 7px; min-height: 42px; padding: 0 16px; border: 1.5px solid var(--td-keret, var(--aq-line)); border-radius: 999px;
  background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-text)); font-weight: 700; text-decoration: none; white-space: nowrap; }
.uzl-elo-csop a .ikon { width: 18px; height: 18px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.uzl-elo-csop a span { color: var(--td-halk, var(--aq-muted)); font-weight: 800; font-size: .86rem; }
.uzl-elo-csop a:hover { border-color: var(--aq-accent-sotet); }
.uzl-elo-csop a[aria-current="true"] { border-color: var(--aq-accent-sotetebb); background: var(--aq-accent-sotetebb); color: #fff; }
.uzl-elo-csop a[aria-current="true"] .ikon, .uzl-elo-csop a[aria-current="true"] span { color: #fff; }
.uzl-elo-csop a:focus-visible { outline: 3px solid var(--aq-accent-vilagos); outline-offset: 2px; }

.uzl-elk-racs { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.uzl-elk-racs[hidden] { display: none; }
.uzl-elk-racs[aria-busy="true"] { opacity: .55; transition: opacity .15s ease; }
.uzl-elk { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--td-keret, var(--aq-line)); border-radius: 16px; background: var(--td-felulet, #fff); }
.uzl-elk__kep { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; background: var(--td-teal-halvany, #E2F0EE); }
.uzl-elk__kep img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.uzl-elk__kep--ures { background: radial-gradient(120% 140% at 50% 120%, var(--td-teal-halvany, #CFE7E0) 0%, var(--td-teal-halvany, #E6F2EE) 55%, var(--td-felulet-2, #EEF6F3) 100%); }
.uzl-elk__csoport { position: absolute; left: 10px; top: 10px; padding: 4px 11px; border-radius: 999px; background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-text));
  font-size: .78rem; font-weight: 800; }
.uzl-elk__illusztracio { position: absolute; right: 10px; bottom: 10px; padding: 3px 9px; border-radius: 999px; background: rgba(9, 32, 33, .72); color: #fff; font-size: .72rem; font-weight: 700; }
.uzl-elk__test { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 14px 16px 16px; }
.uzl-elk__nev { margin: 0; font-size: 1.1rem; font-weight: 800; line-height: 1.25; overflow-wrap: anywhere; }
.uzl-elk__latin { margin: -2px 0 0; color: var(--td-halk, var(--aq-muted)); font-size: .92rem; font-style: italic; }
.uzl-elk__masnev { margin: 0; color: var(--td-halk, var(--aq-muted)); font-size: .86rem; }
.uzl-elk__allapot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 4px 0 0; }
.uzl-elk__allapot .tkf-allapot { border-radius: 10px; }
.uzl-elk__allapot .tkf-frissites { color: var(--td-halk, var(--aq-muted)); font-size: .82rem; }
.uzl-elk__valtozatok { display: grid; margin: 4px 0 0; padding: 0; list-style: none; font-size: .88rem; }
.uzl-elk__valtozatok li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; padding: 6px 0; border-top: 1px solid var(--td-keret, var(--aq-line)); }
.uzl-elk__valtozatok li > span:first-child { font-weight: 700; }
.uzl-elk__tobb summary { display: flex; align-items: center; min-height: 36px; color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-size: .88rem; font-weight: 700; cursor: pointer; }
.uzl-elk__muvelet.kf-cta { display: grid; gap: 8px; margin-top: auto; padding-top: 10px; }
.uzl-elk__muvelet .kf-cta__sor:not(.kf-cta__sor--ket) > * { width: 100%; }
.uzl-elk__muvelet .kf-cta__sor--ket { max-width: none; }
.uzl-elk__muvelet .kf-cta__sugo { text-align: center; }

.uzl-lapozo { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 6px; }
.uzl-lapozo__szamok { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.uzl-lapozo__lep, .uzl-lapozo__szam { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; padding: 0 14px;
  border: 1.5px solid var(--td-keret, var(--aq-line)); border-radius: 12px; background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-text)); font-weight: 700; text-decoration: none; }
.uzl-lapozo__szam { padding: 0 6px; }
.uzl-lapozo__lep .ikon { width: 17px; height: 17px; }
a.uzl-lapozo__lep:hover, a.uzl-lapozo__szam:hover { border-color: var(--aq-accent-sotet); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.uzl-lapozo__lep[aria-disabled="true"] { opacity: .4; }
.uzl-lapozo__szam[aria-current="page"] { border-color: var(--aq-accent-sotetebb); background: var(--aq-accent-sotetebb); color: #fff; }
.uzl-lapozo__kihagy { padding: 0 2px; color: var(--td-halk, var(--aq-muted)); font-weight: 800; }
.uzl-lapozo a:focus-visible { outline: 3px solid var(--aq-accent-vilagos); outline-offset: 2px; }
@media (max-width: 520px) {
  .uzl-elk-racs { grid-template-columns: minmax(0, 1fr); }
  .uzl-elk__kep--ures { aspect-ratio: 16 / 9; }
  .uzl-lapozo__lep span { display: none; }
  .uzl-lapozo__lep { padding: 0 10px; }
}
.uzl--app .uzl-elo-oldal { scroll-margin-top: calc(66px + env(safe-area-inset-top)); }

/* Élő akváriumjelenet a kép nélküli élőlénykártyán (uzlet/akvarium_jelenet.php; projektgazdai kérés, 2026-10-23). Tíz változat, a
   színek téma-tokenekből (sötét módban is), a halak illusztrációs színe az SVG-ben. A mozgás lassú és csak díszítés; csökkentett
   mozgásnál állókép. A hal: .akj-hal (lebegés) › .akj-ut (oda-vissza úszás) › .akj-fordul (megfordul a pálya végén, ugyanazzal az
   idővel és késleltetéssel) › farok (csapkodás). */
.uzl-elk__kep > .akj { position: absolute; inset: 0; width: 100%; height: 100%; }
.akj {
  --akj-viz1: var(--td-teal-halvany, #E2F0EE);
  --akj-viz2: color-mix(in srgb, var(--td-teal-halvany, #E2F0EE) 55%, var(--aq-accent-sotet, #2F6E68));
  --akj-homok: color-mix(in srgb, var(--td-felulet-2, #EEF1EA) 62%, #C9A86A);
  --akj-n1: color-mix(in srgb, var(--aq-plant, #3F7050) 80%, var(--td-teal-halvany, #E2F0EE));
  --akj-n2: var(--aq-plant, #3F7050);
}
.akj-viz1 { stop-color: var(--akj-viz1); }
.akj-viz2 { stop-color: var(--akj-viz2); }
.akj-fenysugar { fill: var(--td-felulet, #fff); opacity: .14; animation: akj-feny 9s ease-in-out infinite alternate; }
.akj-fenysugar--2 { animation-delay: -4.5s; }
.akj-homok { fill: var(--akj-homok); }
.akj-ko { fill: color-mix(in srgb, var(--akj-homok) 70%, var(--td-szoveg, #17211D)); opacity: .45; }
.akj-n1 { fill: var(--akj-n1); stroke: var(--akj-n1); }
.akj-n2 { fill: var(--akj-n2); stroke: var(--akj-n2); }
.akj-noveny { transform-box: fill-box; transform-origin: 50% 100%; animation: akj-ring 6s ease-in-out var(--akj-kesl, 0s) infinite alternate; }
.akj-noveny ellipse { stroke: none; }
.akj-szar { fill: none; stroke-width: 4; stroke-linecap: round; }
.akj-fu path { fill: none; stroke-width: 7; stroke-linecap: round; }
.akj-allat { fill: none; stroke: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; opacity: .7; }
.akj-allat .ikon-kitolt { fill: currentColor; stroke: none; }
.akj-s1 { --akj-ido: 17s; } .akj-s2 { --akj-ido: 22s; } .akj-s3 { --akj-ido: 13s; }
.akj-k1 { --akj-kesl: -1.5s; } .akj-k2 { --akj-kesl: -4s; } .akj-k3 { --akj-kesl: -6.5s; } .akj-k4 { --akj-kesl: -9s; } .akj-k5 { --akj-kesl: -11.5s; }
.akj-hal { animation: akj-lebeg 3.6s ease-in-out var(--akj-kesl, 0s) infinite alternate; }
.akj-ut { animation: akj-uszik var(--akj-ido, 17s) ease-in-out var(--akj-kesl, 0s) infinite; }
/* A tükrözés a hal saját középpontja (a csoport 0,0 pontja) körül: a csapkodó farok nem tolja el, így a hal soha nem csúszik visszafelé. */
.akj-fordul { transform-box: view-box; transform-origin: 0 0; animation: akj-fordul var(--akj-ido, 17s) step-end var(--akj-kesl, 0s) infinite; }
.akj-farok { transform-box: fill-box; transform-origin: 100% 50%; animation: akj-farok .7s ease-in-out infinite alternate; }
.akj-buborek { fill: var(--td-felulet, #fff); fill-opacity: .3; stroke: var(--td-felulet, #fff); stroke-opacity: .85; stroke-width: 1.2; opacity: 0; animation: akj-buborek 7s ease-in infinite; }
.akj-b2 { animation-duration: 9s; animation-delay: -3.5s; }
.akj-b3 { animation-duration: 8s; animation-delay: -6s; }
@keyframes akj-uszik { 0%, 100% { transform: translateX(-120px); } 50% { transform: translateX(120px); } }
@keyframes akj-fordul { 0% { transform: scaleX(1); } 50%, 100% { transform: scaleX(-1); } }
@keyframes akj-lebeg { from { transform: translateY(-5px); } to { transform: translateY(5px); } }
@keyframes akj-farok { from { transform: rotate(-14deg); } to { transform: rotate(14deg); } }
@keyframes akj-ring { from { transform: rotate(-3deg); } to { transform: rotate(3deg); } }
@keyframes akj-feny { from { opacity: .06; } to { opacity: .2; } }
@keyframes akj-buborek { 0% { opacity: 0; transform: translateY(0); } 12% { opacity: .9; } 85% { opacity: .6; } 100% { opacity: 0; transform: translateY(-240px); } }
@media (prefers-reduced-motion: reduce) {
  .akj * { animation: none !important; }
}
