/* =========================================================
   FlexData MTN Special Offer  v1.3
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700;9..40,800&family=Space+Mono:wght@400;700&display=swap');

:root {
  --accent:   #3B5BFF;
  --accent2:  #7c3aed;
  --dark:     #070c18;
  --s1:       #101b30;   /* card surface */
  --s2:       #16223d;   /* input / inner surface */
  --s3:       #0d1626;   /* section container bg */
  --b1:       rgba(59,91,255,.18);
  --b2:       rgba(255,255,255,.07);
  --b3:       rgba(255,255,255,.04);
  --muted:    #8A93A8;
  --green:    #22C55E;
  --red:      #EF4444;
  --rsm:      8px;
  --rmd:      14px;
  --rlg:      22px;
  --font:     'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --mono:     'Space Mono', monospace;
  --max:      560px;
  --pad:      0px;
}

/* ── reset ── */
.fdmtn-wrap *, .fdmtn-wrap *::before, .fdmtn-wrap *::after {
  box-sizing: border-box; margin: 0; padding: 0;
}
.fdmtn-wrap {
  font-family: var(--font);
  background: var(--dark);
  color: #EEF0F5;
  min-height: 100vh;
  padding-bottom: 72px;
  -webkit-font-smoothing: antialiased;
}

/* ═══════ HEADER ═══════ */
.fdmtn-header {
  background: linear-gradient(145deg, #060f1e 0%, #0f2347 50%, #060f1e 100%);
  border-bottom: 3px solid var(--accent);
  position: relative; overflow: hidden;
}
.fdmtn-header::after {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(
    45deg,
    rgba(59,91,255,.02) 0px, rgba(59,91,255,.02) 1px,
    transparent 1px, transparent 24px
  );
}
.fdmtn-header-orb { position: absolute; border-radius: 50%; pointer-events: none; will-change: transform; animation: fdmtn-orb-float 11s ease-in-out infinite; z-index: 0; }
.fdmtn-header-orb--1 { width: 240px; height: 240px; top: -100px; right: -60px; background: radial-gradient(circle, rgba(59,91,255,.28) 0%, transparent 65%); }
.fdmtn-header-orb--2 { width: 150px; height: 150px; bottom: -70px; left: -30px; background: radial-gradient(circle, rgba(124,58,237,.2) 0%, transparent 65%); animation-duration: 13s; animation-delay: -3s; }
@keyframes fdmtn-orb-float { 0%,100% { transform: translate(0,0); } 50% { transform: translate(8px,-10px); } }
@media (prefers-reduced-motion: reduce) { .fdmtn-header-orb { animation: none; } }
.fdmtn-header-inner {
  position: relative; z-index: 1;
  display: flex; align-items: center; gap: 14px;
  max-width: var(--max); margin: 0 auto;
  padding: 20px var(--pad) 16px;
}
.fdmtn-logo-svg {
  width: 62px; height: 40px; flex-shrink: 0; border-radius: 6px;
  box-shadow: 0 3px 12px rgba(59,91,255,.35);
}
.fdmtn-header-text { flex: 1; }
.fdmtn-header-label {
  display: block; font-size: 9px; font-weight: 700; letter-spacing: 3px;
  color: var(--accent); text-transform: uppercase; margin-bottom: 3px; opacity: .8;
}
.fdmtn-header-title { font-size: 19px; font-weight: 800; color: #fff; line-height: 1.1; }
.fdmtn-header-badge {
  background: var(--accent); color: #fff;
  font-size: 9px; font-weight: 800; letter-spacing: 1.5px;
  padding: 3px 8px; border-radius: 4px; align-self: flex-start; margin-top: 3px;
  animation: pulse 2.8s ease-in-out infinite;
}
@keyframes pulse { 0%,100%{opacity:1;} 50%{opacity:.7;} }

.fdmtn-warning-banner {
  position: relative; z-index: 1;
  max-width: var(--max); margin: 0 auto;
  background: rgba(239,68,68,.1);
  border-top: 1px solid rgba(239,68,68,.22);
  padding: 10px var(--pad);
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 12.5px; color: #FCA5A5;
}
.fdmtn-warning-svg { width: 14px; height: 14px; flex-shrink: 0; margin-top: 1px; color: #FCA5A5; }
.fdmtn-warning-svg svg { width: 100%; height: 100%; display: block; }

/* ═══════ SECTION PILL ROW ═══════ */
.fdmtn-section-pill-row {
  max-width: var(--max); margin: 22px auto 10px; padding: 0 var(--pad);
}
.fdmtn-section-pill {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 12px 4px 8px;
  border-radius: 100px; font-size: 11px; font-weight: 700; letter-spacing: .5px;
}
.fdmtn-section-pill--featured {
  background: rgba(59,91,255,.12);
  border: 1px solid rgba(59,91,255,.25);
  color: var(--accent);
}

/* ═══════ SHARED CARD POSITION ═══════ */
.fdmtn-offer-card,
.fdmtn-form-card,
.fdmtn-history-card,
.fdmtn-notices-card,
.fdmtn-unavailable-badge-wrap {
  max-width: var(--max); margin: 12px auto 0; padding: 0 var(--pad);
}

/* ═══════ FEATURED OFFER CARD ═══════ */
.fdmtn-offer-card {
  background: var(--s1);
  border: 1px solid var(--b1);
  border-radius: var(--rlg);
  padding: 22px 20px;
  position: relative; overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,.3), 0 12px 32px rgba(0,0,0,.4), 0 0 40px rgba(59,91,255,.09);
  animation: fadein .4s ease both;
}
.fdmtn-offer-glow {
  position: absolute; top: -50px; right: -50px;
  width: 180px; height: 180px; pointer-events: none;
  background: radial-gradient(circle, rgba(59,91,255,.16) 0%, transparent 70%);
}
.fdmtn-offer-top {
  display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px;
}
.fdmtn-non-expiry-badge {
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color: #fff; font-size: 9px; font-weight: 800; letter-spacing: 2px;
  padding: 4px 11px; border-radius: 20px; display: inline-block;
}
.fdmtn-offer-signal-svg { width: 28px; height: 28px; color: var(--accent); }
.fdmtn-offer-signal-svg svg { width: 100%; height: 100%; filter: drop-shadow(0 0 6px rgba(59,91,255,.45)); }
.fdmtn-offer-title { font-size: 22px; font-weight: 800; color: #fff; line-height: 1.15; margin-bottom: 5px; }
.fdmtn-offer-desc  { font-size: 13px; color: var(--muted); line-height: 1.6; margin-bottom: 16px; }
.fdmtn-price-row   { display: flex; align-items: flex-end; gap: 3px; margin-bottom: 16px; }
.fdmtn-price-currency { font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent); margin-bottom: 4px; }
.fdmtn-price-amount   {
  font-family: var(--mono); font-size: 42px; font-weight: 700;
  color: var(--accent); line-height: 1;
  text-shadow: 0 0 24px rgba(59,91,255,.3);
}
.fdmtn-offer-features { display: flex; gap: 7px; flex-wrap: wrap; }
.fdmtn-feat {
  display: flex; align-items: center; gap: 5px;
  background: rgba(59,91,255,.07); border: 1px solid rgba(59,91,255,.16);
  border-radius: 20px; padding: 5px 11px;
  font-size: 11.5px; font-weight: 600; color: var(--accent);
}
.fdmtn-feat-svg { width: 12px; height: 12px; flex-shrink: 0; }
.fdmtn-feat-svg svg { width: 100%; height: 100%; display: block; }

/* ═══════ FORM CARD ═══════ */
.fdmtn-form-card {
  background: var(--s1); border: 1px solid var(--b2);
  border-radius: var(--rlg); padding: 22px 20px;
  box-shadow: 0 2px 10px rgba(0,0,0,.28), 0 10px 28px rgba(0,0,0,.38);
  animation: fadein .5s .05s ease both;
}
.fdmtn-form-title {
  font-size: 14px; font-weight: 700; color: #fff;
  margin-bottom: 18px; padding-bottom: 12px; border-bottom: 1px solid var(--b2);
}

/* Wallet */
.fdmtn-wallet-display {
  display: flex; align-items: center; gap: 11px;
  background: var(--s2); border: 1px solid var(--b1);
  border-radius: var(--rmd); padding: 13px 15px; margin-bottom: 12px;
}
.fdmtn-wallet-svg { width: 24px; height: 24px; flex-shrink: 0; }
.fdmtn-wallet-svg svg { width: 100%; height: 100%; display: block; }
.fdmtn-w-ok  { color: var(--green); }
.fdmtn-w-low { color: var(--red); }
.fdmtn-wallet-info { flex: 1; display: flex; flex-direction: column; gap: 1px; }
.fdmtn-wallet-label { font-size: 9.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--muted); }
.fdmtn-wallet-amount { font-family: var(--mono); font-size: 19px; font-weight: 700; }
.fdmtn-sufficient   { color: var(--green); }
.fdmtn-insufficient { color: var(--red); }
.fdmtn-wallet-ok, .fdmtn-wallet-low {
  width: 24px; height: 24px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.fdmtn-wallet-ok  { background: rgba(34,197,94,.13); border: 1px solid rgba(34,197,94,.32); color: var(--green); }
.fdmtn-wallet-low { background: rgba(239,68,68,.13); border: 1px solid rgba(239,68,68,.32); color: var(--red); }
.fdmtn-wallet-ok svg, .fdmtn-wallet-low svg { width: 12px; height: 12px; display: block; }

.fdmtn-low-balance-notice {
  display: flex; align-items: flex-start; gap: 7px;
  background: rgba(239,68,68,.08); border: 1px solid rgba(239,68,68,.2);
  border-radius: var(--rsm); padding: 10px 13px;
  font-size: 12.5px; color: #FCA5A5; margin-bottom: 12px; line-height: 1.5;
}
.fdmtn-low-balance-notice svg { width: 14px; height: 14px; flex-shrink: 0; margin-top: 1px; display: block; }

/* Fields */
.fdmtn-field-group { margin-bottom: 14px; }
.fdmtn-label {
  display: block; font-size: 10.5px; font-weight: 700;
  letter-spacing: .8px; text-transform: uppercase; color: var(--muted); margin-bottom: 6px;
}
.fdmtn-req { color: var(--accent); }
.fdmtn-input-wrap {
  display: flex; align-items: center;
  background: var(--s2); border: 1.5px solid var(--b2);
  border-radius: var(--rsm); overflow: hidden; transition: border-color .18s;
}
.fdmtn-input-wrap:focus-within {
  border-color: var(--accent); box-shadow: 0 0 0 3px rgba(59,91,255,.08);
}
.fdmtn-input-prefix {
  padding: 0 12px; height: 46px;
  border-right: 1.5px solid var(--b2);
  background: rgba(59,91,255,.04);
  display: flex; align-items: center; flex-shrink: 0;
}
.fdmtn-input {
  flex: 1; height: 46px; background: var(--s2); border: none; outline: none;
  padding: 0 13px; font-family: var(--mono); font-size: 14px;
  font-weight: 700; color: #fff; letter-spacing: 1.5px; width: 100%;
  -webkit-text-fill-color: #fff;
}
/* High-specificity overrides — beats any theme rule targeting input[type=tel] */
#fdmtn-catalog-modal .fdmtn-input,
#fdmtn-confirm-modal .fdmtn-input,
.fdmtn-form-card .fdmtn-input,
.fdmtn-wrap .fdmtn-input-wrap .fdmtn-input {
  background: var(--s2) !important;
  background-color: var(--s2) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: none !important;
  border: none !important;
}
.fdmtn-input:-webkit-autofill,
.fdmtn-input:-webkit-autofill:hover,
.fdmtn-input:-webkit-autofill:focus,
.fdmtn-input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 100px var(--s2) inset !important;
  -webkit-text-fill-color: #fff !important;
  transition: background-color 99999s ease-in-out 0s;
}
.fdmtn-input::placeholder { color: rgba(255,255,255,.18); font-weight: 400; letter-spacing: 0; font-family: var(--font); }
.fdmtn-field-hint { display: block; font-size: 11px; color: var(--muted); margin-top: 5px; }

.fdmtn-offer-selected-display {
  background: var(--s2); border: 1.5px solid rgba(59,91,255,.15);
  border-radius: var(--rsm); padding: 12px 14px;
  display: flex; justify-content: space-between; align-items: center;
}
.fdmtn-osd-title { font-size: 13px; font-weight: 600; color: #fff; }
.fdmtn-osd-price { font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent); }

/* Checkbox */
.fdmtn-terms-row { margin-bottom: 18px; }
.fdmtn-checkbox-label {
  display: flex; align-items: flex-start; gap: 10px;
  cursor: pointer; font-size: 12.5px; color: var(--muted); line-height: 1.5;
}
.fdmtn-checkbox { position: absolute; opacity: 0; width: 0; height: 0; }
.fdmtn-checkmark {
  width: 20px; min-width: 20px; height: 20px;
  background: var(--s2); border: 2px solid rgba(59,91,255,.25);
  border-radius: 4px; margin-top: 1px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  transition: background .15s, border-color .15s;
}
.fdmtn-checkmark svg { width: 11px; height: 11px; display: block; opacity: 0; transition: opacity .12s; color: #fff; }
.fdmtn-checkbox:checked + .fdmtn-checkmark { background: var(--accent); border-color: var(--accent); }
.fdmtn-checkbox:checked + .fdmtn-checkmark svg { opacity: 1; }

/* Purchase button */
.fdmtn-btn-purchase {
  width: 100%; height: 52px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent2) 100%);
  color: #fff; font-family: var(--font); font-size: 14px; font-weight: 800;
  border: none; border-radius: var(--rmd); cursor: pointer;
  position: relative; overflow: hidden;
  transition: transform .14s, box-shadow .14s, opacity .18s;
  box-shadow: 0 4px 16px rgba(59,91,255,.3), 0 1px 4px rgba(0,0,0,.5);
  display: flex; align-items: center; justify-content: center;
}
.fdmtn-btn-purchase::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.16) 0%, transparent 50%);
}
.fdmtn-btn-purchase:not(:disabled):hover {
  transform: translateY(-2px); box-shadow: 0 7px 24px rgba(59,91,255,.4), 0 2px 6px rgba(0,0,0,.5);
}
.fdmtn-btn-purchase:disabled { opacity: .4; cursor: not-allowed; }
.fdmtn-btn-text, .fdmtn-btn-loading {
  display: flex; align-items: center; justify-content: center; gap: 7px; position: relative;
}
.fdmtn-btn-svg { width: 16px; height: 16px; flex-shrink: 0; }
.fdmtn-btn-svg svg { width: 100%; height: 100%; display: block; }
.fdmtn-spinner {
  width: 16px; height: 16px; display: inline-block;
  border: 2px solid rgba(255,255,255,.25); border-top-color: #fff;
  border-radius: 50%; animation: spin .7s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.fdmtn-result {
  margin-top: 12px; padding: 12px 14px;
  border-radius: var(--rsm); font-size: 13px; line-height: 1.6; font-weight: 500;
}
.fdmtn-result.fdmtn-success { background: rgba(34,197,94,.08); border: 1px solid rgba(34,197,94,.25); color: #86EFAC; }
.fdmtn-result.fdmtn-error   { background: rgba(239,68,68,.08); border: 1px solid rgba(239,68,68,.25); color: #FCA5A5; }

.fdmtn-login-prompt { text-align: center; padding: 18px 0; color: var(--muted); font-size: 13.5px; }
.fdmtn-btn-primary {
  display: inline-block; margin-top: 10px;
  background: var(--accent); color: #fff;
  font-weight: 800; font-size: 13px;
  padding: 10px 24px; border-radius: var(--rsm);
  text-decoration: none; transition: opacity .18s;
}
.fdmtn-btn-primary:hover { opacity: .85; }

/* Unavailable badge */
.fdmtn-unavailable-badge-wrap { margin-top: 0; }
.fdmtn-unavailable-badge {
  display: flex; align-items: center; gap: 8px;
  background: rgba(239,68,68,.07); border: 1px solid rgba(239,68,68,.18);
  border-radius: var(--rsm); padding: 12px 15px;
  font-size: 13px; font-weight: 600; color: #FCA5A5;
}
.fdmtn-unavailable-badge svg { width: 15px; height: 15px; flex-shrink: 0; display: block; }

/* ═══════ SECTION CONTAINERS ═══════ */
.fdmtn-section-container {
  max-width: var(--max); margin: 20px auto 0; padding: 0 var(--pad);
}
.fdmtn-section-box {
  background: var(--s3);
  border: 1px solid var(--b2);
  border-radius: var(--rlg);
  padding: 18px 16px 16px;
  box-shadow: 0 2px 10px rgba(0,0,0,.3), 0 10px 28px rgba(0,0,0,.4);
}

/* Section header row inside container */
.fdmtn-section-head {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--b2);
}
.fdmtn-sh-icon {
  width: 32px; height: 32px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.fdmtn-sh-icon svg { width: 16px; height: 16px; display: block; }
.fdmtn-sh-icon--signal { background: rgba(77,127,255,.14); color: #4D7FFF; }
.fdmtn-sh-icon--mic    { background: rgba(34,197,94,.12);  color: var(--green); }
.fdmtn-sh-tag   { display: block; font-size: 9.5px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--muted); margin-bottom: 1px; }
.fdmtn-sh-title { font-size: 15px; font-weight: 800; color: #fff; display: block; }

/* ═══════ CATALOG GRID ═══════ */
.fdmtn-catalog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 9px;
}

/* ═══════ CATALOG CARD ═══════ */
.fdmtn-catalog-card {
  background: var(--s1); border: 1px solid var(--b2);
  border-radius: var(--rmd);
  padding: 13px 11px 11px;
  display: flex; flex-direction: column; gap: 6px;
  box-shadow: 0 2px 10px rgba(0,0,0,.4);
  transition: transform .16s, box-shadow .16s, border-color .16s;
  position: relative; overflow: hidden;
}
.fdmtn-catalog-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--accent), var(--accent2));
  opacity: 0; transition: opacity .16s;
}
.fdmtn-catalog-card:hover { transform: translateY(-2px); border-color: rgba(59,91,255,.2); }
.fdmtn-catalog-card:hover::before { opacity: 1; }
.fdmtn-catalog-card--disabled { opacity: .5; filter: grayscale(.4); }
.fdmtn-catalog-card--disabled:hover { transform: none; }

