/* =============================
   KALIOTOTO — Brown + Orange Theme
   (warm brown background, orange accent to match icon/banner)
   ============================= */

:root{
  --bg:#1a120b;             /* deep coffee brown */
  --surface:rgba(255,244,235,.78); /* warm parchment glass */
  --text:#fff7f0;
  --muted:#e4d6cc;
  --primary:#ff7a00;        /* orange accent */
  --primary-strong:#cc5f00;
  --ring:rgba(255,122,0,.18);
  --shadow:0 10px 30px rgba(0,0,0,.25);
  --radius:18px;
}

/* Base + reset */
*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(255,122,0,.12), transparent 60%),
    radial-gradient(800px 400px at -10% 20%, rgba(255,170,64,.10), transparent 55%),
    var(--bg);
}

.shell{max-width:920px;margin:0 auto;padding:18px}

/* Topbar (glass + blur + warm outline) */
.topbar{
  position:sticky; top:12px; z-index:10;
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 16px;
  border-radius:calc(var(--radius) + 4px);
  background:linear-gradient(180deg, rgb(255 255 255 / 30%), rgba(255, 255, 255, .01));
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
  border:1px solid rgba(60,40,20,.25);
  outline: 1px solid rgba(255,122,0,.22);
  outline-offset: 0;
}

