.feedback-form {
  --c-dark: #0B0A08;
  --c-primary: #547D86;
  --c-secondary: #A3B2BD;
  --c-brown: #483F33;
  --c-sand: #9F876F;
  --c-neutral: #CBD6DA;
  --c-soft: #E6E6E4;
  --c-white: #FEFEFE;
  --c-primary-bg: #CEE2E9;
  --c-border: #c4c5c7;
  --contact-form-input-bg: #F4F4F4;

  margin-top: 60px;
}

.feedback-form .form-section > .form-group {
  margin-bottom: 20px;
}

.feedback-form form .form-wrapper .form-group .form-control {
  max-height: none;
}

/* ================= TABLE ================= */

.feedback-form table {
  width: 100%;
  font-size: 16px;
  line-height: 1.5em;
}

.feedback-form table th,
.feedback-form table th p {
  text-align: center !important;
}

.feedback-form table th:not(:first-child) {
  width: 100px;
}

.feedback-form table td p {
  width: 100%;
}

.feedback-form table td p > input[type="text"] {
  max-width: calc(100% - 32px);
  margin: 0 0 0 22px !important;
}

/* ================= WPCF7 ================= */

.feedback-form .wpcf7-form input[type="radio"] {
  margin: 0 auto;
}

.feedback-form .wpcf7-form input[type="date"] {
  max-width: 200px;
}

.feedback-form .wpcf7-form td.radio-btn label {
  display: flex;
  align-items: start;
  gap: 16px;
  position: relative;
  cursor: pointer;
  font-weight: 400;
  font-size: 1em;
  padding: 12px 16px;
  border: 1px solid var(--c-border);
  margin: -5px 0;
  transition: all 0.5s ease;
}

.feedback-form .wpcf7-form td.radio-btn label:hover {
  background: aliceblue;
}

.feedback-form .wpcf7-form td.radio-btn label:before,
.feedback-form .wpcf7-form td.radio-btn label:after {
  content: "";
  width: 16px;
  height: 16px;
  border: 1px solid var(--c-primary);
  border-radius: 50%;
  position: relative;
  top: 1px;
  flex: 0 0 16px;
}

.feedback-form .wpcf7-form td.radio-btn label:after {
  position: absolute;
  background: var(--c-primary);
  top: 16px;
  left: 19px;
  width: 10px;
  height: 10px;
  opacity: 0;
}

.feedback-form .wpcf7-form td.radio-btn input:checked ~ label {
  background: var(--c-primary-bg);
}

.feedback-form .wpcf7-form td.radio-btn input:checked ~ label:after {
  opacity: 1;
}

.feedback-form .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 4px;
  font-size: 14px;  
}

.feedback-form form.submitting .wpcf7-spinner {
  vertical-align: middle;
  position: relative;
  top: 8px;
}

/* ================= RADIO TABLE ================= */

td.radio-btn {
  position: relative;
}

td.radio-btn input[type="radio"] {
  position: absolute;
  inset: 0;
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}

td.radio-btn br {
  display: none;
}

.feedback-form label.radio-options {
    display: block;
    position: relative;
    cursor: pointer;
    margin: 0 !important;
}

.feedback-form label.radio-options span {
    display: block;
    padding: 12px 16px 12px 46px;
    border: 1px solid var(--c-border);
    background: var(--contact-form-input-bg);
}

.feedback-form label.radio-options input {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 16px;
    /* visibility: hidden; */
    height: 16px;
}

.feedback-form label.radio-options span:hover {
    background: #fff;
}

.feedback-form br {
    display: none;
}

.radio-options-wrap > p {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

label.radio-options input:checked + span {
    background: var(--c-primary-bg);
}

/* ================= TOUR BLOCK ================= */

.feedback-form .cf-tour-block td {
  padding: 12px 0;
}

.feedback-form .cf-tour-block td > p {
  position: relative;
  display: block;
}

.feedback-form .cf-tour-block tbody tr {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px;
}

.feedback-form .cf-tour-block tbody tr > td:first-child {
  width: 50%;
  padding-left: 0;
}

.feedback-form .cf-tour-block tr td {
  border: none;
}

.feedback-form .cf-tour-block tr td label {
  font-size: 18px;
  font-weight: 400;
}

.feedback-form .cf-tour-block tr td:not(:first-child):not([colspan="10"]) {
  flex: 0 0 34px;
  max-width: 10%;
}

.feedback-form .cf-tour-block tr td.checked,
.feedback-form .recom-rate tr td.checked {
  background: var(--c-primary-bg);
}

.feedback-form .cf-tour-block tr td.checked p {
  color: var(--c-dark);
}

.feedback-form .cf-tour-block td:last-child .cf-tour-span {
  left: auto;
  right: 0;
}

.feedback-form .cf-tour-block .cf-tour-span {
  position: absolute;
  bottom: -28px;
  left: 0;
  font-weight: 600;
  font-size: 12px;
  white-space: nowrap;
}

.feedback-form .cf-features-like-block tr td {
  padding-left: 0;
}

.cf-tour-block tr td[colspan="10"] {
  flex: 50%;
  max-width: 48%;
}

.feedback-form table.cf-tour-block tbody > tr > td {
  background: none;
}

/* ================= TOUR RADIO ================= */

.feedback-form .cf-tour-radio {
  cursor: pointer;
  position: relative;
}

.feedback-form .cf-tour-radio input {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  width: 0;
  height: 0;
}

.feedback-form .cf-tour-radio span {
  border: 1px solid var(--c-border);
  padding: 0 8px;
  width: 34px;
  height: 34px;
  text-align: center;
  display: block;
  line-height: 34px;
  margin: auto;
  background: var(--contact-form-input-bg);
}

.feedback-form .cf-tour-radio span:hover{
  background: #fff;
}

.feedback-form .cf-tour-radio input:checked + span {
  background: var(--c-primary-bg);
}



/* ================= MISC ================= */

.cookie_banner {
  right: 0 !important;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 1280px) and (min-width: 991px) {
  .feedback-form .cf-tour-block tbody tr > td:first-child {
    flex: 0 0 45%;
  }
}

@media (max-width: 991px) {
  .feedback-form .wpcf7-form .cf-tour-block tr td[style="vertical-align:top"] + td[colspan="10"] {
    max-width: 100%;
  }

  .feedback-form .cf-tour-block tr td:not(:first-child):not([colspan="10"]) {
    flex: 0 0 calc((75% / 11) - 1.1px);
  }

  .feedback-form .cf-tour-block tr td:not(:first-child):not([colspan="10"]) label {
    line-height: 37px;
  }
}

@media (max-width: 991px) and (min-width: 768px) {
  .feedback-form .cf-tour-block tbody tr > td:first-child {
    flex: 0 0 100%;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .feedback-form {
    padding: 15px;
  }

  .feedback-form form .form-wrapper .form-section .form-row {
    flex-wrap: wrap;
  }

  .feedback-form form .form-wrapper .form-section .form-row .form-group {
    flex: 0 0 100%;
  }

  .feedback-form .cf-tour-block tbody tr > td:first-child {
    width: 100%;
  }

  .feedback-form .cf-tour-block td {
    padding: 8px 0;
  }
}