/* ============================================================
   YMNO.BY — modern-page.css
   Scope: .ymn-page   |   Prefix: ymn-
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Source+Sans+3:ital,wght@0,400;0,500;0,600;1,400&display=swap');

/* ──────── VARIABLES ──────── */
.ymn-page {
  --ink: #0b1a33;
  --ink2: #1e2d4a;
  --ink3: #3b4963;
  --muted: #6b7a94;
  --border: #dce0e8;
  --bg: #f4f5f9;
  --bg2: #ebedf3;
  --surf: #ffffff;
  --accent: #2b5cff;
  --accent-bg: #eaefff;
  --cta: #f0a030;
  --cta-dk: #d48b1c;
  --cta-glow: rgba(240,160,48,.15);
  --ok: #1a9e52;
  --ok-bg: #e8f8ef;
  --err: #d93636;
  --err-bg: #fdf0ef;
  --ff-h: 'Manrope', sans-serif;
  --ff-b: 'Source Sans 3', sans-serif;
  --r-s: 6px; --r-m: 12px; --r-l: 18px;
  --sh1: 0 1px 4px rgba(11,26,51,.05), 0 2px 12px rgba(11,26,51,.06);
  --sh2: 0 6px 24px rgba(11,26,51,.09);
  --sh3: 0 12px 40px rgba(11,26,51,.12);
  --ease: cubic-bezier(.22,1,.36,1);
}

/* ──────── SCOPED RESET ──────── */
.ymn-page, .ymn-page *, .ymn-page *::before, .ymn-page *::after { box-sizing: border-box; }
.ymn-page {
  font-family: var(--ff-b);
  font-size: 17px;
  line-height: 1.72;
  color: var(--ink3);
  -webkit-font-smoothing: antialiased;
}
.ymn-page img { max-width: 100%; height: auto; display: block; }
.ymn-page a { text-decoration: none; transition: color .18s var(--ease); }
.ymn-page a:hover { color: var(--ink); }

/* ══════════════════════════════════════════════════════════════
   OLD THEME CONFLICT OVERRIDES
   These selectors match style.css / bootstrap.css rules that
   bleed into .ymn-page. We nuke them with scoped !important.
   ══════════════════════════════════════════════════════════════ */

/* --- item-page resets --- */
.ymn-page .item-page { margin: 0 !important; padding: 0 !important; font-size: inherit !important; }
.ymn-page .item-page p { font-size: inherit !important; line-height: inherit !important; }
.ymn-page .item-page h2 { margin-top: 32px !important; margin-bottom: 13px !important; font-weight: 700 !important; font-family: var(--ff-h) !important; line-height: 1.2 !important; }
.ymn-page .item-page ul { padding: 0 !important; list-style-type: none !important; }
.ymn-page .item-page li { font-size: inherit !important; display: list-item !important; position: relative !important; padding-left: 22px !important; line-height: 1.6 !important; margin-bottom: 6px !important; }
.ymn-page .item-page li::before { content: '' !important; display: block !important; position: absolute !important; width: 6px !important; height: 6px !important; background-color: var(--accent) !important; left: 0 !important; top: 11px !important; border-radius: 50% !important; opacity: .5 !important; }
.ymn-page .item-page li a { color: var(--accent) !important; }
.ymn-page .item-page .wpb_wrapper img { width: auto !important; }
.ymn-page .item-page .page-header h1 { font-size: 38px !important; }

/* --- d-tbl / form layout --- */
.ymn-page .d-tbl { display: grid !important; width: 100% !important; }
.ymn-page .d-tbl-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
.ymn-page .d-tbl-cell { display: block !important; padding: 0 !important; }
.ymn-page #rsform_7_page_0 { background: none !important; padding: 0 !important; border: none !important; border-radius: 0 !important; vertical-align: baseline !important; }
.ymn-page #rsform_7_page_0 .d-tbl-cell { padding: 0 !important; }
.ymn-page #rsform_7_page_0 .d-tbl-cell > div { margin-bottom: 12px !important; min-height: auto !important; }

/* --- formField resets --- */
.ymn-page .formField { color: var(--ink3) !important; margin-bottom: 12px !important; width: 100% !important; }
.ymn-page .formField input { width: 100% !important; font-size: 15px !important; color: var(--ink) !important; font-family: var(--ff-b) !important; }
.ymn-page .formField select { height: auto !important; background: var(--bg) !important; border: 1.5px solid var(--border) !important; width: 100% !important; -webkit-appearance: none !important; appearance: none !important; box-shadow: none !important; font-size: 15px !important; color: var(--ink) !important; padding: 11px 13px !important; border-radius: var(--r-s) !important; font-family: var(--ff-b) !important; margin-bottom: 0 !important; }
.ymn-page .formField textarea { background: var(--bg) !important; width: 100% !important; border: 1.5px solid var(--border) !important; box-shadow: none !important; padding: 11px 13px !important; font-size: 15px !important; color: var(--ink) !important; height: auto !important; min-height: 88px !important; font-family: var(--ff-b) !important; border-radius: var(--r-s) !important; }
.ymn-page .formField .rsform-input-box { height: auto !important; background: var(--bg) !important; box-shadow: none !important; border: 1.5px solid var(--border) !important; padding: 11px 13px !important; border-radius: var(--r-s) !important; }
.ymn-page .formField #email { border: 1.5px solid var(--border) !important; }
.ymn-page .formField-left { width: 100% !important; display: block !important; float: none !important; }
.ymn-page .formField-right { width: 100% !important; display: block !important; float: none !important; }
.ymn-page .formField-right .rsform-block-phone { width: 100% !important; float: none !important; }
.ymn-page .formField-right .rsform-block-name { width: 100% !important; float: none !important; }
.ymn-page .formField.rsform-block br { display: none !important; }
.ymn-page .formField.rsform-block-file { position: relative !important; float: none !important; width: 100% !important; padding-top: 4px !important; overflow: visible !important; }

