
/* KOC CONTACT 2026 */
body{background:#050505!important}.koc-contact-page{padding-top:78px;background:#050505;color:#fff}.koc-contact-page *{box-sizing:border-box}
.contact-hero{max-width:1240px;margin:0 auto;padding:78px 24px 58px;display:grid;grid-template-columns:1.35fr .65fr;gap:70px;border-bottom:1px solid #242424}
.contact-hero-copy small,.contact-hero-side small,.contact-intro>small{display:block;color:#e00000;font-size:9px;font-weight:700;letter-spacing:.18em;margin-bottom:12px}
.contact-hero-copy h1{margin:0 0 24px;color:#fff;font:900 clamp(58px,7vw,92px)/.88 Arial,Helvetica,sans-serif;letter-spacing:.01em}.contact-hero-copy h1 span{color:#e00000}.contact-hero-copy p{margin:0;color:#aaa;font-size:13px;line-height:1.9}
.contact-hero-side{display:grid;grid-template-columns:1fr;align-content:end}.contact-hero-side>div{padding:20px 0;border-top:1px solid #292929}.contact-hero-side strong{display:block;color:#fff;font-size:18px;margin-bottom:5px}.contact-hero-side p{margin:0;color:#777;font-size:10px}.contact-hero-side a{display:inline-block;margin-top:10px;color:#fff!important;text-decoration:none!important;font-size:9px;font-weight:700;letter-spacing:.08em}
.contact-main{max-width:1240px;margin:0 auto;padding:56px 24px 78px;display:grid;grid-template-columns:330px minmax(0,1fr);gap:52px}.contact-intro{padding-top:12px}.contact-intro h2{margin:0 0 20px;color:#fff;font:800 32px/1.05 Arial}.contact-intro>p{margin:0 0 32px;color:#888;font-size:11px;line-height:1.85}.contact-meta>div{padding:16px 0;border-top:1px solid #252525}.contact-meta span{display:block;color:#e00000;font-size:8px;font-weight:700;letter-spacing:.14em;margin-bottom:6px}.contact-meta p{margin:0;color:#777;font-size:10px;line-height:1.7}
.contact-form-panel{border:1px solid #292929;background:#080808;padding:34px 38px 40px}
.koc-contact-warning{margin:0 0 28px;padding:12px 14px;border-left:2px solid #e00000;background:#0c0c0c;color:#999;font-size:10px}
.koc-contact-form dl{display:grid;grid-template-columns:210px minmax(0,1fr);margin:0}.koc-contact-form dt,.koc-contact-form dd{margin:0;padding:19px 0;border-top:1px solid #242424}.koc-contact-form dt{padding-right:24px;color:#fff;font-size:12px;font-weight:700}.koc-contact-form dt span{display:block;margin-top:4px;color:#555;font-size:8px!important;font-weight:600;letter-spacing:.08em}.koc-contact-form dd{position:relative}
.koc-contact-form dd.required:before{content:"REQUIRED";position:absolute;right:0;top:5px;color:#e00000;font-size:7px;font-weight:700;letter-spacing:.08em}
.koc-contact-form input[type=text],.koc-contact-form input[type=email],.koc-contact-form input[type=tel],.koc-contact-form textarea{width:100%!important;max-width:none!important;margin:0!important;padding:10px 11px!important;border:1px solid #333!important;border-radius:0!important;background:#050505!important;color:#fff!important;font-size:12px!important;outline:none!important;box-shadow:none!important;transition:border-color .2s ease!important}
.koc-contact-form input:focus,.koc-contact-form textarea:focus{border-color:#777!important}.koc-contact-form textarea{min-height:150px;resize:vertical}
.koc-contact-form #name_1,.koc-contact-form #name_2,.koc-contact-form #read_1,.koc-contact-form #read_2{width:calc(50% - 5px)!important;display:inline-block}.koc-contact-form #name_2,.koc-contact-form #read_2{margin-left:6px!important}
.koc-contact-form dd>a{display:inline-block;margin-top:8px;color:#777!important;font-size:8px;text-decoration:none!important}.koc-contact-form ul{list-style:none!important;margin:0!important;padding:3px 0!important;display:flex;gap:22px;flex-wrap:wrap}.koc-contact-form li{margin:0!important;color:#aaa!important;font-size:10px!important}.koc-contact-form label{display:flex;align-items:center;gap:7px;color:#aaa;font-size:10px;font-weight:400;cursor:pointer}.koc-contact-form input[type=checkbox]{accent-color:#e00000}
#form_submit{margin:30px 0 0!important;text-align:right!important}#form_submit_button{min-width:210px!important;height:48px!important;padding:0 24px!important;border:1px solid #ef1818!important;border-radius:0!important;background:#d60000!important;color:#fff!important;font-size:11px!important;font-weight:700!important;letter-spacing:.08em!important;cursor:pointer!important;transition:background .2s ease!important}#form_submit_button:hover{background:#f00000!important}
@media(max-width:900px){.contact-hero{grid-template-columns:1fr;gap:35px}.contact-hero-side{grid-template-columns:1fr 1fr;gap:20px}.contact-main{grid-template-columns:1fr}.contact-intro{max-width:600px}.koc-contact-form dl{grid-template-columns:170px 1fr}}
@media(max-width:640px){.koc-contact-page{padding-top:64px}.contact-hero{padding:54px 18px 42px}.contact-hero-side{grid-template-columns:1fr}.contact-main{padding:40px 14px 58px;gap:30px}.contact-form-panel{padding:22px 17px 28px}.koc-contact-form dl{display:block}.koc-contact-form dt{padding:18px 0 7px;border-top:1px solid #242424}.koc-contact-form dd{padding:0 0 18px;border-top:0}.koc-contact-form dd.required:before{top:-24px}.koc-contact-form #name_1,.koc-contact-form #name_2,.koc-contact-form #read_1,.koc-contact-form #read_2{width:100%!important}.koc-contact-form #name_2,.koc-contact-form #read_2{margin:7px 0 0!important}#form_submit_button{width:100%!important}}

/* CONTACT V2 / Showa mailform containment */
.contact-form-panel,
form#mail_form,
form#mail_form dl,
form#mail_form dt,
form#mail_form dd{
  background:#080808!important;
  color:#fff!important;
}
form#mail_form{width:100%!important;margin:0!important;padding:0!important}
form#mail_form dl{width:100%!important;margin:0!important;padding:0!important;border:0!important}
form#mail_form dl dt{
  float:none!important;
  clear:none!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:19px 24px 19px 0!important;
  border:0!important;
  border-top:1px solid #242424!important;
  text-align:left!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1.5!important;
}
form#mail_form dl dd{
  float:none!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:19px 0!important;
  border:0!important;
  border-top:1px solid #242424!important;
}
form#mail_form dl:after{content:"";display:block;clear:both}
form#mail_form dl{
  display:grid!important;
  grid-template-columns:210px minmax(0,1fr)!important;
}
form#mail_form dt span{
  display:block!important;
  margin:4px 0 0!important;
  padding:0!important;
  color:#555!important;
  background:transparent!important;
  font-size:8px!important;
  line-height:1.2!important;
  font-weight:600!important;
  letter-spacing:.08em!important;
}
form#mail_form dt span.required,
form#mail_form dt span.optional{
  display:none!important;
}
form#mail_form input[type="text"],
form#mail_form input[type="email"],
form#mail_form input[type="tel"],
form#mail_form textarea{
  box-sizing:border-box!important;
  max-width:none!important;
  margin:0!important;
  padding:10px 11px!important;
  border:1px solid #333!important;
  border-radius:0!important;
  background:#050505!important;
  color:#fff!important;
  font-size:12px!important;
  box-shadow:none!important;
}
form#mail_form input#company,
form#mail_form input#mail_address,
form#mail_form input#mail_address_confirm,
form#mail_form input#address,
form#mail_form input#car,
form#mail_form textarea{width:100%!important}
form#mail_form input#postal,
form#mail_form input#phone{width:48%!important}
form#mail_form input#name_1,
form#mail_form input#name_2,
form#mail_form input#read_1,
form#mail_form input#read_2{width:calc(50% - 5px)!important}
form#mail_form input#name_2,
form#mail_form input#read_2{margin-left:6px!important}
form#mail_form input:focus,
form#mail_form textarea:focus{
  border-color:#777!important;
  background:#050505!important;
  box-shadow:none!important;
}
form#mail_form ul{margin:0!important;padding:0!important;list-style:none!important;display:flex!important;gap:22px!important;flex-wrap:wrap!important}
form#mail_form ul li{margin:0!important;padding:0!important;color:#aaa!important}
form#mail_form input[type="checkbox"]{margin:0 7px 0 0!important;accent-color:#e00000}
form#mail_form input#postal + a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  margin:0 0 0 8px!important;
  padding:0 12px!important;
  border:1px solid #444!important;
  border-radius:0!important;
  background:#0b0b0b!important;
  color:#aaa!important;
  font-size:9px!important;
}
form#mail_form p#form_submit{
  width:100%!important;
  margin:30px 0 0!important;
  padding:0!important;
  border:0!important;
  text-align:right!important;
}
form#mail_form input#form_submit_button{
  margin:0!important;
  min-width:210px!important;
  height:48px!important;
  padding:0 24px!important;
  border:1px solid #ef1818!important;
  border-radius:0!important;
  background:#d60000!important;
  color:#fff!important;
  font-size:11px!important;
}
form#mail_form span.error_blank,
form#mail_form span.error_format,
form#mail_form span.error_match{
  display:block!important;
  margin-top:7px!important;
  color:#e44!important;
  font-size:9px!important;
  background:transparent!important;
}
form#mail_form .required:before{
  z-index:2!important;
}
@media(max-width:640px){
  form#mail_form dl{display:block!important}
  form#mail_form dl dt{padding:18px 0 7px!important}
  form#mail_form dl dd{padding:0 0 18px!important;border-top:0!important}
  form#mail_form input#postal,form#mail_form input#phone{width:100%!important}
  form#mail_form input#name_1,form#mail_form input#name_2,
  form#mail_form input#read_1,form#mail_form input#read_2{width:100%!important}
  form#mail_form input#name_2,form#mail_form input#read_2{margin:7px 0 0!important}
  form#mail_form input#postal + a{margin:8px 0 0!important}
}

/* CONTACT V3 / form spacing & field sizing */
.contact-form-panel{
  padding:30px 34px 36px!important;
}

.koc-contact-warning{
  margin:0 0 18px!important;
  padding:10px 12px!important;
}

form#mail_form dl{
  grid-template-columns:190px minmax(0,1fr)!important;
}

form#mail_form dl dt,
form#mail_form dl dd{
  min-height:72px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

form#mail_form dl dt{
  padding:14px 22px 14px 0!important;
}

