/* Auto Support Navi contact page - scoped to /contact/ only */
body.asn-contact-page{margin:0!important;background:#f8fbfc!important;color:#153f49!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important}
body.asn-contact-page .site-header,
body.asn-contact-page .page-header,
body.asn-contact-page .breadcrumb,
body.asn-contact-page .site-footer,
body.asn-contact-page .footerMenu,
body.asn-contact-page .widget-area,
body.asn-contact-page aside{display:none!important}
body.asn-contact-page .siteContent,
body.asn-contact-page .siteContent-container,
body.asn-contact-page .container,
body.asn-contact-page .mainSection,
body.asn-contact-page main,
body.asn-contact-page article,
body.asn-contact-page .entry-body,
body.asn-contact-page .entry-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#f8fbfc!important}
body.asn-contact-page .asn-contact-shell{min-height:100vh;background:#f8fbfc;color:#153f49}
body.asn-contact-page .asn-contact-topbar{border-bottom:1px solid #d9e5e9;background:#fff}
body.asn-contact-page .asn-contact-topbar-inner{max-width:1120px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;gap:12px}
body.asn-contact-page .asn-contact-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#153f49;color:#fff;font-weight:800;font-size:17px}
body.asn-contact-page .asn-contact-brand strong{display:block;font-size:16px;line-height:1.4;color:#153f49}
body.asn-contact-page .asn-contact-brand span{display:block;margin-top:2px;font-size:12px;color:#6c7f89}
body.asn-contact-page .asn-contact-main{max-width:1180px;margin:0 auto;padding:48px 24px 64px}
body.asn-contact-page .asn-contact-hero{text-align:center;margin:0 auto 28px;max-width:720px}
body.asn-contact-page .asn-contact-kicker{display:inline-block;margin-bottom:12px;padding:5px 11px;border:1px solid #c8d6df;border-radius:999px;background:#eef4f7;color:#2d4b5c;font-size:12px;font-weight:800;letter-spacing:.04em}
body.asn-contact-page .asn-contact-hero h1{margin:0!important;color:#153f49!important;font-size:clamp(30px,5vw,46px)!important;line-height:1.2!important;font-weight:800!important;letter-spacing:-.02em}
body.asn-contact-page .asn-contact-hero p{margin:14px auto 0!important;color:#61737c!important;font-size:16px!important;line-height:1.9!important}
body.asn-contact-page .wpcf7{max-width:920px!important;margin:0 auto!important}
body.asn-contact-page .asn-contact-form{padding:30px 32px 32px;border:1px solid #d5e2e7;border-radius:24px;background:#fff;box-shadow:0 14px 40px rgba(21,63,73,.08)}
body.asn-contact-page .asn-contact-form label{display:block;margin:0 0 22px;color:#153f49;font-size:15px;font-weight:800;line-height:1.65}
body.asn-contact-page .asn-contact-form .asn-required,
body.asn-contact-page .asn-contact-form .asn-optional{display:inline-flex;align-items:center;min-height:22px;margin-left:7px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:800;vertical-align:2px}
body.asn-contact-page .asn-contact-form .asn-required{background:#e7f4ef;color:#247354}
body.asn-contact-page .asn-contact-form .asn-optional{background:#eef4f7;color:#60727c}
body.asn-contact-page .asn-contact-form .wpcf7-form-control-wrap{display:block;margin-top:8px}
body.asn-contact-page .asn-contact-form input[type="text"],
body.asn-contact-page .asn-contact-form input[type="email"],
body.asn-contact-page .asn-contact-form input[type="tel"],
body.asn-contact-page .asn-contact-form select,
body.asn-contact-page .asn-contact-form textarea{box-sizing:border-box!important;width:100%!important;max-width:none!important;border:1px solid #c8d6df!important;border-radius:13px!important;background:#fbfdfe!important;color:#173f49!important;font:inherit!important;outline:none!important;box-shadow:none!important;transition:border-color .15s,box-shadow .15s,background .15s}
body.asn-contact-page .asn-contact-form input[type="text"],
body.asn-contact-page .asn-contact-form input[type="email"],
body.asn-contact-page .asn-contact-form input[type="tel"],
body.asn-contact-page .asn-contact-form select{min-height:52px!important;padding:10px 14px!important}
body.asn-contact-page .asn-contact-form textarea{min-height:170px!important;padding:14px!important;resize:vertical}
body.asn-contact-page .asn-contact-form input:focus,
body.asn-contact-page .asn-contact-form select:focus,
body.asn-contact-page .asn-contact-form textarea:focus{border-color:#497681!important;background:#fff!important;box-shadow:0 0 0 3px rgba(73,118,129,.12)!important}
body.asn-contact-page .asn-contact-form p{margin:4px 0 18px;color:#61737c;font-size:14px;line-height:1.8}
body.asn-contact-page .asn-contact-form input[type="file"]{box-sizing:border-box;width:100%;margin-top:8px;padding:12px;border:1px dashed #b7ccd4;border-radius:12px;background:#f8fbfc;color:#4a626d;font-size:13px}
body.asn-contact-page .asn-contact-form input[type="submit"]{appearance:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:54px!important;margin-top:8px!important;border:0!important;border-radius:14px!important;background:#153f49!important;color:#fff!important;font-size:16px!important;font-weight:800!important;letter-spacing:.02em!important;cursor:pointer!important;box-shadow:0 8px 20px rgba(21,63,73,.18)!important;transition:transform .12s,filter .12s}
body.asn-contact-page .asn-contact-form input[type="submit"]:hover{filter:brightness(1.08)}
body.asn-contact-page .asn-contact-form input[type="submit"]:active{transform:translateY(1px)}
body.asn-contact-page .wpcf7-not-valid-tip{margin-top:7px;color:#b42318!important;font-size:13px!important;font-weight:700!important}
body.asn-contact-page .wpcf7-response-output{margin:20px 0 0!important;padding:14px 16px!important;border-radius:12px!important;font-size:14px!important;line-height:1.7!important}
body.asn-contact-page .asn-contact-note{max-width:920px;margin:20px auto 0;padding:0 6px;color:#6b7d85;font-size:12px;line-height:1.8;text-align:center}
body.asn-contact-page .asn-contact-back{display:inline-flex;margin-top:12px;color:#153f49;text-decoration:underline;text-underline-offset:4px;font-weight:700}

body.asn-contact-page.asn-contact-mounted .siteContent{display:none!important}
body.asn-contact-page .asn-contact-shell{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.asn-contact-page .asn-contact-main{box-sizing:border-box!important;width:100%!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}
body.asn-contact-page .wpcf7{box-sizing:border-box!important;width:100%!important;max-width:920px!important;margin-left:auto!important;margin-right:auto!important}
@media(max-width:680px){
 body.asn-contact-page .asn-contact-topbar-inner{padding:14px 16px}
 body.asn-contact-page .asn-contact-main{padding:34px 14px 48px}
 body.asn-contact-page .asn-contact-form{padding:22px 16px 24px;border-radius:18px}
 body.asn-contact-page .asn-contact-form label{margin-bottom:18px;font-size:14px}
 body.asn-contact-page .asn-contact-hero h1{font-size:32px!important}
 body.asn-contact-page .asn-contact-hero p{font-size:14px!important}
}

/* 1.15.8: match test Navi typography inside form controls */
body.asn-contact-page .asn-contact-form input[type="text"],
body.asn-contact-page .asn-contact-form input[type="email"],
body.asn-contact-page .asn-contact-form input[type="tel"],
body.asn-contact-page .asn-contact-form select,
body.asn-contact-page .asn-contact-form textarea{
  font-weight:400!important;
}
body.asn-contact-page .asn-contact-form input::placeholder,
body.asn-contact-page .asn-contact-form textarea::placeholder{
  font-weight:400!important;
  opacity:.72;
}
body.asn-contact-page .asn-contact-form select option{
  font-weight:400;
}


/* 1.15.12: mobile finish - hide Lightning mobile menu controls on /contact/ only */
body.asn-contact-page .vk-mobile-nav-menu-btn,
body.asn-contact-page .vk-mobile-nav,
body.asn-contact-page .mobile-nav-btn,
body.asn-contact-page .mobile-nav,
body.asn-contact-page .site-header,
body.asn-contact-page .siteHeader,
body.asn-contact-page #site-header,
body.asn-contact-page #siteHeader,
body.asn-contact-page .site-footer,
body.asn-contact-page .siteFooter,
body.asn-contact-page #site-footer,
body.asn-contact-page #siteFooter,
body.asn-contact-page .footerMenu{
  display:none!important;
}


/* 1.15.13: remove mobile-menu dimming overlays on the Navi contact page */
body.asn-contact-page .vk-mobile-nav-overlay,
body.asn-contact-page .vk-mobile-nav-bg,
body.asn-contact-page .mobile-nav-overlay,
body.asn-contact-page .mobile-nav-bg,
body.asn-contact-page .menu-overlay,
body.asn-contact-page .nav-overlay,
body.asn-contact-page .drawer-overlay,
body.asn-contact-page .offcanvas-backdrop,
body.asn-contact-page .modal-backdrop,
body.asn-contact-page .vk-menu-acc-overlay,
body.asn-contact-page .vk-menu-acc-overlay-bg,
body.asn-contact-page [class*="overlay"][class*="mobile"],
body.asn-contact-page [class*="backdrop"][class*="mobile"]{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  background:transparent!important;
}

body.asn-contact-page,
body.asn-contact-page .asn-contact-shell,
body.asn-contact-page .asn-contact-form{
  filter:none!important;
  opacity:1!important;
}


/* 1.15.14: mobile typography tuned to match Auto Support Navi */
@media (max-width:680px){
  body.asn-contact-page{
    font-size:16px!important;
  }
  body.asn-contact-page .asn-contact-form label{
    font-size:16px!important;
    line-height:1.65!important;
  }
  body.asn-contact-page .asn-contact-form input[type="text"],
  body.asn-contact-page .asn-contact-form input[type="email"],
  body.asn-contact-page .asn-contact-form input[type="tel"],
  body.asn-contact-page .asn-contact-form input[type="file"],
  body.asn-contact-page .asn-contact-form select,
  body.asn-contact-page .asn-contact-form textarea{
    font-size:16px!important;
    line-height:1.6!important;
  }
  body.asn-contact-page .asn-contact-form p,
  body.asn-contact-page .asn-contact-form .meta,
  body.asn-contact-page .asn-contact-form small{
    font-size:14px!important;
    line-height:1.65!important;
  }
  body.asn-contact-page .asn-contact-form input[type="submit"],
  body.asn-contact-page .asn-contact-form button{
    font-size:16px!important;
  }
  body.asn-contact-page .asn-contact-shell h1{
    font-size:24px!important;
    line-height:1.4!important;
  }
  body.asn-contact-page .asn-contact-shell h2{
    font-size:20px!important;
    line-height:1.45!important;
  }
}


/* 1.15.34: folder upload UI */
body.asn-contact-page .asn-contact-form .asn-folder-upload{
  margin:8px 0 24px;
  padding:16px;
  border:1px solid #d5e2e7;
  border-radius:14px;
  background:#f8fbfc;
}
body.asn-contact-page .asn-contact-form .asn-folder-upload-head{
  display:flex;
  align-items:center;
  gap:6px;
  color:#153f49;
  font-size:15px;
  font-weight:800;
}
body.asn-contact-page .asn-contact-form .asn-folder-help{
  margin:7px 0 12px!important;
  color:#61737c!important;
  font-size:13px!important;
  line-height:1.7!important;
}
body.asn-contact-page .asn-contact-form .asn-folder-controls{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
body.asn-contact-page .asn-contact-form .asn-folder-picker{
  appearance:none!important;
  min-height:44px!important;
  margin:0!important;
  padding:9px 15px!important;
  border:1px solid #9fb8c0!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#153f49!important;
  font-size:14px!important;
  font-weight:800!important;
  cursor:pointer!important;
}
body.asn-contact-page .asn-contact-form .asn-folder-picker:hover{background:#eef6f7!important}
body.asn-contact-page .asn-contact-form .asn-folder-picker:disabled{opacity:.55;cursor:wait!important}
body.asn-contact-page .asn-contact-form .asn-folder-status{
  color:#597078;
  font-size:13px;
  line-height:1.6;
}
body.asn-contact-page .asn-contact-form .asn-folder-status.is-error{
  color:#b42318;
  font-weight:700;
}
body.asn-contact-page .asn-contact-form .asn-folder-source,
body.asn-contact-page .asn-contact-form .asn-folder-zip-wrap,
body.asn-contact-page .asn-contact-form input.asn-folder-zip{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:680px){
  body.asn-contact-page .asn-contact-form .asn-folder-upload{padding:14px;border-radius:12px}
  body.asn-contact-page .asn-contact-form .asn-folder-controls{display:block}
  body.asn-contact-page .asn-contact-form .asn-folder-picker{width:100%!important;min-height:50px!important;font-size:16px!important}
  body.asn-contact-page .asn-contact-form .asn-folder-status{display:block;margin-top:9px;font-size:14px}
}


/* 1.15.39: progressive attachment fields */
body.asn-contact-page .asn-contact-form .asn-progressive-attachment[hidden]{
  display:none!important;
}

body.asn-contact-page .asn-contact-form .asn-progressive-attachment.is-visible{
  display:block!important;
}

body.asn-contact-page .asn-contact-form .asn-add-attachment{
  appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  margin:2px 0 20px!important;
  padding:9px 16px!important;
  border:1px solid #9fb8c0!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#153f49!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.4!important;
  cursor:pointer!important;
}

body.asn-contact-page .asn-contact-form .asn-add-attachment:hover{
  background:#eef6f7!important;
}

body.asn-contact-page .asn-contact-form .asn-add-attachment[hidden]{
  display:none!important;
}

@media(max-width:680px){
  body.asn-contact-page .asn-contact-form .asn-add-attachment{
    width:100%!important;
    min-height:48px!important;
    font-size:15px!important;
    margin-bottom:18px!important;
  }
}