/* --- rsform type-of-work dropdown arrow --- */
.ymn-page .rsform-block-type-of-work { position: relative !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.ymn-page .rsform-block-type-of-work::before { content: none !important; display: none !important; }
.ymn-page .rsform-block-name, .ymn-page .rsform-block-phone, .ymn-page .rsform-block-city { color: inherit !important; }
.ymn-page .rsform-block-work-theme { margin-bottom: 12px !important; }
.ymn-page .rsform-block-submit p { float: none !important; font-size: inherit !important; margin-top: 0 !important; }
.ymn-page .rsform-block:hover { background: transparent !important; }

/* --- submit button --- */
.ymn-page input#submit,
.ymn-page input.rsform-submit-button {
  background-color: var(--cta) !important;
  background-image: none !important;
  background: var(--cta) !important;
  color: var(--ink) !important;
  width: 100% !important;
  height: auto !important;
  border-radius: var(--r-s) !important;
  padding: 12px 28px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-family: var(--ff-h) !important;
  box-shadow: 0 3px 12px rgba(240,160,48,.3) !important;
  line-height: 1.4 !important;
  border: none !important;
  margin: 0 !important;
  float: none !important;
  text-align: center !important;
}
.ymn-page input#submit:hover,
.ymn-page input.rsform-submit-button:hover {
  background-color: var(--cta-dk) !important;
  background-image: none !important;
  background: var(--cta-dk) !important;
  box-shadow: 0 5px 20px rgba(240,160,48,.4) !important;
}
.ymn-page input.rsform-submit-button:active,
.ymn-page input.rsform-submit-button:focus { outline: none !important; }

/* --- iksweb table --- */
.ymn-page table.iksweb { text-decoration: none !important; border-collapse: separate !important; text-align: left !important; }
.ymn-page table.iksweb td, .ymn-page table.iksweb th { white-space: normal !important; padding: 0 !important; font-size: inherit !important; vertical-align: top !important; border: none !important; }
.ymn-page table.iksweb tr:hover { background-color: transparent !important; }
.ymn-page table.iksweb tr:hover td { color: inherit !important; cursor: default !important; }
.ymn-page table.iksweb tr:nth-child(2n+1) td { background-color: transparent !important; }
.ymn-page table.iksweb tr td:first-child { font-weight: 600 !important; }

/* --- diplon-table --- */
.ymn-page .diplon-table .textn, .ymn-page .diplon-table .textb { font-size: inherit !important; line-height: inherit !important; padding-bottom: 0 !important; background: transparent !important; }
.ymn-page .textn { width: auto !important; padding: 0 !important; font-size: inherit !important; }
.ymn-page .textb { background: transparent !important; width: auto !important; padding: 0 !important; font-size: inherit !important; }

/* --- faq old theme styles KILL --- */
.ymn-page .faq-block {
  background: none !important;
  border-radius: 0 !important;
  font-size: 16px !important;
  padding: 18px 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-bottom: 0 !important;
  color: var(--ink) !important;
  position: relative !important;
  border: none !important;
  cursor: pointer !important;
}
.ymn-page .faq-block::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  position: static !important;
}
.ymn-page .faq-block:nth-child(1)::before,
.ymn-page .faq-block:nth-child(3)::before,
.ymn-page .faq-block:nth-child(5)::before,
.ymn-page .faq-block:nth-child(7)::before,
.ymn-page .faq-block:nth-child(9)::before {
  content: none !important;
  display: none !important;
}
.ymn-page .faq-arrow {
  position: static !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  right: auto !important;
  top: auto !important;
  border-radius: 50% !important;
  background: var(--bg) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform .35s var(--ease), background .2s !important;
}
.ymn-page .faq-block.collapsed .faq-arrow::before {
  content: '' !important;
  background: none !important;
  background-image: none !important;
  position: static !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 2px solid var(--muted) !important;
  border-bottom: 2px solid var(--muted) !important;
  border-top: none !important;
  border-left: none !important;
  transform: rotate(45deg) !important;
  margin-top: -3px !important;
  display: block !important;
}
.ymn-page .faq-block.collapsed.on .faq-arrow::before {
  background: none !important;
  background-image: none !important;
}
.ymn-page .faq-answer { display: none; padding-left: 0 !important; padding-right: 0 !important; background: none !important; }
.ymn-page .faq-question { display: block !important; padding: 10px 0 3px !important; cursor: pointer !important; text-decoration: none !important; font-family: var(--ff-h) !important; font-weight: 600 !important; font-size: 15px !important; color: var(--ink2) !important; background: none !important; border: none !important; }
.ymn-page .answer-block { background: none !important; padding: 4px 0 12px !important; border-left: none !important; font-style: normal !important; margin-left: 0 !important; margin-bottom: 0 !important; font-size: 15px !important; line-height: 1.7 !important; }

