/* team.css — раздел «Сетевые партнёры» (/team/).
   Шапка, подвал, hero, секции, карточки, FAQ, форма — из /styles.css сайта (Fiery Ocean).
   Здесь только то, чего на главной нет: стопка карточек в hero, форма партнёра, финальные экраны. */

/* ---------- Hero: карточки сделки вместо робота ---------- */
.team-card-stack{position:relative; width:min(100%,440px); aspect-ratio:1/.9; margin-inline:auto}
.team-card{
  position:absolute; left:0; right:0; margin-inline:auto; width:min(100%,360px);
  display:flex; gap:16px; align-items:center; padding:18px 20px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  box-shadow:var(--shadow); transition:transform var(--t-mid) var(--ease), box-shadow var(--t-mid) var(--ease);
}
.team-card-body{display:grid; gap:3px; min-width:0}
.team-card-label{font-family:var(--font-mono); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-3)}
.team-card b{font-family:var(--font-head); font-size:18.5px; font-weight:700; letter-spacing:-.02em; color:var(--text); line-height:1.15}
.team-card-body > span:last-child{font-size:14px; color:var(--text-2)}
/* иконки — как .role-icon на главной, но крупнее и с цветом по смыслу */
.team-card-ico{
  flex:none; width:56px; height:56px; display:grid; place-items:center; border-radius:16px;
  background:var(--surface-2); border:1px solid var(--border);
}
.team-card-ico svg{width:30px; height:30px; fill:none; stroke:var(--text-2); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}
.team-ico-client{background:color-mix(in srgb, var(--steel, #669BBC) 16%, var(--surface)); border-color:color-mix(in srgb, var(--steel, #669BBC) 40%, transparent)}
.team-ico-client svg{stroke:var(--ocean, #003049)}
[data-theme="dark"] .team-ico-client svg{stroke:var(--steel, #669BBC)}
.team-ico-accept{background:color-mix(in srgb, #2E9E5B 14%, var(--surface)); border-color:color-mix(in srgb, #2E9E5B 40%, transparent)}
.team-ico-accept svg{stroke:#2E9E5B}
.team-ico-pay{background:var(--accent); border-color:var(--accent); box-shadow:0 8px 20px var(--glow-1)}
.team-ico-pay svg{stroke:var(--on-accent)}
/* пунктирная нить, связывающая карточки в цепочку */
.team-card-line{
  position:absolute; left:calc(50% - 1px); top:12%; bottom:14%; width:2px;
  background:repeating-linear-gradient(to bottom, var(--border-strong) 0 6px, transparent 6px 12px);
  opacity:.9;
}
.team-card-1{top:4%; transform:rotate(-3deg) translateX(-8%)}
.team-card-2{top:36%; transform:rotate(2deg) translateX(6%); border-color:var(--border-strong)}
.team-card-3{top:66%; transform:rotate(-1deg); border-color:var(--accent); box-shadow:0 0 0 1px var(--accent) inset, 0 18px 44px var(--glow-1)}
.team-card-3 b{color:var(--accent-text); font-size:21px}
.team-card-stack:hover .team-card{transform:rotate(0) translateX(0)}
@media (prefers-reduced-motion:no-preference){
  .team-card-3{animation:float 6s ease-in-out infinite}
  .team-card-2 .team-card-ico svg path:last-child{stroke-dasharray:12; stroke-dashoffset:12; animation:team-check 1.2s var(--ease) .6s forwards}
  @keyframes team-check{to{stroke-dashoffset:0}}
}

/* ---------- Header CTA ---------- */
.team-hdr-cta{margin-right:6px}
@media (max-width:720px){.team-hdr-cta{display:none}}

/* ---------- Форма партнёра ---------- */
.partner-form{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-xl);
  padding:var(--space-4); box-shadow:var(--shadow-sm);
}
.partner-form[hidden]{display:none}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3); margin-bottom:var(--space-3)}
.field-wide{grid-column:1 / -1}
.field label .req{color:var(--accent)}
.field label .opt{font-size:12px; font-weight:500; color:var(--text-3)}
.field textarea{
  width:100%; padding:14px 18px; background:var(--surface); border:1.5px solid var(--border); border-radius:var(--r-sm);
  font:inherit; font-size:16px; color:var(--text); resize:vertical; min-height:96px; line-height:1.5;
  transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.field textarea::placeholder{color:var(--text-3); opacity:.75}
.field textarea:hover{border-color:var(--border-strong)}
.field textarea:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 4px var(--glow-1)}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--accent)}
.field .err{display:none}
.field .err:not([hidden]):not(:empty){display:block}
.hp-field{position:absolute; left:-9999px; height:1px; overflow:hidden}
.form-status{margin:12px 0 0; font-size:14.5px; text-align:center; min-height:1.4em; color:var(--text-3)}
.form-status.is-error{color:var(--accent-text); font-weight:600}
.partner-form .hint{margin-top:10px}

/* ---------- Финальные экраны (переиспользуем .demo-done) ---------- */
.team-done{opacity:1; transform:none; pointer-events:auto; margin-top:var(--space-4)}
.team-done p a{color:var(--accent-text); font-weight:600}
.team-done-actions{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:var(--space-3)}

/* ---------- Адаптив ---------- */
@media (max-width:1080px){
  .team-hero .hero-visual{order:2}
  .team-card-stack{aspect-ratio:auto; height:auto; display:grid; gap:12px}
  .team-card{position:static; width:100%; transform:none !important; animation:none}
  .team-card-line{display:none}
}
@media (max-width:720px){
  .form-grid{grid-template-columns:1fr}
  .partner-form{padding:var(--space-3)}
  .team-done-actions .btn{width:100%}
}
