: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>');
  --icon-pin: 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="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg>');

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

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

    input,
    textarea,
    button,
    .selectize-input > input,
    .selectize-control.single .selectize-input > div,
    .date-input-container .display-fr,
    .selectize-dropdown-content,
    [data-value="change-group"] {
      font-family: unset;
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--color-1-darker);
    }
    .selectize-dropdown-content {
      font-weight: normal;
      [data-value="change-group"] {
        font-style: normal !important;
        &::before {
          content: "<-";
          margin-right: 0.5rem;
          margin-left: -1.25rem;
        }
      }
    }
    input {
      width: 100%;
    }
    .input.select.with-icon > .ico {
      font-size: 1em;
    }

    .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;
    }

    @media screen and (max-width: 700px) {
      .search-form.design-slim .driver-info {
        gap: 1.5rem;
      }
    }

    .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;
      font-weight: bold;
    }

    .input-to,
    .input-from {
      .ico {
        display: none !important;
      }

      .selectize-control {
        & > .selectize-input {
          padding-left: 0.5rem !important;
        }

        .selectize-input::before {
          font-size: 0.8rem;
          content: " ";
          display: inline-block;
          width: var(--icon-width);
          height: calc(var(--icon_element-height) + 2px);
          background-color: var(--icon-colour-default);
          mask-image: var(--icon-pin);
          mask-size: contain;
          mask-repeat: no-repeat;
          margin-right: 0.5em;
        }
      }
    }

    .input-to {
      .optgroup {
        display: none;
      }
    }

    .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;
      @media screen and (max-width: 700px) {
        padding-bottom: 0.75rem;
        padding-top: 0.25rem;
      }
      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;
        font-weight: 500;
      }
      .selectize-control.single .selectize-input.input-active {
        border-top-right-radius: var(--input-radius);
        border-top-left-radius: var(--input-radius);
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
      }
      .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="77"] {
          order: 2;
        }

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

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

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

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

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

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

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

        .selectize-dropdown-content > div[data-value="236"] {
          order: 10;
          border-bottom: 1px solid black;
        }
      }
    }

    /*
      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: 1.5rem;
        }
        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 {
            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: 8rem;
      }
      .search__info-table {
        tr > th > p {
          font-style: normal;
        }

        tr > td > p {
          font-weight: bold;
        }
      }
      .search__result-displaced > div:first-child .pill {
        box-shadow: unset !important;
        background-color: unset !important;
      }
    }

    .availability-filter-container {
      margin-top: 8px;
      background-color: unset !important;
      border: 1px solid var(--_colour-brand---feature-colour) !important;
    }
    .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;
          }
        }
      }
    }

    /* Dark button */
    .insurances__option-name {
      &::after {
        content: "Select";
      }
    }

    .insurances__option-name,
    .discount-code__root button.w-100.m-0 {
      font-weight: bold;
      margin-left: 0;
      display: inline-flex;
      justify-content: space-between;
      width: 100%;
    }

    .discount-code__root button.w-100.m-0 {
      justify-content: center;
    }

    .insurances__option-name::after,
    .discount-code__root button.w-100.m-0 {
      background: var(--color-0-darker);
      color: var(--_colour-brand---highlight-colour-over);
      font-weight: normal;
      padding: 0.5rem 0.75rem;
      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";
        }
      }
    }

    /* Orange input*/
    .selectize-input.items.full.has-options.has-items,
    .selectize-input.items.not-full,
    .discount-code__root .input.text input {
      border-radius: var(--input-radius);
      border: 1.5px solid var(--_colour-brand---feature-colour);
      background-color: white;
    }

    /* 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: "Check prices";
        }
      }
    }

    /* 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
    ─────────────────────────────────────────────────────────── */
    .progress-bar.flx {
      max-width: unset;
      .flx.justify-center.w-100 {
        border-bottom: unset;
        background-color: unset;

        .stage {
          padding-left: unset !important;
          padding-right: unset !important;
        }

        .stage__past,
        .stage__present,
        .stage__future {
          padding: 0.4rem 0.8rem;
          border-radius: 0px;
          font-weight: 700;
          background: unset;
          color: var(--_colour-brand---highlight-colour);
          border-bottom: unset;
          border-right: unset;
        }
        .stage__future {
          opacity: 1;
          color: var(--_colour-primitive---neutral--darker);
          &:before {
            color: var(--_colour-primitive---neutral--darker);
            border: 2px solid var(--_colour-primitive---neutral--darker);
          }
        }
        .stage__past::before,
        .stage__present::before {
          border: 2px solid var(--_colour-brand---highlight-colour);
        }
        .stage__past a {
          text-decoration: none;
        }

        > div.stage:nth-of-type(2)::before,
        > div.stage:nth-of-type(3)::before,
        > div.stage:nth-of-type(4)::before {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          width: 20px;
          height: 20px;
          border-radius: 50%;
          font-size: 12px;
          line-height: 1;
          margin-right: 8px;
        }

        > div.stage:nth-of-type(2),
        > div.stage:nth-of-type(3),
        > div.stage:nth-of-type(4) {
          font-size: 0;
          &::before,
          &::after {
            font-size: 0.9rem;
          }
        }

        > div.stage:nth-of-type(2) {
          text-align: left;
          &::before {
            content: "1";
          }
          &::after {
            content: "Confirm";
          }
        }

        > div.stage:nth-of-type(3) {
          &::before {
            content: "2";
          }
          &::after {
            content: "Pay";
          }
        }

        > div.stage:nth-of-type(4) {
          text-align: right;
          &::before {
            content: "3";
          }
          &::after {
            content: "Complete";
          }
        }

        div:first-of-type.stage {
          margin-top: -2.2rem;
          position: absolute;
          background-color: unset;
          border-bottom: unset;
          padding-left: 0;
          &:before {
            content: unset;
          }
          a {
            color: transparent !important;
            padding-left: 0;
            padding: 0.5rem;
            font-size: 0.9rem;
            padding-left: 0;
            &:before {
              content: "<- Back to results";
              color: var(--_colour-brand---highlight-colour) !important;
            }
          }
        }
      }
    }

    .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;
              }
            }
          }
        }
        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 0.25rem;
        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;
      .flx.clm .button.green {
        font-size: 0;
        margin-top: 0.5rem;
        &::after {
          content: "Continue";
          font-weight: 600;
          font-size: 1.2rem;
        }
      }
    }

    .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;
        div a[type="button"].modal-button {
          line-height: var(--_font---height--xxsmall);
          font-size: var(--_font---size--xxsmall);
          text-decoration: underline;

          display: inline-block;
          vertical-align: top;
          width: 1em;

          height: 1em;

          &::after {
            content: "";

            margin-left: 0.2rem;
            --icon-insurance: var(--icon-info);
            display: inline-block;
            width: 0.8em;
            height: 0.8em;
            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;
          }
        }
        .book-options__availability.tooltip {
          z-index: unset;
          position: unset;
          display: unset;
          color: unset;
          background-color: unset;
          max-width: unset;
          border: 0px !important;
          padding: unset;
        }
      }
      .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 {
        }
      }
      .offering-detail {
        h3.my-1 {
          margin-top: unset;
          margin-bottom: 0;
        }
      }
      .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);
        }
      }

      div.book-options__column-trip-info {
      }
    }
    .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);
    }
    .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;*/
        }
      }
      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 {
      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: 50%;
      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);
      }
    }
  }

  /* FAQ accordion (CSS only) */
  .faq {
    max-width: 860px;
    margin: 0 auto;
  }
  .faq-item {
    border-bottom: 1px solid var(--_colour-brand---highlight-colour);
  }
  .faq-toggle {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }
  .faq-question {
    display: block;
    cursor: pointer;
    font-weight: 700;
    padding: 1rem 2rem 1rem 0;
    position: relative;
  }
  .faq-question::after {
    content: "+";
    color: var(--_colour-brand---highlight-colour);
    position: absolute;
    right: 0;
    top: 1rem;
  }
  .faq-toggle:checked + .faq-question::after {
    content: "-";
  }
  .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease;
  }
  .faq-answer p {
    margin: 0 0 1rem;
  }
  .faq-toggle:checked + .faq-question + .faq-answer {
    max-height: 400px;
  }
}
.discount-code__root p {
  display: none;
}

