/* ============================================================
   SAFOZI GPUaaS — Frontend Styles (shortcode output)
   All classes prefixed with .sfz- to avoid WP theme conflicts
   Full page support + Dark/Light mode support
   Background managed by the site - NOT by the plugin
   Font: Nunito (Google Fonts)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700&display=swap');

/* DEFAULT LIGHT MODE */
:root {
  --sfz-neon:#00e5a0;--sfz-neon2:#00aaff;--sfz-neon3:#a855f7;
  --sfz-bg:#ffffff;--sfz-bg2:#f8f8f8;--sfz-bg3:#f0f0f0;
  --sfz-surface:#efefef;
  --sfz-border:rgba(0,0,0,0.08);--sfz-border2:rgba(0,0,0,0.12);
  --sfz-text:#1a1a1a;--sfz-muted:#666666;--sfz-muted2:#888888;
}

/* DARK MODE (#091932) - FULL COLOR OVERRIDE */
:root.dark-mode {
  --sfz-neon:#00e5a0;--sfz-neon2:#00aaff;--sfz-neon3:#a855f7;
  --sfz-bg:#091932;--sfz-bg2:#0d2341;--sfz-bg3:#102850;
  --sfz-surface:#143a62;
  --sfz-border:rgba(0,229,160,0.12);--sfz-border2:rgba(0,170,255,0.18);
  --sfz-text:#ffffff;
  --sfz-muted:#b3d9ff;
  --sfz-muted2:#8ab8ff;
}

/* FORCE TEXT COLORS IN DARK MODE */
:root.dark-mode .sfz-wrap,
:root.dark-mode .sfz-wrap * {
  color: var(--sfz-text) !important;
}

/* DARK MODE - TITLES IN CYAN */
:root.dark-mode h1,
:root.dark-mode h2,
:root.dark-mode h3,
:root.dark-mode h4,
:root.dark-mode h5,
:root.dark-mode h6 {
  color: #00ade6 !important;
}

:root.dark-mode .sfz-muted,
:root.dark-mode p,
:root.dark-mode span,
:root.dark-mode div,
:root.dark-mode li {
  color: var(--sfz-muted) !important;
}

/* WRAPPER - FULL PAGE - NO BACKGROUND (managed by site) */
.sfz-wrap *{box-sizing:border-box;}
.sfz-wrap{
  color:var(--sfz-text);
  font-family:'Nunito',sans-serif;
  position:relative;
  overflow-x:hidden;
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: transparent !important;
  margin: 0;
  padding: 0;
}
.sfz-wrap::before{
  display: none;
}

/* i18n */
.sfz-wrap [data-en],[data-fr]{display:none;}
.sfz-wrap[data-lang="en"] [data-en]{display:revert;}
.sfz-wrap[data-lang="fr"] [data-fr]{display:revert;}
.sfz-wrap[data-lang="en"] span[data-en]{display:inline;}
.sfz-wrap[data-lang="fr"] span[data-fr]{display:inline;}

/* CONTENT WRAPPER - Flex grow to fill */
.sfz-content {
  flex: 1;
  position: relative;
  z-index: 1;
  width: 100%;
}

/* LANG BAR */
.sfz-lang-bar{
  position:sticky;
  top:0;
  right:0;
  z-index:100;
  display:flex;
  justify-content:flex-end;
  background:transparent;
  border-bottom:1px solid var(--sfz-border);
  width: 100%;
}

.sfz-lang-btn{
  font-family:'Nunito',sans-serif;
  font-size:.75rem;
  font-weight:600;
  padding:.5rem 1.2rem;
  background:transparent;
  border:none;
  border-left:1px solid var(--sfz-border);
  color:var(--sfz-muted);
  cursor:pointer;
  letter-spacing:.08em;
  transition:color .2s,background .2s;
  text-transform:uppercase;
}

.sfz-lang-btn.active,.sfz-lang-btn:hover{
  color:var(--sfz-neon);
  background:rgba(0,229,160,.06);
}

/* HERO */
.sfz-hero{
  min-height:60vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:5rem 2rem 4rem;
  text-align:center;
  position:relative;
  z-index:1;
  width: 100%;
  background: transparent;
}

.sfz-hero-eyebrow{
  font-family:'Nunito',sans-serif;
  font-size:.75rem;
  font-weight:700;
  color:var(--sfz-neon);
  border:1px solid var(--sfz-border);
  padding:.4rem 1.2rem;
  letter-spacing:.12em;
  margin-bottom:1.75rem;
  background:rgba(0,229,160,0.06);
  display:inline-block;
  text-transform:uppercase;
}

