/* ============================
   JC Batteries — Enquiry Form
   Font: POPPINS | Brand palette
   ============================ */



:root{
  --jcb-primary:#e2231a;   /* brand red — swap this if your exact red differs */
  --jcb-dark:#1a1a2e;      /* heading / placeholder text */
  --jcb-border:#dcdde1;
  --jcb-bg:#ffffff;
  --jcb-radius:4px;
}

.jcb-enquiry-form, .jcb-enquiry-form *{
  font-family:'Poppins';
  box-sizing:border-box;
  font-weight: 600;
  font-size: 16px;
}

.jcb-enquiry-form .form-intro{
  font-style:italic;
  color:var(--jcb-dark);
  font-size:18px;
  margin-bottom:6px;
}
.jcb-enquiry-form .form-note{
  font-style:italic;
  color:var(--jcb-primary);
  font-size:14px;
  margin-bottom:18px;
}
.jcb-enquiry-form .group-label{
  display:block;
  font-weight:700;
  color:var(--jcb-dark);
  margin-bottom:10px;
  font-size:20px;
}

/* Radio group */
.enquiry-type-group .wpcf7-form-control.wpcf7-radio{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  margin-bottom:24px;
}
.enquiry-type-group .wpcf7-list-item{margin:0;}
.enquiry-type-group .wpcf7-list-item label{
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  color:#7a7a7a;
  font-weight:600;
  font-size:14px;
}
.enquiry-type-group input[type="radio"]{
  width:18px;height:18px;
  accent-color:var(--jcb-primary);
  margin:0;
}
.enquiry-type-group input[type="radio"]:checked + .wpcf7-list-item-label{
  color:var(--jcb-primary);
}

/* Inputs */
.jcb-enquiry-form .form-row{margin-bottom:18px;}
.jcb-enquiry-form input[type="text"],
.jcb-enquiry-form input[type="tel"],
.jcb-enquiry-form input[type="email"],
.jcb-enquiry-form select,
.jcb-enquiry-form textarea{
  width:100%;
  padding:16px 18px;
  border:0px solid var(--jcb-border);
  border-radius:var(--jcb-radius);
  background:var(--jcb-bg);
  font-size:15px;
  font-weight:600;
  color:var(--jcb-dark);
}
.jcb-enquiry-form textarea{min-height:120px;resize:vertical;}

.jcb-enquiry-form input::placeholder,
.jcb-enquiry-form textarea::placeholder{
  color:var(--jcb-dark);
  font-weight:600;
  opacity:1;
}

.jcb-enquiry-form input:focus,
.jcb-enquiry-form select:focus,
.jcb-enquiry-form textarea:focus{
  outline:none;
  border-color:var(--jcb-primary);
  box-shadow:0 0 0 2px rgba(226,35,26,0.12);
}

/* State + City side by side */
.form-row-half{display:flex; gap:24px;}
.form-row-half .half-field{flex:1 1 50%;}

.jcb-enquiry-form select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M0 0l6 8 6-8z' fill='%23e2231a'/></svg>");
  background-repeat:no-repeat;
  background-position:right 18px center;
}

.jcb-enquiry-form .file-note{
  display:block;
  font-size:12px;
  color:#888;
  margin-top:6px;
}

/* Submit button */
.jcb-enquiry-form input[type="submit"]{
  background-color: #041c54!important;
  color:#fff;
  border:none;
  padding:14px 40px;
  font-weight:700;
  font-size:15px;
  border-radius:var(--jcb-radius);
  cursor:pointer;
  text-transform:uppercase;
  letter-spacing:0.5px;
  transition:opacity .2s ease;
}
.jcb-enquiry-form input[type="submit"]:hover{opacity:0.88;}

@media (max-width:640px){
  .form-row-half{flex-direction:column;}

  .enquiry-type-group .wpcf7-form-control.wpcf7-radio{
  display:flex;
   gap: 24px;
    margin-bottom: 24px;
    justify-content: center;
    flex-direction: column;
}

}


/* careers */

 .jcb-enquiry-form .form-lead{
  color:var(--jcb-dark);
  font-size:15px;
  line-height:1.6;
  margin-bottom:16px;
}

