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

#sc-root {
  font-family: 'Space Grotesk', sans-serif;
  background: #0a0a0f;
  color: #f0f0f5;
  max-width: 820px;
  margin: 0 auto;
  padding: 2rem 1.25rem 5rem;
  position: relative;
  z-index: 1;
}

.sc-bg {
  position: fixed; top:0; left:0; right:0; bottom:0;
  pointer-events: none; z-index: -1; overflow: hidden;
}
.sc-bg-blob {
  position: absolute; border-radius: 50%;
  filter: blur(90px); opacity: 0.1;
}
.sc-bg-blob:nth-child(1) {
  width:500px;height:500px;background:#8b6f47;
  top:-150px;left:-100px;animation:sc-blob 25s ease-in-out infinite;
}
.sc-bg-blob:nth-child(2) {
  width:350px;height:350px;background:#6c63ff;
  bottom:10%;right:-80px;animation:sc-blob 30s ease-in-out infinite reverse;
}
@keyframes sc-blob { 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(30px,-40px) scale(1.1);} }

.sc-nav { margin-bottom: 2rem; }
.sc-nav a { color:#a78b6f;text-decoration:none;font-size:0.9rem;font-weight:600; }

.sc-hero { text-align:center;margin-bottom:2rem; }
.sc-eyebrow { font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:#a78b6f;margin-bottom:0.75rem;font-weight:600; }
.sc-h1 {
  font-size:clamp(1.6rem,5vw,2.5rem);font-weight:700;line-height:1.2;margin:0 0 1rem;
  background:linear-gradient(135deg,#fff 0%,#d4b896 40%,#a78b6f 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.sc-sub { color:#888899;font-size:1rem;max-width:480px;margin:0 auto;line-height:1.65; }

/* Form */
.sc-form {
  background:rgba(17,17,24,0.85);backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.07);border-radius:20px;
  padding:2rem;margin-bottom:1.5rem;
}
.sc-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:1.25rem; }
@media(max-width:560px){ .sc-form-grid{grid-template-columns:1fr;} }

.sc-field { display:flex;flex-direction:column;gap:0.45rem; }
.sc-field label { font-size:0.75rem;color:#888899;text-transform:uppercase;letter-spacing:0.08em;font-weight:600; }
.sc-field input, .sc-field select {
  background-color: rgba(10,10,15,0.8) !important;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;padding:0.75rem 0.9rem;
  color:#f0f0f5 !important;-webkit-text-fill-color:#f0f0f5 !important;
  font-size:0.95rem;font-family:inherit;color-scheme:dark;
  transition:border-color 0.2s;
}
.sc-field input:focus, .sc-field select:focus {
  outline:none;border-color:#a78b6f;
  background-color: rgba(10,10,15,0.9) !important;
  color:#f0f0f5 !important;-webkit-text-fill-color:#f0f0f5 !important;
  box-shadow:0 0 0 3px rgba(167,139,111,0.12);
}
.sc-field input:-webkit-autofill,
.sc-field input:-webkit-autofill:hover,
.sc-field input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px rgba(10,10,15,0.9) inset !important;
  -webkit-text-fill-color: #f0f0f5 !important;
  background-color: rgba(10,10,15,0.9) !important;
}
.sc-field input::placeholder { color:#666677 !important; }

.sc-hint { font-size:0.7rem;color:#666677;margin-top:0.2rem; }

#sc-btn {
  width:100%;background:linear-gradient(135deg,#8b6f47,#a78b6f);
  color:#0a0a0f!important;-webkit-text-fill-color:#0a0a0f!important;
  border:none;border-radius:12px;padding:1rem;font-size:1rem;font-weight:700;
  font-family:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:0.05em;
  transition:transform 0.15s,box-shadow 0.2s;
  box-shadow:0 4px 24px rgba(167,139,111,0.35);margin-bottom:0.75rem;
}
#sc-btn:hover { transform:translateY(-2px);box-shadow:0 8px 32px rgba(167,139,111,0.5); }
#sc-btn:disabled { opacity:0.7;cursor:wait; }

#sc-reset {
  width:100%;background:transparent;
  color:#888899!important;-webkit-text-fill-color:#888899!important;
  border:1px solid rgba(255,255,255,0.1);border-radius:12px;
  padding:0.7rem;font-size:0.85rem;font-weight:600;font-family:inherit;cursor:pointer;
}
#sc-reset:hover { border-color:rgba(255,255,255,0.2); }

/* Output */
.sc-hidden { display:none!important; }
@keyframes sc-fade-up { from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);} }

.sc-header {
  background:rgba(17,17,24,0.9);border:1px solid rgba(167,139,111,0.15);border-radius:18px;
  padding:1.5rem;margin-bottom:0.75rem;display:flex;align-items:center;
  justify-content:space-between;flex-wrap:wrap;gap:1.5rem;
  animation:sc-fade-up 0.5s both;
}
.sc-score-circle { text-align:center; }
.sc-score-label { font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;color:#888899;margin-top:0.3rem; }
.sc-score-grade { font-size:0.82rem;font-weight:700;margin-top:0.1rem; }
.sc-key-numbers { display:flex;gap:1.5rem;flex-wrap:wrap; }
.sc-key-item { text-align:center; }
.sc-key-num { font-size:1.8rem;font-weight:700;color:#f0f0f5;line-height:1; }
.sc-key-lbl { font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;color:#888899;margin-top:0.2rem; }

.sc-section {
  background:rgba(17,17,24,0.85);border:1px solid rgba(255,255,255,0.06);
  border-radius:16px;padding:1.4rem;margin-bottom:0.75rem;animation:sc-fade-up 0.5s both;
}
.sc-section-title { font-size:0.8rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#888899;margin-bottom:1rem; }

/* 3D box */
.sc-diagram-note { margin-top:0.75rem;font-size:0.78rem;color:#888899;line-height:1.6;padding:0.6rem 0.85rem;background:rgba(167,139,111,0.06);border-radius:8px;border-left:2px solid #a78b6f; }

/* Walk comfort */
.sc-walk-result { border:1px solid;border-radius:12px;padding:1rem 1.25rem;margin-bottom:0.5rem; }
.sc-walk-status { font-size:0.95rem;font-weight:700;margin-bottom:0.4rem; }
.sc-walk-text { font-size:0.85rem;color:#b0b0c0;line-height:1.6;margin-bottom:0.5rem; }
.sc-walk-stress { font-size:0.8rem;color:#888899; }
.sc-warning { font-size:0.82rem;color:#f59e0b;background:rgba(245,158,11,0.08);border-radius:8px;padding:0.65rem 0.85rem;margin-top:0.5rem; }

.sc-headroom-text { font-size:0.85rem;color:#b0b0c0;margin-bottom:0.5rem;line-height:1.6; }
.sc-headroom-tip { font-size:0.82rem;color:#888899;line-height:1.6; }

/* Dimensions grid */
.sc-dims-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:0.65rem; }
@media(max-width:560px){ .sc-dims-grid{grid-template-columns:1fr;} }
.sc-dim-card { background:rgba(10,10,15,0.6);border-radius:12px;padding:1rem;text-align:center; }
.sc-dim-label { font-size:0.68rem;text-transform:uppercase;letter-spacing:0.08em;color:#a78b6f;font-weight:700;margin-bottom:0.4rem; }
.sc-dim-val { font-size:1.3rem;font-weight:700;color:#f0f0f5;margin-bottom:0.3rem; }
.sc-dim-sub { font-size:0.68rem;color:#888899; }

/* Materials */
.sc-materials-grid { display:flex;flex-direction:column;gap:0.5rem; }
.sc-mat-row { display:flex;justify-content:space-between;padding:0.6rem 0.85rem;background:rgba(10,10,15,0.5);border-radius:8px;font-size:0.85rem; }
.sc-mat-total { color:#22c55e;font-weight:600; }

/* Share */
.sc-share { text-align:center; }
.sc-share-label { font-size:0.75rem;color:#888899;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.75rem;font-weight:600; }
.sc-share-btns { display:flex;gap:0.6rem;justify-content:center;flex-wrap:wrap; }
.sc-share-btn {
  display:inline-flex;align-items:center;gap:0.3rem;
  padding:0.55rem 1.1rem;border-radius:100px;
  font-size:0.82rem;font-weight:600;font-family:inherit;
  text-decoration:none;cursor:pointer;border:none;
  transition:transform 0.15s,opacity 0.15s;
}
.sc-share-btn:hover { transform:translateY(-2px);opacity:0.9; }
.sc-tw { background:#000;color:#fff!important;-webkit-text-fill-color:#fff!important; }
.sc-tg { background:#229ED9;color:#fff!important;-webkit-text-fill-color:#fff!important; }
.sc-wa { background:#25D366;color:#fff!important;-webkit-text-fill-color:#fff!important; }
.sc-copy { background:rgba(255,255,255,0.08);color:#f0f0f5!important;-webkit-text-fill-color:#f0f0f5!important;border:1px solid rgba(255,255,255,0.1)!important; }

/* SEO */
.sc-seo { border-top:1px solid rgba(255,255,255,0.06);margin-top:3rem;padding-top:2rem; }
.sc-seo h2 { font-size:1.2rem;font-weight:700;color:#f0f0f5;margin:0 0 1rem; }
.sc-seo h3 { font-size:0.95rem;font-weight:600;color:#f0f0f5;margin:1.5rem 0 0.5rem; }
.sc-seo p { font-size:0.88rem;color:#888899;line-height:1.75;margin:0 0 0.75rem; }
.sc-faq-item { border-bottom:1px solid rgba(255,255,255,0.05);padding:0.9rem 0; }
.sc-faq-q { font-size:0.88rem;font-weight:600;color:#f0f0f5;margin-bottom:0.35rem; }
.sc-faq-a { font-size:0.82rem;color:#888899;line-height:1.7; }

/* Related calculators fix */
.wp-block-latest-posts li {
  background:#111118!important;border:1px solid rgba(255,255,255,0.08)!important;
  border-radius:12px!important;padding:1rem!important;margin-bottom:0.5rem!important;
}

/* FORCE WHITE BUTTON TEXT — maximum specificity override */
html body #sc-root #sc-btn,
html body #sc-root #sc-btn span,
html body #sc-root button#sc-btn {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body #sc-root #sc-reset,
html body #sc-root button#sc-reset {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* ═══════════════════════════════════════════
   POLISH PASS — entrance animations, hover states, shimmer
   ═══════════════════════════════════════════ */

@keyframes sc-fadeInUp { from{opacity:0;transform:translateY(24px);} to{opacity:1;transform:translateY(0);} }
@keyframes sc-fadeInScale { from{opacity:0;transform:scale(0.94);} to{opacity:1;transform:scale(1);} }
@keyframes sc-shimmer { 0%{background-position:-200% center;} 100%{background-position:200% center;} }
@keyframes sc-pulse { 0%,100%{opacity:1;} 50%{opacity:0.65;} }
@keyframes sc-spin { to{transform:rotate(360deg);} }
@keyframes sc-scoreDraw { from{stroke-dasharray:0 213.6;} }

.sc-hero { animation: sc-fadeInUp 0.7s cubic-bezier(0.4,0,0.2,1) both; }
.sc-eyebrow { display:inline-block; animation: sc-fadeInUp 0.7s 0.05s both, sc-pulse 3.2s 1.2s infinite; }
.sc-h1 {
  background-size: 200% auto;
  animation: sc-fadeInUp 0.7s 0.12s both, sc-shimmer 4.5s 1.5s infinite linear;
}
.sc-sub { animation: sc-fadeInUp 0.7s 0.2s both; }

.sc-form { animation: sc-fadeInScale 0.6s 0.25s both; }

.sc-field { transition: transform 0.3s cubic-bezier(0.4,0,0.2,1); }
.sc-field:focus-within { transform: translateY(-2px); }
.sc-field label { transition: color 0.25s; }
.sc-field:focus-within label { color: #a78b6f; }

#sc-btn {
  position: relative; overflow: hidden;
  transition: transform 0.3s cubic-bezier(0.4,0,0.2,1), box-shadow 0.3s;
}
#sc-btn::before {
  content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.25),transparent);
  transition: left 0.6s;
}
#sc-btn:hover::before { left:100%; }
#sc-btn:hover { transform: translateY(-3px); }
#sc-btn:active { transform: translateY(-1px) scale(0.98); transition:0.1s; }
#sc-btn.calculating::after {
  content:''; display:inline-block; width:13px; height:13px; margin-left:0.5rem;
  border:2px solid transparent; border-top-color:#fff; border-radius:50%;
  animation: sc-spin 0.7s linear infinite; vertical-align:middle;
}

#sc-reset { transition: all 0.3s cubic-bezier(0.4,0,0.2,1); }
#sc-reset:hover { transform: translateY(-2px); border-color: rgba(255,255,255,0.25); }
#sc-reset:active { transform: scale(0.97); transition:0.1s; }

#sc-output { animation: sc-fadeInUp 0.7s both; }

.sc-section { transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s; }
.sc-section:hover { border-color: rgba(167,139,111,0.25); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,0.3); }

.sc-score-circle svg circle:nth-child(2) {
  animation: sc-scoreDraw 1.3s cubic-bezier(0.4,0,0.2,1) both;
  transition: stroke-dasharray 1s ease;
}

.sc-dim-card { transition: all 0.3s cubic-bezier(0.4,0,0.2,1); }
.sc-dim-card:hover { transform: translateY(-4px); border-color: rgba(167,139,111,0.3); box-shadow: 0 6px 20px rgba(0,0,0,0.3); }

.sc-mat-row { transition: background 0.25s, padding 0.25s; border-radius:6px; }
.sc-mat-row:hover { background: rgba(255,255,255,0.03); padding-left:0.5rem; padding-right:0.5rem; }

.sc-share-btn { transition: transform 0.25s, box-shadow 0.25s, opacity 0.25s; }
.sc-share-btn:hover { transform: translateY(-3px); }

.sc-faq-item { transition: background 0.25s, padding-left 0.25s; }
.sc-faq-item:hover { background: rgba(255,255,255,0.015); padding-left:0.4rem; }
.sc-faq-q { transition: color 0.25s; cursor: default; }
.sc-faq-item:hover .sc-faq-q { color: #a78b6f; }

.sc-nav a { transition: color 0.25s, transform 0.25s; display:inline-flex; align-items:center; }
.sc-nav a:hover { color: #d4b896; transform: translateX(-3px); }

.sc-warning { animation: sc-fadeInUp 0.5s both; }
.sc-diagram-note { animation: sc-fadeInUp 0.5s 0.1s both; }

/* Stagger the result sections slightly as they render */
.sc-header { animation-name: sc-fadeInUp; }
.sc-section:nth-of-type(1) { animation-delay: 0.05s; }
.sc-section:nth-of-type(2) { animation-delay: 0.1s; }
.sc-section:nth-of-type(3) { animation-delay: 0.15s; }
.sc-section:nth-of-type(4) { animation-delay: 0.2s; }
.sc-section:nth-of-type(5) { animation-delay: 0.25s; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .sc-bg-blob { animation: none; }
  #sc-btn::before { display:none; }
  .sc-section:hover, .sc-dim-card:hover { transform:none; }
}
