:root {
  --bright-blue: var(--_colour-brand---highlight-colour);
  --orange: var(--_colour-brand---feature-colour);
  --brand-orange: var(--orange);
  --input-radius: 10px;
  --brand-blue: var(--bright-blue);

  --icon-info: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>');
  --icon-chevron-right: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></svg>');
  --icon-arrow-right: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>');
  --icon-document: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>');
  --icon-eye: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>');
  --icon-external: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>');
  --icon-stem-arrow-right: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="12" x2="20" y2="12"/><polyline points="14 6 20 12 14 18"/></svg>');
  --icon-alert: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>');

  #widget-inject {
    min-height: 373px;
    @media screen and (min-width: 699px) {
      min-height: 178px;
    }
  }

  .modal,
  .svc {
    bottom: unset;
    top: 6rem;

    input,
    textarea,
    button {
      font-family: unset;
    }
    input {
      width: 100%;
    }

    .search-form .tabs__labels,
    .request-quote-button {
      display: none;
    }

    .modal__container {
      position: unset;
    }
    .modal__background {
      background-color: white;
    }

    .modal__content {
      max-height: calc(100dvh - 8rem) !important;
    }

    .search-form.design-slim .tabs__contents .search-form__controls-bottom .input-country .selectize-control {
      height: unset;
    }

    .input.select > .selectize-control.single {
      height: unset;
    }

    .search-form.design-slim .tabs__contents .search-form__controls-bottom .selectize-input,
    .search-form.design-slim .tabs__contents .search-form__controls-bottom .input-country .selectize-control .selectize-input,
    .selectize-input {
      padding: unset;
      padding-block: unset;
      padding-left: unset;
      padding: 0.5rem 0.8rem 0.2rem;
    }
    .selectize-control.single .selectize-input > div {
      line-height: unset;
    }

    .input-to,
    .input-from {
      .selectize-control .selectize-input {
        padding-left: 2.3rem;
      }
    }

    /*TODO: Hide pickup icon and set new ones for pick up and drop off
    .input.select .ico {
      display: none !important;
    }.input-to .selectize-control .selectize-input::before {content:'hello';}
    */

    .selectize-control .selectize-input,
    .selectize-dropdown-content {
      text-align: left;
    }
    .input-age .selectize-control {
      height: unset !important;
    }
    @media screen and (min-width: 640px) {
      .driver-info {
        flex-direction: row-reverse;
        flex: unset;
        flex-flow: unset;

        div.input {
          flex-direction: column;
          gap: unset;
          align-items: flex-start;
          .selectize {
            width: 15rem;
          }
        }
      }
    }

    .search-form.design-slim .tabs__contents {
      background-color: var(--_colour-brand---feature-colour);
      border: unset;
      padding-bottom: 1.2rem;
      border-bottom-right-radius: var(--border-radius);
      border-top-left-radius: var(--border-radius);
      --border-radius: var(--input-radius);

      label {
        color: #000;
        font-size: 1rem;
        margin-left: unset;
      }
      .selectize-control.single .selectize-input.input-active {
        border-top-right-radius: var(--input-radius);
        border-top-left-radius: var(--input-radius);
      }
      .selectize,
      .date-input-container {
        background-color: white;
        border-radius: var(--input-radius);
        margin-top: 0.5rem !important;
        border: 0px;
      }
      .selectize-dropdown {
        margin-top: 0px !important;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
      }
      .date-input-container .display-fr,
      .input.select.frame .selectize-control .selectize-input,
      .selectize .selectize-input {
        border: 0;
        border-bottom: unset;
      }
      .date-range .ico {
        font-size: 14px;
      }

      .input-country {
        .selectize-dropdown-content {
          display: flex;
          flex-direction: column;
        }

        .selectize-dropdown-content > div {
          order: 999;
          flex-shrink: 0; /* Prevent items from shrinking */
        }

        .selectize-dropdown-content > div[data-value="1"] {
          order: 1;
        }

        .selectize-dropdown-content > div[data-value="2"] {
          order: 2;
        }

        .selectize-dropdown-content > div[data-value="236"] {
          order: 3;
        }

        .selectize-dropdown-content > div[data-value="234"] {
          order: 4;
        }
      }
    }

    /*
      Modal close
  */
    .modal__close {
      position: unset;
      top: unset;
      right: unset;

      gap: 0.5rem;
      margin-left: 0.5rem;
      margin-right: auto;
      margin-bottom: 0.75rem;

      text-shadow: unset;

      display: flex;
      width: unset;
      height: unset;
      color: var(--bright-blue);
      &::after {
        padding-top: 3px;
        content: "Back to results";
      }
      .ico {
        font-size: 0;
        line-height: 1.3;
      }
      .ico::before {
        font-size: 1rem;
        content: " ";
        display: inline-block;
        width: var(--icon-width);
        height: var(--icon_element-height);
        background-color: var(--icon-colour-default);
        mask-image: var(--icon_arrow-stem-left);
        mask-size: contain;
        mask-repeat: no-repeat;
      }
    }
  }

  /*
      Calendar styling
  */

  --brand-blue: var(--bright-blue);
  --brand-white: #ffffff;

  body .svc {
    /* Hide the little caret pointer some themes add */
    .daterangepicker:before,
    .daterangepicker:after {
      display: none !important;
    }

    /* "Pick up / Drop off" chips for current selection */
    .daterangepicker {
      padding-top: 3rem;
      gap: 0;
      @media screen and (min-width: 640px) {
        padding-top: 0.5rem;
        max-width: 64rem;
      }
      width: calc(100% - 2rem);
      background-color: var(--_colour-brand---highlight-colour);
      border: 4px solid var(--_colour-brand---feature-colour);
      top: calc(50% + 2rem);

      .drp-calendar.left .calendar-table {
        border-top-right-radius: var(--border-radius);
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
        @media screen and (min-width: 640px) {
          border-top-left-radius: var(--border-radius);
          border-bottom-left-radius: var(--border-radius);
          border-top-right-radius: 0;
          border-bottom-right-radius: 0;
        }
      }

      .drp-calendar.right .calendar-table {
        border-top-right-radius: 0;
        border-bottom-right-radius: var(--border-radius);
        border-bottom-left-radius: var(--border-radius);
        @media screen and (min-width: 640px) {
          border-top-right-radius: var(--border-radius);
          border-bottom-right-radius: var(--border-radius);
          border-top-left-radius: 0;
          border-bottom-left-radius: 0;
        }
      }

      th.next,
      th.prev {
        color: var(--_colour-brand---highlight-colour-over);
        background-color: var(--_colour-brand---highlight-colour);
        width: unset;
        height: unset;
        width: fit-content;
        padding-left: 8px !important;
        padding-top: 4px !important;
        padding-right: 8px !important;
        padding-bottom: 8px !important;
        font-size: 0.85em;

        span {
          border-color: var(--_colour-brand---highlight-colour-over);
        }
      }
      th.prev::after {
        margin-left: 4px;
        content: "Back";
      }
      th.next::before {
        margin-right: 4px;
        content: "Next";
        right: unset;
      }

      &.show-header > h3 {
        margin-top: unset;
        font-size: unset;
        color: var(--_colour-brand---highlight-colour-over);
      }
      .calendar-table {
        border-bottom: 4px solid white;
        td {
          border: unset;
          min-width: 2.5rem;
        }
        th,
        td {
          font-size: 1rem;
          height: 2rem;
        }
        th:first-child {
          padding-left: 0;
          padding-bottom: 0;
          @media screen and (min-width: 640px) {
            height: 2.5rem;
          }
        }

        .table-condensed tbody td {
          margin-bottom: 4px;
          border-top: 2px solid white;
        }

        td.disabled,
        td.off {
          color: #000000;
          opacity: 0.1;
          background-color: rgba(00, 00, 00, 0.1);
          &::before {
            opacity: 0;
          }
        }

        th.in-range,
        th.start-date,
        th.end-date,
        td.in-range,
        td.start-date,
        td.end-date {
          font-weight: 700;
          color: #fff;
          background-color: var(--_colour-brand---feature-colour);
        }
        thead th:last-child {
          padding: 0;
        }

        td.start-date,
        td.end-date {
          position: relative;
        }

        td.start-date::before,
        td.end-date::before,
        td.off.start-date::before,
        td.off.end-date::before,
        td.start-date:not(.in-range):not(.active)::before,
        td.end-date:not(.in-range):not(.active)::before {
          content: none !important;
        }

        td.end-date.in-range::before,
        td.end-date.active::before,
        td.start-date.in-range::before,
        td.start-date.active::before {
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          top: -14px;
          font-size: 10px;
          line-height: 1;
          font-weight: 700;
          background: var(--bright-blue);
          color: #fff;
          padding: 2px 6px;
          border-radius: 6px;
          white-space: nowrap;
        }

        th.start-date,
        td.start-date {
          border-top-left-radius: var(--input-radius);
          border-bottom-left-radius: var(--input-radius);
        }
        th.end-date,
        td.end-date {
          border-top-right-radius: var(--input-radius);
          border-bottom-right-radius: var(--input-radius);
        }

        td.start-date.in-range::before,
        td.start-date.active::before {
          content: "Pick up" !important;
        }
        td.end-date.in-range::before,
        td.end-date.active::before {
          content: "Drop off" !important;
        }
      }
    }

    /*
    Results page
    */

    /* Mini search box */
    .search__header {
      @media screen and (max-width: 699px) {
        position: fixed;
        top: 6rem;
        margin-left: 1.5rem;
        left: 0;
        margin-right: 1.5rem;
        background-color: White;
        z-index: 999;
        outline: 10px solid white;
      }

      &.panel {
        background-color: white;
        border: 1.5px solid var(--orange);
        gap: 0.5rem;
        border-radius: var(--border-radius);

        .search__info-table {
          width: 100%;
        }

        .search__header-buttons {
          flex-direction: row-reverse;

          .search__button-modal {
            border-radius: 200rem;
            border: 1.5px solid var(--_colour-brand---highlight-colour);
            font-weight: bold;
          }
          .search__button-filters,
          .search__button-modal {
            color: var(--_colour-brand---highlight-colour);
            background-color: unset;
            padding: 0.5rem;
          }
          .search__button-filters::after,
          .search__button-modal::after {
            font-size: 0.875rem;
            line-height: 1rem;
          }
          .search__button-filters {
            border: unset;
            font-size: 0;
            &::after {
              content: "Filter results";
            }
          }
          .search__button-modal {
            font-size: 0;
            &::after {
              content: "Change dates & location";
            }
          }
        }
      }
    }
    .search__root {
      @media screen and (max-width: 699px) {
        margin-top: 7rem;
      }
      .search__info-table {
        tr > th > p {
          font-style: normal;
        }

        tr > td > p {
          font-weight: bold;
        }
      }
    }

    .search__results-container.flx.gp-3,
    .operator-display.flx.gp-3,
    #choices_collection_nested > div {
      flex-direction: column;
      display: flex;
      gap: 2rem;
    }

    /* ───────────────────────────────────────────────────────────
    General
    ─────────────────────────────────────────────────────────── */

    hr {
      display: none;
    }
    .secure-form-shield {
      fill: white;
    }

    h1 {
      font-size: var(--_font---size--tag--h3);
      line-height: var(--_font---height--tag--h3);
      font-weight: bold;
      color: var(--_colour-brand---feature-colour);
      margin: 0;
    }

    @media screen and (min-width: 640px) {
      .search-form__controls-bottom {
        flex-flow: unset;
        align-items: end;

        .button-search {
          height: 2.25rem;
          display: block;
        }
      }
      .search-form__controls-top .button-search {
        display: none;
      }
    }
    .tabs__contents .button-search,
    .button.green {
      border-radius: 200rem;
      background-color: var(--bright-blue);
      color: white;
      border: 0;
      border-bottom: unset;
      margin: 0;
    }

    .flx.gp-3 {
      gap: 0.5rem;
    }

    .search__result * .ml-1,
    .display-entity h2,
    .operator-display__entity h2,
    .choices__label-title {
      margin-left: unset;
      color: var(--_colour-brand---highlight-colour);
      font-weight: bold;
      margin-top: 0;
      margin-bottom: 0;
      font-size: var(--_font---size--small);
      line-height: var(--_font---height--small);
    }
    .search__result * .ml-1,
    .operator-display__entity h2,
    .choices__label-title {
      margin-top: 0.5rem;
      margin-bottom: 0.5rem;
    }

    .panel {
      box-shadow: unset;
      background-color: unset;
      border: unset;
    }

    /* Tags */
    .search__tags,
    .entity-detail__tags {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      row-gap: 0.5rem;
    }
    .search__tags {
      padding: 0.75rem 0;
    }

    .entity-detail__tags > p {
      margin-bottom: unset;
      &.mr-1 {
        margin-right: unset;
      }
    }

    /* Tabs */

    .display-entity .tabs {
      .tabs__labels {
        margin-bottom: -1.5px;
        z-index: 500;
        position: relative;
        gap: 0.75rem;
      }
      .tabs__label {
        border-bottom: 1.5px solid var(--_colour-brand---feature-colour);
        background-color: white;
        background-image: unset;
        &.selected {
          border-bottom: 0px;
        }
        h4 {
          font-size: 0;
          line-height: 0;
          margin: 0.4rem var(--_sizing-spacer-gap---padding--small) 0.2rem;
        }
        h4::after {
          font-size: var(--_font---size--xsmall);
          line-height: var(--_font---height--xsmall);
        }
        &[data-tab="specs"] h4::after {
          content: "Details";
        }
        &[data-tab="feats"] h4::after {
          content: "Inclusions";
        }
        &[data-tab="opts"] h4::after {
          content: "Extras";
        }
      }

      .tabs__contents,
      .tabs__label {
        border: 1.5px solid var(--_colour-brand---feature-colour);
        background-color: white;
      }
      .tabs__contents {
        border-top-right-radius: var(--border-radius);
        border-top-left-radius: unset;
        padding: var(--_sizing-spacer-gap---padding--xxsmall) var(--_sizing-spacer-gap---padding--small);

        h5 {
          font-weight: bold;
        }

        .tabs__content {
          tr,
          .entity-detail__tags p {
            font-size: var(--_font---size--xxsmall);
            line-height: var(--_font---height--xsmall);
          }

          tr td:nth-child(2) {
            text-align: right;
          }
        }
      }
    }

    /* Image slider */
    button.light,
    .button.light {
      background-color: white;
      border: 1px solid var(--_colour-brand---feature-colour);
    }

    .glide__bullets {
      justify-content: center;
      left: 0;
      right: 0;
      column-gap: 0.5rem;
      row-gap: 0.25rem;
      margin-bottom: 0.5rem;
      .glide__bullet {
        margin: 0.25rem 0.1rem;
        width: 0.5rem;
        height: 0.5rem;
      }
      .glide__bullet.glide__bullet--active {
        background-color: var(--_colour-brand---feature-colour);
      }
    }
    .glide__arrow {
      background-color: white;
    }

    .glide__arrows > .glide__arrow.glide__arrow--right,
    .glide__arrows > .glide__arrow.glide__arrow--left {
      background-color: white;
    }
    .glide__arrows > .glide__arrow {
      background-blend-mode: unset;
      background-size: unset;

      width: 2rem;
      height: 2rem;

      background-position-y: center;
      background-size: 0.75rem;
    }
    .glide__arrow--right {
      background-image: url("https://cdn.prod.website-files.com/67db53acf1b92613e172f572/68f620de93ece01c695cff11_Right%20arrow.png");
      background-position-x: 11px;
    }
    .glide__arrow--left {
      background-image: url("https://cdn.prod.website-files.com/67db53acf1b92613e172f572/68f620debf4fb3e4ac153eea_Left%20arrow.png");
      background-position-x: 7.5px;
    }

    /* ───────────────────────────────────────────────────────────
    Results & operators
    ─────────────────────────────────────────────────────────── */

    .search__result,
    .operator-display__entity,
    #choices_collection_nested > div > div {
      border-radius: var(--border-radius);
      border: 1.5px solid var(--orange);
      padding: 0.2rem 0.8rem 1rem;
    }

    /* Results */
    .search__status {
      p {
        padding-top: 1rem;
        font-size: var(--_font---size--xxsmall);
        line-height: var(--_font---height--xxsmall);
        font-weight: bold;
        color: var(--_colour-brand---highlight-colour);
      }
    }

    .choices__root,
    .search__result {
      .price-label::before,
      .price-label::after {
        display: none;
      }
      .price-label {
        height: unset;
        margin-left: unset;
        padding: 0.1rem 0.5rem;
        right: 0.5rem !important;

        border-radius: calc(var(--border-radius) / 3);
        background-color: var(--_colour-brand---feature-colour);
        color: white;
        border: unset;

        flex-direction: column-reverse;
        display: flex;

        p,
        label {
          color: white;
        }

        p {
          font-weight: bold;
          font-size: var(--_font---size--tag--h4);
          line-height: var(--_font---height--tag--h6);
          padding: unset;
          margin: unset;
          display: flex;
          gap: 0.25rem;
          flex-direction: column;
        }
        label {
          font-size: var(--_font---size--tag--h6);
          line-height: var(--_font---height--tag--h6);
          text-align: right;
          right: unset;
          position: relative;
          text-decoration-color: unset;
        }
        p::before {
          font-size: var(--_font---size--xxxsmall);
          line-height: var(--_font---size--xxsmall);
          font-weight: normal;
          content: "Today's Best Deal";
        }
      }

      div.flx.wrp.gp-3.px-1.pt-1 {
        flex-flow: column-reverse;
        @media screen and (min-width: 700px) {
          flex-flow: row-reverse;
        }
        padding: unset;
        span {
          font-style: normal !important;
        }
      }
      div.flx.gp-2.clms-0.flx-grow {
        @media screen and (max-width: 699px) {
          flex-flow: column;
        }
      }
    }

    .search__result,
    .operator-display__entity,
    .choices__root {
      .button {
        margin: unset;
      }
      .button.green,
      a.modal-button {
        font-size: 0;
        border-radius: 200rem;
        padding: 0.25rem 0.25rem;
      }

      .button.green {
        background-color: var(--bright-blue);
        color: white;
        border: 0px;
        &::before {
          content: "Continue";
        }
      }

      .button.green,
      a.modal-button {
        &::before {
          font-size: var(--_font---size--xxsmall);
          line-height: var(--_font---height--xxsmall);
        }
      }
      a.modal-button {
        border: 1.5px solid var(--bright-blue);
        color: var(--bright-blue);
        background-color: white;
        &::before {
          content: "Vehicle info";
        }
      }
    }
    .operator-display__entity {
      .button.green {
        &::before {
          content: "Find a camper";
        }
      }
    }

    /* Operators */

    .operator-display {
      padding: unset;
      & > h1:after {
        content: "\'s Best Campervans";
        float: unset;
        background: unset;
        width: unset;
        height: unset;
        border-radius: unset;
      }
      .operator-display__entity {
        .flx.wrp.gp-3.px-1.pt-1 {
          padding: 0;
        }
      }
    }

    /* ───────────────────────────────────────────────────────────
     Booking process
    ─────────────────────────────────────────────────────────── */
    .book-progress {
      .stage {
        padding: 0.4rem 0.8rem;
        border-radius: 4px;
        font-weight: 700;
      }
      .stage__past {
        background: var(--_colour-brand---highlight-colour);
        color: var(--_colour-brand---highlight-colour-over);
      }
      .stage__present {
        background: var(--_colour-brand---feature-colour);
        color: var(--_colour-brand---feature-colour-over);
      }
      .stage__future {
        background: var(--_colour-brand---highlight-colour-over);
        color: var(--_colour-brand---highlight-colour);
        border: 2px solid var(--_colour-brand---highlight-colour);
        opacity: 1;
      }
      .stage__past a {
        color: var(--_colour-brand---highlight-colour-over) !important;
        text-decoration: none;
      }
    }

    .book-options__root {
      .text-italic {
        font-style: normal !important;
      }

      /* Next Step CTA label injection */
      button.book-options__submit {
        font-size: 0 !important;
        position: relative;
        height: 3rem;
        padding: 0 2rem !important;
        background-color: var(--_colour-brand---highlight-colour) !important;
        color: var(--_colour-brand---highlight-colour-over) !important;
        border: 1.5px solid var(--_colour-brand---highlight-colour);
        border-radius: 200px;
        transition:
          background 0.2s ease,
          transform 0.2s ease;
        width: 100%;
        max-width: unset;
      }
      button.book-options__submit::before {
        content: "Next step";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(calc(-50% - 1em), -50%);
        line-height: 1;
        font-size: 1.2rem;
      }

      --icon-next-step: var(--icon-stem-arrow-right);
      button.book-options__submit::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 50%;
        transform: translate(calc(50% + 2.5rem), -50%);
        display: inline-block;
        width: 1em;
        height: 1em;
        font-size: 1.25rem;
        background-color: currentColor;
        mask-image: var(--icon-next-step);
        mask-size: contain;
        mask-repeat: no-repeat;
        mask-position: center;
        -webkit-mask-image: var(--icon-next-step);
        -webkit-mask-size: contain;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: center;
      }

      button.book-options__submit:hover {
        background-color: var(--brand-white) !important;
        color: var(--_colour-brand---highlight-colour) !important;

        transform: translateY(-2px);
      }

      /* Terms Text – Smaller Font */
      p.TermsText {
        font-size: 0.5rem !important;
      }

      /* ─── Results card panel ─────────── */
      .insurances__container {
        padding: unset;
        .panel {
          padding: var(--_sizing-spacer-gap---padding--small);
          background: var(--brand-white);
          box-shadow: 0;
          border: 1.5px solid var(--_colour-brand---feature-colour);
          a.modal-button {
            text-align: left;
          }

          .table.mt-a td {
            border: unset;
            height: 1.6rem;
            font-size: 0.85rem;
          }
        }
        .insurances__option {
          .panel > p {
            line-height: var(--_font---height--xxsmall);
            font-size: var(--_font---size--xxsmall);
            margin-bottom: 0.5rem;
          }
          .modal-button.text-xs.text-nowrap.text-right {
            color: var(--_colour-brand---highlight-colour);
            font-size: 0;
            &::before {
              content: "Click for more info";
              line-height: var(--_font---height--xxsmall);
              font-size: var(--_font---size--xxsmall);
              font-weight: bold;
              text-decoration: underline;
            }
            .ico {
              font-size: 0 !important;
              display: inline-block;
              vertical-align: top;
              width: 1em;
              margin-top: 0.1rem;
              height: 1em;
              margin-left: 0.2rem;
              &::before {
                content: "";

                --icon-insurance: var(--icon-info);
                display: inline-block;
                width: 1em;
                height: 1em;
                background-color: currentColor;
                mask-image: var(--icon-insurance);
                mask-size: contain;
                mask-repeat: no-repeat;
                mask-position: center;
                mask-image: var(--icon-insurance);
                -webkit-mask-size: contain;
                -webkit-mask-repeat: no-repeat;
                -webkit-mask-position: center;
                font-size: 1rem;
              }
            }
          }
        }
        .insurances__option-name {
          font-weight: bold;
          margin-left: 0;
          display: inline-flex;
          justify-content: space-between;
          width: 100%;

          &::after {
            content: "Select";
            background: var(--color-0-darker);
            color: var(--_colour-brand---highlight-colour-over);
            font-weight: normal;
            padding: 0.75rem 0.75rem 0.5rem;
            line-height: 1em;
            border-radius: var(--input-radius);
          }
        }

        input:checked ~ .flx {
          .insurances__option-name {
            &::after {
              border: 1px solid var(--color-0-darker);
              background: white;
              color: var(--color-0-darker);
              content: "✓ Selected";
            }
          }
        }
        div.my-a {
          display: none;
        }
      }
      .input-msg-invalid {
        line-height: var(--_font---height--xxsmall);
        font-size: var(--_font---size--xxsmall);

        color: red;
        font-weight: bold;
        opacity: 1 !important;
        border: 1.5px solid red;
        text-align: center;
        padding: 0.25rem 0rem;
        border-radius: 0.5rem;
        animation: unset;
      }
      .insurances__root h2::after {
        content: " (Please choose)";
      }

      /* ─── Buttons ───────────── */
      a.modal-button.button {
        background: var(--brand-white) !important;
        color: var(--brand-blue) !important;
        border: 1px solid var(--brand-blue) !important;
        border-radius: 6px !important;
        padding: 0.6rem 1.2rem !important;
        font-weight: 600;
        transition:
          background 0.2s ease,
          color 0.2s ease,
          transform 0.2s ease,
          box-shadow 0.2s ease;
      }
      /* (We will override the hover for Vehicle Info later to keep colors) */
      a.modal-button.button:hover {
        background: var(--brand-blue) !important;
        color: var(--brand-white) !important;
      }
    }

    /* Booking flow details */
    .display-entity {
      padding: unset;
      border: unset;
    }
    .book-options__root {
      h2.mt-0 {
        font-size: var(--_font---size--tag--h4);
        line-height: var(--_font---height--tag--h4);
      }
      h2,
      p.text-bolder.color__1-darker {
        color: var(--brand-blue) !important;
        font-weight: bold;
        font-size: var(--_font---size--tag--h6);
        line-height: var(--_font---height--tag--h6);
      }

      .book-options__balance-pay {
        color: var(--_colour-brand---feature-colour) !important;
      }
      .book-options__column-trip-info {
        gap: 1rem;
      }
      .price-table .table thead tr th {
        font-size: var(--_font---size--small);
      }
      .price-table .table tbody tr td {
        font-size: var(--_font---size--xxsmall);
        line-height: var(--_font---height--xxsmall);
      }
      .book-options__column-price-table > .panel {
        width: 100%;
      }

      .panel {
        padding: unset;
        border: 0px;
        box-shadow: unset;
      }
      .book-options__balance-container {
        .text-bolder {
          font-size:;
        }
      }
      .offering-detail {
        h3.my-1 {
          margin-top: unset;
          margin-bottom: 0;
        }
      }
      .discount-code__root {
        display: none;
      }
      .optionals__row {
        border-bottom: 4px solid transparent;
        .input.checkbox .box,
        .input.checkbox .dot,
        .input.radio .box,
        .input.radio .dot {
          border-color: var(--_colour-brand---hightlight-colour);
        }
      }
    }
    .pick-up-drop-off__root,
    .optionals__root,
    .insurances__root,
    .book-options__balance-container {
      .ico {
        font-size: 1rem;
      }
      margin-top: 1.5rem;
    }
    .pick-up-drop-off__root {
      h3.m-0 {
        font-weight: bold;
      }
    }
    .input.checkbox .box > .tick,
    .input.radio .box > .tick {
      color: var(--_colour-brand---feature-colour);
    }
    .selectize-input.items.full.has-options.has-items,
    .selectize-input.items.not-full {
      border-radius: var(--input-radius);
      border: 1.5px solid var(--_colour-brand---feature-colour);
      background-color: white;
    }
    .customer-info__panel,
    button.book-options__submit {
      max-width: 30rem !important;
    }
    .customer-info__panel {
      border-radius: var(--border-radius);
      padding: 1rem !important;
      gap: 0.5rem;
      background-color: var(--_colour-brand---feature-colour);
      margin-bottom: 0px;

      .payment-methods {
        padding-top: 0px;
        text-align: center;
        div {
          display: none;
        }
        &::after {
          content: "Email My Quote or Book Now";
          font-weight: bold;
          font-size: var(--_font---size--medium);
          line-height: var(--_font---height--medium);
        }
      }
      label {
        color: var(--_colour-brand---feature-colour-over);
        font-weight: bold;
        font-size: var(--_font---tag--h6);
        line-height: var(--_font---tag--h6);

        margin: 0;
        margin-bottom: 0.5rem;
      }
      input {
        background-color: white;
        border-radius: var(--input-radius);
      }
      .input {
        width: 100%;
        &.integer {
          display: flex;
          align-items: center;
          gap: 1rem;
          font-size: 1rem;
          label {
            position: relative;
            margin-bottom: unset;
            top: 0;
            padding-left: 0;
            .svc.flx.flx-grow {
              flex-grow: unset;
            }
            .svc.flx-center {
              justify-content: unset;
            }
          }
        }
        .iti__tel-input::placeholder {
          opacity: 0;
        }
      }
      .increment,
      .decrement {
        font-size: 1.6rem;
      }
      .increment {
        margin-left: 0.25rem;
      }
      .decrement {
        margin-right: 0.25rem;
      }
    }
    .decrement,
    .increment {
      border-radius: var(--input-radius);
      border: 1.5px solid var(--_colour-brand---highlight-colour) !important;
      color: var(--_colour-brand---highlight-colour) !important;
      background-color: white !important;
    }
    .book-payment {
      .price-table {
        th {
          font-weight: bold;
          color: var(--_colour-brand---highlight-colour);
        }
      }
      .p-Input input {
        border: 1px solid var(--_colour-brand---highlight-colour);
      }
      .panel {
        border: 1.5px solid var(--brand-orange);
        padding: 1.25rem 1.5rem 1.5rem;
      }
      h2 {
        font-weight: bold;
        color: var(--_colour-brand---highlight-colour);
      }
    }
    /* Insurance details modal */
    .modal__container.modal__l {
      .display-entity {
        div.mt-1 {
          overflow-x: auto;
        }
        p.ce-paragraph.cdx-block {
          max-width: 90vw;
        }
      }
    }

    /* ───────────────────────────────────────────────────────────
     Quote page
    ─────────────────────────────────────────────────────────── */
    .trip-detail {
      max-width: unset;
      border: 1.5px solid var(--orange);
      border-radius: var(--border-radius);
      padding: var(--_sizing-spacer-gap---padding--xxsmall) var(--_sizing-spacer-gap---padding--small);

      h1.my-a {
        font-size: var(--_font---size--large);
        line-height: var(--_font---height--large);
      }

      .flx.flx-between.wrp.gp-2-0 {
        p:first-child,
        h3 {
          font-size: var(--_font---size--xxsmall);
          line-height: var(--_font---height--xxsmall);
          font-weight: bold;
          color: var(--_colour-brand---highlight-colour);
        }
      }

      @media screen and (min-width: 699px) {
        .flx-between p:last-child {
          text-align: left;
        }
        .flx.clm.gp-3.mb-1 {
          flex-direction: row;
        }

        .flx.flx-between.wrp.gp-2-0 {
          flex-direction: column;
        }
        div.flx.clm.gp-1 {
          .flx.flx-between.wrp.gp-2-0 {
            p:first-child {
              display: none;
            }
          }
        }
        .flx.wrp.clms-2.re-sm.gp-3 {
          width: 50%;
        }
      }
    }

    .book-payment {
      .trip-detail.select-none {
        border: unset;
        border-radius: unset;
        padding: unset;
      }
      > div:first-of-type::after {
        padding-top: 1rem;
        display: block;
        padding-bottom: 0.5rem;
        content: "Pay Deposit to Confirm Booking";
        font-size: var(--_font---size--tag--h4);
        line-height: var(--_font---height--tag--h4);
        color: var(--_colour-brand---highlight-colour);
        font-weight: bold;
      }
    }

    #notifications-container {
      bottom: 0.5rem;
      top: unset;
      right: 1rem;
      left: 1rem;
      text-align: center;
      .notification.warn {
        div.flx {
          display: unset;
        }
        background-color: red;
        border: 2px solid red;
        box-shadow: unset;
        color: white;
        max-width: 450px;
        margin-left: auto;
        margin-right: auto;
      }

      .notification {
        padding: 1rem 2rem;
        margin-bottom: 1rem;
        border-radius: calc(var(--border-radius) * 0.5);
      }
    }
  }
}
