.vfcal3d-page article > .section-heading {
  display: none;
}

.vfcal3d-page .entry-content {
  margin-top: 0;
}

.vfcal3d {
  --vf3-card: #0d1b2d;
  --vf3-card-2: #12243a;
  --vf3-line: #25405d;
  --vf3-text: #edf7ff;
  --vf3-muted: #a9bdd0;
  --vf3-cyan: #32d7ff;
  --vf3-blue: #347cff;
  --vf3-green: #32d296;
  max-width: 1180px;
  margin: 0 auto 72px;
  color: var(--vf3-text);
  font-family: inherit;
}

.vfcal3d * { box-sizing: border-box; }

.vfcal3d-hero {
  position: relative;
  overflow: hidden;
  padding: 56px 44px;
  border: 1px solid var(--vf3-line);
  border-radius: 28px;
  background: radial-gradient(circle at 15% 10%, rgba(50, 215, 255, .18), transparent 36%), radial-gradient(circle at 85% 80%, rgba(52, 124, 255, .2), transparent 42%), linear-gradient(145deg, #081422, #0c1d31);
}

.vfcal3d-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(50, 215, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(50, 215, 255, .05) 1px, transparent 1px);
  background-size: 36px 36px;
  pointer-events: none;
}

.vfcal3d-hero > * { position: relative; z-index: 1; }

.vfcal3d-eyebrow {
  display: inline-flex;
  padding: 7px 13px;
  border: 1px solid rgba(50, 215, 255, .42);
  border-radius: 999px;
  background: rgba(50, 215, 255, .09);
  color: var(--vf3-cyan);
  font-size: 13px;
  font-weight: 800;
}

.vfcal3d h1 {
  max-width: 820px;
  margin: 18px 0 12px;
  color: #fff;
  font-size: clamp(32px, 5vw, 58px);
  line-height: 1.08;
  letter-spacing: -1.5px;
}

.vfcal3d-hero p {
  max-width: 850px;
  margin: 0;
  color: #c6d7e7;
  font-size: 18px;
  line-height: 1.9;
}

.vfcal3d-badges,
.vfcal3d-actions,
.vfcal3d-filelist { display: flex; flex-wrap: wrap; gap: 8px; }
.vfcal3d-badges { margin-top: 24px; }

.vfcal3d-badges span {
  padding: 7px 11px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .07);
  color: #d8e8f6;
  font-size: 12px;
  font-weight: 700;
}

.vfcal3d-pricebar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  overflow: hidden;
  margin: 18px 0;
  border: 1px solid var(--vf3-line);
  border-radius: 18px;
  background: var(--vf3-line);
}

.vfcal3d-pricebar > div {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 20px;
  background: var(--vf3-card);
}

.vfcal3d-pricebar strong { color: #fff; }
.vfcal3d-pricebar span { color: var(--vf3-muted); font-size: 13px; }

.vfcal3d-account,
.vfcal3d-login {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 18px 0;
  padding: 16px 20px;
  border: 1px solid var(--vf3-line);
  border-radius: 16px;
  background: var(--vf3-card);
}

.vfcal3d-account span { padding: 7px 11px; border-radius: 9px; background: #081423; }
.vfcal3d-account .is-paid { color: var(--vf3-green); }
.vfcal3d-account .is-free { color: #ffc76d; }
.vfcal3d-login p { margin: 0; color: var(--vf3-muted); }

.vfcal3d-uploader {
  padding: 24px;
  border: 1px solid var(--vf3-line);
  border-radius: 22px;
  background: var(--vf3-card);
}

.vfcal3d-drop {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 34px;
  border: 2px dashed #315a7d;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(50, 215, 255, .045), rgba(52, 124, 255, .035));
  cursor: pointer;
  text-align: center;
  transition: .2s ease;
}

.vfcal3d-drop:hover,
.vfcal3d-drop.is-dragging { border-color: var(--vf3-cyan); background: rgba(50, 215, 255, .09); transform: translateY(-2px); }
.vfcal3d-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

.vfcal3d-drop-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgba(50, 215, 255, .45);
  border-radius: 18px;
  background: rgba(50, 215, 255, .1);
  color: var(--vf3-cyan);
  font-weight: 900;
}

.vfcal3d-drop strong { font-size: 20px; }
.vfcal3d-drop small { color: var(--vf3-muted); line-height: 1.8; }
.vfcal3d-filelist { margin: 14px 0; }

.vfcal3d-filelist span {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 11px;
  border: 1px solid var(--vf3-line);
  border-radius: 9px;
  background: #071525;
  font-size: 12px;
}

.vfcal3d-filelist small { color: var(--vf3-muted); }

.vfcal3d-filelist b,
.vfcal3d-detected-file b {
  overflow-wrap: anywhere;
}

.vfcal3d-file-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 8px;
  border: 1px solid rgba(50, 215, 255, .35);
  border-radius: 999px;
  background: rgba(50, 215, 255, .09);
  color: var(--vf3-cyan);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.2;
}

.vfcal3d-button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: 12px;
  font: inherit;
  font-weight: 850;
  text-decoration: none !important;
  cursor: pointer;
  transition: .18s ease;
}

