.contact-page .page-title {
    margin: 0 0 30px;
}
.contact-page{
    padding-top: 106px;
}

.contact-page .description {
    margin-bottom: 90px;
}

.contact-page .fields-set {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    margin-bottom: 50px;
}

.contact-page .contact-form .col.col-4 {
    width: calc(33.33% - 50px *2 /3);
}
.contact-page .contact-form  .col.col-6{
  width: calc(50% - 25px);
}

.contact-page .contact-form  .col.col-12{
  width: 100%;
}
.contact-page .contact-form {
    max-width: 1200px;
    padding: 44px 0 58px;
}

.wpcf7 input[type="url"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], html input, .contact-form select,
html textarea {
    font-size: 18px;
    line-height: 26px;
    font-weight: 400;
    letter-spacing: 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(45, 45, 45, 0.2);
    width: 100%;
    outline: none;
    box-shadow: none;
    border-radius: 0;
    padding: 6px 0;
    text-align: left;
    display: inline-block;
    width: 100%;
}

html input:-webkit-autofill,
html input:-webkit-autofill:hover,
html input:-webkit-autofill:focus,
html input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
    -webkit-text-fill-color:  var(--color-text) !important;
}
 .contact-form select{
 -webkit-appearance: none;
  -moz-appearance: none;
  background: url(../images/dropdown-arrow.svg) no-repeat right 10px center;
  background-size: 16px;
  cursor: pointer;
 }

 .contact-form input::-webkit-datetime-edit,
.contact-form input::-webkit-datetime-edit-fields-wrapper{
    width: 100%;
    justify-content: flex-start;
    text-align: left;
 }

  input[type="date"]{
    -webkit-appearance: none;
    appearance: none;
    height: 41px;
  }

 input[type="date"]::-webkit-datetime-edit {
  text-align: left;
      font-size: 18px;
    line-height: 26px;
    font-weight: 400;
    letter-spacing: 0; 
    color: var(--color-text);/* căn giữa nội dung trong Safari */
}
input[type="date"]::-webkit-date-and-time-value {
  text-align: left;
      font-size: 18px;
    line-height: 26px;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--color-text);
}

/* Fallback pseudo-elements */
input[type="date"]::-webkit-datetime-edit,
input[type="date"]::-webkit-datetime-edit-fields-wrapper,
input[type="date"]::-webkit-datetime-edit-text,
input[type="date"]::-webkit-datetime-edit-month-field,
input[type="date"]::-webkit-datetime-edit-day-field,
input[type="date"]::-webkit-datetime-edit-year-field {
  text-align: left;
    font-size: 18px;
    line-height: 26px;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--color-text);
}

input[type="date" i]::-webkit-calendar-picker-indicator {
    background: url(../images/calendar.svg) no-repeat right 0px top;
    background-size: 24px;
    width: 100%;
    height: 78px;
    cursor: pointer;
    position: absolute;
    top: -29px;
    right: 0;
    z-index: 3;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  display: inline-block;   /* make it visible */
  opacity: 1;              /* force visible */
  cursor: pointer;
}
html textarea{
  resize: none;
  height: 130px;
}

html input:focus, .wpcf7 input:focus, .wpcf7 input[type="tel"]:focus,
html textarea:focus  {
    border-bottom: 1px solid rgba(45, 45, 45, 1);
}
html input[type="submit"] {
  font-size: 16px;
  line-height: 22px;
  border: 0;
  padding: 0;
  cursor: pointer;
}
html input[type="submit"]:focus{
    border-bottom: 0;
}
input::-webkit-input-placeholder {
    color: var(--color-text);
}

.wpcf7-not-valid-tip{
    margin-top: 5px;
}
.contact-map {
    position: relative;
    padding-bottom: 700px;
}
.proposal_request{
  font-size: 22px;
  line-height: 30px;
  font-weight: 400;
  color: var(--color-text);
}

.contact-page .fields-set p {
    font-size: 18px;
    line-height: 26px;
}

.contact-page .fields-set .col.col-7 {
    max-width: 450px;
    width: 60%;
}

.contact-page .fields-set .col.col-5{
    padding-top: 32px;
}

input[type="radio"]+ .wpcf7-list-item-label:before {
    display: inline-block;
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
    left: 5px;
    top: 7px;
}

