:root {
  --mtcash-red: #d70e16;
  --mtcash-red-dark: var(--mtcash-red);
  --mtcash-red-soft: #fff1f2;
  /* Déclinaisons sombres : reprennent la structure des fonds dégradés
     de l'original (bleu nuit) transposée sur le rouge de la charte. */
  --mtcash-red-deep: #a5101a;
  --mtcash-red-deeper: #7d0c14;
  --mtcash-red-darkest: #4c0d13;
  /* Teinte claire pour le texte posé sur les fonds rouges sombres. */
  --mtcash-red-on-dark: #ffb3b8;
  --mtcash-orange: var(--mtcash-red);
  --mtcash-orange-2: var(--mtcash-red);
  --mtcash-blue: var(--mtcash-red);
  --mtcash-kicker-blue: var(--mtcash-red);
  --mtcash-navy: #252525;
  --mtcash-deep-blue: #1f1f1f;
  --mtcash-text: #323232;
  --mtcash-muted: #777777;
}

.mtcash-skip-link {
  position: absolute;
  top: -48px;
  left: 16px;
  z-index: 9999;
  padding: 10px 14px;
  border-radius: 6px;
  background: var(--mtcash-blue);
  color: #fff;
  transition: top 0.2s ease;
}

.mtcash-skip-link:focus {
  top: 16px;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.mtcash-header {
  min-height: 80px;
}

.mtcash-logo-link img,
.custom-logo-link img,
.mtcash-site-logo {
  height: 2.5rem;
  min-width: 113px;
  width: auto;
}

.mtcash-menu {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mtcash-menu a,
.mtcash-menu button {
  color: #374151;
  font-size: 1rem;
  text-decoration: none;
  transition: color 0.3s ease, background-color 0.3s ease;
}

.mtcash-menu a:hover,
.mtcash-menu a:focus,
.mtcash-menu .current-menu-item > a,
.mtcash-menu .current_page_item > a {
  color: var(--mtcash-orange);
}

.mtcash-menu .sub-menu {
  position: absolute;
  min-width: 220px;
  margin-top: 10px;
  padding: 10px 0;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.mtcash-menu li {
  position: relative;
}

.mtcash-menu li:hover > .sub-menu,
.mtcash-menu li:focus-within > .sub-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.mtcash-menu .sub-menu a {
  display: block;
  padding: 9px 14px;
}

.mtcash-login-button {
  border-color: #d1d5db;
}

.mtcash-open-button {
  width: 185px;
  height: 49px;
  border-radius: 6px;
  background-color: var(--mtcash-orange);
  color: #fff;
  box-shadow: 0 0 0 rgba(215, 14, 22, 0);
}

.mtcash-menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  color: #111827;
}

@media (min-width: 768px) {
  .mtcash-menu-toggle {
    display: none;
  }
}

.mtcash-menu-toggle .mtcash-close-icon {
  display: none;
}

.mtcash-menu-toggle[aria-expanded="true"] .mtcash-menu-icon {
  display: none;
}

.mtcash-menu-toggle[aria-expanded="true"] .mtcash-close-icon {
  display: block;
}

.mtcash-mobile-panel {
  position: fixed;
  top: 80px;
  left: 0;
  right: 0;
  z-index: 49;
  padding: 18px 16px 24px;
  border-top: 1px solid #e5e7eb;
  background: #fff;
  box-shadow: 0 18px 40px rgba(17, 24, 39, 0.12);
}

.mtcash-mobile-panel[hidden] {
  display: none;
}

.mtcash-mobile-nav {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.mtcash-menu-mobile {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.mtcash-menu-mobile li a {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid #f3f4f6;
}

.mtcash-menu-mobile .sub-menu {
  position: static;
  margin: 0;
  padding-left: 16px;
  border: 0;
  box-shadow: none;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.mtcash-mobile-action {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 6px;
  text-decoration: none;
}

.mtcash-mobile-login {
  border: 1px solid #d1d5db;
  color: #374151;
}

.mtcash-mobile-open {
  background: var(--mtcash-orange);
  color: #fff;
}

/* Reprise de `hero-background.png` : base blanche + halos diffus.
   L'original mêle pêche, lavande et cyan ; la charte rouge les unifie. */
.mtcash-hero-bg {
  background:
    radial-gradient(58% 46% at 72% 34%, rgba(215, 14, 22, 0.10) 0%, rgba(215, 14, 22, 0) 100%),
    radial-gradient(38% 44% at 20% 86%, rgba(215, 14, 22, 0.09) 0%, rgba(215, 14, 22, 0) 100%),
    radial-gradient(30% 32% at 43% 46%, rgba(215, 14, 22, 0.06) 0%, rgba(215, 14, 22, 0) 100%),
    radial-gradient(45% 30% at 50% 100%, rgba(215, 14, 22, 0.07) 0%, rgba(215, 14, 22, 0) 100%),
    #fffdfd;
}

.mtcash-tab-active {
  border-color: var(--mtcash-orange);
}

.mtcash-hero-tab {
  border: 2px solid transparent;
}

.mtcash-hero-tab .mtcash-tab-dot {
  display: none;
  background-color: var(--mtcash-orange);
}

.mtcash-hero-tab.is-active {
  border-color: var(--mtcash-orange);
}

.mtcash-hero-tab.is-active .mtcash-tab-dot {
  display: inline-block;
}

.mtcash-primary-button,
.mtcash-secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 241px;
  height: 60px;
  border-radius: 6px;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.mtcash-primary-button {
  width: 243px;
  background-color: var(--mtcash-orange);
  box-shadow: 0 18px 45px rgba(215, 14, 22, 0.28);
}

.mtcash-secondary-button {
  background-color: var(--mtcash-red-dark);
  box-shadow: 0 18px 45px rgba(215, 14, 22, 0.28);
}

.mtcash-primary-button:hover,
.mtcash-secondary-button:hover,
.mtcash-open-button:hover,
.mtcash-social-link:hover {
  transform: translateY(-1px) scale(1.02);
}

.mtcash-floating-qr {
  right: 20px;
  bottom: 20px;
  z-index: 276;
}

.mtcash-blue-kicker {
  font-family: "Oxygen", sans-serif;
  color: var(--mtcash-kicker-blue);
}

.mtcash-center-kicker {
  text-align: center;
}

.mtcash-orange-text {
  color: var(--mtcash-orange-2);
}

.mtcash-pay-button {
  width: 100%;
  max-width: 340px;
  height: 80px;
  padding: 6px 10px;
  gap: 6px;
  border-radius: 6px;
  background-color: var(--mtcash-blue);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.mtcash-pay-button img {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
}

.mtcash-payment-image {
  max-width: 513px;
  max-height: 768px;
}

/* Reprise de `security-background.png` : dégradé radial centre clair
   vers bords sombres, transposé du bleu nuit vers le rouge profond. */
.mtcash-security-section {
  background: radial-gradient(
    ellipse 62% 78% at 50% 50%,
    var(--mtcash-red-deep) 0%,
    var(--mtcash-red-deeper) 42%,
    var(--mtcash-red-darkest) 100%
  );
}

/* Le surtitre reprend le rouge de la charte partout ailleurs ; sur ce
   fond rouge sombre il serait illisible, d'où la teinte claire. */
.mtcash-security-section .mtcash-orange-text {
  color: var(--mtcash-red-on-dark);
}

/* Reprise de `transfer-background.png` : halos diffus sur base très claire. */
.mtcash-transfer-section {
  background:
    radial-gradient(40% 46% at 14% 26%, rgba(215, 14, 22, 0.07) 0%, rgba(215, 14, 22, 0) 100%),
    radial-gradient(46% 52% at 74% 62%, rgba(215, 14, 22, 0.09) 0%, rgba(215, 14, 22, 0) 100%),
    linear-gradient(180deg, #fffafa 0%, #fdf1f2 100%);
}

.mtcash-transfer-title {
  font-family: "Barlow Condensed", sans-serif;
  color: var(--mtcash-navy);
  line-height: 1.288;
  text-align: left;
}

.mtcash-transfer-step h3 {
  font-size: 20px;
  font-family: "Barlow Condensed", sans-serif;
  color: var(--mtcash-deep-blue);
  line-height: 2.917;
  text-align: left;
}

.mtcash-transfer-step p {
  max-width: 334px;
  font-size: 14px;
  font-family: "Oxygen", sans-serif;
  color: var(--mtcash-muted);
  line-height: 1.875;
  text-align: left;
}

.mtcash-shape-orange {
  left: 5%;
  top: 10%;
  width: 107px;
  height: 87px;
  z-index: 1;
}

.mtcash-shape-blue {
  right: 5%;
  bottom: 10%;
  width: 92px;
  height: 133px;
  z-index: 1;
}

.mtcash-virtual-title {
  font-size: 60px;
  font-family: "Barlow Condensed", sans-serif;
  color: var(--mtcash-navy);
  line-height: 1.167;
  text-align: center;
}

.mtcash-faq-trigger:focus-visible,
.mtcash-menu-toggle:focus-visible,
.mtcash-language-select:focus-visible,
.mtcash-primary-button:focus-visible,
.mtcash-secondary-button:focus-visible,
.mtcash-open-button:focus-visible,
.mtcash-login-button:focus-visible,
.mtcash-social-link:focus-visible {
  outline: 3px solid rgba(215, 14, 22, 0.45);
  outline-offset: 3px;
}

.mtcash-faq-panel {
  height: 0;
  opacity: 0;
  transition: height 0.25s ease, opacity 0.25s ease;
}

.mtcash-faq-panel.is-open {
  height: auto;
  opacity: 1;
}

.mtcash-faq-icon {
  transition: transform 0.25s ease;
}

.mtcash-faq-trigger[aria-expanded="true"] .mtcash-faq-icon {
  transform: rotate(180deg);
}

/* Reprise de `footer-main-background.png` : même famille de halos diffus. */
.mtcash-footer-main {
  background:
    radial-gradient(42% 70% at 15% 22%, rgba(215, 14, 22, 0.08) 0%, rgba(215, 14, 22, 0) 100%),
    radial-gradient(46% 76% at 80% 62%, rgba(215, 14, 22, 0.09) 0%, rgba(215, 14, 22, 0) 100%),
    linear-gradient(180deg, #fefafa 0%, #fdf0f1 100%);
}

/* `footer-bottom-background.png` est un aplat uni : on garde un aplat,
   assombri pour que le copyright blanc reste lisible. */
.mtcash-footer-bottom {
  background: var(--mtcash-red-deep);
}

.mtcash-footer-description {
  color: var(--mtcash-text);
  line-height: 1.875;
  font-size: 14px;
}

.mtcash-app-card {
  background: linear-gradient(135deg, rgba(215, 14, 22, 0.08) 0%, rgba(255, 241, 242, 0.92) 100%);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.mtcash-footer-heading {
  color: var(--mtcash-navy);
}

.mtcash-footer-rule {
  width: 30px;
  height: 2px;
  background-color: var(--mtcash-orange);
}

.mtcash-footer-bullet {
  max-height: 192px;
}

.mtcash-menu-footer {
  display: block;
}

.mtcash-menu-footer li + li {
  margin-top: 0.75rem;
}

.mtcash-menu-footer a {
  font-size: 0.875rem;
}

.mtcash-language-select:hover,
.mtcash-language-select:focus {
  border-color: var(--mtcash-red);
}

.mtcash-login-button:hover,
.mtcash-login-button:focus {
  border-color: var(--mtcash-red);
  color: var(--mtcash-red);
}

.mtcash-social-link {
  background-color: var(--mtcash-navy) !important;
}

.mtcash-social-link:hover,
.mtcash-social-link:focus {
  background-color: var(--mtcash-red) !important;
}

.mtcash-page {
  padding-top: 8rem;
  min-height: 60vh;
}

.mtcash-content {
  max-width: 840px;
  margin: 0 auto;
}

.mtcash-content h1,
.mtcash-page > h1 {
  margin-bottom: 1.5rem;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  color: #111827;
}

.mtcash-entry-content {
  color: #374151;
  font-size: 1.05rem;
  line-height: 1.8;
}

.mtcash-entry-content h2,
.mtcash-entry-content h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  color: var(--mtcash-navy);
  font-weight: 700;
}

.mtcash-entry-content p + p {
  margin-top: 1rem;
}

.mtcash-services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
}

.mtcash-service-card {
  padding: 24px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.mtcash-service-card h2 {
  margin: 16px 0 8px;
  font-size: 1.5rem;
  font-weight: 700;
}

.mtcash-reveal {
  --mtcash-reveal-x: 0px;
  --mtcash-reveal-y: 28px;
  --mtcash-reveal-scale: 0.98;
  --mtcash-reveal-delay: 0ms;
  opacity: 0;
  transform: translate3d(var(--mtcash-reveal-x), var(--mtcash-reveal-y), 0) scale(var(--mtcash-reveal-scale));
  transition:
    opacity 0.5s ease var(--mtcash-reveal-delay),
    transform 0.68s cubic-bezier(0.16, 1, 0.3, 1) var(--mtcash-reveal-delay);
  will-change: opacity, transform;
}

.mtcash-reveal--hero-left {
  --mtcash-reveal-x: -100px;
  --mtcash-reveal-y: 0px;
  --mtcash-reveal-scale: 0.9;
}

.mtcash-reveal--hero-right {
  --mtcash-reveal-x: 100px;
  --mtcash-reveal-y: 0px;
  --mtcash-reveal-scale: 0.9;
}

.mtcash-reveal--left {
  --mtcash-reveal-x: -50px;
  --mtcash-reveal-y: 0px;
  --mtcash-reveal-scale: 1;
}

.mtcash-reveal--right {
  --mtcash-reveal-x: 50px;
  --mtcash-reveal-y: 0px;
  --mtcash-reveal-scale: 1;
}

.mtcash-reveal--top {
  --mtcash-reveal-x: 0px;
  --mtcash-reveal-y: -50px;
  --mtcash-reveal-scale: 0.9;
}

.mtcash-reveal--bottom {
  --mtcash-reveal-x: 0px;
  --mtcash-reveal-y: 50px;
  --mtcash-reveal-scale: 0.9;
}

.mtcash-reveal--small {
  --mtcash-reveal-y: 20px;
  --mtcash-reveal-scale: 1;
}

.mtcash-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }

  .mtcash-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
