/*
 * NDS CF7 Confirm v1.1.1
 * Theme layer: set CSS variables on .wpcf7 per project.
 * Does not style the original Contact Form 7 input fields.
 */
.wpcf7 {
  --nds-confirm-accent: var(--ndstj-navy, #132c4e);
  --nds-confirm-accent-text: #ffffff;
  --nds-confirm-text: #333333;
  --nds-confirm-muted: #666666;
  --nds-confirm-border: #dfe3e8;
  --nds-confirm-surface: #ffffff;
  --nds-confirm-radius: 0px;
  --nds-confirm-space: 20px;
}

.wpcf7 form.nds-cf7-confirm--enabled .nds-cf7-confirm__review,
.wpcf7 form.nds-cf7-confirm--enabled .nds-cf7-confirm__complete {
  color: var(--nds-confirm-text);
  background: var(--nds-confirm-surface);
  box-sizing: border-box;
}

.wpcf7 form.nds-cf7-confirm--enabled [hidden] {
  display: none !important;
}

.wpcf7 form.nds-cf7-confirm--review > .wpcf7-response-output {
  display: none !important;
}

.wpcf7 .nds-cf7-confirm__heading {
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  line-height: 1.5;
  font-weight: 600;
  margin: 0 0 12px;
}

.wpcf7 .nds-cf7-confirm__lead {
  margin: 0 0 25px;
  font-size: 0.96rem;
  line-height: 1.8;
  color: var(--nds-confirm-muted);
}

.wpcf7 .nds-cf7-confirm__list {
  margin: 0 0 30px;
  padding: 0;
  border-top: 1px solid var(--nds-confirm-border);
}

.wpcf7 .nds-cf7-confirm__row {
  display: grid;
  grid-template-columns: minmax(120px, 30%) 1fr;
  gap: var(--nds-confirm-space);
  padding: 18px 4px;
  border-bottom: 1px solid var(--nds-confirm-border);
  line-height: 1.7;
}

.wpcf7 .nds-cf7-confirm__label,
.wpcf7 .nds-cf7-confirm__value {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.wpcf7 .nds-cf7-confirm__label {
  font-weight: 600;
}

.wpcf7 .nds-cf7-confirm__value {
  white-space: pre-wrap;
}

.wpcf7 .nds-cf7-confirm__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}

.wpcf7 .nds-cf7-confirm__button {
  cursor: pointer;
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  min-width: 160px;
  max-width: 100%;
  padding: 12px 24px;
  border: 1px solid var(--nds-confirm-accent);
  border-radius: var(--nds-confirm-radius);
  font: inherit;
  font-size: 0.96rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  transition: opacity 150ms ease;
}

.wpcf7 .nds-cf7-confirm__button:hover {
  opacity: 0.78;
}

.wpcf7 .nds-cf7-confirm__button:focus-visible {
  outline: 2px solid var(--nds-confirm-accent);
  outline-offset: 3px;
}

.wpcf7 .nds-cf7-confirm__button:disabled {
  cursor: wait;
  opacity: 0.55;
}

.wpcf7 .nds-cf7-confirm__button--back {
  color: var(--nds-confirm-accent);
  background-color: transparent;
}

.wpcf7 .nds-cf7-confirm__button--send {
  color: var(--nds-confirm-accent-text);
  background-color: var(--nds-confirm-accent);
}

.wpcf7 .nds-cf7-confirm__error {
  margin: 0 0 1.25rem;
  border-left: 3px solid #bd2929;
  background: #fff6f6;
  color: #9d2525;
  padding: 12px 16px;
  line-height: 1.6;
}

.wpcf7 .nds-cf7-confirm__complete {
  padding: 20px 0 12px;
  text-align: center;
}

@media (max-width: 600px) {
  .wpcf7 .nds-cf7-confirm__row {
    display: block;
    padding: 14px 2px;
  }
  .wpcf7 .nds-cf7-confirm__label {
    margin-bottom: 4px;
  }
  .wpcf7 .nds-cf7-confirm__actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }
  .wpcf7 .nds-cf7-confirm__button {
    width: 100%;
  }
}

