/* diaspora.ro Campanii — source-first responsive and layout contract */

/* Source module: mobile-responsive-vars */
/* ═══════════════════════════════════════════════════════════════
     diaspora.ro — Mobile Responsive Layer v1
     Paleta: identică cu /mobile-pro/ (brand #7c3aed / #a855f7)
     Aplicat automat pe toate paginile — @media max-width:768px
  ═══════════════════════════════════════════════════════════════ */
  @media(max-width:768px){
    :root{
      --m-brand:#7c3aed;--m-brand2:#a855f7;
      --m-bg:#f0f2f5;--m-card:#fff;--m-card2:#f0f2f5;
      --m-border:#e4e6ea;--m-ink:#050505;--m-ink2:#65676b;
      --m-radius:14px;--m-shadow:0 2px 8px rgba(0,0,0,.12);
      --m-safe-top:env(safe-area-inset-top,0px);
      --m-safe-bot:env(safe-area-inset-bottom,0px);
    }
    [data-dark],:root[data-theme="dark"],[data-theme="dark"]{
      --m-bg:#18191a;--m-card:#242526;--m-card2:#3a3b3c;
      --m-border:#3e4042;--m-ink:#e4e6eb;--m-ink2:#b0b3b8;
    }

    /* ── Utilitare globale mobile ── */
    html,body{background:var(--m-bg);font-size:15px;overflow-x:hidden;}
    body{padding-bottom:calc(68px + var(--m-safe-bot));}

    /* ── Header/nav desktop → ascuns ── */
    .hdr-nav,.nav-group,.nav-dropdown,.hdr-actions > *:not(.btn-theme),
    .desktop-only,.d-only,[class*="desktop-nav"],[class*="sidebar"]{display:none;}
    
    /* ── Header mobil fix ── */
    .hdr,.hdr-in,.top-bar{padding-left:14px;padding-right:14px;}
    .hdr-in{flex-wrap:nowrap;gap:10px;}

    /* ── Carduri mobile ── */
    .card,.content-card,.post-card,.job-card,.group-card,.consul-card,
    [class*="-card"],[class*="card-"]{
      border-radius:var(--m-radius);
      box-shadow:var(--m-shadow);
      background:var(--m-card);
      border:1px solid var(--m-border);
      margin-bottom:10px;
    }

    /* ── Grid 1 coloană pe mobile ── */
    .grid,.cards-grid,.grid-3,.grid-4,[class*="cols-"]{
      grid-template-columns:1fr;
      gap:10px;
    }
    
    /* ── Butoane mobile ── */
    .btn,.btn-primary,.btn-brand,.btn-submit,[type="submit"]{
      border-radius:14px;
      font-weight:700;
      padding:13px 20px;
    }
    .btn-brand,.btn-primary,[type="submit"]{
      background:linear-gradient(135deg,#7c3aed,#a855f7);
      color:#fff;border:none;
      box-shadow:0 4px 16px rgba(124,58,237,.3);
    }

    /* ── Inputs mobile ── */
    input,textarea,select{
      border-radius:12px;
      border:1.5px solid var(--m-border);
      background:var(--m-card2);
      font-size:15px;
      padding:12px 14px;
      width:100%;
      box-sizing:border-box;
    }
    input:focus,textarea:focus,select:focus{
      outline:none;border-color:#7c3aed;
    }

    /* ── Taburi mobile ── */
    .tabs,.tab-list,.nav-tabs{
      overflow-x:auto;
      scrollbar-width:none;
      white-space:nowrap;
      display:flex;
      gap:6px;
      padding:0 14px;
      border-bottom:1px solid var(--m-border);
    }
    .tab,.tab-item,.nav-tab{
      white-space:nowrap;
      padding:9px 16px;
      border-radius:20px 20px 0 0;
      font-size:13px;font-weight:700;
      flex-shrink:0;
    }

    /* ── Container / wrapper ── */
    .container,.wrapper,.page-wrap,.inner,.content-wrap,.main-content{
      max-width:100%;
      padding-left:14px;padding-right:14px;
      margin-left:0;margin-right:0;
    }

    /* ── Typography ── */
    h1{font-size:22px;}h2{font-size:18px;}
    h3{font-size:16px;}p{font-size:14px;line-height:1.55;}

    /* ── Avatar / profile pic ── */
    .avatar,.user-avatar,.profile-pic{border-radius:50%;object-fit:cover;}

    /* ── Spacing ── */
    section,article,.section{padding:16px 0;}
    .p-lg,.p-xl,.py-lg,.py-xl{padding:16px 14px;}
  }

/* Source module: mobile-page-extra */
@media(max-width:768px){
    body{background:var(--bg);}
    .wrap{max-width:100%;padding:0;}

    /* Header */
    header.top{
      background:linear-gradient(135deg,#7c3aed,#a855f7);
      padding:calc(env(safe-area-inset-top,0px)+10px) 14px 14px;
      margin-bottom:0;border-bottom:none;
      position:sticky;top:0;z-index:50;
    }
    header.top h1{font-size:18px;color:#fff;}
    header.top .logo{color:#fff;-webkit-text-fill-color:#fff;font-size:18px;}
    header.top nav,header.top .nav,.nav-links{display:none;}

    /* Hero / intro */
    .intro,.page-intro{padding:16px 14px 10px;}
    .intro h2,.page-intro h2{
      font-size:20px;margin:0 0 6px;
      background:linear-gradient(135deg,#7c3aed,#a855f7);
      -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    }
    .intro p{font-size:13px;color:var(--muted);margin:0;}

    /* Tabs categorii */
    .tabs,.tab-nav{
      display:flex;overflow-x:auto;scrollbar-width:none;
      gap:6px;padding:10px 14px;
      border-bottom:1px solid var(--line);
    }
    .tabs::-webkit-scrollbar{display:none;}
    .tab{
      flex-shrink:0;padding:7px 16px;border-radius:20px;
      font-size:12px;font-weight:700;cursor:pointer;
      border:1.5px solid var(--line);background:var(--card);
      color:var(--ink);white-space:nowrap;
    }
    .tab.active,.tab[data-active]{
      background:linear-gradient(135deg,#7c3aed,#a855f7);
      border-color:transparent;color:#fff;
    }

    /* Grid campanii — 1 coloana */
    .grid,.campaigns-grid{
      display:grid;grid-template-columns:1fr;
      gap:10px;padding:14px;margin:0;
    }
    .card,.campaign-card{
      background:var(--card);border-radius:16px;
      border:1px solid var(--line);
      padding:0;overflow:hidden;
      text-decoration:none;color:var(--ink);
      display:flex;flex-direction:column;
    }
    .card:active{transform:scale(.98);opacity:.9;}

    /* Card header colorat pe tip */
    .card-head,.card-type{
      padding:10px 14px;font-size:11px;font-weight:800;
      text-transform:uppercase;letter-spacing:.06em;
      display:flex;align-items:center;gap:6px;
    }
    .card[data-type="petitie"] .card-head,.type-petitie{background:rgba(26,86,219,.12);color:var(--cmp-petitie);}
    .card[data-type="lege"] .card-head,.type-lege{background:rgba(124,58,237,.12);color:var(--cmp-lege);}
    .card[data-type="umanitar"] .card-head,.type-humanitar{background:rgba(220,38,38,.12);color:var(--cmp-humanitar);}

    /* Card body */
    .card-body{padding:12px 14px;}
    .card h3,.card-title{font-size:14px;font-weight:800;margin:0 0 6px;line-height:1.3;}
    .card p,.card-desc{font-size:12px;color:var(--muted);margin:0 0 10px;line-height:1.5;}

    /* Progress bar */
    .progress-bar,.campaign-progress{
      background:var(--line);border-radius:6px;height:6px;margin-bottom:8px;overflow:hidden;
    }
    .progress-fill{
      background:linear-gradient(90deg,#7c3aed,#a855f7);height:100%;border-radius:6px;
    }

    /* Meta semnaturi */
    .meta,.card-meta{
      display:flex;justify-content:space-between;align-items:center;
      font-size:11px;color:var(--muted);
    }
    .sign-btn,.cta-btn{
      display:inline-flex;align-items:center;gap:5px;
      background:linear-gradient(135deg,#7c3aed,#a855f7);
      color:#fff;border:none;
      padding:8px 16px;border-radius:20px;
      font-size:12px;font-weight:800;cursor:pointer;
      text-decoration:none;
    }

    /* Buton creare campanie */
    .create-btn,.new-campaign{
      display:flex;align-items:center;gap:8px;
      margin:14px;height:48px;border-radius:14px;
      background:linear-gradient(135deg,#7c3aed,#a855f7);
      border:none;color:#fff;font-size:14px;
      font-weight:800;cursor:pointer;
      justify-content:center;text-decoration:none;
      box-shadow:0 4px 16px rgba(124,58,237,.35);
    }
  }

/* Source module: white-override */
html, body { background: #ffffff ; background-color: #ffffff ; }
body { color: #0b1220 ; font-family: system-ui,-apple-system,'Segoe UI',Roboto,sans-serif ; }

/* Source module: ds-phase2-extra */
/* Faza 2 desktop — campanii/index.html */
@media(min-width:769px){
  body { background:#f5f3ff ; }
  .campanii-wrap,.campaigns-wrap { max-width:1100px ; margin:0 auto ; padding:24px ; }
  .campanii-grid,.campaigns-grid { display:grid ; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)) ; gap:18px ; }
  .campanie-card,.campaign-card { border-radius:16px ; overflow:hidden ; }
  .campanie-cover,.campaign-img { height:180px ; object-fit:cover ; width:100% ; }
}

/* Source-first unified shell. */
body>header:not(.dh){display:none;}

/* Source-first mobile navigation. */
.m-bottomnav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#fff;border-top:1px solid #e4e6ea;padding:6px 0 calc(6px + env(safe-area-inset-bottom,0px));box-shadow:0 -2px 16px rgba(0,0,0,.10);}
[data-dark] .m-bottomnav,[data-theme="dark"] .m-bottomnav{background:#242526;border-top-color:#3e4042;}
.m-bottomnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9.5px;font-weight:700;color:#65676b;text-decoration:none;padding:3px 2px;letter-spacing:.01em;transition:color .15s;}
[data-dark] .m-bottomnav a,[data-theme="dark"] .m-bottomnav a{color:#b0b3b8;}
.m-bottomnav a.active,.m-bottomnav a:active{color:#7c3aed;}
.m-bottomnav a svg,.m-bottomnav a .mnav-ico{font-size:22px;line-height:1;display:block;}
@media(max-width:768px){.m-bottomnav{display:flex;}}
