/* Sheeltech Hero — Elementor Widget (scoped) */
.sheeltech-hero{--bg-1:#07163a;--bg-2:#102b6b;--bg-3:#0d204f;--text:#f2f6ff;--muted:#b9c7ea;--accent-blue:#7fb1ff;--accent-teal:#22d3ee;--accent-red:#ff3a5e;--accent-red-2:#ff6f7f;--accent-purple:#a78bfa;--glass:#0e1b47cc;--glass-border:#8ab0ff55;--card-highlight:#a3c5ff22;--input-bg:#0f1f4a;--input-border:#2b3f86;color:var(--text);position:relative;overflow:hidden}
.sheeltech-hero{background:radial-gradient(1200px 800px at 20% -10%,#3a6bff33 0,transparent 55%),radial-gradient(900px 600px at 85% 10%,#ff3a5e22 0,transparent 60%),linear-gradient(120deg,var(--bg-1),var(--bg-2),var(--bg-3));background-size:auto,auto,300% 300%;animation:sh-gs 22s ease-in-out infinite}
@keyframes sh-gs{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.sheeltech-hero .noise:before,.sheeltech-hero:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="160" height="160" viewBox="0 0 160 160"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="2" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23n)" opacity="0.05"/></svg>');mix-blend-mode:soft-light}
.sheeltech-hero .bgParticles{position:absolute;inset:0;z-index:0;pointer-events:none}
.sheeltech-hero .wrap{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:60px 24px 72px;display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:stretch}
.sheeltech-hero section,.sheeltech-hero aside{min-width:0}
@media(max-width:1024px){.sheeltech-hero .wrap{grid-template-columns:1fr;padding:44px 16px 56px;gap:24px}}
.sheeltech-hero .kicker{font-weight:800;font-size:clamp(22px,2.6vw,32px);margin:0 0 .2rem;color:#e1ebff;text-shadow:0 2px 14px #0003}
.sheeltech-hero .rotator{height:1.4em;overflow:hidden;color:#cfe1ff;font-weight:700;margin-bottom:.2rem;font-size:clamp(12px,1.8vw,16px)}
.sheeltech-hero .rotator .cursor{display:inline-block;width:.6ch;background:#cfe1ff;margin-left:2px;animation:sh-bl 1s steps(2,end) infinite}
@keyframes sh-bl{0%,50%{opacity:1}50.01%,100%{opacity:0}}
.sheeltech-hero .headline{margin:.2rem 0 .4rem;font-size:clamp(30px,4.4vw,58px);line-height:1.12;font-weight:800;letter-spacing:-.025em;background:linear-gradient(270deg,var(--accent-blue),var(--accent-teal),var(--accent-purple),var(--accent-red),var(--accent-blue));background-size:800% 800%;animation:sh-gf 10s ease infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;text-shadow:0 0 18px rgba(127,177,255,.25)}
@keyframes sh-gf{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.sheeltech-hero .subhead{font-size:clamp(18px,2.4vw,28px);font-weight:700;color:#d7e6ff;margin:0 0 .6rem;text-shadow:0 3px 18px #0006}
.sheeltech-hero .strap{color:var(--muted);font-size:clamp(15px,1.9vw,20px);max-width:68ch;margin:.35rem 0 .6rem}
.sheeltech-hero .chips{display:flex;gap:12px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;margin:12px 0 16px;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;max-width:100%}
.sheeltech-hero .chips::-webkit-scrollbar{height:6px}
.sheeltech-hero .chips::-webkit-scrollbar-thumb{background:#3552a8;border-radius:8px}
.sheeltech-hero .chip{padding:10px 14px;border-radius:14px;background:#ffffff1a;border:1px solid var(--glass-border);color:#eaf2ff;font-weight:700;font-size:13.5px;flex:0 0 auto;box-shadow:0 8px 24px #0005,inset 0 1px 0 #fff3}
.sheeltech-hero .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.sheeltech-hero .btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;border-radius:14px;padding:14px 20px;box-shadow:0 18px 36px #0008;position:relative;will-change:transform}
.sheeltech-hero .btn-primary{background:linear-gradient(90deg,var(--accent-red-2),var(--accent-red));color:#0e1230}
.sheeltech-hero .btn-secondary{background:#203a82;color:#d6e6ff;border:1px solid #2b4aa3}
@media(max-width:768px){.sheeltech-hero .btn{width:100%;justify-content:center;padding:12px 16px}}

/* Form */
.sheeltech-hero .card{display:flex;flex-direction:column;height:100%;background:linear-gradient(180deg,var(--glass),#0c1a46cc);border:1px solid var(--glass-border);border-radius:16px;padding:10px;box-shadow:0 16px 40px #000a,inset 0 1px 0 var(--card-highlight);max-width:400px;margin-left:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
@media(max-width:1024px){.sheeltech-hero .card{margin:0 auto;max-width:100%}}
.sheeltech-hero h3{margin:0 0 6px;font-size:16px}
.sheeltech-hero .small{margin:0 0 10px;font-size:12px;color:var(--muted)}
.sheeltech-hero .progress{height:4px;background:#2b3f86;border-radius:8px;overflow:hidden;margin:0 0 10px}
.sheeltech-hero .progress>span{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--accent-blue),var(--accent-teal),var(--accent-purple));transition:width .3s ease}
.sheeltech-hero .grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px}
@media(max-width:560px){.sheeltech-hero .grid{grid-template-columns:1fr}}
.sheeltech-hero label{display:block;font-size:11px;color:#c7d5ff;margin:4px 0 2px}
.sheeltech-hero input,.sheeltech-hero select,.sheeltech-hero textarea{width:100%;background:var(--input-bg);border:1px solid var(--input-border);padding:7px 8px;border-radius:10px;color:#e9f1ff;font-size:13px}
.sheeltech-hero textarea{min-height:60px;resize:vertical}
.sheeltech-hero .budget-wrap{display:grid;grid-template-columns:1fr;gap:4px}
.sheeltech-hero .budget-slider,.sheeltech-hero .budgetSlider{width:100%}
.sheeltech-hero .budget-range{display:flex;justify-content:space-between;font-size:10.5px;color:#aebbe6}
.sheeltech-hero .agree{display:flex;align-items:center;gap:6px;margin:6px 0;font-size:10.5px;color:#c7d5ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheeltech-hero .agree label{margin:0}
.sheeltech-hero .btn-primary.submit{width:100%;justify-content:center}
.sheeltech-hero .kpis{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#aebbe6;margin-top:4px;line-height:1.2;white-space:nowrap}

/* Mobile type tweaks */
@media(max-width:480px){
  .sheeltech-hero .headline{font-size:clamp(26px,9vw,34px)}
  .sheeltech-hero .subhead{font-size:clamp(15px,5.2vw,20px)}
  .sheeltech-hero .strap{font-size:14px}
  .sheeltech-hero .chip{font-size:12px;padding:8px 12px}
}
@media(max-width:360px){
  .sheeltech-hero .headline{font-size:9.8vw}
  .sheeltech-hero .subhead{font-size:5.6vw}
  .sheeltech-hero .strap{font-size:13px}
  .sheeltech-hero .chip{font-size:11.5px;padding:7px 10px}
}


/* === Elementor-specific specificity boost for form controls === */
.elementor .sheeltech-hero input,
.elementor .sheeltech-hero select,
.elementor .sheeltech-hero textarea{
  background: var(--input-bg) !important;
  border: 1px solid var(--input-border) !important;
  color: #e9f1ff !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  line-height: 1.25 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

/* Label and small text */
.elementor .sheeltech-hero label{ color:#c7d5ff !important; font-size:11px !important; margin:4px 0 2px !important; }
.elementor .sheeltech-hero .small{ color:var(--muted) !important; }

/* Placeholder color */
.elementor .sheeltech-hero ::placeholder{ color:#c2cdec !important; opacity:1; }

/* Focus state to match original glass glow */
.elementor .sheeltech-hero input:focus,
.elementor .sheeltech-hero select:focus,
.elementor .sheeltech-hero textarea:focus{
  outline: none !important;
  border-color: #3c5fd4 !important;
  box-shadow: 0 0 0 3px rgba(124, 167, 255, 0.18) !important;
}

/* Checkbox alignment */
.elementor .sheeltech-hero .agree input[type="checkbox"]{
  width: 14px; height: 14px; vertical-align: middle;
  accent-color: #7fb1ff;
}

/* Range slider styling for consistent look */
.elementor .sheeltech-hero input[type="range"]{
  -webkit-appearance: none;
  height: 4px;
  background: linear-gradient(90deg,#7fb1ff,#22d3ee,#a78bfa);
  border-radius: 999px;
  outline: none;
}
.elementor .sheeltech-hero input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance: none;
  width: 16px; height: 16px; border-radius: 50%;
  background: #e9f1ff; border: 2px solid #2b3f86;
  box-shadow: 0 4px 12px rgba(0,0,0,.35);
  margin-top: -6px;
}
.elementor .sheeltech-hero input[type="range"]::-moz-range-thumb{
  width: 16px; height: 16px; border-radius: 50%;
  background: #e9f1ff; border: 2px solid #2b3f86;
  box-shadow: 0 4px 12px rgba(0,0,0,.35);
}
.elementor .sheeltech-hero input[type="range"]::-ms-thumb{
  width: 16px; height: 16px; border-radius: 50%;
  background: #e9f1ff; border: 2px solid #2b3f86;
  box-shadow: 0 4px 12px rgba(0,0,0,.35);
}

/* Grid gap and card width tweaks preserved */
.elementor .sheeltech-hero .grid{ gap:8px !important; }
.elementor .sheeltech-hero .card{ max-width:400px !important; }


/* === Ensure dark UI and prevent theme defaults === */
.sheeltech-hero{ color-scheme: dark; }
.elementor .sheeltech-hero input,
.elementor .sheeltech-hero select,
.elementor .sheeltech-hero textarea{
  background-color: var(--input-bg) !important;
  background: var(--input-bg) !important;
  border: 1px solid var(--input-border) !important;
  color: #e9f1ff !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  line-height: 1.25 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06) !important;
  -webkit-appearance: none;
  appearance: none;
  background-clip: padding-box;
}

/* Placeholder + label */
.elementor .sheeltech-hero ::placeholder{ color:#c2cdec !important; opacity:1; }
.elementor .sheeltech-hero label{ color:#c7d5ff !important; }

/* Focus */
.elementor .sheeltech-hero input:focus,
.elementor .sheeltech-hero select:focus,
.elementor .sheeltech-hero textarea:focus{
  outline: none !important;
  border-color: #3c5fd4 !important;
  box-shadow: 0 0 0 3px rgba(124,167,255,.18), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

/* WebKit autofill (prevents white/yellow background) */
.elementor .sheeltech-hero input:-webkit-autofill,
.elementor .sheeltech-hero input:-webkit-autofill:hover,
.elementor .sheeltech-hero input:-webkit-autofill:focus,
.elementor .sheeltech-hero textarea:-webkit-autofill,
.elementor .sheeltech-hero select:-webkit-autofill{
  -webkit-text-fill-color: #e9f1ff !important;
  -webkit-box-shadow: 0 0 0 1000px var(--input-bg) inset !important;
  transition: background-color 9999s ease-in-out 0s !important;
}

/* Range track/thumb stays on-brand */
.elementor .sheeltech-hero input[type="range"]{
  -webkit-appearance:none;
  height:4px; border-radius:999px;
  background: linear-gradient(90deg,#7fb1ff,#22d3ee,#a78bfa);
}
.elementor .sheeltech-hero input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none; width:16px; height:16px; border-radius:50%;
  background:#e9f1ff; border:2px solid #2b3f86; box-shadow:0 4px 12px rgba(0,0,0,.35); margin-top:-6px;
}
.elementor .sheeltech-hero input[type="range"]::-moz-range-thumb{
  width:16px; height:16px; border-radius:50%; background:#e9f1ff; border:2px solid #2b3f86; box-shadow:0 4px 12px rgba(0,0,0,.35);
}

/* Select caret contrast in some themes */
.elementor .sheeltech-hero select{
  background-image: none !important;
}


/* ===== v1.0.3: Compact form + visible budget rail ===== */
.elementor .sheeltech-hero .card{
  padding: 8px !important;
}
.elementor .sheeltech-hero h3{
  margin: 0 0 6px !important;
  font-size: 12px !important;
  color:#ffffff;
}
.elementor .sheeltech-hero .small{ margin: 0 0 8px !important; }
.elementor .sheeltech-hero .grid{ gap: 6px !important; }
.elementor .sheeltech-hero label{ margin: 2px 0 2px !important; }
.elementor .sheeltech-hero input,
.elementor .sheeltech-hero select,
.elementor .sheeltech-hero textarea{
  padding: 8px 10px !important;
  font-size: 13px !important;
}
.elementor .sheeltech-hero textarea{ min-height: 56px !important; }

/* Budget block: make the rail prominent and compact */
.elementor .sheeltech-hero .budget-wrap{
  background: var(--input-bg) !important;
  border: 1px solid var(--input-border) !important;
  border-radius: 12px !important;
  padding: 6px !important;
}
.elementor .sheeltech-hero .budget-wrap .budgetInput{
  margin-bottom: 4px !important;
}

/* Range track and thumb visibility across engines */
.elementor .sheeltech-hero .budgetSlider{
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 8px;
  background: transparent;
  margin: 2px 0 0 0;
}
.elementor .sheeltech-hero .budgetSlider::-webkit-slider-runnable-track{
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg,#7fb1ff,#22d3ee,#a78bfa);
}
.elementor .sheeltech-hero .budgetSlider::-webkit-slider-thumb{
  -webkit-appearance: none;
  width: 18px; height: 18px; border-radius: 50%;
  background: #ffffff; border: 2px solid #2b3f86;
  margin-top: -5px;
  box-shadow: 0 4px 12px rgba(0,0,0,.35);
}
.elementor .sheeltech-hero .budgetSlider::-moz-range-track{
  height: 8px; border-radius: 999px;
  background: linear-gradient(90deg,#7fb1ff,#22d3ee,#a78bfa);
}
.elementor .sheeltech-hero .budgetSlider::-moz-range-thumb{
  width: 18px; height: 18px; border-radius: 50%;
  background: #ffffff; border: 2px solid #2b3f86;
  box-shadow: 0 4px 12px rgba(0,0,0,.35);
}
.elementor .sheeltech-hero .budget-range{
  font-size: 10.5px !important;
}

/* Submit button spacing */
.elementor .sheeltech-hero .btn-primary.submit{
  padding: 12px 16px !important;
}


/* ===== v1.0.4: Sync form height with left column ===== */
.elementor .sheeltech-hero .wrap{
  align-items: stretch !important;
}
.elementor .sheeltech-hero section,
.elementor .sheeltech-hero aside{
  display: flex;
  flex-direction: column;
}
.elementor .sheeltech-hero .card{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100% !important;
  max-height: none !important;
}


/* ===== v1.0.5: Compact uniform input fields + budget as text only ===== */
.elementor .sheeltech-hero input,
.elementor .sheeltech-hero select,
.elementor .sheeltech-hero textarea{
  height: 34px !important;
  padding: 6px 10px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}
.elementor .sheeltech-hero textarea{
  height: auto !important;
  min-height: 60px !important;
}

/* ===== v1.0.5: Compact pill inputs and text-only budget ===== */
.elementor .sheeltech-hero input,
.elementor .sheeltech-hero select,
.elementor .sheeltech-hero textarea{
  padding: 6px 10px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
}
.elementor .sheeltech-hero .budget-wrap{ border: none !important; padding: 0 !important; background: transparent !important; }
.elementor .sheeltech-hero .budget-range{ display:none !important; }


/* ===== v1.0.7: Uniform field sizing ===== */
.elementor .sheeltech-hero input,
.elementor .sheeltech-hero select,
.elementor .sheeltech-hero textarea{
  display: block;
  width: 100% !important;
  height: 34px !important;
  padding: 6px 10px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  box-sizing: border-box;
}

.elementor .sheeltech-hero textarea{
  min-height: 60px !important;
  height: auto !important;
  resize: vertical;
}

.elementor .sheeltech-hero .agree{
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}
.elementor .sheeltech-hero .agree input[type="checkbox"]{
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 auto;
}


/* ===== v1.0.7: Uniform field sizing + checkbox alignment ===== */
:root{ --sheeltech-field-h: 38px; }

/* Make all controls (except checkbox and textarea) same height & full width */
.elementor .sheeltech-hero input:not([type="checkbox"]),
.elementor .sheeltech-hero select{
  width: 100% !important;
  height: var(--sheeltech-field-h) !important;
  padding: 6px 12px !important;
  line-height: 1.2 !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}

/* Textarea uses the same visual style but variable height */
.elementor .sheeltech-hero textarea{
  width: 100% !important;
  min-height: 72px !important;
  padding: 8px 12px !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}

/* Select caret/height consistency on WebKit */
.elementor .sheeltech-hero select{
  -webkit-appearance: none;
  appearance: none;
  background-position: right 10px center;
  background-repeat: no-repeat;
}

/* Checkbox size + vertical alignment with text */
.elementor .sheeltech-hero .agree{
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.elementor .sheeltech-hero .agree input[type="checkbox"]{
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  margin: 0 !important;
  accent-color: #7fb1ff;
}
.elementor .sheeltech-hero .agree label{
  line-height: 1.3 !important;
  font-size: 12px !important;
  color: #c7d5ff !important;
}

/* Ensure two-column grid fields are identical width */
.elementor .sheeltech-hero .grid > div{
  width: 100% !important;
}

/* v1.1.0: extra mobile guards */
@media (max-width: 1024px){
  .elementor .sheeltech-hero .wrap{ grid-template-columns: 1fr !important; }
  .elementor .sheeltech-hero .card{ max-width: 100% !important; margin: 0 auto !important; }
}
@media (max-width: 560px){
  .elementor .sheeltech-hero .grid{ grid-template-columns: 1fr !important; }
}

/* v1.2.0: White checked checkbox for visibility */
.elementor .sheeltech-hero .agree input[type="checkbox"]{
  accent-color: #ffffff !important;
  background-color: #0f1f4a;
  border: 1px solid var(--input-border);
}


/* v1.2.2: inline form notice styles */
.sheeltech-hero .form-notice{ margin: 8px 0 0; font-size: 12px; }
.sheeltech-hero .form-notice.info{ color:#c7d5ff; }
.sheeltech-hero .form-notice.success{ color:#5ee3a2; }
.sheeltech-hero .form-notice.error{ color:#ffb4b4; }


/* Force field-only white backgrounds (not rows) */
.sheeltech-hero-form .captcha-wrap,
.sheeltech-hero-form .agree { background: transparent !important; }

.sheeltech-hero-form .captcha-wrap input[type="text"] {
  background: #fff;
  border: 1px solid rgba(0,0,0,.15);
  height: 44px;
  border-radius: 12px;
  padding: 0 14px;
  width: 180px;
  color: #0f172a;
}

.sheeltech-hero-form .agree input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,.25);
  background: #fff;
  display: inline-block;
  position: relative;
  cursor: pointer;
}
.sheeltech-hero-form .agree input[type="checkbox"]:checked {
  background: #3b82f6;
  box-shadow: inset 0 0 0 4px #fff;
  border-color: #3b82f6;
}

/* Keep submit button visible */
.sheeltech-hero-form .submit{display:inline-flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
