:root {
  --fe-primary: #1e293b;
  --fe-primary-light: #334155;
  --fe-accent: #2563eb;
  --fe-accent-hover: #1d4ed8;
  --fe-accent-soft: rgba(37, 99, 235, 0.08);
  --fe-dark: #0f172a;
  --fe-muted: #64748b;
  --fe-bg: #f8fafc;
  --fe-card: #ffffff;
  --fe-radius: 10px;
  --fe-radius-lg: 14px;
  --fe-radius-btn: 8px;
  --fe-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  --fe-shadow-lg: 0 8px 24px rgba(15, 23, 42, 0.08);
  --fe-border: #e2e8f0;
  --fe-font-heading: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fe-font-body: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fe-gradient: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
}

* { box-sizing: border-box; }

body.fe-body {
  margin: 0;
  font-family: var(--fe-font-body);
  color: var(--fe-dark);
  background: var(--fe-bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

.fe-main {
  min-width: 0;
}

.fe-main img,
.fe-main video,
.fe-main iframe,
.fe-main svg {
  max-width: 100%;
  height: auto;
}

h1, h2, h3, h4, h5, h6,
.fe-section-title,
.fe-brand span {
  font-family: var(--fe-font-heading);
}

/* Header */
.fe-header {
  background: #fff;
  border-bottom: 1px solid var(--fe-border);
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: box-shadow 0.2s ease;
}

.fe-header.fe-header-scrolled {
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.08);
}

.fe-header-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0.85rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.fe-brand {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  text-decoration: none;
  color: var(--fe-primary);
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: -0.02em;
  flex-shrink: 0;
}

.fe-brand--has-logo {
  line-height: 0;
}

.fe-brand i { font-size: 1.35rem; color: var(--fe-accent); }

.fe-brand img.sp-fe-brand-logo {
  display: block;
  width: auto;
  height: var(--fe-brand-logo-h, 38px);
  max-height: var(--fe-brand-logo-h, 38px);
  max-width: min(100%, calc(var(--fe-brand-logo-h, 38px) * 4));
  object-fit: contain;
  object-position: left center;
}

.fe-nav-toggle {
  display: none;
  border: 1px solid var(--fe-border);
  background: var(--fe-card);
  border-radius: 10px;
  width: 42px;
  height: 42px;
  padding: 0;
  color: var(--fe-dark);
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.fe-nav-toggle i { font-size: 1.25rem; line-height: 1; }
.fe-nav-toggle__close { display: none; }
.fe-nav-toggle[aria-expanded="true"] .fe-nav-toggle__open { display: none; }
.fe-nav-toggle[aria-expanded="true"] .fe-nav-toggle__close { display: inline; }

.fe-nav {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  flex: 1;
  margin-left: 0.5rem;
}

.fe-nav a,
.fe-nav-link {
  text-decoration: none;
  color: var(--fe-muted);
  padding: 0.45rem 0.85rem;
  border-radius: 10px;
  font-size: 0.9rem;
  font-weight: 500;
  transition: color 0.15s, background 0.15s;
}

.fe-nav a:hover,
.fe-nav-link:hover {
  color: var(--fe-accent);
  background: var(--fe-accent-soft);
}

.fe-header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.fe-header-actions--mobile {
  display: none;
}

/* Buttons */
.fe-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.55rem 1.15rem;
  border-radius: var(--fe-radius-btn);
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-size: 0.9rem;
  transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
  line-height: 1.3;
}

.fe-btn-primary {
  background: var(--fe-accent);
  color: #fff;
  box-shadow: none;
}

.fe-btn-primary:hover {
  background: var(--fe-accent-hover);
  color: #fff;
}

.fe-btn-outline {
  background: var(--fe-card);
  border: 1px solid var(--fe-border);
  color: var(--fe-dark);
}

.fe-btn-outline:hover {
  border-color: var(--fe-accent);
  color: var(--fe-accent);
  background: var(--fe-accent-soft);
}

.fe-btn-dark {
  background: var(--fe-dark);
  color: #fff;
  box-shadow: none;
}

.fe-btn-dark:hover { background: #1e293b; color: #fff; }

.fe-btn-lg {
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  border-radius: var(--fe-radius-btn);
}

.fe-cart-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #ef4444;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  border-radius: 999px;
  min-width: 1.1rem;
  height: 1.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.25rem;
}

.fe-main { min-height: 65vh; }

/* Hero — editorial light B2B */
.fe-hero {
  position: relative;
  background: var(--fe-bg);
  color: var(--fe-dark);
  padding: clamp(2.5rem, 6vw, 4rem) 1.25rem;
  text-align: left;
  overflow: hidden;
  border-bottom: 1px solid var(--fe-border);
}

.fe-hero::before,
.fe-hero::after {
  display: none;
}

.fe-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0;
}

.fe-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: var(--fe-accent-soft);
  border: 1px solid rgba(37, 99, 235, 0.15);
  color: var(--fe-accent);
  padding: 0.3rem 0.75rem;
  border-radius: 6px;
  font-size: 0.78rem;
  font-weight: 600;
  margin-bottom: 1rem;
  letter-spacing: 0.02em;
  text-transform: none;
}

.fe-hero h1 {
  font-size: clamp(2rem, 5vw, 2.85rem);
  font-weight: 700;
  margin: 0 0 1rem;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--fe-dark);
}

.fe-hero p,
.fe-hero-lead {
  font-size: clamp(1rem, 2.2vw, 1.125rem);
  color: var(--fe-muted);
  max-width: 36rem;
  margin: 0 0 1.5rem;
  line-height: 1.65;
  opacity: 1;
}

.fe-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: flex-start;
}

.fe-hero .fe-btn-dark {
  background: var(--fe-accent);
  color: #fff;
  box-shadow: none;
}

.fe-hero .fe-btn-dark:hover {
  background: var(--fe-accent-hover);
  color: #fff;
}

/* Sections */
.fe-container {
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 3.5rem) 1.25rem;
}

.fe-section-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 2.5rem;
}

.fe-section-title {
  font-size: clamp(1.5rem, 4vw, 1.85rem);
  font-weight: 700;
  margin: 0 0 0.75rem;
  letter-spacing: -0.02em;
  color: var(--fe-dark);
}

.fe-section-desc {
  color: var(--fe-muted);
  font-size: 1.05rem;
  margin: 0;
}

.fe-section-title.fe-section-title--left { text-align: left; }

/* Grid & cards */
.fe-grid-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}

.fe-card {
  background: var(--fe-card);
  border-radius: var(--fe-radius);
  box-shadow: none;
  padding: 1.75rem;
  border: 1px solid var(--fe-border);
  transition: border-color 0.2s, box-shadow 0.2s;
}

