/* Я-Астролог: заявка и подключение */
.ap-page,.cl-page{background:linear-gradient(180deg,#f3f0ff 0%,#f8f6f2 220px,#f4f0ea 100%);min-height:100vh}
.ap-page .site-footer,.cl-page .site-footer{margin-top:0}

.ap-hero{position:relative;color:#fff;padding:clamp(48px,8vw,72px) 24px clamp(88px,12vw,108px);text-align:center;overflow:hidden;background:#120a2e}
.ap-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 55% at 15% 20%,rgba(124,58,237,.45),transparent 70%),radial-gradient(ellipse 55% 45% at 85% 75%,rgba(236,72,153,.22),transparent 68%),linear-gradient(135deg,#0d0621 0%,#1e0d4a 48%,#2a1570 100%);pointer-events:none}
.ap-hero-inner{position:relative;z-index:1;max-width:720px;margin:0 auto}
.ap-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.ap-hero-badge i{width:7px;height:7px;border-radius:50%;background:#c4b5fd;box-shadow:0 0 10px #a78bfa}
.ap-hero h1{margin:0 0 12px;font-size:clamp(34px,6vw,56px);font-weight:900;line-height:1.05;letter-spacing:-.03em}
.ap-hero h1 em{font-style:normal;background:linear-gradient(90deg,#ddd6fe,#f0abfc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ap-hero-sub{margin:0 auto;font-size:16px;line-height:1.65;color:rgba(255,255,255,.78);max-width:520px}
.ap-hero-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.ap-hero-chip{padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-size:13px;font-weight:700}

.ap-shell{max-width:1120px;margin:0 auto;padding:0 20px 72px}
.ap-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:-56px;position:relative;z-index:2;margin-bottom:28px}
.ap-benefit{background:#fff;border:1px solid rgba(92,59,232,.1);border-radius:18px;padding:18px 16px;box-shadow:0 10px 30px rgba(35,24,80,.06);display:flex;gap:12px;align-items:flex-start}
.ap-benefit-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#ede9fe,#fae8ff);display:grid;place-items:center;font-size:18px;flex-shrink:0}
.ap-benefit strong{display:block;font-size:13px;font-weight:800;margin-bottom:4px;color:#18142e}
.ap-benefit p{margin:0;font-size:12px;line-height:1.5;color:#6b657a}

.ap-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.ap-main{display:flex;flex-direction:column;gap:16px}
.ap-side{position:sticky;top:88px;display:flex;flex-direction:column;gap:14px}

.ap-card{background:#fff;border:1px solid #e8e2f4;border-radius:22px;padding:clamp(22px,3vw,30px);box-shadow:0 12px 40px rgba(38,30,82,.06)}
.ap-card-head{margin-bottom:22px}
.ap-card-head h2{margin:0 0 8px;font-size:22px;font-weight:800;color:#18142e;letter-spacing:-.02em}
.ap-card-head p{margin:0;font-size:14px;line-height:1.6;color:#6b657a}

.ap-auth-hint{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:16px;background:#f5f3ff;border:1px solid #ddd6fe;font-size:13px;line-height:1.5;color:#4c1d95}
.ap-auth-hint a{font-weight:800;color:#5c3be8;text-decoration:none}
.ap-auth-hint a:hover{text-decoration:underline}

.ap-error{padding:12px 14px;border-radius:14px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:14px;margin-bottom:16px}

.ap-step{border:1px solid #ece8f8;border-radius:18px;padding:18px 18px 6px;margin-bottom:14px;background:#fcfbff}
.ap-step:last-of-type{margin-bottom:20px}
.ap-step-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ap-step-num{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#5c3be8,#7c3aed);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800;flex-shrink:0}
.ap-step-title{font-size:14px;font-weight:800;color:#18142e}
.ap-step-note{font-size:12px;color:#8a849c;margin-top:2px}

.ap-field{margin-bottom:14px}
.ap-field label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#3d3660;margin-bottom:8px}
.ap-req{color:#dc2626}
.ap-field input,.ap-field textarea{width:100%;box-sizing:border-box;border:1.5px solid #e4ddf2;border-radius:14px;padding:13px 15px;font-size:15px;font-family:inherit;color:#18142e;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
.ap-field input:focus,.ap-field textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 4px rgba(124,58,237,.12)}
.ap-field input[readonly]{background:#f8f6fc;color:#6b657a}
.ap-field textarea{min-height:128px;resize:vertical;line-height:1.55}
.ap-field small{display:block;margin-top:7px;font-size:12px;line-height:1.45;color:#8a849c}
.ap-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ap-grid .ap-field-wide{grid-column:1/-1}

.ap-submit{width:100%;margin-top:4px;padding:15px 20px;border:none;border-radius:14px;font-size:15px;font-weight:800;color:#fff;cursor:pointer;background:linear-gradient(135deg,#5c3be8 0%,#7c3aed 55%,#9333ea 100%);box-shadow:0 10px 28px rgba(92,59,232,.28);transition:transform .15s,box-shadow .15s}
.ap-submit:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(92,59,232,.34)}

.ap-side-discount{text-align:center;padding:26px 20px;background:linear-gradient(145deg,#18142e 0%,#4c2dd4 55%,#6d28d9 100%);color:#fff;border:none;box-shadow:0 16px 40px rgba(49,38,105,.22)}
.ap-side-discount .ap-discount-num{display:block;font-size:42px;font-weight:900;line-height:1;letter-spacing:-.03em}
.ap-side-discount .ap-discount-num small{font-size:18px;font-weight:800;opacity:.85}
.ap-side-discount p{margin:10px 0 0;font-size:13px;line-height:1.55;color:rgba(255,255,255,.78)}

.ap-price-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}
.ap-price-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:12px;background:#f8f6fc;border:1px solid #ece8f8;font-size:13px;color:#3d3660}
.ap-price-list li b{font-size:14px;color:#18142e;white-space:nowrap}
.ap-price-list li s{font-size:12px;color:#a8a3b8}

.ap-timeline{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0}
.ap-timeline li{position:relative;padding:0 0 16px 28px;font-size:13px;line-height:1.5;color:#6b657a}
.ap-timeline li:last-child{padding-bottom:0}
.ap-timeline li::before{content:'';position:absolute;left:8px;top:6px;bottom:-2px;width:2px;background:#e8e2f4}
.ap-timeline li:last-child::before{display:none}
.ap-timeline li::after{content:'';position:absolute;left:3px;top:5px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #c4b5fd}
.ap-timeline li.is-active{color:#18142e;font-weight:700}
.ap-timeline li.is-active::after{background:#5c3be8;border-color:#5c3be8;box-shadow:0 0 0 4px rgba(92,59,232,.15)}

.ap-side-block h4{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8a849c}

.ap-status,.ap-wait{text-align:center;padding:36px 28px}
.ap-status-icon{font-size:48px;display:block;margin-bottom:14px}
.ap-status h3,.ap-wait h3{margin:0 0 8px;font-size:20px;font-weight:800}
.ap-status p,.ap-wait p{margin:0;font-size:14px;line-height:1.6;color:#6b657a}
.ap-status.pending{background:linear-gradient(135deg,#fffbeb,#fef9c3);border-color:#fde68a}
.ap-status.approved{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#86efac}
.ap-status.rejected{background:linear-gradient(135deg,#fff5f5,#fee2e2);border-color:#fecaca;text-align:left}
.ap-status.rejected .ap-status-icon{text-align:center}
.ap-status.rejected h3{text-align:center;color:#c62828}
.ap-reject-reason{margin:16px 0;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid #fecaca}
.ap-reject-label{margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#b91c1c}
.ap-reject-text{margin:0;font-size:14px;line-height:1.65;color:#3d3660}
.ap-reject-note{margin:0;font-size:14px;line-height:1.6;color:#6b657a;text-align:center}
.ap-reject-note a{font-weight:800;color:#5c3be8;text-decoration:none}
.ap-reject-note a:hover{text-decoration:underline}
.ap-wait{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#c4b5fd}
.ap-wait-spinner{width:44px;height:44px;margin:0 auto 16px;border:3px solid rgba(92,59,232,.15);border-top-color:#5c3be8;border-radius:50%;animation:apSpin .75s linear infinite}
@keyframes apSpin{to{transform:rotate(360deg)}}
.ap-wait h3{color:#5c3be8}
.ap-cta-success{display:inline-block;margin-top:14px;padding:12px 22px;border-radius:12px;background:#15803d;color:#fff;font-weight:800;text-decoration:none}

/* Claim page */
.cl-shell{max-width:960px;margin:0 auto;padding:32px 20px 72px}
.cl-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start}
.cl-hero{position:relative;overflow:hidden;border-radius:22px;padding:32px 28px;color:#fff;background:#120a2e;margin-bottom:0}
.cl-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 100% 0%,rgba(124,58,237,.35),transparent),linear-gradient(135deg,#0d0621,#2d1a6e);pointer-events:none}
.cl-hero-inner{position:relative;z-index:1}
.cl-hero-icon{width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:24px;margin-bottom:14px}
.cl-hero h1{margin:0 0 8px;font-size:clamp(22px,4vw,28px);font-weight:800;letter-spacing:-.02em}
.cl-hero p{margin:0;font-size:14px;line-height:1.6;color:rgba(255,255,255,.76);max-width:420px}

.cl-card{background:#fff;border:1px solid #e8e2f4;border-radius:22px;padding:26px;box-shadow:0 12px 36px rgba(38,30,82,.06)}
.cl-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:14px;background:#f3f0f8;margin-bottom:20px}
.cl-seg button{border:none;border-radius:10px;padding:11px 10px;font-size:13px;font-weight:800;color:#6b657a;background:transparent;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}
.cl-seg button.is-on{background:#fff;color:#5c3be8;box-shadow:0 4px 14px rgba(38,30,82,.08)}
.cl-pane{display:none}
.cl-pane.is-on{display:block}
.cl-lead{margin:0 0 16px;font-size:13px;line-height:1.55;color:#6b657a}
.cl-field{margin-bottom:14px}
.cl-field label{display:block;margin-bottom:7px;font-size:13px;font-weight:700;color:#3d3660}
.cl-field input{width:100%;box-sizing:border-box;padding:12px 14px;border:1.5px solid #e4ddf2;border-radius:14px;font-size:15px;font-family:inherit;outline:none;background:#fff;transition:border-color .15s,box-shadow .15s}
.cl-field input:focus{border-color:#7c3aed;box-shadow:0 0 0 4px rgba(124,58,237,.12)}
.cl-ok{padding:12px 14px;border-radius:14px;background:#ecfdf5;border:1px solid #86efac;font-size:13px;line-height:1.5;color:#166534}
.cl-err{padding:12px 14px;border-radius:14px;background:#fef2f2;border:1px solid #fecaca;font-size:13px;color:#b91c1c;margin-bottom:14px}
.cl-submit{width:100%;padding:14px;border:none;border-radius:14px;font-size:15px;font-weight:800;color:#fff;cursor:pointer;background:linear-gradient(135deg,#5c3be8,#7c3aed);box-shadow:0 8px 24px rgba(92,59,232,.25)}
.cl-submit:hover{opacity:.95}
.cl-known{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:#f5f3ff;border:1px solid #ddd6fe;margin-bottom:16px}
.cl-known-avatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#5c3be8,#7c3aed);color:#fff;display:grid;place-items:center;font-weight:800;font-size:17px;flex-shrink:0}
.cl-known b{display:block;font-size:14px;color:#18142e}
.cl-known small{display:block;margin-top:3px;font-size:12px;color:#6b657a}
.cl-switch{margin-top:16px;text-align:center;font-size:13px;color:#8a849c}
.cl-switch a{color:#5c3be8;font-weight:700;text-decoration:none}
.cl-aside .ap-card{padding:20px}
.cl-aside .ap-timeline li{padding-bottom:14px}

@media(max-width:900px){
  .ap-benefits{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-40px}
  .ap-layout,.cl-layout{grid-template-columns:1fr}
  .ap-side,.cl-aside{position:static}
}
@media(max-width:560px){
  .ap-benefits{grid-template-columns:1fr;margin-top:-28px}
  .ap-grid{grid-template-columns:1fr}
  .ap-hero{padding-bottom:72px}
  .ap-card,.cl-card{padding:20px 18px}
  .cl-seg button{font-size:12px;padding:10px 8px}
}