/* ══════════════════════════════════════════════
   CONTACTS PAGE
   ══════════════════════════════════════════════ */

/* Hero */
.ct-hero {
    background: linear-gradient(135deg,#f0fdfa 0%,#ecfeff 45%,#f0f9ff 100%);
    padding: 72px 0 64px; text-align: center;
    position: relative; overflow: hidden; border-bottom: 1px solid #e2e8f0;
}
.ct-hero-bg { position: absolute; inset: 0; pointer-events: none; }
.ct-hero-ring { position: absolute; border-radius: 50%; border: 1px solid rgba(20,184,166,.1); }
.ct-r1 { width: 560px; height: 560px; top: -200px; right: -120px; }
.ct-r2 { width: 360px; height: 360px; bottom: -180px; left: -100px; border-color: rgba(8,145,178,.07); }
.ct-hero-inner { max-width: 640px; margin: 0 auto; position: relative; z-index: 1; }
.ct-hero-inner h1 { font-size: clamp(2rem,4vw,3rem); font-weight: 900; color: #0f172a; letter-spacing: -1.5px; margin: 16px 0 16px; }
.ct-hero-inner p  { font-size: 1.0625rem; color: #64748b; line-height: 1.7; }

/* Cards strip */
.ct-cards-section { background: #fff; padding: 0; margin-top: -1px; }
.ct-cards {
    display: grid; grid-template-columns: repeat(4,1fr);
    gap: 0; border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb;
}
@media(max-width:900px) { .ct-cards { grid-template-columns: repeat(2,1fr); } }
@media(max-width:500px) { .ct-cards { grid-template-columns: 1fr; } }

.ct-card {
    padding: 28px 24px; text-align: center;
    border-right: 1px solid #e5e7eb; position: relative;
    transition: background .2s;
}
.ct-card:last-child { border-right: none; }
.ct-card:hover { background: #f8fafc; }

.ct-card-icon {
    width: 52px; height: 52px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; color: #fff; margin: 0 auto 12px;
}
.ct-ci-1 { background: linear-gradient(135deg,#059669,#10b981); }
.ct-ci-2 { background: linear-gradient(135deg,#14b8a6,#0d9488); }
.ct-ci-3 { background: linear-gradient(135deg,#0891b2,#0369a1); }
.ct-ci-4 { background: linear-gradient(135deg,#7c3aed,#6366f1); }

.ct-card-label { font-size: .6875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8; margin-bottom: 6px; }
.ct-card-val   { display: block; font-size: .9375rem; font-weight: 700; color: #0f172a; text-decoration: none; margin-bottom: 4px; transition: color .15s; }
.ct-card-val:hover { color: #0d9488; }
.ct-card-val-sm { font-size: .875rem; }
.ct-card-sub   { font-size: .75rem; color: #94a3b8; }

/* Main grid */
.ct-main-section { background: #f1f5f9; padding: 52px 0 72px; }
.ct-main-grid {
    display: grid; grid-template-columns: 1fr 420px; gap: 32px; align-items: start;
}
@media(max-width:1024px) { .ct-main-grid { grid-template-columns: 1fr; } }

/* Form */
.ct-form-wrap {
    background: #fff; border: 1.5px solid #e5e7eb;
    border-radius: 24px; padding: 36px 36px 32px;
    box-shadow: 0 4px 24px rgba(0,0,0,.06);
}
.ct-form-head { margin-bottom: 28px; }
.ct-form-head h2 { font-size: 1.625rem; font-weight: 900; color: #0f172a; letter-spacing: -.5px; margin: 0 0 6px; }
.ct-form-head p  { font-size: .9rem; color: #64748b; }

/* Alert */
.ct-alert {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 16px; border-radius: 10px;
    font-size: .9rem; font-weight: 600; margin-bottom: 20px;
}
.ct-alert-ok  { background: rgba(20,184,166,.08); border: 1px solid rgba(20,184,166,.25); color: #0d9488; }
.ct-alert-err { background: rgba(239,68,68,.07);  border: 1px solid rgba(239,68,68,.2);  color: #dc2626; }
.ct-alert i   { font-size: 16px; flex-shrink: 0; }

.ct-form-row { margin-bottom: 18px; }
.ct-form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media(max-width:600px) { .ct-form-row-2 { grid-template-columns: 1fr; } }

.ct-field label { display: block; font-size: .8125rem; font-weight: 700; color: #374151; margin-bottom: 6px; }
.ct-field label span { color: #ef4444; }
.ct-field input,
.ct-field textarea {
    width: 100%; padding: 10px 14px;
    background: #f8fafc; border: 1.5px solid #e5e7eb;
    border-radius: 10px; font-size: .9375rem; color: #0f172a;
    transition: border-color .15s, box-shadow .15s;
    box-sizing: border-box; font-family: inherit;
}
.ct-field input:focus,
.ct-field textarea:focus {
    outline: none; border-color: #14b8a6;
    box-shadow: 0 0 0 3px rgba(20,184,166,.12);
    background: #fff;
}
.ct-field textarea { resize: vertical; min-height: 120px; }
.ct-char-count { text-align: right; font-size: .75rem; color: #94a3b8; margin-top: 4px; }

.ct-select-wrap { position: relative; }
.ct-select-wrap select {
    width: 100%; padding: 10px 36px 10px 14px;
    background: #f8fafc; border: 1.5px solid #e5e7eb;
    border-radius: 10px; font-size: .9375rem; color: #0f172a;
    appearance: none; -webkit-appearance: none; cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
    box-sizing: border-box; font-family: inherit;
}
.ct-select-wrap select:focus { outline: none; border-color: #14b8a6; box-shadow: 0 0 0 3px rgba(20,184,166,.12); background: #fff; }
.ct-select-wrap > i { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: #94a3b8; font-size: 12px; pointer-events: none; }

.ct-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 4px; }
.ct-privacy { font-size: .8rem; color: #94a3b8; margin: 0; }
.ct-privacy a { color: #0891b2; text-decoration: none; }
.ct-privacy a:hover { color: #0d9488; }

.ct-submit {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 12px 28px;
    background: linear-gradient(135deg,#14b8a6,#0891b2);
    color: #fff; border: none; border-radius: 100px;
    font-size: .9375rem; font-weight: 800; cursor: pointer;
    transition: all .2s; white-space: nowrap;
}
.ct-submit:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(20,184,166,.3); }
.ct-submit:disabled { opacity: .7; cursor: not-allowed; }
.ct-submit-text, .ct-submit-loader { display: inline-flex; align-items: center; gap: 8px; }

/* FAQ */
.ct-faq-wrap {
    background: #fff; border: 1.5px solid #e5e7eb;
    border-radius: 24px; padding: 32px 28px;
    box-shadow: 0 4px 24px rgba(0,0,0,.06);
}
.ct-faq-head { margin-bottom: 20px; }
.ct-faq-head h2 { font-size: 1.375rem; font-weight: 900; color: #0f172a; letter-spacing: -.4px; margin: 0; }

.ct-faq { display: flex; flex-direction: column; gap: 0; }
.ct-faq-item { border-bottom: 1px solid #f1f5f9; }
.ct-faq-item:last-of-type { border-bottom: none; }
.ct-faq-q {
    width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 14px 0; background: none; border: none; cursor: pointer; text-align: left;
}
.ct-faq-q span { font-size: .9375rem; font-weight: 700; color: #0f172a; line-height: 1.4; }
.ct-faq-q i    { color: #14b8a6; flex-shrink: 0; font-size: 12px; transition: transform .2s; }
.ct-faq-item.ct-faq-open .ct-faq-q span { color: #0d9488; }
.ct-faq-a {
    max-height: 0; overflow: hidden;
    font-size: .875rem; color: #64748b; line-height: 1.7;
    transition: max-height .3s ease, padding .3s ease;
}
.ct-faq-a a { color: #0891b2; }
.ct-faq-item.ct-faq-open .ct-faq-a { max-height: 200px; padding-bottom: 14px; }

/* Social */
.ct-social { margin-top: 24px; padding-top: 20px; border-top: 1px solid #f1f5f9; }
.ct-social-title { font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8; margin-bottom: 12px; }
.ct-social-links { display: flex; gap: 10px; }
.ct-soc-btn {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 9px 18px; border-radius: 100px;
    font-size: .875rem; font-weight: 700; text-decoration: none; transition: all .15s;
}
.ct-soc-vk  { background: rgba(0,119,255,.08); color: #0077ff; border: 1px solid rgba(0,119,255,.2); }
.ct-soc-vk:hover  { background: #0077ff; color: #fff; }
.ct-soc-tg  { background: rgba(0,136,204,.08); color: #0088cc; border: 1px solid rgba(0,136,204,.2); }
.ct-soc-tg:hover  { background: #0088cc; color: #fff; }

/* Captcha */
.ct-captcha-wrap { display: flex; flex-direction: column; gap: 8px; }
.ct-captcha-q {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 14px;
    background: linear-gradient(135deg,rgba(20,184,166,.06),rgba(8,145,178,.06));
    border: 1.5px solid rgba(20,184,166,.25);
    border-radius: 10px;
    font-size: .9rem; color: #374151;
}
.ct-captcha-q i  { color: #14b8a6; font-size: 13px; }
.ct-captcha-q strong { color: #0d9488; font-size: 1rem; margin-left: 2px; }
.ct-captcha-wrap input {
    width: 140px; padding: 10px 14px;
    background: #f8fafc; border: 1.5px solid #e5e7eb;
    border-radius: 10px; font-size: 1rem; font-weight: 700;
    letter-spacing: .1em; color: #0f172a;
    transition: border-color .15s, box-shadow .15s;
    box-sizing: border-box;
}
.ct-captcha-wrap input::placeholder { color: #94a3b8; font-weight: 400; letter-spacing: 0; font-size: .9rem; }
.ct-captcha-wrap input:focus {
    outline: none; border-color: #14b8a6;
    box-shadow: 0 0 0 3px rgba(20,184,166,.12); background: #fff;
}

/* ══════════════════════════════════════════════════════
   CAPTCHA
   ══════════════════════════════════════════════════════ */
.ct-captcha-wrap { display: flex; flex-direction: column; gap: 8px; }
.ct-captcha-q {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 14px;
    background: linear-gradient(135deg, rgba(20,184,166,.06), rgba(8,145,178,.06));
    border: 1.5px solid rgba(20,184,166,.2);
    border-radius: 10px;
    font-size: .9rem; color: #374151;
}
.ct-captcha-q i { color: #14b8a6; font-size: 13px; }
.ct-captcha-q strong { color: #0d9488; font-size: 1.05rem; margin-left: 2px; }
.ct-captcha-wrap input {
    width: 160px; padding: 10px 14px;
    background: #f8fafc; border: 1.5px solid #e5e7eb;
    border-radius: 10px; font-size: 1.0625rem; font-weight: 700;
    letter-spacing: .12em; color: #0f172a; text-align: center;
    transition: border-color .15s, box-shadow .15s;
    box-sizing: border-box;
}
.ct-captcha-wrap input::placeholder { color: #94a3b8; font-weight: 400; letter-spacing: 0; font-size: .9rem; }
.ct-captcha-wrap input:focus {
    outline: none; border-color: #14b8a6;
    box-shadow: 0 0 0 3px rgba(20,184,166,.12); background: #fff;
}

/* ══════════════════════════════════════════════════════
   REQUISITES COLUMN
   ══════════════════════════════════════════════════════ */
.ct-req-wrap { display: flex; flex-direction: column; gap: 12px; }

/* Head */
.ct-req-head { margin-bottom: 0; }
.ct-req-head h2 {
    font-size: 1.25rem; font-weight: 900; color: #0f172a;
    letter-spacing: -.4px; margin: 8px 0 0; line-height: 1.2;
}

/* Company card */
.ct-req-company {
    background: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
.ct-req-company-header {
    background: linear-gradient(135deg, #0f766e 0%, #0891b2 100%);
    padding: 14px 18px;
    display: flex; align-items: center; gap: 14px;
}
.ct-req-company-logo {
    width: 36px; height: 36px; flex-shrink: 0;
    background: rgba(255,255,255,.15);
    border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; color: #fff;
}
.ct-req-company-name strong {
    display: block; font-size: .9rem; font-weight: 900;
    color: #fff; line-height: 1.3;
}
.ct-req-company-name span {
    font-size: .75rem; color: rgba(255,255,255,.7);
    font-weight: 600;
}
.ct-req-rows { padding: 4px 0; }
.ct-req-row {
    display: flex; align-items: baseline;
    justify-content: space-between; gap: 12px;
    padding: 8px 16px;
    border-bottom: 1px solid #f8fafc;
    transition: background .15s;
}
.ct-req-row:last-child { border-bottom: none; }
.ct-req-row:hover { background: #f8fafc; }
.ct-req-lbl {
    font-size: .6875rem; font-weight: 700;
    letter-spacing: .04em; color: #94a3b8;
    white-space: nowrap; flex-shrink: 0;
    min-width: 100px;
}
.ct-req-val {
    font-size: .8125rem; color: #0f172a; font-weight: 700;
    text-align: right; line-height: 1.4; word-break: break-word;
}
.ct-req-link {
    font-size: .8125rem; color: #0891b2; font-weight: 700;
    text-decoration: none; text-align: right;
    transition: color .15s;
}
.ct-req-link:hover { color: #0d9488; }

/* Bank card */
.ct-req-bank {
    background: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
.ct-req-bank-header {
    background: linear-gradient(135deg, #0f766e, #0891b2);
    padding: 12px 18px;
    display: flex; align-items: center; gap: 12px;
}
.ct-req-bank-logo {
    width: 30px; height: 30px; flex-shrink: 0;
    background: rgba(255,255,255,.15);
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; color: #fff;
}
.ct-req-bank-header strong {
    font-size: .875rem; font-weight: 800; color: #fff;
}
.ct-req-bank-header span {
    font-size: .75rem; color: rgba(255,255,255,.65);
    display: block; margin-top: 1px;
}
.ct-req-mono {
    font-family: 'Courier New', monospace;
    letter-spacing: .06em; font-size: .8rem !important;
    font-weight: 800 !important; color: #0f172a !important;
    background: #f1f5f9; padding: 2px 5px; border-radius: 4px;
}

/* Social */
.ct-social { margin-top: 4px; padding-top: 4px; }
.ct-social-title {
    font-size: .6875rem; font-weight: 800;
    letter-spacing: .08em; text-transform: uppercase;
    color: #94a3b8; margin-bottom: 10px;
}
.ct-social-links { display: flex; gap: 10px; }
.ct-soc-btn {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 9px 18px; border-radius: 100px;
    font-size: .875rem; font-weight: 700;
    text-decoration: none; transition: all .15s;
}
.ct-soc-vk  { background: rgba(0,119,255,.08); color: #0077ff; border: 1px solid rgba(0,119,255,.2); }
.ct-soc-vk:hover  { background: #0077ff; color: #fff; }
.ct-soc-tg  { background: rgba(0,136,204,.08); color: #0088cc; border: 1px solid rgba(0,136,204,.2); }
.ct-soc-tg:hover  { background: #0088cc; color: #fff; }
