/* Merchant Connect Corporate 1.2.5 - responsive corrections.
   Loaded last. Every rule sits inside a max-width query so the desktop layout is untouched.
   Presentation only: no saved content, links or forms are hidden or rewritten. */

/* ---------- Tablet and below: header / navigation ---------- */
@media (max-width: 860px) {
  html { scroll-padding-top: 24px; }
  body { overflow-x: clip; }

  /* style.css intended to hide the header CTA here, but a.mc-button out-specified it */
  .mc-header a.mc-header__cta { display: none; }

  .mc-header { position: sticky; top: 0; }
  .admin-bar .mc-header { top: 46px; }
  .mc-header__inner { min-height: 66px; gap: 12px; }
  .mc-brand { min-width: 0; flex: 1 1 auto; }
  .mc-header__right { flex: 0 0 auto; }

  .mc-nav-toggle { width: 46px; height: 46px; border-color: #c9d8d5; background: var(--mc-white); }
  .mc-nav-toggle[aria-expanded="true"] { color: var(--mc-white); border-color: var(--mc-ink); background: var(--mc-ink); }

  .mc-nav {
    max-height: calc(100dvh - 66px);
    padding: 6px 0 24px;
    overscroll-behavior: contain;
    border-top: 1px solid var(--mc-line);
  }
  .mc-nav > ul { width: calc(100% - 36px); }
  .mc-nav > ul > li:last-child { border-bottom: 0; }
  .mc-nav a { min-height: 50px; padding-block: 6px; color: var(--mc-ink); font-size: 16px; }
  .mc-nav .current-menu-item > a, .mc-nav .current_page_item > a { color: var(--mc-blue); }
  .mc-nav .current-menu-item > a::before, .mc-nav .current_page_item > a::before {
    content: ""; position: absolute; left: -18px; top: 14px; bottom: 14px; width: 3px; background: var(--mc-gold);
  }
  .mc-nav .sub-menu { margin: 0 0 10px; padding: 4px 0 4px 14px; border-left: 2px solid var(--mc-line); }
  .mc-nav .sub-menu li { border-bottom: 0; }
  .mc-nav .sub-menu a { min-height: 44px; padding: 6px 10px; color: var(--mc-ink-soft); font-size: 15px; font-weight: 600; }
  .mc-nav a:focus-visible { outline-offset: -3px; }

  /* Topbar: GTranslate injects a floating switcher; keep it inline and compact */
  .mc-topbar__inner { flex-wrap: wrap; justify-content: center; gap: 4px 14px; padding-block: 7px; }
  .mc-topbar__contacts { justify-content: center; }
  .mc-topbar__translate { position: relative; }
  .mc-topbar__translate #gt_float_wrapper,
  .mc-topbar__translate .gt_float_switcher { position: static !important; box-shadow: none !important; }
  .mc-topbar__translate .gt_float_switcher {
    font-size: 12px !important; border-radius: 4px !important; background: rgba(255, 255, 255, .08) !important; color: #e8edf5 !important;
  }
  .mc-topbar__translate .gt_float_switcher .gt-selected { background: transparent !important; }
  .mc-topbar__translate .gt_float_switcher .gt-selected .gt-current-lang { padding: 3px 8px !important; color: #e8edf5 !important; font-size: 12px !important; }
  /* The language code remains visible; omit the redundant flag on small screens. */
  .mc-topbar__translate .gt_float_switcher .gt-selected .gt-current-lang img { display: none !important; }
  .mc-topbar__translate .gt_float_switcher img { width: 18px !important; height: auto !important; }
  .mc-topbar__translate .gt_float_switcher .gt_options {
    position: absolute !important; z-index: 80; right: 0; top: 100%; max-height: 260px !important; width: 190px;
    background: var(--mc-white) !important; box-shadow: 0 16px 34px rgba(9, 32, 45, .2) !important;
  }
  .mc-topbar__translate .gt_float_switcher .gt_options a { color: var(--mc-ink) !important; }

  /* Footer */
  .mc-footer__main { gap: 34px 26px; }
}

/* ---------- Phones ---------- */
@media (max-width: 600px) {
  .mc-container { width: calc(100% - 32px); }
  .mc-nav > ul { width: calc(100% - 32px); }

  /* Topbar: the two contact items only; secondary links stay on one line */
  .mc-topbar { font-size: 11.5px; }
  .mc-topbar__inner { min-height: 0; padding-block: 6px; }
  .mc-topbar__contacts { gap: 2px 12px; }
  .mc-topbar__contacts:first-child { width: 100%; }
  .mc-topbar__contacts > span { font-size: 11.5px; white-space: nowrap; }

  .mc-header__inner { min-height: 62px; }
  .mc-nav { max-height: calc(100dvh - 62px); }
  .mc-brand__fallback { font-size: 15px; letter-spacing: .03em; }
  .custom-logo { max-width: 150px; max-height: 44px; }
  .mc-nav-toggle { width: 44px; height: 44px; }

  /* Long words never push the viewport sideways */
  h1, h2, h3, h4, .elementor-heading-title, .mc-page-title, .mc-entry-title { overflow-wrap: break-word; hyphens: manual; }

  /* Generic heading ceiling for saved Elementor headings (inline kit sizes reach 60px+) */
  .elementor h1.elementor-heading-title { font-size: clamp(30px, 8.6vw, 38px) !important; line-height: 1.1 !important; }
  .elementor h2.elementor-heading-title { font-size: clamp(26px, 7.4vw, 32px) !important; line-height: 1.15 !important; }
  .elementor h3.elementor-heading-title { font-size: clamp(19px, 5.4vw, 22px) !important; }

  /* Buttons: readable, full-width where they stand alone */
  .mc-button, a.mc-button, .elementor-button { max-width: 100%; white-space: normal; }

  /* Footer: single column, comfortable tap targets */
  .mc-footer__main { grid-template-columns: 1fr; gap: 28px; padding-block: 44px 30px; }
  .mc-footer__menu li + li { margin-top: 0; }
  .mc-footer__menu a { display: inline-flex; min-height: 40px; align-items: center; }
  .mc-footer__contact { overflow-wrap: anywhere; }
  .mc-footer__legal { gap: 4px 16px; }
  .mc-footer__legal a { display: inline-flex; min-height: 36px; align-items: center; }

  /* Archive / article */
  .mc-entry__content, .mc-page-content--plain { font-size: 16px; line-height: 1.75; }
  .mc-entry__content :is(table) { display: block; overflow-x: auto; }
  .mc-entry__content :is(pre, iframe, video, embed) { max-width: 100%; }
  .mc-post-card__title { font-size: 20px; }
  .mc-pagination .nav-links { gap: 6px; }
  .mc-pagination a, .mc-pagination span { min-width: 40px; padding-inline: 10px; }
}

/* ---------- Homepage (scoped Elementor redesign) ---------- */
@media (max-width: 767px) {
  .mc-front-content .e-con.e-parent { --padding-top: 56px; --padding-bottom: 56px; padding-inline: 16px; }
  .mc-front-content .e-con.e-parent:has(> .e-con-inner) { padding-inline: 16px; }
  .mc-front-content .e-con > .e-con-inner { gap: 28px; }
  .mc-front-content .elementor-element-container_psujndaa5 { --padding-top: 52px; --padding-bottom: 48px; }
  .mc-front-content .elementor-element-widget_dnkjjndwo .elementor-heading-title { font-size: clamp(34px, 10vw, 42px) !important; }
  .mc-front-content .elementor-element-widget_m1bod0cju { font-size: 16.5px !important; }
  .mc-front-content h2.elementor-heading-title { font-size: clamp(26px, 7.4vw, 32px) !important; }
  .mc-front-content h1.elementor-heading-title { font-size: clamp(28px, 8.4vw, 36px) !important; }
  .mc-front-content .elementor-element-widget_bpk6knvco .elementor-heading-title { font-size: 11px !important; letter-spacing: .12em !important; }
  .mc-front-content .elementor-widget-image img { max-height: 300px; aspect-ratio: 3 / 2; }
  .mc-front-content :is(.elementor-element-container_76znw19o5, .elementor-element-container_hg325siwo, .elementor-element-container_1jss9kld8, .elementor-element-container_bxx5n4fie) { min-height: 0; }
  .mc-front-content .e-grid > .e-con.e-child,
  .mc-front-content .elementor-widget-icon-box > .elementor-widget-container { padding: 22px !important; }
  .mc-front-content .elementor-widget-counter { padding: 20px; }
  .mc-front-content .elementor-element-container_8lhrvwcai { padding: 24px 18px; }
  .mc-front-content .elementor-widget-n-accordion summary,
  .mc-front-content .e-n-accordion-item-title { padding: 16px 16px !important; }
  .mc-front-content .e-n-accordion-item-title-text { font-size: 16px; line-height: 1.35; }
  .mc-front-content .elementor-widget-n-accordion details > .e-con { padding: 0 16px 16px; }
  /* Stand-alone CTAs become full width so labels never squeeze */
  .mc-front-content :is(.elementor-element-container_9u9mfhp14, .elementor-element-container_48ewb1rx2, .elementor-element-container_qe33cjzhw, .elementor-element-container_bhwrlk7g4) { flex-direction: column; align-items: stretch; }
  .mc-front-content :is(.elementor-element-container_9u9mfhp14, .elementor-element-container_48ewb1rx2, .elementor-element-container_qe33cjzhw, .elementor-element-container_bhwrlk7g4) .elementor-widget { width: 100%; }
  .mc-front-content :is(.elementor-element-container_9u9mfhp14, .elementor-element-container_48ewb1rx2, .elementor-element-container_qe33cjzhw, .elementor-element-container_bhwrlk7g4) .elementor-button { width: 100%; }
  .mc-front-content .elementor-button { padding: 14px 20px !important; }
}

/* ---------- Inner pages (page.php / single.php builder content) ---------- */
@media (max-width: 767px) {
  :is(.mc-page-shell, .mc-entry) { --ip-section: 52px; --ip-gap: 18px; }
  .mc-page-shell > .mc-page-header { padding: 36px 0 30px; }
  .mc-page-shell > .mc-page-header::before { width: 70%; opacity: .6; }
  .mc-page-shell > .mc-page-header .mc-page-title { font-size: clamp(30px, 9vw, 40px); line-height: 1.08; }
  .mc-breadcrumb { margin-bottom: 12px; font-size: 11px; letter-spacing: .12em; }
  :is(.mc-page-shell, .mc-entry) :is(.container, .container-fluid) { padding-inline: 16px; }
  :is(.mc-page-shell, .mc-entry) :is(.section-title, .section-title-wrap) :is(h1, h2, h3) { font-size: clamp(25px, 7vw, 30px) !important; }
  :is(.mc-page-shell, .mc-entry) :is(.create-account-content, .about-content, .services-details-content, .download-app-content, .awesome-features-content,
    .money-transfer-content, .choose-us-content, .overview-content) > :is(h2, h3) { font-size: clamp(25px, 7vw, 30px) !important; }
  :is(.mc-page-shell, .mc-entry) :is(.section-title, .section-title-wrap) p,
  :is(.mc-page-shell, .mc-entry) :is(.create-account-content, .services-details-content, .download-app-content, .choose-us-content) p,
  :is(.mc-page-shell, .mc-entry) .overview-area :is(p, li) { font-size: 16px; }
  :is(.mc-page-shell, .mc-entry) .mc-page-content--builder :is(h1, h2) { overflow-wrap: break-word; }

  /* Statement band: two columns -> stacked; marquee word scaled to the viewport */
  :is(.mc-page-shell, .mc-entry) .proposal-area .section-title-wrap { grid-template-columns: 1fr; }
  :is(.mc-page-shell, .mc-entry) .proposal-area .section-title-wrap > :is(h2, h3, p) { grid-column: 1; }
  :is(.mc-page-shell, .mc-entry) .proposal-content h1 { font-size: clamp(38px, 13vw, 64px) !important; }

  /* Card grids stack */
  :is(.mc-page-shell, .mc-entry) .choose-us-area > .container > .row { grid-template-columns: 1fr; }
  :is(.mc-page-shell, .mc-entry) .choose-us-card { padding: 22px; }
  :is(.mc-page-shell, .mc-entry) .choose-us-card .icon { width: 46px; height: 46px; margin-bottom: 16px; }
  :is(.mc-page-shell, .mc-entry) .testimonial-slides { grid-template-columns: 1fr; }
  :is(.mc-page-shell, .mc-entry) .testimonial-card { padding: 22px; }

  /* About profile rows */
  :is(.mc-page-shell, .mc-entry) .about-slides-item { padding: 20px; }
  :is(.mc-page-shell, .mc-entry) .about-slides-item > .row { grid-template-columns: 1fr; gap: 22px; }
  :is(.mc-page-shell, .mc-entry) .about-image-left img { max-height: 340px; aspect-ratio: 4 / 4.2; }
  :is(.mc-page-shell, .mc-entry) .about-content p { font-size: 16px; }

  /* Blog list on About */
  :is(.mc-page-shell, .mc-entry) .blog-small-card { grid-template-columns: 112px minmax(0, 1fr); }
  :is(.mc-page-shell, .mc-entry) .blog-small-card .small-image img { min-height: 112px; }
  :is(.mc-page-shell, .mc-entry) .blog-small-card .small-content { padding: 12px 14px; }
  :is(.mc-page-shell, .mc-entry) .blog-small-card h3 { font-size: 15.5px !important; }

  /* Contact: info cards stack, hairline between rows instead of columns */
  :is(.mc-page-shell, .mc-entry) .contact-information-area .row { grid-template-columns: 1fr; }
  :is(.mc-page-shell, .mc-entry) .contact-information-area .row > [class*="col-"] + [class*="col-"] { border-left: 0; border-top: 1px solid var(--ip-line); }
  :is(.mc-page-shell, .mc-entry) .contact-information-card { padding: 18px; }
  :is(.mc-page-shell, .mc-entry) .contact-information-card .content { flex-direction: row; align-items: center !important; gap: 14px; }
  :is(.mc-page-shell, .mc-entry) .contact-information-card .icon img { width: 40px; height: 40px; }

  /* Images are never stretched: keep intrinsic ratio inside narrow columns */
  :is(.mc-page-shell, .mc-entry) :is(.create-account-image, .services-details-image) img { aspect-ratio: 4 / 3; max-height: 320px; }
  :is(.mc-page-shell, .mc-entry) .download-app-image img { max-height: 360px; margin-inline: auto; width: auto; max-width: 100%; }
  :is(.mc-page-shell, .mc-entry) .overview-image img { width: min(100%, 300px); }

  /* Buttons */
  :is(.mc-page-shell, .mc-entry) :is(.about-btn, .overview-btn, .btn-box, .create-account-btn) { flex-direction: column; align-items: stretch; }
  :is(.mc-page-shell, .mc-entry) :is(.about-btn, .overview-btn, .btn-box, .create-account-btn) > a { justify-content: center; }
  :is(.mc-page-shell, .mc-entry) ul.nav.nav-tabs { gap: 0 20px; }

  /* Forms: full width controls, 16px text avoids iOS zoom */
  .mc-page-shell .wpforms-container { margin-top: 20px !important; padding: 20px 16px; border-radius: 12px; }
  :is(.mc-page-shell, .mc-entry) :is(input[type=text], input[type=email], input[type=tel], input[type=url], input[type=number], select, textarea) { width: 100% !important; max-width: 100% !important; font-size: 16px !important; }
  :is(.mc-page-shell, .mc-entry) .wpforms-container :is(.wpforms-field, .wpforms-one-half, .wpforms-one-third, .wpforms-two-thirds) { width: 100% !important; margin-left: 0 !important; float: none !important; padding-right: 0 !important; }
  :is(.mc-page-shell, .mc-entry) .wpforms-container .wpforms-submit { width: 100%; }
  :is(.mc-page-shell, .mc-entry) .wpcf7 :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]), select, textarea) { width: 100%; }
  :is(.mc-page-shell, .mc-entry) .wpcf7 input[type=submit] { width: 100%; min-height: 48px; }

  /* Elementor sections inside pages: columns stack cleanly */
  :is(.mc-page-shell, .mc-entry) .elementor-section .elementor-container { flex-wrap: wrap; }
  :is(.mc-page-shell, .mc-entry) .elementor-section .elementor-column { width: 100% !important; }
}