form#mail_form dl dd{
  padding:14px 0!important;
}

form#mail_form input[type="text"],
form#mail_form input[type="email"],
form#mail_form input[type="tel"]{
  height:42px!important;
  padding:0 12px!important;
}

form#mail_form textarea{
  min-height:170px!important;
  padding:12px!important;
}

/* Full width fields */
form#mail_form input#company,
form#mail_form input#mail_address,
form#mail_form input#mail_address_confirm,
form#mail_form input#address,
form#mail_form input#car,
form#mail_form textarea{
  width:100%!important;
}

/* Half/compact fields */
form#mail_form input#postal{
  width:210px!important;
}

form#mail_form input#phone{
  width:280px!important;
}

form#mail_form input#name_1,
form#mail_form input#name_2,
form#mail_form input#read_1,
form#mail_form input#read_2{
  width:calc(50% - 5px)!important;
  max-width:none!important;
}

/* Keep paired fields on one row */
form#mail_form dd:has(#name_1),
form#mail_form dd:has(#read_1){
  display:block!important;
  padding-top:14px!important;
  padding-bottom:14px!important;
}

form#mail_form #name_1,
form#mail_form #name_2,
form#mail_form #read_1,
form#mail_form #read_2{
  vertical-align:top!important;
}

form#mail_form ul{
  min-height:42px!important;
  align-items:center!important;
}

