/*
Theme Name: hasteh
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org

*/


    :root{
      --bg0:#030610;
      --bg1:#050a17;
      --text:rgba(255,255,255,.92);
      --muted:rgba(255,255,255,.68);
      --line:rgba(255,255,255,.12);

      --c1:#20d3ff;
      --c2:#2b7bff;
      --c3:#00ffd1;

      --shadow: 0 28px 90px rgba(0,0,0,.6);
      --shadow2: 0 18px 60px rgba(0,0,0,.45);
      --ring: 0 0 0 6px rgba(32,211,255,.14);

      --radius: 20px;
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      color:var(--text);
      font-family: Vazirmatn, Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      background:
        radial-gradient(1000px 560px at 50% 22%, rgba(32,211,255,.20), transparent 62%),
        radial-gradient(900px 520px at 18% 82%, rgba(43,123,255,.16), transparent 60%),
        radial-gradient(760px 460px at 85% 78%, rgba(0,255,209,.10), transparent 60%),
        linear-gradient(180deg, var(--bg0) 0%, var(--bg1) 45%, #02040b 100%);
      overflow-x:hidden;
    }
html, body{
  height: 100%;
  overflow: hidden;        /* مهم: جلوگیری از اسکرول کل صفحه */
}

body{
  overscroll-behavior: none;
}

    /* Light digital streaks */
    .bg-lines{
      position:fixed; inset:0;
      pointer-events:none;
      opacity:.22;
      background-image:
        linear-gradient(to bottom, rgba(32,211,255,.45), transparent 70%),
        linear-gradient(to bottom, rgba(43,123,255,.30), transparent 75%),
        linear-gradient(to bottom, rgba(255,255,255,.20), transparent 75%);
      background-size: 1px 280px, 1px 220px, 1px 180px;
      background-repeat: repeat;
      background-position: 24% 0, 74% 0, 52% 0;
      filter: blur(.2px);
      mask-image: radial-gradient(700px 420px at 50% 30%, rgba(0,0,0,1), transparent 78%);
    }

    .wrap{
  max-width: 980px;
  margin: 0 auto;
  padding: 18px 18px 18px;
  height: 100dvh;          /* دقیق‌تر از 100vh در موبایل */
  display: grid;
  grid-template-rows: auto 1fr auto;  /* topbar / hero / footer */
  overflow: hidden;     }

    /* Top bar (very light, no boxes) */
    .topbar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom: 10px;
    }

    .brand-mini{
      display:flex;
      flex-direction:column;
      line-height:1.1;
    }
    .brand-mini b{font-weight:800; letter-spacing:.2px}
    .brand-mini span{color:var(--muted); font-size:.86rem; margin-top:4px}

    .lang{
      display:flex;
      align-items:center;
      gap:8px;
      padding: 6px;
      border-radius: 999px;
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.10);
      backdrop-filter: blur(10px);
      box-shadow: 0 14px 46px rgba(0,0,0,.35);
    }
    .lang button{
      border:0;
      background: transparent;
      color: var(--muted);
      font: inherit;
      cursor:pointer;
      padding: 8px 10px;
      border-radius: 999px;
      transition: .18s ease;
      font-size:.92rem;
      min-width: 78px;
    }
    .lang button.active{
      color: var(--text);
      background: rgba(255,255,255,.08);
      box-shadow: var(--ring);
      border: 1px solid rgba(32,211,255,.18);
    }

    /* Center hero */
    .hero{
  min-height: 0;           /* مهم: اجازه نده ارتفاع تحمیلی باعث overflow شود */
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 6px 0 6px;
  overflow: hidden;
    }

    .logo-center{
      width: min(320px, 72vw);
      margin: 10px auto 14px;
      filter: drop-shadow(0 26px 60px rgba(0,0,0,.55));
    }
    .logo-center img{
      width:100%;
      height:auto;
      display:block;
    }

    .badge{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding: 10px 14px;
      border-radius: 999px;
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.10);
      backdrop-filter: blur(10px);
      box-shadow: 0 18px 55px rgba(0,0,0,.35);
      color: var(--muted);
      font-size: .94rem;
      margin-bottom: 16px;
    }
    .badge .dot{
      width: 9px; height: 9px; border-radius: 999px;
      background: linear-gradient(135deg, var(--c1), var(--c3));
      box-shadow: 0 0 0 6px rgba(32,211,255,.14);
    }

    h1{
      margin: 0 0 10px;
      font-size: clamp(1.7rem, 4vw, 2.8rem);
      line-height: 1.25;
      letter-spacing: .15px;
      text-shadow: 0 14px 40px rgba(0,0,0,.45);
    }
    .sub{
      margin: 0 0 22px;
      color: var(--muted);
      font-size: clamp(1.02rem, 1.7vw, 1.12rem);
      line-height: 2;
      max-width: 62ch;
    }

    .cta{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:12px;
      flex-wrap:wrap;
      margin-top: 6px;
    }

    .btn{
      border:0;
      cursor:pointer;
      font: inherit;
      font-weight: 800;
      padding: 14px 18px;
      border-radius: 16px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      transition: .18s ease;
      box-shadow: var(--shadow2);
      white-space:nowrap;
    }
    .btn-primary{
      color:#06101a;
      background: linear-gradient(135deg, var(--c1), var(--c2));
      box-shadow: 0 22px 70px rgba(32,211,255,.22);
    }
    .btn-primary:hover{ transform: translateY(-1px); filter:saturate(1.05) }
    .btn-primary:active{ transform: translateY(0px) }

    .btn-ghost{
      color: var(--text);
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.12);
      box-shadow: 0 18px 58px rgba(0,0,0,.38);
    }
    .btn-ghost:hover{ background: rgba(255,255,255,.09) }

    /* Minimal list – no boxes */
    .bullets{
      margin-top: 26px;
      display:flex;
      flex-direction:column;
      gap:10px;
      align-items:center;
      color: rgba(255,255,255,.68);
      font-size: .98rem;
    }
    .bullets span{
      display:inline-flex;
      align-items:center;
      gap:10px;
    }
    .bullets i{
      width:6px; height:6px; border-radius:999px;
      background: rgba(32,211,255,.65);
      box-shadow: 0 0 0 5px rgba(32,211,255,.12);
    }

    footer{
      margin-top: 26px;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      color: rgba(255,255,255,.55);
      font-size:.9rem;
    }
    footer a{ color: rgba(255,255,255,.70); text-decoration:none }
    footer a:hover{ text-decoration:underline }

    /* Modal */
    .modal{
      position:fixed; inset:0;
      display:none;
      align-items:center;
      justify-content:center;
      padding: 18px;
      background: rgba(0,0,0,.58);
      backdrop-filter: blur(10px);
      z-index: 50;
    }
    .modal.open{ display:flex; }

    .modal-card{
      width: min(740px, 100%);
      border-radius: 22px;
      background: linear-gradient(180deg, rgba(12,16,30,.92), rgba(7,9,16,.92));
      border: 1px solid rgba(255,255,255,.14);
      box-shadow: 0 30px 100px rgba(0,0,0,.65);
      overflow:hidden;
    }
    .modal-head{
      padding: 18px 18px 14px;
      border-bottom: 1px solid rgba(255,255,255,.10);
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:14px;
      text-align:start;
    }
    .modal-head h2{
      margin:0;
      font-size: 1.1rem;
      font-weight: 900;
    }
    .modal-head p{
      margin:6px 0 0;
      color: var(--muted);
      font-size: .92rem;
      line-height: 1.9;
      max-width: 70ch;
    }
    .x{
      width: 40px; height: 40px;
      border-radius: 14px;
      border: 1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.06);
      color: var(--text);
      cursor:pointer;
      font-size: 18px;
      line-height: 40px;
      text-align:center;
    }

    form{ padding: 16px 18px 18px; text-align:start; }
    .grid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }
    .field{ display:flex; flex-direction:column; gap:8px; }
    label{ color: rgba(255,255,255,.82); font-size: .92rem; }
    input, textarea{
      width:100%;
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.06);
      color: var(--text);
      padding: 12px 12px;
      font: inherit;
      outline:none;
      transition: .15s ease;
    }
    input:focus, textarea:focus{
      border-color: rgba(32,211,255,.35);
      box-shadow: var(--ring);
      background: rgba(255,255,255,.07);
    }
    textarea{ min-height: 120px; resize: vertical; }

    .actions{
      display:flex;
      gap:10px;
      align-items:center;
      justify-content:flex-end;
      margin-top: 12px;
      flex-wrap:wrap;
    }

    .alert{
      display:none;
      margin-top: 12px;
      padding: 12px 12px;
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.06);
      color: var(--text);
      line-height: 1.9;
      font-size: .92rem;
    }
    .alert.show{ display:block; }

    .note{
      margin-top: 12px;
      color: var(--muted);
      font-size: .88rem;
      line-height: 1.9;
    }

    @media (max-width: 560px){
      .grid{ grid-template-columns: 1fr; }
      .lang button{ min-width: 72px; }
    }