:root{
  --bg:#0b0f12;
  --card:#12181d;
  --text:#e9eef3;
  --muted:#9fb0bf;
  --brand:#27c04b;
  --accent:#1ea0ff;
  --accent-2:#ff5069;
  --accent-3:#ffd04d;
  --border:#1e252c;
  --shadow:0 6px 24px rgba(0,0,0,.25);
  --radius:16px;
}

*{box-sizing:border-box}
html,body{
  margin:auto;
  padding:auto;
}

body{
  font-family:system-ui,Segoe UI,Roboto,Inter,Arial,sans-serif;
  background:linear-gradient(180deg,#0a0e11 0%, #0e1419 100%);
  color:var(--text);
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* ------------------------------------------------
   HEADER + LOGIN AREA
------------------------------------------------ */
.header {
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: saturate(1.3) blur(10px);
  background: rgba(10,14,17,.65);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  padding: 10px 18px;
  gap: 20px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.brand .logo {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  box-shadow: var(--shadow);
}
.brand .brand-text {
  font-weight: 700;
  letter-spacing: .1px;
  font-size: 18px;
}

.main-nav {
  display: flex;
  flex: 1;
  justify-content: center;
  gap: 14px;
}
.main-nav a {
  color: var(--muted);
  padding: 8px 12px;
  border-radius: 10px;
  text-decoration: none;
}
.main-nav a.active,
.main-nav a:hover {
  background: var(--card);
  color: var(--text);
}

.auth-area {
  display: flex;
  align-items: center;
  gap: 10px;
}

.user-box {
  display: flex;
  align-items: center;
  gap: 8px;
}

.avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--border);
  object-fit: cover;
  cursor: pointer;
}

#userName {
  font-weight: 500;
  color: var(--text);
  cursor: pointer;
}

.btn {
  background: #1a2129;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text);
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 500;
}

.btn.primary {
  background: var(--brand);
  color: #041205;
  font-weight: 700;
  border-color: #1bb53f;
}

.btn.small {
  padding: 6px 10px;
  font-size: 14px;
}

main {
  flex: 1;
}

/* HERO ------------------------------------------------ */
.hero{
  padding:48px 18px 8px;
  text-align:center;
}
.hero h1{font-size:clamp(22px,3.4vw,42px);margin:0 0 8px}
.hero .highlight{color:var(--brand)}
.hero .sub{color:var(--muted);margin:0 0 18px}

/* SEARCH BAR ---------------------------------------- */
.search-wrap{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--card);
  padding:10px;
  border:1px solid var(--border);
  border-radius:999px;
  box-shadow:var(--shadow);
  width:min(760px,92vw);
}
#searchInput{
  flex:1;background:transparent;border:0;outline:0;color:var(--text);
  font-size:16px;padding:10px 12px;
}
#clearSearch{
  border:0;background:#182028;color:var(--muted);
  padding:10px;border-radius:999px;cursor:pointer
}
#clearSearch:hover{
  color:var(--text);
  background:#1b2430;
}

.filters{
  margin:14px auto 0;
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap
}
.filters select{
  background:var(--card);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:10px;
  padding:10px 12px;
  box-shadow:var(--shadow)
}

.result-count{margin-top:10px;color:var(--muted)}

/* SECTIONS ------------------------------------------- */
.section{padding:28px 18px}
.section-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px
}
.section-head h2{margin:0}
.see-all{color:var(--accent)}

.app-grid{
  display:grid;gap:14px;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
}

/* ----------------------------------------------------------
   NEW APP CARD — Play Store Compact
-----------------------------------------------------------*/

.app-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 12px;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease;
  display: block;
}

.app-card:hover {
  background: #161c21;
  transform: translateY(-2px);
}

.app-card-inner {
  display: flex;
  gap: 14px;
  align-items: center;
}

.app-card-logo {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  object-fit: cover;
  border: 1px solid var(--border);
}

.app-card-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.app-card-title {
  font-size: 17px;
  font-weight: 600;
}

.app-card-category {
  font-size: 14px;
  color: var(--muted);
}

.app-card-meta {
  font-size: 14px;
  color: #b8c3ce;
}


.actions{
  margin-top:auto;
  padding:5px;
  display:flex;
  gap:10px
}

.btn:hover{filter:brightness(1.05)}

/* BADGES */
.k-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:0px 10px;border-radius:999px;
  font-size:12px;
  border:1px solid var(--border)
}
.k-badge.trending{
  background:linear-gradient(90deg,var(--accent-2),var(--accent-3))
}
.k-badge.promoted{
  background:linear-gradient(90deg,var(--brand),var(--accent))
}
.k-badge.top{
  background:linear-gradient(90deg,#7f5af0,#2cb67d)
}

/* FOOTER --------------------------------------------- */
.site-footer{
  border-top:1px solid var(--border);
  margin-top:auto;
  padding:22px 18px;
  color:var(--muted)
}
.footer-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap
}
.footer-brand{display:flex;align-items:center;gap:8px}
.logo.small{width:24px;height:24px;border-radius:6px}

