:root{
  --bg0:#07090d;
  --bg1:#0b0f16;

  --card:rgba(255,255,255,.04);
  --stroke:rgba(255,255,255,.10);
  --stroke2:rgba(255,255,255,.16);

  --text:#e9eef7;
  --muted:rgba(233,238,247,.62);

  --good:#37d67a;
  --bad:#ff5a5f;

  --shadow: 0 18px 60px rgba(0,0,0,.55);
  --r:18px;

  --font: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
          Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";

  /* Accent verde chiaro (coerente con divider roadmap) */
  --om1-accent: rgba(0, 255, 170, 0.55);
  --om1-accent-border: rgba(0, 255, 170, 0.22);

  /* Card borders: neon cyan (solo bordi, no sfondo) */
  --om1-card-border: rgba(120, 235, 255, 0.22);
  --om1-card-border-hover: rgba(120, 235, 255, 0.46);
  --om1-card-glow: rgba(120, 235, 255, 0.14);
  --om1-card-glow-strong: rgba(120, 235, 255, 0.22);

  /* Neon frame like reference (ONLY border effects) */
  --frame-outer: rgba(120, 235, 255, 0.22);
  --frame-inner: rgba(180, 255, 255, 0.10);
  --frame-glow: rgba(120, 235, 255, 0.18);
  --frame-glow-2: rgba(120, 235, 255, 0.10);
  --frame-hot: rgba(180, 255, 255, 0.30);

  /* Card title standard */
  --om1-features-font: var(--font);          /* Inter di default */
  --om1-card-title-font: var(--font);        /* Inter di default */
  --om1-card-title-size: 20px;
  --om1-card-title-weight: 700;
  --om1-card-title-letter: 0.04em;
  --om1-card-title-transform: uppercase;
  --om1-card-title-line: 1.15;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background-image:
    radial-gradient(1200px 600px at 20% -10%, rgba(155,90,255,.20), transparent 60%),
    radial-gradient(900px 520px at 90% 0%, rgba(120,255,190,.14), transparent 62%),
    radial-gradient(900px 520px at 10% 100%, rgba(90,160,255,.10), transparent 60%),
    linear-gradient(180deg, #070a12 0%, #050712 45%, #04050e 100%);
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover;
  background-attachment:scroll; /* scroll invece di fixed per maggiore stabilità e performance su tutti i dispositivi */
}

/* GLOBAL TITLES: always Inter (pages + sections) */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3 {
  font-family: var(--font) !important; /* Force Inter */
}

/* Force Inter + bold on H1 and page title (global) */
h1, .page-title {
  font-family: var(--font) !important;
  font-weight: 800;
}
.h1, .page-title-center {
  font-family: var(--font) !important;
}

/* Wrapper trasparenti per evitare duplicazioni */
.wrap,main,.app,.page,.container{
  background:transparent;
}

/* Sezioni senza background che copre lo sfondo principale */
section,.section{
  background:transparent;
}

a{color:inherit; text-decoration:none}

/* ==================================================
   Buttons (used in Donate + Home)
   ================================================== */
.btn, .btn-home{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.92);
  font-size:14px;
  line-height:1;
  cursor:pointer;
  user-select:none;
  transition: transform .08s ease, background .15s ease, border-color .15s ease;
}

.btn:hover, .btn-home:hover{
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.22);
}

.btn:active, .btn-home:active{
  transform: translateY(1px);
}

.btn.primary, .btn-home.btn-primary{
  background: rgba(55,214,122,0.14);
  border-color: rgba(55,214,122,0.35);
}

.btn.primary:hover, .btn-home.btn-primary:hover{
  background: rgba(55,214,122,0.18);
}

.btn-home.btn-secondary{
  background: rgba(255,255,255,0.06);
}

.container{
  max-width:1140px;
  margin:0 auto;
  padding:34px 22px 70px;
}

.h1{
  font-size:44px;
  line-height:1.05;          /* come "OMESSAGE1 COMMUNITY" */
  margin:0;
  letter-spacing:-0.02em;
  font-weight:700;            /* grassetto */
  font-family: var(--font) !important; /* Inter */
}

/* OM1: Community-style heading (the "OMESSAGE1 COMMUNITY" look) */
.om1-heading-community {
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* If combined with .h1, override .h1 defaults cleanly */
.h1.om1-heading-community {
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.lead{
  margin:12px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.6;
}

/* ===== Topbar ===== */
/* Topbar layout: keep nav centered between brand and language */
.topbar .brand { margin-right: auto; }
.topbar .lang { margin-left: auto; }
.topbar .nav { margin: 0 auto; }

.topbar{
  position:sticky;
  top:0;
  z-index:50;
  margin-bottom:18px;

  /* di base resta “pulita” (niente banda) */
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: none;
  box-shadow: none;

  /* animazione per compattare quando scrolli */
  transition: padding .18s ease, transform .18s ease;
}

/* Quando scrolli: TOPBAR più bassa (riduce l’effetto sovrapposizione) */
.topbar.is-scrolled{
  padding: 6px 0 10px;
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Compatta anche i link del menu quando scrolli (più “snella”) */
.topbar.is-scrolled .nav a{
  padding: 7px 10px;
}

.page-head{
  padding-top:10px;
}
.topbar-inner{
  max-width:1140px;
  margin:0 auto;
  padding:14px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:400;
  letter-spacing:-0.01em;
}
.dot{
  width:8px; height:8px;
  border-radius:999px;
  background: rgba(255,255,255,.55);
  box-shadow: 0 0 0 2px rgba(255,255,255,.10);
}
.brand-text{font-size:14px; color:rgba(233,238,247,.92)}

.nav{
  display:flex;
  align-items:center;
  gap:10px;
}
.nav-link{
  font-size:13px;
  color:rgba(233,238,247,.70);
  padding:8px 10px;
  border-radius:999px;
}
.nav-link:hover{color:rgba(233,238,247,.92); background:rgba(255,255,255,.04)}
.nav-link.is-active{
  color:rgba(233,238,247,.96);
  background:rgba(128,90,255,.14);
  border:1px solid rgba(128,90,255,.25);
}

.right{display:flex; align-items:center; gap:10px}

/* ===== Language dropdown ===== */
/* Hide "Language" label, keep selected language value (desktop + mobile) */
.lang.desktop-only > span,
.mobile-menu__section .mobile-menu__section-title {
  display: none !important;
}
.lang{position:relative}
.lang-btn{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  color:rgba(233,238,247,.80);
  font-size:13px;
  user-select:none;
}
.lang-btn::-webkit-details-marker{display:none}
.lang[open] .lang-btn{
  border-color: rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
}
.lang .flag{font-size:14px}
.lang .code{font-weight:600; letter-spacing:0.06em; font-size:12px}
.lang .chev{opacity:.7; font-size:12px}

.lang-menu{
  position:absolute;
  right:0;
  top:46px;
  width:240px;
  background:rgba(10,12,18,.92);
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  box-shadow: var(--shadow);
  overflow:hidden;
}
.lang-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  font-size:13px;
  color:rgba(233,238,247,.86);
}
.lang-item:hover{background:rgba(255,255,255,.05)}
.lang-item.is-active{background:rgba(128,90,255,.14)}
.lang-item .label{flex:1}
.lang-item .code-mini{
  opacity:.7;
  font-size:12px;
  letter-spacing:0.06em;
}

/* ===== Cards / sections ===== */
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border:1px solid var(--om1-accent-border);
  border-radius:var(--r);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.card:hover{
  border-color: var(--om1-accent);
}
.card-inner{padding:18px 18px 16px}

.plans-title-wrap{
  text-align:center;
  margin-top:12px;
}

.segment{
  margin-top:12px;
  display:inline-flex;
  gap:6px;
  padding:6px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.03);
}
.segment button{
  cursor:pointer;
  border:0;
  background:transparent;
  color:rgba(233,238,247,.72);
  font-size:13px;
  padding:8px 12px;
  border-radius:999px;
  font-family:var(--font);
}
.segment button.is-active{
  background:rgba(128,90,255,.16);
  border:1px solid rgba(128,90,255,.28);
  color:var(--text);
}

/* Plans grid moved to Plans Page Styles section below */
.plan-head{
  padding:16px 16px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.plan-name{
  font-size:14px;
  letter-spacing:0.10em;
  text-transform:uppercase;
  font-weight:400;
}
.recommended{
  font-size:12px;
  color:var(--bad);
  font-weight:400;
}

.plan-body{padding:0 16px 16px; display:flex; flex-direction:column; gap:12px; flex:1}

.price-box{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.18);
  border-radius:14px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.mini-switch{
  display:inline-flex;
  gap:6px;
  padding:6px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.02);
  width:max-content;
  margin:0 auto; /* center */
}

.mini-switch button{
  cursor:pointer;
  border:0;
  background:transparent;
  color:rgba(233,238,247,.70);
  font-size:12px;
  padding:7px 10px;
  border-radius:999px;
  font-family:var(--font);
  white-space:nowrap;
}

.mini-switch button.is-active{
  background:rgba(128,90,255,.16);
  border:1px solid rgba(128,90,255,.28);
  color:var(--text);
}

.price-line{
  display:flex;
  align-items:baseline;
  justify-content:flex-start;
  gap:8px;
  margin-top:2px;
}
.price{
  font-size:15px;   /* smaller */
  font-weight:400;  /* no heavy bold */
}
.per{
  font-size:12px;
  color:rgba(233,238,247,.62);
}

/* ===== Features table ===== */
.features-block{margin-top:22px;}
.features-label{
  color:rgba(233,238,247,.62);
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  margin:0 0 10px 2px;
}

.table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.18);
}