/* --- same-items / etaps --- */
.ymn-page .amo-new-etaps { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 18px !important; flex-direction: unset !important; position: static !important; }
.ymn-page .amo-new-etaps::before { content: none !important; display: none !important; }
.ymn-page .amo-new-etap { display: block !important; flex-wrap: unset !important; width: auto !important; margin-bottom: 0 !important; }
.ymn-page .amo-new-etap .amo-new-text { width: 100% !important; min-width: auto !important; margin: 0 !important; }
.ymn-page .amo-new-etap .new-etap-number { width: 28px !important; height: 28px !important; background: var(--cta) !important; border-radius: 50% !important; font-size: 13px !important; color: var(--ink) !important; display: flex !important; justify-content: center !important; align-items: center !important; border: none !important; line-height: 1 !important; }
.ymn-page .amo-new-etap .for-etap-img { width: 64px !important; height: 64px !important; margin: 0 auto 14px !important; }
.ymn-page p.amo-new-header { font-size: 15px !important; line-height: 1.3 !important; color: var(--ink) !important; font-family: var(--ff-h) !important; font-weight: 700 !important; }
.ymn-page .amo-new-block { font-size: 13px !important; line-height: 1.5 !important; color: var(--muted) !important; }

/* --- main_content width override --- */
.ymn-page .main_content { float: none !important; width: 100% !important; padding: 0 !important; box-shadow: none !important; }
/* Full-width ACF blocks container (sits outside #main) */
.ymn-page.ymn-page--fullwidth { width: 100%; }

/* --- bootstrap form-control reset --- */
.ymn-page .form-control {
  height: auto !important;
  padding: 11px 13px !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: var(--ink) !important;
  background-color: var(--bg) !important;
  border: 1.5px solid var(--border) !important;
  border-radius: var(--r-s) !important;
  box-shadow: none !important;
  font-family: var(--ff-b) !important;
}
.ymn-page .form-control:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(43,92,255,.1) !important;
  background-color: var(--surf) !important;
}

/* --- Elementor / VC resets --- */
.ymn-page .elementor-section { padding: 0 !important; margin: 0 !important; }
.ymn-page .elementor-widget-container { padding: 0 !important; }
.ymn-page .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 0 !important; }
.ymn-page .vc_row, .ymn-page .wpb_row { margin: 0 !important; }
.ymn-page .wpb_wrapper { padding: 0 !important; }

/* --- responsive from old theme that we need to override --- */
@media only screen and (max-width: 568px) {
  .ymn-page .d-tbl, .ymn-page .d-tbl-row, .ymn-page .d-tbl-cell { display: block !important; }
  .ymn-page .d-tbl-row { grid-template-columns: 1fr !important; }
}
@media only screen and (max-width: 450px) {
  .ymn-page input#submit, .ymn-page input.rsform-submit-button { width: 100% !important; }
}
@media (max-width: 920px) {
  .ymn-page .faq-block::before { display: none !important; }
  .ymn-page .faq-block { padding-left: 0 !important; padding-right: 0 !important; }
}

