/* ================= Netcade Global Form Skin ================= */
:root{
  --nc-bg-0: var(--nc-bg-0, #0b0c0e);
  --nc-panel: var(--nc-panel, #171a1f);
  --nc-line: var(--nc-line, #2b3038);
  --nc-text: var(--nc-text, #e7e7ea);
  --nc-muted: var(--nc-muted, #a9adb8);
  --nc-gold: var(--nc-gold, #e6c681);
  --nc-gold-12: var(--nc-gold-12, rgba(230,198,129,.12));
  --nc-focus: var(--nc-focus, rgba(230,198,129,.32));
  --nc-danger: var(--nc-danger, #ff6b6b);
  --nc-success: var(--nc-success, #20c997);
  --nc-r: var(--nc-r, 12px);
}

/* Base reset for all form controls */
input[type="text"], input[type="email"], input[type="url"], input[type="password"],
input[type="search"], input[type="tel"], input[type="number"], input[type="date"],
input[type="time"], input[type="datetime-local"], input[type="month"], input[type="week"],
input[type="file"], input[type="color"], select, textarea,
.input-text, .select2-selection, .select2-selection__rendered {
  background:#101319 !important;
  color:var(--nc-text) !important;
  border:1px solid var(--nc-line) !important;
  border-radius:10px !important;
  padding:12px 14px !important;
  box-shadow:none !important;
  outline:0 !important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease, filter .18s ease;
}

textarea{ min-height:120px }

/* Placeholder + disabled */
::placeholder{ color:var(--nc-muted) !important; opacity:.9 }
:disabled, [disabled]{ opacity:.65; cursor:not-allowed }

/* Focus (gold, not browser red) */
input:focus, select:focus, textarea:focus, .select2-selection:focus{
  border-color: var(--nc-gold) !important;
  box-shadow: 0 0 0 3px var(--nc-focus) !important;
}

/* Hover polish */
input:hover, select:hover, textarea:hover{ filter:brightness(1.02) }

/* Remove Chrome default invalid red/brown glow */
input:invalid, textarea:invalid, select:invalid{
  box-shadow:none !important;
}

/* Validation states (Netcade colors) */
.is-invalid, .error, .woocommerce-invalid input, .woocommerce-invalid select, .wpcf7-not-valid{
  border-color: rgba(255,107,107,.45) !important;
  box-shadow: 0 0 0 3px rgba(255,107,107,.14) !important;
}
.is-valid, .valid{
  border-color: rgba(32,201,151,.45) !important;
  box-shadow: 0 0 0 3px rgba(32,201,151,.14) !important;
}

/* Checkboxes / radios */
input[type="checkbox"], input[type="radio"]{
  appearance:none;
  width:18px; height:18px; margin:0 8px 0 0;
  border:1px solid var(--nc-line); border-radius:4px;
  background:#0f1319; display:inline-grid; place-items:center;
}
input[type="radio"]{ border-radius:50% }
input[type="checkbox"]:checked{ background:linear-gradient(180deg,#2a302f,#151918); border-color:#48504e }
input[type="checkbox"]:checked::after{
  content:""; width:10px; height:10px; background:var(--nc-gold); border-radius:2px;
}
input[type="radio"]:checked{ background:radial-gradient(circle at 50% 50%, var(--nc-gold) 45%, #0000 46%) }

/* File input */
input[type="file"]{
  padding:10px !important; background:#0f1319 !important; cursor:pointer;
}
input[type="file"]::-webkit-file-upload-button{
  background:linear-gradient(180deg,#2b3036,#1a1e24);
  color:var(--nc-text); border:1px solid rgba(255,255,255,.18);
  border-radius:8px; padding:8px 12px; cursor:pointer;
}

/* Buttons */
button, .button, input[type="submit"], input[type="button"], input[type="reset"],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  gap:8px; padding:10px 16px; font-weight:700; letter-spacing:.2px;
  border-radius:12px; border:1px solid rgba(255,255,255,.18);
  color:#e7e7ea; background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 60%),
    linear-gradient(180deg, #2b3036, #1a1e24);
  text-shadow:0 1px 0 rgba(0,0,0,.25);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 6px 18px rgba(0,0,0,.45);
  transition:transform .12s ease, background .2s ease, box-shadow .2s ease, filter .2s ease;
}
button:hover, .button:hover, input[type="submit"]:hover, .woocommerce a.button:hover,
.woocommerce button.button:hover, .woocommerce input.button:hover{
  transform:translateY(-1px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.02) 60%),
    linear-gradient(180deg, #323842, #1d2229);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20), 0 10px 24px rgba(0,0,0,.55);
}
.nc-btn-gold, .woocommerce .button.alt, .woocommerce a.button.alt, .submit-gold{
  color:#fff !important;
  background:
    linear-gradient(180deg, rgba(230,198,129,.35), rgba(230,198,129,.08)),
    linear-gradient(180deg, #272018, #17130d) !important;
  border-color: var(--nc-gold-12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 6px 18px rgba(0,0,0,.45) !important;
}
.nc-btn-gold:hover, .woocommerce .button.alt:hover, .woocommerce a.button.alt:hover{
  background:
    linear-gradient(180deg, rgba(230,198,129,.45), rgba(230,198,129,.12)),
    linear-gradient(180deg, #2a2218, #18130c) !important;
  box-shadow: 0 0 0 1px rgba(230,198,129,.28) inset, 0 14px 36px rgba(230,198,129,.30) !important;
}

/* WooCommerce specific */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  background:#101319 !important; color:var(--nc-text) !important; border:1px solid var(--nc-line) !important;
}
.woocommerce-info, .woocommerce-message, .woocommerce-error{
  border-radius:12px; border:1px solid var(--nc-line) !important; padding:12px 14px !important;
  background:rgba(255,255,255,.03) !important; color:var(--nc-text) !important;
}
.woocommerce-error{ border-left:4px solid var(--nc-danger) !important }
.woocommerce-message{ border-left:4px solid var(--nc-success) !important }
.woocommerce-info{ border-left:4px solid var(--nc-gold) !important }

/* Contact Form 7 */
.wpcf7-form input, .wpcf7-form textarea, .wpcf7-form select{ font: inherit !important }
.wpcf7-not-valid-tip{ color: var(--nc-danger) !important }
.wpcf7 form .wpcf7-response-output{
  border-radius:12px; border:1px solid var(--nc-line) !important; background:rgba(255,255,255,.03) !important;
  color:var(--nc-text) !important;
}

/* Core WP comment form */
.comment-form input, .comment-form textarea, .comment-form select{ width:100% }

/* Chrome/Edge autofill */
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill{
  -webkit-text-fill-color: var(--nc-text) !important;
  transition: background-color 9999s ease-in-out 0s;
  box-shadow: 0 0 0px 1000px #101319 inset !important;
}

/* Ensure no theme “brown” overrides sneak back in via !important */
input, select, textarea{ caret-color: var(--nc-text) }