/* Tajima Bankin: compact serif typography, navy and gold, white surfaces. */
.wpcf7 form.nds-cf7-confirm--enabled .nds-cf7-confirm__review,
.wpcf7 form.nds-cf7-confirm--enabled .nds-cf7-confirm__complete {
 font-family:var(--ndstj-serif,"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif);
 font-variant-numeric:lining-nums;
 padding:clamp(20px,4vw,36px);border:1px solid var(--nds-confirm-border);
 border-radius:0;max-width:100%;min-width:0;letter-spacing:.04em;
}
.wpcf7 .nds-cf7-confirm__heading {
 color:var(--nds-confirm-accent);font-size:1rem;font-weight:400;
 line-height:1.9;letter-spacing:.1em;padding:0;border:0;background:none;
 box-shadow:none;overflow-wrap:anywhere;margin-bottom:16px;
}
.wpcf7 .nds-cf7-confirm__heading::before,
.wpcf7 .nds-cf7-confirm__heading::after {content:none}
.wpcf7 .nds-cf7-confirm__lead {font-size:.85rem;line-height:2;color:var(--nds-confirm-muted)}
.wpcf7 .nds-cf7-confirm__row {grid-template-columns:minmax(110px,28%) minmax(0,1fr);padding:22px 0}
.wpcf7 .nds-cf7-confirm__label {font-size:.8rem;font-weight:400;color:var(--nds-confirm-accent);line-height:1.9}
.wpcf7 .nds-cf7-confirm__value {font-size:.85rem;color:var(--nds-confirm-text);line-height:1.9}
.wpcf7 .nds-cf7-confirm__button {
 font-family:var(--ndstj-serif,"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif);
 min-height:48px;min-width:180px;padding:13px 24px;font-size:.8rem;
 font-weight:400;letter-spacing:.05em;border-radius:var(--nds-confirm-radius);
 transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.wpcf7 .nds-cf7-confirm__button--back {color:var(--nds-confirm-accent);border-color:var(--nds-confirm-border);background:#fff}
.wpcf7 .nds-cf7-confirm__button--send {color:var(--nds-confirm-accent-text);background:var(--nds-confirm-accent)}
@media(hover:hover){
 .wpcf7 .nds-cf7-confirm__button:not(:disabled):hover {opacity:1;border-color:var(--ndstj-gold,#bfa36a);background:#f8f6f1;color:#132c4e}
}
.wpcf7 .nds-cf7-confirm__button:focus-visible {outline:2px solid var(--ndstj-gold,#bfa36a);outline-offset:4px}
.wpcf7 .nds-cf7-confirm__complete {background:var(--nds-confirm-surface)!important}
.wpcf7 .nds-cf7-confirm__complete::before {
 content:"✓";display:grid;place-items:center;width:44px;height:44px;margin:0 auto 20px;
 border:1px solid var(--ndstj-gold,#bfa36a);color:var(--nds-confirm-accent);font-size:22px;font-weight:400;
}
.wpcf7 .nds-cf7-confirm__complete .nds-cf7-confirm__lead {margin-bottom:0}
.wpcf7 .nds-cf7-confirm__error {border-color:#a13d35;border-radius:0;background:#fcf5f4;color:#84312b;font-size:.85rem}
.wpcf7 form.nds-cf7-confirm--enabled .wpcf7-response-output {
 box-sizing:border-box;margin:24px 0 0;padding:18px 22px;border:1px solid #bfa36a;border-radius:0;
 background:#fcfaf6;color:#5d5038;font-size:.85rem;line-height:1.9;overflow-wrap:anywhere;
}
.wpcf7 form.nds-cf7-confirm--enabled.sent .wpcf7-response-output {display:none}
.wpcf7 form.nds-cf7-confirm--enabled:is(.failed,.aborted,.spam) .wpcf7-response-output {border-color:#a13d35;background:#fcf5f4;color:#84312b}
.wpcf7 form.nds-cf7-confirm--enabled .wpcf7-not-valid-tip {margin-top:8px;color:#94382e;font-size:.8rem;line-height:1.7}
@media(max-width:600px){
 .wpcf7 .nds-cf7-confirm__row {display:block;padding:17px 0}
 .wpcf7 .nds-cf7-confirm__label {margin-bottom:7px}
 .wpcf7 .nds-cf7-confirm__actions {gap:12px}
 .wpcf7 .nds-cf7-confirm__button {min-width:0}
}
@media(prefers-reduced-motion:reduce){.wpcf7 .nds-cf7-confirm__button{transition:none}}