/* ──────── LAYOUT ──────── */
.ymn-box { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.ymn-sec { padding: 56px 0; }
.ymn-sec--tinted { background: var(--bg); }
.ymn-sec__head { text-align: center; margin-bottom: 35px; }
.ymn-sec__head h2 {
  font-family: var(--ff-h) !important; font-weight: 800 !important;
  font-size: 32px !important; line-height: 1.2 !important;
  color: var(--ink) !important; margin: 0 0 6px !important; letter-spacing: 0 !important;
}

/* ══════════════════════════════════════
   HERO — two-column grid with CF7 right
   ══════════════════════════════════════ */
.ymn-hero {
  padding: 48px 0 56px;
  background: radial-gradient(ellipse at 15% 0%,rgba(43,92,255,.06) 0%,transparent 55%),
              radial-gradient(ellipse at 85% 100%,var(--cta-glow) 0%,transparent 45%),var(--bg);
  border-bottom: 1px solid var(--border);
}

/* Grid: text left, form right */
.ymn-hero__grid {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 32px;
  align-items: start;
}
.ymn-hero__body {
  min-width: 0;
}

/* Make hero body a sub-grid to allow form to escape flow */
.ymn-hero__body {
  display: contents;
}
/* Everything except .wpcf7 goes to column 1 */
.ymn-hero__body > *:not(.wpcf7) {
  grid-column: 1;
}
/* First .wpcf7 form → column 2, sticky, card styling applied directly */
.ymn-hero__body > .wpcf7:first-of-type {
  grid-column: 2 !important;
  grid-row: 1 / 80 !important;
  position: sticky;
  top: 20px;
  align-self: start;
  /* Card styles (since display:contents on parent loses inheritance) */
  background: var(--surf) !important;
  border-radius: var(--r-l) !important;
  box-shadow: var(--sh3) !important;
  padding: 32px 28px !important;
  border: 1px solid var(--border) !important;
  margin: 0 !important;
}
/* Any additional .wpcf7 forms stay in flow, column 1 */
.ymn-hero__body > .wpcf7 ~ .wpcf7 {
  grid-column: 1 !important;
  grid-row: auto !important;
  position: static;
  background: var(--surf) !important;
  border-radius: var(--r-l) !important;
  box-shadow: var(--sh3) !important;
  padding: 32px 28px !important;
  border: 1px solid var(--border) !important;
  margin: 24px 0 !important;
}

/* ── Hero headings ── */
.ymn-hero__grid h1 {
  font-family: var(--ff-h) !important; font-weight: 800 !important;
  font-size: 38px !important; line-height: 1.15 !important;
  color: var(--ink) !important; margin: 0 0 16px !important; letter-spacing: 0 !important;
}
.ymn-hero__grid h2 {
  font-family: var(--ff-h) !important; font-weight: 700 !important;
  font-size: 24px !important; line-height: 1.2 !important;
  color: var(--ink) !important; margin: 19px 0 8px !important;
}
.ymn-hero__grid h3 {
  font-family: var(--ff-h) !important; font-weight: 700 !important;
  font-size: 18px !important; color: var(--ink) !important; margin: 24px 0 8px !important;
}

/* ── Hero text ── */
.ymn-hero__grid p { margin: 0 0 11px; }
.ymn-hero__grid strong, .ymn-hero__grid b { font-weight: 600; color: var(--ink); }
.ymn-hero__grid ul { padding: 0; list-style: none; margin: 0 0 13px; }
.ymn-hero__grid ul > li { position: relative; padding-left: 22px; margin-bottom: 5px; }
.ymn-hero__grid ul > li::before {
  content: ''; position: absolute; left: 0; top: 11px;
  width: 6px; height: 6px; border-radius: 50%; background: var(--accent); opacity: .5;
}
.ymn-hero__grid ol { padding-left: 21px; margin: 0 0 13px; }
.ymn-hero__grid ol > li { margin-bottom: 4px; padding-left: 3px; }
.ymn-hero__grid ol > li::marker { color: var(--accent); font-weight: 600; }

/* ── Hero images ── */
.ymn-hero__grid img:not([width="32"]):not([width="34"]):not(.wpcf7-file) {
  border-radius: var(--r-m); margin: 16px 0; box-shadow: var(--sh1); max-width: 380px;
}

/* ── Breadcrumbs ── */
.ymn-hero__grid #breadcrumbs, .ymn-hero__grid #breadcrumbs * {
  font-family: var(--ff-h) !important; font-size: 13px !important; color: var(--muted) !important;
}
.ymn-hero__grid #breadcrumbs a { color: var(--accent) !important; }

/* ── iksweb table → pill grid ── */
.ymn-hero__grid table.iksweb {
  all: unset !important; display: grid !important;
  grid-template-columns: repeat(3,1fr) !important; gap: 10px !important;
  margin-bottom: 24px !important; width: 100% !important;
}
.ymn-hero__grid table.iksweb tbody { display: contents !important; }
.ymn-hero__grid table.iksweb tr {
  all: unset !important; display: flex !important; flex-direction: column !important;
  background: var(--surf) !important; border: 1px solid var(--border) !important;
  border-radius: var(--r-m) !important; padding: 12px 15px !important; gap: 2px !important;
  transition: box-shadow .18s, border-color .18s !important;
}
.ymn-hero__grid table.iksweb tr:hover { box-shadow: var(--sh1) !important; border-color: var(--accent) !important; }
.ymn-hero__grid table.iksweb td { all: unset !important; display: block !important; }
.ymn-hero__grid table.iksweb td:first-child {
  font-family: var(--ff-h) !important; font-size: 11px !important; text-transform: uppercase !important;
  letter-spacing: 1px !important; color: var(--muted) !important; font-weight: 600 !important;
}
.ymn-hero__grid table.iksweb td:last-child {
  font-family: var(--ff-h) !important; font-weight: 700 !important;
  font-size: 17px !important; color: var(--ink) !important;
}

/* ── diplon-table → chips ── */
.ymn-page table.diplon-table {
  all: unset !important; display: flex !important; flex-wrap: wrap !important;
  gap: 8px !important; margin: 8px 0 24px !important;
}
.ymn-page table.diplon-table tbody, .ymn-page table.diplon-table tr { display: contents !important; }
.ymn-page table.diplon-table td {
  all: unset !important; display: inline-block !important; padding: 6px 15px !important;
  background: var(--surf) !important; border: 1px solid var(--border) !important;
  border-radius: 50px !important; font-family: var(--ff-h) !important;
  font-size: 13px !important; font-weight: 500 !important; transition: all .18s !important;
}
.ymn-page table.diplon-table td:hover {
  border-color: var(--accent) !important; background: var(--accent-bg) !important;
  transform: translateY(-1px) !important; box-shadow: var(--sh1) !important;
}
.ymn-page table.diplon-table td a { color: var(--ink3) !important; text-decoration: none !important; }
.ymn-page table.diplon-table td:hover a { color: var(--accent) !important; }

