/* FlashTopup Reseller — storefront ([flashtopup_reseller]).
   Self-contained + theme-agnostic: scoped under .ftr, neutral light surface with
   FlashTopup gold accents, and an automatic dark variant via prefers-color-scheme.
   Class names are shared with ft-reseller.js / the shortcode markup — keep stable. */
.ftr {
  --ftr-gold: #f6ac37;
  --ftr-gold-2: #e0911a;
  --ftr-ink: #14110a;
  --ftr-surface: #ffffff;
  --ftr-surface-2: #f7f8fa;
  --ftr-bd: #e6e8ec;
  --ftr-text: #1d2433;
  --ftr-muted: #6b7280;
  --ftr-radius: 16px;
  color: var(--ftr-text);
  font-size: 15px;
  line-height: 1.45;
}
.ftr * { box-sizing: border-box; }

.ftr-empty { padding: 30px; text-align: center; color: var(--ftr-muted); border: 1px dashed var(--ftr-bd); border-radius: var(--ftr-radius); background: var(--ftr-surface-2); }

/* ---- Toolbar (title + search + count) ---- */
.ftr-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 16px; }
.ftr-toolbar-title { font-size: 18px; font-weight: 800; color: var(--ftr-text); margin: 0; flex: 0 0 auto; }
.ftr-toolbar-spacer { flex: 1 1 auto; }
.ftr-search { position: relative; flex: 1 1 240px; max-width: 360px; }
.ftr-search input {
  width: 100%; height: 44px; padding: 0 14px 0 40px; border: 1px solid var(--ftr-bd);
  border-radius: 999px; font-size: 14px; background: var(--ftr-surface); color: var(--ftr-text);
}
.ftr-search input:focus { outline: none; border-color: var(--ftr-gold); box-shadow: 0 0 0 3px rgba(246,172,55,.22); }
.ftr-search::before { content: ""; position: absolute; left: 15px; top: 50%; width: 15px; height: 15px; transform: translateY(-50%);
  background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3-3'/%3E%3C/svg%3E"); opacity: .8; }
.ftr-count { color: var(--ftr-muted); font-size: 13px; flex: 0 0 auto; }

/* ---- Product grid ---- */
.ftr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
.ftr-card {
  cursor: pointer; text-align: left; background: var(--ftr-surface); border: 1px solid var(--ftr-bd);
  border-radius: var(--ftr-radius); padding: 10px; transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
  font: inherit; color: inherit; display: block; width: 100%;
}
.ftr-card:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(20,17,10,.12); border-color: var(--ftr-gold); }
.ftr-card:focus-visible { outline: 2px solid var(--ftr-gold); outline-offset: 2px; }
.ftr-card-img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 12px; display: block; background: var(--ftr-surface-2); }
.ftr-card-ph { background: linear-gradient(135deg, var(--ftr-gold), var(--ftr-gold-2)); }
.ftr-card-name { margin-top: 9px; font-weight: 700; font-size: 14px; line-height: 1.3; color: var(--ftr-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ftr-card-type { margin-top: 2px; font-size: 11px; color: var(--ftr-muted); text-transform: capitalize; }
.ftr-hidden { display: none !important; }

/* ---- Modal ---- */
.ftr-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 16px; }
.ftr-modal-backdrop { position: absolute; inset: 0; background: rgba(10,8,4,.62); backdrop-filter: blur(2px); }
.ftr-modal-card {
  position: relative; width: 100%; max-width: 460px; max-height: 92vh; overflow: auto;
  background: var(--ftr-surface); color: var(--ftr-text); border-radius: 20px; padding: 22px;
  box-shadow: 0 30px 80px rgba(0,0,0,.45); animation: ftr-pop .18s ease;
}
@keyframes ftr-pop { from { transform: translateY(8px) scale(.98); opacity: 0; } to { transform: none; opacity: 1; } }
.ftr-close { position: absolute; top: 12px; right: 14px; border: 0; background: var(--ftr-surface-2); width: 32px; height: 32px; border-radius: 50%; font-size: 22px; line-height: 1; cursor: pointer; color: var(--ftr-muted); }
.ftr-close:hover { color: var(--ftr-ink); background: #ececf0; }
.ftr-modal-head { display: flex; align-items: center; gap: 13px; margin-bottom: 18px; padding-right: 30px; }
.ftr-modal-head img { width: 56px; height: 56px; object-fit: cover; border-radius: 13px; border: 1px solid var(--ftr-bd); }
.ftr-m-name { font-weight: 800; font-size: 18px; line-height: 1.2; }
.ftr-m-type { font-size: 12px; color: var(--ftr-muted); text-transform: capitalize; margin-top: 2px; }

.ftr-label { display: block; font-size: 12px; font-weight: 700; color: var(--ftr-text); margin: 14px 0 5px; }
.ftr-req { color: #dc2626; }
.ftr-input { width: 100%; height: 44px; padding: 0 13px; border: 1px solid var(--ftr-bd); border-radius: 11px; font-size: 15px; background: var(--ftr-surface); color: var(--ftr-text); }
.ftr-input:focus { outline: none; border-color: var(--ftr-gold); box-shadow: 0 0 0 3px rgba(246,172,55,.22); }
select.ftr-input { height: 44px; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; padding-right: 36px; }

/* Quantity stepper */
.ftr-qty-row { display: flex; align-items: center; gap: 0; max-width: 160px; border: 1px solid var(--ftr-bd); border-radius: 11px; overflow: hidden; }
.ftr-qty-row .ftr-input { border: 0; border-radius: 0; text-align: center; height: 44px; }
.ftr-qty-btn { width: 44px; height: 44px; border: 0; background: var(--ftr-surface-2); color: var(--ftr-text); font-size: 20px; cursor: pointer; flex: 0 0 auto; }
.ftr-qty-btn:hover { background: #ececf0; }

/* Check ID */
.ftr-checkid { display: flex; align-items: center; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.ftr-checkid-msg { font-size: 13px; font-weight: 600; }
.ftr-ok { color: #059669; font-weight: 700; }
.ftr-err { color: #dc2626; font-weight: 700; }

/* Buttons */
.ftr-btn { width: 100%; margin-top: 18px; height: 50px; border: 0; border-radius: 13px; background: linear-gradient(135deg, var(--ftr-gold), var(--ftr-gold-2)); color: #1a1305; font-weight: 800; font-size: 15px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 8px 20px rgba(246,172,55,.32); }
.ftr-btn:hover { filter: brightness(1.03); }
.ftr-btn:disabled { opacity: .6; cursor: not-allowed; box-shadow: none; }
.ftr-btn-soft { height: 42px; padding: 0 16px; border: 1px solid var(--ftr-bd); border-radius: 11px; background: var(--ftr-surface-2); color: var(--ftr-text); font-weight: 700; cursor: pointer; }
.ftr-btn-soft:hover { border-color: var(--ftr-gold); }
.ftr-btn-soft:disabled { opacity: .6; cursor: not-allowed; }

/* Messages */
.ftr-msg { margin-top: 16px; padding: 11px 13px; border-radius: 11px; font-size: 13px; font-weight: 600; }
.ftr-msg-ok { background: rgba(5,150,105,.1); color: #047857; border: 1px solid rgba(5,150,105,.3); }
.ftr-msg-err { background: rgba(220,38,38,.1); color: #dc2626; border: 1px solid rgba(220,38,38,.3); }

/* Order success card */
.ftr-success { margin-top: 16px; border: 1px solid rgba(5,150,105,.3); border-radius: 13px; overflow: hidden; }
.ftr-success-head { background: rgba(5,150,105,.1); color: #047857; font-weight: 800; padding: 12px 14px; display: flex; align-items: center; gap: 8px; }
.ftr-success-head::before { content: "✓"; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: #059669; color: #fff; font-size: 13px; }
.ftr-kv { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border-top: 1px solid var(--ftr-bd); font-size: 13px; }
.ftr-kv:first-of-type { border-top: 0; }
.ftr-kv-key { color: var(--ftr-muted); }
.ftr-kv-val { font-weight: 700; font-family: ui-monospace, 'SFMono-Regular', Menlo, monospace; word-break: break-all; text-align: right; }
.ftr-copy-btn { border: 1px solid var(--ftr-bd); background: var(--ftr-surface-2); border-radius: 8px; padding: 3px 9px; font-size: 12px; font-weight: 700; cursor: pointer; color: var(--ftr-text); flex: 0 0 auto; }
.ftr-copy-btn:hover { border-color: var(--ftr-gold); }
.ftr-badge { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; text-transform: capitalize; background: rgba(246,172,55,.18); color: var(--ftr-gold-2); }
.ftr-tag { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; background: rgba(246,172,55,.18); color: var(--ftr-gold-2); }

/* ---- Dark theme adaptation ---- */
@media (prefers-color-scheme: dark) {
  .ftr {
    --ftr-surface: #161922;
    --ftr-surface-2: #1f232e;
    --ftr-bd: #2b303c;
    --ftr-text: #e7eaf0;
    --ftr-muted: #9aa3b2;
  }
  .ftr-close:hover { background: #2b303c; }
  .ftr-qty-btn:hover { background: #2b303c; }
}

@media (max-width: 480px) {
  .ftr-grid { grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)); gap: 10px; }
  .ftr-card-name { font-size: 12.5px; }
  .ftr-modal-card { padding: 18px; border-radius: 16px; }
}
/* THOJA unified player validation — same visual language as FazerCards */
.ftr-wc-fields{margin:16px 0}.ftr-wc-row label{font-weight:600}.ftr-wc-input{width:100%;border:1px solid #d9dee7;border-radius:10px;padding:12px 14px}.ftr-check-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ftr-wc-checkid{border-radius:10px!important;font-weight:700!important}.ftr-wc-checkid-msg.valid{color:#059669;font-weight:700}.ftr-wc-checkid-msg.invalid{color:#dc2626;font-weight:700}.ftr-wc-checkid-msg.checking{color:#64748b}.ftr-region-alert{margin-top:14px;padding:16px;border:1px solid #fecaca;background:#fff7f7;border-radius:12px}.ftr-region-alert strong{color:#b91c1c;font-size:16px}.ftr-region-alert p{margin:7px 0 12px}.ftr-region-go{display:inline-block;padding:10px 14px;border-radius:9px;background:#111827;color:#fff!important;text-decoration:none;font-weight:700}.ftr-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ftrspin .7s linear infinite;vertical-align:-2px}@keyframes ftrspin{to{transform:rotate(360deg)}}

/* THOJA 1.7.3 — FazerCards-style product flow */
.ftr-thoja-flow{margin:14px 0 18px;font-family:inherit}.ftr-thoja-step{display:flex;align-items:flex-start;gap:10px;margin:12px 0}.ftr-thoja-step strong{display:block;font-size:14px;line-height:1.2;color:#172033}.ftr-thoja-step small{display:block;margin-top:2px;font-size:10px;color:#8a93a3}.ftr-step-num,.ftr-mini-num{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:#12213a;color:#fff;border-radius:6px;font-weight:800}.ftr-step-num{width:22px;height:22px;font-size:11px}.ftr-mini-num{width:18px;height:18px;border-radius:50%;font-size:10px;background:#2f80ed}.ftr-id-card{border:1px solid #e3e7ee;border-radius:12px;padding:13px;background:#fff}.ftr-id-card-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;margin-bottom:10px;color:#172033}.ftr-wc-fields{margin:0 0 12px}.ftr-wc-row{margin-bottom:9px!important}.ftr-wc-row label{font-size:11px;color:#536071}.ftr-wc-input{min-height:42px;background:#fff}.ftr-check-row{margin-top:8px!important;margin-bottom:0!important}.ftr-wc-checkid{background:#2583df!important;border-color:#2583df!important;color:#fff!important;padding:10px 14px!important;line-height:1!important}.ftr-wc-checkid:hover{background:#176fc4!important}.ftr-wc-checkid-msg{font-size:10px!important}.ftr-region-alert{border-color:#7db9ed!important;background:#f2f9ff!important;border-radius:10px!important;color:#315b7d}.ftr-region-alert strong{color:#2380c9!important}.ftr-region-go{background:#2583df!important}.ftr-package-step{margin-top:10px;margin-bottom:7px}
/* Make native Woo variation choices visually match THOJA/Fazer cards where theme exposes buttons/swatches. */
form.variations_form .variable-items-wrapper,form.variations_form .thwvsf-wrapper-ul,form.variations_form .cfvsw-swatches-container{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}.variable-item,.thwvsf-wrapper-item-li,.cfvsw-swatches-option{min-height:48px!important;border:1px solid #e1e6ed!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-size:11px!important;font-weight:700!important;padding:6px!important}.variable-item.selected,.thwvsf-wrapper-item-li.thwvsf-selected,.cfvsw-swatches-option.cfvsw-selected-swatch{border-color:#2583df!important;background:#f3f9ff!important;box-shadow:0 0 0 1px #2583df!important}
@media(max-width:600px){form.variations_form .variable-items-wrapper,form.variations_form .thwvsf-wrapper-ul,form.variations_form .cfvsw-swatches-container{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ftr-id-card{padding:11px}.ftr-thoja-step small{font-size:9px}}
/* ===== THOJA storefront picker — design tokens ===== */
.thoja-picker, .thoja-dynamic-fields {
	--thoja-accent: #3971b8;
	--thoja-accent-light: #eaf2fb;
	--thoja-accent-dark: #2c5990;
	--thoja-border: #e1e4ea;
	--thoja-text: #1a2333;
	--thoja-muted: #6b7385;
	--thoja-success: #15803d;
	--thoja-success-bg: #ecfdf3;
	--thoja-error: #b91c1c;
	--thoja-error-bg: #fef2f2;
	--thoja-radius: 14px;
}

/* ===== Step heading (shared "1. / 2." style) ===== */
.thoja-step-heading{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:15px;font-weight:700;color:var(--thoja-text);}
.thoja-step-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--thoja-accent);color:#fff;font-size:13px;font-weight:700;flex:none;}

/* ===== Dynamic fields (Player ID etc.) ===== */
.thoja-dynamic-fields{margin:0 0 20px;padding:20px;background:#fff;border:1px solid var(--thoja-border);border-radius:var(--thoja-radius);box-shadow:0 1px 3px rgba(31,26,46,.04);}
.thoja-dynamic-fields .thoja-field-row{margin:0 0 14px;}
.thoja-dynamic-fields .thoja-field-row:last-of-type{margin-bottom:4px;}
.thoja-dynamic-fields label{display:block;font-weight:600;font-size:13px;color:var(--thoja-text);margin-bottom:6px;}
.thoja-dynamic-fields label .required{color:var(--thoja-accent);margin-left:2px;}
.thoja-field-input{
	width:100%;max-width:100%;box-sizing:border-box;
	padding:12px 14px;font-size:15px;color:var(--thoja-text);
	background:#faf9fc;border:1.5px solid var(--thoja-border);border-radius:10px;
	transition:border-color .15s,background .15s,box-shadow .15s;
}
.thoja-field-input:hover{border-color:#cfc9df;}
.thoja-field-input:focus{outline:none;border-color:var(--thoja-accent);background:#fff;box-shadow:0 0 0 3px var(--thoja-accent-light);}
select.thoja-field-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7385' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer;}

/* Validate button + status row */
.thoja-validate-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;}
.thoja-validate-btn{
	display:inline-flex;align-items:center;gap:8px;
	padding:10px 18px;font-size:14px;font-weight:600;color:#fff;
	background:var(--thoja-accent);border:none;border-radius:10px;cursor:pointer;
	transition:background .15s,transform .1s,box-shadow .15s;
	box-shadow:0 1px 2px rgba(57,113,184,.25);
}
.thoja-validate-btn:hover{background:var(--thoja-accent-dark);}
.thoja-validate-btn:active{transform:translateY(1px);}
.thoja-validate-btn:disabled{opacity:.6;cursor:default;}
.thoja-validate-btn.is-loading::before{
	content:"";width:13px;height:13px;border-radius:50%;
	border:2px solid rgba(255,255,255,.5);border-top-color:#fff;
	animation:thoja-spin .7s linear infinite;
}
@keyframes thoja-spin{to{transform:rotate(360deg);}}

.thoja-validate-result{font-size:13px;font-weight:600;padding:6px 12px;border-radius:20px;color:var(--thoja-muted);}
.thoja-validate-result.thoja-state-pending{background:#f4f2f8;color:var(--thoja-muted);}
.thoja-validate-result.thoja-state-loading{background:var(--thoja-accent-light);color:var(--thoja-accent-dark);}
.thoja-validate-result.thoja-state-success{background:var(--thoja-success-bg);color:var(--thoja-success);}
.thoja-validate-result.thoja-state-error{background:var(--thoja-error-bg);color:var(--thoja-error);}

.thoja-cart-disabled{opacity:.45 !important;cursor:not-allowed !important;pointer-events:none;}

/* ===== Denomination / attribute picker ===== */
.thoja-picker{margin:0 0 22px;}
.thoja-buttons{display:grid;grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));gap:10px;}

.thoja-pill{
	position:relative;
	border:1.5px solid var(--thoja-border);border-radius:12px;
	background:#fff;cursor:pointer;
	transition:border-color .15s,background .15s,box-shadow .15s,transform .1s;
	font-family:inherit;
}
.thoja-pill:hover:not(.thoja-disabled){border-color:var(--thoja-accent);background:var(--thoja-accent-light);transform:translateY(-1px);}
.thoja-pill:active:not(.thoja-disabled){transform:translateY(0);}

.thoja-country-pill{padding:10px 16px;font-size:14px;font-weight:600;color:var(--thoja-text);}
.thoja-country-pill.thoja-selected{border-color:var(--thoja-accent);background:var(--thoja-accent);color:#fff;box-shadow:0 2px 8px rgba(57,113,184,.25);}

.thoja-denom-pill{
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	gap:4px;min-height:64px;padding:14px 10px;text-align:center;
}
.thoja-denom-pill .thoja-denom-label{font-weight:700;font-size:15px;color:var(--thoja-text);}
.thoja-denom-pill .thoja-denom-stock{font-size:11px;font-weight:600;color:var(--thoja-muted);}
.thoja-denom-pill.thoja-selected{
	border-color:var(--thoja-accent);background:var(--thoja-accent-light);
	box-shadow:0 0 0 1.5px var(--thoja-accent) inset;
}
.thoja-denom-pill.thoja-selected .thoja-denom-label{color:var(--thoja-accent-dark);}
.thoja-denom-pill.thoja-selected::after{
	content:"✓";position:absolute;top:6px;right:8px;
	font-size:11px;font-weight:700;color:var(--thoja-accent);
}
.thoja-denom-pill.thoja-disabled{opacity:.4;cursor:not-allowed;background:#fafafa;}
.thoja-denom-pill.thoja-disabled .thoja-denom-stock{text-decoration:line-through;}

@media (max-width:480px){
	.thoja-buttons{grid-template-columns:repeat(auto-fill, minmax(96px, 1fr));}
	.thoja-dynamic-fields{padding:16px;}
}

/* Backstop for third-party variation swatch plugins (e.g. WooCommerce Variation Swatches) that
   may re-render their own picker after our JS runs — keep it hidden on THOJA grouped products. */
.variations_form.thoja-hide-native-variations table.variations,
.variations_form.thoja-hide-native-variations .variations,
.variations_form.thoja-hide-native-variations .wvs-archive-variations-wrapper,
.variations_form.thoja-hide-native-variations .variable-items-wrapper{display:none !important;}

/* ===== FREE FIRE REGION VALIDATION STYLES ===== */
/* Icônes de validation */
.thoja-check-icon {
    font-size: 18px;
    font-weight: 700;
    display: inline-block;
    line-height: 1;
}

.thoja-check-icon.valid {
    color: #51cf66;
}

.thoja-check-icon.invalid {
    color: #ff6b6b;
}

/* Nom du joueur */
.thoja-player-name {
    font-size: 13px;
    color: inherit;
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid currentColor;
    opacity: 0.8;
}

/* Alerte de région incorrecte */
.thoja-region-alert-wrapper {
	background: linear-gradient(135deg, #f0f4ff 0%, #e8efff 100%);
	border: 2px solid #1e88e5;
	border-radius: 12px;
	padding: 24px;
	margin: 20px 0;
	animation: slideDown 0.4s ease-out;
	box-shadow: 0 4px 12px rgba(30, 136, 229, 0.12);
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.thoja-region-alert {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.thoja-region-alert-icon {
    font-size: 32px;
    flex-shrink: 0;
    line-height: 1;
}

.thoja-region-alert-content {
    flex: 1;
}

.thoja-region-alert-content h3 {
	margin: 0 0 12px;
	font-size: 17px;
	color: #1e88e5;
	font-weight: 700;
	letter-spacing: 0.2px;
}

.thoja-region-alert-content p {
	margin: 0 0 8px;
	font-size: 14px;
	color: #1565c0;
	line-height: 1.7;
	font-weight: 500;
}

.thoja-region-alert-content p:last-child {
    margin-bottom: 0;
}

/* Actions / Boutons */
.thoja-region-alert-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.thoja-region-btn-primary {
	display: inline-block;
	background: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%);
	color: white;
	padding: 14px 28px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	border: none;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 3px 8px rgba(30, 136, 229, 0.3);
}

.thoja-region-btn-primary:hover {
	background: linear-gradient(135deg, #1565c0 0%, #0d47a1 100%);
	color: white;
	text-decoration: none;
	transform: translateY(-3px);
	box-shadow: 0 6px 16px rgba(30, 136, 229, 0.4);
}

.thoja-region-btn-primary:active {
    transform: translateY(0);
}

/* Masquage des sections */
.thoja-quantity-section {
    display: block;
    transition: opacity 0.3s ease;
}

.thoja-quantity-section:hidden,
button[name="add-to-cart"]:hidden {
    display: none !important;
}

@media (max-width: 768px) {
    .thoja-region-alert {
        flex-direction: column;
    }

    .thoja-region-alert-icon {
        font-size: 24px;
    }

    .thoja-region-alert-content h3 {
	margin: 0 0 12px;
	font-size: 17px;
	color: #1e88e5;
	font-weight: 700;
	letter-spacing: 0.2px;
}

    .thoja-region-alert-content p {
	margin: 0 0 8px;
	font-size: 14px;
	color: #1565c0;
	line-height: 1.7;
	font-weight: 500;
}

    .thoja-region-btn-primary {
	display: inline-block;
	background: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%);
	color: white;
	padding: 14px 28px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	border: none;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 3px 8px rgba(30, 136, 229, 0.3);
}
}
/* 1.7.4: exact THOJA/FazerCards storefront UI reused for FlashTopup Woo products. */
.ftr-wc-fields.thoja-dynamic-fields{margin-bottom:20px!important}
.ftr-wc-checkid-msg:empty{display:none}
