/* styles.css (final) */
/* ===== Reset & base ===== */
*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body{
  margin:0;
  font-family:"Vazirmatn", system-ui, -apple-system, "Segoe UI", sans-serif;
  background:#f3f4f6;
  color:#111827;
  line-height:1.6;
}

a{ color:inherit; text-decoration:none; }
button, input, select, textarea{ font-family:inherit; }

/* ===== Container ===== */
.container{
  width:100%;
  max-width:1120px;
  margin:0 auto;
  padding:0 1.25rem;
}
@font-face{
  font-family:"Vazirmatn";
  src:url("/fonts/Vazirmatn-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Vazirmatn";
  src:url("/fonts/Vazirmatn-Medium.woff2") format("woff2");
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Vazirmatn";
  src:url("/fonts/Vazirmatn-SemiBold.woff2") format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}

/* Pricing */
.pricing-shell{background:#f3f4f6;padding:1.5rem 0 2.4rem;}
.pricing-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;margin-top:-2.6rem;margin-bottom:1.4rem;
}
.pricing-card{position:relative;cursor:pointer;contain:layout paint;}
.pricing-card input{position:absolute;opacity:0;pointer-events:none;}
.pricing-card-inner{
  background:#fff;border-radius:.9rem;padding:.95rem 1rem 1.1rem;
  border:1px solid #e5e7eb;box-shadow:0 12px 24px rgba(148,163,184,.35);
  transition:box-shadow .18s ease,border-color .18s ease,transform .12s ease;
  font-size:.84rem;min-height:250px;display:flex;flex-direction:column;
  outline:2px solid transparent;outline-offset:0;box-sizing:border-box;
  contain:layout paint;
}
.plan-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.65rem;}
.plan-icon-top{width:40px;height:40px;flex-shrink:0;}
.plan-icon-top svg{
  width:100%;height:100%;display:block;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;fill:none;
}
.plan-icon-basic svg{stroke:#3b82f6;}
.plan-icon-hot svg{stroke:#f97316;}
.plan-icon-pro svg{stroke:#22c55e;}
.plan-badge{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.7rem;padding:.12rem .55rem;border-radius:999px;
  background:#fef3c7;color:#92400e;border:1px solid #fbbf24;margin-bottom:.35rem;
}
.plan-header-text{flex:1;}
.plan-name{font-size:.95rem;font-weight:600;margin:0 0 .18rem;color:#111827;min-height:1.4em;}
.plan-price{display:flex;align-items:baseline;gap:.2rem;margin:0;min-height:1.6em;}
.plan-price .amount{
  font-size:1.25rem;font-weight:700;color:#111827;
  font-variant-numeric:tabular-nums;
}
.plan-price .per{font-size:.8rem;color:#6b7280;}
.plan-features{
  margin:0;padding-right:0;list-style:none;font-size:.8rem;color:#374151;line-height:1.8;
  min-height:8.5em;
}
.plan-features li{display:flex;align-items:flex-start;gap:.35rem;}
.li-icon{flex-shrink:0;width:8px;height:8px;border-radius:999px;background:#f97316;margin-top:.45rem;}
.pricing-card-popular .pricing-card-inner{
  border-color:#fb923c;box-shadow:0 16px 32px rgba(249,115,22,.4);
  outline-color:#fb923c;
}
.pricing-card-selected .pricing-card-inner{
  border-color:#f97316;box-shadow:0 18px 36px rgba(249,115,22,.5);
  transform:translateY(-2px);outline-color:#f97316;
}
.plan-selected-badge{
  position:absolute;left:.55rem;top:.55rem;font-size:.7rem;background:#111827;color:#fff;
  padding:.08rem .4rem;border-radius:999px;line-height:1.4;z-index:2;
  min-width:3.6rem;text-align:center;
}

/* Order */
.order-box{
  background:#fff;border-radius:1rem;padding:1.1rem 1.2rem 1.3rem;
  box-shadow:0 16px 40px rgba(148,163,184,.45);
  border:1px solid #e5e7eb;font-size:.84rem;
}
.order-title{margin:0 0 .4rem;font-size:1rem;color:#111827;}
.order-subtitle{margin:0 0 .9rem;font-size:.84rem;color:#374151;line-height:1.8;}
.order-form label{display:block;font-size:.8rem;font-weight:600;color:#111827;margin-bottom:.25rem;}
.form-group{margin-bottom:.8rem;}
.order-form input[type="email"],
.order-form input[type="text"],
.order-form select{
  width:100%;border-radius:.6rem;border:1px solid #d1d5db;
  padding:.45rem .55rem;font-size:.8rem;outline:none;
}
.order-form input:focus,
.order-form select:focus{
  border-color:#f97316;box-shadow:0 0 0 1px rgba(249,115,22,.3);
}
.gw-note{margin-top:.45rem;font-size:.76rem;color:#374151;line-height:1.7;}
.promo-group{margin-top:.3rem;}
.promo-toggle{
  background:transparent;border:none;padding:0;font-size:.8rem;color:#c2410c;
  cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-weight:700;
}
.promo-field{margin-top:.4rem;display:none;}
.promo-field-open{display:block;}
.btn-full{width:100%;justify-content:center;margin-top:.3rem;}
.btn-order-submit.btn-loading{opacity:.7;cursor:wait;}
.order-note{margin-top:.7rem;font-size:.78rem;color:#374151;line-height:1.7;}
.checkout-message{margin-top:.5rem;font-size:.8rem;}

/* Gateways */
.gw{
  border:1px solid #e5e7eb;background:#f9fafb;
  padding:.55rem .6rem .65rem;border-radius:.9rem;
}
.gw-panel + .gw-panel{margin-top:.5rem;padding-top:.45rem;border-top:1px dashed #e5e7eb;}
.gw-sum{
  list-style:none;cursor:pointer;font-weight:700;font-size:.82rem;color:#111827;
  display:flex;align-items:center;justify-content:space-between;padding:.3rem 0;
}
.gw-sum::-webkit-details-marker{display:none;}
.gw-sum::after{content:'▾';font-size:.9rem;color:#6b7280;transition:transform .2s ease;}
.gw-panel[open] .gw-sum::after{transform:rotate(180deg);}
.gw-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:.35rem;margin-top:.45rem;
}
.gw-item{
  display:flex;align-items:center;gap:.5rem;min-width:0;
  font-size:.8rem;cursor:pointer;text-align:right;line-height:1.3;
  border-radius:.8rem;padding:.38rem .5rem;background:#fff;border:1px solid #e5e7eb;
  transition:box-shadow .16s ease,border-color .16s ease,background .16s ease,transform .08s ease;
  position:relative;
}
.gw-item:hover{
  border-color:#f97316;box-shadow:0 0 0 1px rgba(249,115,22,.25);
  background:#fff7ed;transform:translateY(-1px);
}
.gw-item-np{background:linear-gradient(135deg,#eef2ff,#e0f2fe);border-color:#4f46e5;}
.gw-icowrap{
  width:22px;height:22px;flex:0 0 22px;
  border-radius:999px;background:#f3f4f6;display:grid;place-items:center;overflow:hidden;
}

/* Hard-lock icon sizes (wins over any global img/svg rules) */
.gw .gw-ico,
.gw img.gw-ico,
.gw svg.gw-ico,
.gw-icowrap img,
.gw-icowrap svg{
  width:16px !important;height:16px !important;
  max-width:16px !important;max-height:16px !important;
  display:block !important;flex-shrink:0 !important;
  object-fit:contain !important;
}

.gw-label{display:flex;flex-direction:column;min-width:0;gap:.08rem;}
.gw-name{font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gw-sub{
  font-size:.73rem;color:#6b7280;line-height:1.55;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.gw-item.is-selected{
  border-color:#f97316;box-shadow:0 0 0 2px rgba(249,115,22,.22);background:#fff7ed;
}
.gw-item.is-selected::after{
  content:'انتخاب شد';position:absolute;left:.45rem;top:.45rem;
  font-size:.65rem;background:#111827;color:#fff;
  padding:.05rem .35rem;border-radius:999px;line-height:1.4;
}

/* Trust strip */
.trust-strip{
  background:linear-gradient(90deg,#0f172a,#111827);
  color:#e5e7eb;padding:.9rem 0;content-visibility:auto;contain-intrinsic-size:180px;
}
.trust-inner{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.2rem;align-items:stretch;font-size:.8rem;
}
.trust-item{display:flex;align-items:center;gap:.75rem;min-width:0;}
.trust-icon{flex-shrink:0;width:40px;height:40px;display:grid;place-items:center;}
.trust-icon svg{
  width:100%;height:100%;display:block;stroke:#fbbf24;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;fill:none;
}
.trust-item > div{display:flex;flex-direction:column;gap:.15rem;min-width:0;}
.trust-label{font-weight:700;font-size:.9rem;color:#fbbf24;line-height:1.35;white-space:nowrap;}
.trust-text{color:#f1f5f9;opacity:1;line-height:1.6;overflow-wrap:anywhere;}

/* Features */
.features-section{background:#f9fafb;padding:2.1rem 0 2.4rem;color:#111827;}
.section-title{margin:0 0 .7rem;font-size:1rem;color:#111827;}
.section-subtitle{
  margin:0 0 1.1rem;font-size:.83rem;line-height:1.8;
  color:#111827 !important;opacity:1 !important;
}
.features-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;font-size:.83rem;}
.feature-card{
  background:#fff;border-radius:1rem;padding:.9rem 1rem;border:1px solid #e5e7eb;
  box-shadow:0 14px 30px rgba(148,163,184,.35);color:#111827;
}
.feature-card p{color:#111827 !important;opacity:1 !important;}
.feature-header{display:flex;align-items:center;gap:.65rem;margin-bottom:.4rem;}
.feature-icon{width:40px;height:40px;flex-shrink:0;}
.feature-icon svg{
  width:100%;height:100%;display:block;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;fill:none;
}
.feature-sec svg{stroke:#22c55e;}
.feature-speed svg{stroke:#f97316;}
.feature-devices svg{stroke:#0ea5e9;}
.feature-usage svg{stroke:#6b7280;}
.feature-card h3{margin:.1rem 0 .1rem;font-size:.9rem;color:#111827;}
.feature-card p{margin:0;line-height:1.8;}

/* Servers */
.servers-section{
  background:#f3f4f6;padding:2.1rem 0 2.4rem;
  content-visibility:auto;contain-intrinsic-size:900px;
}
.servers-title,.servers-subtitle{text-align:center;}
.servers-flags-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));
  gap:.5rem;justify-items:center;margin-top:1.2rem;
}
.servers-flags-grid .flag-item{
  width:32px;height:24px;border-radius:.4rem;overflow:hidden;
  background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 10px rgba(15,23,42,.10);
  display:grid;place-items:center;
}
.servers-flags-grid .flag-item img{width:100%;height:100%;object-fit:cover;display:block;}

/* FAQ */
.faq-section{
  background:#e5e7eb;padding:2.1rem 0 2.4rem;
  content-visibility:auto;contain-intrinsic-size:900px;
}
.faq-list details{
  margin-bottom:.75rem;border-radius:.9rem;background:#fff;border:1px solid #e5e7eb;
  padding:.8rem .95rem;box-shadow:0 10px 24px rgba(148,163,184,.35);font-size:.83rem;
}
.faq-list summary{
  cursor:pointer;font-weight:700;display:flex;align-items:center;justify-content:space-between;
}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{
  content:'+';font-size:.9rem;color:#6b7280;margin-inline-start:.5rem;transition:transform .2s ease;
}
.faq-list details[open] summary::after{transform:rotate(45deg);}
.faq-list p{margin-top:.5rem;font-size:.8rem;color:#374151;line-height:1.8;}
.faq-list a{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px;}

/* SEO text */
.seo-text-section{
  background:#f9fafb;padding:1.9rem 0 2.1rem;
  content-visibility:auto;contain-intrinsic-size:900px;
}
.seo-text{margin:0 0 .9rem;font-size:.83rem;color:#374151;line-height:2;}

/* Responsive */
@media (max-width:1024px){
  .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-2.1rem;}
  .features-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pricing-card-inner{min-height:240px;}
  .plan-features{min-height:8em;}
  .trust-inner{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:768px){
  .pricing-grid{grid-template-columns:1fr;margin-top:-1.8rem;}
  .features-grid{grid-template-columns:1fr;}
  .pricing-card-inner{min-height:auto;}
  .plan-features{min-height:auto;}
  .trust-inner{grid-template-columns:1fr;}
  .trust-label{white-space:normal;}

  .gw-grid{grid-template-columns:1fr;}
  .gw-sub{display:none;}
  .gw-item{padding:.5rem .6rem;}
  .gw-name{font-size:.82rem;}
}

/* Touch targets */
.btn{
  min-height:44px;min-width:44px;padding:.7rem 1.15rem;
  display:inline-flex;align-items:center;justify-content:center;
  line-height:1.2;touch-action:manipulation;
}