/* ══════════════════════════════════════
   CF7 FORM CARD
   ══════════════════════════════════════ */
.ymn-page .wpcf7 {
  background: var(--surf) !important; border-radius: var(--r-l) !important;
  box-shadow: var(--sh3) !important; padding: 28px !important;
  border: 1px solid var(--border) !important; margin: 0 !important;
}
.ymn-page .d-tbl { display: grid !important; grid-template-columns: 1fr !important; }
.ymn-page .d-tbl-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
.ymn-page .d-tbl-cell { display: block !important; }
.ymn-page .formField { margin-bottom: 12px !important; }
.ymn-page .rsform-block-type-of-work {
  font-family: var(--ff-h) !important; font-size: 12px !important; font-weight: 600 !important;
  color: var(--muted) !important; text-transform: uppercase !important; letter-spacing: 1px !important;
}
.ymn-page .wpcf7 input[type="text"],
.ymn-page .wpcf7 input[type="email"],
.ymn-page .wpcf7 input[type="tel"],
.ymn-page .wpcf7 select,
.ymn-page .wpcf7 textarea {
  width: 100% !important; font-family: var(--ff-b) !important; font-size: 15px !important;
  padding: 11px 13px !important; border: 1.5px solid var(--border) !important;
  border-radius: var(--r-s) !important; background: var(--bg) !important;
  color: var(--ink) !important; outline: none !important; box-shadow: none !important;
  transition: border-color .18s, box-shadow .18s !important;
  -webkit-appearance: none !important; height: auto !important; line-height: 1.5 !important;
}
.ymn-page .wpcf7 input:focus, .ymn-page .wpcf7 select:focus, .ymn-page .wpcf7 textarea:focus {
  border-color: var(--accent) !important; box-shadow: 0 0 0 3px rgba(43,92,255,.1) !important;
  background: var(--surf) !important;
}
.ymn-page .wpcf7 textarea { resize: vertical !important; min-height: 88px !important; }
.ymn-page .wpcf7-submit, .ymn-page .rsform-submit-button {
  font-family: var(--ff-h) !important; font-weight: 700 !important; font-size: 15px !important;
  border: none !important; border-radius: var(--r-s) !important; padding: 12px 28px !important;
  cursor: pointer !important; background: var(--cta) !important; color: var(--ink) !important;
  box-shadow: 0 3px 12px rgba(240,160,48,.3) !important;
  transition: transform .15s, box-shadow .18s, background .18s !important; width: 100% !important;
}
.ymn-page .wpcf7-submit:hover { background: var(--cta-dk) !important; box-shadow: 0 5px 20px rgba(240,160,48,.4) !important; }
.ymn-page .wpcf7-submit:active { transform: scale(.97) !important; }
.ymn-page .wpcf7-file { margin-top: 6px !important; font-size: 13px !important; }
.ymn-page .wpcf7-spinner { display: none !important; }

/* ══════════════════════════════════════
   STEPS
   ══════════════════════════════════════ */
.ymn-steps {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 18px;
}
.ymn-step {
  text-align: center; position: relative;
  background: var(--surf); border: 1px solid var(--border);
  border-radius: var(--r-m); padding: 24px 16px 20px;
  transition: box-shadow .3s var(--ease), transform .3s var(--ease);
}
.ymn-step:hover { box-shadow: var(--sh2); transform: translateY(-2px); }
.ymn-step__num {
  position: absolute; top: -10px; right: -10px;
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--cta); color: var(--ink);
  font-family: var(--ff-h); font-weight: 800; font-size: 13px;
  display: flex; align-items: center; justify-content: center;
}
.ymn-step__icon {
  width: 64px; height: 64px; border-radius: 50%;
  background: var(--accent-bg); display: flex;
  align-items: center; justify-content: center; margin: 0 auto 14px;
}
.ymn-step__icon img { width: 34px; height: 34px; }
.ymn-step__title {
  font-family: var(--ff-h); font-weight: 700; font-size: 18px;
  color: var(--ink); margin: 0 0 5px;
}
.ymn-step__text { font-size: 15px; color: var(--muted); line-height: 1.5; margin: 0; }

/* ══════════════════════════════════════
   FAQ
   ══════════════════════════════════════ */
.ymn-faq { max-width: 780px; margin: 0 auto; }
.ymn-faq__item { border-bottom: 1px solid var(--border); }
.ymn-faq__item:first-child { border-top: 1px solid var(--border); }

/* KILL old theme's data-number pseudo-element */
.ymn-faq__item .faq-block::before,
.ymn-faq__item .faq-block::after,
.ymn-page .faq-block::before,
.ymn-page .faq-block::after,
.ymn-page .faq-section .faq-block::before,
.ymn-page .faq-section .faq-block::after {
  content: none !important;
  display: none !important;
}
.ymn-faq__item [data-number]::before,
.ymn-page [data-number]::before {
  content: none !important;
  display: none !important;
}

.ymn-faq__item .faq-block {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  gap: 16px !important; padding: 18px 0 !important;
  font-family: var(--ff-h) !important; font-weight: 600 !important;
  font-size: 16px !important; color: var(--ink) !important;
  cursor: pointer !important; background: none !important;
  border: none !important; width: 100% !important;
  text-align: left !important; line-height: 1.35 !important;
  /* Reset all pseudo positioning from old theme */
  position: relative !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}