.fe-card:hover {
  border-color: rgba(37, 99, 235, 0.25);
  box-shadow: var(--fe-shadow);
}

.fe-grid-3 .fe-card {
  height: 100%;
}

.fe-grid-3 .fe-card h4 {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--fe-primary);
}

.fe-grid-3 .fe-card p {
  margin: 0;
  color: var(--fe-muted);
  font-size: 0.95rem;
}

/* Özellik kartları */
.fe-features-grid > .fe-card {
  display: flex;
  flex-direction: column;
  padding: 1.75rem;
}

.fe-features-grid > .fe-card::before {
  display: none;
}

.fe-features-grid > .fe-card h4 {
  margin: 0 0 0.6rem;
  padding: 0;
  font-size: 1.12rem;
  line-height: 1.35;
  color: var(--fe-dark);
}

.fe-features-grid > .fe-card p {
  flex: 1;
  line-height: 1.6;
}

/* CTA band */
.fe-cta-band {
  background: var(--fe-card);
  border-radius: var(--fe-radius-lg);
  padding: clamp(2rem, 5vw, 3rem);
  text-align: center;
  border: 1px solid var(--fe-border);
  box-shadow: none;
}

.fe-cta-band h2 {
  font-size: clamp(1.35rem, 3vw, 1.65rem);
  font-weight: 700;
  margin: 0 0 0.75rem;
  letter-spacing: -0.02em;
}

/* Pricing */
.fe-pricing-hero {
  padding-top: 2.5rem;
  padding-bottom: 1rem;
}

.fe-price-card {
  text-align: center;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.fe-price-card--featured {
  border-color: var(--fe-accent);
  box-shadow: var(--fe-shadow-lg);
  transform: none;
}

.fe-price-card--featured::before {
  content: attr(data-badge);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: var(--fe-accent);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.35rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.fe-price-card--featured { padding-top: 2.5rem; }

.fe-price-card h3 {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--fe-dark);
}

.fe-price-card .price {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--fe-primary);
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.fe-price-card .price small {
  font-size: 1rem;
  font-weight: 500;
  color: var(--fe-muted);
}

.fe-price-card .fe-price-period {
  color: var(--fe-muted);
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

.fe-price-card ul {
  list-style: none;
  padding: 0;
  margin: 1.25rem 0;
  text-align: left;
  flex: 1;
}

.fe-price-card li {
  padding: 0.55rem 0;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.fe-price-card li::before {
  content: '\F26B';
  font-family: 'bootstrap-icons';
  color: var(--fe-accent);
  font-size: 0.85rem;
}

.fe-price-card .form-control {
  border-radius: 10px;
  border-color: var(--fe-border);
  font-size: 0.9rem;
}

/* News cards */
.fe-news-card h3 {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
}

.fe-news-card h3 a {
  color: var(--fe-dark);
  text-decoration: none;
  transition: color 0.15s;
}

.fe-news-card h3 a:hover { color: var(--fe-accent); }

.fe-news-card .fe-news-meta {
  font-size: 0.8rem;
  color: var(--fe-muted);
  margin-bottom: 0.5rem;
}

/* Footer */
.fe-footer {
  background: linear-gradient(180deg, #0f172a 0%, #020617 100%);
  color: #94a3b8;
  padding: 3.5rem 1.25rem 1.75rem;
  margin-top: 4rem;
}

.fe-footer-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2.5rem;
}

.fe-footer h6 {
  color: #f1f5f9;
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 1rem;
}

.fe-footer a {
  color: #94a3b8;
  text-decoration: none;
  display: block;
  padding: 0.3rem 0;
  font-size: 0.9rem;
  transition: color 0.15s;
}

.fe-footer a:hover { color: #fff; }

.fe-footer-brand p {
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 0.75rem;
}

.fe-footer-bottom {
  text-align: center;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(148, 163, 184, 0.15);
  font-size: 0.85rem;
  color: #64748b;
}

/* Content pages */
.fe-content-shell {
  padding-top: clamp(1.5rem, 4vw, 2.5rem);
  padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

.fe-content-card {
  background: var(--fe-card);
  border-radius: var(--fe-radius-lg);
  box-shadow: var(--fe-shadow-lg);
  border: 1px solid var(--fe-border);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  max-width: 760px;
  margin: 0 auto;
}

.fe-content-card--wide {
  max-width: 960px;
}

.fe-prose {
  max-width: none;
  margin: 0;
  font-size: 1.05rem;
}

.fe-contact-page {
  max-width: 1040px;
}

.fe-contact-lead {
  color: var(--fe-muted);
  font-size: 1.05rem;
  margin: 0 0 1.5rem;
}

.fe-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: start;
}

.fe-contact-intro {
  padding-right: 0.5rem;
}

.fe-contact-form-wrap {
  background: #f8fafc;
  border: 1px solid var(--fe-border);
  border-radius: var(--fe-radius);
  padding: clamp(1.25rem, 3vw, 1.75rem);
}

.fe-contact-form-title {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 0.35rem;
  color: var(--fe-dark);
}

.fe-contact-form-sub {
  color: var(--fe-muted);
  font-size: 0.9rem;
  margin: 0 0 1.25rem;
}

.fe-contact-form .form-label {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--fe-dark);
}

.fe-contact-form .form-control {
  border-radius: 10px;
  border-color: var(--fe-border);
  padding: 0.6rem 0.85rem;
}

.fe-contact-form .form-control:focus {
  border-color: var(--fe-accent);
  box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.15);
}

.fe-package-addons {
  text-align: left;
  padding: 0.75rem 0 0;
  border-top: 1px solid var(--fe-border);
}

.fe-package-addons-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--fe-dark);
  margin-bottom: 0.5rem;
}

.fe-package-addons .form-check-label {
  font-size: 0.9rem;
}

@media (max-width: 768px) {
  .fe-contact-grid {
    grid-template-columns: 1fr;
  }

  .fe-contact-intro {
    padding-right: 0;
  }
}
.fe-prose img { max-width: 100%; height: auto; border-radius: var(--fe-radius); }

.fe-breadcrumb {
  font-size: 0.85rem;
  color: var(--fe-muted);
  margin-bottom: 1.25rem;
}

.fe-breadcrumb a { color: var(--fe-accent); text-decoration: none; }
.fe-breadcrumb a:hover { text-decoration: underline; }

/* Checkout */
.fe-checkout-steps {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.fe-step {
  flex: 1;
  min-width: 110px;
  text-align: center;
  padding: 0.65rem 0.5rem;
  border-radius: 10px;
  background: var(--fe-card);
  border: 1px solid var(--fe-border);
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--fe-muted);
}

.fe-step.active {
  background: var(--fe-accent-soft);
  color: var(--fe-accent);
  border-color: rgba(37, 99, 235, 0.25);
  box-shadow: none;
}