.table th, .table td{
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.06);
  font-size:13px;
}
.table th{
  color:rgba(233,238,247,.70);
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.10em;
  font-size:11px;
}
.table tr:last-child td{border-bottom:0}
.table td:first-child{color:rgba(233,238,247,.78)}
.table td:not(:first-child){text-align:center}

.yes{color:var(--good); font-weight:400}
.no{color:var(--bad); font-weight:400}

.note{
  margin-top:10px;
  color:rgba(233,238,247,.55);
  font-size:12px;
}

.hidden{display:none !important}

/* Safety: hidden attribute must ALWAYS hide elements */
[hidden]{display:none !important}

/* ===== Footer ===== */
.footer{
  border-top:1px solid rgba(255,255,255,.06);
  background: rgba(6,8,12,.35);
}
.footer-inner{
  max-width:1140px;
  margin:0 auto;
  padding:16px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:rgba(233,238,247,.55);
  font-size:12px;
}
.footer-right{display:flex; gap:14px}
.footer-link{color:rgba(233,238,247,.60)}
.footer-link:hover{color:rgba(233,238,247,.86)}

/* Responsive */
@media (max-width: 980px){
  .nav{display:none}
  .plans-grid{grid-template-columns: 1fr;}
  .h1{font-size:38px}
}

/* GLOBAL: disable bold everywhere */
html, body{
  font-weight: 400;
}

/* kill <b>/<strong> */
b, strong{
  font-weight: 400 !important;
}

/* kill bold via common elements */
h1,h2,h3,h4,h5,h6{
  font-weight: 400 !important;
}

/* kill bold in buttons/links/labels */
button, .btn, a, label, th{
  font-weight: 400 !important;
}

/* kill any explicit bold classes */
.fw-bold, .font-bold, .bold, .is-bold{
  font-weight: 400 !important;
}

/* Fix dropdown "bianchi" su PC (lingue + crypto) - COMPREHENSIVE */
select, 
select option,
.crypto-select,
.crypto-select option {
  background-color: rgba(10, 12, 20, 0.98) !important;
  color: #ffffff !important;
  color-scheme: dark;
}

select,
.crypto-select {
  border: 1px solid rgba(255,255,255,0.14) !important;
  background-color: rgba(0,0,0,0.35) !important;
  color: rgba(255,255,255,0.92) !important;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

select:focus,
.crypto-select:focus {
  outline: none;
  border-color: rgba(128,90,255,0.35) !important;
  box-shadow: 0 0 0 3px rgba(128,90,255,0.25);
  background-color: rgba(0,0,0,0.40) !important;
}

select:hover,
.crypto-select:hover {
  background-color: rgba(0,0,0,0.45) !important;
  border-color: rgba(255,255,255,0.18) !important;
}

select option,
.crypto-select option {
  background-color: #0b0f16 !important;
  color: #e8eefc !important;
  padding: 8px 12px;
}

select option:checked,
select option:selected,
.crypto-select option:checked,
.crypto-select option:selected {
  background-color: rgba(128,90,255,0.22) !important;
  color: rgba(255,255,255,0.95) !important;
}

/* Language dropdown specific */
.lang select,
.topbar .lang select,
header .lang select,
#langSelect {
  background-color: rgba(0,0,0,0.35) !important;
  color: rgba(255,255,255,0.92) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
}

.lang select option,
.topbar .lang select option,
header .lang select option,
#langSelect option {
  background-color: #0b0f16 !important;
  color: #e8eefc !important;
}

.lang select option:checked,
.lang select option:selected,
#langSelect option:checked,
#langSelect option:selected {
  background-color: rgba(128,90,255,0.22) !important;
  color: rgba(255,255,255,0.95) !important;
}

/* ===== Card borders - Reference glow (NO inner frame) ===== */

.dl-card,
.download-card,
.home-hub-feature-card,
.home-hub-security-card,
.om1-card,
.ft-card,
.plan-card,
.download-cta,
.home-hub-final-cta,
.om1-tl__item,
.partner-pill,
.card {
  position: relative;
  border: 1px solid rgba(120,235,255,0.22) !important;
}

/* Single neon frame + bright highlight like reference */
.dl-card::after,
.download-card::after,
.home-hub-feature-card::after,
.home-hub-security-card::after,
.om1-card::after,
.ft-card::after,
.plan-card::after,
.download-cta::after,
.home-hub-final-cta::after,
.om1-tl__item::after,
.partner-pill::after,
.card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;

  /* 1) glow esterno + 2) linea "neon" sottile */
  box-shadow:
    0 0 0 1px rgba(120,235,255,0.16),
    0 0 26px rgba(120,235,255,0.18),
    0 0 70px rgba(120,235,255,0.10);

  /* highlight bar in alto + flare angoli (NO background changes) */
  background:
    /* top highlight */
    linear-gradient(180deg, rgba(180,255,255,0.18), rgba(255,255,255,0) 38%),
    /* corner flares */
    radial-gradient(140px 90px at 10% 10%, rgba(180,255,255,0.20), rgba(255,255,255,0) 60%),
    radial-gradient(140px 90px at 90% 10%, rgba(180,255,255,0.16), rgba(255,255,255,0) 62%);
  mix-blend-mode: screen;
  opacity: .55;
}

/* hover leggero */
.dl-card:hover,
.download-card:hover,
.home-hub-feature-card:hover,
.home-hub-security-card:hover,
.om1-card:hover,
.ft-card:hover,
.plan-card:hover,
.download-cta:hover,
.home-hub-final-cta:hover,
.om1-tl__item:hover,
.partner-pill:hover,
.card:hover {
  border-color: rgba(120,235,255,0.38) !important;
}

.dl-card:hover::after,
.download-card:hover::after,
.home-hub-feature-card:hover::after,
.home-hub-security-card:hover::after,
.om1-card:hover::after,
.ft-card:hover::after,
.plan-card:hover::after,
.download-cta:hover::after,
.home-hub-final-cta:hover::after,
.om1-tl__item:hover::after,
.partner-pill:hover::after,
.card:hover::after {
  opacity: .72;
  box-shadow:
    0 0 0 1px rgba(120,235,255,0.22),
    0 0 32px rgba(120,235,255,0.22),
    0 0 90px rgba(120,235,255,0.12);
}

/* contenuto sopra al bordo */
.dl-card > *,
.download-card > *,
.home-hub-feature-card > *,
.home-hub-security-card > *,
.om1-card > *,
.ft-card > *,
.plan-card > *,
.download-cta > *,
.home-hub-final-cta > *,
.om1-tl__item > *,
.partner-pill > *,
.card > * {
  position: relative;
  z-index: 2;
}

/* Certified partners: fallback when image is missing (resolveImageUrl returns null) */
.partner-logo-fallback {
  width: 100%;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px dashed rgba(255,255,255,0.25);
  border-radius: 12px;
  opacity: 0.85;
  font-size: 14px;
}

/* Divider coerenti con accent verde */
hr,
.divider {
  border-color: rgba(0, 255, 170, 0.28);
  background-color: rgba(0, 255, 170, 0.28);
}

/* ===== Plans Page Styles ===== */
/* Copia CSS di om1-tl__item da roadmap_public.php per renderlo disponibile globalmente */
.om1-tl{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.om1-tl__item{border-radius:18px;padding:12px;border:1px solid rgba(0,255,170,.22);background:rgba(255,255,255,.03);background-image:none !important}
.om1-tl__dot{width:38px;height:38px;border-radius:999px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.22);margin:0 auto 10px auto;font-size:20px}
.om1-tl__title{text-align:center;font-weight:400;font-size:16px;margin-bottom:8px;color:rgba(233,238,247,.95)}
.om1-tl__list{margin:0;padding-left:18px;line-height:1.55}
.om1-tl__list li{margin:6px 0;opacity:.95;font-size:14px;line-height:1.55;color:rgba(233,238,247,.85)}
.future-desc{margin-top:8px;font-size:14px;opacity:.85;line-height:1.35;text-align:center;color:rgba(255,255,255,.85)}

.plans-page{max-width:1120px;margin:28px auto 44px;padding:0 18px}

/* Plans benefits: centered title, spacing from cards, Inter always */
.plans-benefits {
  margin-top: 34px;
}
.plans-benefits-head {
  display: flex;
  justify-content: center;
  margin: 0 auto 14px;
  text-align: center;
}
.plans-benefits-title {
  margin: 0;
  line-height: 1.05;
}
@media (max-width: 640px) {
  .plans-benefits { margin-top: 26px; }
}
.benefits-table-wrap {
  overflow-x: auto;
  border-radius: 18px;
  margin-top: 6px;
}
.benefits-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 860px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  overflow: hidden;
}
.benefits-table th,
.benefits-table td {
  padding: 14px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.88);
  font-size: 14px;
}
.benefits-table thead th {
  font-weight: 700;
  color: rgba(255,255,255,0.92);
  background: rgba(255,255,255,0.02);
}
.benefits-table tbody tr:last-child td {
  border-bottom: 0;
}
.benefits-table .c-n { width: 56px; text-align: center; color: rgba(255,255,255,0.65); }
.benefits-table .c-ic { width: 84px; text-align: center; }
.benefits-table .ic {
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  line-height: 1;
  border-radius: 4px;
}
.benefits-table .ic.ok { color: #39d98a; }
.benefits-table .ic.no { color: #ff4d6d; }

/* Grid Plans: 3 card (PRO, MAX, Lifetime) */
.plans-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:16px;
  align-items:stretch;
}

.plans-grid > *{height:100%}

/* Stili aggiuntivi per Plans - allineamento coerente */
.om1-tl__item.plan-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-height:0;

  /* più aria */
  padding:22px 20px 20px;
  gap:14px;

  height:100%;
}