input[type="radio"]:checked + .wpcf7-list-item-label:before{
background: #2D2D2D;
}
input[type="radio"] {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

input[type="radio"]+ .wpcf7-list-item-label {
    position: relative;
    padding-left: 34px;
    font-size: 16px;
    line-height: 22px;
    cursor: pointer;
}
.contact-page .fields-set:not(.last-child) label:after {
    content: '*';
    color: #FF0000;
    margin-left: 6px;
}

.contact-page .fields-set label {
    font-weight: 400;
    display: inline-block;
    /* transform: translateY(19px); */
}
.contact-page .fields-set.last-child p {
    margin: 0 0 12px;
    font-weight: 400;
}

.contact-page .fields-set.last-child .wpcf7-form-control-wrap {
    padding-top: 29px;
    display: inline-block;
    width: 100%;
}

.contact-page .fields-set.last-child .wpcf7-list-item {
    margin: 0;
}
.contact-page .fields-set.last-child .wpcf7-spinner {
    position: absolute;
}
.contact-page .fields-set.last-child span.wpcf7-form-control.wpcf7-radio {
    display: flex;
    gap: 56px;
}
.contact-page .fields-set.last-child .link p {
    margin: 0;
    line-height: 0;
    font-size: 0;
    display: inline-block;
    transform: translateX(30px);
    transition: all 1s;
}

.contact-page .fields-set.last-child .link:hover p {
      transform: translateX(6px);
}
.contact-page .fields-set.last-child{padding-top: 16px;justify-content: space-between;align-items: flex-start;}
.contact-map .map-inner {
    position: absolute;
    background: #F1F0ED;
    top: 76px;
    right: 40px;
    bottom: 75px;
    padding: 40px;
    max-width: 510px;
}

.contact-map img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.contact-map .map_title {
    margin: 0 0 10px;
}
.contact-map .map_title span {
    font-style: italic;
}
.contact-map .map {
    margin-top: 40px;
    position: relative;
    padding-bottom: 315px;
}
.contact-map .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media (min-width: 1440px){
  .contact-map{
    padding-bottom: 700px;
  }
}
@media (min-width: 1600px) {
    .contact-page .container {
        max-width: 1886px;
    }
}

@media (max-width: 991px){
    
.contact-map {
    padding-bottom: 0;
    padding: 90px 30px;
    margin-top: 0;
}

.contact-map .map-inner {
    position: relative;
    top: 0;
    right: 0;
    padding: 32px 29px 29px;
}

.contact-page .fields-set {
    gap: 20px;
}

.contact-page .contact-form .col.col-4 {
    width: calc(33.33% - 20px * 2 / 3);
}

.contact-page .contact-form .col.col-6 {
    width: calc(50% - 10px);
}

.contact-page .fields-set.last-child span.wpcf7-form-control.wpcf7-radio {
    gap: 25px;
}
}

@media (max-width: 767px) {
    .contact-page {
        padding-top: 51px;
    }
  .contact-page .contact-form .col.col-4 {
      width: 100%;
  }

  .contact-page .contact-form .col.col-6 {
      width: 100%;
  }

  .contact-page .fields-set.last-child span.wpcf7-form-control.wpcf7-radio{
    flex-wrap: wrap;
    gap: 20px;
  }

  .contact-page .fields-set.last-child .wpcf7-list-item{
    width: 100%;
  }


.contact-page .page-title {
    margin: 0 0 18px;
    font-size: 40px;
}

.contact-page .description {
    margin-bottom: 49px;
}

.contact-page .contact-form {
    padding: 36px 0 30px;
}

.contact-page .fields-set {
    gap: 40px;
    margin-bottom: 40px;
}

html textarea {
    height: 79px;
}

.contact-page .fields-set.last-child {
    padding-top: 0;
}

.contact-page .fields-set .col.col-7 {
    width: 100%;
    max-width: 100%;
    margin-bottom: 13px;
}

input[type="radio"]+ .wpcf7-list-item-label {
    padding-left: 27px;
}

.contact-page .fields-set .col.col-5 {
    margin-left: auto;
}


.contact-map .map {
    margin-top: 30px;
    padding-bottom: calc(315 / 270 * 100%);
}
}