.jcb-enquiry-form input[type="number"]{
  width:100%;
  padding:16px 18px;
  border:0px solid var(--jcb-border);
  border-radius:var(--jcb-radius);
  background:var(--jcb-bg);
  font-size:15px;
  font-weight:600;
  color:var(--jcb-dark);
}
.jcb-enquiry-form input[type="number"]:focus{
  outline:none;
  border-color:var(--jcb-primary);
  box-shadow:0 0 0 2px rgba(226,35,26,0.12);
}
/* hide the default spinner arrows for a cleaner look matching the placeholder-style fields */
.jcb-enquiry-form input[type="number"]::-webkit-outer-spin-button,
.jcb-enquiry-form input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
 


/* ============================
   Mobile overflow & responsiveness hardening
   ============================ */


.jcb-enquiry-form{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

.jcb-enquiry-form,
.jcb-enquiry-form .form-row,
.jcb-enquiry-form .form-row-half,
.jcb-enquiry-form .half-field{
  max-width:100%;
}

/* Force every form control to respect the container, no exceptions */
.jcb-enquiry-form input,
.jcb-enquiry-form select,
.jcb-enquiry-form textarea,
.jcb-enquiry-form .wpcf7-form-control-wrap{
  max-width:100%;
  width:100%;
  box-sizing:border-box;
}

/* Native file input — the usual overflow culprit */
.jcb-enquiry-form input[type="file"]{
  display:block;
  width:100%;
  max-width:100%;
  padding:14px 12px;
  border:1px solid var(--jcb-border);
  border-radius:var(--jcb-radius);
  background:var(--jcb-bg);
  font-size:13px;
  color:var(--jcb-dark);
  font-family:'Poppins';
}

/* Style the actual "Choose File" button cross-browser */
.jcb-enquiry-form input[type="file"]::-webkit-file-upload-button,
.jcb-enquiry-form input[type="file"]::file-selector-button{
  font-family:'Poppins';
  background:var(--jcb-primary);
  color:#fff;
  border:none;
  padding:8px 16px;
  border-radius:3px;
  font-weight:600;
  font-size:13px;
  margin-right:10px;
  cursor:pointer;
}

/* Submit button — full width on small screens, never forces overflow */
.jcb-enquiry-form input[type="submit"]{
  width:auto;
  max-width:100%;
}

/* Radio group must wrap, never force a single line wider than viewport */
.enquiry-type-group .wpcf7-form-control.wpcf7-radio{
  flex-wrap:wrap;
}

/* Tablet & below */
@media (max-width:768px){
  .form-row-half{
    flex-direction:column;
    gap:18px;
  }
}

/* Phones */
@media (max-width:480px){
  .jcb-enquiry-form .form-intro{font-size:16px;}
  .jcb-enquiry-form input[type="submit"]{
    width:100%;
    text-align:center;
  }
  .enquiry-type-group .wpcf7-form-control.wpcf7-radio{
    gap:14px;
  }
}


/* Megamenu */

.mm-img-target {
  background-size: cover !important;
  background-repeat: no-repeat !important;
}



/* ============================================================
   JC BATTERY — SITEMAP STYLES
   Scoped under .jc-sitemap. Plain hex values, no CSS variables.
   Poppins is already enqueued by the theme (weights 300-800).
 
   Bullet fix: list rows are flexbox, not absolutely positioned
   pseudo-elements, so theme/Elementor line-height and margin
   rules can no longer push the dot onto the row above.
   ============================================================ */
 
.jc-sitemap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 50px 20px 70px;
  font-family: "Poppins";
  font-weight: 400;
  color: #3a4553;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
 
.jc-sitemap * { box-sizing: border-box; }
 
.jc-sitemap h1,
.jc-sitemap h2,
.jc-sitemap h3 {
  font-family: "Poppins";
  letter-spacing: -0.01em;
}
 
/* ---------- Theme reset: kills inherited list markers/indents ---------- */
.jc-sitemap ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
 
.jc-sitemap ul li {
  margin: 0 !important;
  list-style: none !important;
  text-indent: 0 !important;
}
 
.jc-sitemap ul li::marker { content: none; }
 
/* ---------- Page head ---------- */
.jc-sitemap .jc-sm-head {
  margin-bottom: 40px;
  padding-bottom: 26px;
  border-bottom: 1px solid #e3e8e2;
}
 
.jc-sitemap .jc-sm-head h1 {
  margin: 0 0 10px;
  font-size: 38px;
  line-height: 1.2;
  font-weight: 700;
  color: #1a2a4a;
}
 
.jc-sitemap .jc-sm-head h1::after {
  content: "";
  display: block;
  width: 62px;
  height: 4px;
  margin-top: 14px;
  background: #2e7d32;
  border-radius: 2px;
}
 
.jc-sitemap .jc-sm-head p {
  margin: 0;
  font-size: 16px;
  color: #6b7482;
}
 
/* ---------- Section block ---------- */
.jc-sitemap .jc-sm-block {
  margin-bottom: 30px;
  padding: 30px 32px 28px;
  background: #ffffff;
  border: 1px solid #e3e8e2;
  border-left: 4px solid #2e7d32;
  border-radius: 6px;
}
 
.jc-sitemap .jc-sm-block > h2 {
  margin: 0 0 22px;
  padding-bottom: 14px;
  font-size: 22px;
  line-height: 1.3;
  font-weight: 600;
  color: #1a2a4a;
  border-bottom: 1px solid #eef2ed;
}
 
.jc-sitemap .jc-sm-sub {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 600;
  color: #1a2a4a;
}
 
.jc-sitemap .jc-sm-intro {
  margin: 0 0 22px;
  font-size: 15px;
  color: #6b7482;
}
 
.jc-sitemap .jc-sm-strong {
  font-weight: 600;
  color: #2e7d32;
  text-decoration: none;
  border-bottom: 1px solid #a9d3a6;
}
 
.jc-sitemap .jc-sm-strong:hover,
.jc-sitemap .jc-sm-strong:focus-visible { border-bottom-color: #2e7d32; }
 
/* ---------- Column grid ---------- */
.jc-sitemap .jc-sm-cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px 36px;
}
 
/* ---------- Link lists (flex rows — no overlap) ---------- */
.jc-sitemap .jc-sm-list li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 9px 0 !important;
  border-bottom: 1px solid #f0f3ef;
}
 