@media(min-width:1100px){
  .om1-tl__item.plan-card{min-height:430px}
}

/* Struttura card Plans con centratura verticale prezzi */
.plan-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

.plan-top{
  width:100%;
  margin-top: 6px !important;
  margin-bottom: 18px !important; /* increased spacing after header */
}

.plan-toggle-slot{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;

  /* più aria sopra e sotto */
  margin-top:0;
  margin-bottom:20px;

  width:100%;
}

.plan-toggle-slot--empty{
  visibility:hidden;
}

.plan-middle{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  /* più respiro */
  gap:22px;
  padding:4px 18px 0;
  width:100%;
}

.plan-bottom{
  margin-top:auto;
  /* più respiro tra prezzo e note */
  padding-top:16px;
  padding-bottom:0;
  width:100%;
}

/* Zone layout uniforme */
.plan-top-zone{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0; /* ridotto da 8px a 0 perché ora icona+nome sono nello stesso elemento */
}

.plan-desc-zone{
  width:100%;
  min-height:0;
  height:0;
  margin-top:0;
  padding:0;
  display:flex;
  justify-content:center;
  align-items:center;
  opacity:.85;
}

.plan-desc-zone:empty{
  height:10px;
}

.plan-list-zone{
  width:100%;
  flex:1;
  display:flex;
  justify-content:center;
}

.plan-footer-zone{
  width:100%;
  margin-top:auto;
  padding-top:8px;
}

.plan-footer-zone:empty{
  padding-top:0;
  margin-top:auto;
  min-height:22px;
}

.om1-tl__item.plan-card .plan-head{
  width:100%;
  display:flex;
  flex-direction:row; /* cambiato da column a row per affiancare icona+nome */
  align-items:center;
  justify-content:center;
  gap:10px;
}

.plan-badge-inline{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);white-space:nowrap;opacity:.9;color:rgba(233,238,247,.85);display:inline-block}

.plan-badge-row{
  display:flex;
  gap:8px;
  justify-content:center;
  align-items:center;
}

.plan-badge-btc{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  font-size:14px;
  color:#f7931a;
  border-color:rgba(247,147,26,.35);
  background:rgba(247,147,26,.10);
}

/* Prezzo unico standard per tutte le card */
.plan-price,
.plan-price-lines,
.plan-price-lines div{
  font-size:22px;
  font-weight:400;
  letter-spacing:0;
  line-height:1.25;
  margin:0;
  color:rgba(233,238,247,.95);
  text-align:center;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:8px;
  white-space:nowrap; /* prevent wrapping */
  flex-wrap:nowrap; /* prevent flex items from wrapping */
}

.plan-price__amount{
  font-weight:500; /* Medium/Semibold for better visibility */
  white-space:nowrap; /* prevent wrapping */
  flex-shrink:0; /* prevent shrinking */
}

.plan-price__suffix{
  font-weight:500; /* Medium */
  white-space:nowrap; /* prevent wrapping */
  flex-shrink:0; /* prevent shrinking */
}

.plan-price__suffix{
  opacity:0.85;
}

.plan-price__suffix--placeholder{
  visibility:hidden;
}

.plan-price--empty{
  height:28px;
  width:100%;
}

.btc-icon{
  color:#f7931a;
  margin-left:6px;
}

.plan-toggle--lifetime .toggle-btn{
  white-space:nowrap;
}

.plan-price-wrap{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
}

.plan-price-lines{
  opacity:.95;
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
}

.plan-price-lines.is-visible{
  display:flex;
}

.plan-price-lines div{
  margin:0;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:8px;
}

.plan-price{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:8px;
  width:100%;
  text-align:center;
  margin:0;
  padding:0;
  line-height:1.2;
}

/* Mini card sotto prezzo */
.plan-mini{
  display:flex;
  justify-content:center;
  width:100%;
  margin:0;
}

/* Override per eventuali tag strong dentro i prezzi */
.plan-price strong,
.plan-price-lines strong,
.plan-price-lines div strong{
  font-weight:400;
}

.plan-desc{max-width:320px;opacity:.85;font-size:14px;line-height:1.35;color:rgba(233,238,247,.75);text-align:center}

.plan-list{width:100%;max-width:320px;margin:0;padding-left:18px;text-align:left;line-height:1.55}

.plan-cta{display:block;width:100%;text-align:center;padding:11px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);text-decoration:none;color:rgba(233,238,247,.92);font-size:14px;transition:all 0.2s ease}
.plan-cta:hover{border-color:var(--om1-accent, rgba(0,255,170,.55));background:rgba(255,255,255,.09)}

.plan-note{
  font-size:13px;
  opacity:.75;
  line-height:1.4;
  margin-top:8px;
  color:rgba(233,238,247,.75);
  text-align:center;
  max-width:100%;
}

/* Switch toggle pill */
.plan-toggle{
  display:inline-flex;
  gap:6px;
  padding:6px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  margin:0 auto;
}

.toggle-btn{
  appearance:none;
  border:0;
  cursor:pointer;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  color:rgba(255,255,255,.85);
  background:transparent;
  font-family:inherit;
  transition:all 0.2s ease;
}

.toggle-btn:hover{
  color:rgba(255,255,255,.95);
}

.toggle-btn.is-active{
  color:rgba(255,255,255,1);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(0,255,170,.22);
}

/* plan-price-wrap and plan-price-lines visibility moved above */

.plans-compare{margin-top:18px}
.compare-table-wrap{margin-top:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.compare-table-wrap table{width:100%;min-width:760px;border-collapse:collapse}
.compare-table-wrap th,.compare-table-wrap td{padding:10px 8px;border-top:1px solid rgba(255,255,255,.08);font-size:14px;vertical-align:middle}
.compare-table-wrap thead th{border-top:0;opacity:.9;color:rgba(233,238,247,.85);font-weight:400}
.compare-table-wrap tbody td{color:rgba(233,238,247,.75)}
.compare-col-feature{text-align:left;white-space:normal}
.compare-col-plan{text-align:center;white-space:nowrap}

/* Icone compare table */
.cmp-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:999px;
  font-size:14px;
  line-height:1;
  border:1px solid rgba(255,255,255,.12);
}

.cmp-yes{
  color:#2ecc71;
  background:rgba(46,204,113,.10);
}

.cmp-no{
  color:#ff4d4f;
  background:rgba(255,77,79,.10);
}

.cmp-mix{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.cmp-note{
  opacity:.9;
  font-size:13px;
}

@media(max-width:1200px){
  .plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .om1-tl__item.plan-card{min-height:0}
  .plan-toggle-slot{min-height:46px}
}

@media(max-width:980px){
  .plans-title{font-size:34px}
  .plans-grid{grid-template-columns:1fr}
  .om1-tl{grid-template-columns:repeat(2,1fr)}
  .om1-tl__item.plan-card{min-height:0}
  .plan-toggle-slot{min-height:46px}
  .compare-table-wrap table{min-width:640px}
}

/* ===== Beta Test Banner ===== */
.beta-banner{
  max-width:1120px;
  margin:18px auto 22px;
  padding:18px 18px 16px;
  border-radius:18px;
  border:1px solid rgba(120,255,190,.35);
  background:
    radial-gradient(1200px 300px at 10% 0%, rgba(155,90,255,.22), transparent 55%),
    radial-gradient(900px 260px at 90% 20%, rgba(120,255,190,.18), transparent 55%),
    rgba(255,255,255,.04);
  box-shadow:0 10px 40px rgba(0,0,0,.35);
}

.beta-banner__top{
  text-align:center;
}

.beta-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  font-size:12px;
  opacity:.9;
  color:rgba(233,238,247,.85);
  margin:0 auto;
}

.beta-title{
  margin-top:12px;
  font-size:22px;
  font-weight:600;
  color:rgba(233,238,247,.95);
}

.beta-subtitle{
  margin:8px auto 0;
  font-size:12px;
  opacity:.86;
  line-height:1.2;
  max-width:920px;
  color:rgba(233,238,247,.85);
}

.beta-progress{margin-top:14px}

.beta-progress__meta{
  display:flex;
  justify-content:center;
  align-items:center;
  font-size:12px;
  opacity:.85;
  margin-bottom:8px;
  color:rgba(233,238,247,.85);
}

.beta-count{
  font-size:12px;
  opacity:.85;
}

.beta-bar{
  height:12px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.28);
}

.beta-bar__fill{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(120,255,190,.85), rgba(155,90,255,.75));
  transition:width 0.3s ease;
}

.beta-note{
  margin-top:8px;
  font-size:12px;
  opacity:.75;
  color:rgba(233,238,247,.75);
}

@media(max-width:980px){
  .beta-banner{margin:14px 14px 18px}
  .beta-title{font-size:18px}
  body{background-attachment:scroll}
}

/* =========================
   MOBILE OVERRIDES (GLOBAL)
   ========================= */

/* 1) Stop overflow orizzontale globale */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
img, svg, video {
  max-width: 100%;
  height: auto;
}

/* Alcuni componenti possono "spingere" fuori: forziamo contenimento */
.wrap, .container, main, .page, .app {
  max-width: 100%;
}

