/* Közösségi réteg (STORE_COMMUNITY_PWA_SYSTEM): fejléc-fiók, lapok (modal / bottom sheet), űrlapok, chipek, profil,
   Akváriumaim, ajánlatkártyák. A Natural Aquascape tokeneket (alap.css) használja; 44 px érintési cél. */

/* A [hidden] mindig rejt (a komponensek display-szabályai ne írják felül). */
[hidden] { display: none !important; }

/* ---------- Fejléc: harang + profil ---------- */

.fejlec__fiok { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.logo { margin-right: 0; }
.fejlec__ikongomb {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-width: 44px; min-height: 44px; padding: 0 10px;
  border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; background: transparent;
  color: #fff; font-weight: 700; cursor: pointer;
}
.fejlec__ikongomb:hover { background: rgba(255, 255, 255, .08); }
.fejlec__ikongomb .ikon { width: 22px; height: 22px; }
.fejlec__ikongomb[hidden] { display: none; }
.fejlec__profil[hidden] { display: none; }
.fejlec__profil-szoveg { display: none; }
.fejlec__avatar { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.fejlec__profil--belepve .fejlec__avatar + .ikon { display: none; }
.fejlec__jelveny, .app-nav__jelveny {
  position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 5px;
  border-radius: 999px; background: var(--aq-figyelem); color: #fff;
  font-size: .75rem; font-weight: 800; line-height: 20px; text-align: center;
}
.fejlec__jelveny[hidden], .app-nav__jelveny[hidden] { display: none; }
@media (min-width: 720px) { .fejlec__profil-szoveg { display: inline; } }
@media (min-width: 1200px) {
  .fejlec__fiok { margin-left: 8px; }
  .fejlec__profil-szoveg { display: none; }
}
@media (min-width: 1500px) { .fejlec__profil-szoveg { display: inline; } }
/* A látható profilgomb (belépve a harang + profil, kijelentkezve a Piactéren / Üzletkeresőn a profilikon) helyet kér a fejlécben:
   szűkebb menü, illetve rejtett logószöveg, hogy ne legyen túlcsordulás. */
@media (min-width: 1200px) and (max-width: 1299px) {
  .fejlec__belso:has(.fejlec__profil:not([hidden])) .fomenu__link { padding: 0 5px; font-size: .875rem; }
  .fejlec__belso:has(.fejlec__profil:not([hidden])) .fomenu__nyito { width: 22px; }
}
@media (min-width: 1400px) and (max-width: 1799px) {
  .fejlec__belso:has(.fejlec__profil:not([hidden])) .logo__szoveg { display: none; }
}
@media (min-width: 1800px) {
  .fejlec__belso:has(.fejlec__profil:not([hidden])) .fomenu__link { padding-left: 11px; }
}
/* A tartalomrács (--shell-max: clamp(1400px, 72vw, 1880px)) csak ~1950 px felett szélesedik: belépve (harang + Profil) a logószöveg
   2199 px-ig rejtett, különben a Támogatás gomb túlnyúlna a rácson. 2200 px felett a rács elég széles a teljes logóhoz. */
@media (min-width: 1800px) and (max-width: 2199px) {
  .fejlec__belso:has(.fejlec__profil--belepve) .logo__szoveg { display: none; }
}
/* Kijelentkezve a profilgomb „Belépés” felirattal látszik (§48.9 — korábban felirat nélküli ikon volt); belépve kerek profilkép
   (kép nélkül monogram), kattintásra a kis fiókpanel. */
.fejlec__avatar--betu { display: inline-grid; place-items: center; background: var(--aq-accent-vilagos); color: var(--aq-deep); font-size: .875rem; font-weight: 900; }
.fejlec__profil--belepve > .ikon { display: none; }
@media (max-width: 719px) {
  .fejlec__profil:not(.fejlec__profil--belepve) .fejlec__profil-szoveg { display: inline; }
  .fejlec__profil:not(.fejlec__profil--belepve) { gap: 5px; padding: 0 10px 0 8px; }
}
@media (max-width: 419px) {
  .fejlec__profil:not(.fejlec__profil--belepve) { gap: 4px; padding: 0 9px 0 6px; font-size: .875rem; }
  .fejlec__profil:not(.fejlec__profil--belepve) .ikon { width: 20px; height: 20px; }
}
@media (max-width: 379px) { .fejlec__profil:not(.fejlec__profil--belepve) .fejlec__profil-szoveg { display: none; } }
@media (max-width: 374px) { .fejlec__fiok { gap: 4px; } .fejlec__ikongomb { padding: 0 8px; } }

/* ---------- Közös apróságok ---------- */

.gomb--kicsi { min-height: 44px; padding: .45em 1em; font-size: .9375rem; }
.akv-link-gomb {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px;
  border: 0; background: none; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
.akv-link-gomb--veszely { color: var(--td-hiba-szoveg, #A33B28); }
.akv-kis-gomb {
  display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 12px;
  border: 1px solid var(--td-keret, var(--aq-line)); border-radius: 999px; background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-text)); font-size: .875rem; font-weight: 700; cursor: pointer;
}
.akv-kis-gomb .ikon { width: 18px; height: 18px; }
.akv-kis-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)); }
.akv-kis-gomb--halvany { color: var(--td-halk, var(--aq-muted)); }
.akv-ikongomb {
  display: inline-grid; place-items: center; width: 44px; height: 44px;
  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;
}
.akv-ikongomb .ikon { width: 18px; height: 18px; }
.akv-ikongomb:disabled { opacity: .4; cursor: default; }
.akv-ikongomb--jobbra .ikon { transform: rotate(180deg); }
.akv-allapot { display: inline-block; padding: 1px 8px; border-radius: 999px; background: var(--td-felulet-2, var(--aq-surface)); color: var(--td-halk, var(--aq-muted)); font-size: .78rem; font-weight: 700; }
.akv-betolt, .akv-ures-sor { color: var(--td-halk, var(--aq-muted)); }
.akv-ures { display: grid; justify-items: center; gap: 10px; padding: 28px 12px; text-align: center; color: var(--td-halk, var(--aq-muted)); }
.akv-ures > .ikon { width: 42px; height: 42px; color: var(--aq-accent); }
.akv-ures h1, .akv-ures h2 { color: var(--td-szoveg, var(--aq-text)); font-size: 1.4rem; }
.akv-egyszeru-lista { margin: 0; padding-left: 1.2em; }
.akv-egyszeru-lista li { margin: 6px 0; }
.akv-valasztott { margin: 6px 0; }

/* ---------- Lap: modal desktopon, bottom sheet mobilon (natív <dialog>) ---------- */

