/* LoschaZ "premium polish" layer: desktop only (>=1024px). Mobile is untouched.
   Needs the small HTML additions described in POLISH.md (classes lzp-*). */
.lzp-d{display:none}
/* the mobile quick-pick row (fx/mobile.css) never shows on desktop */
@media (min-width:1024px){.lzm-picks{display:none}}
@media (min-width:1024px){
  /* ---------- 4) typography + rhythm ---------- */
  main h1{letter-spacing:-.025em;text-wrap:balance}
  :root .lz-hub-hero h1,:root .th-hero h1{font-size:clamp(3.5rem,4.9vw,4.375rem)}
  :root .lz-tool-hero:not(.th-hero) h1{font-size:clamp(2.75rem,3.6vw,3.25rem)}
  main h2{text-wrap:balance}
  :root .lz-section-head h2,:root .th-cat__head h2,:root .home > section:not(.home-hero) h2{font-size:clamp(2.5rem,3.4vw,3rem);line-height:1.06;letter-spacing:-.022em}
  :root main:not(.home) :is(.lz-prose,.lz-guide__section) h2{font-size:clamp(2rem,2.5vw,2.25rem);line-height:1.12;letter-spacing:-.018em}
  main h3{letter-spacing:-.012em}
  .lz-eyebrow{letter-spacing:.14em}
  .lz-section-head{margin-bottom:var(--space-7)}
  .home > section:not(.home-hero){padding-block:6rem}
  .th-cat{padding-block:4.5rem}
  .th-cat__head{margin-bottom:var(--space-7)}
  .lz-guide__section + .lz-guide__section,.lz-guide__main > .lz-tool-faq{margin-top:5rem}
  .lz-prose p,.lz-game-prose p{max-width:68ch}

  /* ---------- 2+3) home hero hierarchy ---------- */
  .home-hero{padding-block:clamp(3.5rem,6vw,5.5rem) clamp(3rem,5vw,4.5rem)}
  .home-hero .lz-eyebrow{margin-bottom:var(--space-4)}
  .home-hero h1{font-size:clamp(3rem,4.4vw,3.875rem);line-height:1.03;letter-spacing:-.03em;text-wrap:initial;margin-bottom:var(--space-5)}
  :root :is(:lang(de),:lang(fr),:lang(es)) .home-hero h1{font-size:clamp(2.75rem,4.15vw,3.75rem)} /* longer localized headlines: keep them at 3 lines */
  .lzp-d.lzp-sub{display:block;margin:0 0 var(--space-4);max-width:34rem;font-family:'Outfit','Outfit Fallback Segoe UI',system-ui,sans-serif;font-size:clamp(1.25rem,1.6vw,1.5rem);font-weight:600;line-height:1.3;letter-spacing:-.01em;color:#eef2f8;text-wrap:balance}
  .home-hero__lede{max-width:29rem;margin-bottom:var(--space-6);color:var(--muted);font-size:var(--fs-md);line-height:1.6}
  .home-hero__doors{max-width:30rem;gap:var(--space-3)}
  .home-hero__doors .lz-btn{--btn-h:3.5rem;font-weight:600}
  .home-hero__doors .lz-btn--primary{box-shadow:0 1px 0 #ffffff59 inset,0 18px 40px -18px #c5f275a6}
  .home-hero__doors .lz-btn--secondary{border-color:#ffffff2e;background:#ffffff0a}
  .home-hero:has(.lzp-trust) .home-hero__trust{display:none}
  .lzp-d.lzp-trust{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin:var(--space-5) 0 0;padding:0;list-style:none;color:#b9c3d2;font-size:var(--fs-sm);line-height:var(--lh-ui)}
  .lzp-trust li{display:inline-flex;align-items:center;gap:var(--space-2)}
  .lzp-trust li + li::before{content:"";width:4px;height:4px;margin-right:var(--space-1);border-radius:50%;background:var(--accent);opacity:.7}

  /* ---------- 1) one thumbnail language for game, guide and tool cards ---------- */
  .lz-card,.gz-card{border-color:#ffffff17;box-shadow:var(--shadow-card)}
  .lz-card__media,.gz-card__picture{position:relative;isolation:isolate}
  .lz-card__media::after,.gz-card__picture::after,.home-mosaic__card::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;
    background:linear-gradient(180deg,#ffffff14 0,#fff0 28%,#fff0 62%,#0a0e1a52 100%);box-shadow:inset 0 0 0 1px #ffffff1a,inset 0 1px 0 #ffffff2e}
  .gz-card__picture{border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0}
  .home-games .lz-game-card .lz-card__media{border-radius:var(--radius-md)}
  .lz-card__media img,.gz-card__picture img{transition:transform .6s var(--ease),filter .6s var(--ease)}
  .lz-card:hover .lz-card__media img,.gz-card:hover .gz-card__picture img{transform:scale(1.03);filter:saturate(1.06) brightness(1.03)}
  .lz-tool-card__art,.lz-tool-emblem__art{filter:drop-shadow(0 16px 24px color-mix(in srgb,var(--card-accent,var(--tile-accent,#c5f275)) 22%,transparent)) drop-shadow(0 2px 4px #0006)}
  .lz-icon-tile,.th-page__badge,.th-mosaic__tile .lz-icon-tile{box-shadow:inset 0 1px 0 #ffffff1f,0 10px 24px -16px color-mix(in srgb,var(--tile-accent) 70%,transparent)}
  .th-mosaic__tile,.lz-tool-emblem{border-color:#ffffff17;box-shadow:inset 0 1px 0 #ffffff12,var(--shadow-card)}

  /* ---------- 5) focus-visible ---------- */
  :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}
  .lz-btn:focus-visible{outline-offset:3px;box-shadow:0 0 0 6px #c5f27529}
  /* tools draw rings inside (scroll panels clip outer rings; css/components.css .lz-tool-shell) */
  .lz-tool-shell .lz-btn:focus-visible{outline-offset:-3px;box-shadow:none}
  .lz-card:has(:focus-visible),.gz-card:has(:focus-visible){outline:2px solid var(--accent);outline-offset:4px;box-shadow:0 0 0 8px #c5f2751f,var(--shadow-pop)}
  .lz-chip:focus-visible,.th-chip:focus-visible{border-radius:var(--radius-pill)}
  input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px}
}
@media (min-width:1024px) and (prefers-reduced-motion:reduce){
  .lz-card__media img,.gz-card__picture img{transition:none}
  .lz-card:hover .lz-card__media img,.gz-card:hover .gz-card__picture img{transform:none}
}