/* Titolo pagina centrato (es. Certified Partners) */
.page-title-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* 2) Container: padding mobile coerente */
@media (max-width: 900px) {
  .container { padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 680px) {
  .wrap { padding: 14px 14px 52px; }
  .container { padding: 16px 14px 56px; }
  .topbar-inner { padding: 12px 14px; }
}

@media (max-width: 480px) {
  .wrap { padding: 12px 12px 48px; }
  .container { padding: 14px 12px 52px; }
  .topbar-inner { padding: 10px 12px; }
}

/* 3) Background: niente fixed su mobile (iOS Safari) */
@media (max-width: 980px) {
  body { background-attachment: scroll; }
}

/* Extra sicurezza per telefoni: */
@media (max-width: 480px) {
  body {
    background-attachment: scroll;
    /* evita "zoom" e repaint aggressivi */
    background-position: center top;
    background-size: cover;
  }
}

/* 4) Plans: griglie e card perfette su 390px */
@media (max-width: 480px) {
  /* qualunque griglia piani deve essere 1 colonna */
  .plans-grid { grid-template-columns: 1fr !important; gap: 12px; }
  .om1-tl { grid-template-columns: 1fr !important; gap: 12px; }

  /* card: riduci "aria" eccessiva, più compatte */
  .om1-tl__item.plan-card {
    padding: 14px 12px 12px;
    border-radius: 16px;
  }

  /* Titoli e testi: evita "gigante" */
  .plans-title { font-size: 28px; line-height: 1.15; }
  .plans-page { padding: 0 12px; }
}

/* 5) Compare table: scroll interno, pagina ferma (NO OVERFLOW BODY) */
.compare-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  border-radius: 16px;
}

/* Evita che la tabella spinga il layout */
.compare-table-wrap table {
  display: table;
  max-width: none; /* deve poter essere più larga, ma SOLO dentro wrapper */
}

/* Mobile: riduci min-width e padding celle per leggibilità */
@media (max-width: 480px) {
  .compare-table-wrap { margin-left: 0; margin-right: 0; }
  .compare-table-wrap table { min-width: 560px; } /* abbastanza per contenuti, meno invasivo */
  .compare-table-wrap th, .compare-table-wrap td { padding: 8px 6px; font-size: 12px; }
}

/* =========================
   PLANS CARDS: ICONA + NOME AFFIANCATI
   ========================= */

/* Plans header: perfect center alignment icon + name */
.plan-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  text-align:center;
  margin: 0 auto;
}

.plan-title .plan-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;              /* fissa -> niente shift */
  height:32px;
  line-height:1;
  font-size:22px;          /* uniforme */
  transform: translateY(1px); /* micro baseline fix per emoji */
  flex: 0 0 32px;
}

.plan-title .plan-name{
  display:inline-block;
  line-height:1;
  letter-spacing: .08em;   /* se usi uppercase tech */
  text-transform: uppercase;
  white-space: nowrap;
}

/* Legacy support: mantieni compatibilità con vecchio markup */
.plan-top-zone .plan-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-top: 6px;
  padding-bottom: 6px;
  flex-direction: row;
}

.plan-head .om1-tl__dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  flex-shrink: 0;
}

.plan-head .om1-tl__title {
  display: inline-block;
  margin: 0 !important;
  padding: 0;
  line-height: 1.1;
  white-space: nowrap;
  text-align: center;
}

/* Compatta leggermente la card (se oggi è troppo ariosa) */
.om1-tl__item.plan-card {
  padding-top: 14px; /* riduci se era alto */
  padding-bottom: 14px;
}

/* Fix per h2/h3 dentro plan-card */
.plan-card h2,
.plan-card h3{
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-align: center;
}

/* Assicura che plan-header sia centrato */
.plan-header{
  display:flex;
  flex-direction:column;
  align-items:center;
}

/* Mobile: se lo spazio è poco, permetti wrap elegante */
@media (max-width: 420px) {
  .plan-title {
    gap: 8px;
  }
  .plan-title .plan-name {
    white-space: normal; /* su schermi stretti può andare a capo */
    text-align: center;
  }
  .plan-top-zone .plan-head {
    gap: 8px;
  }
  .plan-head .om1-tl__title {
    white-space: normal; /* su schermi stretti può andare a capo */
    text-align: center;
  }
}

/* =========================
   COMPACT PLAN CARDS
   ========================= */

/* Card più bassa - override padding esistente */
.plans-grid .om1-tl__item.plan-card,
.om1-tl.plans-grid .om1-tl__item.plan-card {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 12px;
  padding-right: 12px;
}

/* Rimuove min-height su desktop per permettere card più basse */
@media(min-width:1100px){
  .plans-grid .om1-tl__item.plan-card,
  .om1-tl.plans-grid .om1-tl__item.plan-card {
    min-height: unset !important;
  }
}

/* Header (icona + nome) più compatto */
.plans-grid .plan-title,
.plans-grid .plan-head,
.om1-tl.plans-grid .plan-title,
.om1-tl.plans-grid .plan-head {
  gap: 6px; /* ridotto da 8px */
  padding-top: 2px; /* ridotto da 4px */
  padding-bottom: 2px; /* ridotto da 4px */
  margin-bottom: 6px; /* ridotto da 8px */
}

/* Compatta plan-top-zone */
.plans-grid .plan-top-zone,
.om1-tl.plans-grid .plan-top-zone {
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* Compatta plan-top */
.plans-grid .plan-top,
.om1-tl.plans-grid .plan-top {
  margin-bottom: 0;
  padding-bottom: 0;
}

/* Riduci spazio sopra/sotto ai blocchi testuali dentro la card */
.plans-grid .plan-card p,
.plans-grid .plan-card .plan-desc,
.plans-grid .plan-card .plan-subtitle,
.plans-grid .plan-card .plan-meta,
.plans-grid .plan-card .plan-note,
.om1-tl.plans-grid .plan-card p,
.om1-tl.plans-grid .plan-card .plan-desc,
.om1-tl.plans-grid .plan-card .plan-subtitle,
.om1-tl.plans-grid .plan-card .plan-meta,
.om1-tl.plans-grid .plan-card .plan-note {
  margin-top: 4px; /* ridotto da 6px */
  margin-bottom: 4px; /* ridotto da 6px */
}

/* Liste benefici: più strette */
.plans-grid .plan-card ul,
.om1-tl.plans-grid .plan-card ul {
  margin-top: 4px; /* ridotto da 6px */
  margin-bottom: 4px; /* ridotto da 6px */
  padding-left: 16px; /* meno indent */
}
.plans-grid .plan-card li,
.om1-tl.plans-grid .plan-card li {
  margin: 2px 0; /* ridotto da 3px */
}

/* Compatta plan-middle (prezzi e badge) */
.plans-grid .plan-middle,
.om1-tl.plans-grid .plan-middle {
  gap: 10px !important; /* ridotto da 12px */
  padding: 0 12px !important; /* prima 0 16px */
}

/* Compatta plan-toggle-slot */
.plans-grid .plan-toggle-slot,
.om1-tl.plans-grid .plan-toggle-slot {
  min-height: 36px !important; /* ridotto da 40px */
  margin-top: 4px !important; /* ridotto da 6px */
  margin-bottom: 4px !important; /* aggiunto per controllo */
}

/* Compatta plan-bottom */
.plans-grid .plan-bottom,
.om1-tl.plans-grid .plan-bottom {
  padding-bottom: 10px !important; /* ridotto da 12px */
  margin-top: 0 !important; /* rimuove margin-top:auto se presente */
}

/* Compatta plan-footer-zone */
.plans-grid .plan-footer-zone,
.om1-tl.plans-grid .plan-footer-zone {
  padding-top: 4px !important; /* ridotto da 6px */
  margin-top: 0 !important; /* rimuove margin-top:auto se presente */
}

/* Compatta plan-mini (badge) */
.plans-grid .plan-mini,
.om1-tl.plans-grid .plan-mini {
  margin-top: 3px; /* ridotto da 4px */
  margin-bottom: 3px; /* ridotto da 4px */
}

/* Compatta plan-price-wrap e plan-price */
.plans-grid .plan-price-wrap,
.plans-grid .plan-price,
.om1-tl.plans-grid .plan-price-wrap,
.om1-tl.plans-grid .plan-price {
  margin-top: 0;
  margin-bottom: 0;
}

/* Compatta plan-note */
.plans-grid .plan-note,
.om1-tl.plans-grid .plan-note {
  margin-top: 2px !important; /* ridotto da 3px */
  margin-bottom: 0;
  line-height: 1.25; /* leggermente più compatto */
}

/* Compatta elementi vuoti */
.plans-grid .plan-price--empty,
.om1-tl.plans-grid .plan-price--empty {
  height: 16px !important; /* ridotto da 20px */
}

/* Assicura che toggle-slot vuoto non occupi spazio */
.plans-grid .plan-toggle-slot--empty,
.om1-tl.plans-grid .plan-toggle-slot--empty {
  display: none !important; /* più efficace di visibility:hidden */
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

/* Rimuove eventuali gap extra dalla card stessa */
.plans-grid .om1-tl__item.plan-card,
.om1-tl.plans-grid .om1-tl__item.plan-card {
  gap: 6px !important; /* ridotto da 8px se presente */
}

/* Compatta plan-price-wrap gap interno */
.plans-grid .plan-price-wrap,
.om1-tl.plans-grid .plan-price-wrap {
  gap: 0 !important; /* rimuove gap interno se presente */
}

/* Compatta plan-price-lines */
.plans-grid .plan-price-lines,
.om1-tl.plans-grid .plan-price-lines {
  margin: 0 !important;
  padding: 0 !important;
}

/* Mobile: ancora più compatto (senza esagerare) */
@media (max-width: 480px) {
  .plans-grid .om1-tl__item.plan-card,
  .om1-tl.plans-grid .om1-tl__item.plan-card {
    padding-top: 9px; /* ridotto da 11px */
    padding-bottom: 9px; /* ridotto da 11px */
  }
  .plans-grid .plan-title,
  .plans-grid .plan-head,
  .om1-tl.plans-grid .plan-title,
  .om1-tl.plans-grid .plan-head {
    margin-bottom: 5px; /* ridotto da 7px */
    gap: 5px; /* ridotto ulteriormente su mobile */
  }
  .plans-grid .plan-card li,
  .om1-tl.plans-grid .plan-card li {
    margin: 1px 0; /* ridotto da 2px */
  }
  .plans-grid .plan-middle,
  .om1-tl.plans-grid .plan-middle {
    gap: 8px !important; /* ridotto da 10px */
  }
  .plans-grid .plan-toggle-slot,
  .om1-tl.plans-grid .plan-toggle-slot {
    min-height: 34px !important; /* ridotto ulteriormente su mobile */
    margin-top: 3px !important;
  }
}

/* =========================
   COMMUNITY CARDS GRID
   ========================= */

/* Community cards grid - già definito inline in community.php, ma aggiungiamo override se necessario */
.community-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 32px;
}

.community-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 24px;
  border: 1px solid rgba(0, 255, 170, 0.22);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.03);
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease;
}

