/*
Theme Name: AppVault
Theme URI: https://appvault.example
Author: Abdullah
Description: A verified-download APK/app showcase theme. Custom-built for app & game download sites — app profile pages, category browsing, and a token-gated download-start flow.
Version: 1.0
Requires PHP: 7.4
Text Domain: appvault
*/

/* ---------- Design tokens ---------- */
:root{
  --ink: #12181C;
  --ink-soft: #4C5760;
  --paper: #F3F5F4;
  --paper-raised: #FFFFFF;
  --line: #DEE3E1;
  --teal: #0E7C7B;
  --teal-dark: #0A5F5E;
  --amber: #F2A93B;
  --amber-dark: #D68E20;
  --green: #2FAE66;
  --radius-sm: 6px;
  --radius-md: 10px;
  --font-head: 'Sora', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --maxw: 1040px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--teal-dark);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{
  font-family:var(--font-head);
  line-height:1.2;
  margin:0 0 .5em;
  font-weight:600;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}

/* Visible keyboard focus everywhere */
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid var(--teal);
  outline-offset:2px;
}

/* ---------- Header ---------- */
.site-header{
  background:var(--paper-raised);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50;
}
.site-header .wrap{
  display:flex;align-items:center;gap:24px;
  height:64px;
}
.site-logo{
  font-family:var(--font-head);
  font-weight:700;font-size:20px;color:var(--ink);
  display:flex;align-items:center;gap:8px;
}
.site-logo .mark{
  width:28px;height:28px;border-radius:8px;
  background:linear-gradient(160deg,var(--teal),var(--teal-dark));
  display:inline-block;
}
.site-nav{display:flex;gap:20px;margin-left:auto;}
.site-nav a{color:var(--ink-soft);font-size:15px;font-weight:500;}
.site-nav a:hover{color:var(--teal-dark);text-decoration:none;}
.site-search{
  border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:8px 12px;font-size:14px;font-family:var(--font-body);
  min-width:200px;background:var(--paper);
}

/* ---------- Homepage hero ---------- */
.home-hero{padding:48px 0 32px;}
.home-hero h1{font-size:34px;max-width:22ch;}
.home-hero p{color:var(--ink-soft);font-size:17px;max-width:56ch;}

.category-pills{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 8px;}
.category-pills a{
  border:1px solid var(--line);background:var(--paper-raised);
  padding:6px 14px;border-radius:999px;font-size:14px;color:var(--ink-soft);
}
.category-pills a:hover{border-color:var(--teal);color:var(--teal-dark);text-decoration:none;}

/* ---------- App grid / cards ---------- */
.app-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:16px;margin:24px 0 48px;
}
.app-card{
  background:var(--paper-raised);border:1px solid var(--line);
  border-radius:var(--radius-md);padding:16px;
  display:flex;flex-direction:column;gap:10px;
}
.app-card .icon-row{display:flex;gap:12px;align-items:center;}
.app-card .icon{
  width:56px;height:56px;border-radius:14px;object-fit:cover;
  border:1px solid var(--line);flex:none;
}
.app-card h3{font-size:16px;margin:0;}
.app-card .dev{color:var(--ink-soft);font-size:13px;}
.app-card .meta-row{
  display:flex;gap:14px;font-size:13px;color:var(--ink-soft);
  border-top:1px solid var(--line);padding-top:10px;
}
.app-card .meta-row span{display:flex;align-items:center;gap:4px;}

/* ---------- Single app profile ---------- */
.app-profile{padding:40px 0 20px;}
.app-profile-top{
  display:flex;gap:24px;align-items:flex-start;
  flex-wrap:wrap;
}
.app-profile .icon-lg{
  width:112px;height:112px;border-radius:24px;
  border:1px solid var(--line);flex:none;
  box-shadow:0 6px 18px rgba(18,24,28,.08);
}
.app-profile-info{flex:1;min-width:240px;}
.app-profile-info h1{font-size:28px;}
.app-profile-info .dev{color:var(--ink-soft);font-size:15px;margin-bottom:8px;}
.meta-icons{
  display:flex;flex-wrap:wrap;gap:16px;
  font-size:14px;color:var(--ink-soft);margin-top:8px;
}
.meta-icons span{display:flex;align-items:center;gap:6px;}
.meta-icons .dot{
  width:6px;height:6px;border-radius:50%;background:var(--ink-soft);opacity:.4;
}