.sfz-hero h1{
  font-family:'Nunito',sans-serif;
  font-size:clamp(1.8rem,4vw,3.5rem);
  font-weight:800;
  line-height:1.1;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin:0 0 1.25rem 0;
  color: #00ADE6;
}

:root.dark-mode .sfz-hero h1 {
  color: #00ade6 !important;
}

.sfz-hero p{
  font-size:1rem;
  font-weight:400;
  color:var(--sfz-muted) !important;
  max-width:540px;
  margin:0 auto 2rem;
  line-height:1.7;
}

.sfz-hero-btns{
  display:flex;
  gap:1rem;
  justify-content:center;
  flex-wrap:wrap;
}

.sfz-btn-primary{
  font-family:'Nunito',sans-serif;
  font-size:.8rem;
  font-weight:700;
  padding:.85rem 2.2rem;
  background:var(--sfz-neon);
  color:#000;
  border:none;
  cursor:pointer;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:opacity .2s,transform .2s;
}

.sfz-btn-primary:hover{
  opacity:.9;
  transform:translateY(-2px);
}

.sfz-btn-outline{
  font-family:'Nunito',sans-serif;
  font-size:.8rem;
  font-weight:700;
  padding:.85rem 2.2rem;
  background:transparent;
  color:var(--sfz-text);
  border:1.5px solid var(--sfz-border2);
  cursor:pointer;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:border-color .2s,color .2s,background .2s;
}

:root.dark-mode .sfz-btn-outline {
  border:1.5px solid rgba(255,255,255,0.2);
  color: #ffffff;
    
}

:root:not(.dark-mode) .sfz-btn-outline {
  border:1.5px solid rgba(0,0,0,0.15);
  color:var(--sfz-text);
	display:none;
}

.sfz-btn-outline:hover{
  border-color:var(--sfz-neon2);
  color:var(--sfz-neon2);
  background:rgba(0,170,255,0.06);
}

/* STATS */
.sfz-stats{
  padding:1.75rem 2rem;
  display:flex;
  justify-content:space-around;
  flex-wrap:wrap;
  gap:1.5rem;
  position:relative;
  z-index:1;
  width: 100%;
}

:root.dark-mode .sfz-stats {
  background:transparent;
}

:root:not(.dark-mode) .sfz-stats {
  background:rgba(248,248,248,0.5);
}

.sfz-stat{
  text-align:center;
  color: var(--sfz-text) !important;
}

.sfz-stat-n{
  font-family:'Nunito',sans-serif;
  font-size:1.75rem;
  font-weight:800;
  color:var(--sfz-neon);
  letter-spacing:.05em;
  display:block;
}

.sfz-stat-l{
  font-family:'Nunito',sans-serif;
  font-size:.7rem;
  color:var(--sfz-muted) !important;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-top:.3rem;
  font-weight:600;
}

/* SECTIONS */
.sfz-sec{
  position:relative;
  z-index:1;
  width: 100%;
  background: transparent;
}

.sfz-sec-inner{
  max-width:1100px;
  margin:0 auto;
  padding:4rem 2rem;
  width: 100%;
}

.sfz-sec-tag{
  font-family:'Nunito',sans-serif;
  font-size:.7rem;
  font-weight:700;
  color:var(--sfz-neon);
  letter-spacing:.15em;
  text-transform:uppercase;
  margin-bottom:.8rem;
}

.sfz-sec-title{
  font-family:'Nunito',sans-serif;
  font-size:clamp(1.4rem,2.5vw,2rem);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:2.5rem;
  color: #00ADE6;
}

:root.dark-mode .sfz-sec-title {
  color: #00ade6 !important;
}



:root.dark-mode .sfz-apps-sec,
:root.dark-mode .sfz-pricing-sec {
  background:transparent !important;
}

:root:not(.dark-mode) .sfz-apps-sec,


/* GPU GRID */
.sfz-gpu-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1px;
}

.sfz-gpu-card{
  background:rgba(248,248,248,0.7);
  padding:1.75rem;
  position:relative;
  transition:background .2s,transform .2s;
  color: var(--sfz-text) !important;
}

:root.dark-mode .sfz-gpu-card {
  background:transparent !important;
}