/* Auth pages */
.fe-auth-wrap {
  max-width: 420px;
  margin: 2rem auto;
  padding: 0 1.25rem;
}

.fe-auth-card {
  background: var(--fe-card);
  border-radius: var(--fe-radius-lg);
  padding: 2rem;
  box-shadow: var(--fe-shadow-lg);
  border: 1px solid var(--fe-border);
}

.fe-auth-card h1 {
  font-size: 1.5rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
  letter-spacing: -0.02em;
}

.fe-prose h1, .fe-prose h2 { letter-spacing: -0.02em; }

/* Editorial homepage hero */
.fe-hero--editorial,
.fe-hero--premium {
  position: relative;
  overflow: hidden;
  padding: clamp(2.5rem, 5vw, 3.75rem) 0;
  background: var(--fe-bg);
  border-bottom: 1px solid var(--fe-border);
  color: var(--fe-dark);
}

.fe-hero-glow { display: none; }

.fe-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  grid-template-areas:
    "copy visual"
    "trust trust";
  gap: 2.5rem;
  align-items: center;
  position: relative;
  z-index: 1;
}

.fe-hero-copy { grid-area: copy; min-width: 0; }
.fe-hero-visual { grid-area: visual; }
.fe-hero-trust--span { grid-area: trust; }

.fe-hero-trust {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
  font-size: 0.88rem;
  color: var(--fe-muted);
  opacity: 1;
}

.fe-hero-trust--span {
  margin-top: 0;
  padding-top: 0.25rem;
}

.fe-hero-trust li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.fe-hero-trust li i {
  color: var(--fe-accent);
  font-size: 0.95rem;
}

.fe-btn-hero-outline {
  background: var(--fe-card) !important;
  border-color: var(--fe-border) !important;
  color: var(--fe-dark) !important;
}

.fe-btn-hero-outline:hover {
  border-color: var(--fe-accent) !important;
  color: var(--fe-accent) !important;
  background: var(--fe-accent-soft) !important;
}

.fe-btn-ghost {
  background: transparent;
  color: var(--fe-muted);
  border: 1px solid transparent;
}

.fe-btn-ghost:hover {
  color: var(--fe-accent);
  background: var(--fe-accent-soft);
}

.fe-hero-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

.fe-hero-image {
  width: 100%;
  max-width: 420px;
  border-radius: var(--fe-radius-lg);
  border: 1px solid var(--fe-border);
  box-shadow: var(--fe-shadow-lg);
  object-fit: cover;
  aspect-ratio: 4 / 3;
}

.fe-hero-image-placeholder {
  width: 100%;
  max-width: 420px;
  aspect-ratio: 4 / 3;
  border-radius: var(--fe-radius-lg);
  border: 1px dashed var(--fe-border);
  background: var(--fe-card);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fe-muted);
  font-size: 3rem;
}

/* Hero image album — stacked / scattered collage */
.fe-hero-album {
  position: relative;
  width: 100%;
  max-width: 420px;
  min-height: 240px;
  margin: 0 auto;
  aspect-ratio: 1 / 0.88;
}

.fe-hero-album__item {
  position: absolute;
  width: 68%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--fe-radius-lg);
  border: 2px solid var(--fe-card);
  box-shadow: var(--fe-shadow-lg);
  background: var(--fe-card);
}

.fe-hero-album--count-1 {
  aspect-ratio: 4 / 3;
  min-height: 0;
}

.fe-hero-album--count-1 .fe-hero-album__item {
  position: relative;
  width: 100%;
  transform: none !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
}

.fe-hero-album--count-2 .fe-hero-album__item--pos-0 { top: 6%; left: 0; transform: rotate(-5deg); z-index: 1; }
.fe-hero-album--count-2 .fe-hero-album__item--pos-1 { top: 14%; right: 0; transform: rotate(4deg); z-index: 2; }

.fe-hero-album--count-3 .fe-hero-album__item--pos-0 { top: 0; left: 4%; transform: rotate(-6deg); z-index: 1; }
.fe-hero-album--count-3 .fe-hero-album__item--pos-1 { top: 16%; right: 0; transform: rotate(5deg); z-index: 3; }
.fe-hero-album--count-3 .fe-hero-album__item--pos-2 { bottom: 0; left: 16%; width: 62%; transform: rotate(-2deg); z-index: 2; }

.fe-hero-album--count-4 .fe-hero-album__item--pos-0 { top: 2%; left: 0; transform: rotate(-5deg); z-index: 1; }
.fe-hero-album--count-4 .fe-hero-album__item--pos-1 { top: 0; right: 2%; transform: rotate(4deg); z-index: 3; }
.fe-hero-album--count-4 .fe-hero-album__item--pos-2 { bottom: 8%; left: 6%; transform: rotate(-3deg); z-index: 2; width: 58%; }
.fe-hero-album--count-4 .fe-hero-album__item--pos-3 { bottom: 0; right: 0; transform: rotate(6deg); z-index: 4; width: 56%; }

.fe-hero-album--count-5 .fe-hero-album__item--pos-0,
.fe-hero-album--count-6 .fe-hero-album__item--pos-0 { top: 0; left: 2%; transform: rotate(-5deg); z-index: 1; width: 58%; }
.fe-hero-album--count-5 .fe-hero-album__item--pos-1,
.fe-hero-album--count-6 .fe-hero-album__item--pos-1 { top: 8%; right: 0; transform: rotate(4deg); z-index: 3; width: 56%; }
.fe-hero-album--count-5 .fe-hero-album__item--pos-2,
.fe-hero-album--count-6 .fe-hero-album__item--pos-2 { top: 38%; left: 18%; transform: rotate(-2deg); z-index: 2; width: 52%; }
.fe-hero-album--count-5 .fe-hero-album__item--pos-3,
.fe-hero-album--count-6 .fe-hero-album__item--pos-3 { bottom: 6%; left: 0; transform: rotate(3deg); z-index: 4; width: 54%; }
.fe-hero-album--count-5 .fe-hero-album__item--pos-4,
.fe-hero-album--count-6 .fe-hero-album__item--pos-4 { bottom: 0; right: 4%; transform: rotate(-4deg); z-index: 5; width: 50%; }
.fe-hero-album--count-6 .fe-hero-album__item--pos-5 { top: 44%; right: 8%; transform: rotate(5deg); z-index: 6; width: 46%; }

.fe-stats-bar {
  background: var(--fe-card);
  color: var(--fe-dark);
  padding: 1.25rem 0;
  border-top: 1px solid var(--fe-border);
  border-bottom: 1px solid var(--fe-border);
}

.fe-stats-bar__inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  text-align: center;
}

.fe-stat-item strong {
  display: block;
  font-size: 1.25rem;
  color: var(--fe-dark);
  font-family: var(--fe-font-heading);
}

