/* Kansa Contact — frontend (tampilan awal) */
.kc.kc-contact{
  --kc-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  --kc-bg:#fff;--kc-primary:#277CB3;--kc-primary-dk:#1F6897;--kc-primary-sh:rgba(39,124,179,.35);
  --kc-card-from:#5C9EC9;--kc-card-to:#6AB2D4;--kc-card-text:#fff;
  --kc-wa:#0AD100;--kc-wa-dk:#09BC00;--kc-wa-sh:rgba(10,209,0,.28);
  --kc-title:#111;--kc-label:#4B5563;--kc-input-bd:#D7DBE0;--kc-required:#E11D48;--kc-success:#15803D;--kc-error:#B91C1C;
  --kc-max-w:1200px;--kc-form-w:440px;--kc-gap:50px;--kc-pad-t:60px;--kc-pad-b:90px;--kc-map-h:430px;
  --kc-r-card:24px;--kc-r-map:20px;--kc-r-input:4px;--kc-r-btn:2px;--kc-r-wa:6px;--kc-title-size:26px;
  position:relative;margin:0;padding:var(--kc-pad-t) 0 var(--kc-pad-b);background:var(--kc-bg);
  font-family:var(--kc-font);color:var(--kc-label);line-height:1.5;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale
}
.kc.kc-contact *,.kc.kc-contact *::before,.kc.kc-contact *::after{box-sizing:border-box}
.kc.kc-contact [hidden]{display:none !important}
.kc.kc-contact a{text-decoration:none}
.kc.kc-contact .kc-container{width:100%;max-width:var(--kc-max-w);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}

/* Grid */
.kc.kc-contact .kc-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--kc-form-w));gap:var(--kc-gap);align-items:stretch}
.kc.kc-contact.kc-form-left .kc-contact-grid{grid-template-columns:minmax(0,var(--kc-form-w)) minmax(0,1fr)}
.kc.kc-contact.kc-form-left .kc-contact-form{order:-1}
.kc.kc-contact.kc-single .kc-contact-grid{grid-template-columns:minmax(0,1fr)}
.kc.kc-contact.kc-single .kc-contact-form{width:100%;max-width:720px;margin-left:auto;margin-right:auto}