.brand{display:flex;gap:14px;align-items:center}
.brand-icon{
  width:64px;height:64px;border-radius:16px;overflow:hidden;
  box-shadow: 0 8px 24px rgba(255,122,0,.28), inset 0 0 0 1px rgba(0,0,0,.10);
  transform: translateZ(0); /* enable GPU */
}
.brand-title{margin:0;font-size:22px;letter-spacing:.2px;color:#fff4e8}
.brand-sub{margin:2px 0 0 0;color:var(--muted);font-size:14px}

.ratings{text-align:right}
.score{font-weight:900;font-size:30px;line-height:1}
.stars{font-size:15px;letter-spacing:1px;color:#ffd24a}
.count{font-size:12px;color:var(--muted)}

/* Hero with gradient border */
.hero{
  margin:18px 0 10px; position:relative; padding:20px;
  border-radius:calc(var(--radius) + 2px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.62)) padding-box,
    linear-gradient(135deg, rgba(255,122,0,.42), rgba(255,122,0,0) 40%, rgba(0,0,0,.10)) border-box;
  border:1px solid transparent;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: var(--shadow);
}
.badge{
  position:absolute;top:-13px;right:16px;
  background:linear-gradient(180deg, rgb(153 75 20 / 82%), rgb(193 28 28 / 84%));
  color:#fff; border:1px solid rgba(255,122,0,.35);
  padding:6px 10px;border-radius:999px;font-size:12px;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
}

/* Call-to-action buttons */
.btn{
  appearance:none;border:none;border-radius:14px;
  padding:14px 16px;font-weight:800;font-size:16px;
  cursor:pointer;display:block;width:100%;
  transition: transform .08s ease, box-shadow .25s ease, filter .2s ease, background .2s ease;
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
  will-change: transform;
}
.btn:active{transform:translateY(1px) scale(.995)}
.btn:focus-visible{outline:3px solid rgba(255,170,64,.45); outline-offset:2px;}

.btn-primary{
  color:#fff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0)) padding-box,
    linear-gradient(180deg, var(--primary), var(--primary-strong)) border-box;
  border:1px solid transparent;
}
.btn-primary:hover{filter:brightness(1.05) saturate(1.05); transform: translateY(-1px)}
.btn-surface{
  background:linear-gradient(180deg, #ff9933, #fff1e5);
  color:#4a2c21;
  border:1px solid rgba(60,40,20,.18);
}
.btn-surface:hover{background:#fff7ef;transform: translateY(-1px)}
.w-full{width:100%}

.section{margin:18px 0}
.section-title{margin:0 0 12px 0;font-size:19px;color:#ffeddc}

/* Card (glass + gradient border) */
.card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.70)) padding-box,
    linear-gradient(135deg, rgba(255,122,0,.35), rgba(255,122,0,0) 40%, rgba(0,0,0,.12)) border-box;
  border:1px solid transparent;
  border-radius:var(--radius);
  padding:16px;
  box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color:#4a2c21;
}
.list{margin:10px 0 0 18px;color:#6b4a3b}
.list li{margin:6px 0}

/* 2-col responsive grid */
.grid{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:780px){.grid{grid-template-columns:1fr 1fr}}

/* Screenshots carousel */
.shots{display:flex;gap:12px;overflow:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.shots img{
  height:420px;border-radius:18px;flex-shrink:0;scroll-snap-align:start;
  border:1px solid rgba(60,40,20,.20);background:#fffaf5;
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
  transition: transform .25s ease, box-shadow .25s ease;
}
.shots img:hover{transform: translateY(-4px); box-shadow: 0 20px 40px rgba(0,0,0,.3)}
@media (max-width:420px){.shots img{height:320px}}

/* Reviews */
.reviews{display:grid;gap:12px}
.review{
  display:flex;gap:12px;align-items:flex-start;
  border-radius:16px;padding:12px;
  background:linear-gradient(180deg, #fff7ef, rgba(255,255,255,.94));
  border:1px solid rgba(60,40,20,.18);
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
}
.avatar{width:42px;height:42px;border-radius:10px;overflow:hidden;flex-shrink:0}
.avatar img{width:100%;height:100%;object-fit:cover}
.review-body{flex:1;color:#432a1f}
.review-head{display:flex;align-items:center;justify-content:space-between}
.mini-stars{font-size:13px;color:#ffd24a}

/* Footer */
.footer{margin:18px 0;color:#d9c7bb;text-align:center}

/* iOS guide (bottom sheet) */
.ios-guide{
  position:fixed;inset:0;background:rgba(0,0,0,.45);
  display:none;align-items:flex-end;justify-content:center;
  padding:24px;z-index:9999
}
.ios-card{
  background:linear-gradient(180deg, #fff7ef, rgba(255,255,255,.95));
  border:1px solid rgba(60,40,20,.18);
  width:100%;max-width:520px;border-radius:18px 18px 18px 18px;
  padding:16px 16px 18px 16px;
  box-shadow: 0 -16px 34px rgba(0,0,0,.35);
}
.ios-handle{width:48px;height:4px;background:#f1e6de;border-radius:999px;margin:0 auto 10px}
.ios-arrow{width:40px;height:40px;margin:8px auto 6px;position:relative}
.ios-arrow::after{
  content:"";display:block;width:26px;height:26px;
  border-left:3px solid var(--primary);border-bottom:3px solid var(--primary);
  transform:rotate(-45deg);margin:0 auto;animation:bounce 1s infinite
}
@keyframes bounce{0%,100%{transform:translateY(0) rotate(-45deg)}50%{transform:translateY(-6px) rotate(-45deg)}}
.ios-steps{color:#6b4a3b;text-align:center}

/* Motion sensitivity */
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important}
}

/* Dark mode (auto) */
@media (prefers-color-scheme: dark){
  :root{
    --bg:#120c07;
    --surface:rgba(30,20,12,.55);
    --text:#fff1e4;
    --muted:#d7c6b9;
    --ring:rgba(255,122,0,.20);
    --shadow:0 10px 30px rgba(0,0,0,.45);
  }
  body{
    background:
      radial-gradient(1000px 500px at 90% -10%, rgba(255,122,0,.10), transparent 60%),
      radial-gradient(700px 350px at -10% 10%, rgba(255,170,64,.10), transparent 55%),
      var(--bg);
  }
  .btn-surface{background:linear-gradient(180deg, #2b1a12, #1f140e); border-color: rgba(255,255,255,.08); color:#ffe7d6}
  .stars{font-size:15px;letter-spacing:1px;color:#ffd24a}
}