.sfz-gpu-card:hover{
  background:transparent;
  transform:translateY(-2px);
}

:root.dark-mode .sfz-gpu-card:hover {
  background:transparent !important;
}

.sfz-gpu-card.hot{
  background:transparent;
}

:root.dark-mode .sfz-gpu-card.hot {
  background:transparent !important;
}

.sfz-gpu-card.hot::after{
  content:attr(data-pop);
  position:absolute;
  top:0;
  right:0;
  font-family:'Nunito',sans-serif;
  font-size:.65rem;
  background:var(--sfz-neon);
  color:#000;
  padding:.25rem .8rem;
  letter-spacing:.1em;
  font-weight:700;
}

.sfz-gpu-model{
  font-family:'Nunito',sans-serif;
  font-size:1rem;
  font-weight:700;
  color:var(--sfz-neon2) !important;
  letter-spacing:.04em;
  margin-bottom:.25rem;
}

.sfz-gpu-tier{
  font-family:'Nunito',sans-serif;
  font-size:.7rem;
  color:var(--sfz-muted) !important;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:1rem;
  font-weight:600;
}

.sfz-gpu-specs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.8rem;
  margin-bottom:1rem;
}

.sfz-gpu-specs .sp-v{
  font-family:'Nunito',sans-serif;
  font-size:.9rem;
  color:var(--sfz-text) !important;
  font-weight:600;
}

.sfz-gpu-specs .sp-k{
  font-size:.65rem;
  color:var(--sfz-muted) !important;
  margin-top:.15rem;
  font-weight:500;
}

.sfz-gpu-price-row{
  display:flex;
  align-items:baseline;
  gap:.3rem;
  border-top:1px solid var(--sfz-border);
  padding-top:1rem;
  margin-top:1rem;
}

.sfz-gpu-price{
  font-family:'Nunito',sans-serif;
  font-size:1.6rem;
  font-weight:800;
  color:var(--sfz-neon);
}

.sfz-gpu-price-u{
  font-family:'Nunito',sans-serif;
  font-size:.65rem;
  color:var(--sfz-muted) !important;
  font-weight:600;
}

.sfz-gpu-avail{
  display:flex;
  align-items:center;
  gap:.4rem;
  margin-top:.8rem;
}

.sfz-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  flex-shrink:0;
}

.sfz-dot.dot-on{
  background:var(--sfz-neon);
  animation:sfzBlink 2s infinite;
}

.sfz-dot.dot-warn{
  background:#f59e0b;
}

.sfz-dot.dot-off{
  background:#ef4444;
}

@keyframes sfzBlink{
  0%,100%{opacity:1;}
  50%{opacity:.3;}
}

.sfz-avail-txt{
  font-family:'Nunito',sans-serif;
  font-size:.65rem;
  letter-spacing:.08em;
  color: var(--sfz-muted) !important;
  font-weight:600;
  text-transform:uppercase;
}

/* APPS */
.sfz-apps-tabs{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  margin-bottom:2rem;
}

.sfz-app-tab{
  font-family:'Nunito',sans-serif;
  font-size:.75rem;
  font-weight:600;
  padding:.5rem 1.2rem;
  background:transparent;
  border:1px solid var(--sfz-border);
  color:var(--sfz-muted);
  cursor:pointer;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:all .2s;
}

.sfz-app-tab.active{
  background:rgba(0,229,160,.08);
  border-color:var(--sfz-neon);
  color:var(--sfz-neon);
  font-weight:700;
}

.sfz-app-tab:hover:not(.active){
  color:var(--sfz-text);
  border-color:var(--sfz-border2);
}

.sfz-apps-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:1.25rem;
}

.sfz-app-card{
  background:rgba(248,248,248,0.7);
  border:1px solid var(--sfz-border);
  padding:1.5rem;
  position:relative;
  transition:border-color .2s,box-shadow .2s;
  color: var(--sfz-text) !important;
}

:root.dark-mode .sfz-app-card {
  background:transparent !important;
}

.sfz-app-card:hover{
  border-color:rgba(0,229,160,.3);
  box-shadow:0 4px 12px rgba(0,229,160,.1);
}

.sfz-app-badge{
  position:absolute;
  top:.8rem;
  right:.8rem;
  font-family:'Nunito',sans-serif;
  font-size:.6rem;
  padding:.2rem .6rem;
  border-radius:3px;
  letter-spacing:.08em;
  font-weight:700;
  text-transform:uppercase;
}