.fe-stat-item span {
  font-size: 0.82rem;
  color: var(--fe-muted);
}

.fe-stat-item i {
  display: block;
  font-size: 1.1rem;
  color: var(--fe-accent);
  margin-bottom: 0.35rem;
}

/* Homepage blocks — tek dikey ritim, çift padding yok */
.fe-home-blocks {
  display: flex;
  flex-direction: column;
  gap: clamp(1.65rem, 3.25vw, 2.35rem);
}
.fe-home-blocks > .fe-section { padding: 0; }
.fe-home-blocks > .fe-section > .fe-container,
.fe-home-blocks > .fe-stats-bar > .fe-container,
.fe-home-blocks > .fe-hero .fe-container {
  padding-top: 0;
  padding-bottom: 0;
}
.fe-home-blocks > .fe-hero--premium,
.fe-home-blocks > .fe-hero--editorial {
  padding-top: clamp(2.25rem, 5vw, 3.25rem);
  padding-bottom: clamp(1.5rem, 3vw, 2rem);
}
.fe-home-blocks > .fe-stats-bar { padding: 0.85rem 0; }
.fe-home-blocks .fe-section-head,
.fe-home-blocks .fe-section-head--center {
  margin-bottom: clamp(0.85rem, 2vw, 1.15rem);
  text-align: left;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.fe-home-blocks .fe-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.fe-home-blocks .fe-section-head__lead {
  display: flex;
  align-items: baseline;
  gap: clamp(0.65rem, 2vw, 1.15rem);
  flex: 1;
  min-width: 0;
  flex-wrap: wrap;
}
.fe-home-blocks .fe-section-head .fe-section-title {
  margin: 0;
  flex-shrink: 0;
  text-align: left;
}
.fe-home-blocks .fe-section-head .fe-section-desc {
  margin: 0;
  text-align: left;
  font-size: clamp(0.92rem, 2vw, 1rem);
  line-height: 1.45;
  flex: 1;
  min-width: min(100%, 220px);
}
.fe-home-blocks .fe-section-link {
  flex-shrink: 0;
}
.fe-home-blocks .fe-cta-band--premium {
  padding: clamp(1.35rem, 3vw, 1.85rem);
}

.fe-section { padding: 3rem 0; }
.fe-section-head--center { text-align: center; max-width: 640px; margin: 0 auto 2rem; }
.fe-section-link {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--fe-primary-light);
  text-decoration: none;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.fe-section-link:hover { color: var(--fe-accent); }

.fe-steps-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
  align-items: stretch;
}

.fe-step-card {
  background: var(--fe-card);
  border: 1px solid var(--fe-border);
  border-radius: var(--fe-radius);
  padding: 1.35rem 1.15rem;
  text-align: center;
  position: relative;
  height: 100%;
}

.fe-step-num {
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(37, 99, 235, 0.08);
  border: 2px solid var(--fe-accent);
  color: var(--fe-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.95rem;
  margin: 0 auto 0.85rem;
}

.fe-step-card h3 { font-size: 1.05rem; margin-bottom: 0.4rem; font-family: var(--fe-font-heading); }
.fe-step-card p { color: var(--fe-muted); font-size: 0.92rem; margin: 0; line-height: 1.5; }

@media (min-width: 769px) {
  .fe-step-card:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 2rem;
    right: calc(-0.5 * clamp(1rem, 2.5vw, 1.75rem));
    width: clamp(1rem, 2.5vw, 1.75rem);
    height: 2px;
    background: var(--fe-border);
    pointer-events: none;
  }
}

@media (max-width: 992px) and (min-width: 769px) {
  .fe-step-card {
    padding: 1.15rem 0.85rem;
  }

  .fe-step-card h3 {
    font-size: 0.98rem;
  }

  .fe-step-card p {
    font-size: 0.86rem;
  }
}