th.next.available {
  height: 2rem !important;
}
@media screen and (min-width: 640px) {
  .daterangepicker.ltr.auto-apply.show-calendar.opensleft.show-header.show-container {
    h3 {
      display: none;
    }
  }
}
.search__results-detail.select-none.flx.flx-between.flx-items-center {
  display: none;
}

@media screen and (max-width: 1190px) {
  .search__filter.flx.row.flx-around.gp-2 {
    justify-content: space-evenly;
    img {
      width: 50px;
      height: 30px;
      object-fit: scale-down;
    }
  }

  .svc .input.checkbox.has-image > .flx {
    width: 75px;
    height: 100%;
    p {
      font-size: 14px;
    }
  }

  .svc .input.checkbox.has-image {
    min-width: unset;
  }
}

.svc .input.checkbox.has-image > .flx {
  height: 100%;
  p {
    font-size: 14px;
  }
}
@media screen and (min-width: 1400px) {
  .search__filter.flx.row.flx-around.gp-2 {
    justify-content: space-evenly;
    img {
      width: 140px;
      height: 80px;
      object-fit: scale-down;
    }
  }

  .svc .input.checkbox.has-image > .flx {
    width: 200px;
    height: 100%;
    p {
      font-size: 16px;
    }
  }

  .svc .input.checkbox.has-image {
    min-width: unset;
  }
}
.svc .input.checkbox.has-image > .flx {
  background-color: unset;
  border: 1px solid var(--brand-orange);
}