form#mail_form label{
  line-height:1.4!important;
}

form#mail_form dd.required:before{
  top:8px!important;
  right:0!important;
}

#form_submit{
  margin-top:24px!important;
}

#form_submit_button{
  width:228px!important;
  height:50px!important;
}

/* Remove accidental excessive widths/heights from old mailform CSS */
form#mail_form dl dd > input,
form#mail_form dl dd > textarea{
  box-sizing:border-box!important;
}

@media(max-width:900px){
  form#mail_form dl{
    grid-template-columns:155px minmax(0,1fr)!important;
  }
}

@media(max-width:640px){
  .contact-form-panel{
    padding:20px 15px 26px!important;
  }

  form#mail_form dl{
    display:block!important;
  }

  form#mail_form dl dt,
  form#mail_form dl dd{
    min-height:0!important;
    display:block!important;
  }

  form#mail_form dl dt{
    padding:16px 0 7px!important;
  }

  form#mail_form dl dd{
    padding:0 0 16px!important;
  }

  form#mail_form input#postal,
  form#mail_form input#phone{
    width:100%!important;
  }

  form#mail_form input#name_1,
  form#mail_form input#name_2,
  form#mail_form input#read_1,
  form#mail_form input#read_2{
    width:100%!important;
  }

  form#mail_form #name_2,
  form#mail_form #read_2{
    margin:7px 0 0!important;
  }

  form#mail_form dd.required:before{
    top:-22px!important;
  }

  #form_submit_button{
    width:100%!important;
  }
}

