/* japan.ph forms (trip request + contact). Uses the colour tokens defined on each page's :root. */
.jp-form{display:flex;flex-direction:column;gap:16px;margin-top:20px;}
.jp-form .fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.jp-form .fld{display:flex;flex-direction:column;gap:6px;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:13.5px;color:var(--matcha-deep);}
.jp-form .fld small{font-weight:500;color:var(--ink-soft);font-size:12px;margin-left:4px;}
.jp-form input[type=text],.jp-form input[type=email],.jp-form input[type=number],.jp-form select,.jp-form textarea{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:500;font-size:15px;color:var(--ink);
  padding:12px 14px;border:2px solid var(--rule);border-radius:10px;background:#fff;min-height:48px;box-sizing:border-box;width:100%;}
.jp-form textarea{min-height:96px;resize:vertical;line-height:1.5;}
.jp-form input:focus,.jp-form select:focus,.jp-form textarea:focus{outline:none;border-color:var(--matcha);box-shadow:0 0 0 3px rgba(63,77,56,.18);}
.jp-form [aria-invalid="true"]{border-color:var(--terra-deep)!important;box-shadow:0 0 0 3px rgba(177,81,42,.18);}
.jp-form fieldset{border:0;margin:0;padding:0;}
.jp-form legend{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:13.5px;color:var(--matcha-deep);margin-bottom:8px;padding:0;}
.jp-form .picks{display:flex;flex-wrap:wrap;gap:8px;}
.jp-form .pick{position:relative;}
.jp-form .pick input{position:absolute;opacity:0;width:1px;height:1px;}
.jp-form .pick span{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:2px solid var(--rule);border-radius:999px;background:var(--cream);
  font-family:"Zen Kaku Gothic New",sans-serif;font-size:14px;color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
.jp-form .pick input:checked+span{background:var(--matcha);border-color:var(--matcha);color:var(--cream);}
.jp-form .pick input:focus-visible+span{outline:3px solid var(--terra);outline-offset:2px;}
.jp-form .consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink-soft);line-height:1.5;}
.jp-form .consent input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--matcha);}
.jp-form .consent a{color:var(--terra-deep);}
.jp-form .factions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;}
.jp-form .fnote{font-family:"Space Mono",monospace;font-size:11.5px;color:var(--ink-soft);}
.jp-form button[disabled]{opacity:.75;cursor:default;}
/* honeypot: off-screen for people, still filled by bots */
.jp-form .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.form-msg{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:14.5px;margin:0;min-height:20px;}
.form-msg.ok{color:var(--matcha-deep);}
.form-msg.err{color:var(--terra-deep);}
@media (max-width:680px){
  .jp-form .fgrid .fld:not(.half){grid-column:1/-1;}
}