.community-card:hover {
  border-color: rgba(0, 255, 170, 0.55);
  background: rgba(255, 255, 255, 0.05);
  transform: translateY(-2px);
}

.community-card--locked {
  opacity: 0.85;
  position: relative;
}

.community-card--locked:hover {
  opacity: 0.95;
  border-color: rgba(128, 90, 255, 0.4);
}

.community-card__icon {
  font-size: 48px;
  margin-bottom: 12px;
}

.community-card__title {
  font-size: 20px;
  font-weight: 400;
  margin: 0 0 8px;
  color: rgba(233, 238, 247, 0.95);
}

.community-card__badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(128, 90, 255, 0.4);
  background: rgba(128, 90, 255, 0.15);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(233, 238, 247, 0.85);
  margin-bottom: 8px;
}

.community-card__desc {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(233, 238, 247, 0.7);
  margin: 0;
}

@media (max-width: 680px) {
  .community-cards-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

@media (max-width: 480px) {
  .community-cards-grid {
    gap: 12px;
  }
  .community-card {
    padding: 20px 16px;
  }
  .community-card__icon {
    font-size: 40px;
    margin-bottom: 10px;
  }
  .community-card__title {
    font-size: 18px;
  }
}

/* Plans: remove circle around subscription icons (⚡👑 etc.) */
.plan-card .om1-tl__dot{
  width:auto !important;
  height:auto !important;
  border-radius:0 !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  margin:0 10px 0 0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Plans: make subscription cards taller for extra descriptions - Professional spacing */
.om1-tl__item.plan-card{
  min-height: 360px !important;    /* prima era troppo basso */
  padding: 24px 20px 20px !important; /* increased padding for more breathing room */
  gap: 16px !important;
}

/* More breathing room between price and bottom area */
.plan-middle{
  gap: 0 !important; /* gap handled by individual margins */
  padding: 0 !important;
  margin-bottom: 16px !important; /* spacing after price */
}

/* Bottom area: keep space for future descriptions */
.plan-bottom{
  padding-top: 14px !important;
}

/* Optional: ensure any new description text looks good */
.plan-desc,
.plan-subdesc,
.plan-note{
  font-size: 13px;
  line-height: 1.55;
  color: rgba(233,238,247,.62);
  margin: 0;
  text-align: center;
  max-width: 48ch;
}

/* =========================
   RTL SUPPORT FOR URDU
   ========================= */

/* RTL: Features cards, Token cards, Plan cards text alignment */
html[dir="rtl"] .ft-card,
html[dir="rtl"] .token-card,
html[dir="rtl"] .plan-card {
  text-align: right;
}

/* RTL: Icon margins adjustment */
html[dir="rtl"] .ft-ico,
html[dir="rtl"] .token-ico {
  margin-left: 0;
  margin-right: 0;
}

/* ============================================
   MOBILE OPTIMIZATION (Smartphone)
   ============================================ */

@media (max-width: 900px) {
  /* NAV: mai fixed/sticky su mobile */
  .topbar, .navbar, .nav, header, .topbar-inner {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }

  /* Se hai padding-top messo per nav sticky, toglilo */
  body {
    padding-top: 0 !important;
  }

  /* Spaziatura generale */
  .container, .wrap, .page, main {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Menu pills: wrap e non escono dallo schermo */
  .nav-pills, .menu, .top-nav, .nav {
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: center !important;
  }

  /* Dropdown lingua: non deve uscire */
  .lang, .lang-select, .language-select {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }

  /* Cards: da 3 colonne → 1 colonna */
  .grid, .cards, .ft-grid, .features-grid, .plans-grid, .download-platforms, .download-grid, .steps-grid, .token-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* Titoli troppo grandi e overflow testo */
  h1 { 
    font-size: 34px !important; 
    line-height: 1.05 !important; 
  }
  h2 { 
    font-size: 22px !important; 
  }
  h3 { 
    font-size: 16px !important; 
  }

  .card-title, .section-title, .headline {
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .price, .price-row, .plan-price {
    font-size: 34px !important; /* rimpicciolisce i prezzi su mobile */
    letter-spacing: 0.02em !important;
  }

  /* Footer: link in wrap e centrati */
  .footer .footer-links, .footer-links, .footer-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 14px !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .footer .footer-bar, .footer-bar, .footer-inner {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: center !important;
  }
}

/* Tablet piccoli: 2 colonne */
@media (min-width: 600px) and (max-width: 900px) {
  .ft-grid, .features-grid, .plans-grid, .download-platforms, .download-grid, .steps-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* How it works: steps grid - 2 colonne su mobile se c'è spazio */
@media (max-width: 900px) {
  .how-grid, .steps-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* How it works: 1 colonna su schermi molto piccoli */
@media (max-width: 520px) {
  .how-grid, .steps-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================
   FALLBACK: Nascondi badge "BADGE" ovunque
   ============================================ */
.step-badge,
.badge,
.pill.badge,
.how-badge,
[class*="badge"]:not(.home-hub-badge):not(.community-card__badge):not(.plan-badge-inline):not(.beta-badge):not(.dl-status):not(.om1-badge) {
  display: none !important;
}

/* ===========================
   Mobile Hamburger Menu (ONLY)
   =========================== */

/* Default (desktop): hamburger e menu mobile nascosti */
.hamburger { display: none; }
.mobile-menu-overlay { display: none; }
.mobile-menu { display: none; }

/* Utility: in desktop mostrati, in mobile nascosti */
.desktop-only { display: flex; }
.mobile-only { display: none; }

/* Mobile breakpoint: 860px (coerente col layout.php) */
@media (max-width: 860px) {
  /* Desktop nav + desktop lang off */
  .desktop-only { display: none !important; }

  /* I vecchi dropdown mobile NON servono più */
  .mobile-only.mobile-dropdowns { display: none !important; }

  /* Hamburger ON */
  .hamburger{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 999px;
    padding: 10px 12px;
    cursor: pointer;
  }

  .hamburger__line{
    display:block;
    width: 22px;
    height: 2px;
    margin: 4px 0;
    background: rgba(233,238,247,.92);
    border-radius: 999px;
  }

  /* Text button instead of hamburger lines */
  .hamburger--text {
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 12px;
    color: rgba(233,238,247,.92);
    padding: 10px 14px;
  }

  /* In caso restino regole per .hamburger__line */
  .hamburger__line { display: none !important; }

  /* Overlay + panel base */
  .mobile-menu-overlay{
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 9998;
  }

  .mobile-menu{
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: min(86vw, 360px);
    z-index: 9999;
    transform: translateX(100%);
    transition: transform 200ms ease;
    background: rgba(11,15,22,.98);
    border-left: 1px solid rgba(255,255,255,.10);
    box-shadow: -12px 0 30px rgba(0,0,0,.35);
    padding: 16px;
    overflow: auto;
  }

  /* Open state */
  body.mobile-menu-open .mobile-menu{
    transform: translateX(0);
  }
  body.mobile-menu-open .mobile-menu-overlay{
    display: block;
  }
  body.mobile-menu-open{
    overflow: hidden;
  }

  /* Panel typography */
  .mobile-menu__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 12px;
    padding-bottom: 10px;
  }
  .mobile-menu__title{
    font-weight: 700;
    font-size: 16px;
  }
  .mobile-menu__close{
    background: transparent;
    border: 1px solid rgba(255,255,255,.10);
    color: rgba(233,238,247,.92);
    border-radius: 999px;
    padding: 6px 10px;
    cursor:pointer;
    font-size: 18px;
    line-height: 1;
  }

  .mobile-menu__links{
    display:flex;
    flex-direction:column;
    gap: 10px;
    padding: 10px 0;
  }
  .mobile-menu__link{
    display:block;
    padding: 12px 12px;
    border-radius: 14px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
    text-decoration: none;
    color: inherit;
  }
  .mobile-menu__link.is-active{
    background: rgba(128,90,255,.22);
    border-color: rgba(128,90,255,.35);
  }

  .mobile-menu__divider{
    height: 1px;
    background: rgba(255,255,255,.12);
    margin: 12px 0;
  }

  .mobile-menu__section-title{
    font-size: 13px;
    opacity: .8;
    margin-bottom: 10px;
  }

  .mobile-menu__langs{
    display:flex;
    flex-wrap:wrap;
    gap: 8px;
  }
  .mobile-menu__lang{
    display:inline-block;
    padding: 10px 10px;
    border-radius: 12px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
    text-decoration: none;
    color: inherit;
  }
  .mobile-menu__lang.is-active{
    background: rgba(128,90,255,.22);
    border-color: rgba(128,90,255,.35);
  }
}

/* =========================
   Token page: wider layout
   ========================= */
@media (min-width: 980px) {
  .token-page.community-token-page {
    max-width: 1180px !important;
  }

  .token-page .token-ft-grid {
    gap: 18px;
  }

  .token-page .partner-strip-section {
    margin-top: 10px;
    margin-bottom: 20px;
  }

  .token-page .partner-strip__inner {
    gap: 14px;
    padding-bottom: 6px;
  }
}

/* =========================
   Token page: Certified Partners (marquee auto-scroll)
   ========================= */
/* Token page: center the Certified Partners title */
.token-partners__title{
  text-align: center;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 6px 0 12px 0;
  opacity: .9;
}

/* Global big section heading (same vibe as homepage FEATURES) */
.section-heading{
  text-align: center;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.05;
  font-size: clamp(28px, 4.2vw, 64px);
  color: rgba(255,255,255,0.92);
  margin: 0; /* spacing is handled by section wrapper */
}

/* ===== Plans Mode Switch (PRIVATO / AZIENDE) ===== */
.plans-modebar{
  width: min(1120px, 92vw);
  margin: 14px auto 18px auto;
  display:flex;
  justify-content:center;
}

.plans-modebar-inner{
  display:flex;
  align-items:center;
  gap:0;
  padding:10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(120,235,255,0.18);
  box-shadow: 0 0 24px rgba(120,235,255,0.10);
  background: rgba(10,12,18,0.35);
  backdrop-filter: blur(8px);
}

.plans-modebar-label{
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .75;
  padding-left: 4px;
}

.plans-mode-switch{
  display:flex;
  gap:8px;
  padding:6px;
  border-radius: 999px;
  border: 1px solid rgba(120,235,255,0.14);
  background: rgba(0,0,0,0.18);
}

.plans-mode-btn{
  border: 0;
  cursor:pointer;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  background: transparent;
  color: rgba(255,255,255,0.75);
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
  display:flex;
  align-items:center;
  gap:10px;
}

.plans-mode-btn.is-active{
  color: rgba(255,255,255,0.95);
  background: rgba(120,235,255,0.12);
  box-shadow: 0 0 0 1px rgba(120,235,255,0.20), 0 0 18px rgba(120,235,255,0.14);
}

.plans-mode-btn.is-disabled{
  cursor:not-allowed;
  opacity:.55;
}

.plans-mode-soon{
  font-size: 10px;
  letter-spacing: .12em;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.75);
}

/* Community token — spacing only (no typography changes) */
.certified-partners-title{
  margin-top: 48px;
  margin-bottom: 18px;
}

.community-token-partners-subtitle{
  margin-top: 22px;
  margin-bottom: 18px;
}

/* ===========================
   Community Token (scoped polish)
   NO content changes
   =========================== */

/* Base readability */
.community-token-page p,
.community-token-page li{
  line-height: 1.68;
  letter-spacing: .01em;
}

/* Ensure Inter on headings in this page (no global impact) */
.community-token-page h1,
.community-token-page h2,
.community-token-page h3,
.community-token-page .token-h2,
.community-token-page .token-h3,
.community-token-page .ft-title{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Hero / intro spacing */
.community-token-page .tokenHero{
  padding-top: 28px;
  padding-bottom: 18px;
  margin-bottom: 28px;
}
.community-token-page .tokenHero h1{
  line-height: 1.15;
  margin: 0 0 16px 0;
}
.community-token-page .tokenHero p{
  line-height: 1.75;
  max-width: 780px;
  margin: 0 auto;
}

/* Anti-scam notice spacing + list rhythm */
.community-token-page .notice{
  margin: 18px 0 30px 0;
  padding: 22px 26px;
}
.community-token-page .notice li{
  margin: 10px 0;
  line-height: 1.7;
}
.token-anti-scam{
  margin-top: 28px;
}

/* Certified Partners spacing ONLY (typography inherited from h1) */
.community-token-page .community-token-partners-subtitle{
  margin-top: 22px;
  margin-bottom: 18px;
}
.community-token-page .certified-partners-title{
  margin-top: 48px;
  margin-bottom: 18px;
  line-height: 1.08;
}

/* Certified Partners: always Inter */
.certified-partners-page,
.certified-partners-page * {
  font-family: var(--font) !important;
}

/* Certified Partner spotlight (About-us style) */
.cp-spotlight {
  margin-top: 36px;
  padding: 24px 0;
}

/* Certified Partners: subtle divider between partners */
.cp-divider {
  height: 1px;
  width: 100%;
  margin: 28px 0;
  background: rgba(255,255,255,0.10);
  box-shadow: 0 1px 0 rgba(0,0,0,0.35);
}

.cp-spotlight-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}
.cp-title {
  font-size: 44px;
  letter-spacing: -0.02em;
  margin: 0 0 12px 0;
  color: var(--text);
}
.cp-desc {
  opacity: 0.85;
  line-height: 1.6;
  margin: 0 0 18px 0;
  max-width: 56ch;
  color: var(--text);
}
.cp-metrics {
  display: flex;
  gap: 28px;
  margin-top: 8px;
}
.cp-metric-value {
  font-size: 44px;
  font-weight: 800;
  line-height: 1;
  color: var(--text);
}
.cp-metric-label {
  opacity: 0.85;
  margin-top: 6px;
  font-size: 14px;
  color: var(--text);
}
.cp-coming-soon {
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.75;
  color: var(--text);
}

/* Certified Partners: mini metric cards */
.cp-mini-cards {
  display: flex;
  gap: 14px;
  margin-top: 18px;
  flex-wrap: wrap;
}
.cp-mini-card {
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 10px 30px rgba(0,0,0,0.25);
  min-width: 160px;
}
.cp-mini-value {
  font-size: 40px;
  line-height: 1;
  font-weight: 700;
  margin: 0 0 6px 0;
}
/* When mini-value is text (e.g. COMING SOON), keep it compact */
.cp-mini-value--text {
  font-size: 22px;
  letter-spacing: 0.06em;
}
.cp-mini-label {
  font-size: 14px;
  opacity: 0.78;
  margin: 0;
}

/* Wide single mini card */
.cp-mini-card--wide {
  min-width: 320px;
}
@media (max-width: 520px) {
  .cp-mini-card--wide {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .cp-mini-card {
    min-width: 0;
    width: 100%;
  }
}

/* SIM RACING TEAM: JOIN IN button (reusable om1-btn) */
.om1-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(0,255,170,.25);
  background: rgba(0,255,170,.12);
  transition: background .2s, border-color .2s;
}
.om1-btn:hover {
  background: rgba(0,255,170,.18);
  border-color: rgba(0,255,170,.4);
}
.simracing-join-btn {
  margin-top: 18px;
}

/* Certified Partners: image card must hug the image (no empty borders) */
.cp-image-card {
  padding: 0 !important;
  overflow: hidden;
  border-radius: 18px;
  background: transparent !important;
  aspect-ratio: auto !important;
}

/* leggero highlight dietro il logo (glass glow) */
.cp-image-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(60% 60% at 50% 45%, rgba(255,255,255,0.12), rgba(255,255,255,0.00) 70%);
  pointer-events: none;
}

/* Let image define height (no crop, no empty space) */
.cp-image-card img {
  width: 100%;
  height: auto !important;
  display: block;
  object-fit: contain !important;
  object-position: center;
}

@media (max-width: 900px) {
  .cp-spotlight-grid {
    grid-template-columns: 1fr;
  }
  .cp-title {
    font-size: 34px;
  }
  .cp-metric-value {
    font-size: 38px;
  }
  /* Griglie → colonna su mobile */
  .ft-grid {
    grid-template-columns: 1fr !important;
  }
  .dl-android__wrap {
    grid-template-columns: 1fr !important;
  }
  /* Tap-friendly targets */
  .btn, button, .token-card-link {
    min-height: 44px;
  }
  .nav {
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
  }
  .card {
    border-radius: 16px;
  }
  .h1 {
    font-size: 34px;
  }
}

/* Token program card link (e.g. Liquidity Pool → liquidity-pools) */
.token-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.token-card-link:hover {
  transform: translateY(-1px);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
  border-color: rgba(255,255,255,0.18);
  box-shadow: 0 14px 40px rgba(0,0,0,0.35);
}
.token-card-link:focus-visible {
  outline: 2px solid rgba(255,255,255,0.35);
  outline-offset: 3px;
  border-radius: 16px;
}

.om1-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.om1-card-link:hover {
  text-decoration: none;
}

/* Liquidity Pools page */
.liquidity-page .muted {
  opacity: 0.85;
  margin-top: 6px;
  margin-bottom: 16px;
}

/* Leaderboard page: 2 cards (Top Holder / Top Certified Partner) */
.leaderboard-page {
  padding-top: 48px;
  padding-bottom: 60px;
}
.leaderboard-center {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.leaderboard-page .page-title { margin-bottom: 8px; }
.leaderboard-page .muted {
  margin-bottom: 24px;
  color: rgba(233,238,247,.65);
}
.leaderboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 26px;
  text-align: left;
}
@media (max-width: 780px) {
  .leaderboard-grid {
    grid-template-columns: 1fr;
  }
}
.leaderboard-page .lp-stat__meta {
  font-family: var(--font);
  font-size: 14px;
  font-weight: 500;
  opacity: 0.85;
  margin-top: 6px;
  word-break: break-all;
}

.om1-leaderboard-embed {
  margin-top: 36px;
}
.om1-leaderboard-embed-title {
  text-align: center;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.om1-leaderboard-embed-subtitle {
  text-align: center;
  font-size: 0.9rem;
  opacity: 0.85;
  margin: 4px 0 14px;
  letter-spacing: 0.02em;
}

/* Token info: forza Inter sul titolo */
.page-tokeninfo h1,
.page-tokeninfo .page-title {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 800;
  letter-spacing: -0.02em;
}

/* Token info: spazio sopra la sezione leaderboard */
.page-tokeninfo .om1-leaderboard-embed {
  margin-top: 36px;
}
.page-tokeninfo .om1-leaderboard-embed-title {
  margin-top: 0;
  margin-bottom: 18px;
}
.tokeninfo-heading {
  margin: 18px 0 14px;
}
.tokeninfo-lastupdate-card {
  margin: 16px auto 28px;
}

/* Homepage: frase sotto al logo */
.home-logo-subtitle {
  margin-top: 10px;
  text-align: center;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 16px;
  line-height: 1.45;
  color: rgba(255,255,255,0.78);
  letter-spacing: 0.01em;
}
@media (max-width: 520px) {
  .home-logo-subtitle { font-size: 15px; }
}

/* B&B CONNECT+ card (Business page) */
.business-card-lead {
  margin: 10px 0 14px;
  opacity: 0.92;
  font-size: 14px;
  color: rgba(233, 238, 247, 0.85);
}
.business-bullets {
  margin: 0;
  padding-left: 18px;
}
.business-bullets li {
  margin: 8px 0;
  font-size: 14px;
  color: rgba(233, 238, 247, 0.85);
}
.business-upgrades {
  margin-top: 16px;
  display: grid;
  gap: 14px;
}
.business-upgrade-title {
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 8px;
  font-size: 14px;
  color: rgba(233, 238, 247, 0.9);
}
.business-upgrade ul {
  margin: 0;
  padding-left: 18px;
}
.business-upgrade li {
  margin: 7px 0;
  font-size: 13px;
  color: rgba(233, 238, 247, 0.82);
}
@media (max-width: 520px) {
  .business-upgrades { gap: 12px; }
}

/* Token info + Leaderboard: Inter typography (mirato, solo queste pagine) */
.page-tokeninfo .page-title,
.page-leaderboard .page-title {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 800;
}
.page-tokeninfo .lp-stats__title,
.page-leaderboard .lp-stats__title,
.page-tokeninfo .lp-stat__label.om1-card-title,
.page-leaderboard .lp-stat__label.om1-card-title,
.page-tokeninfo .om1-leaderboard-embed-title,
.page-leaderboard .om1-leaderboard-embed-title {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.page-tokeninfo .lp-stat__label.om1-card-title,
.page-leaderboard .lp-stat__label.om1-card-title {
  font-size: 12px;
}
.page-tokeninfo .lp-stat__value,
.page-leaderboard .lp-stat__value {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 800;
}
.page-tokeninfo .muted,
.page-leaderboard .muted {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* ============================================================
   Card titles only (home FEATURES heading = .h1, independent)
   .om1-card-title + fallbacks = all card titles
   ============================================================ */
.om1-title-features,
.om1-card-title,
.feature-title,
.card-title,
.card h3,
.card h4,
.token-card h3,
.token-card h4,
.ft-title,
.notice-title,
.token-h2,
.token-h3,
.cp-title,
/* fallback: card containers (titoli senza classe) */
.card .card-title,
.card h3.card-title,
.card h3,
.card h4,
.ft-card .ft-title,
.dl-android__content h2,
.dl-android__content h3,
.cp-spotlight .cp-title,
.certified-partners-page .cp-title,
.om1-card__title {
  font-family: var(--om1-card-title-font) !important;
  font-weight: var(--om1-card-title-weight);
  letter-spacing: var(--om1-card-title-letter);
  text-transform: var(--om1-card-title-transform);
  line-height: var(--om1-card-title-line);
}

/* Card titles (fixed size); .home-features-heading uses .h1 only */
.om1-title-features,
.om1-card-title,
.feature-title,
.card-title,
.card h3,
.card h4,
.token-card h3,
.token-card h4,
.ft-title,
.notice-title,
.token-h2,
.token-h3,
.cp-title,
.card .card-title,
.card h3,
.card h4,
.ft-card .ft-title,
.dl-android__content h2,
.dl-android__content h3,
.cp-spotlight .cp-title,
.certified-partners-page .cp-title,
.om1-card__title {
  font-size: var(--om1-card-title-size);
}

@media (max-width: 900px) {
  :root {
    --om1-card-title-size: 18px;
  }
}

/* Card titles: always bold (keep their sizes) */
.om1-card-title,
.om1-card__title,
.community-card__title {
  font-weight: 700 !important;
  font-family: var(--font) !important; /* Inter */
}

/* Community Token: lead under badge */
.token-program-lead {
  margin-top: 10px;
  opacity: 0.85;
  line-height: 1.6;
  max-width: 68ch;
}

/* Liquidity Pools: center content */
.liquidity-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.liquidity-page {
  padding-top: 48px;
  padding-bottom: 60px;
}

.page-tokeninfo.liquidity-page {
  padding-top: 18px;
  padding-bottom: 10px;
}

@media (min-height: 820px) {
  .liquidity-page .container.liquidity-center {
    min-height: 60vh;
    justify-content: center;
  }
}

/* Token info: blocco "Programma riservato" (stesso aspetto di community-token) */
.om1-token-notice-wrap {
  margin-top: 18px;
  margin-bottom: 26px;
}
.om1-token-notice-wrap .tokenHero__kicker {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  border: 1px solid rgba(0,255,170,.18);
  background: rgba(255,255,255,.03);
  border-radius: 999px;
  padding: 8px 14px;
  margin-bottom: 16px;
  color: rgba(233,238,247,.86);
}
.om1-token-notice-wrap .tokenHero__kicker .dot {
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: rgba(0,255,170,.75);
  box-shadow: 0 0 0 4px rgba(0,255,170,.12);
}
.om1-token-notice-wrap .tokenHero__intro {
  margin: 14px auto 0 auto;
  color: rgba(233,238,247,.68);
  font-size: 16px;
  line-height: 1.75;
  max-width: 62ch;
}

/* Anti-Scam: force correct typography (Inter) + clean layout */
.anti-scam-page,
.anti-scam-page * {
  font-family: var(--font) !important;
}

/* Title spacing (consistent with other pages) */
.anti-scam-title {
  margin: 12px 0 18px 0;
}

/* Anti-Truffa: forza Inter sul titolo pagina */
.page-anti-scam .page-title,
.page-anti-scam h1 {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 800;
}

/* Center card + limit width */
.anti-scam-wrap {
  max-width: 980px;
  margin: 0 auto;
}

/* Card look (keep your style but refine spacing) */
.anti-scam-card {
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 18px;
  background: rgba(255,255,255,0.04);
  padding: 18px 22px;
}

/* List: nicer bullets + consistent spacing */
.anti-scam-list {
  margin: 0;
  padding-left: 22px;
  line-height: 1.75;
}
.anti-scam-list li {
  margin: 12px 0;
}

.anti-scam-offchain {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.1);
}
.anti-scam-offchain-title {
  margin: 0 0 12px 0;
  font-size: 18px;
  font-weight: 700;
  color: rgba(233,238,247,.95);
}
.anti-scam-offchain-p {
  margin: 0 0 12px 0;
  line-height: 1.7;
  color: rgba(233,238,247,.78);
}
.anti-scam-offchain-list {
  margin-top: 8px;
  margin-bottom: 12px;
}
.anti-scam-contact {
  margin: 20px 0 0 0;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.1);
  line-height: 1.6;
  color: rgba(233,238,247,.85);
}
.anti-scam-contact a {
  text-decoration: underline;
}

/* Mobile: reduce padding + avoid giant header feeling */
@media (max-width: 520px) {
  .anti-scam-card {
    padding: 16px 16px;
  }
  .anti-scam-title {
    margin: 10px 0 14px 0;
  }
  .anti-scam-list {
    padding-left: 18px;
  }
}

/* ============================================================
   Card header: icon + title aligned (no “storti”), fixed icon box
   ============================================================ */
.card-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 10px;
  min-width: 0;
}
.card-icon,
.card-head .ft-ico {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 12px;
  font-size: 1.1em;
}
.card-head .card-title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.15;
}
.card-head .card-title,
.card-head .card-title.om1-card-title {
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
.card-head .ft-title {
  margin-top: 0 !important;
}
/* Alias if other pages use feature-icon / token-icon */
.feature-icon,
.token-icon {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 12px;
}

/* --- Card header alignment fix (global) --- */
.feature-head,
.card-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 10px 0;
}

.feature-icon,
.card-icon,
.card-head .ft-ico,
.token-icon {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 12px;
  line-height: 1;
}

.feature-icon img,
.feature-icon svg,
.card-icon img,
.card-icon svg {
  width: 18px;
  height: 18px;
  display: block;
}

.feature-head h1,
.feature-head h2,
.feature-head h3,
.feature-head h4,
.feature-title,
.card-head .card-title,
.card-head h3,
.card-head .ft-title {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.15;
}

.feature-title,
.card-head .card-title,
.card-head .ft-title {
  white-space: normal;
}

/* Card header: icon + title always aligned (standard wrapper) */
.om1-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.om1-card-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
}

.om1-card-icon img,
.om1-card-icon svg {
  max-width: 100%;
  max-height: 100%;
  display: block;
}

.om1-card-head .om1-card-title {
  margin: 0;
  line-height: 1.1;
}

/* Community page: smaller main title (keep Inter) */
.community .h1,
.community h1,
.community-page .h1,
.community-page h1 {
  font-size: 34px !important;
  line-height: 1.08 !important;
}
@media (max-width: 520px) {
  .community .h1,
  .community h1,
  .community-page .h1,
  .community-page h1 {
    font-size: 28px !important;
  }
}

/* Home: ensure brand text is visible (dot + "Omessage1") */
.home-page .topbar .brand,
.home-page .topbar .brand span {
  display: inline-flex !important;
}
.home-page .topbar .brand span:last-child {
  display: inline !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Home: reduce privacy-first-technology logo size by 50% */
.home-privacy-logo {
  width: 50% !important;
  height: auto !important;
  display: block;
  margin: 0 auto;
}
@media (max-width: 520px) {
  .home-privacy-logo {
    width: 70% !important;
  }
}

/* Liquidity Pools: Supply & accounting cards */
.lp-stats{
  margin-top: 26px;
}

.lp-stats__title{
  font-family: var(--font) !important;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .02em;
  opacity: .9;
  margin: 0 0 12px 0;
}

.lp-stats__grid{
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lp-stat{
  border-radius: 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  padding: 14px 14px;
  min-height: 72px;
}

.lp-stat__label{
  font-family: var(--font) !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .75;
  margin-bottom: 10px;
}
.lp-stat__value{
  font-family: var(--font) !important;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  opacity: .95;
  word-break: break-word;
}
.lp-stat--lastupdate{
  grid-column: 1 / -1;
  text-align: center;
}
.lp-stat--lastupdate .lp-stat__value{
  font-family: var(--font) !important;
  font-size: 16px;
  font-weight: 700;
  opacity: .95;
}

@media (max-width: 1100px){
  .lp-stats__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .lp-stats__grid{ grid-template-columns: 1fr; }
}

/* Force Inter on Anti-Scam title (override any theme rules) */
.page-anti-scam h1,
.page-anti-scam h1.page-title,
.page-anti-scam .page-title {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}
.page-anti-scam .hero-title {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 800 !important;
}

/* Disclaimer: meno spazio in alto dopo rimozione titolo e "Ultimo aggiornamento" */
.page-disclaimer.legal-page {
  padding-top: 24px;
  padding-bottom: 10px;
}

.notice.notice-info {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
}

/* Coming soon: always Inter */
.om1-coming-soon,
.om1-coming-soon * {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 600;
}

/* Business contact form */
.page-business-contact .page-title {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 800;
}
.business-form {
  max-width: 900px;
  margin: 30px auto 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.form-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 820px) {
  .form-row-2 { grid-template-columns: 1fr; }
}
.form-label {
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 600;
  opacity: 0.95;
}
.form-control {
  width: 100%;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.25);
  color: rgba(255,255,255,0.92);
}
.form-control:focus {
  outline: none;
  border-color: rgba(0,255,180,0.35);
}
.form-checkbox {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  opacity: 0.95;
}
.form-submit {
  align-self: flex-start;
  padding: 10px 18px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 700;
}
.page-business-contact-thanks .form-thanks-msg {
  margin: 16px 0 24px;
  opacity: 0.9;
  max-width: 500px;
}

.notice-success {
  max-width: 900px;
  margin: 18px auto 0;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(0,255,180,0.25);
  background: rgba(0,255,180,0.06);
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}

/* Business Starter card: flex layout + CTA in fondo */
.business-card {
  display: flex;
  flex-direction: column;
  min-height: 640px;
}
.business-card-body {
  flex: 1 1 auto;
}
.business-card-cta {
  margin-top: auto;
  padding-top: 18px;
  display: flex;
  justify-content: center;
}
.btn-contact-team {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  min-width: 220px;
  padding: 12px 20px;
  border-radius: 999px;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(255,255,255,0.92);
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  border: 1px solid rgba(120, 220, 255, 0.22);
  box-shadow: 0 10px 26px rgba(0,0,0,0.42), 0 0 0 1px rgba(0,0,0,0.35) inset;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}
.btn-contact-team:hover {
  transform: translateY(-2px);
  border-color: rgba(120, 220, 255, 0.42);
  background: linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.03));
  box-shadow: 0 14px 34px rgba(0,0,0,0.48), 0 0 18px rgba(120,220,255,0.14);
}
.btn-contact-team:active { transform: translateY(0); }
@media (max-width: 520px) {
  .business-card { min-height: auto; }
  .btn-contact-team { width: 92%; max-width: none; }
}

/* BUSINESS cards: fixed height like PRIVATE plans + collapsible details */
.om1-plan-card {
  display: flex;
  flex-direction: column;
}

.om1-plan-card .om1-card-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.om1-collapsible {
  position: relative;
}

.om1-collapsible.is-collapsed {
  max-height: 260px;
  overflow: hidden;
}

.om1-collapsible.is-collapsed::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 64px;
  background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(10,14,22,0.95));
  pointer-events: none;
}

