/* MarketPulse additions to the RUHE template. Keeps the template look; only adds what the new content needs. */

/* BDO Grotesk has no Cyrillic, so Russian headings use Onest (a grotesk with Cyrillic). Uzbek and English keep BDO Grotesk. */
@import url("https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700&display=swap");
html[lang="ru"] { --rr-ff-heading: 'Onest', 'BDO Grotesk', sans-serif; }

/* ---------- language switch (header + mobile menu) ---------- */
.mp-lang { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid rgba(34, 34, 34, .18); border-radius: 999px; margin-right: 12px; }
.mp-lang button { border: 0; background: transparent; color: inherit; font-family: var(--rr-ff-body); font-size: 13px; font-weight: 600; letter-spacing: .04em; line-height: 1; padding: 8px 10px; border-radius: 999px; cursor: pointer; opacity: .6; transition: opacity .2s, background .2s; }
.mp-lang button:hover { opacity: 1; }
.mp-lang button[aria-pressed="true"] { background: var(--rr-theme-primary); color: #fff; opacity: 1; }
.mp-lang button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.breadcrumb-header .mp-lang, .header-1 .mp-lang { color: inherit; }
.mp-lang--off { margin: 24px 0 0; border-color: rgba(34, 34, 34, .2); }
@media (max-width: 575px) { .mp-lang { margin-right: 8px; } .mp-lang button { padding: 7px 8px; font-size: 12px; } }

/* ---------- offcanvas contacts ---------- */
.mp-off-contacts { display: grid; gap: 6px; margin-top: 20px; font-weight: 600; }
.mp-off-contacts a { color: var(--rr-theme-primary); }

/* ---------- client names in place of logo images ---------- */
.mp-client { font-family: 'BDO Grotesk', 'Onest', sans-serif; font-size: 26px; font-weight: 700; letter-spacing: .04em; color: #6f6f6f; white-space: nowrap; transition: color .2s; }
.mp-client.mp-c2 { letter-spacing: .1em; }
.mp-client.mp-c3 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: .08em; font-size: 24px; }
.mp-client.mp-c4 { font-style: italic; font-weight: 800; font-size: 30px; letter-spacing: 0; }
.brand-2__wrapper .item:hover .mp-client { color: #fff; }

/* ---------- "why us" slides: logo mark instead of a photo ---------- */
.testimonial-2__author img.mp-why-mark { object-fit: contain; border-radius: 0; background: transparent; }

/* ---------- footer legal line ---------- */
.mp-foot-legal { color: rgba(255, 255, 255, .7); font-size: 14px; margin-right: auto; }
.mp-foot-legal a { color: inherit; }
.footer__bottom .footer__copyright { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; width: 100%; }

/* ---------- SMM packages (formats & pricing page) ---------- */
.mp-pricing { margin-top: 70px; }
.mp-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 30px; }
.mp-plan { border: 1px solid rgba(34, 34, 34, .12); border-radius: 20px; padding: 26px 22px; display: grid; grid-template-rows: auto auto 1fr auto; gap: 18px; background: #fff; }
.mp-plan.is-hl { border-color: var(--rr-theme-primary); box-shadow: 0 24px 50px -30px rgba(0, 0, 0, .35); }
.mp-plan__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.mp-plan__name { background: var(--rr-theme-primary-2); color: var(--rr-theme-primary); font-weight: 700; border-radius: 8px; padding: 4px 12px; font-size: 15px; }
.mp-plan__pop { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; opacity: .7; }
.mp-plan__price { font-family: var(--rr-ff-heading); font-size: 30px; font-weight: 600; line-height: 1.1; color: var(--rr-theme-primary); font-variant-numeric: tabular-nums; }
.mp-plan__price small { display: block; font-family: var(--rr-ff-body); font-size: 14px; font-weight: 500; opacity: .6; margin-top: 6px; }
.mp-plan ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mp-plan li { display: grid; grid-template-columns: 18px 1fr; gap: 10px; font-size: 15px; line-height: 1.4; }
.mp-plan li::before { content: "\2713"; font-weight: 700; color: #1f9d55; }
.mp-plan li.is-off { opacity: .45; }
.mp-plan li.is-off::before { content: "\2014"; color: inherit; }
.mp-plan li b { font-weight: 700; }
.mp-plan__btn { display: block; text-align: center; border: 1px solid var(--rr-theme-primary); border-radius: 999px; padding: 12px 16px; font-weight: 600; color: var(--rr-theme-primary); transition: background .2s, color .2s; }
.mp-plan__btn:hover, .mp-plan.is-hl .mp-plan__btn { background: var(--rr-theme-primary); color: #fff; }
@media (max-width: 991px) { .mp-plans { grid-template-columns: 1fr; } }

/* ---------- formats & pricing: sidebar links, format tags ---------- */
.services-details__sidebar__list li a { color: inherit; }
.mp-format-tag { display: block; font-weight: 600; margin-bottom: 6px; opacity: .75; }
[id^="format-"], #smm, #faq { scroll-margin-top: 120px; }

/* ---------- contact: Telegram/subscribe link button ---------- */
.mp-linkbtn { display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
.contact-form__map__wrap iframe { width: 100%; }

/* The template capitalizes every word (English title case). Russian and Uzbek use sentence case. */
html:not([lang="en"]) .ruhe-btn-primary,
html:not([lang="en"]) .ruhe-white-btn-primary,
html:not([lang="en"]) .ruhe-yellow-btn-primary,
html:not([lang="en"]) .services-details-breadcrumb__btn .rr-btn-2,
html:not([lang="en"]) .header-2 .header__main .main-menu-2 ul > li > a,
html:not([lang="en"]) .main-menu ul li > a,
html:not([lang="en"]) .main-menu ul li .submenu li a,
html:not([lang="en"]) .main-menu-2.main-menu-2 ul li > a,
html:not([lang="en"]) .mean-container .mean-nav ul li a,
html:not([lang="en"]) .mean-container .mean-nav ul li span,
html:not([lang="en"]) .contact-breadcrumb__bg__text span,
html:not([lang="en"]) .team-inner__position,
html:not([lang="en"]) .services-details__sidebar__list li,
html:not([lang="en"]) .testimonial__dec,
html:not([lang="en"]) .career-about__caption { text-transform: none; }

/* ---------- footer wordmark: the template sized it for 4 letters ("RUHE"); "MarketPulse" has 11, so keep it on one line ---------- */
.footer__main-title { font-size: min(11.2vw, 168px); line-height: 1.1; white-space: nowrap; padding-block: 10px 30px; }

/* ---------- language switch on dark headers (about, contact, formats): the template's white-on-dark header ---------- */
.header-1:not(.breadcrumb-header) .mp-lang { color: #fff; border-color: rgba(255, 255, 255, .28); }
.header-1:not(.breadcrumb-header) .mp-lang button { opacity: .75; }
.header-1:not(.breadcrumb-header) .mp-lang button[aria-pressed="true"] { background: #fff; color: #1b1b1b; opacity: 1; }

/* ---------- v5 fixes (overlaps found by the audit) ---------- */
/* footer contacts: a wrapping row, no dot separators, addresses keep their real case */
.mp-foot-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
.mp-foot-legal a, .footer__copyright .mp-foot-legal a { text-transform: none !important; letter-spacing: 0; border: 0; padding: 0; margin: 0; }
.mp-foot-legal__name { flex-basis: 100%; }
@media (max-width: 767px) {
  .mp-foot-legal { flex-direction: column; align-items: flex-start; gap: 6px; }
  .footer__menu ul { row-gap: 10px; }
  .footer__main { margin-top: 28px; }
}
/* roles list: name and count never collide, long Russian names wrap inside their column */
.award__item { flex-wrap: nowrap; gap: 16px; }
.award__item-one { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: center; flex: 1 1 auto; min-width: 0; }
.award__item-one .awards { margin-left: 0 !important; padding-left: 0 !important; }
.award__item .number { flex: none; margin: 0; transform: none !important; padding-right: 30px; min-width: 3.2em; text-align: right; }
@media (max-width: 767px) { .award__item .number { padding-right: 0; } }
@media (max-width: 767px) {
  .award__item-one { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .award__item-one .date { padding-left: 0; font-size: 13px; }
}
/* "10+" under the directions title on narrow screens */
@media (max-width: 991px) { .section__title-wrapper-2__number { margin-top: 24px; } }
/* hero: the logo arrow in place of the template's emoji */
.banner-section-2__title span img[src$="arrow.svg"] { width: .58em !important; height: .58em; vertical-align: -0.04em; margin-left: .08em; }
/* "33 / сотрудника в штате": the template set a short English label beside the number; the longer label goes under it */
.h2-about-us__Years-Experience-top { display: flex; flex-direction: column; align-items: flex-start; }
.h2-about-us__Years-Experience .h2-about-sub-title { padding-top: 0 !important; margin-top: 4px; white-space: nowrap; position: relative; z-index: 2; }
/* SMM packages: columns only as many as fit (the sidebar leaves little room below 1200px) */
.mp-plans { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.mp-plan__price { overflow-wrap: anywhere; }
/* "why us" slider: keep the text between the prev/next arrows; drop the template's quote badge (these are our points, not client quotes) */
.testimonial-2__dec { max-width: min(820px, 76%); margin-left: auto; margin-right: auto; }
.testimonial-2__dec br { display: none; }
@media (max-width: 991px) { .testimonial-2__dec { max-width: 100%; } }
.testimonial-2__author img.mp-why-mark + span { display: none; }
/* contact page on phones: the vertical outline word touches the title */
@media (max-width: 575px) { .contact-breadcrumb__bg__text { display: none; } }
/* home footer contacts: the template's row held 3 short links; ours are a phone, a handle and an email */
.footer-2__copyright-menu { flex-wrap: wrap; row-gap: 8px; padding-left: 0; }
.footer-2__copyright-menu li { white-space: nowrap; }
@media (max-width: 767px) {
  .footer-2__copyright { flex-direction: column; align-items: flex-start; gap: 12px; }
  .footer-2__copyright-menu { flex-direction: column; align-items: flex-start; }
  .footer-2__copyright-menu li { margin-right: 0; padding-right: 0; }
  .footer-2__copyright-menu li::before { display: none; }
}

/* ---------- v6 (owner's review) ---------- */
/* hero: no outline pill around the last word */
.banner-section-2__title span { border: 0 !important; padding: 0 !important; border-radius: 0; }
/* clients: real logos, one row */
.brand-2__wrapper .item img.mp-logo { width: auto; max-width: 72%; max-height: 64px; object-fit: contain; }
@media (max-width: 991px) { .brand-2__wrapper .item img.mp-logo { max-height: 44px; } }
/* home footer: two contact buttons with the number and address written out */
.footer-2__social.mp-contacts a { width: auto; min-width: min(100%, 420px); height: auto; padding: 44px 40px; gap: 22px; font-size: 34px; flex-direction: column; text-decoration: none; transition: background .2s, color .2s; }
.footer-2__social.mp-contacts a span { font-family: var(--rr-ff-body); font-size: 22px; font-weight: 500; letter-spacing: 0; overflow-wrap: anywhere; }
.footer-2__social.mp-contacts a:hover { background: #fff; color: #1b1b1b; }
@media (max-width: 767px) { .footer-2__social.mp-contacts { flex-direction: column; align-items: stretch; gap: 14px; }
  .footer-2__social.mp-contacts a { min-width: 0; padding: 28px 20px; font-size: 26px; } .footer-2__social.mp-contacts a span { font-size: 18px; } }
