/* Партнёрская программа «Круг Магии» — страница /partners.
   Префикс .pt- — не пересекается с остальными стилями сайта. */
.pt{--pt-ink:#1c1c1c;--pt-gold:#8a7a60;--pt-line:#ebebeb;--pt-sand:#d4c4a0;--pt-bg:#f7f7f7;color:var(--pt-ink);font-family:'Inter',sans-serif}
.pt *{box-sizing:border-box}
.pt-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.pt h1,.pt h2{font-family:'Playfair Display',serif;font-weight:300;margin:0;color:var(--pt-ink)}
.pt p{margin:0}
.pt a{color:inherit}

/* кнопки */
.pt-btn{display:inline-block;text-align:center;text-decoration:none;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:17px 34px;background:var(--pt-ink);color:#fff!important;border:1px solid var(--pt-ink);cursor:pointer}
.pt-btn:hover{background:#000}
.pt-btn.ghost{background:#fff;color:var(--pt-ink)!important}
.pt-btn.ghost:hover{background:var(--pt-bg)}

/* первый экран */
.pt-hero{display:flex;gap:48px;align-items:center;padding:32px 0 56px}
.pt-hero-text{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:22px}
.pt-eye{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--pt-gold)}
.pt-hero h1{font-size:52px;line-height:1.12}
.pt-rule{width:64px;height:1px;background:var(--pt-ink)}
.pt-lead{font-size:17px;line-height:1.6;color:#444;max-width:520px}
.pt-tags{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:#555}
.pt-tags span{border:1px solid var(--pt-sand);padding:7px 14px}
.pt-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
.pt-hero-img{flex:1 1 420px;min-width:0}
.pt-hero-img img{display:block;width:100%;height:540px;object-fit:cover;object-position:center 30%}

/* преимущества */
.pt-perks{border-top:1px solid var(--pt-line);border-bottom:1px solid var(--pt-line)}
.pt-perks .pt-wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.pt-perk{padding:22px 18px;display:flex;gap:12px;align-items:flex-start;border-right:1px solid var(--pt-line)}
.pt-perk:last-child{border-right:0}
.pt-perk i{font-size:20px;color:var(--pt-gold);flex:none;margin-top:1px}
.pt-perk b{display:block;font-size:14px;font-weight:500}
.pt-perk span{display:block;font-size:12px;color:#888;margin-top:3px}

/* как это работает */
.pt-how{padding:72px 0 40px;scroll-margin-top:calc(var(--header-h,104px) + 12px)}
.pt h2{font-size:32px;line-height:1.2}
.pt-how h2{margin-bottom:36px}
.pt-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;list-style:none;margin:0;padding:0}
.pt-step{border-top:1px solid var(--pt-ink);padding-top:18px;display:flex;flex-direction:column;gap:10px}
.pt-num{font-family:'Playfair Display',serif;font-weight:300;font-size:40px;line-height:1;color:var(--pt-gold)}
.pt-step b{font-size:17px;font-weight:500}
.pt-step span{font-size:15px;line-height:1.55;color:#555}

/* сколько можно заработать */
.pt-earn{background:var(--pt-bg);margin-top:40px}
.pt-earn .pt-wrap{padding-top:64px;padding-bottom:64px;display:flex;gap:48px;flex-wrap:wrap;align-items:center}
.pt-earn-text{flex:1 1 380px;min-width:0}
.pt-earn-text h2{margin-bottom:16px}
.pt-earn-text p{font-size:15px;line-height:1.6;color:#555}
.pt-earn-cards{flex:1 1 520px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pt-card{background:#fff;padding:28px 24px;display:flex;flex-direction:column;gap:8px}
.pt-card.hl{border:1px solid var(--pt-sand)}
.pt-card small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#888}
.pt-card.hl small{color:var(--pt-gold)}
.pt-card strong{font-family:'Playfair Display',serif;font-weight:300;font-size:44px;line-height:1.1}
.pt-card em{font-style:normal;font-size:13px;color:#888}
.pt-note{grid-column:span 2;font-size:13px;color:#777}

/* что рекомендуете + вопросы */
.pt-info{padding:72px 0 24px;display:flex;gap:48px;flex-wrap:wrap}
.pt-what{flex:1 1 360px;min-width:0}
.pt-what h2,.pt-faq h2{margin-bottom:16px}
.pt-what p{font-size:15px;line-height:1.6;color:#555;margin-bottom:20px}
.pt-link{font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--pt-ink);padding-bottom:4px;cursor:pointer}
.pt-faq{flex:1 1 560px;min-width:0}
.pt-faq-list{border-top:1px solid var(--pt-line)}
.pt-faq details{border-bottom:1px solid var(--pt-line);padding:16px 0}
.pt-faq summary{font-size:16px;font-weight:500;cursor:pointer}
.pt-faq details p{margin:10px 0 0;font-size:15px;line-height:1.6;color:#555}

/* нижний блок */
.pt-cta{margin:48px auto 72px;padding:0 24px;max-width:1200px}
.pt-cta-box{border:1px solid var(--pt-sand);padding:48px 32px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.pt-cta h2{font-size:34px}
.pt-cta-text{font-size:15px;color:#555}
.pt-cta-links{font-size:12px;color:#999}
.pt-cta-links a{color:#999}

@media (max-width:900px){
  .pt-hero{flex-direction:column-reverse;gap:24px;padding:0 0 40px}
  .pt-hero-img{flex:none;width:100%;margin:0 -24px;width:calc(100% + 48px)}
  .pt-hero-img img{height:240px;object-position:center 30%}
  .pt-hero-text{flex:none;width:100%;gap:18px}
  .pt-hero h1{font-size:32px;line-height:1.18}
  .pt-lead{font-size:16px}
  .pt-actions{flex-direction:column}
  .pt-actions .pt-btn{width:100%}
  .pt-perks{display:none}
  .pt-how{padding:48px 0 24px}
  .pt h2{font-size:26px}
  .pt-how h2{margin-bottom:20px}
  .pt-steps{grid-template-columns:1fr;gap:0}
  .pt-step{border-top:1px solid var(--pt-line);padding:16px 0;display:grid;grid-template-columns:48px 1fr;gap:2px 12px}
  .pt-num{grid-row:span 2;font-size:28px}
  .pt-step b{font-size:16px}.pt-step span{font-size:14px}
  .pt-earn .pt-wrap{padding-top:40px;padding-bottom:40px;gap:20px}
  .pt-earn-cards{flex-basis:100%;gap:12px}
  .pt-card{padding:18px 16px}.pt-card strong{font-size:30px}
  .pt-note{font-size:12px}
  .pt-info{padding:48px 0 8px;gap:32px}
  .pt-faq summary{font-size:15px}
  .pt-cta{margin:32px auto 48px}
  .pt-cta-box{padding:32px 18px}
  .pt-cta h2{font-size:26px}
  .pt-cta .pt-btn{width:100%}
}

/* ── Страница заявки /partners/register ── */
.pt-reg{padding:8px 0 64px}
.pt-reg-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;align-items:start}
.pt-form{border:1px solid var(--pt-line);padding:40px;max-width:100%}
.pt-reg-grid:has(.pt-form:only-child){grid-template-columns:minmax(0,640px);justify-content:center}
.pt-form h1{font-size:36px;line-height:1.15;margin:14px 0 8px}
.pt .pt-sub{font-size:16px;line-height:1.5;color:#666;margin-bottom:26px}
.pt-f{display:block;margin-bottom:18px}
.pt-f>span{display:block;font-size:14px;color:#555;margin-bottom:6px}
.pt-f small{color:#999;font-size:12px}
.pt-f input,.pt-f select{width:100%;height:54px;padding:0 16px;font:inherit;font-size:16px;color:var(--pt-ink);background:#fff;border:1px solid #d8d8d8;border-radius:0;outline:none;-webkit-appearance:none;appearance:none}
.pt-f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231c1c1c' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.pt-f input:focus,.pt-f select:focus{border-color:var(--pt-gold);box-shadow:0 0 0 3px rgba(138,122,96,.15)}
.pt-f input::placeholder{color:#b5b5b5}
.pt-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pt-chk{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;color:#444;margin:0 0 14px;cursor:pointer}
.pt-chk input{width:22px;height:22px;flex:none;margin:1px 0 0;accent-color:var(--pt-ink)}
.pt-chk a{text-decoration:underline}
.pt-err{min-height:22px;margin:6px 0 10px;font-size:14px;color:#a33}
.pt-block{display:block;width:100%;padding:18px;font-family:inherit}
.pt-btn[disabled]{opacity:.55;cursor:default}
.pt-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pt-sms{letter-spacing:.5em;text-align:center;font-size:24px!important}
.pt-alt{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:14px}
.pt-alt a{color:#777}
.pt-aside h2{font-size:26px;margin-bottom:22px}
.pt-next{list-style:none;margin:0;padding:0;counter-reset:n}
.pt-next li{counter-increment:n;position:relative;padding:0 0 22px 34px}
.pt-next li::before{content:counter(n);position:absolute;left:0;top:-2px;font-family:'Playfair Display',serif;font-size:24px;color:var(--pt-gold)}
.pt-next b{display:block;font-size:16px;font-weight:500}
.pt-next span{display:block;font-size:15px;line-height:1.5;color:#666;margin-top:3px}
.pt-aside-q{border-top:1px solid var(--pt-line);margin-top:8px;padding-top:20px;font-size:15px;line-height:1.6;color:#666}
.pt-aside-q b{color:var(--pt-ink)}
.pt-hours{margin-top:4px}

/* ── «Заявка принята» ── */
.pt-done{padding:72px 24px 96px}
.pt-done-in{max-width:620px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
.pt-done-ic{font-size:44px;color:var(--pt-gold)}
.pt-done h1{font-size:44px;line-height:1.15}
.pt-done p{font-size:17px;line-height:1.6;color:#555}
.pt-prog{list-style:none;margin:6px 0;padding:0;display:flex;gap:28px;flex-wrap:wrap;justify-content:center}
.pt-prog li{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;color:#888;min-width:96px}
.pt-prog li span{width:36px;height:36px;border-radius:50%;border:1px solid #ddd;display:flex;align-items:center;justify-content:center;font-size:14px}
.pt-prog li.done{color:var(--pt-ink)}
.pt-prog li.done span{background:var(--pt-ink);border-color:var(--pt-ink);color:#fff}
.pt-prog li.cur{color:var(--pt-gold)}
.pt-prog li.cur span{border-color:var(--pt-gold);color:var(--pt-gold)}
.pt-center{justify-content:center}
.pt-small{font-size:13px;color:#999}

@media (max-width:900px){
  .pt-reg-grid{grid-template-columns:1fr;gap:32px}
  .pt-form{padding:24px 18px;border-left:0;border-right:0;margin:0 -24px}
  .pt-form h1{font-size:28px}
  .pt-row{grid-template-columns:1fr;gap:0}
  .pt-done{padding:40px 20px 64px}
  .pt-done h1{font-size:30px}
  .pt-prog{gap:10px}.pt-prog li{min-width:70px;font-size:12px}
}

/* ── Подсказки под полями формы ── */
.pt-hint{min-height:20px;margin-top:6px;font-size:13px;line-height:1.4;color:#888}
.pt-hint.ok{color:#2e7d4f}
.pt-hint.err{color:#a33}
.pt-hint.warn{color:#8a6a1f}
.pt-hint a{color:inherit;text-decoration:underline}
.pt-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px;color:#777;min-height:0}
.pt-chips:not(:empty){margin-top:2px;margin-bottom:6px}
.pt-chip{font:inherit;font-size:15px;letter-spacing:.06em;padding:6px 14px;border:1px solid var(--pt-sand);background:#fff;color:var(--pt-ink);cursor:pointer}
.pt-chip:hover{background:var(--pt-bg)}
.pt-pick{display:inline-block;font-size:13px;color:#777;text-decoration:underline;margin-bottom:6px}
#f-code{text-transform:uppercase;letter-spacing:.08em}
.pt-f>label>span{display:block;font-size:14px;color:#555;margin-bottom:6px}

/* ── Личный кабинет: раздел «Круг Магии» ── */
.pt-cab{max-width:760px}
.pt-cab-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.pt-cab-title{font-family:'Playfair Display',serif;font-weight:300;font-size:28px}
.pt-badge{font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border:1px solid var(--pt-sand);color:var(--pt-gold);background:#fff}
.pt-badge.ok{background:#eef6ee;border-color:#b9d9b9;color:#2e7d32}
.pt-badge.warn{background:#fff7e6;border-color:#ecd49a;color:#9a6b00}
.pt-badge.bad{background:#fbeeee;border-color:#e6bcbc;color:#a33}
.pt-note{background:var(--pt-bg);border-left:2px solid var(--pt-gold);padding:14px 16px;font-size:14px;line-height:1.55;color:#333;margin-bottom:18px}
.pt-note.warn{border-color:#d9a400;background:#fff9ec}
.pt-note.bad{border-color:#c66;background:#fcf3f3}
.pt-steps{list-style:none;margin:0 0 20px;padding:0;display:flex;gap:10px}
.pt-steps li{flex:1;display:flex;flex-direction:column;gap:4px;border-top:2px solid var(--pt-line);padding-top:10px;min-width:0}
.pt-steps li.done{border-color:#2e7d32}
.pt-steps li.now{border-color:var(--pt-gold)}
.pt-step-dot{width:24px;height:24px;border-radius:50%;border:1px solid var(--pt-line);font-size:12px;display:flex;align-items:center;justify-content:center;color:#999;background:#fff}
.pt-steps li.done .pt-step-dot{background:#2e7d32;border-color:#2e7d32;color:#fff}
.pt-steps li.now .pt-step-dot{border-color:var(--pt-gold);color:var(--pt-gold)}
.pt-step-t{font-size:13px;font-weight:500}
.pt-step-s{font-size:12px;color:#888;line-height:1.4}
.pt-card{border:1px solid var(--pt-line);padding:20px;margin-bottom:16px;background:#fff}
.pt-card.soft{background:var(--pt-bg)}
.pt-card-t{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--pt-gold);margin-bottom:14px}
.pt-code-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.pt-code{font-family:'Playfair Display',serif;font-size:36px;letter-spacing:.12em;border:1px dashed var(--pt-sand);padding:8px 22px}
.pt-code.dim{color:#777}
.pt-copy{padding:13px 22px}
.pt-hintline{font-size:13px;color:#777;line-height:1.55;margin-top:12px}
.pt-hintline a{color:var(--pt-ink);border-bottom:1px solid var(--pt-sand);text-decoration:none}
.pt-terms{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}
.pt-terms div{display:flex;flex-direction:column;gap:3px}
.pt-terms b{font-family:'Playfair Display',serif;font-weight:400;font-size:22px}
.pt-terms span{font-size:12px;color:#777;line-height:1.45}
.pt-sums{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pt-sums div{background:var(--pt-bg);padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.pt-sums span{font-size:12px;color:#777}
.pt-sums b{font-family:'Playfair Display',serif;font-weight:400;font-size:20px}
.pt-empty{font-size:13px;color:#777;margin-top:14px;line-height:1.55}
.pt-kv{display:flex;gap:16px;padding:9px 0;border-bottom:1px solid var(--pt-line);font-size:14px}
.pt-kv:last-child{border-bottom:0}
.pt-k{flex:0 0 190px;color:#888}
.pt-v{flex:1;min-width:0;overflow-wrap:anywhere}
.pt-pre{white-space:pre-line}
.pt-muted{color:#999;font-size:13px}
.pt-list{list-style:none;margin:0;padding:0}
.pt-list li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--pt-line);font-size:14px}
.pt-list li:last-child{border-bottom:0}
.pt-list i{color:#999;font-style:normal;font-size:12px}
@media(max-width:640px){
  .pt-cab-title{font-size:24px}
  .pt-steps{flex-direction:column;gap:12px}
  .pt-terms{grid-template-columns:1fr}
  .pt-sums{grid-template-columns:1fr}
  .pt-kv{flex-direction:column;gap:2px}
  .pt-k{flex:none}
  .pt-list li{flex-direction:column;gap:2px}
  .pt-code{font-size:28px}
}

/* «Такой партнёр уже есть» */
.pt-blocked{border-left:3px solid #a33;background:#fcf3f3;padding:16px 18px;margin:0 0 16px}
.pt-blocked[hidden]{display:none}
.pt-blocked b{display:block;font-size:15px;margin-bottom:6px}
.pt-blocked p{font-size:14px;line-height:1.55;color:#444}
.pt-blocked-act{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.pt-blocked-act .pt-btn{padding:12px 20px}
@media(max-width:640px){.pt-blocked-act{flex-direction:column}.pt-blocked-act .pt-btn{width:100%}}