.page-business .om1-collapsible.is-collapsed {
  position: relative;
  max-height: 260px;
  overflow: hidden;
  padding-bottom: 26px;
}

.page-business .om1-collapsible.is-collapsed::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 70px;
  background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(10,14,22,0.95));
  pointer-events: none;
}

.om1-collapsible-toggle {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.92);
  font-weight: 600;
  cursor: pointer;
  user-select: none;
}

.om1-collapsible-toggle:hover {
  background: rgba(255,255,255,0.09);
}

/* Business: card header without icons — titolo centrato, no spazio fantasma */
.page-business .plan-head,
.page-business .om1-card-head,
.page-business .card-head,
.page-business .feature-head,
.page-business .plan-title {
  justify-content: center;
}
.page-business .plan-head > *,
.page-business .om1-card-head > *,
.page-business .plan-title > * {
  margin-left: 0;
}

/* Business: card body fills height, content grows, link at bottom */
.page-business .om1-plan-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.page-business .om1-plan-card .om1-card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.page-business .om1-plan-card .om1-card-content {
  flex: 1 1 auto;
  min-height: 0;
}

.page-business .om1-collapsible-link {
  margin-top: auto;
  padding: 18px 0 0;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,0.72);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  cursor: pointer;
  text-align: center;
  width: 100%;
}