.svc .input.checkbox .box,
.svc .input.radio .box {
  margin: auto 0.6rem auto 0.1rem;
  border-color: black;
}
.svc .search__filters-modal .modal__container > .modal__content > div {
  padding: 2rem 2rem 0 1rem;
}

.search__filter.flx.clm.gp-2 {
  gap: 0.4rem;
}
.search__main.flx.clms-0.gp-3 {
  gap: 2rem !important;
}
.irs-handle.from i,
.irs-handle.to i {
  background-color: var(--color-0) !important;
}
.svc .irs--flat .irs-bar {
  background-color: var(--color-0-lightest);
}
.svc .irs--flat .irs-from,
.svc .irs--flat .irs-to,
.svc .irs--flat .irs-single {
  background-color: var(--color-0-lightest);
  color: var(--color-2);
}
.svc .irs--flat .irs-from:before,
.svc .irs--flat .irs-to:before,
.svc .irs--flat .irs-single:before {
  border-top-color: var(--color-0);
}
.search__header-buttons .search__button-filters {
  color: var(--_colour-brand---highlight-colour);
  background-color: unset;
  padding: 0.5rem;
  border-radius: 200rem;
  border: 1.5px solid var(--_colour-brand---highlight-colour);
  font-weight: bold !important;
}
.svc .input.checkbox.has-image input:disabled ~ .flx .checkbox__label {
  color: gray;
}
.search__filters-apply.filter-static button {
  color: white;
  background-color: var(--_colour-brand---highlight-colour);
  padding: 0.5rem;
  border-radius: 200rem;
  border: 1.5px solid var(--_colour-brand---highlight-colour);
  font-weight: bold !important;
}
label.input.checkbox:has(input[disabled]) {
  display: none;
}
.search__filters-container .flx.clm.gp-2 > div:first-child {
  display: none;
}
.availability-filter-container .flx.clm.gp-2,
.availability-filter-container .search__filter.flx.clm.gp-2 {
  display: block !important;
}
.panel.panel__sm {
  max-width: unset;
  border: 1.5px solid var(--orange) !important;
  border-radius: var(--border-radius) !important;
  padding: var(--_sizing-spacer-gap---padding--xxsmall) var(--_sizing-spacer-gap---padding--small) !important;
}

@media screen and (min-width: 1000px) {
  .book-options__column-price-table.dynamic-dimensions {
    margin-top: 7.8%;
  }
}
.book-options__balance-container.panel.panel__color-1.select-none {
  max-width: unset;
  border: 1.5px solid var(--orange) !important;
  border-radius: var(--border-radius) !important;
  padding: var(--_sizing-spacer-gap---padding--xxsmall) var(--_sizing-spacer-gap---padding--small) !important;
}
.book-options__column-trip-info .entity-detail__tags.rw {
  width: 100vw;
}
@media screen and (min-width: 700px) {
  .book-banner {
    padding-bottom: 24px !important;
  }
}