.fe-feature-rich {
  padding: 1.35rem !important;
  height: 100%;
  border: 1px solid var(--fe-border) !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.fe-feature-rich:hover {
  border-color: rgba(37, 99, 235, 0.25) !important;
  box-shadow: var(--fe-shadow);
  transform: none;
}

.fe-feature-rich__icon {
  width: 44px;
  height: 44px;
  border-radius: var(--fe-radius-btn);
  background: var(--fe-accent-soft);
  color: var(--fe-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  margin-bottom: 0.85rem;
}
.fe-features-grid--rich { grid-template-columns: repeat(3, 1fr); }

.fe-references-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.25rem; }
.fe-reference-card {
  background: var(--fe-card);
  border: 1px solid var(--fe-border);
  border-radius: var(--fe-radius);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
  height: 100%;
  transition: box-shadow 0.2s, transform 0.2s;
}
.fe-reference-card:hover {
  box-shadow: var(--fe-shadow);
  transform: none;
}
.fe-reference-card__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 140px;
  padding: 1.5rem 1.25rem;
  background: var(--fe-bg);
  border-bottom: 1px solid var(--fe-border);
}
.fe-reference-card__logo img {
  max-height: 100px;
  max-width: min(100%, 220px);
  width: auto;
  height: auto;
  object-fit: contain;
}
.fe-reference-placeholder {
  width: 80px;
  height: 80px;
  border-radius: 12px;
  background: var(--fe-card);
  border: 1px solid var(--fe-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--fe-primary);
}
.fe-reference-card__body {
  padding: 1.15rem 1.25rem 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.fe-reference-card h3 { font-size: 1.05rem; margin-bottom: 0.5rem; line-height: 1.35; }
.fe-reference-card h3 a { color: inherit; text-decoration: none; }
.fe-reference-card h3 a:hover { color: var(--fe-primary-light); }
.fe-reference-card p { font-size: 0.88rem; color: var(--fe-muted); margin: 0; line-height: 1.55; }

.fe-section--references-page .fe-references-grid {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.75rem;
}
.fe-section--references-page .fe-reference-card__logo {
  min-height: 220px;
  padding: 2rem 1.75rem;
}
.fe-section--references-page .fe-reference-card__logo img {
  max-height: 160px;
  max-width: min(100%, 280px);
}
.fe-section--references-page .fe-reference-card__body {
  padding: 1.25rem 1.35rem 1.35rem;
}

.fe-kb-teaser-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.fe-kb-teaser-card { background: var(--fe-card); border: 1px solid var(--fe-border); border-radius: var(--fe-radius); padding: 1.25rem; text-decoration: none; color: inherit; transition: border-color 0.2s, box-shadow 0.2s; }
.fe-kb-teaser-card:hover { border-color: var(--fe-accent); box-shadow: var(--fe-shadow); }
.fe-kb-teaser-cat { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--fe-accent); font-weight: 600; }
.fe-kb-teaser-card h3 { font-size: 1rem; margin: 0.35rem 0; }
.fe-kb-teaser-card p { font-size: 0.88rem; color: var(--fe-muted); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.fe-cta-band--premium {
  text-align: center;
  padding: 2rem;
  background: var(--fe-card);
  border-radius: var(--fe-radius-lg);
  border: 1px solid var(--fe-border);
}
.fe-cta-sub { max-width: 520px; margin: 0 auto 1.25rem; color: var(--fe-muted); }

/* Knowledge base */
.fe-kb-hero {
  background: var(--fe-bg);
  color: var(--fe-dark);
  padding: 2rem 0;
  border-bottom: 1px solid var(--fe-border);
}
.fe-kb-hero--compact { padding: 1.75rem 0; }
.fe-kb-hero__title { font-size: clamp(1.75rem, 4vw, 2.1rem); font-weight: 700; margin-bottom: 0.5rem; }
.fe-kb-hero__desc { color: var(--fe-muted); max-width: 36rem; margin-bottom: 0; }
.fe-kb-hero__inner { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }
.fe-kb-search { display: flex; align-items: center; gap: 0.5rem; background: #fff; border-radius: 12px; padding: 0.35rem 0.35rem 0.35rem 1rem; min-width: min(100%, 420px); box-shadow: var(--fe-shadow-lg); }
.fe-kb-search i { color: var(--fe-muted); }
.fe-kb-search input { border: none; flex: 1; min-width: 0; outline: none; font-size: 0.95rem; }
.fe-kb-categories-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.fe-kb-category-card { display: flex; align-items: center; gap: 1rem; background: var(--fe-card); border: 1px solid var(--fe-border); border-radius: var(--fe-radius); padding: 1.25rem; text-decoration: none; color: inherit; transition: all 0.2s; }
.fe-kb-category-card:hover { border-color: var(--fe-accent); box-shadow: var(--fe-shadow); transform: translateY(-2px); }
.fe-kb-category-card__icon {
  width: 48px;
  height: 48px;
  border-radius: var(--fe-radius-btn);
  background: var(--fe-accent-soft);
  color: var(--fe-accent); display: flex; align-items: center; justify-content: center; font-size: 1.35rem; flex-shrink: 0; }
.fe-kb-category-card__body { flex: 1; min-width: 0; }
.fe-kb-category-card h2 { font-size: 1.05rem; margin: 0 0 0.25rem; }
.fe-kb-category-card p { font-size: 0.88rem; color: var(--fe-muted); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fe-kb-category-card__meta { font-size: 0.78rem; color: var(--fe-accent); font-weight: 600; }
.fe-kb-category-card__arrow { color: var(--fe-muted); flex-shrink: 0; }

.fe-kb-category-head { display: flex; gap: 1rem; align-items: center; margin: 1.5rem 0 2rem; }
.fe-kb-category-head__icon { width: 56px; height: 56px; border-radius: 14px; background: rgba(6,182,212,0.12); color: var(--fe-primary-light); display: flex; align-items: center; justify-content: center; font-size: 1.5rem; }
.fe-kb-articles-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.fe-kb-article-card { background: var(--fe-card); border: 1px solid var(--fe-border); border-radius: var(--fe-radius); padding: 1.25rem; text-decoration: none; color: inherit; display: block; transition: all 0.2s; }
.fe-kb-article-card:hover { border-color: var(--fe-accent); box-shadow: var(--fe-shadow); }
.fe-kb-article-card h2 { font-size: 1.05rem; margin-bottom: 0.5rem; }
.fe-kb-article-card p { font-size: 0.88rem; color: var(--fe-muted); margin-bottom: 0.75rem; }
.fe-kb-article-card__link { font-size: 0.85rem; font-weight: 600; color: var(--fe-primary-light); }

.fe-kb-article-layout { display: grid; grid-template-columns: 1fr 280px; gap: 1.5rem; align-items: start; }
.fe-kb-article-header { margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--fe-border); }
.fe-kb-article-excerpt { color: var(--fe-muted); font-size: 1.05rem; }
.fe-kb-aside-card { background: var(--fe-card); border: 1px solid var(--fe-border); border-radius: var(--fe-radius); padding: 1rem; position: sticky; top: 5rem; }
.fe-kb-aside-list { list-style: none; padding: 0; margin: 0; }
.fe-kb-aside-list a { display: block; padding: 0.45rem 0; font-size: 0.88rem; color: var(--fe-muted); text-decoration: none; border-bottom: 1px solid var(--fe-border); }
.fe-kb-aside-list a.active { color: var(--fe-primary); font-weight: 600; }
.fe-kb-aside-list a:hover { color: var(--fe-primary-light); }

.fe-kb-search-results { display: flex; flex-direction: column; gap: 0.75rem; }
.fe-kb-search-result { background: var(--fe-card); border: 1px solid var(--fe-border); border-radius: var(--fe-radius); padding: 1rem 1.25rem; text-decoration: none; color: inherit; }
.fe-kb-search-result:hover { border-color: var(--fe-accent); }
.fe-kb-search-result__cat { font-size: 0.72rem; font-weight: 600; color: var(--fe-accent); text-transform: uppercase; }
.fe-kb-search-result h2 { font-size: 1rem; margin: 0.25rem 0; }

@media (max-width: 992px) {
  .fe-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "visual"
      "trust";
    gap: 1.25rem;
    align-items: stretch;
  }
  .fe-hero-visual {
    display: flex;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
  }
  .fe-hero-image,
  .fe-hero-image-placeholder {
    max-width: 100%;
    width: 100%;
  }
  .fe-features-grid--rich { grid-template-columns: 1fr 1fr; }
  .fe-kb-article-layout { grid-template-columns: 1fr; }
  .fe-kb-aside-card { position: static; }
  .fe-kb-teaser-grid { grid-template-columns: 1fr 1fr; }
  .fe-steps-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Announcements */
.fe-news-hero {
  background: var(--fe-bg);
  color: var(--fe-dark);
  padding: 2rem 0;
  border-bottom: 1px solid var(--fe-border);
}

.fe-news-hero__badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: var(--fe-accent-soft);
  color: var(--fe-accent);
  padding: 0.28rem 0.65rem;
  border-radius: 6px;
  margin-bottom: 0.75rem;
}

.fe-news-hero__title {
  font-size: clamp(1.75rem, 4vw, 2.1rem);
  font-weight: 700;
  margin: 0 0 0.5rem;
}
.fe-news-hero__desc { opacity: 0.9; max-width: 36rem; margin: 0; font-size: 1.05rem; }
.fe-breadcrumb--light a { color: rgba(255,255,255,0.85); }
.fe-breadcrumb--light span { color: rgba(255,255,255,0.5); }

.fe-section--news-list { padding: 2.5rem 0 3rem; }
.fe-news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.25rem;
}
.fe-news-card--page {
  background: var(--fe-card);
  border: 1px solid var(--fe-border);
  border-radius: var(--fe-radius);
  padding: 1.35rem;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
  position: relative;
}
.fe-news-card--page:hover {
  transform: translateY(-3px);
  box-shadow: var(--fe-shadow-lg);
  border-color: rgba(6,182,212,0.35);
}
.fe-news-card--featured {
  border-color: rgba(6,182,212,0.45);
  background: linear-gradient(180deg, rgba(6,182,212,0.06) 0%, var(--fe-card) 40%);
}
.fe-news-card__badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--fe-accent);
  margin-bottom: 0.65rem;
}
.fe-news-card__badge--inline { margin-bottom: 1rem; }
.fe-news-card__meta { font-size: 0.82rem; color: var(--fe-muted); margin-bottom: 0.65rem; }
.fe-news-card--page h2 { font-size: 1.15rem; font-weight: 700; margin: 0 0 0.65rem; line-height: 1.35; }
.fe-news-card--page h2 a { color: var(--fe-dark); text-decoration: none; }
.fe-news-card--page h2 a:hover { color: var(--fe-primary-light); }
.fe-news-card__excerpt { color: var(--fe-muted); font-size: 0.92rem; margin: 0 0 1rem; flex: 1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fe-news-card__link { font-size: 0.88rem; font-weight: 600; color: var(--fe-primary-light); text-decoration: none; display: inline-flex; align-items: center; gap: 0.25rem; margin-top: auto; }
.fe-news-card__link:hover { color: var(--fe-accent); }

.fe-news-article-layout { display: grid; grid-template-columns: 1fr 280px; gap: 1.5rem; align-items: start; }
.fe-news-article-main { max-width: none; }
.fe-news-article-header { margin-bottom: 1.5rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--fe-border); }
.fe-news-article-date { display: inline-block; font-size: 0.88rem; color: var(--fe-muted); margin-bottom: 0.75rem; }
.fe-news-article-excerpt { font-size: 1.1rem; color: var(--fe-muted); margin: 0.5rem 0 0; }
.fe-news-article-body { line-height: 1.75; }
.fe-news-article-footer { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--fe-border); }
.fe-news-aside-card { background: var(--fe-card); border: 1px solid var(--fe-border); border-radius: var(--fe-radius); padding: 1rem; position: sticky; top: 5rem; }
.fe-news-aside-card h2 { font-size: 0.95rem; font-weight: 700; margin: 0 0 0.75rem; color: var(--fe-dark); }
.fe-news-aside-list { list-style: none; padding: 0; margin: 0; }
.fe-news-aside-list a { display: block; padding: 0.65rem 0; text-decoration: none; color: inherit; border-bottom: 1px solid var(--fe-border); }
.fe-news-aside-list a.active .fe-news-aside-list__title { color: var(--fe-primary); font-weight: 600; }
.fe-news-aside-list__title { display: block; font-size: 0.88rem; line-height: 1.35; }
.fe-news-aside-list__date { display: block; font-size: 0.75rem; color: var(--fe-muted); margin-top: 0.2rem; }
.fe-news-aside-list a:hover .fe-news-aside-list__title { color: var(--fe-primary-light); }