/* Button */
.kc.kc-contact .kc-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:12px 28px;font-family:inherit;font-size:15px;font-weight:500;line-height:1.2;letter-spacing:0;text-align:center;text-transform:none;cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,opacity .2s ease}
.kc.kc-contact .kc-btn:focus-visible{outline:2px solid var(--kc-primary);outline-offset:3px}
.kc.kc-contact .kc-btn svg{flex:0 0 auto}
.kc.kc-contact .kc-btn-primary{background:var(--kc-primary);color:#fff;border:0;border-radius:var(--kc-r-btn);box-shadow:0 10px 24px var(--kc-primary-sh)}
.kc.kc-contact .kc-btn-primary:hover{background:var(--kc-primary-dk);color:#fff}
.kc.kc-contact .kc-btn[disabled]{opacity:.7;cursor:wait}

/* Card info */
.kc.kc-contact .kc-contact-card{display:flex;flex-direction:column;padding:20px;border-radius:var(--kc-r-card);background:linear-gradient(135deg,var(--kc-card-from) 0%,var(--kc-card-to) 100%);color:var(--kc-card-text)}
.kc.kc-contact .kc-contact-map{display:flex;flex:1 1 auto;min-height:var(--kc-map-h);overflow:hidden;border-radius:var(--kc-r-map);background:#E5E7EB}
.kc.kc-contact .kc-contact-map iframe{display:block;width:100%;height:auto;min-height:var(--kc-map-h);border:0;margin:0}
.kc.kc-contact .kc-contact-info{display:flex;flex-direction:column;flex:0 0 auto;padding:26px 14px 14px}
.kc.kc-contact .kc-contact-info:only-child{flex:1 1 auto}
.kc.kc-contact .kc-contact-info .kc-btn-wa{margin-top:auto}
.kc.kc-contact .kc-contact-name{margin:0 0 12px;font-family:inherit;font-size:clamp(21px,1vw + 14px,26px);font-weight:700;line-height:1.3;letter-spacing:0;color:var(--kc-card-text);text-transform:none}
.kc.kc-contact .kc-contact-address{max-width:400px;margin:0 0 22px;font-size:16.5px;line-height:1.6;color:var(--kc-card-text)}
.kc.kc-contact .kc-contact-list{display:grid;gap:16px;list-style:none;margin:0 0 26px;padding:0}
.kc.kc-contact .kc-contact-list li{display:flex;align-items:center;gap:14px;margin:0;padding:0;font-size:16.5px;line-height:1.4;color:var(--kc-card-text)}
.kc.kc-contact .kc-contact-list li::before{content:none}
.kc.kc-contact .kc-contact-list svg{flex:0 0 auto}
.kc.kc-contact .kc-contact-list a{color:var(--kc-card-text);word-break:break-word}
.kc.kc-contact .kc-contact-list a:hover{text-decoration:underline}
.kc.kc-contact .kc-btn-wa{width:100%;min-height:54px;border:0;border-radius:var(--kc-r-wa);background:var(--kc-wa);color:#fff;box-shadow:0 10px 24px var(--kc-wa-sh)}
.kc.kc-contact .kc-btn-wa:hover{background:var(--kc-wa-dk);color:#fff}

/* Form */
.kc.kc-contact .kc-form-title{margin:0 0 26px;font-family:inherit;font-size:clamp(21px,1vw + 14px,var(--kc-title-size));font-weight:500;line-height:1.45;letter-spacing:0;color:var(--kc-title);text-transform:none}
.kc.kc-contact .kc-contact-form form{margin:0}
.kc.kc-contact .kc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.kc.kc-contact .kc-field{grid-column:1/-1;margin:0 0 20px}
.kc.kc-contact .kc-field.kc-w-half{grid-column:auto}
.kc.kc-contact .kc-field label{display:block;margin:0 0 10px;font-size:14.5px;font-weight:400;line-height:1.4;color:var(--kc-label)}
.kc.kc-contact .kc-field label i{font-style:normal;color:var(--kc-required)}
.kc.kc-contact .kc-field input,.kc.kc-contact .kc-field select,.kc.kc-contact .kc-field textarea{display:block;width:100%;max-width:none;min-height:50px;height:auto;margin:0;padding:13px 16px;border:1px solid var(--kc-input-bd);border-radius:var(--kc-r-input);background:#fff;box-shadow:none;font-family:inherit;font-size:15px;line-height:1.4;color:#111;appearance:none;-webkit-appearance:none}
.kc.kc-contact .kc-field select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.kc.kc-contact .kc-field textarea{min-height:130px;resize:vertical}
.kc.kc-contact .kc-field input:focus,.kc.kc-contact .kc-field select:focus,.kc.kc-contact .kc-field textarea:focus{outline:2px solid var(--kc-primary-sh);outline-offset:1px;border-color:var(--kc-primary)}
.kc.kc-contact .kc-field.is-invalid input,.kc.kc-contact .kc-field.is-invalid select,.kc.kc-contact .kc-field.is-invalid textarea{border-color:var(--kc-error)}
.kc.kc-contact .kc-captcha{margin:0 0 20px;max-width:100%;overflow:hidden}
.kc.kc-contact .kc-form-submit{width:100%;min-height:54px;font-weight:600}
.kc.kc-contact .kc-form-note{margin:14px 0 0;font-size:14px;line-height:1.5;color:var(--kc-success)}
.kc.kc-contact .kc-form-note.is-error{color:var(--kc-error)}
.kc.kc-contact .kc-form-note a{color:inherit;font-weight:600;text-decoration:underline}
.kc.kc-contact .kc-form-meta{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--kc-label)}
.kc.kc-contact .kc-form-meta a{color:inherit;text-decoration:underline}
.kc.kc-contact .kc-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}

@media (max-width:1024px){
  .kc.kc-contact{padding:calc(var(--kc-pad-t) * .8) 0 calc(var(--kc-pad-b) * .72)}
  .kc.kc-contact .kc-contact-grid,.kc.kc-contact.kc-form-left .kc-contact-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .kc.kc-contact.kc-form-left .kc-contact-form{order:0}
  .kc.kc-contact .kc-contact-map,.kc.kc-contact .kc-contact-map iframe{min-height:calc(var(--kc-map-h) * .8)}
}
@media (max-width:767px){
  .kc.kc-contact{padding:calc(var(--kc-pad-t) * .55) 0 calc(var(--kc-pad-b) * .55)}
  .kc.kc-contact .kc-contact-card{padding:14px;border-radius:calc(var(--kc-r-card) * .75)}
  .kc.kc-contact .kc-contact-map{border-radius:calc(var(--kc-r-map) * .7)}
  .kc.kc-contact .kc-contact-map,.kc.kc-contact .kc-contact-map iframe{min-height:calc(var(--kc-map-h) * .6)}
  .kc.kc-contact .kc-contact-info{padding:22px 8px 8px}
  .kc.kc-contact .kc-contact-address,.kc.kc-contact .kc-contact-list li{font-size:15.5px}
  .kc.kc-contact .kc-fields{grid-template-columns:minmax(0,1fr)}
  .kc.kc-contact .kc-field.kc-w-half{grid-column:1/-1}
}
@media (max-width:360px){
  .kc.kc-contact .kc-captcha [data-kc-recaptcha]{transform:scale(.88);transform-origin:0 0;height:68px}
}
@media (prefers-reduced-motion:reduce){
  .kc.kc-contact .kc-btn{transition:none}
}