/* CONTACT V4 / final field geometry */
.contact-form-panel{
  padding:30px 34px 34px!important;
}

form#mail_form dl{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  width:100%!important;
}

form#mail_form dl dt{
  width:auto!important;
  min-width:0!important;
  padding:15px 20px 15px 0!important;
}

form#mail_form dl dd{
  width:auto!important;
  min-width:0!important;
  padding:15px 0!important;
}

/* Every normal input gets one consistent height. */
form#mail_form input[type="text"],
form#mail_form input[type="email"],
form#mail_form input[type="tel"]{
  display:block!important;
  height:42px!important;
  line-height:42px!important;
  padding:0 12px!important;
  box-sizing:border-box!important;
}

/* Full width */
form#mail_form #company,
form#mail_form #mail_address,
form#mail_form #mail_address_confirm,
form#mail_form #address,
form#mail_form #car{
  width:100%!important;
}

/* Compact */
form#mail_form #postal{width:210px!important;display:inline-block!important}
form#mail_form #phone{width:280px!important}

/* Paired name fields */
form#mail_form dd:has(#name_1),
form#mail_form dd:has(#read_1){
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  align-items:center!important;
}
form#mail_form #name_1,
form#mail_form #name_2,
form#mail_form #read_1,
form#mail_form #read_2{
  width:100%!important;
  margin:0!important;
}

/* Textarea */
form#mail_form #contents{
  width:100%!important;
  height:180px!important;
  min-height:180px!important;
}

/* Response checkboxes: explicit custom visible UI */
form#mail_form dd ul{
  display:flex!important;
  align-items:center!important;
  gap:28px!important;
  min-height:42px!important;
}
form#mail_form dd ul li{
  display:block!important;
}
form#mail_form dd ul label{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  color:#bbb!important;
  font-size:11px!important;
  cursor:pointer!important;
}
form#mail_form input.response[type="checkbox"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #555!important;
  background:#050505!important;
  display:inline-grid!important;
  place-content:center!important;
}
form#mail_form input.response[type="checkbox"]:checked{
  border-color:#e00000!important;
  background:#e00000!important;
}
form#mail_form input.response[type="checkbox"]:checked:after{
  content:""!important;
  width:7px!important;
  height:4px!important;
  border-left:2px solid #fff!important;
  border-bottom:2px solid #fff!important;
  transform:rotate(-45deg) translateY(-1px)!important;
}