.ymn-faq__item .faq-block:hover { color: var(--accent) !important; }
.ymn-faq__q { flex: 1; }

/* Arrow circle */
.ymn-faq__item .faq-arrow {
  width: 32px !important; height: 32px !important; min-width: 32px !important;
  border-radius: 50% !important; background: var(--bg) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  transition: transform .35s var(--ease), background .2s !important;
  position: static !important; float: none !important;
  margin: 0 !important; padding: 0 !important;
  /* Kill any old pseudo from arrow too */
}
.ymn-faq__item .faq-arrow::before {
  content: '' !important; width: 8px !important; height: 8px !important;
  border-right: 2px solid var(--muted) !important; border-bottom: 2px solid var(--muted) !important;
  border-top: none !important; border-left: none !important;
  transform: rotate(45deg) !important; margin-top: -3px !important; display: block !important;
  background: none !important; position: static !important;
}
.ymn-faq__item .faq-arrow::after { content: none !important; display: none !important; }

/* Open state */
.ymn-faq__item .faq-block:not(.collapsed) .faq-arrow {
  transform: rotate(180deg) !important; background: var(--accent-bg) !important;
}
.ymn-faq__item .faq-block:not(.collapsed) .faq-arrow::before {
  border-color: var(--accent) !important;
}

/* Answer panel — smooth animation */
.ymn-faq__item .faq-answer {
  background: none !important; border: none !important;
  overflow: hidden !important;
  transition: max-height .4s var(--ease), opacity .3s !important;
}
.ymn-faq__item .answer-block {
  padding: 4px 0 20px !important; font-size: 16px !important;
  line-height: 1.7 !important; color: var(--ink3) !important;
  background: none !important; border: none !important;
}
.ymn-faq__item .answer-block p { margin: 0 0 10px !important; }

/* Sub-questions inside faq-answer */
.ymn-faq__item .faq-question {
  font-family: var(--ff-h) !important; font-weight: 600 !important;
  font-size: 15px !important; color: var(--ink2) !important;
  padding: 10px 0 3px !important; background: none !important; border: none !important;
}

/* ── Also kill data-number for OLD faq-section from the_content ── */
.ymn-page .faq-section .faq-block {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.ymn-page .faq-section .faq-block[data-number]::before,
.ymn-page .faq-section .faq-block[data-number]::after,
.ymn-page .faq-section [data-number]::before {
  content: none !important;
  display: none !important;
}

/* ══════════════════════════════════════
   TABS
   ══════════════════════════════════════ */
.ymn-tabs {
  background: var(--surf); border-radius: var(--r-l);
  box-shadow: var(--sh1); border: 1px solid var(--border); overflow: hidden;
}
.ymn-tabs__title {
  text-align: center; padding: 28px 28px 0;
  font-family: var(--ff-h) !important; font-weight: 800 !important;
  font-size: 23px !important; color: var(--ink) !important; margin: 0 !important;
}
.ymn-tabs__nav {
  display: flex; flex-wrap: wrap; gap: 2px; padding: 20px 28px 0;
  border-bottom: 2px solid var(--bg); overflow-x: auto; -webkit-overflow-scrolling: touch;
}
.ymn-tab {
  font-family: var(--ff-h); font-weight: 600; font-size: 14px;
  padding: 9px 18px; border: none; background: none; color: var(--muted);
  cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px;
  transition: color .18s, border-color .18s; white-space: wrap;
  text-align: left;
}
.ymn-tab:hover { color: var(--ink); }
.ymn-tab.is-active { color: var(--accent); border-bottom-color: var(--accent); }
.ymn-tabs__content { padding: 24px 28px 28px; }
.ymn-panel { font-size: 15px; line-height: 1.7; animation: ymnFd .3s var(--ease); }
.ymn-panel p { margin: 0 0 11px; }
@keyframes ymnFd { from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)} }

/* ══════════════════════════════════════
   MISTAKES
   ══════════════════════════════════════ */