/* ---------- Narrowest phones ---------- */
@media (max-width: 360px) {
  .mc-container, .mc-nav > ul { width: calc(100% - 24px); }
  .mc-topbar__contacts > span { font-size: 11px; }
  .mc-topbar__contacts:first-child { flex-direction: column; gap: 0; }
  .mc-brand__fallback { font-size: 14px; }
  .mc-front-content .e-con.e-parent, .mc-front-content .e-con.e-parent:has(> .e-con-inner) { padding-inline: 12px; }
  :is(.mc-page-shell, .mc-entry) :is(.container, .container-fluid) { padding-inline: 12px; }
}

/* Homepage card grids: Elementor's frontend CSS (loaded after the theme) re-applies the
   desktop column count through --e-con-grid-template-columns, so the stack must be forced. */
@media (max-width: 1024px) {
  .mc-front-content :is(.elementor-element-container_fi35quqiu, .elementor-element-container_5y3yn9c04, .elementor-element-container_8mp3rowpd, .elementor-element-container_zkjs5u5mp, .elementor-element-container_cjd88twh3) {
    --e-con-grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767px) {
  .mc-front-content :is(.elementor-element-container_fi35quqiu, .elementor-element-container_5y3yn9c04, .elementor-element-container_8mp3rowpd, .elementor-element-container_zkjs5u5mp, .elementor-element-container_cjd88twh3, .elementor-element-container_zgg17wl2y),
  .mc-front-content :is(.elementor-element-container_4tr2ob07a, .elementor-element-container_lj26dwn74),
  .mc-front-content :is(.elementor-element-container_z6xp04jb8, .elementor-element-container_8acjgmtsa) > .e-con-inner,
  .mc-front-content .e-grid, .mc-front-content .e-grid > .e-con-inner {
    --e-con-grid-template-columns: 1fr; grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media (max-width: 360px) {
  :is(.mc-page-shell, .mc-entry) .contact-information-card :is(p, span) { font-size: 14.5px; }
}
