/* ============================================================
   Zákaznický portál — mobilní vzhled (aplikace)
   Načítá se jako poslední. Platí do 760 px; větší displeje beze změny.
   ============================================================ */
.zak-tabs .zt-kratky { display: none; }

/* Skryté radio u dlaždic solárií: dřív mělo šířku 100 % a přetékalo přes okraj telefonu. */
.solarium-tiles label { position: relative; }
.solarium-tiles input, .rez-block .solarium-tiles input { position: absolute; width: 1px; height: 1px; min-height: 0; margin: 0; padding: 0; border: 0; opacity: 0; pointer-events: none; }
.zak-app main { overflow-x: clip; }

@media (max-width: 760px) {
  html { -webkit-text-size-adjust: 100%; }
  body.zak-app { background: var(--z-page, #f6f3f2); -webkit-tap-highlight-color: transparent; }
  .zak-app main { padding: 0 0 calc(84px + env(safe-area-inset-bottom)); }

  /* ── Horní lišta ── */
  .zak-appbar { padding: 10px 14px; gap: 10px; }
  .zak-appbar-brand span { font-size: 1.1rem; }
  .zak-appbar-ucet { gap: 8px; min-width: 0; }
  .zak-appbar-jmeno { max-width: 11ch; font-size: .82rem; }
  .zak-appbar-ucet .zak-appbar-back:first-of-type { display: none; }
  .zak-appbar-ucet .zak-appbar-back { padding: 8px 14px; font-size: .8rem; }

  /* ── Nadpis stránky ── */
  .zak-hero { display: block; padding: 16px 16px 6px; }
  .zak-hero .eyebrow { display: none; }
  .zak-hero h1 { margin: 0; font-size: 1.65rem; }

  /* ── Záložky = spodní navigace ── */
  .zak-tabs { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: flex; flex-wrap: nowrap; gap: 0; overflow: visible; padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); border: 0; border-top: 1px solid var(--z-line, #ece6e6); border-radius: 0; background: rgba(255,255,255,.97); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 -6px 24px rgba(34,27,28,.08); }
  .zak-tabs a.zak-tab-btn { flex: 1 1 0; min-width: 0; flex-direction: column; justify-content: center; gap: 2px; padding: 6px 2px; border-radius: 12px; font-size: .64rem; font-weight: 600; line-height: 1.15; text-align: center; position: relative; }
  .zak-tabs .zt-ico { font-size: 1.3rem; line-height: 1; display: flex; }
  .zak-tabs .zt-ico .zi { width: 1.3rem; height: 1.3rem; vertical-align: 0; }
  .zak-tabs .zt-txt { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
  .zak-tabs .zt-dlouhy { display: none; }
  .zak-tabs .zt-kratky { display: inline; }
  .zak-tabs a.zak-tab-btn.is-active { background: var(--z-rose-soft, #fdf3f3); color: var(--z-rose-deep, #b71c1c); box-shadow: none; }
  .zak-tabs .tab-pocet { position: absolute; top: 0; right: 14%; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 9px; background: var(--z-rose, #c8102e); color: #fff; font-size: .62rem; line-height: 16px; text-align: center; }

  /* ── Obsah ── */
  .zakaznik-container { padding: 6px 12px 24px; }
  .zak-grid { gap: 12px; }
  .card { border-radius: 20px; box-shadow: 0 2px 12px rgba(34,27,28,.06); }
  .p-6 { padding: 16px; }
  .card-head { padding-bottom: 10px; margin-bottom: 12px; }
  .section-title { font-size: 1.05rem; }
  .muted { font-size: .84rem; }

  .zak-app .zak-upozorneni { padding: 14px 44px 14px 14px; margin-bottom: 12px; border-radius: 16px; font-size: .9rem; }
  .zak-app .zak-upozorneni strong { font-size: 1rem; }

  /* Profil a kredit */
  .profile-head { padding-bottom: 12px; }
  .avatar { width: 48px; height: 48px; flex-basis: 48px; border-radius: 16px; font-size: 1.2rem; }
  .title { font-size: 1.05rem; }
  .subtitle { overflow-wrap: anywhere; }
  .wallet { margin-top: 14px; padding: 18px; border-radius: 18px; }
  .wallet-amount { font-size: 2.6rem; }
  .karticka-cislo { font-size: 1.5rem; word-break: break-all; }

  /* ── Formuláře: 16 px zabrání přiblížení na iOS, velké cíle pro prst ── */
  .zak-app input:not([type=checkbox]):not([type=radio]):not([type=range]),
  .zak-app select, .zak-app textarea { font-size: 16px !important; min-height: 48px; }
  .zak-app .btn-rose, .zak-app button[type=submit], .zak-app .btn-dark, .zak-app .btn-loadmore { min-height: 48px; width: 100%; font-size: 1rem; border-radius: 14px; }
  .zak-app .check-row, .zak-app .souhlas { padding: 10px 0; gap: 12px; }
  .zak-app .check-row input, .zak-app .souhlas input { width: 22px; height: 22px; flex: none; }
  .zak-app .info-radek { flex-wrap: wrap; }
  .zak-app .info-radek form { width: 100%; }
  .zak-app .btn-link { min-height: 44px; width: auto; padding: 0 4px; }
  .solarium-tiles { grid-template-columns: 1fr 1fr; }
  .tile { padding: 14px; }
  .tile-name { font-size: .95rem; }
  .tile-sub, .tile-price { font-size: .82rem; }
  .predobj-range { height: 36px; margin: 6px 0; padding: 0; background: transparent; border: 0; min-height: 0; }
  .predobj-souhrn { flex-direction: column; align-items: stretch; text-align: center; }
  .predobj-souhrn strong { font-size: 1.8rem; }
  .rez-step { flex-wrap: wrap; }
  .zak-app .produkt-radek { align-items: flex-start; flex-wrap: wrap; }
  .zak-app .produkt-radek form { width: 100%; }
  .zak-app .salon-dlazdice { grid-template-columns: repeat(2, 1fr); }
  .zak-app .salon-mapa { height: 240px; }
  .load-more-wrap { text-align: center; }

  /* ── Tabulky jako seznam karet ── */
  .table-container { overflow: visible; }
  .table-container table, .table-container tbody { display: block; width: 100%; }
  .table-container thead { display: none; }
  .table-container tbody tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--z-line, #ece6e6); }
  .table-container tbody tr:last-child { border-bottom: 0; }
  .table-container tbody tr:hover td { background: transparent; }
  .table-container td { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 4px 0 !important; border: 0 !important; text-align: right !important; font-size: .9rem; }
  .table-container td::before { content: attr(data-label); flex: none; color: var(--z-muted, #857b7b); font-size: .76rem; font-weight: 600; text-align: left; }
  .table-container td[data-label=""]::before { content: none; }
  .table-container td[data-label=""] { justify-content: flex-end; }
  .zak-app .tisk-odkaz { margin: 4px 0 0; padding: 8px 14px; border-radius: 999px; background: var(--z-rose-soft, #fdf3f3); }

  /* ── Přihlášení / registrace ── */
  body.zak-auth { background: linear-gradient(180deg, #fdf3f3 0%, var(--z-page, #f6f3f2) 60%); }
  .zak-auth main { padding: 20px 14px calc(24px + env(safe-area-inset-bottom)); min-height: 100vh; display: block; }
  .zak-auth #login { padding: 0; min-height: 0; display: block; }
  .zak-auth .glass-card { width: 100%; max-width: 100% !important; margin: 0 auto; padding: 24px 18px; border-radius: 24px; box-shadow: 0 8px 30px rgba(34,27,28,.1); }
  .zak-auth .glass-card h2 { font-size: 1.6rem; }
  .zak-auth .field-row { flex-direction: column; gap: 0; }
  .zak-auth .auth-odkazy { display: flex; flex-direction: column; gap: 10px; }
  .zak-auth .auth-odkazy a { padding: 8px; }
}
@media print { .zak-tabs { display: none !important; } }