.fe-empty-state { text-align: center; padding: 3rem 1rem; color: var(--fe-muted); }
.fe-empty-state i { font-size: 2.5rem; opacity: 0.4; display: block; margin-bottom: 0.75rem; }

/* Unified page hero (contact, pricing, CMS pages, KB, etc.) */
.fe-page-hero,
.fe-contact-hero {
  background: var(--fe-bg);
  border-bottom: 1px solid var(--fe-border);
  padding: 1.15rem 0 1.25rem;
}
.fe-page-hero--compact,
.fe-contact-hero.fe-page-hero--compact { padding: 0.85rem 0 1rem; }
.fe-page-hero .fe-container,
.fe-contact-hero .fe-container {
  padding-top: 0;
  padding-bottom: 0;
}
.fe-page-hero__layout {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.5rem;
}
.fe-page-hero__copy,
.fe-contact-hero__copy { max-width: 38rem; flex: 1; min-width: min(100%, 260px); }
.fe-page-hero__badge,
.fe-contact-hero__badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--fe-accent);
  background: var(--fe-accent-soft);
  padding: 0.28rem 0.65rem;
  border-radius: 6px;
  margin-bottom: 0.45rem;
}
.fe-page-hero h1,
.fe-contact-hero h1 {
  font-size: clamp(1.45rem, 3vw, 1.85rem);
  font-weight: 800;
  margin: 0 0 0.35rem;
  color: var(--fe-dark);
  line-height: 1.2;
}
.fe-page-hero__lead,
.fe-contact-hero__lead {
  color: var(--fe-muted);
  font-size: 0.95rem;
  max-width: 36rem;
  margin: 0;
  line-height: 1.5;
}
.fe-page-hero__tools { flex: 1; min-width: min(100%, 280px); max-width: 420px; }
.fe-page-hero--with-search .fe-page-hero__layout { align-items: flex-end; }
.fe-breadcrumb--hero { margin-bottom: 0.35rem; font-size: 0.82rem; }
.fe-breadcrumb--hero a { color: var(--fe-muted); text-decoration: none; }
.fe-breadcrumb--hero a:hover { color: var(--fe-primary-light); }
.fe-breadcrumb--hero span { color: var(--fe-border); margin: 0 0.35rem; }

.fe-section--page.fe-container {
  padding-top: 1.35rem;
  padding-bottom: 2.25rem;
}
.fe-section--page .fe-content-card:first-child { margin-top: 0; }
.fe-section--pricing { padding-top: 1.35rem; }
.fe-section--checkout { padding-top: 1rem; }

.fe-cart-line-details__specs {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.35rem 1rem;
}
.fe-cart-line-details__specs li { margin: 0; color: var(--fe-muted); }
.fe-cart-line-details__specs strong { color: var(--fe-dark); }
.fe-cart-line-details__price { font-size: 1.05rem; }
.fe-cart-line .h5 { color: var(--fe-dark); }