/* Postal helper aligns with field */
form#mail_form #postal + a{
  display:inline-flex!important;
  vertical-align:top!important;
  margin:0 0 0 8px!important;
  height:42px!important;
  align-items:center!important;
}

/* Required tag stays aligned to upper right */
form#mail_form dd.required:before{
  top:7px!important;
  right:0!important;
}

/* Submit */
form#mail_form p#form_submit{
  margin:24px 0 0!important;
}
form#mail_form #form_submit_button{
  width:228px!important;
  height:50px!important;
  margin:0 0 0 auto!important;
  display:block!important;
}

@media(max-width:640px){
  form#mail_form dl{display:block!important}
  form#mail_form dd:has(#name_1),
  form#mail_form dd:has(#read_1){
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  form#mail_form #postal,
  form#mail_form #phone{width:100%!important}
  form#mail_form #postal + a{
    margin:8px 0 0!important;
    width:max-content!important;
  }
  form#mail_form dd ul{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:12px!important;
  }
}

/* CONTACT V5 / requested final spacing cleanup */

/* Remove the outer white/gray frame entirely */
.contact-form-panel{
  border:0!important;
}
form#mail_form{
  border:0!important;
  outline:0!important;
}
form#mail_form dl{
  border:0!important;
}

/* Keep only subtle horizontal separators between fields */
form#mail_form dl dt,
form#mail_form dl dd{
  border-left:0!important;
  border-right:0!important;
  border-bottom:0!important;
}

/* Name / reading pairs: tighten the gap */
form#mail_form dd:has(#name_1),
form#mail_form dd:has(#read_1){
  grid-template-columns:1fr 1fr!important;
  gap:4px!important;
}
form#mail_form #name_1,
form#mail_form #name_2,
form#mail_form #read_1,
form#mail_form #read_2{
  margin:0!important;
}

/* Postal-search button: fit content, never stretch */
form#mail_form #postal + a{
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  padding:0 12px!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}

@media(max-width:640px){
  form#mail_form dd:has(#name_1),
  form#mail_form dd:has(#read_1){
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
}

/* CONTACT V6 / paired fields + postal inline + radio-look response */

/* Name / Kana: keep two boxes together at the left.
   Both boxes shrink together when the available width gets smaller. */
form#mail_form dd:has(#name_1),
form#mail_form dd:has(#read_1){
  display:grid!important;
  grid-template-columns:
    minmax(120px,280px)
    minmax(120px,280px)!important;
  justify-content:start!important;
  align-items:center!important;
  gap:8px!important;
}

form#mail_form #name_1,
form#mail_form #name_2,
form#mail_form #read_1,
form#mail_form #read_2{
  width:100%!important;
  max-width:280px!important;
  margin:0!important;
}

/* Postal code + lookup button stay on the same row */
form#mail_form dd:has(#postal){
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
}
form#mail_form #postal{
  flex:0 1 210px!important;
  width:210px!important;
  min-width:120px!important;
}
form#mail_form #postal + a{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  height:42px!important;
  margin:0!important;
  padding:0 13px!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}

/* Original inputs are checkboxes because the mailform expects response[].
   Keep that behavior, but make them visibly round like radio buttons. */