.badge-popular{
  background:#f59e0b;
  color:#000;
}
.badge-new{
  background:var(--sfz-neon2);
  color:#000;
}
.badge-fast{
  background:var(--sfz-neon3);
  color:#fff;
}
.badge-v1{
  background:var(--sfz-neon);
  color:#000;
}
.badge-easy{
  background:#22c55e;
  color:#000;
}
.badge-creative{
  background:#ec4899;
  color:#fff;
}

.sfz-app-header{
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-bottom:.9rem;
}

.sfz-app-icon{
  width:40px;
  height:40px;
  border-radius:8px;
  background:var(--sfz-surface);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.3rem;
  flex-shrink:0;
}

.sfz-app-name{
  font-family:'Nunito',sans-serif;
  font-size:.9rem;
  font-weight:700;
  color:var(--sfz-text) !important;
  letter-spacing:.03em;
}

.sfz-app-cat{
  font-family:'Nunito',sans-serif;
  font-size:.65rem;
  color:var(--sfz-muted) !important;
  letter-spacing:.08em;
  margin-top:.15rem;
  font-weight:600;
  text-transform:uppercase;
}

.sfz-app-desc{
  font-size:.85rem;
  font-weight:400;
  color:var(--sfz-muted) !important;
  line-height:1.65;
  margin-bottom:1rem;
}

.sfz-app-meta{
  display:flex;
  gap:1.2rem;
  margin-bottom:1rem;
}

.sfz-app-meta span{
  font-family:'Nunito',sans-serif;
  font-size:.7rem;
  color:var(--sfz-muted) !important;
  letter-spacing:.05em;
  font-weight:600;
}

.sfz-app-meta strong{
  color:var(--sfz-text) !important;
  font-weight:700;
}

.sfz-deploy-btn{
  width:100%;
  font-family:'Nunito',sans-serif;
  font-size:.75rem;
  font-weight:700;
  padding:.7rem;
  background:var(--sfz-neon);
  color:#000;
  border:none;
  cursor:pointer;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:opacity .2s,transform .2s;
}

.sfz-deploy-btn:hover{
  opacity:.9;
  transform:translateY(-1px);
}

/* FEATURES */
.sfz-features-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:1.5rem;
}

.sfz-feat-card{
  border-left:3px solid var(--sfz-neon);
  padding:2rem;
  background:rgba(248,248,248,0.7);
  position:relative;
  color: var(--sfz-text) !important;
  transition:box-shadow .2s;
}

:root.dark-mode .sfz-feat-card {
  background:transparent !important;
}

.sfz-feat-card:hover {
  box-shadow:0 4px 12px rgba(0,229,160,.08);
}

.sfz-feat-card.blue{
  border-left-color:var(--sfz-neon2);
}

.sfz-feat-card.purple{
  border-left-color:var(--sfz-neon3);
}

.sfz-feat-icon{
  font-size:1.6rem;
  margin-bottom:1rem;
}

.sfz-feat-title{
  font-family:'Nunito',sans-serif;
  font-size:1rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--sfz-text) !important;
  margin-bottom:.6rem;
}

.sfz-feat-desc{
  font-size:.85rem;
  font-weight:400;
  color:var(--sfz-muted) !important;
  line-height:1.7;
  margin-bottom:1.2rem;
}

.sfz-feat-list{
  list-style:none;
  padding:0;
  margin:0;
}

.sfz-feat-list li{
  font-family:'Nunito',sans-serif;
  font-size:.8rem;
  color:var(--sfz-muted) !important;
  padding:.4rem 0;
  border-bottom:1px solid var(--sfz-border);
  letter-spacing:.03em;
  display:flex;
  align-items:center;
  gap:.5rem;
  font-weight:500;
}

.sfz-feat-list li::before{
  content:'▸';
  font-size:.6rem;
  flex-shrink:0;
}

.sfz-feat-card.green .sfz-feat-list li::before,
.sfz-feat-list li::before{
  color:var(--sfz-neon);
}

.sfz-feat-card.blue .sfz-feat-list li::before{
  color:var(--sfz-neon2);
}

.sfz-feat-card.purple .sfz-feat-list li::before{
  color:var(--sfz-neon3);
}

/* PLANS */
.sfz-plan-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.5rem;
}

.sfz-plan{
  border:1px solid var(--sfz-border);
  padding:2.25rem 1.75rem;
  background:rgba(248,248,248,0.7);
  color: var(--sfz-text) !important;
  transition:border-color .2s,box-shadow .2s;
}

