/* Scoped contact improvements. Prices, tracking and form delivery are unchanged. */
body.suido-contact-ui { padding-bottom: var(--suido-fixed-clearance, 0px); }
.suido-contact-ui { --suido-pink: #c81262; --suido-blue: #2453ba; }
.suido-contact-ui .suido-call,
.suido-contact-ui .suido-header-call,
.suido-contact-ui .suido-form-link { box-sizing: border-box; text-decoration: none; }
.suido-contact-ui .suido-call {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 4px; padding: 14px 18px; min-height: 80px; border: 2px solid var(--suido-pink);
  border-radius: 10px; color: #fff; background: var(--suido-pink); text-align: center;
  box-shadow: 0 3px 0 #940d48; font-weight: 700; line-height: 1.3;
}
.suido-contact-ui .suido-call-label { display: block; font-size: 17px; }
.suido-contact-ui .suido-call-number { display: block; font: 800 38px/1.1 Arial, sans-serif; white-space: nowrap; }
.suido-contact-ui .suido-call-tap { display: none; font-size: 15px; }
.suido-contact-ui .suido-call:hover,
.suido-contact-ui .suido-header-call:hover { color: #fff; background: #a90f52; border-color: #a90f52; }
.suido-contact-ui a:focus-visible,
.suido-contact-ui button:focus-visible,
.suido-contact-ui .wpcf7 input:focus-visible,
.suido-contact-ui .wpcf7 textarea:focus-visible,
.suido-contact-ui .wpcf7 select:focus-visible { outline: 3px solid #122d65; outline-offset: 4px; }
.suido-contact-ui .suido-header-call {
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  min-height: 78px; padding: 8px 14px; border-radius: 8px; background: var(--suido-pink);
  color: #fff; line-height: 1.4; text-align: center;
}
.suido-contact-ui .suido-header-desktop { font-size: 13px; font-weight: 700; }
.suido-contact-ui strong.suido-header-desktop { font: 800 36px/1.2 Arial, sans-serif; }
.suido-contact-ui .suido-header-mobile { display: none; }
.suido-contact-ui .suido-contact-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 16px 0 20px; }
.suido-contact-ui h1 > .pc-none #mainimg { height: auto !important; }
.suido-contact-ui h1 > .pc-none #mainimg .band { position: relative; inset: auto; height: auto; }
.suido-contact-ui .suido-call--hero { min-height: 110px; }
.suido-contact-ui .suido-call--hero .suido-call-number { font-size: clamp(32px, 3.2vw, 46px); }
.suido-contact-ui .suido-form-link {
  display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px;
  min-height: 110px; padding: 14px; border: 2px solid var(--suido-blue); border-radius: 10px;
  background: #fff; color: #19469d; font-size: 16px; line-height: 1.4; text-align: center;
}
.suido-contact-ui .suido-form-link strong { font-size: clamp(20px, 2.3vw, 30px); }
.suido-contact-ui .suido-form-link:hover { background: #edf3ff; color: #143980; }

/* Retain the existing scroll threshold and close behavior. */
.suido-contact-ui #fixed_footer_content { height: 116px; padding: 16px; }
.suido-contact-ui #fixed_footer_content .has_image .content_left { width: calc(100% - 510px); left: 24px; }
.suido-contact-ui #fixed_footer_content .has_image .image.suido-call {
  display: flex; width: 410px; max-width: calc(100% - 76px); right: 60px; left: auto;
  min-height: 82px; padding: 8px 12px; border-radius: 8px;
}
.suido-contact-ui #fixed_footer_content .suido-call-label,
.suido-contact-ui #fixed_footer_content .suido-call-number { display: block; }
.suido-contact-ui #fixed_footer_content .suido-call-label { font-size: 16px; }
.suido-contact-ui #fixed_footer_content .suido-call-number { font-size: 34px; }
.suido-contact-ui #fixed_footer_content .close {
  width: 44px; height: 64px; right: 6px; top: 50%; border: 0; border-radius: 6px;
  padding: 0; margin: 0; color: #fff; background: transparent; font: 32px/1 Arial, sans-serif;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.suido-contact-ui #fixed_footer_content .close::before { content: none; }
.suido-contact-ui #fixed_footer_content .close:hover { background: #ffffff26; }
.suido-contact-ui #wpfront-scroll-top-container {
  box-sizing: border-box; width: 48px; height: 48px; margin: 0 !important;
  bottom: calc(var(--suido-fixed-clearance, 0px) + var(--suido-footer-label-clearance, 0px) + 8px) !important;
  border: 2px solid #2453ba; border-radius: 8px; background: #fff; color: #2453ba;
  text-align: center; cursor: pointer;
}
.suido-contact-ui #wpfront-scroll-top-container img { display: none; }
.suido-contact-ui #wpfront-scroll-top-container::before { content: '↑'; font: 700 30px/44px Arial, sans-serif; }
.suido-contact-ui #wpfront-scroll-top-container:focus-visible { outline: 3px solid #122d65; outline-offset: 3px; }

/* Remove continuous pulsing so controls do not drift beyond narrow screens. */
.suido-contact-ui .animationBtn,
.suido-contact-ui .animationBtnTOP,
.suido-contact-ui .animationBtn02 { animation: none !important; transform: none !important; }
.suido-contact-ui .cv-btn { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; width: 100%; margin: 40px 0 0; }
.suido-contact-ui .cv-btn .animationBtn { width: 100%; margin: 0; min-width: 0; }
.suido-contact-ui .cv-btn .animationBtn a {
  box-sizing: border-box; display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 72px; padding: 16px 8px; margin: 0;
  font-size: clamp(18px, 1.75vw, 25px); line-height: 1.4; white-space: nowrap;
}
.suido-contact-ui .cv-btn .animationBtn i { margin: 0; }
.suido-contact-ui .top-service-list .service-price .type03 { display: inline-block; white-space: nowrap; }

/* Form labels and controls remain in the original CF7 form. */
.suido-contact-ui .wpcf7 .contact-form { width: 100%; table-layout: fixed; }
.suido-contact-ui .wpcf7 .contact-form th { width: 28%; }
.suido-contact-ui .wpcf7 .contact-form p { font-size: 16px; line-height: 1.6; }
.suido-contact-ui .wpcf7 .contact-form :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"])),
.suido-contact-ui .wpcf7 select,
.suido-contact-ui .wpcf7 textarea {
  box-sizing: border-box; width: 100%; max-width: 100%; min-height: 48px;
  padding: 12px; font-size: 16px; line-height: 1.5; color: #222; background: #fff;
}
.suido-contact-ui .wpcf7 textarea { height: 112px; min-height: 96px; resize: vertical; }
.suido-contact-ui .wpcf7 textarea[name="inquiry-detail"] { height: 176px; }
.suido-contact-ui .wpcf7 .contact-form textarea { margin-top: 8px; }
.suido-contact-ui .wpcf7 input[name="zip"] { max-width: 200px; }
.suido-contact-ui .wpcf7 input[type="date"] { max-width: 220px; margin-bottom: 8px; }
.suido-contact-ui .wpcf7 .wpcf7-list-item { margin-left: 0; }
.suido-contact-ui .wpcf7 .wpcf7-list-item label { display: flex; gap: 10px; align-items: center; min-height: 48px; cursor: pointer; }
.suido-contact-ui .wpcf7 input[type="checkbox"] { width: 22px; height: 22px; flex: 0 0 22px; margin: 0; }
.suido-contact-ui .wpcf7 .wpcf7-list-item-label { font-size: 16px; }
.suido-contact-ui .wpcf7 .formPolicy { box-sizing: border-box; width: 100%; height: 220px; padding: 12px; font-size: 14px; }
.suido-contact-ui .wpcf7 .formPolicy p { font-size: 14px; line-height: 1.7; }
.suido-contact-ui .wpcf7 input.wpcf7-submit {
  width: min(100%, 300px); min-height: 56px; height: auto; padding: 14px;
  font-size: 18px; font-weight: 700; background: #2453ba; color: #fff; border-radius: 6px;
}
.suido-contact-ui .wpcf7 input.wpcf7-submit:disabled { opacity: .6; cursor: not-allowed; }

@media (max-width: 1200px) {
  .suido-contact-ui #header, .suido-contact-ui #header_inner { height: 72px; }
  .suido-contact-ui #header_inner { display: flex; align-items: center; gap: 8px; padding: 8px 12px; box-sizing: border-box; }
  .suido-contact-ui #header_inner::after { display: none; }
  .suido-contact-ui #logo_image { position: static; transform: none; min-width: 0; flex: 1 1 auto; margin: 0; }
  .suido-contact-ui #logo_image img.mobile_logo_image { max-width: 100%; width: 185px; height: auto; margin: 0; }
  .suido-contact-ui #header_banner { position: static; transform: none; margin: 0; padding: 0; width: auto; flex: 0 0 82px; height: auto; order: 2; }
  .suido-contact-ui .suido-header-call { min-height: 52px; padding: 5px; border-radius: 6px; }
  .suido-contact-ui .suido-header-desktop { display: none; }
  .suido-contact-ui .suido-header-mobile { display: block; font-size: 12px; line-height: 1.35; }
  .suido-contact-ui .suido-header-mobile strong { font-size: 16px; }
  .suido-contact-ui #header .menu_button { position: relative; top: auto; right: auto; flex: 0 0 44px; order: 3; width: 44px; height: 48px; line-height: 48px; }
  .suido-contact-ui #header .menu_button::before { left: 13px; top: 15px; }
  .suido-contact-ui #global_menu { top: 72px; left: 0; }
  .suido-contact-ui #fixed_footer_content .content_left { display: none; }
  .suido-contact-ui #fixed_footer_content .has_image .image.suido-call { width: min(680px, calc(100% - 76px)); left: 16px; right: auto; }
}
@media (max-width: 767px) {
  .suido-contact-ui .suido-contact-pair { grid-template-columns: 1fr; }
  .suido-contact-ui #fixed_footer_content { height: calc(100px + env(safe-area-inset-bottom, 0px)); padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)); }
  .suido-contact-ui #fixed_footer_content .has_image .image.suido-call {
    top: 10px; left: 12px; right: auto; transform: none; width: calc(100% - 68px);
    max-width: none; min-height: 76px; padding: 8px 4px; gap: 3px;
  }
  .suido-contact-ui #fixed_footer_content .suido-call-label { display: none; }
  .suido-contact-ui #fixed_footer_content .suido-call-tap { display: block; order: -1; font-size: 15px; }
  .suido-contact-ui #fixed_footer_content .suido-call-number { font-size: clamp(25px, 7.2vw, 32px); }
  .suido-contact-ui #fixed_footer_content .close { top: 14px; right: 6px; transform: none; }
  .suido-contact-ui .cv-btn { grid-template-columns: 1fr; gap: 20px; margin-top: 28px; }
  .suido-contact-ui .cv-btn .animationBtn a { font-size: 17px; min-height: 64px; }
  .suido-contact-ui .wpcf7 .contact-form th { width: auto; padding: 12px; }
  .suido-contact-ui .wpcf7 .contact-form td { padding: 12px; }
  .suido-contact-ui .wpcf7 .contact-form th p { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .suido-contact-ui #fixed_footer_content { transition: none; }
}