form#mail_form input.response[type="checkbox"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:inline-block!important;
  position:relative!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  margin:0 9px 0 0!important;
  padding:0!important;
  border:1px solid #666!important;
  border-radius:50%!important;
  background:#050505!important;
  vertical-align:middle!important;
  opacity:1!important;
  visibility:visible!important;
}
form#mail_form input.response[type="checkbox"]:checked{
  border-color:#e00000!important;
  background:#050505!important;
}
form#mail_form input.response[type="checkbox"]:checked:after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:8px!important;
  height:8px!important;
  margin:-4px 0 0 -4px!important;
  border:0!important;
  border-radius:50%!important;
  background:#e00000!important;
  transform:none!important;
}
form#mail_form dd ul label{
  display:inline-flex!important;
  align-items:center!important;
}

@media(max-width:640px){
  form#mail_form dd:has(#name_1),
  form#mail_form dd:has(#read_1){
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  form#mail_form dd:has(#postal){
    flex-wrap:wrap!important;
  }
  form#mail_form #postal{
    flex:1 1 180px!important;
    width:auto!important;
  }
}

/* CONTACT V7 / compact paired fields + real radio buttons */

/* Two-part name/kana fields should sit together, not span the entire dd. */
form#mail_form dd:has(#name_1),
form#mail_form dd:has(#read_1){
  display:flex!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
}
form#mail_form #name_1,
form#mail_form #name_2,
form#mail_form #read_1,
form#mail_form #read_2{
  flex:0 1 280px!important;
  width:280px!important;
  max-width:calc(50% - 4px)!important;
  margin:0!important;
}

/* Real radio controls for mutually-exclusive response preference. */
form#mail_form input.response[type="radio"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  position:relative!important;
  display:inline-block!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  margin:0 9px 0 0!important;
  padding:0!important;
  border:1px solid #666!important;
  border-radius:50%!important;
  background:#050505!important;
  opacity:1!important;
  visibility:visible!important;
  vertical-align:middle!important;
}
form#mail_form input.response[type="radio"]:checked{
  border-color:#e00000!important;
}
form#mail_form input.response[type="radio"]:checked:after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:8px!important;
  height:8px!important;
  margin:-4px 0 0 -4px!important;
  border-radius:50%!important;
  background:#e00000!important;
}

/* Old checkbox-specific response styling no longer applies. */
form#mail_form input.response[type="checkbox"]{display:none!important}

@media(max-width:640px){
  form#mail_form dd:has(#name_1),
  form#mail_form dd:has(#read_1){
    flex-direction:column!important;
    align-items:stretch!important;
    gap:7px!important;
  }
  form#mail_form #name_1,
  form#mail_form #name_2,
  form#mail_form #read_1,
  form#mail_form #read_2{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:none!important;
  }
}

/* CONTACT V8 / radio visibility */
form#mail_form input.response[type="radio"]{
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  border:2px solid #b8b8b8!important;
  background:#0b0b0b!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.05)!important;
}
form#mail_form input.response[type="radio"]:hover{
  border-color:#fff!important;
}
form#mail_form input.response[type="radio"]:checked{
  border-color:#e00000!important;
  background:#0b0b0b!important;
}
form#mail_form input.response[type="radio"]:checked:after{
  width:7px!important;
  height:7px!important;
  margin:-3.5px 0 0 -3.5px!important;
  background:#f00000!important;
  box-shadow:0 0 7px rgba(240,0,0,.45)!important;
}

/* CONTACT V9 / bulletproof radio UI
   Draw the control on the label itself so legacy form CSS cannot hide it. */
form#mail_form dd ul label{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  cursor:pointer!important;
}

form#mail_form dd ul label:before{
  content:""!important;
  display:inline-block!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  border:2px solid #bdbdbd!important;
  border-radius:50%!important;
  background:#080808!important;
  box-sizing:border-box!important;
}

/* Keep the real radio functional but visually out of the way. */
form#mail_form input.response[type="radio"]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Selected state */
form#mail_form dd ul label:has(input.response[type="radio"]:checked):before{
  border-color:#ef1818!important;
  background:
    radial-gradient(circle at center,#ef1818 0 4px,#080808 4.5px)!important;
  box-shadow:0 0 8px rgba(239,24,24,.25)!important;
}

form#mail_form dd ul label:hover:before{
  border-color:#fff!important;
}