:root.dark-mode .sfz-plan {
  background:transparent !important;
}

.sfz-plan.pro{
  border-color:var(--sfz-neon);
  background:rgba(0,229,160,0.08);
  box-shadow:0 4px 12px rgba(0,229,160,.12);
}

:root.dark-mode .sfz-plan.pro {
  background:transparent !important;
}

.sfz-plan-label{
  font-family:'Nunito',sans-serif;
  font-size:.65rem;
  padding:.25rem .75rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  display:inline-block;
  margin-bottom:1.2rem;
  font-weight:700;
}

.sfz-plan-label.free{
  border:1px solid var(--sfz-border2);
  color:var(--sfz-neon2);
}

.sfz-plan-label.pro{
  background:var(--sfz-neon);
  color:#000;
  font-weight:800;
}

.sfz-plan-label.enterprise{
  border:1px solid var(--sfz-border);
  color:var(--sfz-muted);
}

.sfz-plan-name{
  font-family:'Nunito',sans-serif;
  font-size:1.2rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:.4rem;
  color: var(--sfz-text) !important;
}

.sfz-plan-price{
  font-family:'Nunito',sans-serif;
  font-size:2.2rem;
  font-weight:800;
  color:var(--sfz-neon);
  margin-top:.5rem;
}

.sfz-plan-billing{
  font-family:'Nunito',sans-serif;
  font-size:.7rem;
  color:var(--sfz-muted) !important;
  letter-spacing:.1em;
  margin-bottom:1.75rem;
  font-weight:600;
  text-transform:uppercase;
}

.sfz-plan-feats{
  list-style:none;
  padding:0;
  margin:0 0 1.75rem;
}

.sfz-plan-feats li{
  font-family:'Nunito',sans-serif;
  font-size:.75rem;
  color:var(--sfz-muted) !important;
  padding:.5rem 0;
  border-bottom:1px solid var(--sfz-border);
  letter-spacing:.04em;
  display:flex;
  align-items:center;
  gap:.5rem;
  font-weight:500;
}

.sfz-plan-feats li::before{
  content:'▸';
  color:var(--sfz-neon);
  font-size:.55rem;
  flex-shrink:0;
}

.sfz-plan-btn{
  width:100%;
  font-family:'Nunito',sans-serif;
  font-size:.75rem;
  font-weight:700;
  padding:.85rem;
  cursor:pointer;
  letter-spacing:.1em;
  text-transform:uppercase;
  border:1.5px solid var(--sfz-neon);
  background:transparent;
  color:var(--sfz-neon);
  transition:background .2s,color .2s,transform .2s;
}

.sfz-plan-btn:hover,
.sfz-plan.pro .sfz-plan-btn{
  background:var(--sfz-neon);
  color:#000;
  font-weight:800;
  transform:translateY(-2px);
}

/* MODAL */
.sfz-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(3,11,16,.85);
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(4px);
}

.sfz-modal-overlay.open{
  display:flex;
}

.sfz-modal{
  background:rgba(248,248,248,0.95);
  border:1px solid var(--sfz-border);
  padding:2rem;
  width:100%;
  max-width:480px;
  position:relative;
  max-height:90vh;
  overflow-y:auto;
  color: var(--sfz-text) !important;
  backdrop-filter:blur(6px);
}

:root.dark-mode .sfz-modal {
  background:transparent !important;
  border:1px solid var(--sfz-border);
}

.sfz-modal-title{
  font-family:'Nunito',sans-serif;
  font-size:1.1rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:1.5rem;
  color: var(--sfz-text) !important;
}

.sfz-modal-close{
  position:absolute;
  top:1rem;
  right:1rem;
  background:transparent;
  border:none;
  color:var(--sfz-muted);
  cursor:pointer;
  font-size:1.2rem;
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color .2s;
}

.sfz-modal-close:hover {
  color:var(--sfz-text);
}

.sfz-stepper{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin-bottom:1.75rem;
}

.sfz-step-node{
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Nunito',sans-serif;
  font-size:.7rem;
  font-weight:700;
  border:1.5px solid var(--sfz-border);
  color:var(--sfz-muted);
}

.sfz-step-node.done{
  background:var(--sfz-neon);
  border-color:var(--sfz-neon);
  color:#000;
}

