/* CDO Global × iHub DivyaSampark, IIT Roorkee — partnership page styles.
   Общий CSS для 3 языковых версий страницы партнёрства.
   Полагается на глобальные шрифты /assets/fonts/fonts.css (Manrope + Noto Sans Devanagari).
*/
:root {
  --cdo-green: #0F6E58;
  --cdo-green-dark: #0A4A3B;
  --cdo-green-soft: #E7F1EC;
  --cdo-accent: #C8352D;         /* индийский акцент (шафран/тёмно-красный) */
  --cdo-ink: #14261E;
  --cdo-muted: #5B6A63;
  --cdo-surface: #F6F8F5;
  --cdo-border: #DDE4E0;
  --cdo-max: 1200px;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: 'Manrope', 'Noto Sans Devanagari', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  color: var(--cdo-ink);
  background: #fff;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
[lang="hi"] body,
body[lang="hi"] { font-family: 'Noto Sans Devanagari', 'Manrope', system-ui, sans-serif; line-height: 1.7; }
img, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--cdo-green); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4 { color: var(--cdo-ink); line-height: 1.2; margin: 0 0 12px; font-weight: 700; }

.p-container { max-width: var(--cdo-max); margin: 0 auto; padding: 0 24px; }

/* ===== Site header (page-local language switcher) ===== */
.p-site-header {
  background: #0B1A14;
  color: #fff;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.p-site-header .p-container {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.p-site-header a { color: #fff; }
.p-brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 700; font-size: 18px; letter-spacing: 0.01em; }
.p-brand img { height: 40px; width: auto; }
.p-header-nav { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; font-size: 14px; }
.p-header-nav a { opacity: 0.85; }
.p-header-nav a:hover { opacity: 1; text-decoration: none; }
.p-header-cta {
  background: #74D414; color: #0B0F0C; padding: 8px 16px; border-radius: 999px; font-weight: 700; font-size: 14px;
}
.p-header-cta:hover { background: #8DE627; text-decoration: none; }

/* Breadcrumbs */
.p-breadcrumbs {
  background: var(--cdo-surface); padding: 12px 0; font-size: 13px; color: var(--cdo-muted);
  border-bottom: 1px solid var(--cdo-border);
}
.p-breadcrumbs a { color: var(--cdo-muted); }
.p-breadcrumbs a:hover { color: var(--cdo-green); }

/* ===== Hero ===== */
.p-hero {
  padding: 32px 0 40px;
  background: linear-gradient(180deg, #F5FAF7 0%, #FFFFFF 100%);
  border-bottom: 1px solid var(--cdo-border);
}
.p-hero__eyebrow {
  display: inline-block; padding: 6px 14px; border-radius: 999px;
  background: var(--cdo-green); color: #fff;
  font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  margin-bottom: 20px;
}
.p-hero__title {
  font-size: clamp(30px, 4.5vw, 48px); line-height: 1.15; margin: 0 0 16px; font-weight: 800;
  max-width: 900px;
}
.p-hero__sub {
  font-size: clamp(16px, 2vw, 20px); color: var(--cdo-muted); max-width: 780px;
  margin: 0 0 28px;
}
.p-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.p-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 24px; border-radius: 10px; font-weight: 700; font-size: 15px;
  text-decoration: none; border: 2px solid transparent; cursor: pointer;
  transition: transform 0.1s ease, background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.p-btn:hover { transform: translateY(-1px); text-decoration: none; }
.p-btn--primary { background: var(--cdo-green); color: #fff; }
.p-btn--primary:hover { background: var(--cdo-green-dark); color: #fff; }
.p-btn--outline { background: transparent; color: var(--cdo-green); border-color: var(--cdo-green); }
.p-btn--outline:hover { background: var(--cdo-green-soft); color: var(--cdo-green-dark); }

/* ===== Co-brand strip ===== */
.p-cobrand {
  padding: 28px 0;
  background: #fff;
  border-top: 4px solid #74D414;
  border-bottom: 1px solid var(--cdo-border);
}
.p-cobrand__inner {
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.25fr);
  align-items: center; gap: 32px;
}
.p-cobrand__logo {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 0;
}
.p-cobrand__logo img { width: 100%; height: auto; object-fit: contain; }
.p-cobrand__logo--cdo img { max-width: 460px; }
.p-cobrand__partner { min-width: 0; }
.p-cobrand__marks {
  display: flex; align-items: center; justify-content: center; gap: 28px;
}
.p-cobrand__logo--ihub img { width: 250px; }
.p-cobrand__logo--iit img { width: 190px; }
.p-cobrand__caption {
  margin: 12px 0 0; text-align: center; color: var(--cdo-ink);
  font-size: 16px; font-weight: 700;
}
.p-cobrand__x {
  color: var(--cdo-green); font-weight: 700; font-size: 36px;
}
@media (max-width: 600px) {
  .p-cobrand { padding: 20px 0; }
  .p-cobrand__inner { grid-template-columns: 1fr; gap: 12px; }
  .p-cobrand__logo--cdo img { max-width: 300px; }
  .p-cobrand__x { text-align: center; font-size: 24px; line-height: 1; }
  .p-cobrand__marks { gap: 20px; }
  .p-cobrand__logo--ihub img { width: 180px; }
  .p-cobrand__logo--iit img { width: 140px; }
  .p-cobrand__caption { font-size: 13px; }
}

/* ===== Section blocks ===== */
.p-block { padding: 56px 0; border-bottom: 1px solid var(--cdo-border); }
.p-block__eyebrow {
  color: var(--cdo-green); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 10px;
}
.p-block__title { font-size: clamp(26px, 3.5vw, 36px); margin-bottom: 24px; }
.p-block__intro { font-size: 17px; color: var(--cdo-muted); max-width: 800px; margin: 0 0 32px; }
.p-two-col {
  display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px;
}
@media (max-width: 900px) { .p-two-col { grid-template-columns: 1fr; gap: 24px; } }

.p-facts {
  background: var(--cdo-surface); border: 1px solid var(--cdo-border); border-radius: 12px;
  padding: 24px;
}
.p-facts h3 { font-size: 18px; margin-bottom: 16px; }
.p-facts ul { list-style: none; padding: 0; margin: 0; }
.p-facts li { padding: 10px 0; border-bottom: 1px dashed var(--cdo-border); font-size: 14px; }
.p-facts li:last-child { border-bottom: 0; }
.p-facts li strong { color: var(--cdo-ink); }

/* Program cards */
.p-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 900px) { .p-cards { grid-template-columns: 1fr; } }
.p-card {
  background: #fff; border: 1px solid var(--cdo-border); border-radius: 12px;
  padding: 24px; display: flex; flex-direction: column; gap: 12px;
}
.p-card__tag {
  display: inline-block; align-self: flex-start;
  background: var(--cdo-green-soft); color: var(--cdo-green-dark);
  padding: 4px 10px; border-radius: 6px; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
}
.p-card__title { font-size: 20px; margin: 0; }
.p-card__desc { color: var(--cdo-muted); font-size: 14px; margin: 0; flex-grow: 1; }
.p-card__list { list-style: none; padding: 0; margin: 0; font-size: 13.5px; }
.p-card__list li { padding: 6px 0; padding-left: 22px; position: relative; }
.p-card__list li::before {
  content: "✓"; color: var(--cdo-green); font-weight: 700; position: absolute; left: 0; top: 4px;
}

/* Proof cards */
.p-proof { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
@media (max-width: 700px) { .p-proof { grid-template-columns: 1fr; } }
.p-proof__item {
  background: #fff; border-left: 4px solid var(--cdo-green); border-radius: 8px;
  padding: 20px 20px 16px; box-shadow: 0 1px 3px rgba(20,38,30,0.04);
}
.p-proof__quote { color: var(--cdo-ink); font-size: 15px; line-height: 1.55; margin: 0 0 12px; }
.p-proof__source { font-size: 13px; color: var(--cdo-muted); }
.p-proof__source a { color: var(--cdo-green); }

/* FAQ */
.p-faq details {
  background: #fff; border: 1px solid var(--cdo-border); border-radius: 10px;
  padding: 16px 20px; margin-bottom: 10px;
}
.p-faq details[open] { border-color: var(--cdo-green); }
.p-faq summary {
  cursor: pointer; font-weight: 600; color: var(--cdo-ink); font-size: 16px;
  list-style: none; position: relative; padding-right: 28px;
}
.p-faq summary::after {
  content: "+"; position: absolute; right: 0; top: -2px; font-size: 24px; color: var(--cdo-green); font-weight: 300;
}
.p-faq details[open] summary::after { content: "−"; }
.p-faq__a { margin-top: 12px; color: var(--cdo-muted); font-size: 15px; }

/* Final CTA (dark green) */
.p-cta {
  background: var(--cdo-green-dark); color: #fff; padding: 64px 0;
}
.p-cta h2 { color: #fff; font-size: clamp(26px, 3.5vw, 36px); margin-bottom: 16px; }
.p-cta p.p-cta__lead { color: rgba(255,255,255,0.85); font-size: 18px; max-width: 720px; margin: 0 0 28px; }

/* ===== Form ===== */
.p-form-wrap {
  max-width: 720px; margin: 0 auto; background: #fff; border-radius: 14px;
  padding: 32px; color: var(--cdo-ink);
  box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}
.p-form-wrap h3 { font-size: 22px; margin-bottom: 8px; }
.p-form-wrap p.p-form-lead { color: var(--cdo-muted); font-size: 15px; margin: 0 0 20px; }
.p-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.p-form .p-row { display: flex; flex-direction: column; gap: 6px; }
.p-form .p-row--full { grid-column: 1 / -1; }
.p-form label span.p-lbl { font-size: 13px; font-weight: 600; color: var(--cdo-ink); }
.p-form label em { color: var(--cdo-accent); font-style: normal; }
.p-form input, .p-form select, .p-form textarea {
  font: inherit; padding: 12px 14px; border-radius: 8px; border: 1px solid var(--cdo-border);
  background: #fff; color: var(--cdo-ink);
}
.p-form input:focus, .p-form select:focus, .p-form textarea:focus {
  outline: none; border-color: var(--cdo-green); box-shadow: 0 0 0 3px rgba(15,110,88,0.15);
}
.p-form textarea { min-height: 90px; resize: vertical; }
.p-consent { font-size: 13px; color: var(--cdo-muted); display: flex; align-items: flex-start; gap: 8px; grid-column: 1 / -1; }
.p-consent a { color: var(--cdo-green); text-decoration: underline; }
.p-submit-row { grid-column: 1 / -1; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.p-form-note { color: var(--cdo-muted); font-size: 13px; }
@media (max-width: 640px) { .p-form { grid-template-columns: 1fr; } }
.p-honey { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }

/* Legal notice */
.p-legal {
  background: #FFF8ED; border: 1px solid #F2D591; border-radius: 10px;
  padding: 20px 24px; color: #6E4A00; font-size: 13.5px; line-height: 1.55;
  margin-top: 28px;
}
.p-legal strong { color: #6E4A00; }

/* ===== Footer ===== */
.p-footer {
  background: var(--cdo-surface); color: var(--cdo-muted); padding: 40px 0 32px;
  border-top: 1px solid var(--cdo-border); font-size: 14px;
}
.p-footer .p-container { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; }
@media (max-width: 800px) { .p-footer .p-container { grid-template-columns: 1fr 1fr; } }
.p-footer h4 { color: var(--cdo-ink); font-size: 14px; letter-spacing: 0.02em; margin: 0 0 12px; text-transform: uppercase; }
.p-footer a { color: var(--cdo-muted); display: block; padding: 4px 0; }
.p-footer a:hover { color: var(--cdo-green); text-decoration: none; }
.p-footer__bottom {
  border-top: 1px solid var(--cdo-border); margin-top: 32px; padding-top: 20px;
  font-size: 13px; text-align: center;
}

/* ===== Pricing tiers ===== */
.p-pricing { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
@media (max-width: 960px) { .p-pricing { grid-template-columns: 1fr; } }
.p-tier {
  background: #fff; border: 1px solid var(--cdo-border); border-radius: 14px;
  padding: 28px 24px; display: flex; flex-direction: column; gap: 16px;
  position: relative;
}
.p-tier--featured {
  border: 2px solid var(--cdo-green);
  box-shadow: 0 12px 32px -18px rgba(15,110,88,0.55);
}
.p-tier__badge {
  position: absolute; top: -12px; left: 24px;
  background: var(--cdo-green); color: #fff;
  font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 6px 12px; border-radius: 999px;
}
.p-tier__eyebrow { color: var(--cdo-green-dark); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.p-tier__title { font-size: 22px; margin: 0; color: var(--cdo-ink); }
.p-tier__price { font-size: 30px; font-weight: 700; color: var(--cdo-ink); line-height: 1.1; margin: 0; font-variant-numeric: tabular-nums; }
.p-tier__price small { display: block; font-size: 14px; font-weight: 500; color: var(--cdo-muted); margin-top: 6px; }
.p-tier__desc { color: var(--cdo-muted); font-size: 14.5px; margin: 0; }
.p-tier__list { list-style: none; padding: 0; margin: 0; font-size: 14px; display: grid; gap: 8px; }
.p-tier__list li { padding-left: 22px; position: relative; color: var(--cdo-ink); }
.p-tier__list li::before { content: "\2713"; color: var(--cdo-green); font-weight: 700; position: absolute; left: 0; top: 1px; }
.p-tier__cta { margin-top: auto; }
.p-tier__note { font-size: 12.5px; color: var(--cdo-muted); line-height: 1.5; }
.p-pricing-legal { margin-top: 24px; font-size: 13px; color: var(--cdo-muted); line-height: 1.6; }

/* i18n switcher hint (header language pill visible on dark bg) */
.cdo-lang-switch, .lang-pill { color: #fff; }
