/* 상담 신청 폼 (A안: 단정한 카드). 테마 CSS 와 부딪히지 않게 .pl-consult 안에서만 값을 정한다. */
.pl-consult{--pl-color:#00a0df;--pl-ink:#182420;--pl-ink2:#5d6c66;--pl-ink3:#86958f;--pl-line:#ccd8d3;--pl-soft:#f6f9f8;--pl-err:#d33a4b;
  max-width:560px;margin:0 auto;padding:26px 22px 28px;background:#fff;border:1px solid #e4ebe8;border-radius:16px;
  box-shadow:0 6px 24px rgba(20,40,32,.06);font-size:15px;line-height:1.55;color:var(--pl-ink);box-sizing:border-box}
.pl-consult *,.pl-consult *::before,.pl-consult *::after{box-sizing:border-box}
.pl-consult p,.pl-consult h3{margin:0}

.pl-cap{font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--pl-color);margin:0 0 8px}
.pl-title{font-size:22px;font-weight:900;line-height:1.3;letter-spacing:-.01em;color:#101a17;margin:0 0 6px}
.pl-intro{font-size:13.5px;color:var(--pl-ink2);margin:0 0 22px}

.pl-form{display:flex;flex-direction:column;gap:17px;margin:0}
.pl-field{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;border:0;min-width:0}
.pl-label{display:block;font-size:13px;font-weight:700;color:#2b3a34;padding:0;margin:0;line-height:1.4}
.pl-label b{color:var(--pl-err);font-weight:700}

.pl-consult input[type=text],.pl-consult input[type=tel],.pl-consult input[type=date],
.pl-consult select,.pl-consult textarea{
  width:100%;max-width:100%;font:inherit;font-size:15px;padding:12px 13px;margin:0;
  border:1px solid var(--pl-line);border-radius:9px;background:#fff;color:var(--pl-ink);
  outline:0;box-shadow:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.pl-consult textarea{resize:vertical;min-height:84px;line-height:1.5}
.pl-consult select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235d6c66' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;padding-right:36px}
.pl-consult input::placeholder,.pl-consult textarea::placeholder{color:#a3b0ab;opacity:1}
.pl-consult input:focus,.pl-consult select:focus,.pl-consult textarea:focus{
  border-color:var(--pl-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--pl-color) 16%,transparent)}
.pl-consult .pl-invalid{border-color:var(--pl-err) !important}

.pl-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:460px){.pl-row{grid-template-columns:1fr}}

.pl-products{min-width:0}
.pl-products legend{float:none;width:auto;padding:0;margin:0 0 7px;font-size:13px;font-weight:700;color:#2b3a34}
.pl-chips{display:flex;flex-wrap:wrap;gap:8px}
.pl-chip{position:relative;display:inline-block;margin:0;cursor:pointer;line-height:1}
.pl-chip input{position:absolute;opacity:0;width:0;height:0;margin:0}
.pl-chip span{display:inline-block;padding:10px 15px;border:1px solid var(--pl-line);border-radius:999px;
  background:var(--pl-soft);font-size:13.5px;line-height:1.2;color:#38473f;transition:background-color .15s,border-color .15s,color .15s;
  -webkit-user-select:none;user-select:none}
.pl-chip input:checked+span{background:var(--pl-color);border-color:var(--pl-color);color:#fff;font-weight:700}
.pl-consult .pl-chip:hover span{border-color:var(--pl-color)}
.pl-consult .pl-chip input:checked+span,.pl-consult .pl-chip:hover input:checked+span{background:var(--pl-color);color:#fff}
.pl-chip input:focus-visible+span{box-shadow:0 0 0 3px color-mix(in srgb,var(--pl-color) 30%,transparent)}

.pl-consent{gap:5px}
.pl-consent-row{display:flex;gap:9px;align-items:flex-start;margin:0;font-size:12.5px;line-height:1.5;color:var(--pl-ink2);cursor:pointer}
.pl-consent-row input{flex:0 0 auto;width:17px;height:17px;margin:2px 0 0;accent-color:var(--pl-color)}
.pl-consent-row span{flex:1 1 auto;min-width:0}
.pl-consent-row b{color:var(--pl-err);font-weight:700}
.pl-consent-row a{color:var(--pl-color);text-decoration:underline}

.pl-error{display:none;color:var(--pl-err);font-size:12.5px;line-height:1.4;margin:0}
.pl-error.pl-show{display:block}

.pl-submit{width:100%;margin:3px 0 0;padding:15px 18px;border:0;border-radius:10px;background:var(--pl-color);
  color:#fff;font:inherit;font-size:16px;font-weight:800;line-height:1.2;cursor:pointer;
  transition:filter .15s,transform .05s;-webkit-appearance:none;appearance:none}
/* 테마가 button:hover/:focus 배경을 덮어쓰는 사이트가 있어 색을 다시 못 박는다. */
.pl-consult .pl-submit:hover,.pl-consult .pl-submit:focus,.pl-consult .pl-submit:active{background:var(--pl-color);color:#fff}
.pl-consult .pl-submit:hover{filter:brightness(1.07)}
.pl-submit:active{transform:translateY(1px)}
.pl-submit[disabled]{opacity:.6;cursor:wait}
.pl-submit:focus-visible{outline:3px solid color-mix(in srgb,var(--pl-color) 45%,transparent);outline-offset:2px}

.pl-foot{margin:0;text-align:center;font-size:12px;color:var(--pl-ink3)}
.pl-message,.pl-notice{display:none;padding:12px 14px;border-radius:9px;font-size:14px;line-height:1.5}
.pl-notice{margin:0 0 16px}
.pl-message.pl-ok,.pl-notice.pl-ok{display:block;background:#e9f7ee;color:#1d6b3a;border:1px solid #bfe6cc}
.pl-message.pl-err,.pl-notice.pl-err{display:block;background:#fdecee;color:#a11a2b;border:1px solid #f4c4ca}

.pl-done{text-align:center;padding:28px 10px}
.pl-done .pl-done-icon{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:var(--pl-color);
  color:#fff;font-size:30px;line-height:56px;font-weight:800}
.pl-done p{margin:0;font-size:16px;font-weight:700;color:var(--pl-ink)}
.pl-hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:0;overflow:hidden}

@media (prefers-reduced-motion:reduce){.pl-consult *{transition:none !important}}