.verified-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(47,174,102,.1);color:var(--green);
  padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600;
  margin-bottom:10px;
}
.verified-badge svg{width:14px;height:14px;}

/* Download card */
.download-card{
  background:var(--paper-raised);border:1px solid var(--line);
  border-radius:var(--radius-md);padding:20px;margin-top:28px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.download-card .dl-info{font-size:14px;color:var(--ink-soft);}
.download-card .dl-info strong{color:var(--ink);display:block;font-size:15px;margin-bottom:2px;}
.btn-download{
  background:var(--amber);color:var(--ink);
  font-family:var(--font-head);font-weight:600;font-size:16px;
  padding:14px 28px;border-radius:var(--radius-sm);border:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
}
.btn-download:hover{background:var(--amber-dark);text-decoration:none;}
.btn-download .size{font-weight:400;opacity:.75;font-size:13px;}

/* Screenshot strip */
.screenshot-strip{
  display:flex;gap:12px;overflow-x:auto;margin:32px 0;
  padding-bottom:8px;scrollbar-width:thin;
}
.screenshot-strip img{
  height:340px;border-radius:var(--radius-sm);border:1px solid var(--line);flex:none;
}

/* Description */
.app-description{max-width:74ch;margin:24px 0;}
.app-description h2{font-size:20px;margin-top:32px;}

/* Install steps — real sequence, numbering earned */
.install-steps{list-style:none;margin:16px 0;padding:0;counter-reset:step;}
.install-steps li{
  counter-increment:step;position:relative;padding:14px 0 14px 40px;
  border-bottom:1px solid var(--line);
}
.install-steps li:last-child{border-bottom:none;}
.install-steps li::before{
  content:counter(step);position:absolute;left:0;top:12px;
  width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;
  font-family:var(--font-head);font-size:13px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.install-steps strong{display:block;font-size:15px;}
.install-steps span{color:var(--ink-soft);font-size:14px;}

/* FAQ accordion */
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{
  padding:16px 0;cursor:pointer;font-family:var(--font-head);
  font-weight:600;font-size:15px;list-style:none;
  display:flex;justify-content:space-between;align-items:center;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:'+';font-size:20px;color:var(--ink-soft);font-weight:400;
}
.faq-item[open] summary::after{content:'\2212';}
.faq-item p{color:var(--ink-soft);margin:0 0 16px;font-size:14px;max-width:70ch;}

/* Related apps */
.related-heading{margin-top:48px;}

/* ---------- Download-start (countdown) page ---------- */
.dl-start-wrap{
  max-width:480px;margin:60px auto;text-align:left;
  background:var(--paper-raised);border:1px solid var(--line);
  border-radius:var(--radius-md);padding:32px;
}
.dl-start-wrap .icon-lg{margin-bottom:16px;}
.dl-progress{
  height:6px;background:var(--line);border-radius:999px;overflow:hidden;margin:20px 0 12px;
}
.dl-progress-bar{
  height:100%;background:var(--teal);width:0%;
  transition:width .2s linear;
}
.dl-status{font-size:14px;color:var(--ink-soft);}
.dl-manual-link{margin-top:16px;font-size:14px;}

/* ---------- Footer ---------- */
.site-footer{
  border-top:1px solid var(--line);margin-top:60px;
  padding:32px 0;color:var(--ink-soft);font-size:14px;
}
.site-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.site-footer a{color:var(--ink-soft);}

/* ---------- Responsive ---------- */
@media (max-width:640px){
  .site-nav{display:none;}
  .home-hero h1{font-size:26px;}
  .download-card{flex-direction:column;align-items:stretch;}
  .btn-download{justify-content:center;}
  .app-profile-top{flex-direction:column;}
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .dl-progress-bar{transition:none;}
}
