@font-face{font-family:'Vazirmatn';src:url('/fonts/Vazirmatn%5Bwght%5D.woff2') format('woff2');font-weight:100 900;font-display:swap;}


  :root{
    --paper:#F6F4EC;
    --paper-alt:#EDE8DA;
    --ink:#1F2A2E;
    --ink-soft:#4B5A5C;
    --ink-faint:#7C8A86;
    --turquoise:#0EA99A;
    --turquoise-deep:#0A7A6E;
    --turquoise-tint:#DEF4F0;
    --gold:#A2793A;
    --gold-tint:#F1E6D2;
    --border:#DAD2BE;
    --border-soft:#E7E1D1;
    --danger:#A6402F;
    --radius:4px;
    --maxw:1120px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Vazirmatn',Tahoma,sans-serif;
    direction:rtl;
    line-height:1.8;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;}
  input,textarea,select{font-family:inherit;}
  ::selection{background:var(--turquoise-tint);}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  @media(max-width:640px){.wrap{padding:0 18px;}}

  /* ---------- header ---------- */
  header.site{
    position:sticky;top:0;z-index:40;
    background:rgba(246,244,236,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--border);
  }
  .header-inner{
    display:flex;align-items:center;justify-content:space-between;
    height:76px;
  }
  .brand{display:flex;align-items:center;gap:12px;cursor:pointer;}
  .brand-mark{
    width:40px;height:40px;border-radius:2px;
    background:var(--turquoise);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
  }
  .brand-mark svg{width:22px;height:22px;}
  .brand-text{display:flex;flex-direction:column;line-height:1.3;}
  .brand-text b{font-size:1.02rem;font-weight:700;letter-spacing:0.2px;}
  .brand-text span{font-size:0.72rem;color:var(--ink-faint);}

  nav.main-nav{display:flex;align-items:center;gap:6px;}
  nav.main-nav .navlink{
    padding:9px 14px;font-size:0.94rem;color:var(--ink-soft);
    border-radius:3px;position:relative;
  }
  nav.main-nav .navlink:hover{color:var(--ink);background:var(--paper-alt);}
  nav.main-nav .navlink.active{color:var(--turquoise-deep);font-weight:600;}
  .nav-dropdown{position:relative;}
  .nav-dropdown-panel{
    position:absolute;top:calc(100% + 8px);left:0;
    background:#fff;border:1px solid var(--border);border-radius:var(--radius);
    min-width:190px;box-shadow:0 8px 24px rgba(31,42,46,0.08);
    display:none;flex-direction:column;padding:6px;
  }
  .nav-dropdown:hover .nav-dropdown-panel{display:flex;}
  .nav-dropdown-panel a{padding:9px 12px;font-size:0.9rem;border-radius:3px;color:var(--ink-soft);}
  .nav-dropdown-panel a:hover{background:var(--paper-alt);color:var(--ink);}

  .nav-cta{
    display:flex;align-items:center;gap:8px;
  }
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:10px 20px;border-radius:3px;font-size:0.92rem;font-weight:600;
    border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease;
  }
  .btn-primary{background:var(--turquoise);color:#fff;}
  .btn-primary:hover{background:var(--turquoise-deep);}
  .btn-outline{border-color:var(--ink);color:var(--ink);background:transparent;}
  .btn-outline:hover{background:var(--ink);color:#fff;}
  .btn-ghost{color:var(--ink-soft);background:transparent;padding:10px 14px;}
  .btn-ghost:hover{color:var(--ink);}
  .btn-sm{padding:7px 14px;font-size:0.84rem;}
  .btn-block{width:100%;}
  .btn[disabled]{opacity:0.45;cursor:not-allowed;}

  .burger{display:none;background:none;border:none;padding:8px;}
  .burger svg{width:22px;height:22px;}

  @media(max-width:900px){
    nav.main-nav, .nav-cta .btn-outline{display:none;}
    .burger{display:inline-flex;}
  }

  .mobile-menu{
    display:none;flex-direction:column;gap:2px;padding:10px 0 18px;
    border-top:1px solid var(--border);
  }
  .mobile-menu.open{display:flex;}
  .mobile-menu a, .mobile-menu button{
    text-align:right;padding:12px 4px;font-size:0.96rem;color:var(--ink-soft);
    border-bottom:1px solid var(--border-soft);background:none;border-right:none;border-left:none;border-top:none;
  }

  /* ---------- hero ---------- */
  .hero{
    position:relative;overflow:hidden;
    border-bottom:1px solid var(--border);
    background:
      radial-gradient(circle at 92% 8%, var(--turquoise-tint) 0%, transparent 42%),
      var(--paper);
  }
  .hero-pattern{position:absolute;inset:0;opacity:0.5;pointer-events:none;}
  .hero-inner{position:relative;padding:88px 0 76px;}
  .hero h1{
    font-size:2.6rem;font-weight:800;line-height:1.32;max-width:15ch;margin:0 0 22px;
    letter-spacing:-0.3px;
  }
  .hero p.lead{font-size:1.08rem;color:var(--ink-soft);max-width:56ch;margin:0 0 34px;}
  .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:52px;}
  .benefit-row{display:flex;gap:14px;flex-wrap:wrap;}
  .benefit-chip{
    display:flex;align-items:center;gap:12px;
    background:#fff;border:1px solid var(--border);border-radius:var(--radius);
    padding:16px 18px;min-width:230px;
  }
  .benefit-chip .ic{
    width:38px;height:38px;border-radius:3px;background:var(--turquoise-tint);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .benefit-chip .ic svg{width:20px;height:20px;stroke:var(--turquoise-deep);}
  .benefit-chip b{display:block;font-size:0.94rem;margin-bottom:2px;}
  .benefit-chip span{font-size:0.8rem;color:var(--ink-faint);}

  @media(max-width:640px){
    .hero h1{font-size:1.9rem;}
    .hero-inner{padding:52px 0 46px;}
  }

  /* ---------- generic sections ---------- */
  section.block{padding:64px 0;}
  section.block.alt{background:var(--paper-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
  .section-head{margin-bottom:36px;max-width:640px;}
  .section-head h2{font-size:1.65rem;font-weight:700;margin:0 0 10px;}
  .section-head p{color:var(--ink-soft);margin:0;font-size:0.98rem;}

  .page-hero{padding:56px 0 40px;border-bottom:1px solid var(--border);}
  .page-hero h1{font-size:2.05rem;font-weight:800;margin:0 0 10px;}
  .page-hero .sub{color:var(--ink-faint);font-size:0.86rem;}
  .content-col{max-width:720px;}

  .card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media(max-width:900px){.card-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:640px){.card-grid{grid-template-columns:1fr;}}

  .card{
    background:#fff;border:1px solid var(--border);border-radius:var(--radius);
    padding:22px;position:relative;
  }
  .card::before{
    content:"";position:absolute;top:0;right:0;bottom:0;width:3px;
    background:var(--turquoise);border-radius:var(--radius) 0 0 var(--radius);
  }
  .card h3{margin:0 0 8px;font-size:1.02rem;font-weight:700;}
  .card p{margin:0;font-size:0.88rem;color:var(--ink-soft);}

  .list-plain{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px;}
  .list-plain li{display:flex;gap:14px;align-items:flex-start;}
  .list-plain .dot{
    width:8px;height:8px;background:var(--turquoise);margin-top:9px;flex-shrink:0;
    transform:rotate(45deg);
  }
  .list-plain .txt b{display:block;margin-bottom:3px;font-size:0.98rem;}
  .list-plain .txt span{color:var(--ink-soft);font-size:0.9rem;}

  .article-item, .news-item{
    border-bottom:1px solid var(--border-soft);padding:26px 0;
  }
  .article-item:first-child, .news-item:first-child{padding-top:0;}
  .meta-line{display:flex;gap:12px;align-items:center;font-size:0.78rem;color:var(--ink-faint);margin-bottom:8px;}
  .meta-line .tag{
    background:var(--turquoise-tint);color:var(--turquoise-deep);
    padding:2px 9px;border-radius:2px;font-size:0.72rem;font-weight:600;
  }
  .news-item h3, .article-item h3{margin:0 0 8px;font-size:1.12rem;font-weight:700;}
  .news-item p, .article-item p{margin:0 0 10px;color:var(--ink-soft);font-size:0.92rem;}
  .toggle-link{font-size:0.84rem;color:var(--turquoise-deep);font-weight:600;border-bottom:1px solid var(--turquoise-deep);}
  .full-text{display:none;margin-top:12px;font-size:0.92rem;color:var(--ink-soft);border-right:2px solid var(--border);padding-right:14px;}
  .full-text.open{display:block;}

  .notice{
    background:var(--gold-tint);border:1px solid var(--gold);border-radius:var(--radius);
    padding:14px 16px;font-size:0.85rem;color:#6B4E23;margin-bottom:30px;
  }

  .founder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  @media(max-width:800px){.founder-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.founder-grid{grid-template-columns:1fr;}}
  .founder-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center;}
  .founder-avatar{
    width:56px;height:56px;border-radius:50%;background:var(--turquoise-tint);color:var(--turquoise-deep);
    display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-weight:700;font-size:1.1rem;
  }
  .founder-card b{display:block;font-size:0.94rem;margin-bottom:3px;}
  .founder-card span{font-size:0.8rem;color:var(--ink-faint);}

  .bylaw-article{padding:20px 0;border-bottom:1px solid var(--border-soft);}
  .bylaw-article:first-child{padding-top:0;}
  .bylaw-article h3{margin:0 0 8px;font-size:1rem;font-weight:700;color:var(--turquoise-deep);}
  .bylaw-article p{margin:0;font-size:0.92rem;color:var(--ink-soft);}

  footer.site{border-top:1px solid var(--border);padding:44px 0 30px;margin-top:20px;}
  .footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:30px;}
  .footer-col h4{font-size:0.9rem;margin:0 0 12px;}
  .footer-col a, .footer-col span{display:block;font-size:0.84rem;color:var(--ink-soft);margin-bottom:8px;}
  .footer-bottom{border-top:1px solid var(--border-soft);padding-top:20px;font-size:0.78rem;color:var(--ink-faint);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

  /* ---------- forms ---------- */
  .form-group{margin-bottom:18px;}
  .form-group label{display:block;font-size:0.86rem;font-weight:600;margin-bottom:7px;}
  .form-group .hint{font-size:0.76rem;color:var(--ink-faint);margin-top:5px;}
  .form-group input, .form-group textarea, .form-group select{
    width:100%;border:1px solid var(--border);border-radius:var(--radius);
    padding:11px 13px;font-size:0.92rem;background:#fff;color:var(--ink);
  }
  .form-group input:focus, .form-group textarea:focus, .form-group select:focus{outline:2px solid var(--turquoise);outline-offset:1px;}
  .form-group textarea{resize:vertical;min-height:100px;}
  .field-error{color:var(--danger);font-size:0.78rem;margin-top:5px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media(max-width:560px){.form-row{grid-template-columns:1fr;}}

  .type-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:10px;}
  @media(max-width:640px){.type-grid{grid-template-columns:1fr;}}
  .type-card{
    text-align:right;background:#fff;border:1.5px solid var(--border);border-radius:var(--radius);
    padding:20px;display:flex;flex-direction:column;gap:8px;
  }
  .type-card:hover{border-color:var(--turquoise);}
  .type-card b{font-size:0.98rem;}
  .type-card span{font-size:0.82rem;color:var(--ink-soft);}
  .type-card .code-req{font-size:0.74rem;color:var(--turquoise-deep);font-weight:600;}

  .steps-row{display:flex;align-items:center;gap:8px;margin-bottom:34px;flex-wrap:wrap;}
  .step-pill{display:flex;align-items:center;gap:8px;font-size:0.82rem;color:var(--ink-faint);}
  .step-pill .num{
    width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);
    display:flex;align-items:center;justify-content:center;font-size:0.74rem;font-weight:700;flex-shrink:0;
  }
  .step-pill.active{color:var(--turquoise-deep);font-weight:700;}
  .step-pill.active .num{background:var(--turquoise);border-color:var(--turquoise);color:#fff;}
  .step-pill.done .num{background:var(--turquoise-tint);border-color:var(--turquoise);color:var(--turquoise-deep);}
  .step-sep{width:26px;height:1px;background:var(--border);}

  .panel-box{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;}
  .form-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:30px;max-width:560px;}

  .alert{padding:12px 15px;border-radius:var(--radius);font-size:0.86rem;margin-bottom:18px;}
  .alert-error{background:#F7E7E3;color:var(--danger);border:1px solid #E3B9AC;}
  .alert-success{background:var(--turquoise-tint);color:var(--turquoise-deep);border:1px solid #AEDAD2;}

  /* ---------- membership card ---------- */
  .member-card{
    width:100%;max-width:400px;border-radius:8px;overflow:hidden;
    border:1px solid var(--border);box-shadow:0 10px 30px rgba(15,60,55,0.12);
    background:#fff;
  }
  .mc-head{
    background:linear-gradient(135deg,var(--turquoise) 0%,var(--turquoise-deep) 100%);
    color:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;
  }
  .mc-head .mc-logo{display:flex;align-items:center;gap:10px;}
  .mc-head .mc-logo svg{width:22px;height:22px;}
  .mc-head b{font-size:0.8rem;display:block;}
  .mc-head span{font-size:0.66rem;opacity:0.85;}
  .mc-body{padding:20px;display:flex;gap:16px;}
  .mc-avatar{
    width:64px;height:64px;border-radius:50%;background:var(--turquoise-tint);color:var(--turquoise-deep);
    display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.3rem;flex-shrink:0;
  }
  .mc-info b{display:block;font-size:1.05rem;margin-bottom:3px;}
  .mc-info .mc-type{font-size:0.78rem;color:var(--turquoise-deep);font-weight:600;margin-bottom:8px;display:block;}
  .mc-info .mc-row{font-size:0.76rem;color:var(--ink-faint);}
  .mc-info .mc-row b{display:inline;font-size:0.76rem;color:var(--ink-soft);}
  .mc-foot{
    border-top:1px dashed var(--border);padding:12px 20px;display:flex;justify-content:space-between;
    align-items:center;font-size:0.72rem;color:var(--ink-faint);
  }
  .mc-foot .track{font-family:monospace;font-size:0.8rem;color:var(--ink);letter-spacing:1px;}

  #printCardWrapper{display:none;}
  @media print{
    body *{visibility:hidden;}
    #printCardWrapper, #printCardWrapper *{visibility:visible;}
    #printCardWrapper{
      display:block !important;position:fixed;inset:0;
      display:flex;align-items:center;justify-content:center;padding:40px;
    }
  }

  .tracking-box{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    background:var(--paper-alt);border:1px dashed var(--border);border-radius:var(--radius);
    padding:16px 18px;margin:22px 0;flex-wrap:wrap;
  }
  .tracking-box .code{font-family:monospace;font-size:1.15rem;letter-spacing:2px;font-weight:700;}
  .tracking-box .lbl{font-size:0.78rem;color:var(--ink-faint);}

  .submitted-article{border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:12px;}
  .submitted-article .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
  .submitted-article h4{margin:0;font-size:0.94rem;}
  .status-pill{font-size:0.7rem;background:var(--gold-tint);color:#6B4E23;padding:2px 10px;border-radius:12px;font-weight:600;}
  .submitted-article p{margin:0;font-size:0.84rem;color:var(--ink-soft);}

  .empty-state{text-align:center;padding:40px 20px;color:var(--ink-faint);font-size:0.9rem;}

  .divider-space{height:1px;background:var(--border);margin:34px 0;}

  .social-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
  .social-badge{
    display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:16px;
    font-size:0.76rem;font-weight:600;color:#fff;
  }
  .social-badge svg{width:14px;height:14px;}
  .social-badge.tg{background:#2AA9E0;}
  .social-badge.wa{background:#25A25A;}
  .social-badge.ei{background:#D98A2B;}
  .social-badge.ru{background:#6E5BC4;}
  .contact-row{display:flex;align-items:center;gap:8px;}
  .contact-row svg{width:15px;height:15px;color:var(--turquoise-deep);flex-shrink:0;}

/* =========================================
   Mobile Display Fixes (Final Version)
   ========================================= */
@media (max-width: 768px) {

    /* 1. Fix site-wide margins/padding */
    .wrap {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* 2. Fix header (association name and buttons) */
    .header-inner {
        height: auto !important; /* Allow height to adjust based on content */
        min-height: 76px;
        flex-wrap: nowrap !important; /* Prevent header from wrapping to next line */
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .brand-text b {
        font-size: 14px !important; /* Appropriate font size for mobile */
        line-height: 1.3;
        white-space: normal;
    }
    .brand-text span {
        font-size: 10px !important;
    }

    /* 3. Align and tighten buttons and menu */
    .nav-cta {
        gap: 6px !important; /* Clean and tight spacing between buttons */
    }
    
    .nav-cta .btn {
        padding: 6px 10px !important; /* Smaller buttons on mobile */
        font-size: 0.78rem !important;
    }
    
    .nav-cta .btn-ghost {
        padding: 6px 8px !important; /* Make login text more compact */
    }
    
    .burger {
        padding: 4px !important;
    }
    .burger svg {
        width: 24px;
        height: 24px;
    }

    /* 4. Fix main text (Scientific promotion...) */
    .hero h1 {
        font-size: 1.8rem !important;
        line-height: 1.5;
        margin-bottom: 15px;
    }

    .hero .lead {
        font-size: 14px !important;
        line-height: 1.7;
    }

    /* 5. Hero buttons (stack vertically and take full width) */
    .hero-actions {
        display: flex;
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }
    .hero-actions .btn {
        width: 100%;
    }
}