.sfz-step-node.active{
  border-color:var(--sfz-neon2);
  color:var(--sfz-neon2);
  background:rgba(0,170,255,0.08);
}

.sfz-step-line{
  flex:1;
  height:1.5px;
  background:var(--sfz-border);
}

.sfz-step-lbl{
  font-family:'Nunito',sans-serif;
  font-size:.65rem;
  color:var(--sfz-muted) !important;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:600;
}

.sfz-step-lbl.active{
  color:var(--sfz-neon2);
}

.sfz-modal-slbl{
  font-family:'Nunito',sans-serif;
  font-size:.7rem;
  color:var(--sfz-muted) !important;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:.8rem;
  font-weight:700;
}

.sfz-gpu-opt,.sfz-region-opt{
  border:1px solid var(--sfz-border);
  padding:1rem;
  margin-bottom:.6rem;
  cursor:pointer;
  font-family:'Nunito',sans-serif;
  font-size:.85rem;
  color:var(--sfz-text) !important;
  transition:border-color .2s,background .2s;
  background:rgba(248,248,248,0.6);
  font-weight:500;
}

:root.dark-mode .sfz-gpu-opt,
:root.dark-mode .sfz-region-opt {
  background:transparent !important;
}

.sfz-gpu-opt:hover,.sfz-gpu-opt.sel,.sfz-region-opt:hover,.sfz-region-opt.sel{
  border-color:var(--sfz-neon);
  background:rgba(0,229,160,.1);
}

.sfz-modal-inp,.sfz-modal-ta{
  width:100%;
  background:rgba(255,255,255,0.8);
  border:1px solid var(--sfz-border);
  color:var(--sfz-text) !important;
  padding:.75rem 1rem;
  font-family:'Nunito',sans-serif;
  font-size:.85rem;
  outline:none;
  margin-bottom:1rem;
  font-weight:500;
  transition:border-color .2s;
}

:root.dark-mode .sfz-modal-inp,
:root.dark-mode .sfz-modal-ta {
  background:transparent !important;
}

.sfz-modal-inp:focus,
.sfz-modal-ta:focus {
  border-color:var(--sfz-neon);
}

.sfz-modal-ta{
  resize:vertical;
  min-height:80px;
  color:var(--sfz-muted) !important;
}

.sfz-modal-btn{
  width:100%;
  font-family:'Nunito',sans-serif;
  font-size:.8rem;
  font-weight:700;
  padding:.85rem;
  background:var(--sfz-neon);
  color:#000;
  border:none;
  cursor:pointer;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:opacity .2s,transform .2s;
  margin-top:1rem;
}

.sfz-modal-btn:hover{
  opacity:.9;
  transform:translateY(-2px);
}

.sfz-modal-back{
  width:100%;
  font-family:'Nunito',sans-serif;
  font-size:.75rem;
  font-weight:700;
  padding:.7rem;
  background:transparent;
  color:var(--sfz-muted);
  border:1px solid var(--sfz-border);
  cursor:pointer;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-top:.5rem;
  transition:border-color .2s,color .2s;
}

.sfz-modal-back:hover{
  border-color:var(--sfz-muted);
  color:var(--sfz-text);
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .sfz-hero {
    min-height: auto;
    padding: 3.5rem 1.5rem 2.5rem;
  }
  
  .sfz-sec-inner {
    padding: 2.5rem 1.5rem;
  }
  
  .sfz-gpu-grid {
    grid-template-columns: 1fr;
  }
  
  .sfz-apps-grid {
    grid-template-columns: 1fr;
  }
  
  .sfz-features-grid {
    grid-template-columns: 1fr;
  }
  
  .sfz-plan-grid {
    grid-template-columns: 1fr;
  }
  
  .sfz-stats {
    flex-direction: column;
    align-items: center;
  }
}

@media (max-width: 480px) {
  .sfz-hero {
    padding: 2.5rem 1rem 2rem;
  }
  
  .sfz-hero h1 {
    font-size: clamp(1.4rem, 3vw, 2rem);
  }
  
  .sfz-hero p {
    font-size: 0.9rem;
  }
  
  .sfz-sec-inner {
    padding: 2rem 1rem;
  }
  
  .sfz-lang-btn {
    font-size: 0.65rem;
    padding: 0.4rem 0.8rem;
  }
  
  .sfz-btn-primary,
  .sfz-btn-outline {
    padding: 0.7rem 1.5rem;
    font-size: 0.7rem;
  }
}