.jc-sitemap .jc-sm-list li:last-child { border-bottom: 0; }
 
.jc-sitemap .jc-sm-list li::before {
  content: "";
  position: static;
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  margin-top: 9px;
  background: #4caf50;
  border-radius: 50%;
}
 
.jc-sitemap .jc-sm-list a {
  flex: 1 1 auto;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  color: #2b3648;
  text-decoration: none;
  transition: color .18s ease;
}
 
.jc-sitemap .jc-sm-list a:hover,
.jc-sitemap .jc-sm-list a:focus-visible { color: #2e7d32; }
 
/* ---------- Downloads: PDF tag ---------- */
.jc-sitemap .jc-sm-files a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
 
.jc-sitemap .jc-sm-files a span {
  flex: 0 0 auto;
  padding: 2px 7px;
  font-size: 10.5px;
  font-weight: 600;
  color: #ffffff;
  background: #4caf50;
  border-radius: 3px;
}
 
/* ---------- Product categories ---------- */
.jc-sitemap .jc-sm-cats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
 
.jc-sitemap .jc-sm-cat-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 18px 20px;
  background: #f1f8ee;
  border: 1px solid #dfeadb;
  border-radius: 6px;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}
 
.jc-sitemap .jc-sm-cat-bar:hover,
.jc-sitemap .jc-sm-cat-bar:focus-visible {
  background: #e7f3e3;
  border-color: #2e7d32;
}
 
.jc-sitemap .jc-sm-cat-name {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  color: #1a2a4a;
}
 
.jc-sitemap .jc-sm-cat-bar:hover .jc-sm-cat-name { color: #2e7d32; }
 
.jc-sitemap .jc-sm-count {
  flex: 0 0 auto;
  padding: 3px 11px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .2px;
  color: #2e7d32;
  background: #ffffff;
  border: 1px solid #cfe3ca;
  border-radius: 20px;
}
 
/* ---------- Focus visibility ---------- */
.jc-sitemap a:focus-visible {
  outline: 2px solid #2e7d32;
  outline-offset: 3px;
  border-radius: 3px;
}
 
/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .jc-sitemap .jc-sm-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jc-sitemap .jc-sm-cats { grid-template-columns: 1fr; }
}
 
@media (max-width: 600px) {
  .jc-sitemap { padding: 34px 16px 50px; }
  .jc-sitemap .jc-sm-head h1 { font-size: 29px; }
  .jc-sitemap .jc-sm-block { padding: 24px 20px 22px; }
  .jc-sitemap .jc-sm-cols { grid-template-columns: 1fr; gap: 22px; }
  .jc-sitemap .jc-sm-cat-bar { padding: 15px 16px; }
}
 
@media (prefers-reduced-motion: reduce) {
  .jc-sitemap a { transition: none; }
}