.vfcal3d-button.primary { background: linear-gradient(135deg, var(--vf3-cyan), var(--vf3-blue)); color: #02101d; }
.vfcal3d-button.secondary { border-color: rgba(50, 215, 255, .45); background: rgba(50, 215, 255, .09); color: var(--vf3-cyan); }
.vfcal3d-button.ghost { border-color: var(--vf3-line); background: #0a1727; color: #d7e7f5; }
.vfcal3d-button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.vfcal3d-button:disabled { opacity: .48; cursor: not-allowed; filter: none; transform: none; }

.vfcal3d-button.is-busy::after {
  content: "";
  width: 16px;
  height: 16px;
  margin-right: 9px;
  border: 2px solid currentColor;
  border-left-color: transparent;
  border-radius: 50%;
  animation: vfcal3d-spin .7s linear infinite;
}

@keyframes vfcal3d-spin { to { transform: rotate(360deg); } }

.vfcal3d-notice {
  margin: 16px 0;
  padding: 14px 17px;
  border: 1px solid var(--vf3-line);
  border-radius: 12px;
  background: var(--vf3-card);
}

.vfcal3d-notice.is-success { border-color: rgba(50, 210, 150, .45); color: #8ff0c6; }
.vfcal3d-notice.is-error { border-color: rgba(255, 107, 122, .45); color: #ff9eaa; }
.vfcal3d-notice.is-info { color: #a9eaff; }
.vfcal3d-results { margin-top: 22px; }

.vfcal3d-report,
.vfcal3d-viewer { overflow: hidden; border: 1px solid var(--vf3-line); border-radius: 20px; background: var(--vf3-card); }

.vfcal3d-report-head,
.vfcal3d-viewer-head { display: flex; align-items: center; justify-content: space-between; padding: 20px 22px; border-bottom: 1px solid var(--vf3-line); }

.vfcal3d-report-head div { display: flex; flex-direction: column; gap: 4px; }
.vfcal3d-report-head span,
.vfcal3d-stats span { color: var(--vf3-muted); font-size: 12px; }
.vfcal3d-report-head strong { color: var(--vf3-green); font-size: 18px; }
.vfcal3d-report-head > b { padding: 6px 10px; border-radius: 8px; background: rgba(50, 210, 150, .12); color: var(--vf3-green); }

.vfcal3d-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--vf3-line); }

.vfcal3d-stats > div {
  display: flex;
  min-height: 86px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px;
  background: var(--vf3-card-2);
  text-align: center;
}

.vfcal3d-stats strong { color: #fff; font-size: 20px; }
.vfcal3d-detected-files { padding: 20px 22px; border-top: 1px solid var(--vf3-line); }
.vfcal3d-detected-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.vfcal3d-detected-head > strong { color: #fff; }
.vfcal3d-detected-head > span { color: var(--vf3-muted); font-size: 12px; }
.vfcal3d-detected-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }

.vfcal3d-detected-file {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--vf3-line);
  border-radius: 11px;
  background: #071525;
}

.vfcal3d-detected-file > b { display: block; color: #fff; font-size: 12px; }
.vfcal3d-detected-file > div { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.vfcal3d-detected-file small { color: var(--vf3-muted); font-size: 10px; }
.vfcal3d-more-files { margin: 12px 0 0; color: var(--vf3-muted); font-size: 12px; }
.vfcal3d-warnings,
.vfcal3d-clean { margin: 0; padding: 18px 22px; }
.vfcal3d-warnings strong { color: #ffc76d; }
.vfcal3d-warnings ul { margin: 9px 0 0; padding-right: 20px; color: #d7c9a9; line-height: 1.8; }
.vfcal3d-clean { color: var(--vf3-green); }
.vfcal3d-actions { gap: 10px; margin: 16px 0; }
.vfcal3d-viewer { background: #050b13; }
.vfcal3d-viewer-head { padding: 14px 17px; }

.vfcal3d model-viewer {
  display: block;
  width: 100%;
  height: min(66vh, 650px);
  min-height: 420px;
  background: radial-gradient(circle, #1c334a, #050b13 70%);
}

.vfcal3d-viewer-controls { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; border-top: 1px solid var(--vf3-line); color: var(--vf3-muted); font-size: 13px; }
.vfcal3d-viewer-controls > div { display: flex; gap: 8px; flex-wrap: wrap; }
.vfcal3d-viewer-controls button { padding: 7px 10px; border: 1px solid var(--vf3-line); border-radius: 8px; background: #0d1b2d; color: #fff; cursor: pointer; }
.vfcal3d-viewer-controls button:hover { border-color: var(--vf3-blue); background: #132941; }

.vfcal3d-inspector { display: flex; align-items: center; gap: 9px; padding: 12px 16px; border-top: 1px solid var(--vf3-line); }
.vfcal3d-inspector button,
.vfcal3d-inspector a { padding: 8px 11px; border: 1px solid var(--vf3-line); border-radius: 8px; background: #0d1b2d; color: #dff5ff; cursor: pointer; font: inherit; text-decoration: none; }
.vfcal3d-inspector button:hover,
.vfcal3d-inspector a:hover { border-color: var(--vf3-blue); background: #132941; }

.vfcal3d-animation { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; border-top: 1px solid var(--vf3-line); }
.vfcal3d-animation select,
.vfcal3d-animation button { margin-right: 8px; padding: 7px 10px; border: 1px solid var(--vf3-line); border-radius: 8px; background: #0d1b2d; color: #fff; }

.vfcal3d-download { margin-top: 16px; padding: 22px; border: 1px solid rgba(50, 210, 150, .42); border-radius: 18px; background: rgba(50, 210, 150, .07); }
.vfcal3d-download p { color: var(--vf3-muted); }
.vfcal3d-notes { margin-top: 28px; padding: 28px; border: 1px solid var(--vf3-line); border-radius: 20px; background: var(--vf3-card); }
.vfcal3d-notes h2 { margin: 0 0 12px; color: #fff; }
.vfcal3d-notes ul { margin: 0; padding-right: 20px; color: var(--vf3-muted); line-height: 2; }

.vfcal3d-seo {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.vfcal3d-seo > section,
.vfcal3d-internal-links {
  padding: 28px;
  border: 1px solid var(--vf3-line);
  border-radius: 20px;
  background: var(--vf3-card);
}

.vfcal3d-seo h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(22px, 3vw, 30px);
}

.vfcal3d-seo p,
.vfcal3d-seo ol {
  margin: 0;
  color: var(--vf3-muted);
  line-height: 1.9;
}

.vfcal3d-seo ol { padding-inline-start: 22px; }

.vfcal3d-format-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
  gap: 10px;
  margin-top: 20px;
}

.vfcal3d-format-grid article {
  display: flex;
  min-height: 90px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 1px solid var(--vf3-line);
  border-radius: 14px;
  background: var(--vf3-card-2);
}

.vfcal3d-format-grid strong { color: var(--vf3-cyan); font-size: 22px; }
.vfcal3d-format-grid span { color: var(--vf3-muted); font-size: 13px; }
.vfcal3d-independent { margin-top: 14px !important; padding: 14px 16px; border-inline-start: 3px solid var(--vf3-cyan); background: rgba(50, 215, 255, .06); }

.vfcal3d-faq details {
  border-top: 1px solid var(--vf3-line);
}

.vfcal3d-faq details:last-child { border-bottom: 1px solid var(--vf3-line); }
.vfcal3d-faq summary { padding: 16px 0; color: #fff; font-weight: 800; cursor: pointer; }
.vfcal3d-faq details p { padding: 0 0 16px; }

.vfcal3d-internal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.vfcal3d-internal-links a {
  padding: 9px 13px;
  border: 1px solid var(--vf3-line);
  border-radius: 10px;
  color: var(--vf3-cyan);
  text-decoration: none;
}

.vfcal3d[dir="ltr"] .vfcal3d-warnings ul,
.vfcal3d[dir="ltr"] .vfcal3d-notes ul { padding-right: 0; padding-left: 20px; }
.vfcal3d[dir="ltr"] .vfcal3d-button.is-busy::after { margin-right: 0; margin-left: 9px; }

@media (max-width: 850px) {
  .vfcal3d-hero { padding: 38px 24px; }
  .vfcal3d-pricebar { grid-template-columns: repeat(2, 1fr); }
  .vfcal3d-stats { grid-template-columns: repeat(2, 1fr); }
  .vfcal3d-account,
  .vfcal3d-login { align-items: flex-start; flex-direction: column; }
  .vfcal3d-actions .vfcal3d-button { width: 100%; }
  .vfcal3d-format-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 520px) {
  .vfcal3d h1 { font-size: 34px; }
  .vfcal3d-pricebar { grid-template-columns: 1fr; }
  .vfcal3d-uploader { padding: 14px; }
  .vfcal3d-drop { min-height: 220px; padding: 20px 14px; }
  .vfcal3d model-viewer { min-height: 360px; }
  .vfcal3d-viewer-controls { align-items: flex-start; flex-direction: column; }
  .vfcal3d-inspector { align-items: stretch; flex-direction: column; }
  .vfcal3d-inspector button, .vfcal3d-inspector a { text-align: center; }
  .vfcal3d-stats { grid-template-columns: 1fr 1fr; }
  .vfcal3d-detected-grid { grid-template-columns: 1fr; }
}