.fe-contact-info-cards { display: flex; flex-direction: column; gap: 0.6rem; }
.fe-contact-sidebar {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.fe-contact-sidebar .fe-contact-intro-card { margin-top: 0; }
.fe-contact-info-card {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  background: var(--fe-card);
  border: 1px solid var(--fe-border);
  border-radius: var(--fe-radius);
  padding: 0.85rem 1rem;
  box-shadow: var(--fe-shadow);
}
.fe-contact-info-card__icon {
  width: 38px; height: 38px; border-radius: 10px;
  background: rgba(6,182,212,0.12); color: var(--fe-primary-light);
  display: flex; align-items: center; justify-content: center; font-size: 1.05rem; flex-shrink: 0;
}
.fe-contact-info-card strong { display: block; font-size: 0.78rem; color: var(--fe-muted); margin-bottom: 0.1rem; }
.fe-contact-info-card a { color: var(--fe-primary-light); text-decoration: none; font-weight: 600; font-size: 0.9rem; word-break: break-all; }
.fe-contact-info-card a:hover { color: var(--fe-accent); }
.fe-contact-info-card span { font-size: 0.88rem; color: var(--fe-dark); line-height: 1.45; }

.fe-section--contact.fe-container {
  padding-top: 1.35rem;
  padding-bottom: 2.25rem;
}
.fe-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
  gap: 1.25rem;
  align-items: start;
}
.fe-contact-intro-card {
  background: var(--fe-card);
  border: 1px solid var(--fe-border);
  border-radius: var(--fe-radius-lg);
  padding: 1.15rem 1.25rem;
  box-shadow: var(--fe-shadow);
}
.fe-contact-form-panel {
  background: var(--fe-card);
  border: 1px solid var(--fe-border);
  border-radius: var(--fe-radius-lg);
  padding: clamp(1.25rem, 3vw, 1.65rem);
  box-shadow: var(--fe-shadow-lg);
}
.fe-contact-form-panel__head h2 { font-size: 1.15rem; font-weight: 700; margin: 0 0 0.25rem; }
.fe-contact-form-panel__head p { color: var(--fe-muted); font-size: 0.88rem; margin: 0 0 1rem; line-height: 1.5; }
.fe-contact-form .form-label { font-size: 0.85rem; font-weight: 600; color: var(--fe-dark); margin-bottom: 0.3rem; }
.fe-contact-form .form-control {
  border-radius: 10px;
  border-color: var(--fe-border);
  padding: 0.55rem 0.8rem;
  font-size: 0.92rem;
}
.fe-contact-form .form-control:focus {
  border-color: var(--fe-accent);
  box-shadow: 0 0 0 3px rgba(6,182,212,0.15);
}
.fe-contact-form textarea.form-control { min-height: 7.5rem; }

@media (max-width: 992px) {
  .fe-news-article-layout { grid-template-columns: 1fr; }
  .fe-news-aside-card { position: static; }
}

/* ── Mobile drawer & responsive frontend ── */
.fe-mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  z-index: 1040;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.fe-mobile-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.fe-mobile-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: min(320px, 88vw);
  max-width: 100%;
  height: 100%;
  height: 100dvh;
  background: var(--fe-card);
  z-index: 1050;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: -8px 0 32px rgba(15, 23, 42, 0.15);
  padding-bottom: env(safe-area-inset-bottom, 0);
}

.fe-mobile-drawer.is-open {
  transform: translateX(0);
}

.fe-mobile-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--fe-border);
  flex-shrink: 0;
}

.fe-mobile-drawer__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--fe-dark);
}

.fe-mobile-drawer__close {
  width: 40px;
  height: 40px;
  border: 1px solid var(--fe-border);
  border-radius: 10px;
  background: var(--fe-bg);
  color: var(--fe-dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}

.fe-mobile-drawer__nav {
  flex: 1;
  overflow-y: auto;
  padding: 0.75rem;
  -webkit-overflow-scrolling: touch;
}

.fe-mobile-drawer__nav .fe-nav-link {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 0.65rem 0.85rem;
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--fe-dark);
  margin-bottom: 0.15rem;
}

.fe-mobile-drawer__nav .fe-nav-link:hover,
.fe-mobile-drawer__nav .fe-nav-link:active {
  background: var(--fe-accent-soft);
  color: var(--fe-accent);
}

.fe-mobile-drawer__prefs {
  padding: 0.85rem 1rem 1rem;
  border-top: 1px solid var(--fe-border);
  flex-shrink: 0;
}

.fe-mobile-pref-group + .fe-mobile-pref-group {
  margin-top: 0.85rem;
}

.fe-mobile-pref-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--fe-muted);
  margin-bottom: 0.45rem;
}

.fe-mobile-pref-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.fe-mobile-pref-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  border: 1px solid var(--fe-border);
  background: var(--fe-bg);
  color: var(--fe-dark);
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.fe-mobile-pref-btn.is-active {
  background: var(--fe-accent-soft);
  border-color: var(--fe-accent);
  color: var(--fe-accent);
}

.fe-mobile-drawer__foot {
  padding: 0.85rem 1rem calc(0.85rem + env(safe-area-inset-bottom, 0));
  border-top: 1px solid var(--fe-border);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex-shrink: 0;
  background: var(--fe-bg);
}

.fe-mobile-drawer__btn {
  width: 100%;
  min-height: 48px;
  justify-content: center;
}

body.fe-drawer-open {
  overflow: hidden;
  touch-action: none;
}