.ymn-mistakes { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.ymn-mistake {
  background: var(--surf); border-radius: var(--r-m); padding: 24px;
  border-left: 4px solid var(--err); box-shadow: var(--sh1);
  transition: box-shadow .3s, transform .3s;
}
.ymn-mistake:hover { box-shadow: var(--sh2); transform: translateY(-2px); }
.ymn-mistake__h {
  font-family: var(--ff-h) !important; font-weight: 700 !important;
  font-size: 16px !important; color: var(--err) !important; margin: 0 0 6px !important;
}
.ymn-mistake__text { font-size: 14px; line-height: 1.6; margin-bottom: 11px; }
.ymn-mistake__text p { margin: 0 0 6px; }
.ymn-mistake__fix {
  background: var(--ok-bg); border-radius: var(--r-s);
  padding: 12px 16px; font-size: 14px; line-height: 1.55; border-left: 3px solid var(--ok);
}
.ymn-mistake__fix-label {
  font-family: var(--ff-h); font-weight: 700; color: var(--ok);
  display: block; margin-bottom: 2px; font-size: 12px;
  text-transform: uppercase; letter-spacing: 1px;
}

/* ══════════════════════════════════════
   CHECKLIST
   ══════════════════════════════════════ */
.ymn-card {
  background: var(--surf); border-radius: var(--r-l);
  box-shadow: var(--sh1); border: 1px solid var(--border); padding: 36px;
}
.ymn-card__title {
  text-align: center; font-family: var(--ff-h) !important; font-weight: 800 !important;
  font-size: 23px !important; color: var(--ink) !important; margin: 0 0 29px !important;
}
.ymn-check {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
  list-style: none !important; padding: 0 !important; margin: 0 !important; counter-reset: ymncl;
}
.ymn-check__item {
  counter-increment: ymncl; display: flex; align-items: flex-start; gap: 12px;
  background: var(--bg); border-radius: var(--r-s); padding: 16px 18px;
  font-size: 14px; line-height: 1.5; transition: background .18s;
}
.ymn-check__item:hover { background: var(--accent-bg); }
.ymn-check__item::before {
  content: counter(ymncl); min-width: 30px; height: 30px; border-radius: 50%;
  background: var(--accent); color: #fff; font-family: var(--ff-h);
  font-weight: 700; font-size: 13px; display: flex; align-items: center;
  justify-content: center; flex-shrink: 0;
}

/* ══════════════════════════════════════
   REVIEWS
   ══════════════════════════════════════ */
.ymn-reviews { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.ymn-review {
  background: var(--surf); border: 1px solid var(--border);
  border-radius: var(--r-m); padding: 24px;
  transition: box-shadow .3s, transform .3s;
  display: flex; flex-direction: column; gap: 10px;
}
.ymn-review:hover { box-shadow: var(--sh2); transform: translateY(-2px); }
.ymn-review__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ymn-review__author { font-family: var(--ff-h); font-weight: 700; font-size: 16px; color: var(--ink); }
.ymn-review__stars { display: flex; gap: 1px; }
.ymn-review__stars span { color: var(--border); font-size: 16px; }
.ymn-review__stars span.on { color: var(--cta); }
.ymn-review__tag {
  display: inline-block; background: var(--accent-bg); color: var(--accent);
  font-family: var(--ff-h); font-size: 12px; font-weight: 600;
  padding: 3px 10px; border-radius: 50px; text-transform: uppercase;
  letter-spacing: 0px; align-self: flex-start;
}
.ymn-review__text { font-size: 14px; line-height: 1.6; }

/* ══════════════════════════════════════
   RELATED / PILLS
   ══════════════════════════════════════ */
.ymn-pills { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.ymn-pill-link {
  display: inline-flex; align-items: center; gap: 6px; padding: 10px 20px;
  background: var(--surf); border: 1px solid var(--border); border-radius: 50px;
  color: var(--ink3); font-family: var(--ff-h); font-weight: 500; font-size: 14px;
  transition: all .18s; text-decoration: none;
}
.ymn-pill-link:hover {
  border-color: var(--accent); color: var(--accent); background: var(--accent-bg);
  transform: translateY(-2px); box-shadow: var(--sh1);
}

/* ══════════════════════════════════════
   ANIMATIONS
   ══════════════════════════════════════ */
.ymn-anim { opacity: 0; transform: translateY(20px); transition: opacity .55s var(--ease), transform .55s var(--ease); }
.ymn-anim.is-vis { opacity: 1; transform: translateY(0); }
.ymn-anim-d1 { transition-delay: .08s; }
.ymn-anim-d2 { transition-delay: .16s; }
.ymn-anim-d3 { transition-delay: .24s; }
.ymn-anim-d4 { transition-delay: .32s; }

/* ══════════════════════════════════════
   ELEMENTOR / VC / OLD CLASS RESETS
   ══════════════════════════════════════ */
.ymn-page .elementor-section { padding: 0 !important; margin: 0 !important; }
.ymn-page .elementor-widget-container { padding: 0 !important; }
.ymn-page .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 0 !important; }
.ymn-page .vc_row, .ymn-page .wpb_row { margin: 0 !important; }
.ymn-page .wpb_wrapper { padding: 0 !important; }
.ymn-page .item-page { margin: 0 !important; padding: 0 !important; }
/* Old etaps/faq that come from the_content — restyle them too */
.ymn-page .same-items { padding: 48px 0 !important; margin: 0 !important; }
.ymn-page .same-items .tac.pretty {
  font-family: var(--ff-h) !important; font-weight: 800 !important;
  font-size: 28px !important; color: var(--ink) !important;
  text-align: center !important; background: none !important; padding: 0 !important; margin: 0 0 32px !important;
}
.ymn-page .same-items .tac.pretty span { background: none !important; padding: 0 !important; }
.ymn-page .amo-new-etaps { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 18px !important; }
.ymn-page .amo-new-etap {
  text-align: center !important; position: relative !important; background: var(--surf) !important;
  border: 1px solid var(--border) !important; border-radius: var(--r-m) !important;
  padding: 24px 16px 20px !important;
}
.ymn-page .new-etap-number {
  position: absolute !important; top: -10px !important; right: -10px !important;
  width: 28px !important; height: 28px !important; border-radius: 50% !important;
  background: var(--cta) !important; color: var(--ink) !important;
  font-family: var(--ff-h) !important; font-weight: 800 !important; font-size: 13px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  left: auto !important; line-height: 1 !important;
}
.ymn-page .for-etap-img {
  width: 64px !important; height: 64px !important; border-radius: 50% !important;
  background: var(--accent-bg) !important; display: flex !important;
  align-items: center !important; justify-content: center !important; margin: 0 auto 14px !important;
}
.ymn-page .for-etap-img img { width: 34px !important; height: 34px !important; }
.ymn-page .amo-new-header { font-family: var(--ff-h) !important; font-weight: 700 !important; font-size: 15px !important; color: var(--ink) !important; margin: 0 0 5px !important; }
.ymn-page .amo-new-block, .ymn-page .amo-new-block p { font-size: 13px !important; color: var(--muted) !important; line-height: 1.5 !important; margin: 0 !important; }
/* Old faq-section from content */
.ymn-page .faq-section { max-width: 780px !important; margin: 0 auto !important; padding: 48px 24px !important; }
.ymn-page .faq-section .faq-block {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  gap: 16px !important; padding: 18px 0 !important; padding-left: 0 !important; padding-right: 0 !important;
  font-family: var(--ff-h) !important; font-weight: 600 !important; font-size: 16px !important;
  color: var(--ink) !important; cursor: pointer !important;
  border-bottom: 1px solid var(--border) !important; background: none !important;
  position: relative !important; margin: 0 !important;
  border-top: none !important; border-left: none !important; border-right: none !important;
}
.ymn-page .faq-section > .faq-block:first-child { border-top: 1px solid var(--border) !important; }
/* Kill data-number in old faq-section */
.ymn-page .faq-section .faq-block::before,
.ymn-page .faq-section .faq-block::after,
.ymn-page .faq-section [data-number]::before,
.ymn-page .faq-section [data-number]::after {
  content: none !important; display: none !important;
}
.ymn-page .faq-section .faq-arrow {
  width: 32px !important; height: 32px !important; min-width: 32px !important;
  border-radius: 50% !important; background: var(--bg) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  position: static !important; float: none !important; margin: 0 !important; padding: 0 !important;
  transition: transform .35s var(--ease), background .2s !important;
}
.ymn-page .faq-section .faq-arrow::before {
  content: '' !important; width: 8px !important; height: 8px !important;
  border-right: 2px solid var(--muted) !important; border-bottom: 2px solid var(--muted) !important;
  border-top: none !important; border-left: none !important;
  transform: rotate(45deg) !important; margin-top: -3px !important; display: block !important;
  background: none !important; position: static !important;
}
.ymn-page .faq-section .faq-arrow::after { content: none !important; display: none !important; }
.ymn-page .faq-section .faq-block:not(.collapsed) .faq-arrow {
  transform: rotate(180deg) !important; background: var(--accent-bg) !important;
}
.ymn-page .faq-section .faq-block:not(.collapsed) .faq-arrow::before {
  border-color: var(--accent) !important;
}
.ymn-page .faq-section .faq-block:hover { color: var(--accent) !important; }
.ymn-page .faq-section .faq-answer { padding: 0 0 8px !important; background: none !important; border: none !important; overflow: hidden !important; }
.ymn-page .faq-section .faq-question {
  font-family: var(--ff-h) !important; font-weight: 600 !important; font-size: 15px !important;
  color: var(--ink2) !important; padding: 10px 0 3px !important; background: none !important; border: none !important;
}
.ymn-page .faq-section .answer-block {
  padding: 4px 0 12px !important; font-size: 15px !important; line-height: 1.7 !important;
  background: none !important; border: none !important;
}

/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */
@media (max-width: 1024px) {
  .ymn-steps { grid-template-columns: repeat(2,1fr); }
  .ymn-page .amo-new-etaps { grid-template-columns: repeat(2,1fr) !important; }
}
@media (max-width: 768px) {
  .ymn-sec { padding: 48px 0; }
  .ymn-hero { padding: 32px 0 40px; }
  /* Hero → single column */
  .ymn-hero__grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  .ymn-hero__body > .wpcf7:first-of-type {
    grid-column: 1 !important; grid-row: auto !important; position: static !important;
  }
  .ymn-hero__body > .wpcf7 ~ .wpcf7 { grid-column: 1 !important; }
  .ymn-hero__grid table.iksweb { grid-template-columns: 1fr 1fr !important; }
  .ymn-page .d-tbl-row { grid-template-columns: 1fr !important; }
  .ymn-steps { grid-template-columns: 1fr; }
  .ymn-page .amo-new-etaps { grid-template-columns: 1fr !important; }
  .ymn-mistakes, .ymn-check, .ymn-reviews { grid-template-columns: 1fr; }
  .ymn-tabs__nav { padding: 14px 18px 0; }
  .ymn-tabs__content { padding: 18px; }
  .ymn-card { padding: 24px; }
}
@media (max-width: 480px) {
  .ymn-hero__grid table.iksweb { grid-template-columns: 1fr !important; }
  .ymn-hero__grid h1 { font-size: 24px !important; }
  .ymn-page { font-size: 16px; }
}