.fdmtn-cc-top {
  display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 0;
}
.fdmtn-cc-icon {
  width: 28px; height: 28px; border-radius: 7px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  background: rgba(77,127,255,.1); color: #4D7FFF;
}
.fdmtn-cc-icon--mic { background: rgba(34,197,94,.1); color: var(--green); }
.fdmtn-cc-icon svg  { width: 14px; height: 14px; display: block; }

.fdmtn-cc-unavail-badge {
  font-size: 8px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase;
  background: rgba(156,163,175,.1); border: 1px solid rgba(156,163,175,.2);
  color: #9CA3AF; border-radius: 100px; padding: 2px 6px; line-height: 1.5;
}
.fdmtn-cc-title    { font-size: 13.5px; font-weight: 800; color: #fff; line-height: 1.2; }
.fdmtn-cc-desc     { font-size: 10px; color: var(--muted); line-height: 1.4; }
.fdmtn-cc-price    { display: flex; align-items: flex-end; gap: 2px; }
.fdmtn-cc-currency { font-family: var(--mono); font-size: 10px; font-weight: 700; color: var(--accent); margin-bottom: 3px; }
.fdmtn-cc-amount   {
  font-family: var(--mono); font-size: 21px; font-weight: 700;
  color: var(--accent); line-height: 1;
  text-shadow: 0 0 14px rgba(59,91,255,.25);
}

/* Card Buy Now button */
.fdmtn-cc-buy-btn {
  margin-top: auto;
  display: flex; align-items: center; justify-content: center; gap: 5px;
  width: 100%; height: 35px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent2) 100%);
  border: none; border-radius: var(--rsm);
  color: #fff; font-family: var(--font);
  font-size: 11.5px; font-weight: 800;
  cursor: pointer; text-decoration: none;
  position: relative; overflow: hidden;
  box-shadow: 0 2px 8px rgba(59,91,255,.24);
  transition: transform .13s, box-shadow .13s;
}
.fdmtn-cc-buy-btn::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.14) 0%, transparent 55%);
}
.fdmtn-cc-buy-btn .fdmtn-btn-svg { width: 11px; height: 11px; position: relative; flex-shrink: 0; }
.fdmtn-cc-buy-btn .fdmtn-btn-svg svg { width: 100%; height: 100%; display: block; }
.fdmtn-cc-buy-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(59,91,255,.35); color: #fff; }
.fdmtn-cc-buy-btn:active { transform: none; }
.fdmtn-cc-login-btn {
  background: rgba(59,91,255,.09); color: var(--accent); box-shadow: none;
  border: 1px solid rgba(59,91,255,.18);
}
.fdmtn-cc-login-btn:hover { background: rgba(59,91,255,.16); color: var(--accent); }