@media (max-width: 768px) {
  .fe-header-inner {
    padding: 0.7rem 1rem;
    gap: 0.65rem;
  }

  .fe-brand span {
    font-size: 0.98rem;
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .fe-nav--desktop,
  .fe-header-actions--desktop {
    display: none !important;
  }

  .fe-header-actions--mobile {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-left: auto;
  }

  .fe-nav-toggle {
    display: inline-flex;
  }

  .fe-header-cart {
    min-width: 42px;
    min-height: 42px;
    padding: 0;
    justify-content: center;
  }

  .fe-container {
    padding: 1.25rem 1rem;
  }

  .fe-hero--premium,
  .fe-hero--editorial {
    padding: 1.75rem 0 1.5rem;
    text-align: left;
  }

  .fe-home-blocks > .fe-hero--premium,
  .fe-home-blocks > .fe-hero--editorial {
    padding-top: 1.75rem;
    padding-bottom: 1.5rem;
  }

  .fe-hero-grid {
    gap: 1.25rem;
  }

  .fe-hero-copy {
    min-width: 0;
  }

  .fe-hero-visual {
    max-width: none;
    width: 100%;
    margin: 0;
  }

  .fe-hero-image,
  .fe-hero-image-placeholder {
    max-width: 100%;
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: var(--fe-radius);
  }

  .fe-hero-album {
    max-width: 100%;
    min-height: 200px;
    aspect-ratio: 1 / 0.82;
  }

  .fe-hero-album__item {
    width: 72%;
  }

  .fe-hero-album--count-1 {
    aspect-ratio: 16 / 10;
  }

  .fe-hero-image-placeholder {
    font-size: 2.25rem;
    min-height: 160px;
  }

  .fe-hero-lead {
    max-width: none;
  }

  .fe-hero-copy h1 {
    font-size: clamp(1.65rem, 6vw, 2.1rem);
  }

  .fe-home-blocks {
    gap: 2rem;
  }

  .fe-hero--premium .fe-container {
    padding-top: 0;
    padding-bottom: 0;
  }

  .fe-hero-lead {
    font-size: 1rem;
    margin-bottom: 1.15rem;
  }

  .fe-hero-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }

  .fe-hero-actions .fe-btn {
    width: 100%;
    min-height: 48px;
    justify-content: center;
  }

  .fe-hero-trust {
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0;
  }

  .fe-hero-trust--span {
    padding-top: 0;
  }

  .fe-stats-bar__inner {
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }

  .fe-stat-item {
    text-align: center;
    padding: 0.5rem;
  }

  .fe-stat-item strong {
    font-size: 1.1rem;
  }

  .fe-faq-item summary {
    min-height: 48px;
    padding: 0.85rem 1rem;
    font-size: 0.95rem;
    -webkit-tap-highlight-color: transparent;
  }

  .fe-faq-item__answer {
    padding: 0 1rem 0.9rem;
    font-size: 0.9rem;
  }

  .fe-kb-teaser-grid {
    grid-template-columns: 1fr;
  }

  .fe-steps-grid,
  .fe-kb-teaser-grid,
  .fe-features-grid--rich,
  .fe-references-grid,
  .fe-news-grid {
    grid-template-columns: 1fr;
  }

  .fe-step-card {
    text-align: left;
    padding: 1.15rem 1rem;
  }

  .fe-step-num {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0.75rem;
  }

  .fe-kb-hero,
  .fe-news-hero {
    padding: 1.75rem 0;
  }

  .fe-kb-hero .fe-container,
  .fe-news-hero .fe-container {
    padding-top: 0;
    padding-bottom: 0;
  }

  .fe-kb-hero__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }

  .fe-kb-search {
    width: 100%;
  }

  .fe-home-blocks .fe-section-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .fe-home-blocks .fe-section-head__lead {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    width: 100%;
  }

  .fe-home-blocks .fe-section-head .fe-section-desc {
    min-width: 0;
  }

  .fe-page-hero__layout {
    flex-direction: column;
    align-items: stretch;
  }

  .fe-page-hero__tools {
    max-width: none;
  }

  .fe-section-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    margin-bottom: 1.15rem;
  }

  .fe-section-title {
    font-size: 1.35rem;
  }

  .fe-features-grid--rich {
    grid-template-columns: 1fr;
  }

  .fe-grid-3 {
    grid-template-columns: 1fr;
  }

  .fe-price-card--featured {
    transform: none;
  }

  .fe-price-card {
    margin-bottom: 0;
  }

  .fe-cta-band--premium {
    padding: 1.75rem 1.25rem;
    text-align: center;
  }

  .fe-cta-band--premium .fe-btn {
    width: 100%;
    min-height: 48px;
  }

  .fe-footer {
    padding: 2.25rem 1rem 1.25rem;
    margin-top: 2.5rem;
  }

  .fe-footer-grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .fe-auth-wrap {
    margin: 1.25rem auto;
    padding: 0 1rem;
  }

  .fe-auth-card {
    padding: 1.35rem;
  }

  .fe-content-shell {
    padding-top: 1rem;
    padding-bottom: 1.75rem;
  }

  .fe-content-card {
    padding: 1.15rem;
  }

  .fe-contact-hero { padding: 1rem 0 1.1rem; }
  .fe-section--contact.fe-container { padding-top: 1.1rem; padding-bottom: 2rem; }
  .fe-contact-layout { grid-template-columns: 1fr; gap: 1rem; }

  .fe-btn {
    min-height: 44px;
  }

  .fe-section--news-list {
    padding: 1.5rem 0 2rem;
  }

  .fe-section--news-list.fe-container {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }

  .fe-section {
    padding: 2rem 0;
  }
}

@media (max-width: 480px) {
  .fe-stats-bar__inner {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .fe-checkout-steps .fe-step {
    flex: 1 1 100%;
    min-width: 0;
  }
}

@media (min-width: 769px) {
  .fe-mobile-drawer,
  .fe-mobile-overlay {
    display: none !important;
  }
}

@media (min-width: 993px) {
  .fe-features-grid--editorial { grid-template-columns: repeat(3, 1fr); }
}

/* FAQ accordion block — mobile-first: 1 col, 2 col from 769px */
.fe-faq-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.55rem;
  align-items: start;
}

@media (min-width: 769px) {
  .fe-faq-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.65rem, 1.5vw, 1rem);
  }
}

.fe-faq-item {
  background: var(--fe-card);
  border: 1px solid var(--fe-border);
  border-radius: var(--fe-radius);
  overflow: hidden;
  min-width: 0;
}

.fe-faq-item summary {
  cursor: pointer;
  padding: 1rem 1.15rem;
  font-weight: 600;
  font-family: var(--fe-font-heading);
  color: var(--fe-dark);
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  word-break: break-word;
  text-align: left;
}

.fe-faq-item summary::-webkit-details-marker { display: none; }

.fe-faq-item summary::after {
  content: '+';
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--fe-muted);
  flex-shrink: 0;
  line-height: 1;
}

.fe-faq-item[open] summary::after { content: '−'; }

.fe-faq-item__answer {
  padding: 0 1.15rem 1rem;
  color: var(--fe-muted);
  font-size: 0.95rem;
  line-height: 1.65;
  border-top: 1px solid var(--fe-border);
  margin-top: 0;
  padding-top: 0.85rem;
  word-break: break-word;
}

/* Dahili CAPTCHA (honeypot + matematik) */
.sp-captcha-widget {
  position: relative;
}
.sp-captcha-answer {
  max-width: 6.5rem;
}
.sp-captcha-math {
  font-size: 1.05rem;
  min-width: 4.5rem;
}
.sp-captcha-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

/* WhatsApp floating widget */
.sp-whatsapp-float {
  position: fixed;
  z-index: 1035;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.22);
  bottom: 1.25rem;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sp-whatsapp-float:hover,
.sp-whatsapp-float:focus {
  color: #fff;
  transform: scale(1.06);
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.28);
}
.sp-whatsapp-float--bottom-right {
  right: 1.25rem;
}
.sp-whatsapp-float--bottom-left {
  left: 1.25rem;
}
body.fe-drawer-open .sp-whatsapp-float {
  opacity: 0.35;
  pointer-events: none;
}
@media (max-width: 768px) {
  .sp-whatsapp-float {
    width: 3.25rem;
    height: 3.25rem;
    bottom: 1rem;
    font-size: 1.6rem;
  }
  .sp-whatsapp-float--bottom-right {
    right: 1rem;
  }
  .sp-whatsapp-float--bottom-left {
    left: 1rem;
  }
}
