/* ==========================================================================
   FamePass • App Styles
   Path: /public_html/css/app.css
   Brand colors derived from logo
   ========================================================================== */

:root{
  --brand:#b21563;
  --brand-2:#8f0f51;
  --ink:#1b1b1f;
  --muted:#6b7280;
  --bg:#f7f6f9;
  --surface:#ffffff;
  --border:#e5e7eb;
  --success:#10b981;
  --warning:#f59e0b;
  --danger:#ef4444;

  /* radii & elevations */
  --r-card:16px;
  --r-btn:12px;
  --shadow-sm:0 6px 16px rgba(0,0,0,.06);
  --shadow:0 10px 24px rgba(0,0,0,.08);
}

/* Reset-ish */
*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none;transition:color .2s ease,opacity .2s ease}
a:hover{color:var(--brand-2);opacity:.92}

/* Layout helpers */
.container-narrow{max-width:960px;margin-inline:auto;padding-inline:16px}
.section{padding:24px}
.section-lg{padding:48px 0}

/* Navbar */
.navbar{
  background:var(--brand);
  color:#fff;
  box-shadow:var(--shadow-sm);
}
.navbar .nav-link,
.navbar .navbar-brand{color:#fff}
.navbar .nav-link:hover{opacity:.85}
.navbar .btn{margin-left:8px}

/* Hero */
.brand-hero{
  position:relative;
  background:linear-gradient(120deg,var(--brand),var(--brand-2));
  color:#fff;
  border-radius:20px;
  overflow:hidden;
  padding:36px 28px;
}
.brand-hero::after{
  content:"";
  position:absolute;inset:0;
  background-image:radial-gradient(ellipse at 20% 10%, rgba(255,255,255,.15), transparent 40%),
                    radial-gradient(ellipse at 80% 40%, rgba(255,255,255,.12), transparent 45%),
                    radial-gradient(ellipse at 50% 90%, rgba(255,255,255,.08), transparent 50%);
  pointer-events:none;
}
.brand-hero h1{font-weight:800;letter-spacing:-.5px;margin-bottom:.25rem}
.brand-hero p{opacity:.95}
/* --- Brand navbar --- */
.brand-nav{
  background: #a40d4a; /* FAME magenta */
  box-shadow: 0 2px 10px rgba(0,0,0,.12);
  z-index: 1000;
}
.brand-logo{
  height: 36px;
  width: auto;
  display: block;
}
.nav-spacer{ height: 64px; } /* space under fixed-top */

/* Keep header elements aligned on small screens */
@media (max-width: 991.98px){
  .brand-logo{ height: 32px; }
  .nav-spacer{ height: 58px; }
}

/* Utility */
.btn-brand{ background:#a40d4a; border-color:#a40d4a; }
.btn-brand:hover{ filter: brightness(.95); }
.btn-light-brand{ background:#fff; color:#a40d4a; border:1px solid #a40d4a; }
.btn-light-brand:hover{ background:#f9f0f4; }


/* Cards */
.card,
.brand-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-card);
  box-shadow:var(--shadow-sm);
}
.brand-card{border:0}
.card:hover,.brand-card:hover{transform:translateY(-2px);transition:all .18s ease;box-shadow:var(--shadow)}

/* Buttons */
.btn{border-radius:var(--r-btn);transition:all .2s ease}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-brand:hover{background:var(--brand-2);border-color:var(--brand-2);color:#fff}
.btn-outline-brand{border:1px solid var(--brand);color:var(--brand);background:transparent}
.btn-outline-brand:hover{background:var(--brand);color:#fff}
.btn-light-brand{background:rgba(178,21,99,.12);color:var(--brand);border:0}

/* Text & BG utilities */
.text-brand{color:var(--brand)!important}
.text-muted{color:var(--muted)!important}
.bg-brand{background:var(--brand)!important;color:#fff!important}
.badge-brand{background:var(--brand);color:#fff;border-radius:999px;padding:.35rem .6rem;font-weight:600}

/* Forms */
.form-control, .form-select, textarea{
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.form-control:focus, .form-select:focus, textarea:focus{
  border-color:var(--brand);
  box-shadow:0 0 0 .2rem rgba(178,21,99,.15);
}
.input-group .btn{border-radius:12px}

/* Tables */
.table{background:#fff;border-radius:12px;overflow:hidden}
.table thead th{background:#fafafa;border-bottom:1px solid var(--border)}
.table td, .table th{vertical-align:middle}
.table-hover tbody tr:hover{background:rgba(0,0,0,.02)}

/* Alerts */
.alert{border-radius:12px;border:1px solid var(--border)}
.alert-info{background:#f0f7ff;border-color:#dbeafe;color:#1e40af}
.alert-success{background:#ecfdf5;border-color:#d1fae5;color:#065f46}
.alert-warning{background:#fffbeb;border-color:#fde68a;color:#7c2d12}
.alert-danger{background:#fef2f2;border-color:#fee2e2;color:#7f1d1d}

/* Progress */
.progress{height:8px;border-radius:999px;background:#f1f5f9}
.progress-bar{background:var(--brand)}

/* Pills / badges */
.badge{border-radius:999px;padding:.4rem .6rem}
.text-bg-secondary{background:#e5e7eb;color:#111}

/* Footer */
footer{
  color:#fff;background:#0b0b0e;margin-top:60px
}
footer .footer-inner{padding:36px 0}
footer a{color:#fff;opacity:.9}
footer a:hover{opacity:1}

/* Icons alignment */
i.fa, i.fas, i.far, i.fab{vertical-align:middle}

/* Elevation utility */
.shadow-soft{box-shadow:var(--shadow-sm)}
.shadow-strong{box-shadow:var(--shadow)}

/* Chip-like pill */
.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:999px;background:#faf5f8;border:1px solid #f3e2ea;color:var(--brand);font-weight:600}

/* Uploads-area guard (for preview thumbnails etc.) */
.upload-thumb{border:1px dashed var(--border);border-radius:12px;padding:12px;background:#fff}

/* Nav tabs (for account/settings pages) */
.nav-tabs .nav-link{border-radius:10px;color:var(--muted)}
.nav-tabs .nav-link.active{background:rgba(178,21,99,.12);color:var(--brand);border-color:transparent}

/* CTA banner */
.cta{
  background:linear-gradient(90deg, rgba(178,21,99,.08), rgba(143,15,81,.08));
  border:1px solid rgba(178,21,99,.2);
  border-radius:16px;
  padding:18px;
}

/* RTL support */
[dir="rtl"] .text-end{ text-align:left !important }
[dir="rtl"] .text-start{ text-align:right !important }
[dir="rtl"] .ms-1{ margin-left:0;margin-right:.25rem }
[dir="rtl"] .ms-2{ margin-left:0;margin-right:.5rem }
[dir="rtl"] .me-1{ margin-right:0;margin-left:.25rem }
[dir="rtl"] .me-2{ margin-right:0;margin-left:.5rem }

/* Small screens */
@media (max-width: 576px){
  .brand-hero{border-radius:16px;padding:24px 18px}
  .card, .brand-card{border-radius:14px}
  .btn{border-radius:10px}
}

/* Print helpers (for offers/reports exports) */
@media print{
  body{background:#fff}
  .brand-hero, .navbar, footer{display:none!important}
  .card, .brand-card, .table{box-shadow:none;border:1px solid #ddd}
}