.page-business .om1-collapsible-link:hover {
  color: rgba(255,255,255,0.92);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.business-page .plans-grid,
.business-page .pricing-grid,
.business-page .plan-grid,
.page-business .plans-grid,
.page-business .pricing-grid,
.page-business .plan-grid {
  align-items: stretch;
}

/* BUSINESS page: centered layout */
.page-business .business-top-center {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 18px auto 22px;
}

.page-business .plans-grid,
.page-business .pricing-grid,
.page-business .plan-grid {
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
  max-width: 1180px;
}

.page-business .business-cta-wrap {
  display: flex;
  justify-content: center;
  margin: 28px auto 10px;
}

.page-business .business-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  padding: 14px 22px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.92);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}

.page-business .business-cta-btn:hover {
  background: rgba(255,255,255,0.09);
}

/* MAX LIFETIME: when BITCOIN selected hide any € price inside the card */
.plan-max-lifetime.is-bitcoin .price,
.plan-max-lifetime.is-bitcoin .plan-price,
.plan-max-lifetime.is-bitcoin .pricing-price,
.plan-max-lifetime.is-bitcoin .amount,
.plan-max-lifetime.is-bitcoin [class*="price"],
.plan-max-lifetime.is-bitcoin [class*="Price"] {
  display: none !important;
}