/* ═══════ HISTORY CARD ═══════ */
.fdmtn-history-card {
  background: var(--s1); border: 1px solid var(--b2);
  border-radius: var(--rlg); padding: 20px;
  box-shadow: 0 4px 20px rgba(0,0,0,.45);
  animation: fadein .5s .08s ease both;
}
.fdmtn-history-header {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 14px; padding-bottom: 11px; border-bottom: 1px solid var(--b2);
}
.fdmtn-history-svg { width: 16px; height: 16px; color: var(--accent); }
.fdmtn-history-svg svg { width: 100%; height: 100%; display: block; }
.fdmtn-history-header h3 { font-size: 14px; font-weight: 700; color: #fff; }
.fdmtn-history-empty { font-size: 12px; color: var(--muted); text-align: center; padding: 12px 0; }
.fdmtn-history-list { display: flex; flex-direction: column; gap: 7px; }
.fdmtn-history-item {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  background: var(--s2); border: 1px solid var(--b3);
  border-radius: var(--rsm); padding: 10px 13px;
}
.fdmtn-hi-left  { display: flex; align-items: center; gap: 9px; overflow: hidden; flex: 1; }
.fdmtn-hi-clock { width: 14px; height: 14px; color: var(--muted); flex-shrink: 0; }
.fdmtn-hi-clock svg { width: 100%; height: 100%; display: block; }
.fdmtn-hi-meta  { display: flex; flex-direction: column; gap: 1px; overflow: hidden; }
.fdmtn-hi-phone { font-family: var(--mono); font-size: 12.5px; font-weight: 700; color: #fff; }
.fdmtn-hi-offer-name { font-size: 10.5px; color: var(--accent); font-weight: 600; opacity: .8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 160px; }
.fdmtn-hi-date  { font-size: 10px; color: var(--muted); }
.fdmtn-hi-right { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex-shrink: 0; }
.fdmtn-hi-amount { font-family: var(--mono); font-size: 12px; font-weight: 700; color: var(--accent); }
.fdmtn-hi-status {
  font-size: 9px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase;
  padding: 2px 7px; border-radius: 10px;
}
.fdmtn-st-pending    { background: rgba(240,165,0,.12);  color: #FCD34D; border: 1px solid rgba(240,165,0,.28); }
.fdmtn-st-processing { background: rgba(59,130,246,.12); color: #93C5FD; border: 1px solid rgba(59,130,246,.28); }
.fdmtn-st-delivered  { background: rgba(34,197,94,.12);  color: #86EFAC; border: 1px solid rgba(34,197,94,.28); }
.fdmtn-st-failed     { background: rgba(239,68,68,.12);  color: #FCA5A5; border: 1px solid rgba(239,68,68,.28); }
.fdmtn-st-refunded   { background: rgba(156,163,175,.12);color: #D1D5DB; border: 1px solid rgba(156,163,175,.28); }

/* ═══════ NOTICES CARD ═══════ */
.fdmtn-notices-card {
  background: var(--s1); border: 1px solid var(--b2);
  border-radius: var(--rlg); padding: 20px;
  box-shadow: 0 4px 20px rgba(0,0,0,.45);
  animation: fadein .5s .12s ease both;
}
.fdmtn-notices-header {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 14px; padding-bottom: 11px; border-bottom: 1px solid var(--b2);
}
.fdmtn-notices-svg { width: 16px; height: 16px; color: var(--accent); }
.fdmtn-notices-svg svg { width: 100%; height: 100%; display: block; }
.fdmtn-notices-header h3 { font-size: 14px; font-weight: 700; color: #fff; }
.fdmtn-notices-list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.fdmtn-notice-item { display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; color: var(--muted); line-height: 1.6; }
.fdmtn-notice-check-svg { width: 13px; min-width: 13px; height: 13px; margin-top: 2px; color: var(--green); flex-shrink: 0; }
.fdmtn-notice-check-svg svg { width: 100%; height: 100%; display: block; }

/* ═══════ MODALS ═══════ */
.fdmtn-modal-overlay {
  display: none; position: fixed; inset: 0; z-index: 99999;
  background: rgba(0,0,0,.78); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px);
  align-items: center; justify-content: center; padding: 16px;
}
.fdmtn-modal-overlay.fdmtn-cm-open,
.fdmtn-modal-overlay.fdmtn-sp-open {
  display: flex; animation: fadein .2s ease both;
}
.fdmtn-modal-box {
  background: var(--s1); border: 1px solid var(--b1);
  border-radius: var(--rlg); padding: 26px 22px;
  width: 100%; max-width: 380px;
  box-shadow: 0 20px 60px rgba(0,0,0,.8);
  animation: modal-up .24s cubic-bezier(.22,1,.36,1) both;
}
@keyframes modal-up {
  from { transform: translateY(16px) scale(.96); opacity: 0; }
  to   { transform: none; opacity: 1; }
}
.fdmtn-cm-title { font-size: 16px; font-weight: 800; color: #fff; margin-bottom: 14px; }
.fdmtn-cm-body  { font-size: 13.5px; color: var(--muted); line-height: 1.7; margin-bottom: 20px; text-align: center; }

/* Catalog modal offer row */
.fdmtn-cat-modal-offer-display {
  display: flex; justify-content: space-between; align-items: center;
  background: var(--s2); border: 1px solid var(--b1);
  border-radius: var(--rsm); padding: 11px 14px; margin-bottom: 14px;
}
.fdmtn-cat-modal-otitle { font-size: 13px; font-weight: 700; color: #fff; flex: 1; padding-right: 10px; }
.fdmtn-cat-modal-oprice { font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent); white-space: nowrap; }

/* Modal buttons */
.fdmtn-modal-actions { display: flex; gap: 9px; margin-top: 18px; }

.fdmtn-modal-btn-cancel {
  flex: 1; height: 46px;
  background: var(--s2); border: 1px solid var(--b2);
  border-radius: var(--rsm); color: var(--muted);
  font-family: var(--font); font-size: 13.5px; font-weight: 600;
  cursor: pointer; transition: border-color .14s, color .14s;
}
.fdmtn-modal-btn-cancel:hover { border-color: rgba(255,255,255,.18); color: #fff; }

/* ── Confirm button: ID-targeted, no pseudo-elements, nothing that produces a stray overlay ── */
#fdmtn-cat-confirm-btn,
.fdmtn-modal-btn-confirm {
  flex: 2; height: 46px;
  background: #3B5BFF !important;
  background-image: none !important;
  border: none !important;
  border-radius: var(--rsm);
  color: #fff !important;
  font-family: var(--font) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px;
  box-shadow: 0 3px 14px rgba(59,91,255,.3) !important;
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative;
  transition: opacity .14s, transform .14s;
  /* Absolutely no ::before or ::after — they produced a stray overlay artifact */
}
#fdmtn-cat-confirm-btn::before,
#fdmtn-cat-confirm-btn::after,
.fdmtn-modal-btn-confirm::before,
.fdmtn-modal-btn-confirm::after {
  display: none !important;
  content: none !important;
}
/* All text and children inside the button must be white, never the accent color */
#fdmtn-cat-confirm-btn *,
#fdmtn-cat-confirm-btn span,
#fdmtn-cat-btn-visible,
.fdmtn-modal-btn-confirm *,
.fdmtn-modal-btn-confirm span {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
#fdmtn-cat-confirm-btn:hover,
.fdmtn-modal-btn-confirm:hover { opacity: .88; transform: translateY(-1px); }
#fdmtn-cat-confirm-btn:active,
.fdmtn-modal-btn-confirm:active { transform: none; }
.fdmtn-modal-btn-confirm .fdmtn-btn-svg { width: 14px; height: 14px; }

.fdmtn-cat-btn-loading {
  display: none; align-items: center; justify-content: center; gap: 7px; position: relative;
}

/* Success popup */
.fdmtn-success-box { text-align: center; }
.fdmtn-sp-icon {
  width: 58px; height: 58px; margin: 0 auto 14px;
  background: rgba(34,197,94,.09); border: 2px solid rgba(34,197,94,.26);
  border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--green);
}
.fdmtn-sp-icon svg { width: 28px; height: 28px; display: block; }
.fdmtn-sp-heading { font-size: 20px; font-weight: 800; color: #fff; margin-bottom: 5px; }
.fdmtn-sp-order-label { font-size: 11px; color: var(--muted); margin-bottom: 10px; }
.fdmtn-sp-order { font-family: var(--mono); font-weight: 700; color: var(--accent); }
.fdmtn-sp-msg { font-size: 13px; color: var(--muted); line-height: 1.7; margin-bottom: 20px; }
.fdmtn-success-box .fdmtn-modal-btn-confirm { width: 100%; flex: unset; }

/* ═══════ LINK COLOUR ═══════ */
.fdmtn-wrap a { color: var(--accent); }

/* ═══════ ANIMATIONS ═══════ */
@keyframes fadein {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: none; }
}
@keyframes fdmtn-shake {
  0%,100% { transform:translateX(0); }
  20%      { transform:translateX(-5px); }
  40%      { transform:translateX(5px); }
  60%      { transform:translateX(-3px); }
  80%      { transform:translateX(3px); }
}
.fdmtn-shake { animation: fdmtn-shake .4s ease; }

/* ═══════ RESPONSIVE ═══════ */
@media (max-width: 600px) {
  .fdmtn-header-title  { font-size: 17px; }
  .fdmtn-price-amount  { font-size: 36px; }
  .fdmtn-offer-title   { font-size: 19px; }
  .fdmtn-offer-card,
  .fdmtn-form-card,
  .fdmtn-history-card,
  .fdmtn-notices-card  { padding: 17px 15px; }
  .fdmtn-catalog-grid  { grid-template-columns: repeat(2, 1fr); }
  .fdmtn-cc-amount     { font-size: 19px; }
  .fdmtn-modal-box     { padding: 22px 16px; }
}
@media (max-width: 360px) {
  .fdmtn-catalog-grid  { grid-template-columns: repeat(2, 1fr); gap: 7px; }
}