.akv-lap {
  width: min(560px, calc(100% - 32px)); max-height: min(88vh, 900px); padding: 0;
  border: 0; border-radius: var(--radius-lg); background: var(--td-hatter, var(--aq-paper)); color: var(--td-szoveg, var(--aq-text));
  box-shadow: var(--shadow-raised); overflow: hidden; overflow: clip;
}
/* overflow: clip — a lap maga programból sem görgethető: egy fókuszba kerülő (pl. rejtett kapcsoló-)mező nem tolhatja el a fejlécet. */
.akv-lap[open] { display: flex; flex-direction: column; }
.akv-lap--teljes { width: min(880px, calc(100% - 32px)); }
.akv-lap::backdrop { background: rgba(13, 26, 23, .55); }
.akv-lap__fej { display: flex; align-items: center; gap: 12px; padding: 14px 16px 14px 22px; border-bottom: 1px solid var(--td-keret, var(--aq-line)); background: var(--td-felulet, #fff); }
.akv-lap__cim { flex: 1; font-size: 1.2rem; }
.akv-lap__bezar { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--td-felulet-2, var(--aq-surface)); cursor: pointer; }
.akv-lap__bezar .ikon { width: 20px; height: 20px; }
.akv-lap__torzs { padding: 20px 22px 28px; overflow-y: auto; overscroll-behavior: contain; }
.akv-lap__ok { margin: 0 0 14px; padding: 10px 14px; border-radius: var(--radius-sm); background: var(--td-teal-halvany, #E3F1EE); font-weight: 700; }
@media (max-width: 719px) {
  .akv-lap { width: 100%; max-width: 100%; max-height: 92vh; margin: auto 0 0; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
  .akv-lap--teljes { max-height: 100vh; height: 100%; border-radius: 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .akv-lap[open] { animation: akv-lap-be .22s ease-out; }
}
@keyframes akv-lap-be { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* Belépési lap (§48.14): asztali weben modal, mobilon és a PWA-ban magas alsó lap; a háttér nem görgethető. A magasság a
   látható viewporthoz igazodik (dvh), így nyitott képernyő-billentyűzetnél is elérhető a mező és a gomb. */
html.akv-auth-nyitva, html.akv-auth-nyitva body { overflow: hidden; }
.akv-lap--auth { width: min(500px, calc(100% - 32px)); max-height: min(92dvh, 860px); }
.akv-lap--auth .akv-lap__torzs { padding-top: 16px; }
.akv-lap--auth .akv-auth { max-width: none; }
@media (max-width: 719px) {
  .akv-lap--auth { width: 100%; max-height: 94dvh; padding-bottom: env(safe-area-inset-bottom); }
  .akv-lap--auth-app { min-height: min(72dvh, 620px); }
}

/* ---------- Fülek ---------- */

.akv-fulek { display: flex; gap: 6px; margin-bottom: 16px; padding: 4px; border-radius: 999px; background: var(--td-felulet-2, var(--aq-surface)); }
.akv-fulek button { flex: 1; min-height: 44px; border: 0; border-radius: 999px; background: none; font-weight: 800; color: var(--td-halk, var(--aq-muted)); cursor: pointer; }
.akv-fulek button[aria-selected="true"] { background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-text)); box-shadow: var(--shadow-soft); }

/* ---------- Űrlapok ---------- */

.akv-urlap { display: grid; gap: 14px; margin: 0 0 18px; }
.akv-urlap__uzenet { margin: 0; padding: 10px 14px; border-radius: var(--radius-sm); background: var(--td-hiba-halvany, #FBE9E4); color: var(--td-hiba-szoveg, #7E2A18); font-weight: 700; }
.akv-urlap__uzenet[hidden] { display: none; }
.akv-urlap__bevezeto, .akv-urlap__lab { margin: 0; color: var(--td-halk, var(--aq-muted)); font-size: .95rem; }
.akv-mezo { display: grid; gap: 6px; }
.akv-mezo > label, .akv-kereso > label, .akv-csoport > legend { font-weight: 800; font-size: .95rem; }
.akv-mezo input, .akv-mezo select, .akv-mezo textarea, .akv-kereso input, .akv-mini-mezo, .akv-terv__reszlet select, .akv-urlap select {
  width: 100%; min-height: 48px; padding: 10px 14px;
  border: 1.5px solid var(--td-keret, #BFCBC3); border-radius: var(--radius-sm); background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-text)); font: inherit; font-size: 1rem;
}
.akv-mezo textarea { min-height: 110px; resize: vertical; }
.akv-mezo select, .akv-urlap select, .akv-terv__reszlet select {
  padding-right: 40px; appearance: none; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--aq-muted) 50%), linear-gradient(135deg, var(--aq-muted) 50%, transparent 50%);
  background-position: calc(100% - 20px) 52%, calc(100% - 14px) 52%; background-size: 6px 6px; background-repeat: no-repeat;
}
.akv-mezo input:focus, .akv-mezo select:focus, .akv-mezo textarea:focus, .akv-kereso input:focus { border-color: var(--aq-accent-sotet); outline: 3px solid rgba(60, 148, 141, .25); outline-offset: 0; }
.akv-mezo [aria-invalid="true"] { border-color: #B8412B; }
.akv-mezo__sugo { margin: 0; color: var(--td-halk, var(--aq-muted)); font-size: .875rem; line-height: 1.45; }
.akv-mezo__hiba { margin: 0; color: var(--td-hiba-szoveg, #A33B28); font-size: .875rem; font-weight: 700; }
.akv-mezo--rejtett { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.akv-mezo--rovid { max-width: 150px; }
.akv-sor { display: flex; flex-wrap: wrap; gap: 12px; }
.akv-sor > .akv-mezo { flex: 1 1 160px; }
.akv-sor > .akv-mezo--rovid { flex: 0 1 140px; }
/* Címsorok: az irányítószám és a házszám keskeny, fix szélességű mező, a település és az utca kitölti a sort. */
.akv-sor > .akv-mezo--irsz { flex: 0 0 124px; min-width: 0; }
.akv-sor > .akv-mezo--hazszam { flex: 0 0 96px; min-width: 0; }
.akv-sor > .akv-mezo--irsz ~ .akv-mezo, .akv-sor > .akv-mezo:has(~ .akv-mezo--hazszam) { flex: 1 1 140px; min-width: 0; }

/* Kétállású szegmens (pl. vevő típusa): egybeolvadó gombcsoport, a kiválasztott rész kiemelve. */
.akv-szegmens { display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; gap: 4px; padding: 4px; border-radius: 14px; background: var(--td-felulet-2, #E3E9E3); }
.akv-szegmens label { position: relative; display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 6px 10px; border-radius: 10px;
  color: var(--td-halk, var(--aq-muted)); font-size: .9rem; font-weight: 800; line-height: 1.2; text-align: center; cursor: pointer; transition: background-color .15s, color .15s; }
.akv-szegmens input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; pointer-events: none; }
.akv-szegmens label:has(input:checked) { background: var(--aq-deep); color: #fff; box-shadow: 0 1px 3px rgba(13, 26, 23, .18); }
.akv-szegmens label:has(input:focus-visible) { outline: 3px solid var(--aq-accent-sotet); outline-offset: 1px; }
.akv-csoport > .akv-szegmens { margin-top: 6px; }
.pr-elotoltve { display: flex; align-items: flex-start; gap: 6px; margin: 0 0 12px; padding: 10px 12px; border-radius: var(--radius-sm); background: var(--td-teal-halvany, #E2F0EE); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-size: .875rem; font-weight: 700; }
.pr-elotoltve .ikon { flex: none; width: 16px; height: 16px; margin-top: 2px; }
.akv-mini-mezo { width: auto; min-height: 40px; max-width: 220px; padding: 6px 10px; font-size: .9375rem; }
.akv-jelolo { display: flex; align-items: flex-start; gap: 10px; font-weight: 600; line-height: 1.45; cursor: pointer; }
.akv-jelolo input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--aq-accent-sotet); }
.akv-csoport { margin: 0; padding: 0; border: 0; display: grid; gap: 8px; }
.akv-siker { display: grid; justify-items: center; gap: 10px; padding: 16px 0; text-align: center; }
.akv-siker > .ikon { width: 44px; height: 44px; color: var(--aq-plant); }
.akv-fajl { position: relative; overflow: hidden; cursor: pointer; }
.akv-fajl input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.akv-lepesek { margin: 0 0 16px; padding-left: 1.3em; display: grid; gap: 8px; }

/* ---------- Chipek, kapcsolók ---------- */

.akv-chipek { display: flex; flex-wrap: wrap; gap: 8px; }
.akv-chipek--kicsi .akv-chip span { min-height: 44px; padding: 0 12px; font-size: .85rem; }
.akv-chip { position: relative; display: inline-flex; }
.akv-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.akv-chip span {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px;
  border: 1.5px solid var(--td-keret, #BFCBC3); border-radius: 999px; background: var(--td-felulet, #fff); font-weight: 700; font-size: .9375rem; cursor: pointer; user-select: none;
}
.akv-chip input:checked + span { border-color: var(--aq-accent-sotet); background: var(--aq-accent-sotet); color: #fff; }
.akv-chip--fokat span { gap: 6px; }
.akv-chip--fokat .ikon { width: 18px; height: 18px; }
.akv-chip input:checked + span::before { content: "✓ "; white-space: pre; }
.akv-chip input:focus-visible + span { outline: 3px solid var(--aq-accent); outline-offset: 2px; }
.akv-chipek-csoport { margin: 0 0 16px; }
.akv-kapcsolok { display: grid; gap: 4px; margin: 0 0 12px; }
.akv-kapcsolok--sor { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.akv-kapcsolok--racs { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.akv-kapcsolo { position: relative; display: flex; align-items: center; gap: 12px; min-height: 44px; font-weight: 600; cursor: pointer; }
/* A rejtett mező a címkén belül marad (position: relative), így fókuszáláskor sem görget el semmit. */
.akv-kapcsolo input { position: absolute; left: 0; top: 50%; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.akv-kapcsolo__csuszka { position: relative; flex: none; width: 46px; height: 28px; border-radius: 999px; background: #BFCBC3; transition: background .15s; }
.akv-kapcsolo__csuszka::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: var(--td-felulet, #fff); box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .15s; }
.akv-kapcsolo input:checked + .akv-kapcsolo__csuszka { background: var(--aq-accent-sotet); }
.akv-kapcsolo input:checked + .akv-kapcsolo__csuszka::after { transform: translateX(18px); }
.akv-kapcsolo input:focus-visible + .akv-kapcsolo__csuszka { outline: 3px solid var(--aq-accent); outline-offset: 2px; }

/* ---------- Kereshető választó ---------- */

.akv-kereso { position: relative; display: grid; gap: 6px; margin: 0 0 10px; }
.akv-kereso__lista {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 30; max-height: 290px; margin: 4px 0 0; padding: 4px; overflow-y: auto; list-style: none;
  border: 1px solid var(--td-keret, var(--aq-line)); border-radius: var(--radius-sm); background: var(--td-felulet, #fff); box-shadow: var(--shadow-card);
}
.akv-kereso__lista li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; min-height: 44px; padding: 10px 12px; border-radius: 8px; cursor: pointer; }
.akv-kereso__lista li span { color: var(--td-halk, var(--aq-muted)); font-size: .875rem; font-style: italic; }
.akv-kereso__lista li .akv-kereso__talalat { flex-basis: 100%; color: var(--td-halk, var(--aq-muted)); font-size: .8125rem; }
.akv-kereso__lista li[aria-selected="true"], .akv-kereso__lista li:hover { background: var(--td-teal-halvany, #E3F1EE); }
.akv-kereso__nincs { color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 700; border-top: 1px solid var(--td-keret, var(--aq-line)); }
.akv-kereso__nincs .ikon { width: 16px; height: 16px; }
.akv-kereso[hidden] { display: none; }
/* Kétsoros találat (név + hely / megye): a hosszú név és cím tördelődik, nem lóg ki. */
.akv-kereso__lista li .akv-kereso__tobbsor { display: grid; flex: 1 1 100%; gap: 2px; min-width: 0; color: inherit; font-size: inherit; font-style: normal; }
.akv-kereso__lista li .akv-kereso__tobbsor strong { overflow-wrap: anywhere; }
.akv-kereso__lista li .akv-kereso__tobbsor small { color: var(--td-halk, var(--aq-muted)); font-size: .8125rem; line-height: 1.35; overflow-wrap: anywhere; }
/* Közös településválasztó (AKV.telepulesValaszto). */
.akv-telepules { display: grid; gap: 6px; min-width: 0; }
.akv-telepules__valasztott { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 12px;
  border: 1px solid var(--td-keret, var(--aq-line)); border-radius: 10px; }
.akv-telepules__valasztott[hidden] { display: none; }
.akv-telepules__ikon { display: inline-grid; color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.akv-telepules__ikon .ikon { width: 20px; height: 20px; }
.akv-telepules__nev { display: grid; min-width: 0; }
.akv-telepules__nev strong { overflow-wrap: anywhere; }
.akv-telepules__nev small { color: var(--td-halk, var(--aq-muted)); font-size: .8125rem; }
@media (max-width: 420px) {
  .akv-telepules__valasztott { grid-template-columns: auto minmax(0, 1fr); }
  .akv-telepules__valasztott > button { grid-column: 1 / -1; justify-self: start; }
}

/* ---------- Harang ---------- */

.akv-harang__muvelet { display: flex; justify-content: flex-end; }
.akv-harang__lista { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.akv-harang__elem > a, .akv-harang__elem > div { display: grid; gap: 2px; padding: 12px 14px; border-radius: var(--radius-sm); background: var(--td-felulet, #fff); color: inherit; text-decoration: none; border: 1px solid var(--td-keret, var(--aq-line)); }
.akv-harang__elem--uj > a, .akv-harang__elem--uj > div { border-color: var(--aq-accent); box-shadow: inset 4px 0 0 var(--aq-accent); }
.akv-harang__cim { font-weight: 800; }
.akv-harang__szoveg { color: var(--td-halk, var(--aq-muted)); font-size: .9375rem; }
.akv-harang__datum { color: var(--td-halk, var(--aq-muted)); font-size: .8rem; }

/* ---------- Profil ---------- */

.akv-kartya__sugo { margin: 0 0 12px; color: var(--td-halk, var(--aq-muted)); font-size: .9375rem; }
.akv-kartya__alcim { margin: 16px 0 8px; font-size: .98rem; }
.akv-kartya__alcim small { color: var(--td-halk, var(--aq-muted)); font-weight: 600; }
.akv-uzlet-kartyak { display: grid; margin: 0 0 12px; padding: 0; border-top: 1px solid var(--td-keret, var(--aq-line)); list-style: none; }
.akv-uzlet-kartya { position: relative; display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--td-keret, var(--aq-line)); }
.akv-uzlet-kartya__logo { flex: none; width: 48px; height: 48px; border: 1px solid var(--td-keret, var(--aq-line)); border-radius: 14px; background: var(--td-hatter, var(--aq-paper)); object-fit: contain; }
.akv-uzlet-kartya__logo--betu { display: grid; place-items: center; border: 0; background: var(--aq-water-deep); color: #fff; font-size: 1.2rem; font-weight: 800; }
.akv-uzlet-kartya__link { display: grid; flex: 1; gap: 2px; min-width: 0; color: inherit; text-decoration: none; }
.akv-uzlet-kartya__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.akv-uzlet-kartya__link span { overflow: hidden; color: var(--td-halk, var(--aq-muted)); font-size: .875rem; text-overflow: ellipsis; white-space: nowrap; }
.akv-uzlet-kartya__link:focus-visible { outline: none; }
.akv-uzlet-kartya:has(.akv-uzlet-kartya__link:focus-visible) { outline: 3px solid var(--aq-accent-sotet); outline-offset: 2px; }
.akv-uzlet-kartya .akv-ikongomb { position: relative; z-index: 1; }
.akv-uzlet-kartya__nyil .ikon { width: 18px; height: 18px; color: var(--td-halk, var(--aq-muted)); }
.akv-kilepes { margin-top: 8px; }
.akv-kitoltes { margin: 0 0 12px; }
.akv-kitoltes__sav { height: 8px; border-radius: 999px; background: var(--td-felulet-2, var(--aq-surface)); overflow: hidden; }
.akv-kitoltes__sav span { display: block; height: 100%; width: var(--arany, 0%); background: var(--aq-plant); }
.akv-kitoltes p { margin: 6px 0 0; color: var(--td-halk, var(--aq-muted)); font-size: .875rem; }

/* ---------- Akciófigyelő ---------- */

.akv-figyelo-urlap { padding: 14px; border-radius: var(--radius-sm); background: var(--td-hatter, var(--aq-paper)); }
.akv-figyelok { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.akv-figyelo { padding: 12px 14px; border: 1px solid var(--td-keret, var(--aq-line)); border-radius: var(--radius-sm); }
.akv-figyelo--szuneteltetett, .akv-figyelo--lejart, .akv-figyelo--teljesult { background: var(--td-hatter, var(--aq-paper)); }
.akv-figyelo__fej { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.akv-figyelo__meta { margin: 4px 0; color: var(--td-halk, var(--aq-muted)); font-size: .875rem; }
.akv-figyelo__gombok { display: flex; flex-wrap: wrap; gap: 4px 10px; }

/* ---------- Márkák, tervek ---------- */

.akv-marka-lista { margin: 8px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.akv-marka-lista li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 8px 0; border-bottom: 1px solid var(--td-keret, var(--aq-line)); }
.akv-tervek { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.akv-terv__reszlet { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 0 8px; }
.akv-terv__reszlet[hidden] { display: none; }
.akv-terv__reszlet select { width: auto; min-height: 40px; padding: 6px 10px; font-size: .9375rem; }

/* ---------- Akváriumaim ---------- */

.akv-akv-blokk { margin: 0 0 18px; padding: 0 0 14px; border-bottom: 1px solid var(--td-keret, var(--aq-line)); }
.akv-akv-blokk h4 { margin: 0 0 10px; font-size: 1rem; }
.akv-akv-blokk .akv-urlap { margin: 0; }
.akv-akv-blokk .akv-chipek { margin: 4px 0; }

/* ---------- Ajánlat: listában sor (elválasztóval, doboz nélkül), az ajánlatoldalon teljes tartalom ---------- */

.akv-ajanlat-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); column-gap: 32px; align-items: start; border-top: 1px solid var(--td-keret, var(--aq-line)); }
.akv-ajanlat-lista--kicsi { grid-template-columns: 1fr; margin: 8px 0; }
.akv-ajanlat { position: relative; display: grid; align-content: start; gap: 6px; padding: 14px 0; border-bottom: 1px solid var(--td-keret, var(--aq-line)); }
.akv-ajanlat[hidden] { display: none; }
.akv-ajanlat--lejart { opacity: .65; }
.akv-ajanlat__kep { width: 100%; height: auto; border-radius: var(--radius-sm); }
.akv-ajanlat__fej { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; min-width: 0; color: var(--td-halk, var(--aq-muted)); font-size: .8125rem; font-weight: 700; }
.akv-ajanlat__uzlet { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.akv-ajanlat__uzlet a { overflow: hidden; color: var(--td-szoveg, var(--aq-text)); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.akv-ajanlat__uzlet a:hover { text-decoration: underline; }
.akv-ajanlat__uzlet .ikon, .akv-ajanlat__csatorna .ikon, .akv-ajanlat__kat .ikon { flex: none; width: 15px; height: 15px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.akv-ajanlat__csatorna, .akv-ajanlat__kat { display: inline-flex; flex: none; align-items: center; gap: 4px; }
/* A bolt saját oldalán a bolt neve minden sorban fölösleges. */
[data-uzlet-oldal] .akv-ajanlat__uzlet { display: none; }
.akv-ajanlat__torzs { display: flex; align-items: baseline; gap: 12px; }
.akv-ajanlat__szoveg { display: grid; flex: 1; gap: 2px; min-width: 0; }
.akv-ajanlat__cim { margin: 0; font-size: 1.05rem; line-height: 1.3; }
.akv-ajanlat__cim a { color: inherit; text-decoration: none; }
.akv-ajanlat__cim a::after { content: ""; position: absolute; inset: 0; }
.akv-ajanlat__cim a:focus-visible { outline: none; }
.akv-ajanlat:has(.akv-ajanlat__cim a:focus-visible) { outline: 3px solid var(--aq-accent-sotet); outline-offset: 2px; }
.akv-ajanlat:hover .akv-ajanlat__cim a { text-decoration: underline; }
.akv-ajanlat__cim--nagy { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem); }
.akv-ajanlat__rovid { display: -webkit-box; margin: 0; overflow: hidden; color: var(--td-halk, var(--aq-muted)); font-size: .9375rem; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.akv-ajanlat--reszletes .akv-ajanlat__rovid { display: block; -webkit-line-clamp: unset; }
.akv-ajanlat__kedvezmeny { flex: none; max-width: 40%; margin: 0; color: var(--td-figyelem-szoveg, #A2461A); font-size: 1.15rem; font-weight: 900; line-height: 1.15; text-align: right; overflow-wrap: anywhere; }
.akv-ajanlat__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; color: var(--td-halk, var(--aq-muted)); font-size: .8125rem; }
.akv-ajanlat__meta .ikon { width: 15px; height: 15px; }
.akv-ajanlat__surgos { color: var(--td-hiba-szoveg, #8A3321); font-size: .8125rem; }
.akv-ajanlat__gombok, .akv-kupon, [data-kupon-hely] { position: relative; z-index: 1; }
.akv-ajanlat__uzlet a { position: relative; z-index: 1; }
.akv-ajanlat__gombok { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
/* Listában a mentés-ikon a sor jobb alsó sarkában; webshop-linkkel a műveletek saját sort kapnak. */
.akv-ajanlat:not(.akv-ajanlat--reszletes) .akv-ajanlat__gombok:not(:has(.akv-ajanlat__link)) { position: absolute; right: -10px; bottom: 4px; }
.akv-ajanlat:not(.akv-ajanlat--reszletes):has(.akv-ajanlat__gombok:not(:has(.akv-ajanlat__link))) .akv-ajanlat__meta { padding-right: 40px; }
.akv-ajanlat--reszletes .akv-ajanlat__gombok .gomb { flex: 1 1 auto; }
.akv-ajanlat--reszletes .akv-ajanlat__gombok .akv-ajanlat__ment { flex: 0 1 auto; }
.akv-ajanlat__link { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-size: .875rem; font-weight: 800; text-decoration: none; }
.akv-ajanlat__link .ikon { width: 16px; height: 16px; }
.akv-ajanlat__link:hover { text-decoration: underline; }
.akv-ikongomb--csupasz { padding: 0; border: 0; background: none; color: var(--td-halk, var(--aq-muted)); }
.akv-ikongomb--csupasz .ikon { width: 20px; height: 20px; }
.akv-ikongomb--csupasz:hover { background: var(--td-felulet-2, var(--aq-surface)); color: var(--td-szoveg, var(--aq-text)); }
.akv-ikongomb--csupasz[aria-pressed="true"] { color: var(--td-hiba-szoveg, #B43C2A); }
.akv-ikongomb--csupasz[aria-pressed="true"] .ikon { fill: currentColor; }
.akv-ajanlat--reszletes .akv-ajanlat__cim a::after { display: none; }
.akv-ajanlat__feltetelek h2 { font-size: 1.05rem; margin: 10px 0 4px; }
.akv-kupon__felold {
  display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 46px; padding: 0 14px;
  border: 2px dashed var(--aq-accent-sotet); border-radius: 12px; background: var(--td-felulet-2, #EEF6F4); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb));
  font: inherit; font-weight: 800; cursor: pointer;
}
.akv-kupon__felold:hover { background: var(--td-teal-halvany, #E2F0EE); }
.akv-ajanlat:not(.akv-ajanlat--reszletes) .akv-kupon__felold { justify-content: flex-start; width: auto; min-height: 44px; padding: 0; border: 0; background: none; font-size: .875rem; }
.akv-ajanlat:not(.akv-ajanlat--reszletes) .akv-kupon__felold:hover { background: none; text-decoration: underline; }
.akv-kupon__felold .ikon { width: 20px; height: 20px; }
.akv-kupon__kod, .akv-ajanlat__kod { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
.akv-kupon__kod code, .akv-ajanlat__kod code {
  padding: 6px 12px; border: 2px dashed var(--aq-accent-sotet); border-radius: 8px; background: var(--td-teal-halvany, #E3F1EE);
  font-size: 1.1rem; font-weight: 800; letter-spacing: .06em; user-select: all;
}
.gomb[data-ajanlat-ment][aria-pressed="true"] { border-color: var(--aq-accent-sotet); background: var(--td-teal-halvany, #E3F1EE); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.gomb[data-ajanlat-ment][aria-pressed="true"] .ikon { fill: currentColor; }

/* ---------- Toast, telepítési sáv ---------- */

.akv-toastok { position: fixed; left: 50%; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 300; display: grid; gap: 8px; width: min(480px, calc(100% - 32px)); transform: translateX(-50%); pointer-events: none; }
body.app .akv-toastok { bottom: calc(84px + env(safe-area-inset-bottom)); }
/* Popoverként a böngésző legfelső rétegében van, így nyitott modális lap (profil, űrlap) fölött is látszik. */
.akv-toastok[popover] { top: auto; right: auto; height: auto; margin: 0; padding: 0; border: 0; background: transparent; color: inherit; overflow: visible; }
.akv-toast { margin: 0; padding: 12px 16px; border-radius: var(--radius-sm); background: var(--aq-deep); color: #fff; font-weight: 700; box-shadow: var(--shadow-card); pointer-events: auto; }
.akv-toast--siker { background: #264F36; }
.akv-toast--hiba { background: #7E2A18; }
/* ---------- Profilkép, fiókpanel, regisztrációs ajánló (§48.9–48.10) ---------- */
.fiok-avatar { display: block; flex: none; width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.fiok-avatar--betu { display: grid; place-items: center; background: var(--aq-accent-vilagos); color: var(--aq-deep); font-size: 1rem; font-weight: 900; line-height: 1; }
.fiok-avatar--nagy { width: 48px; height: 48px; font-size: 1.25rem; }
.fiok-panel { position: fixed; inset: auto; width: min(300px, calc(100vw - 16px)); margin: 0; padding: 8px; border: 0; border-radius: 18px; background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-text)); box-shadow: 0 18px 50px rgba(13, 26, 23, .28); }
.fiok-panel::backdrop { background: rgba(13, 26, 23, .18); }
.fiok-panel__fej { display: flex; align-items: center; gap: 12px; padding: 10px 10px 12px; border-bottom: 1px solid var(--td-keret, var(--aq-line)); }
.fiok-panel__fej > span:last-child { display: grid; gap: 2px; min-width: 0; }
.fiok-panel__fej strong { overflow: hidden; font-size: 1rem; white-space: nowrap; text-overflow: ellipsis; }
.fiok-panel__fej small { display: inline-flex; align-items: center; gap: 6px; color: var(--td-halk, var(--aq-muted)); font-size: .8125rem; font-weight: 700; }
.fiok-panel__pont { width: 8px; height: 8px; border-radius: 50%; background: #3FA35B; box-shadow: 0 0 0 3px rgba(63, 163, 91, .18); }
.fiok-panel__lista { display: grid; margin: 6px 0 0; padding: 0; list-style: none; }
.fiok-panel__sor { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 48px; padding: 0 10px; border: 0; border-radius: 12px; background: none; color: var(--td-szoveg, var(--aq-text)); font: inherit; font-weight: 700; text-align: left; text-decoration: none; cursor: pointer; }
.fiok-panel__sor:hover, .fiok-panel__sor:focus-visible { background: var(--td-felulet-2, var(--aq-vilagos)); outline: none; }
.fiok-panel__sor:focus-visible { box-shadow: inset 0 0 0 2px var(--aq-accent-sotet); }
.fiok-panel__sor .ikon { flex: none; width: 20px; height: 20px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.fiok-panel__sor > span { flex: 1; }
.fiok-panel__szam { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: var(--aq-figyelem); color: #fff; font-size: .75rem; text-align: center; }
.fiok-panel__sor--kilepes, .fiok-panel__sor--kilepes .ikon { color: var(--td-hiba-szoveg, #A63A26); }
.akv-reg-cta {
  position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 190;
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px 12px; max-width: 620px; margin: 0 auto; padding: 14px 12px 14px 14px;
  border-radius: var(--radius-md); background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-text)); box-shadow: 0 14px 40px rgba(13, 26, 23, .24);
}
body.app .akv-reg-cta { bottom: calc(84px + env(safe-area-inset-bottom)); }
.akv-reg-cta__ikon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--aq-deep); color: var(--aq-accent-vilagos); }
.akv-reg-cta__ikon .ikon { width: 22px; height: 22px; }
.akv-reg-cta__szoveg { display: grid; gap: 2px; min-width: 0; }
.akv-reg-cta__szoveg span { color: var(--td-halk, var(--aq-muted)); font-size: .8125rem; line-height: 1.4; }
.akv-reg-cta__gombok { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; grid-column: 2 / 4; }
.akv-reg-cta__gombok .akv-link-gomb { min-height: 44px; }
.akv-reg-cta__zar { grid-row: 1; grid-column: 3; align-self: start; display: grid; place-items: center; width: 40px; height: 40px; margin: -6px -2px 0 0; border: 0; border-radius: 50%; background: none; color: var(--td-halk, var(--aq-muted)); cursor: pointer; }
.akv-reg-cta__zar .ikon { width: 18px; height: 18px; }
@media (prefers-reduced-motion: no-preference) { .akv-reg-cta { animation: akv-cta-be .28s cubic-bezier(.2, .8, .2, 1); } }
@keyframes akv-cta-be { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

.akv-telepito {
  position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 200;
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px; max-width: 620px; margin: 0 auto; padding: 14px 16px;
  border-radius: var(--radius-md); background: var(--aq-deep); color: #fff; box-shadow: var(--shadow-raised);
}
body.app .akv-telepito { bottom: calc(84px + env(safe-area-inset-bottom)); }
.akv-telepito img { flex: none; border-radius: 12px; }
.akv-telepito > div:nth-child(2) { flex: 1 1 220px; display: grid; gap: 2px; }
.akv-telepito span { color: rgba(238, 241, 234, .8); font-size: .875rem; }
.akv-telepito__gombok { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; flex: 1 1 100%; }
.akv-telepito__gombok .gomb { min-height: 44px; }
.akv-telepito .akv-link-gomb { min-height: 44px; color: #fff; }
.akv-telepito .akv-link-gomb:last-child { color: rgba(238, 241, 234, .75); }
.akv-lepesek-lista { display: grid; gap: 10px; margin: 0 0 16px; padding-left: 1.3em; line-height: 1.45; }

/* ---------- Csillagválasztó, nyitva-jel ---------- */

.csillag-valaszto { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 4px; margin: 0; padding: 0; border: 0; }
.csillag-valaszto legend { width: 100%; margin-bottom: 6px; font-weight: 800; }
.csillag-valaszto input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.csillag-valaszto label { display: grid; place-items: center; width: 48px; height: 48px; font-size: 2rem; color: #C9D2CB; cursor: pointer; }
.csillag-valaszto input:checked ~ label, .csillag-valaszto label:hover, .csillag-valaszto label:hover ~ label { color: var(--td-figyelem-szoveg, #E0A21B); }
.csillag-valaszto input:focus-visible + label { outline: 3px solid var(--aq-accent); border-radius: 8px; }
/* A nyitvatartási jelző pötty / karika nélkül: az állapotot a szöveg és a szín mondja ki (projektgazdai kérés, 2026-10-23). */
.nyitva-jel { display: inline-flex; align-items: center; padding: 2px 10px; border-radius: 999px; background: var(--td-felulet-2, var(--aq-surface)); font-size: .875rem; font-weight: 800; }
.nyitva-jel--nyitva { background: var(--td-siker-halvany, #DDEFD9); color: var(--td-siker-szoveg, #1F5A2E); }
.nyitva-jel--zarva { background: var(--td-hiba-halvany, #F4E4DF); color: var(--td-hiba-szoveg, #7E2A18); }
.nyitva-jel--nagy { font-size: 1rem; padding: 6px 14px; margin: 0 0 10px; }

@media (prefers-reduced-motion: reduce) {
  .akv-kapcsolo__csuszka, .akv-kapcsolo__csuszka::after, .akv-kartya > summary::after { transition: none; }
}

/* ---------- Profil: fejléc, modulcsempék, modulnézet ---------- */

.pr-hub[hidden], .pr-modul[hidden] { display: none; }
.pr-fej { display: flex; align-items: center; gap: 16px; margin: 4px 0 16px; padding: 16px; border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--aq-water-deep), var(--aq-deep)); color: #fff; }
.pr-fej__avatar { position: relative; display: grid; flex: none; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: rgba(255, 255, 255, .12); }
.pr-fej__avatar > img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.pr-fej__avatar > .ikon { width: 36px; height: 36px; color: var(--aq-accent-vilagos); }
.pr-fej__kepgomb { position: absolute; right: -4px; bottom: -4px; display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid var(--aq-deep); border-radius: 50%; background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-deep)); cursor: pointer; }
.pr-fej__kepgomb .ikon { width: 16px; height: 16px; }
.pr-fej__kepgomb input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.pr-fej__kepgomb:focus-within { outline: 3px solid var(--aq-accent-vilagos); outline-offset: 2px; }
.pr-fej__nev { display: grid; gap: 2px; min-width: 0; }
.pr-fej__nev strong { font-size: 1.2rem; line-height: 1.25; }
.pr-fej__nev .akv-link-gomb { justify-self: start; min-height: 32px; padding: 0; color: var(--aq-accent-vilagos); }
.pr-fej__nev .gomb { justify-self: start; margin-top: 6px; border-color: rgba(255, 255, 255, .5); color: #fff; }
.pr-fej { align-items: flex-start; }
.pr-fej__gombok { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 8px; }
.pr-fej__gombok .gomb { margin: 0; }
.pr-fej__gombok .gomb .ikon { width: 16px; height: 16px; }
/* Saját adatok a fejlécben: a teljes e-mail cím mindig látszik, hosszú címnél kulturáltan tördelve. */
.pr-adatlista { display: grid; gap: 4px; margin: 6px 0 0; }
.pr-adatlista > div { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 8px; align-items: baseline; }
.pr-adatlista dt { color: rgba(255, 255, 255, .62); font-size: .78rem; font-weight: 700; }
.pr-adatlista dd { margin: 0; min-width: 0; font-size: .9rem; overflow-wrap: anywhere; }
.pr-email { overflow-wrap: anywhere; word-break: break-word; }
.pr-allapot { display: inline-block; margin-left: 2px; padding: 1px 8px; border-radius: 999px; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.pr-allapot--ok { background: var(--td-teal-attetszo, rgba(159, 211, 201, .22)); color: var(--aq-accent-vilagos); }
.pr-allapot--var { background: var(--td-figyelem-attetszo, rgba(232, 180, 120, .22)); color: #F2C58F; }
.pr-nincs { color: rgba(255, 255, 255, .6); font-style: italic; }
.pr-osszegzo { margin: 0 0 14px; padding: 12px 0; border-block: 1px solid var(--td-keret, var(--aq-line)); }
.pr-osszegzo .pr-adatlista dt, .pr-adatlista--doboz dt { color: var(--td-halk, var(--aq-muted)); }
.pr-osszegzo .pr-allapot--ok, .pr-adatlista--doboz .pr-allapot--ok { background: var(--td-teal-halvany, #DDF0EA); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.pr-osszegzo .pr-allapot--var { background: var(--td-figyelem-halvany, #FBEBD6); color: var(--td-figyelem-szoveg, #8A5316); }
.pr-osszegzo .pr-nincs, .pr-adatlista--doboz .pr-nincs { color: var(--td-halk, var(--aq-muted)); }
.pr-adatlista--doboz { margin: 0 0 6px; padding: 12px 0; border-block: 1px solid var(--td-keret, var(--aq-line)); }
.pr-jelenlegi { margin: 0 0 10px; color: var(--td-halk, var(--aq-muted)); font-size: .92rem; }
.pr-jelenlegi .pr-email { color: var(--td-szoveg, var(--aq-text)); font-weight: 700; }
.pr-figyelmeztetes { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 10px 14px; border-radius: var(--radius-sm); background: var(--td-figyelem-halvany, #FBEBD6); color: var(--td-figyelem-szoveg, #6E4212); font-weight: 700; }
.pr-figyelmeztetes .ikon { width: 18px; height: 18px; flex: none; }

/* Piactéri kitöltöttség: mi hiányzik, és egy gomb a hiányzó adathoz. */
.pr-kitoltes { display: grid; gap: 10px; margin: 0 0 18px; padding: 0 0 16px; border-bottom: 1px solid var(--td-keret, var(--aq-line)); }
.pr-kitoltes p { margin: 0; font-size: .92rem; }
.pr-kitoltes .gomb { justify-self: start; }

/* Csoportosított profilmenü (nem csempék): csoportcím + egymás alatti, teljes szélességű sorok. */
.pr-csoport { margin: 0 0 18px; }
.pr-csoport__cim { margin: 0 0 8px; padding: 0; color: var(--td-halk, var(--aq-muted)); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.pr-csoport .akv-kitoltes { margin: 0 0 8px; }
.pr-sorok { margin: 0; padding: 0; list-style: none; border-block: 1px solid var(--td-keret, var(--aq-line)); }
.pr-sorok li + li { border-top: 1px solid var(--td-keret, var(--aq-line)); }
.pr-sor { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 60px; padding: 8px 2px 8px 0; border: 0; background: none; color: var(--td-szoveg, var(--aq-text)); font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.pr-sor:hover { background: var(--td-hatter, var(--aq-paper)); }
.pr-sor:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: -3px; }
.pr-sor > .ikon { flex: none; width: 18px; height: 18px; color: var(--td-halk, var(--aq-muted)); }
.pr-sor__ikon { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 11px; background: var(--td-teal-halvany, #E2F0EE); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.pr-sor__ikon .ikon { width: 21px; height: 21px; }
.pr-sor__szoveg { display: grid; flex: 1; gap: 1px; min-width: 0; }
.pr-sor__szoveg strong { font-size: .97rem; line-height: 1.25; }
.pr-sor__szoveg small { color: var(--td-halk, var(--aq-muted)); font-size: .82rem; line-height: 1.3; overflow-wrap: anywhere; }
.pr-sor__szoveg small.pr-sor__hiany { color: var(--td-figyelem-szoveg, #9A5A12); font-weight: 700; }
.pr-tamogatas { display: flex; align-items: center; gap: 14px; margin: 0 0 12px; padding: 14px 0; border-block: 1px solid var(--td-keret, var(--aq-line)); color: var(--td-szoveg, var(--aq-text)); text-decoration: none; }
.pr-tamogatas > .ikon:first-child { flex: none; width: 30px; height: 30px; color: var(--aq-plant); }
.pr-tamogatas > .ikon:last-child { flex: none; width: 18px; height: 18px; margin-left: auto; color: var(--td-halk, var(--aq-muted)); }
.pr-tamogatas span { display: grid; gap: 2px; }
.pr-tamogatas small { color: var(--td-halk, var(--aq-muted)); font-size: .85rem; line-height: 1.4; }
.pr-modul__fej { display: grid; gap: 2px; margin: 0 0 14px; }
.pr-modul__fej h2 { margin: 0; font-size: 1.45rem; }
.pr-modul__fej h2:focus { outline: none; }
.pr-vissza { display: inline-flex; align-items: center; gap: 4px; justify-self: start; min-height: 44px; padding: 0 8px 0 0; border: 0; background: none; color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font: inherit; font-weight: 800; cursor: pointer; }
.pr-vissza .ikon { width: 18px; height: 18px; }
.pr-bevezeto { margin: -6px 0 12px; color: var(--td-halk, var(--aq-muted)); }
.pr-alcim { margin: 18px 0 10px; font-size: 1rem; }
.pr-modul__torzs > .pr-alcim:first-child, .pr-urlap:first-child .pr-alcim { margin-top: 0; }
.pr-urlap { margin: 0 0 14px; padding: 16px; border-radius: var(--radius-md); background: var(--td-felulet, #fff); }
.pr-kapcsolok { padding: 4px 16px 12px; border-radius: var(--radius-md); background: var(--td-felulet, #fff); }
.pr-lista { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pr-lista li { display: grid; gap: 2px; padding: 12px 14px; border-radius: var(--radius-md); background: var(--td-felulet, #fff); }
.pr-lista a { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; min-height: 44px; color: inherit; text-decoration: none; }
.pr-lista small { color: var(--td-halk, var(--aq-muted)); }
.pr-csillagok { color: var(--td-figyelem-szoveg, #C9901B); letter-spacing: .08em; }
.akv-kitoltes { margin: 0 0 14px; padding: 0; }
.akv-javaslatok { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: -4px 0 12px; font-size: .875rem; color: var(--td-halk, var(--aq-muted)); }
.akv-chip-gomb { min-height: 36px; padding: 0 12px; 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: inherit; font-weight: 700; cursor: pointer; }
.akv-chip-gomb:hover { border-color: var(--aq-accent-sotet); }

.pr-modul--reszlet > .pr-modul__fej { display: none; }

.akv-mezo__sugo .ikon { width: 16px; height: 16px; margin-right: 4px; vertical-align: -3px; }

.akv-lepesek { display: flex; gap: 6px; margin: 0 0 14px; padding: 0; list-style: none; counter-reset: lepes; }
.akv-lepesek li { display: flex; flex: 1; align-items: center; gap: 8px; padding-top: 8px; border-top: 4px solid var(--td-keret, var(--aq-line)); color: var(--td-halk, var(--aq-muted)); font-size: .8125rem; font-weight: 800; counter-increment: lepes; }
.akv-lepesek li::before { content: counter(lepes); display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--td-felulet-2, var(--aq-surface)); font-size: .75rem; }
.akv-lepesek li[aria-current="step"] { border-top-color: var(--aq-accent-sotet); color: var(--td-szoveg, var(--aq-text)); }
.akv-lepesek li[aria-current="step"]::before { background: var(--aq-accent-sotet); color: #fff; }

@media (min-width: 760px) {
  /* Asztalon / szélesebb lapon a csoportok két oszlopban; ugyanaz az adat és funkciókészlet, mint mobilon. */
  .pr-hub { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; align-items: start; }
  .pr-hub > .pr-fej, .pr-hub > .pr-kitoltes, .pr-hub > .pr-tamogatas, .pr-hub > .akv-kilepes { grid-column: 1 / -1; }
}
.akv-jelszo { position: relative; }
.akv-jelszo input { padding-right: 52px; }
.akv-jelszo__gomb { position: absolute; top: 50%; right: 4px; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 10px; background: none; color: var(--td-halk, var(--aq-muted)); cursor: pointer; transform: translateY(-50%); }
.akv-jelszo__gomb:hover, .akv-jelszo__gomb[aria-pressed="true"] { color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.akv-jelszo__gomb .ikon { width: 20px; height: 20px; }

/* Hálózati állapot (ADOK_VESZEK_PIACTER_SPEC §46.4): offline jelzés; a hálózatot igénylő műveletek tiltva. */
.akv-offline { position: fixed; left: 12px; right: 12px; top: calc(10px + env(safe-area-inset-top)); z-index: 250; display: flex; align-items: flex-start; gap: 10px; max-width: 640px; margin: 0 auto; padding: 12px 14px; border-radius: 14px; background: var(--aq-deep); color: #fff; font-weight: 700; font-size: .92rem; box-shadow: var(--shadow-raised); }
.akv-offline[hidden] { display: none; }
.akv-offline .ikon { width: 20px; height: 20px; flex: none; color: #F4C95D; }
[data-online-kell][aria-disabled="true"] { cursor: not-allowed; opacity: .55; }
.pr-sor__jelveny { display: inline-grid; place-items: center; flex: none; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 999px; background: #C4513A; color: #fff; font-size: .75rem; font-weight: 800; line-height: 1; }
.pr-sor__jelveny[hidden] { display: none; }
.pr-fej__gombok .gomb { white-space: nowrap; }
@media (max-width: 399px) {
  .pr-fej { gap: 12px; padding: 14px; }
  .pr-fej__avatar { width: 56px; height: 56px; }
  .pr-fej__avatar > .ikon { width: 28px; height: 28px; }
  .pr-adatlista > div { grid-template-columns: 54px minmax(0, 1fr); gap: 6px; }
}

/* ---------- Beállítássor, műveletlap, megerősítő lap (web és PWA közös; PWA_UX_UI_MASTER_AUDIT §13) ---------- */
/* Sorlista: elválasztós sorok az oldal (vagy a lap) hátterén — nem doboz (projektgazdai UX-szabály, 2026-09-30). */
.app-sorlista { display: grid; margin: 0; padding: 0; list-style: none; border-block: 1px solid var(--td-keret, var(--aq-line)); }
.app-sorlista > li + li { border-top: 1px solid var(--td-keret, var(--aq-line)); }
.app-sorlista .app-sor { padding-left: 0; padding-right: 2px; }
.app-sor {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 56px; padding: 8px 12px 8px 14px;
  border: 0; background: none; color: var(--td-szoveg, var(--aq-text)); font: inherit; text-align: left; text-decoration: none; cursor: pointer;
}
.app-sor:hover { background: var(--td-felulet-2, #F6F8F5); }
.app-sor:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: -3px; }
.app-sor__ikon { display: grid; flex: none; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--td-teal-halvany, #E2F0EE); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.app-sor__ikon .ikon { width: 20px; height: 20px; }
.app-sor__szoveg { display: grid; flex: 1; gap: 1px; min-width: 0; }
.app-sor__szoveg strong { font-size: .98rem; }
.app-sor__szoveg small { color: var(--td-halk, var(--aq-muted)); font-size: .82rem; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.app-sor > .ikon:last-child { flex: none; width: 18px; height: 18px; color: var(--td-halk, var(--aq-muted)); }
.app-sor--veszely, .app-sor--veszely .app-sor__ikon { color: var(--td-hiba-szoveg, #A3372A); }
.app-sor--veszely .app-sor__ikon { background: var(--td-hiba-halvany, #FBE9E4); }

/* Műveletlap (AKV.muveletLap) és megerősítő lap (AKV.megerosit): a közös akv-lap, mobilon alsó lapként. */
.app-muveletek { display: grid; margin: 0 -6px; padding: 0; list-style: none; }
.app-muveletek .app-sor { min-height: 52px; padding-left: 8px; border-radius: 14px; }
.app-muveletek .app-sor__szoveg small { white-space: normal; }
.app-megerosit { display: grid; gap: 18px; }
.app-megerosit p { margin: 0; color: var(--td-halk, var(--aq-muted)); line-height: 1.5; }
.app-megerosit__gombok { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.app-megerosit__gombok .gomb { justify-content: center; min-height: 50px; }
.gomb--veszely { border-color: #A3372A; background: #A3372A; color: #fff; }
.gomb--veszely:hover { background: #86291E; }

/* ---------- Profil: összevont Fiók modul szakaszai ---------- */
.pr-szakasz { margin: 0 0 14px; padding: 16px; border-radius: var(--radius-md); background: var(--td-felulet, #fff); }
.pr-szakasz > .pr-alcim { margin-top: 0; }
.pr-szakasz .pr-kapcsolok { padding: 0; }
.pr-szakasz .pr-bevezeto { margin: 0 0 8px; }

/* ---------- Értesítési beállítások csoportosítva: csoportonként Push / E-mail főkapcsoló + lenyíló eseménytáblázat ---------- */
.pr-ertesitesek { display: grid; gap: 12px; }
.pr-ert { padding: 14px 16px 6px; border-radius: var(--radius-md); background: var(--td-felulet, #fff); box-shadow: 0 1px 0 var(--aq-line); }
.pr-ert__cim { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 1.05rem; }
.pr-ert__cim .app-sor__ikon { width: 36px; height: 36px; }
.pr-ert__fok { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
.pr-ert__fo > span:last-child { display: grid; line-height: 1.2; }
.pr-ert__fo small { color: var(--td-halk, var(--aq-muted)); font-size: .78rem; font-weight: 600; }
.akv-kapcsolo input:indeterminate + .akv-kapcsolo__csuszka { background: #8FB9B3; }
.akv-kapcsolo input:indeterminate + .akv-kapcsolo__csuszka::after { transform: translateX(9px); }
.pr-ert__reszlet { border-top: 1px solid var(--td-keret, var(--aq-line)); margin-top: 6px; }
.pr-ert__reszlet > summary { display: flex; align-items: center; gap: 6px; min-height: 44px; color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 800; cursor: pointer; list-style: none; }
.pr-ert__reszlet > summary::-webkit-details-marker { display: none; }
.pr-ert__reszlet > summary small { color: var(--td-halk, var(--aq-muted)); font-weight: 600; }
.pr-ert__reszlet > summary::after { content: ""; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); }
.pr-ert__reszlet[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.pr-ert__tabla { display: grid; padding-bottom: 8px; }
.pr-ert__sor { display: grid; grid-template-columns: minmax(0, 1fr) 52px 52px; align-items: center; min-height: 48px; border-top: 1px solid var(--td-keret, #EDF1EE); }
.pr-ert__sor--fej { min-height: 26px; border-top: 0; color: var(--td-halk, var(--aq-muted)); font-size: .72rem; font-weight: 800; text-align: center; text-transform: uppercase; letter-spacing: .04em; }
.pr-ert__nev { font-size: .9rem; line-height: 1.3; }
.pr-ert__cella { position: relative; display: grid; place-items: center; justify-self: center; width: 44px; height: 44px; cursor: pointer; }
.pr-ert__cella input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.pr-ert__jel { display: grid; place-items: center; width: 26px; height: 26px; border: 2px solid var(--td-keret, #BFCBC3); border-radius: 8px; background: var(--td-felulet, #fff); color: transparent; }
.pr-ert__jel .ikon { width: 16px; height: 16px; }
.pr-ert__cella input:checked ~ .pr-ert__jel { border-color: var(--aq-accent-sotet); background: var(--aq-accent-sotet); color: #fff; }
.pr-ert__cella input:focus-visible ~ .pr-ert__jel { outline: 3px solid var(--aq-accent); outline-offset: 2px; }
.pr-ert__cella--nincs { color: #B7C2BB; cursor: default; }

/* ---------- Érdeklődéseim: kereső + összecsukható csoportok ---------- */
.pr-erd__kereso { position: relative; display: flex; align-items: center; margin: 4px 0 4px; }
.pr-erd__kereso > .ikon { position: absolute; left: 14px; width: 20px; height: 20px; color: var(--td-halk, var(--aq-muted)); pointer-events: none; }
.pr-erd__kereso input { width: 100%; min-height: 48px; padding: 0 14px 0 44px; border: 1px solid var(--td-keret, var(--aq-line)); border-radius: 999px; background: var(--td-felulet, #fff); font: inherit; }
.pr-erd__sugo { margin: 0 0 10px; }
.pr-erd { margin: 0 0 10px; border-radius: var(--radius-md); background: var(--td-felulet, #fff); box-shadow: 0 1px 0 var(--aq-line); }
.pr-erd[hidden], .akv-chip[hidden] { display: none; }
.pr-erd > summary { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 8px 14px; cursor: pointer; list-style: none; }
.pr-erd > summary::-webkit-details-marker { display: none; }
.pr-erd > summary::after { content: ""; flex: none; width: 9px; height: 9px; border-right: 2px solid var(--aq-muted); border-bottom: 2px solid var(--aq-muted); transform: rotate(45deg) translateY(-3px); }
.pr-erd[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.pr-erd__cim { display: grid; flex: 1; min-width: 0; font-weight: 800; }
.pr-erd__cim small { color: var(--td-halk, var(--aq-muted)); font-weight: 600; font-size: .78rem; }
.pr-erd__db { flex: none; color: var(--td-halk, var(--aq-muted)); font-size: .8rem; font-weight: 700; }
.pr-erd .akv-chipek-csoport { margin: 0; padding: 0 14px 12px; }
.pr-erd__nincs { margin: 0; color: var(--td-halk, var(--aq-muted)); font-size: .88rem; }
.pr-erd__torol { min-height: 44px; margin-top: 4px; }
/* Ajánlatkártya szövegközi linkjei (bolt, cím): 44 px-es érintési magasság a sorköz megváltoztatása nélkül. */
.akv-ajanlat__cim a, .akv-ajanlat__uzlet a { display: inline-block; padding: 12px 0; margin: -12px 0; }

/* ---------- Fiók és személyes adatok (§47.17): profilkép, mentés csak változásnál, beállítássor-kapcsolók, fióktörlés ---------- */

/* A mentés gomb csak akkor látszik, ha az űrlap valóban módosult (AKV.valtozasFigyelo). */
.akv-urlap [type="submit"][hidden] { display: none; }
.akv-urlap--valtozott [type="submit"] { animation: pr-gomb-be .15s ease-out; }
@keyframes pr-gomb-be { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .akv-urlap--valtozott [type="submit"] { animation: none; } }

.pr-fej__kepgomb::before { content: ""; position: absolute; inset: -6px; }
.pr-fej__kepgomb:focus-visible { outline: 3px solid var(--aq-accent-vilagos); outline-offset: 2px; }

.pr-avatar { display: flex; align-items: center; gap: 16px; }
.pr-avatar__kep {
  position: relative; display: grid; flex: none; place-items: center; width: 80px; height: 80px; padding: 0;
  border: 0; border-radius: 50%; background: var(--td-teal-halvany, #E2F0EE); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); cursor: pointer;
}
.pr-avatar__kep > img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.pr-avatar__kep > .ikon { width: 36px; height: 36px; }
.pr-avatar__kep:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: 3px; }
.pr-avatar__jel {
  position: absolute; right: -2px; bottom: -2px; display: grid; place-items: center; width: 30px; height: 30px;
  border: 2px solid var(--td-keret, #fff); border-radius: 50%; background: var(--aq-accent-sotet); color: #fff;
}
.pr-avatar__jel .ikon { width: 14px; height: 14px; }
.pr-avatar__adatok { display: grid; justify-items: start; gap: 2px; min-width: 0; }
.pr-avatar__nev { font-size: 1.05rem; line-height: 1.25; overflow-wrap: anywhere; }
.pr-avatar__email { color: var(--td-halk, var(--aq-muted)); font-size: .875rem; overflow-wrap: anywhere; }
.pr-avatar__torles { min-height: 44px; margin: -8px 0 -12px; padding: 0; border: 0; background: none; color: var(--td-halk, var(--aq-muted)); font: inherit; font-size: .8125rem; text-decoration: underline; cursor: pointer; }
.pr-avatar__torles:hover { color: var(--td-hiba-szoveg, #A3372A); }

/* A Fiók modul bevezető és magyarázó szövegei egységesen a kisebb, halvány méretben. */
.pr-modul .pr-modul__torzs > .pr-bevezeto, .pr-modul .pr-szakasz .pr-bevezeto, .pr-modul .pr-szakasz .akv-kartya__sugo { margin: 0 0 10px; color: var(--td-halk, var(--aq-muted)); font-size: .875rem; line-height: 1.5; }
.pr-privat { display: flex; align-items: flex-start; gap: 6px; }
.pr-privat .ikon { flex: none; width: 15px; height: 15px; margin-top: 2px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }

/* Beállítássor: bal oldalt a cím és a magyarázat a többi szöveggel azonos méretben, jobb oldalt a kapcsoló. */
.pr-kapcsolok { display: grid; margin: 0 0 6px; padding: 0; border-radius: 0; background: none; }
.pr-kapcsolo { justify-content: space-between; gap: 14px; min-height: 60px; padding: 8px 0; font-weight: 400; }
.pr-kapcsolo + .pr-kapcsolo { border-top: 1px solid var(--td-keret, #E6ECE7); }
/* Megjelenés (sötét mód): a Profil sorlistájával azonos keretezésű egy kapcsolós sor. */
.pr-megjelenes__kapcsolo { border-block: 1px solid var(--t-keret); }
.pr-megjelenes__kapcsolo .pr-kapcsolo { padding: 8px 2px 8px 0; }
.pr-kapcsolo__szoveg { display: grid; gap: 1px; min-width: 0; }
.pr-kapcsolo__szoveg strong { font-size: .9375rem; font-weight: 700; }
.pr-kapcsolo__szoveg small { color: var(--td-halk, var(--aq-muted)); font-size: .8125rem; }
.pr-mentve { display: inline-flex; align-items: center; gap: 4px; margin: 0 0 6px; color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-size: .8125rem; font-weight: 800; visibility: hidden; opacity: 0; transition: opacity .15s; }
/* A helye mindig fenn van tartva: a felvillanó jelzés nem mozdítja el a tartalmat. */
.pr-mentve--lathato { visibility: visible; opacity: 1; }
.pr-mentve .ikon { width: 15px; height: 15px; }

.gomb--veszely-korvonal { justify-content: center; border: 1.5px solid #A3372A; background: var(--td-felulet, #fff); color: var(--td-hiba-szoveg, #A3372A); }
.gomb--veszely-korvonal:hover { background: var(--td-hiba-halvany, #FBE9E4); }
.gomb--veszely-korvonal .ikon { width: 18px; height: 18px; }
.pr-torles { box-shadow: inset 0 0 0 1px #F0CFC7; }
.pr-torles > p { margin: 0 0 12px; color: var(--td-halk, var(--aq-muted)); font-size: .9rem; }
.pr-torles__uzleti { margin: 4px 0 0; }
.pr-torles-urlap > p { margin: 0; font-size: .9375rem; }
.pr-torles__lista { display: grid; gap: 4px; margin: -6px 0 0; padding-left: 1.1em; font-size: .9rem; }
.pr-torles__gombok { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 4px; }
.pr-torles__gombok .gomb { justify-content: center; min-height: 50px; }
.pr-torles__kesz h3 { margin: 0; color: var(--td-szoveg, var(--aq-text)); }

/* Profilkép-vágó (AKV.kepVago): négyzetes színpad, kör alakú kivágás, a kép húzható és nagyítható. */
.akv-lap--kepvago .akv-lap__torzs { padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
.kv { display: grid; gap: 14px; justify-items: center; }
.kv__sugo { margin: 0; color: var(--td-halk, var(--aq-muted)); font-size: .875rem; text-align: center; }
.kv__szinpad {
  position: relative; width: min(100%, 320px); aspect-ratio: 1; overflow: hidden; border-radius: 16px;
  background: #0D1A17; cursor: grab; touch-action: none; user-select: none;
}
.kv__szinpad--huz { cursor: grabbing; }
.kv__szinpad:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: 3px; }
.kv__kep { position: absolute; left: 50%; top: 50%; max-width: none; transform-origin: center; pointer-events: none; }
.kv__maszk { position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 999px rgba(13, 26, 23, .58); outline: 2px solid rgba(255, 255, 255, .85); outline-offset: -2px; pointer-events: none; }
.kv__vezerlok { display: flex; align-items: center; gap: 8px; width: min(100%, 360px); }
.kv__csuszka { flex: 1; min-width: 0; height: 44px; accent-color: var(--aq-accent-sotet); }
.kv__forgat { flex: none; }
.kv__gombok { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: min(100%, 360px); }
.kv__gombok .gomb { justify-content: center; min-height: 50px; }

/* Értesítési beállítások (§47.17): push-kártya bekapcsolás előtt, csak-e-mail mód, „mindig” (YouTube-videó), eszközdoboz. */
.pr-push-kartya { display: grid; justify-items: center; gap: 8px; margin: 0 0 16px; padding: 22px 18px; border-radius: var(--radius-lg); background: var(--td-felulet, #fff); box-shadow: var(--app-arny-1, 0 1px 2px rgba(13, 26, 23, .06), 0 0 0 1px rgba(212, 221, 214, .7)); text-align: center; }
.pr-push-kartya--lap { padding: 4px 0 0; box-shadow: none; background: none; }
.pr-push-kartya__ikon { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--td-teal-halvany, #E2F0EE); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.pr-push-kartya__ikon .ikon { width: 30px; height: 30px; }
.pr-push-kartya__cim { margin: 4px 0 0; font-size: 1.15rem; }
.pr-push-kartya__szoveg { max-width: 40ch; margin: 0 0 6px; color: var(--td-halk, var(--aq-muted)); font-size: .9rem; line-height: 1.5; }
.pr-push-kartya .gomb { justify-content: center; min-height: 50px; }
.pr-ert__email-cim { display: none; }
.pr-ertesitesek--csak-email .pr-ert__email-cim { display: block; margin-top: 0; }
.pr-ertesitesek--csak-email .pr-ert__fo:has(input[data-csatorna="push"]) { display: none; }
.pr-ertesitesek--csak-email .pr-ert__sor { grid-template-columns: minmax(0, 1fr) 52px; }
.pr-ertesitesek--csak-email .pr-ert__sor > :nth-child(2) { display: none; }
.pr-ert__cella--mindig { color: var(--td-halk, var(--aq-muted)); font-size: .72rem; font-weight: 800; text-align: center; }
.pr-push-eszkoz { margin-top: 16px; }
.pr-push-eszkoz .pr-alcim { margin-top: 0; }

/* Adatlap igénylése (STORE_COMMUNITY_PWA_SYSTEM §47.19): adatbekérő űrlap szakaszkártyákkal, képfeltöltő csempékkel. */
@media (min-width: 720px) {
  .akv-lap--igenyles { width: min(640px, calc(100% - 32px)); }
}
.ig-toltes { margin: 8px 0; color: var(--td-halk, var(--aq-muted)); }
.ig-urlap { gap: 16px; }
.ig-szakasz { display: grid; gap: 14px; min-width: 0; margin: 0; padding: 16px; border: 0; border-radius: var(--radius-lg); background: var(--td-felulet, #fff); box-shadow: 0 1px 2px rgba(13, 26, 23, .06), 0 0 0 1px rgba(212, 221, 214, .7); }
.ig-szakasz > legend { float: left; width: 100%; margin: 0; padding: 0; font-size: 1.05rem; font-weight: 800; }
.ig-szakasz > legend small { color: var(--td-halk, var(--aq-muted)); font-weight: 600; font-size: .85rem; }
.ig-kepcsoport { display: grid; gap: 8px; }
.ig-kepcsoport__cim { font-weight: 700; font-size: .95rem; }
.ig-kepcsoport__cim small { color: var(--td-halk, var(--aq-muted)); font-weight: 600; }
.ig-kepsor { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ig-kep, .ig-kep-uj { width: 88px; height: 88px; border-radius: var(--radius-sm); }
.ig-kep { position: relative; overflow: hidden; background: var(--td-felulet-2, var(--aq-surface)); }
.ig-kep img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ig-kep--tolt img { opacity: .45; }
.ig-kep__torol { position: absolute; top: 4px; right: 4px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: rgba(13, 26, 23, .72); color: #fff; cursor: pointer; }
.ig-kep__torol .ikon { width: 16px; height: 16px; }
.ig-kep__folyamat { position: absolute; inset: 0; margin: auto; width: 28px; height: 28px; border: 3px solid rgba(255, 255, 255, .7); border-top-color: var(--aq-accent-sotetebb); border-radius: 50%; }
@media (prefers-reduced-motion: no-preference) {
  .ig-kep__folyamat { animation: ig-forgas .8s linear infinite; }
}
@keyframes ig-forgas { to { transform: rotate(360deg); } }
.ig-kep-uj { display: grid; place-content: center; justify-items: center; gap: 4px; padding: 0; border: 1.5px dashed var(--td-keret, #B7C5BD); background: var(--td-hatter, var(--aq-paper)); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; }
.ig-kep-uj .ikon { width: 22px; height: 22px; }
.ig-kep-uj:hover, .ig-kep-uj:focus-visible { border-color: var(--aq-accent-sotetebb); background: var(--td-felulet-2, #EEF6F4); }
.ig-kesz { display: grid; justify-items: center; gap: 10px; padding: 28px 4px 8px; text-align: center; }
.ig-kesz p { max-width: 42ch; margin: 0 0 8px; color: var(--td-halk, var(--aq-muted)); line-height: 1.5; }
.ig-kesz__ikon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--td-teal-halvany, #E2F0EE); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.ig-kesz__ikon .ikon { width: 32px; height: 32px; }
.ig-kesz__cim { margin: 4px 0 0; font-size: 1.2rem; }

/* ---------- Akváriumaim (STORE_COMMUNITY_PWA_SYSTEM §47.20): lista → összegző → alsó lapok ---------- */
.ak-lista { display: grid; gap: 10px; margin: 0 0 14px; padding: 0; list-style: none; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.ak-kartya { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 92px; padding: 10px 12px 10px 10px; border: 0; border-radius: var(--radius-md); background: var(--td-felulet, #fff);
  box-shadow: 0 1px 2px rgba(13, 26, 23, .06), 0 0 0 1px rgba(212, 221, 214, .7); color: var(--td-szoveg, var(--aq-text)); font: inherit; text-align: left; cursor: pointer; }
.ak-kartya:hover { background: var(--td-felulet-2, #FBFCFA); }
.ak-kartya:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: 2px; }
.ak-kartya--inaktiv { opacity: .65; }
.ak-kartya__kep { display: grid; flex: none; place-items: center; width: 72px; height: 72px; overflow: hidden; border-radius: 14px; background: linear-gradient(160deg, #2A6A73, var(--aq-water-deep)); }
.ak-kartya__kep img { width: 100%; height: 100%; object-fit: cover; }
.ak-kartya__kep .ikon { width: 32px; height: 32px; color: rgba(255, 255, 255, .6); }
.ak-kartya__szoveg { display: grid; flex: 1; gap: 2px; min-width: 0; }
.ak-kartya__szoveg strong { overflow: hidden; font-size: 1.02rem; white-space: nowrap; text-overflow: ellipsis; }
.ak-kartya__szoveg small { color: var(--td-halk, var(--aq-muted)); font-size: .85rem; }
.ak-kartya__szoveg .ak-kartya__szam { color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-size: .8rem; font-weight: 700; }
.ak-kartya > .ikon:last-child { flex: none; width: 18px; height: 18px; color: var(--td-halk, var(--aq-muted)); }
.ak-uj-gomb { justify-content: center; }
.ak-ures-kartya { display: grid; justify-items: center; gap: 8px; padding: 28px 20px; border-radius: var(--radius-md); background: var(--td-felulet, #fff); text-align: center;
  box-shadow: 0 1px 2px rgba(13, 26, 23, .06), 0 0 0 1px rgba(212, 221, 214, .7); }
.ak-ures-kartya > .ikon { width: 48px; height: 48px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.ak-ures-kartya h3 { margin: 0; font-size: 1.15rem; }
.ak-ures-kartya p { max-width: 36ch; margin: 0 0 8px; color: var(--td-halk, var(--aq-muted)); line-height: 1.5; }
.ak-ures-kartya .gomb { justify-content: center; }

.ak-osszegzo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.ak-hos { overflow: hidden; border-radius: var(--radius-md); background: var(--aq-water-deep); }
.ak-hos__kep { position: relative; display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.ak-hos__kep img, .ak-hos__toltes img { display: block; width: 100%; aspect-ratio: 16 / 10; max-height: 380px; object-fit: cover; }
.ak-hos__kep:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: -3px; }
.ak-hos__db { position: absolute; right: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px;
  background: rgba(8, 20, 18, .72); color: #fff; font-size: .8rem; font-weight: 800; }
.ak-hos__db .ikon { width: 16px; height: 16px; }
.ak-hos__ures { position: relative; display: grid; place-content: center; justify-items: center; gap: 4px; aspect-ratio: 16 / 9; border: 2px dashed var(--td-keret, #B7C8BE); border-radius: var(--radius-md);
  background: var(--td-hatter, var(--aq-paper)); color: var(--td-halk, var(--aq-muted)); font-size: .875rem; text-align: center; cursor: pointer; }
.ak-hos:has(.ak-hos__ures) { background: none; }
.ak-hos__ures input, .ak-fotosor__uj input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ak-hos__ures:focus-within, .ak-fotosor__uj:focus-within { outline: 3px solid var(--aq-accent-sotet); outline-offset: 2px; }
.ak-hos__ures > .ikon { width: 36px; height: 36px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.ak-hos__ures strong { color: var(--td-szoveg, var(--aq-text)); font-size: 1rem; }
.ak-hos__toltes { position: relative; }
.ak-hos__toltes img, .ak-fotosor__toltes img { opacity: .55; }
.ak-toltes-jel { position: absolute; inset: 0; width: 30px; height: 30px; margin: auto; border: 3px solid rgba(255, 255, 255, .75); border-top-color: var(--aq-accent-sotetebb); border-radius: 50%; }
@media (prefers-reduced-motion: no-preference) { .ak-toltes-jel { animation: ak-forgas .8s linear infinite; } }
@keyframes ak-forgas { to { transform: rotate(360deg); } }

/* Akvárium-mustra a saját szerkesztőben (§48.2): láthatósági blokk, minőségi kapu, „mi lesz nyilvános” lap. */
.akv-mezo__cimke { font-weight: 800; font-size: .95rem; }
.ak-mustra { padding: 14px; border-radius: var(--radius-md); background: var(--td-felulet, #fff); box-shadow: 0 1px 2px rgba(13, 26, 23, .06), 0 0 0 1px rgba(212, 221, 214, .7); }
.ak-mustra p { margin: 0 0 10px; color: var(--td-halk, var(--aq-muted)); font-size: .9rem; line-height: 1.45; }
.ak-mustra__jel { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; background: var(--td-felulet-2, var(--aq-surface)); color: var(--td-szoveg, var(--aq-text)); font-size: .78rem; font-weight: 800; }
.ak-mustra__jel .ikon { width: 14px; height: 14px; }
.ak-mustra--nyilvanos .ak-mustra__jel { background: var(--aq-deep); color: #fff; }
.ak-mustra--nyilvanos .ak-mustra__jel .ikon { color: var(--aq-accent-vilagos); }
.ak-mustra--figyel .ak-mustra__jel { background: var(--td-figyelem-halvany, #FBEBD3); color: var(--td-figyelem-szoveg, #7A4A12); }
.ak-mustra--tiltva .ak-mustra__jel { background: var(--td-hiba-halvany, #F6DDD7); color: var(--td-hiba-szoveg, #8A2E1D); }
.ak-mustra__gombok { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.ak-mustra__gombok .akv-link-gomb { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; }
.ak-mustra__gombok .ikon { width: 16px; height: 16px; }
.ak-nyilvanos-jel { display: inline-flex; align-items: center; gap: 3px; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: var(--aq-deep); color: #fff; font-size: .7rem; font-weight: 800; vertical-align: 2px; }
.ak-nyilvanos-jel .ikon { width: 12px; height: 12px; color: var(--aq-accent-vilagos); }
.ak-mustra-lap { display: grid; gap: 10px; }
.ak-mustra-lap p { margin: 0; }
.ak-mustra-lap ul { display: grid; gap: 6px; margin: 0 0 6px; padding-left: 20px; }
.ak-mustra-lap__cim { display: flex; align-items: center; gap: 8px; margin: 6px 0 0; font-size: 1rem; }
.ak-mustra-lap__cim .ikon { width: 18px; height: 18px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.ak-mustra-lap ul.ak-mustra-lap__hianyok { padding: 0; list-style: none; }
.ak-mustra-lap__hianyok li { display: flex; gap: 8px; align-items: flex-start; }
.ak-mustra-lap__hianyok .ikon { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; color: var(--td-figyelem-szoveg, #B9722A); }
.ak-mezo--tech .akv-szegmens { margin-top: 2px; }

.ak-fej { display: grid; gap: 6px; }
.ak-fej__cim { margin: 0; font-size: 1.3rem; }
.ak-fej__cim:focus { outline: none; }
.ak-fej__meta { margin: 0; color: var(--td-halk, var(--aq-muted)); font-size: .95rem; }
.ak-fej__inaktiv { color: var(--td-hiba-szoveg, #A3372A); font-weight: 700; }
.ak-fej__tipusok { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.ak-fej__tipusok span { padding: 3px 10px; border-radius: 999px; background: var(--td-teal-halvany, #E2F0EE); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-size: .78rem; font-weight: 800; }
.ak-fej .gomb { justify-content: center; margin-top: 6px; }

.ak-blokk { padding: 14px 16px; border-radius: var(--radius-md); background: var(--td-felulet, #fff); box-shadow: 0 1px 2px rgba(13, 26, 23, .06), 0 0 0 1px rgba(212, 221, 214, .7); }
.ak-blokk__fej { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 6px; }
.ak-blokk__fej h4 { margin: 0; font-size: 1rem; }
.ak-blokk__fej h4 span { margin-left: 2px; color: var(--td-halk, var(--aq-muted)); font-size: .875rem; font-weight: 700; }
.ak-blokk__fej .pr-mentve { margin: 0; }
.ak-blokk__uj { display: inline-flex; align-items: center; gap: 4px; min-height: 40px; padding: 0 12px; border: 0; border-radius: 999px; background: var(--td-teal-halvany, #E2F0EE);
  color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font: inherit; font-size: .85rem; font-weight: 800; cursor: pointer; }
.ak-blokk__uj .ikon { width: 16px; height: 16px; }
.ak-blokk__ures { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 52px; margin-top: 4px; padding: 8px 12px; border: 1.5px dashed var(--td-keret, #B7C8BE);
  border-radius: 12px; background: var(--td-hatter, var(--aq-paper)); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font: inherit; font-weight: 700; cursor: pointer; }
.ak-blokk__ures .ikon { width: 18px; height: 18px; }
.ak-blokk__uj:focus-visible, .ak-blokk__ures:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: 2px; }
.ak-sorok { margin: 0 -16px -8px; padding: 0; list-style: none; }
.ak-sorok > li + li { border-top: 1px solid var(--td-keret, #E6ECE7); }
.ak-sor { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 56px; padding: 8px 16px; border: 0; background: none; color: var(--td-szoveg, var(--aq-text)); font: inherit; text-align: left; cursor: pointer; }
.ak-sor:hover { background: var(--td-felulet-2, #F6F8F5); }
.ak-sor:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: -3px; }
.ak-sor__szoveg { display: grid; flex: 1; gap: 1px; min-width: 0; }
.ak-sor__szoveg strong { font-size: .96rem; font-weight: 700; }
.ak-sor__szoveg small { color: var(--td-halk, var(--aq-muted)); font-size: .82rem; }
.ak-sor__db { flex: none; padding: 4px 10px; border-radius: 999px; background: var(--td-felulet-2, #EEF2EE); font-size: .85rem; font-weight: 800; }
.ak-sor > .ikon:last-child { flex: none; width: 18px; height: 18px; color: var(--td-halk, var(--aq-muted)); }
.ak-fotosor { display: flex; gap: 8px; margin: 0 -16px; padding: 2px 16px 4px; overflow-x: auto; list-style: none; scroll-snap-type: x proximity; scrollbar-width: none; }
.ak-fotosor::-webkit-scrollbar { display: none; }
.ak-fotosor > li { flex: none; scroll-snap-align: start; }
.ak-fotosor__kep, .ak-fotosor__uj, .ak-fotosor__toltes { position: relative; display: block; width: 84px; height: 84px; overflow: hidden; border-radius: 12px; }
.ak-fotosor__kep { padding: 0; border: 0; background: var(--td-felulet-2, var(--aq-surface)); cursor: pointer; }
.ak-fotosor__kep img, .ak-fotosor__toltes img { width: 100%; height: 100%; object-fit: cover; }
.ak-fotosor__kep:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: 2px; }
.ak-fotosor__fo { position: absolute; left: 4px; top: 4px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--td-felulet-attetszo, rgba(255, 255, 255, .92)); color: var(--td-figyelem-szoveg, #C9901B); }
.ak-fotosor__fo .ikon { width: 14px; height: 14px; }
.ak-fotosor__uj { display: grid; place-content: center; justify-items: center; gap: 2px; border: 1.5px dashed var(--td-keret, #B7C8BE); background: var(--td-hatter, var(--aq-paper)); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-size: .8rem; font-weight: 800; cursor: pointer; }
.ak-fotosor__uj .ikon { width: 22px; height: 22px; }
.ak-beallitasok { margin: 0; }

.ak-alap-urlap { gap: 16px; margin: 0; }
.ak-lap-mentve { margin: 0 4px 0 auto; }
.akv-lap__fej:has(.ak-lap-mentve) .akv-lap__cim { flex: 0 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.akv-sor > .ak-mezo--liter { flex: 0 0 104px; min-width: 0; }
.ak-jelolok { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; margin-top: 2px; }
.ak-jelolo-sor { display: flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 600; cursor: pointer; }
.ak-jelolo-sor input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--aq-accent-sotet); }
.ak-torles { display: flex; align-items: center; gap: 6px; margin: 20px auto 0; }
.ak-atvezetes { display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 12px 14px; border-radius: var(--radius-md); background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-text));
  box-shadow: 0 1px 2px rgba(13, 26, 23, .06), 0 0 0 1px rgba(212, 221, 214, .7); text-decoration: none; }
.ak-atvezetes > span { display: grid; flex: 1; gap: 2px; }
.ak-atvezetes small { color: var(--td-halk, var(--aq-muted)); }
.ak-atvezetes > .ikon { flex: none; width: 22px; height: 22px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.ak-atvezetes > .ikon:last-child { width: 18px; height: 18px; color: var(--td-halk, var(--aq-muted)); }
.ak-archiv { margin: 18px 0 0; }
.ak-archiv > summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 4px; color: var(--td-halk, var(--aq-muted)); font-weight: 700; cursor: pointer; list-style: none; }
.ak-archiv > summary::-webkit-details-marker { display: none; }
.ak-archiv > summary .ikon { width: 20px; height: 20px; }
.ak-archiv > summary:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: 2px; border-radius: 8px; }
.ak-archiv__db { min-width: 24px; padding: 1px 8px; border-radius: 999px; background: rgba(212, 221, 214, .7); color: var(--aq-text); font-size: .8rem; text-align: center; }
.ak-archiv__datum { white-space: nowrap; }
.ak-archiv__sugo { margin: 0 4px 10px; color: var(--td-halk, var(--aq-muted)); font-size: .9rem; }
.ak-kartya--archiv { align-items: flex-start; cursor: default; }
.ak-kartya--archiv:hover { background: var(--td-felulet, #fff); }
.ak-kartya--archiv .ak-kartya__kep { filter: grayscale(.6); opacity: .8; }
.ak-archiv__gombok { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin-top: 8px; }
.ak-archiv__gombok .gomb, .ak-archiv__gombok .akv-link-gomb { min-height: 44px; }
.ak-torles .ikon { width: 18px; height: 18px; }
.ak-szegmens--negy label { padding: 6px 4px; font-size: .9rem; }
.ak-hozzaado { display: grid; gap: 12px; }
.ak-hozzaado > .gomb { justify-content: center; }
.ak-hozzaado__jel { min-height: 1.3em; margin: 0; color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 700; }
.ak-hozzaado__jel:empty { display: none; }
.ak-hozzaado__lista { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ak-hozzaado__lista:empty { display: none; }
.ak-hozzaado__lista li { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; background: var(--td-teal-halvany, #E2F0EE); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-size: .85rem; font-weight: 700; }
.ak-hozzaado__lista .ikon { width: 14px; height: 14px; }
.ak-tetel-lap { display: grid; gap: 14px; }
.ak-tetel-lap__al { margin: -8px 0 0; color: var(--td-halk, var(--aq-muted)); }
.ak-tetel-lap__cimke { margin: 0; font-weight: 800; }
.ak-lepteto { display: grid; grid-template-columns: 56px minmax(0, 1fr) 56px; gap: 8px; }
.ak-lepteto button { display: grid; place-items: center; height: 56px; border: 1.5px solid var(--td-keret, var(--aq-line)); border-radius: 14px; background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-text)); cursor: pointer; }
.ak-lepteto button .ikon { width: 22px; height: 22px; }
.ak-lepteto input { width: 100%; height: 56px; border: 1.5px solid var(--td-keret, var(--aq-line)); border-radius: 14px; font: inherit; font-size: 1.4rem; font-weight: 800; text-align: center; }
.ak-foto-lap { display: grid; gap: 14px; }
.ak-foto-lap > img { width: 100%; max-height: 58vh; object-fit: contain; border-radius: 12px; background: #0D1A17; }
.ak-foto-lap__fo { cursor: default; }
.ak-foto-lap__fo:hover { background: none; }

/* Webes profiloldal (/profil, §47.21–47.22): ugyanaz a panel, mint az appban, keskenyebb hasábban. */
.web-sajat .pr-web__panel { max-width: 760px; }

/* Saját funkció webes kerete (/profil, /kovetesek, /ertesitesek, /eszkozok, a saját piactér — STORE_COMMUNITY_PWA_SYSTEM §47.22). */
.web-sajat main { background: var(--td-hatter, var(--aq-paper)); }
.web-keret { width: min(960px, 100%); margin: 0 auto; padding: 18px 16px 56px; }
.web-keret__fej { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin: 0 0 14px; }
.web-keret__vissza { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font-weight: 800; text-decoration: none; }
.web-keret__vissza svg { width: 20px; height: 20px; }
.web-keret__cim { flex-basis: 100%; margin: 0; font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.2; }
.web-keret__torzs { min-width: 0; }

/* ---------- Beágyazott belépés / regisztráció (§47.22: nem modal) ---------- */
.akv-auth { display: grid; gap: 16px; max-width: 460px; }
.akv-auth__ok { display: flex; gap: 8px; margin: 0; color: var(--td-szoveg, var(--aq-text)); font-weight: 700; }
.akv-auth__ok svg { flex: none; width: 20px; height: 20px; margin-top: 2px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.akv-auth__linkek { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.akv-auth .akv-fulek { margin: 0; }
.akv-auth__hiba { display: flex; gap: 8px; margin: 0; padding: 10px 14px; border-radius: var(--radius-sm); background: var(--td-hiba-halvany, #FBE9E4); color: var(--td-hiba-szoveg, #7E2A18); font-weight: 700; line-height: 1.45; }
.akv-auth__hiba svg { flex: none; width: 20px; height: 20px; margin-top: 1px; }
.akv-auth__cim { margin: 0; font-size: 1.25rem; line-height: 1.3; }
.akv-auth__kulso { display: grid; gap: 14px; margin: 0 0 14px; }
.akv-auth__kulso[hidden] { display: none; }
.akv-auth__vagy { display: flex; align-items: center; gap: 12px; margin: 0; color: var(--td-halk, var(--aq-muted)); font-size: .9rem; }
.akv-auth__vagy::before, .akv-auth__vagy::after { content: ""; flex: 1; border-top: 1px solid var(--td-keret, var(--aq-line)); }
.akv-auth__google-fiok { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--td-halk, var(--aq-muted)); overflow-wrap: anywhere; }
.akv-auth__google-fiok strong { color: var(--td-szoveg, var(--aq-text)); }
.akv-auth__google-fiok .g-gomb__logo { flex: none; width: 20px; height: 20px; }

/* Google-belépés gomb a Google arculati előírása szerint (light téma: fehér kitöltés, #747775 keret, #1F1F1F szöveg,
   eredeti színes „G”, 12 / 10 / 12 px belső térköz). Szélessége a többi elsődleges gombhoz igazodik. */
.g-gomb { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid #747775; border-radius: 22px;
  background: var(--td-felulet, #FFFFFF); color: var(--td-szoveg, #1F1F1F); font: 500 14px/20px "Google Sans", Roboto, Arial, sans-serif; letter-spacing: .25px; cursor: pointer; }
.g-gomb:hover { background: var(--td-felulet-2, #F7F8F8); box-shadow: 0 1px 2px rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15); }
.g-gomb:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: 2px; }
.g-gomb[disabled], .g-gomb[aria-busy="true"] { opacity: .62; cursor: progress; }
.g-gomb__logo { flex: none; width: 20px; height: 20px; }
.g-gomb__szoveg { white-space: nowrap; }

/* Profil → Fiók → Bejelentkezés: a kapcsolt Google-fiók sora. */
.pr-belepes__sor { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--td-keret, var(--aq-line)); }
.pr-belepes__sor > .g-gomb__logo { width: 22px; height: 22px; }
.pr-belepes__adat { display: grid; gap: 2px; min-width: 0; }
.pr-belepes__adat span { color: var(--td-halk, var(--aq-muted)); font-size: .92rem; overflow-wrap: anywhere; }
@media (max-width: 420px) {
  .pr-belepes__sor { grid-template-columns: 24px minmax(0, 1fr); }
  .pr-belepes__sor > .gomb { grid-column: 2; justify-self: start; }
}

/* Állapotsor: ikon + szöveg, doboz nélkül (üres állapot, rövid visszajelzés). */
.akv-allapotsor { display: flex; gap: 10px; align-items: flex-start; margin: 8px 0; color: var(--td-halk, var(--aq-muted)); line-height: 1.5; }
.akv-allapotsor > svg { flex: none; width: 22px; height: 22px; margin-top: 1px; color: var(--td-teal-szoveg, var(--aq-accent-sotet)); }
.akv-allapotsor strong { display: block; color: var(--td-szoveg, var(--aq-text)); }
.akv-allapotsor--siker > svg { color: var(--td-siker-szoveg, #2E7D4F); }

/* ---------- Értesítések (web /ertesitesek, app /alkalmazas/ertesitesek): sorok, nem kártyák ----------
   Olvasatlan: halványzöld sor, vastag cím, „Új” címke (pötty nélkül); olvasott: visszafogott. Szűrő (Összes · Olvasatlan), „Mind
   olvasott”, „Mind törlése” és soronkénti törlés (projektgazdai kérés, 2026-10-23, STORE §47.23/A). */
.ert-eszkoz { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 12px; margin: 0 0 8px; }
.ert-szuro { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--td-felulet-2, var(--aq-surface)); }
.ert-szuro button { min-height: 38px; padding: 0 14px; border: 1px solid transparent; border-radius: 999px; background: none; color: var(--td-halk, var(--aq-muted)); font: inherit;
  font-size: .9rem; font-weight: 800; cursor: pointer; }
.ert-szuro button span { margin-left: 4px; font-variant-numeric: tabular-nums; }
.ert-szuro button[aria-pressed="true"] { border-color: var(--td-keret, var(--aq-line)); background: var(--td-felulet, #fff); color: var(--td-szoveg, var(--aq-text)); }
.ert-szuro button:disabled { opacity: .45; cursor: default; }
.ert-eszkoz__gombok { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.ert-gomb { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border: 1.5px solid var(--td-keret, var(--aq-line)); border-radius: 999px;
  background: var(--td-felulet, #fff); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); font: inherit; font-size: .88rem; font-weight: 800; cursor: pointer; }
.ert-gomb .ikon { width: 16px; height: 16px; }
.ert-gomb:hover { border-color: var(--aq-accent-sotet); }
.ert-gomb--veszely { color: var(--td-hiba-szoveg, #8A3321); }
.ert-gomb--veszely:hover { border-color: var(--td-hiba-szoveg, #8A3321); }
.ert-osszeg { margin: 0 0 10px; color: var(--td-halk, var(--aq-muted)); font-size: .88rem; font-weight: 700; }
.ert-lista { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--td-keret, var(--aq-line)); }
.ert-sor { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; border-bottom: 1px solid var(--td-keret, var(--aq-line)); }
.ert-sor--uj { background: var(--td-teal-halvany, #E3F1EE); }
.ert-sor__fo { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 12px 4px 12px 8px; color: var(--td-szoveg, var(--aq-text)); text-decoration: none; }
a.ert-sor__fo:hover, .ert-sor__fo[role="button"]:hover { background: var(--td-hover, rgba(13, 26, 23, .03)); }
.ert-sor__fo[role="button"] { cursor: pointer; }
.ert-sor__fo:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: -3px; }
.ert-sor__ikon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--td-felulet-2, var(--aq-surface)); color: var(--td-halk, var(--aq-muted)); }
.ert-sor--uj .ert-sor__ikon { background: var(--td-felulet, #fff); color: var(--td-teal-szoveg, var(--aq-accent-sotetebb)); }
.ert-sor__ikon svg { width: 18px; height: 18px; }
.ert-sor__szoveg { display: grid; gap: 2px; min-width: 0; }
.ert-sor__cim { color: var(--td-szoveg-2, var(--aq-text)); font-weight: 600; line-height: 1.3; }
.ert-sor--uj .ert-sor__cim { color: var(--td-szoveg, var(--aq-text)); font-weight: 800; }
.ert-sor__reszlet { color: var(--td-halk, var(--aq-muted)); font-size: .92rem; line-height: 1.45; }
.ert-sor__jobb { display: grid; justify-items: end; gap: 4px; padding-top: 2px; }
.ert-sor__ido { color: var(--td-halk, var(--aq-muted)); font-size: .8rem; white-space: nowrap; }
.ert-sor__uj { padding: 2px 9px; border-radius: 999px; background: var(--aq-accent-sotet); color: #fff; font-size: .72rem; font-weight: 800; line-height: 1.4; }
.ert-sor__torol { display: grid; place-items: center; width: 44px; height: 44px; margin-right: 2px; padding: 0; border: 0; border-radius: 12px; background: none;
  color: var(--td-halk, var(--aq-muted)); cursor: pointer; }
.ert-sor__torol .ikon { width: 18px; height: 18px; }
.ert-sor__torol:hover { background: var(--td-felulet-2, var(--aq-surface)); color: var(--td-hiba-szoveg, #8A3321); }
.ert-sor__torol:focus-visible { outline: 3px solid var(--aq-accent-sotet); outline-offset: -3px; }
.ert-sor__torol[aria-busy="true"] { opacity: .5; }
@media (max-width: 520px) {
  .ert-sor__fo { grid-template-columns: 36px minmax(0, 1fr); }
  .ert-sor__jobb { grid-column: 2; display: flex; align-items: center; gap: 8px; padding-top: 0; }
  .ert-eszkoz { align-items: stretch; }
  .ert-szuro { align-self: flex-start; }
  .ert-gomb span { white-space: nowrap; }
}
.pr-jogi { margin: 14px 0 0; text-align: center; font-size: .9rem; }
.pr-jogi a { color: var(--td-halk, var(--aq-muted)); }