/* MAX LIFETIME: thin contact link shown only in BITCOIN mode */
.plan-max-lifetime .maxlife-bitcoin-cta {
  display: block;
  text-align: center;
  margin: 10px auto 6px;
}

.plan-max-lifetime .maxlife-contact-link {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
  text-decoration: none;
}

.plan-max-lifetime .maxlife-contact-link:hover {
  color: rgba(255,255,255,0.88);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* HOW page: features lead uses Inter like headings */
.how-features-lead,
.how-features .lead {
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* HOW page: no extra top gap after removing quickstart section */
.how-features {
  margin-top: 0;
  padding-top: 0;
}

/* HOW page: Features grid — 3 cards per row on desktop (no listone) */
.how-features .ft-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px;
  align-items: stretch;
}
.how-features .ft-card {
  width: auto;
  max-width: none;
}
@media (max-width: 980px) {
  .how-features .ft-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .how-features .ft-grid {
    grid-template-columns: 1fr !important;
  }
}

.page-business .om1-plan-card,
.page-business .plan-card,
.page-business .pricing-card {
  height: 100%;
}

@media (max-width: 720px) {
  .page-business .business-top-center {
    margin: 12px auto 16px;
  }

  .page-business .business-cta-wrap {
    margin: 18px auto 8px;
    padding: 0 14px;
  }

  .page-business .business-cta-btn {
    width: 100%;
    max-width: 420px;
  }
}