/* APP DIALOG ---------------------------------------------- */
.app-dialog{
  width:min(980px,94vw);
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--card);
  color:var(--text);
  padding:0;
  box-shadow:var(--shadow)
}
.dialog-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;
  border-bottom:1px solid var(--border)
}
.dialog-body{
  display:grid;grid-template-columns:320px 1fr;
  gap:18px;padding:16px
}
.app-logo-lg{
  width:84px;height:84px;border-radius:20px;
  border:1px solid var(--border);object-fit:cover
}
.dialog-left .meta{
  display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;color:var(--muted)
}
.dialog-right .desc{color:#cfe0ee}

/* ----------------------------------------------------
   ✔ PLAY STORE SLIDER — NO BLACK BARS, FULL BLEED
---------------------------------------------------- */

.shot-slider {
  position: relative;
  margin-top: 40px;
  margin-bottom: 20px;
  width: 340px;
  height: 250px;
}

/* FIX doboz */
.shot-track-mask {
  width: 340px;  
  height: 250px;/* fix height like Play Store */
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  border-radius: 16px;
  scroll-snap-type: x mandatory;
}

/* Track */
.shot-track {
  display: flex;
 height: 250px;
}

/* SCREENSHOT DIALAPS */
/* IMAGE FIT — NO ZOOM, NO BARS */
.shot-item img {
  height: 100%;        /* <<< Fix magasság = doboz magassága */
  object-fit: cover;    /* <<< semmit nem vág le, semmit nem nagyít */
  display: block;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}



/* Navigation */
.shot-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: rgba(0,0,0,0.55);
  color: #fff;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.shot-nav.left  { left: 10px; }
.shot-nav.right { right: 10px; }

/* Dots */
.shot-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
}

.shot-dots .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--muted);
  opacity: 0.45;
  cursor: pointer;
}
.shot-dots .dot.active {
  opacity: 1;
  background: var(--accent);
}

/* Mobile (portrait gallery) */
@media (max-width: 600px) {
  .shot-track-mask {
    height: 250px;            /* tall portrait screen style */
  }
}

/* --------------------------------------------
   DESKTOP SLIDER (Play Store desktop style)
--------------------------------------------- */

@media (min-width: 900px) {

  .shot-slider {
    width: 100%;
    max-width: 450px;
    height: 250px;
    margin: 20px auto 20px;
    position: relative;
  }

  .shot-track-mask {
    width: 450px;
    height: 250px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    border-radius: 22px;
  }

  .shot-track {
    height: 100%;
    display: flex;
    gap: 16px;
  }

  .shot-item {
    flex: 0 0 auto;
    height: 100%;
    position: relative;
    scroll-snap-align: center;
    border-radius: 22px;
    overflow: hidden;
  }

  /* MUCH NICER full-height image on desktop */
  .shot-item img {
    height: 100%;
    width: auto;
    object-fit: contain;
    background: #000;
  }

  /* bigger nav buttons for PC */
  .shot-nav {
    width: 55px;
    height: 55px;
    font-size: 25px;
  }

  .shot-nav.left {
    left: -60px;
  }
  .shot-nav.right {
    right: -60px;
  }

  /* nicer dots */
  .shot-dots .dot {
    width: 12px;
    height: 12px;
  }
}

/* -----------------------------------------
   BEAUTIFUL SLIDER SCROLLBAR (custom)
------------------------------------------ */

.shot-track-mask::-webkit-scrollbar {
  height: 10px;              /* horizontal bar height */
}

.shot-track-mask::-webkit-scrollbar-track {
  background: #232c33;       /* track background */
  border-radius: 10px;
}

.shot-track-mask::-webkit-scrollbar-thumb {
  background: #6e6e6e;
  border-radius: 10px;
  border: 2px solid #232c33; /* gives a clean rounded look */
}

.shot-track-mask::-webkit-scrollbar-thumb:hover {
  background: #6e6e6e;       /* hover color */
}

.dialog-download {
  margin: 14px 0 10px;
  display: inline-block;
}



/* TEXT PAGE */
.text-page{
  padding:28px 18px;max-width:900px;margin:0 auto;
  color:#d9e6f3;line-height:1.6
}

@media (max-width:860px){
  .dialog-body{grid-template-columns:1fr}
}

/* FOCUS */
:focus-visible{outline:2px solid var(--accent)}

/* MOBILE HEADER FIX */
@media (max-width: 860px) {
  .header{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .auth-area{align-self:flex-end}
  .main-nav{
    order:3;
    width:100%;
    justify-content:flex-start;
    overflow-x:auto;
    gap:6px;
  }
  .main-nav::-webkit-scrollbar{display:none}
  .brand{align-self:center}
}

/* -------------------------
   ACCOUNT DIALOG + SLIDES
-------------------------- */
.account-dialog {
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--card);
  color: var(--text);
  padding: 0;
  max-width: 480px;
  width: 95vw;
  box-shadow: var(--shadow);
  margin: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  right: 50%;
  transform: translate(-50%, -50%);
}

.account-dialog::backdrop {
  background: rgba(0,0,0,0.6);
}

.account-content {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.account-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0px 16px;
  border-bottom: 1px solid var(--border);
}

.account-tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 8px 10px 12px;
  border-bottom: 1px solid var(--border);
}

.account-tab {
  flex: 1;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: #0f151a;
  color: var(--muted);
  font-size: 14px;
  cursor: pointer;
}
.account-tab.active {
  background: var(--brand);
  color: #041205;
  border-color: #1bb53f;
  font-weight: 600;
}

.account-body {
  overflow: hidden;
  padding: 0 0 12px;
}
.account-inner {
  display: flex;
  width: 200%;
  transition: transform .25s ease;
}

.account-panel {
  width: 50%;
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.account-panel input,
.account-panel select,
.account-panel textarea {
  background: #0f151a;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text);
  padding: 10px 12px;
  font-size: 15px;
  font-family: inherit;
}

.account-panel input:focus,
.account-panel select:focus,
.account-panel textarea:focus {
  outline: 2px solid var(--accent);
}

.account-panel label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 15px;
}

.account-panel h3 {
  margin-bottom: 4px;
}

.account-panel .note {
  font-size: 12px;
  color: var(--muted);
}

#accountBody.tab-personal .account-inner {
  transform: translateX(0%);
}
#accountBody.tab-developer .account-inner {
  transform: translateX(-50%);
}


