:root{
  --bg:#0b0f17;
  --card:#0f1623;
  --text:#e9eefb;
  --muted:#9fb0d0;
  --line:rgba(255,255,255,.08);
  --brand:#4f7cff;
  --brand2:#2ee59d;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 600px at 20% -20%, rgba(79,124,255,.25), transparent),
              radial-gradient(900px 450px at 95% 0%, rgba(46,229,157,.15), transparent),
              var(--bg);
  color:var(--text);
}

.container{max-width:1100px;margin:0 auto;padding:18px}
.small{font-size:13px;color:var(--muted)}

.site-header{
  position:sticky;top:0;z-index:10;
  background:rgba(11,15,23,.72);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}

.header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{color:var(--text);text-decoration:none;font-weight:800;letter-spacing:.3px}

.page-title h1{margin:10px 0 6px}
.page-title p{margin:0;color:var(--muted)}

.flash-wrap{margin:14px 0;display:grid;gap:8px}
.flash{padding:12px 12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.04)}
.flash.success{border-color:rgba(46,229,157,.25)}
.flash.error{border-color:rgba(255,77,77,.25)}

.card{
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow: 0 20px 50px rgba(0,0,0,.25);
}

.card-link{color:inherit;text-decoration:none;display:block}
.card-media img{width:100%;height:200px;object-fit:cover;border-radius:16px;border:1px solid var(--line)}
.card-body h3{margin:12px 0 6px;font-size:16px}
.muted{color:var(--muted)}
.right{text-align:right}

.grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:14px;margin-top:16px}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid{grid-template-columns:1fr}.container{padding:14px}}

.placeholder{
  display:grid;place-items:center;
  border:1px dashed var(--line);
  border-radius:16px;
  height:200px;
  color:var(--muted);
}
.placeholder.tall{height:360px}

.btn{
  margin-top:10px;
  display:inline-block;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--text);
  text-decoration:none;
  cursor:pointer;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  border-color:rgba(79,124,255,.35);
  background:rgba(79,124,255,.18);
}

.btn-row{display:flex;gap:10px;align-items:center;margin-top:12px}
.btn-stack{display:grid;gap:10px;margin-top:14px}

.kpi-row{display:flex;gap:12px;justify-content:space-between;align-items:flex-end;margin-top:10px}
.kpi{font-weight:800}
.kpi.big{font-size:28px}
.story{line-height:1.7}

/* TWO COLUMN LAYOUT (DESKTOP) */
.two-col{
  display:grid;
  grid-template-columns:1.4fr .9fr;
  gap:14px;
  margin-top:14px;
}

/* (classes used by case_view.html) */
.case-main{}
.case-aside{}

.media-card img{
  width:100%;
  height:360px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid var(--line);
}

.progress{height:10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line);margin:12px 0}
.progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg, rgba(79,124,255,.9), rgba(46,229,157,.9))}

/* Sticky sidebar for desktop */
.sticky{position:sticky;top:82px}

.form-row{display:grid;gap:8px;margin-top:12px}
.form-row label{color:var(--muted);font-size:13px}
input, textarea, select{
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  outline:none;
  background:rgba(255,255,255,.04);
  color:var(--text);
}
textarea{resize:vertical}
.form-row.inline{display:flex;align-items:center;gap:10px}
.form-row.inline label{margin:0}

.table{width:100%;border-collapse:collapse;margin-top:10px}
.table th,.table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}
.table th{color:var(--muted);font-weight:700}

.site-footer{border-top:1px solid var(--line);margin-top:18px}
.link{color:var(--brand);text-decoration:none}

.dropdown{position:relative}
.dropbtn{padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);cursor:pointer}
.dropdown-content{
  display:none;
  position:absolute;
  right:0;
  min-width:220px;
  background:rgba(15,22,35,.98);
  border:1px solid var(--line);
  border-radius:16px;
  padding:8px;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
}
.dropdown-content a{display:block;padding:10px 10px;border-radius:12px;color:var(--text);text-decoration:none}
.dropdown-content a:hover{background:rgba(255,255,255,.06)}
.dropdown:hover .dropdown-content{display:block}
.dropdown-content hr{border:none;border-top:1px solid var(--line);margin:6px 0}

/* ===============================
   PAYMENT METHOD ICONS (SMALL)
   =============================== */
.pay-item{
  display:grid;
  gap:6px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.03);
}
.pay-head{
  display:flex;
  align-items:center;
  gap:6px;
  font-weight:600;
}
.pay-logo{
  width:14px;
  height:14px;
  object-fit:contain;
  flex-shrink:0;
}
.pay-inline{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 8px;
  font-size:12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--text);
}
.pill img{
  width:12px;
  height:12px;
  object-fit:contain;
}

/* ---------- MOBILE RESPONSIVENESS (CASE VIEW) ----------
   Goal: On mobile, show Quick Summary AFTER story/content.
   Also disable sticky to prevent clipping/disappearing panels.
*/
@media (max-width: 900px){
  /* Switch to flex so ordering works reliably */
  .two-col{
    display:flex;
    flex-direction:column;
    gap:14px;
  }

  /* Ensure content first, sidebar second */
  .case-main{order:1;}
  .case-aside{order:2;}

  /* Disable sticky on mobile */
  .sticky{
    position:static;
    top:auto;
  }

  /* reduce media height on smaller screens */
  .media-card img{height:260px;}
  .placeholder.tall{height:260px;}
}
