/* STL Grillz Configurator — scoped styles (all under .stlgz-wrap) */
.stlgz-wrap{
  --g-bg:#0b0b0d; --g-surface:#15151a; --g-surface-2:#1d1d24; --g-line:#2a2a33;
  --g-gold:#d4af37; --g-gold-bright:#f4d97a; --g-gold-deep:#9c7c1f;
  --g-ice:#bfe3ff; --g-text:#f5f3ee; --g-muted:#9a968c; --g-danger:#ff7a7a;
  --g-radius:14px;
  max-width:760px; margin:0 auto; color:var(--g-text);
  font-family:"Inter",system-ui,-apple-system,sans-serif;
  background:var(--g-bg);
  background-image:radial-gradient(120% 60% at 50% -10%, rgba(212,175,55,.10), transparent 60%);
  border:1px solid var(--g-line); border-radius:calc(var(--g-radius) + 6px);
  padding:clamp(20px,4vw,40px); box-sizing:border-box;
}
.stlgz-wrap *{box-sizing:border-box;}

/* Header */
.stlgz-head{text-align:center; margin-bottom:30px;}
.stlgz-eyebrow{
  font-family:"Oswald",sans-serif; letter-spacing:.28em; text-transform:uppercase;
  font-size:12px; color:var(--g-gold); margin:0 0 10px;
}
.stlgz-title{
  font-family:"Oswald",sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:.02em; font-size:clamp(28px,6vw,44px); line-height:1; margin:0 0 12px;
  color:var(--g-gold-bright); /* fallback if background-clip:text is unsupported */
  background:linear-gradient(180deg,#fff 0%, var(--g-gold-bright) 55%, var(--g-gold) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.stlgz-sub{color:var(--g-muted); font-size:15px; line-height:1.6; max-width:48ch; margin:0 auto;}
.stlgz-sub strong{color:var(--g-text);}

/* Sections */
.stlgz-section{
  background:var(--g-surface); border:1px solid var(--g-line); border-radius:var(--g-radius);
  padding:22px; margin-top:18px;
}
.stlgz-section-head{display:flex; align-items:center; gap:12px; margin-bottom:18px;}
.stlgz-num{
  font-family:"Oswald",sans-serif; font-weight:700; font-size:13px; color:var(--g-bg);
  background:linear-gradient(180deg,var(--g-gold-bright),var(--g-gold)); border-radius:7px;
  width:30px; height:30px; display:grid; place-items:center; flex:none;
}
.stlgz-section-head h3{
  font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.04em;
  font-weight:600; font-size:19px; margin:0; flex:1;
}
.stlgz-count{
  font-family:"Oswald",sans-serif; font-size:13px; color:var(--g-gold);
  border:1px solid var(--g-gold-deep); border-radius:999px; padding:4px 12px;
}

/* Realistic tooth selector (carried over from the STL Grillzz options plugin) */
.stlgz-fieldnote{font-size:13px; color:var(--g-muted); margin:0 0 14px; line-height:1.5;}
.stlgz-teeth{
  --stl-metal:linear-gradient(135deg,#f9e7a0,#e7c55c 25%,#d4af37 50%,#b08d28 75%,#8a6d1f);
  --stl-metal-edge:#b08d28; --stl-accent:#d4af37; --stl-ink:#1a1405; --stl-tooth-fill:url(#stl-grad-yellow);
}
.stl-theme-yellow{--stl-metal:linear-gradient(135deg,#f9e7a0,#e7c55c 25%,#d4af37 50%,#b08d28 75%,#8a6d1f);--stl-metal-edge:#b08d28;--stl-accent:#d4af37;--stl-ink:#1a1405;--stl-tooth-fill:url(#stl-grad-yellow);}
.stl-theme-rose{--stl-metal:linear-gradient(135deg,#fbe3da,#f0bda9 25%,#e3a08b 50%,#c97f7f 75%,#a85f6b);--stl-metal-edge:#b76e79;--stl-accent:#e8a98f;--stl-ink:#2b1512;--stl-tooth-fill:url(#stl-grad-rose);}
.stl-theme-white{--stl-metal:linear-gradient(135deg,#ffffff,#eceef0 25%,#d3d7da 50%,#b3b9be 75%,#949aa0);--stl-metal-edge:#9aa0a6;--stl-accent:#dfe3e6;--stl-ink:#14171a;--stl-tooth-fill:url(#stl-grad-white);}
.stl-grillz-mouth-wrap{position:relative;background:#1c1c1c;border:1px solid #333;border-radius:10px;padding:.75em 2em;}
.stl-grillz-side{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-weight:800;font-size:1.1em;}
.stl-grillz-side-r{left:.6em;}
.stl-grillz-side-l{right:.6em;}
.stl-grillz-mouth{display:block;width:100%;height:auto;max-width:520px;margin:0 auto;}
.stl-grillz-tooth{fill:#f5f2ea;stroke:#444;stroke-width:1.4;cursor:pointer;transition:fill .12s ease,stroke .12s ease;}
.stl-grillz-tooth:hover{stroke:var(--stl-accent);stroke-width:2.4;}
.stl-grillz-tooth.on{fill:var(--stl-tooth-fill);stroke:var(--stl-metal-edge);}
.stl-grillz-tooth:focus{outline:none;}
.stl-grillz-tooth:focus-visible{stroke:#fff;stroke-width:3;}
.stl-grillz-shine{pointer-events:none;}
.stl-grillz-shine-bar{opacity:0;transform:translateX(-240px) skewX(-18deg);}
.stl-grillz-shine-bar.stl-run{animation:stlShineSweep 1.1s cubic-bezier(.4,0,.2,1);}
@keyframes stlShineSweep{0%{opacity:0;transform:translateX(-240px) skewX(-18deg);}15%{opacity:1;}85%{opacity:1;}100%{opacity:0;transform:translateX(760px) skewX(-18deg);}}
.stl-grillz-rowtools{display:flex;align-items:center;gap:.5em;margin-top:.6em;flex-wrap:wrap;}
.stl-grillz-count{color:#eee;font-size:.85em;min-width:9em;}
.stl-grillz-btn{font-family:"Oswald",sans-serif;letter-spacing:.03em;background:var(--g-surface-2);color:var(--stl-accent);border:1px solid var(--stl-metal-edge);border-radius:6px;padding:.4em .8em;font-size:.8em;cursor:pointer;transition:all .12s ease;}
.stl-grillz-btn:hover{background:var(--stl-metal);color:var(--stl-ink);}

/* Fields */
.stlgz-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.stlgz-field{display:flex; flex-direction:column; gap:7px;}
.stlgz-field-full{grid-column:1/-1; margin-top:14px;}
.stlgz-field>span{font-size:13px; color:var(--g-muted); font-weight:500;}
.stlgz-field em{font-style:normal; color:var(--g-gold-deep); font-size:12px;}
.stlgz-req{color:var(--g-gold)!important;}
.stlgz-field input,.stlgz-field select,.stlgz-field textarea{
  font-family:inherit; font-size:15px; color:var(--g-text);
  background:var(--g-surface-2); border:1px solid var(--g-line); border-radius:10px;
  padding:11px 13px; width:100%; transition:border-color .15s ease, box-shadow .15s ease;
}
.stlgz-field input:focus,.stlgz-field select:focus,.stlgz-field textarea:focus{
  outline:none; border-color:var(--g-gold); box-shadow:0 0 0 3px rgba(212,175,55,.15);
}
.stlgz-field input::placeholder,.stlgz-field textarea::placeholder{color:#5d5a52;}
.stlgz-field input[type="file"]{padding:9px 13px; color:var(--g-muted);}
.stlgz-field input[type="date"]{color-scheme:dark;}

/* Radios & checks */
.stlgz-radios,.stlgz-checks{display:flex; flex-wrap:wrap; gap:10px;}
.stlgz-checks{margin-top:6px;}
.stlgz-radio,.stlgz-check{
  display:inline-flex; align-items:center; gap:8px; cursor:pointer;
  background:var(--g-surface-2); border:1px solid var(--g-line); border-radius:10px;
  padding:10px 14px; font-size:14px; transition:all .15s ease;
}
.stlgz-radio input,.stlgz-check input{accent-color:var(--g-gold); width:16px; height:16px; margin:0;}
.stlgz-radio:has(input:checked),.stlgz-check:has(input:checked){
  border-color:var(--g-gold); background:#211d12; color:var(--g-gold-bright);
}

/* Footer / submit */
.stlgz-foot{margin-top:26px; text-align:center;}
.stlgz-error{
  color:var(--g-danger); background:rgba(255,122,122,.08); border:1px solid rgba(255,122,122,.3);
  border-radius:10px; padding:11px 14px; font-size:14px; margin:0 0 14px;
}
.stlgz-summary{font-size:13px; color:var(--g-muted); margin-bottom:14px; min-height:1px;}
.stlgz-summary b{color:var(--g-gold-bright); font-weight:600;}
.stlgz-submit{
  font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.06em;
  font-weight:700; font-size:17px; color:#1a1408; cursor:pointer;
  background:linear-gradient(180deg,var(--g-gold-bright) 0%, var(--g-gold) 70%, var(--g-gold-deep) 100%);
  border:none; border-radius:12px; padding:16px 36px; width:100%; max-width:420px;
  box-shadow:0 8px 24px rgba(212,175,55,.28); transition:transform .12s ease, box-shadow .12s ease, opacity .15s;
}
.stlgz-submit:hover{transform:translateY(-1px); box-shadow:0 12px 30px rgba(212,175,55,.4);}
.stlgz-submit:active{transform:translateY(0);}
.stlgz-submit:disabled{opacity:.6; cursor:default; transform:none;}
.stlgz-fineprint{font-size:12px; color:var(--g-muted); margin:14px auto 0; max-width:46ch; line-height:1.5;}

/* Responsive */
@media (max-width:560px){
  .stlgz-grid{grid-template-columns:1fr;}
  .stlgz-field-full{margin-top:0;}
}
@media (prefers-reduced-motion:reduce){
  .stlgz-wrap *{transition:none!important;}
}
