.elementor-736 .elementor-element.elementor-element-b206010{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:160px;--padding-bottom:80px;--padding-left:40px;--padding-right:40px;}.elementor-736 .elementor-element.elementor-element-b206010:not(.elementor-motion-effects-element-type-background), .elementor-736 .elementor-element.elementor-element-b206010 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1C4C4F;}.elementor-736 .elementor-element.elementor-element-39847bb{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-736 .elementor-element.elementor-element-9c6c442 .elementor-heading-title{color:var( --e-global-color-astglobalcolor5 );}.elementor-736 .elementor-element.elementor-element-f9f45c3{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:080px;--padding-bottom:80px;--padding-left:40px;--padding-right:40px;}.elementor-736 .elementor-element.elementor-element-f9f45c3:not(.elementor-motion-effects-element-type-background), .elementor-736 .elementor-element.elementor-element-f9f45c3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor4 );}.elementor-736 .elementor-element.elementor-element-bbc1402{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:30px 30px 30px 30px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-736 .elementor-element.elementor-element-bbc1402:not(.elementor-motion-effects-element-type-background), .elementor-736 .elementor-element.elementor-element-bbc1402 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor5 );}.elementor-736 .elementor-element.elementor-element-223e2b8{color:var( --e-global-color-text );}.elementor-736 .elementor-element.elementor-element-9324003 > .elementor-widget-container{padding:40px 10px 0px 10px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-736 .elementor-element.elementor-element-b206010{--padding-top:128px;--padding-bottom:48px;--padding-left:40px;--padding-right:40px;}.elementor-736 .elementor-element.elementor-element-f9f45c3{--flex-wrap:wrap;--padding-top:128px;--padding-bottom:64px;--padding-left:40px;--padding-right:40px;}}@media(max-width:767px){.elementor-736 .elementor-element.elementor-element-b206010{--padding-top:120px;--padding-bottom:48px;--padding-left:24px;--padding-right:24px;}.elementor-736 .elementor-element.elementor-element-f9f45c3{--padding-top:120px;--padding-bottom:48px;--padding-left:24px;--padding-right:24px;}.elementor-736 .elementor-element.elementor-element-bbc1402{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-736 .elementor-element.elementor-element-223e2b8 > .elementor-widget-container{padding:16px 16px 16px 16px;}}@media(min-width:768px){.elementor-736 .elementor-element.elementor-element-f9f45c3{--content-width:80%;}.elementor-736 .elementor-element.elementor-element-bbc1402{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-736 .elementor-element.elementor-element-bbc1402{--width:100%;}}/* Start custom CSS for shortcode, class: .elementor-element-9324003 *//* =========================================================
   Contact Form 7 + Elementor : Corporate Contact Form Style
   - 2 columns (PC) / 1 column (SP)
   - Required badge red
   - When required is invalid: label + badge + input border turn red
   ========================================================= */

/* wrapper */
.contact-form{
  width: 100%;
}

/* grid */
.contact-form .cf-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.contact-form .cf-span-full{
  grid-column: 1 / -1;
}

/* label */
.contact-form .cf-label{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 0px;
}

/* required badge (default: red text + red border) */
.contact-form .cf-required{
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 999px;
  color: #d93025;
  border: 1px solid #d93025;
}

/* form controls */
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea{
  width: 100%;
  box-sizing: border-box;
  padding: 14px 16px;
  font-size: 16px;
  line-height: 1.6;
  border-radius: 12px;
  border: 1px solid #bfbfbf;
  background: #f5f8fa;
}

.contact-form textarea{
  min-height: 180px;
  resize: vertical;
}

/* focus */
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  outline: none;
  border-color: #8c8c8c;
  background: #fff;
}

/* consent */
.contact-form .cf-consent label{
  display: flex;
  gap: 10px;
  font-size: 14px;
  line-height: 1.6;
}

.contact-form .cf-consent input{
  margin-top: 4px;
}

/* submit area */
.contact-form .cf-submit{
  margin-top: 8px;
}

.contact-form input[type="submit"]{
  width: 100%;
  padding: 15px 20px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 999px;
  border: none;
  cursor: pointer;
}

/* CF7 validation messages */
.contact-form .wpcf7-not-valid-tip{
  margin-top: 6px;
  font-size: 13px;
}

.contact-form .wpcf7-response-output{
  margin-top: 20px;
  padding: 16px;
  border-radius: 12px;
}

/* =========================================================
   Validation styling (Required not filled etc.)
   ========================================================= */

/* invalid input border */
.contact-form .wpcf7-not-valid{
  border-color: #d93025;
}

/* When a field contains invalid input: make its label red (and keep required badge red) */
/* Primary rule (modern browsers) */
.contact-form .cf-field:has(.wpcf7-not-valid) .cf-label{
  color: #d93025;
}

/* Ensure required badge is emphasized when invalid */
.contact-form .cf-field:has(.wpcf7-not-valid) .cf-required{
  color: #d93025;
  border-color: #d93025;
}

/* Optional: slightly tint invalid fields (uncomment if you want)
.contact-form .wpcf7-not-valid{
  background: #fff5f5;
}
*/

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 767px){
  .contact-form .cf-grid{
    grid-template-columns: 1fr;
  }
}/* End custom CSS */