.package-details {
  margin-bottom: 15px;
  .service-icon-text {
    display: inline-block;
    vertical-align: middle;
    line-height: 18px;
    @media (min-width: $grid-float-breakpoint) {
      & + .service-icon-text {
        margin-left: 15px;
      }
    }
  }
  .service-text {
    font-size: $font-size-base;
    line-height: 18px;
    text-align: left;
    color: $brand-grey-dark;
    display: block;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    vertical-align: middle;
    .hotel-stars {
      margin-left: 5px;
    }
  }
  .service-icon-direction {
    display: inline-block;
    width: 18px;
    height: 18px;
    vertical-align: middle;
    text-align: center;
    margin: 0 8px;
    position: relative;
  }
  .icon-direction {
    display: inline-block;
    height: 18px;
    width: 18px;
    vertical-align: top;
    margin-top: 0;
    &, & * {
      fill: $brand-brown-medium;
    }
    [dir="rtl"] & {
      transform: rotateY(180deg);
      transform-origin: center center;
    }
  }
  .number-destinations {
    background: $interactive-color;
    border-radius: 50%;
    display: block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    position: absolute;
    left: -15px;
    top: -6px;
    font-size: 12px;
    text-align: center;
    color: #fff;
  }
  .package-details-dates {
    display: inline-block;
    vertical-align: middle;
    font-weight: $roboto-light;
  }
  .traveller-service {
    display: inline-block;
    vertical-align: middle;
    line-height: 18px;
    .service-text {
      display: block;
      font-size: $font-size-base;
      line-height: 18px;
      font-weight: $roboto-light;
    }
  }
}
.package-details-title {
  &:after {
    content:'';
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 0;
    border-bottom: 1px dashed $colorBordes;
  }
  &.collapsed {
    &:after {
      border-bottom: 0;
    }
  }
  @media (max-width: $grid-float-breakpoint-max) {
    padding: 14px 50px 14px 15px;
  }
  .main-info,.additional-info {
    padding: 0;
    font-size: 0;
    @media (min-width: $grid-float-breakpoint) {
      &:not(.multiservice-info) {
        display: inline-block;
      }
    }
  }
  .main-info:not(.multiservice-info){
    @media (max-width: $grid-float-breakpoint-max) {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      width: 100%;
      .service-transport {
        flex: 0 1 auto;
        overflow: hidden;
      }
    }
  }
  .additional-info {
    padding: 10px 0 0 0;
    @media (min-width: $grid-float-breakpoint) {
      padding: 0 0 0 15px;
    }
  }
  .multiservice-info + .additional-info {
    @media (min-width: $grid-float-breakpoint) {
      display: block;
      padding: 10px 0 0 0;
    }
  }

  .service-hotel, .service-travel, .service-car {
    @media (max-width: $grid-float-breakpoint-max) {
      display: block;
      max-width: 100%;
    }
  }
  .service-icon {
    width: 18px;
    height: 18px;
    vertical-align: middle;
    float:left;
    &, & * {
      fill: $brand-primary;
    }
    [dir='rtl'] & {
      transform: rotateY(180deg);
      transform-origin: center center;
    }
  }
  .service-icon + .service-text {
    margin-left: 28px;
  }
  .service-transport {
    @media (min-width: $grid-float-breakpoint) {
      max-width: 200px;
    }
  }
  .service-hotel, .service-travel, .service-car {
    @media (min-width: $grid-float-breakpoint) {
      max-width: 414px;
    }
  }
  .twoservices-info {
    .service-transport {
      @media (min-width: $grid-float-breakpoint) {
        max-width: 186px;
      }
    }
  }
  .multiservice-info {
    display: block;
    width: 100%;
    @media (min-width: $grid-float-breakpoint) {
      align-items: center;
      display: flex;
      flex-wrap: nowrap;
      justify-content: flex-start;
    }
    .service-transport {
      flex: 0 1 auto;
      overflow: hidden;
      text-overflow: ellipsis;
      @media (max-width: $grid-float-breakpoint-max) {
        display: inline-block;
        min-width: 0;
        max-width: 43%;
      }
    }
    .service-icon-direction {
      @media (min-width: $grid-float-breakpoint) {
        flex: 0 0 auto;
      }
    }
    .service-hotel, .service-travel, .service-car {
      flex: 0 1 auto;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      @media (max-width: $grid-float-breakpoint-max) {
        display: block;
        margin-top: 10px;
      }
    }
  }
  .package-details-dates + .traveller-service {
    margin-left: 15px;
  }
  .multiservice-info + .additional-info .package-details-dates + .traveller-service {
    @media (max-width: $grid-float-breakpoint-max) {
      margin-left: 0;
      display: block;
      padding-top: 10px;
    }
  }
}
.package-details-content {
}
.details-content-scroll {
  padding: 0;
}
.details-section {
  background: $brand-primary-light;
  color: $brand-grey-dark;
  padding: 5px 15px;
  .details-transport + & {
    margin-top: 15px;
  }
  .service-icon {
    width: 16px;
    height: 16px;
    vertical-align: middle;
    &, & * {
      fill: $brand-copy-light;
    }
    [dir="rtl"] & {
      transform: rotateY(180deg);
      transform-origin: center center;
    }
  }
  .section-text {
    margin-left: 10px;
    text-transform: uppercase;
    vertical-align: middle;
  }
}
.package-details-change {
  padding: 10px 15px;
  text-align: right;
  border-top: 1px dashed $colorBordes;
  .btn-link {
    text-transform: none;
    font-size: 16px;
    padding: 0;
    border: 0;
  }
}
.package-details-important-info {
  padding: 15px 15px 0;
  text-align: left;
  .package-details-change + &,.details-hotel + &, .details-transport + &, .details-travel + &, .details-cars + &  {
    border-top: 1px solid $colorBordes;
  }
  .important-info-title {
    font-size: $font-size-large;
    @include medium-weight;
    margin-bottom: 5px;
    span {
      color:$brand-copy-light;
      font-weight: $roboto-light;
      text-transform: none;
    }
  }
  .important-info-subtitle {
    font-size: $font-size-base;
    @include medium-weight;
    margin-bottom: 2px;
  }
  .important-info-text {
    font-weight: $roboto-light;
    margin-bottom: 12px;
    &:empty {
      margin-bottom: 0;
    }
  }
  .conditions-info {
    .collapse-info-title {
      &, &:hover, &:focus {
        color: $brand-grey-dark;
        &:after {
          background-image: url('/headers/ilusion/'+ $assets-folder +'/dist/svg/icon-ownfill-ui-chevron-up-74716e.svg');
        }
      }
      &.collapsed {
        &:after {
          background-image: url('/headers/ilusion/'+ $assets-folder +'/dist/svg/icon-ownfill-ui-chevron-down-74716e.svg');
        }
      }
    }
  }
  .info-view-more {
    text-transform: none;
    font-size: $font-size-base;
    @include medium-weight;
    padding: 0;
    border: 0;
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .bullet-list {
    list-style-type: disc;
    padding-left: 20px;
    margin-bottom: 0;
    li + li {
      margin-top: 10px;
    }
  }
}

/* Detalle Transportes */
.transport-description {
  padding: 10px 15px;
  font-size: $font-size-large;
}
.inactive-timetable {
  padding-top: 10px;
  border-top: 1px solid $colorBordes;
  .alert {
    margin-left: 15px;
    margin-right: 15px;
  }
  .transport-timetable-title {
    opacity: 0.3;
  }
  .transport-timetable {
    opacity: 0.3;
  }
}

/* Detalle hotel y comunes hotel, viaje y coche */
.product-details-common-mod {
  overflow: hidden;
  position: relative;
  @media (min-width: $grid-float-breakpoint) {
    display: flex;
    flex-direction: row;
    align-items: stretch;
  }
  .product-image-data {
    overflow: hidden;
    @media (min-width: $grid-float-breakpoint) {
      flex: 0 0 55%;
      border-right: 1px dashed $colorBordes;
    }
    .product-image {
      float: left;
    }
    .data-name {
      font-size: 16px;
      color: $brand-grey-dark;
      &, & strong {
        @include medium-weight;
      }
    }
    .data-location, .data-time, .data-room {
      color: $brand-grey-dark;
    }
    .data-room {
      .room_name, .room_separation, .room_occupation {
        display: inline-block;
      }
    }
  }
  .product-dates-comments {
    border-top: 1px dashed $colorBordes;
    display: flex;
    flex-direction: column;
    @media (min-width: $grid-float-breakpoint) {
      border: 0;
      flex: 0 0 45%;
    }
  }
  .product-dates {
    position: relative;
    width: 100%;
    @media (min-width: $grid-float-breakpoint) {
      flex: 1 0 auto;
      display: flex;
    }
    .dates-table {
      display: flex;
      flex: 1;
    }
    .dates-date {
      flex: 0 1 50%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      text-align: center;
      line-height: 1.5;
      align-items: center;
      padding: 3px 0;
      &:first-child {
        border-right: 1px dashed $colorBordes;
      }
      div {
        font-size: $font-size-base;
      }
      .date-type {
        font-size: $font-size-base;
        color: $brand-copy-light;
        text-transform: uppercase;
      }
    }
  }
  .product-comments {
    width: 100%;
    border-top: 1px dashed $colorBordes;
    padding: 15px 8px;
    color: $brand-copy-light;
    @media (min-width: $grid-float-breakpoint) {
      flex: 1 0 auto;
      display: flex;
      justify-content: center;
      flex-direction: column;
    }
  }
  .cancellation-table {
  }
}
.cancellation-container {
  .icon-moreinfo-cancellation {
    display: inline-block;
    cursor: pointer;
    position: relative;
    .icon {
      width: 18px;
      height: 18px;
      vertical-align: middle;
      &, & * {
        fill: $brand-copy-light;
      }
    }
  }
}
.product-comments {
  &.full-cost {
    background: $brand-green-light;
  }
  p {
    color: $brand-copy-light;
    margin-bottom: 0;
  }
  .comments-ko {
    color: $brand-red;
    .icon-moreinfo-cancellation {
      .icon {
        &, & * {
          fill: $brand-red;
        }
      }
    }
  }
  .comments-ok {
    color:$brand-green;
    .icon-moreinfo-cancellation {
      .icon {
        &, & * {
          fill: $brand-green;
        }
      }
    }
  }
  .comments-ko, .comments-ok {
    strong {
      font-size: $font-size-base;
    }
  }
}
.product-pack {
  border-top: 1px dashed $colorBordes;
  padding: 10px 15px;
  .pack-icon {
    width: 16px;
    height: 16px;
    vertical-align: middle;
    float:left;
    &, & * {
      fill: $brand-brown-medium;
    }
  }
  .pack-text {
    margin-bottom: 10px;
    p {
      margin-bottom: 0;
      &.pack-title {
        text-transform: uppercase;
        color: $brand-copy-light;
        margin-bottom: 10px;
      }
    }
    ul {
      list-style-type: disc;
      padding-left: 20px;
      margin-bottom: 0;
      &.package-includes-items {
        column-count: 2;
        column-width: 320px;
        column-gap: 50px;
      }
      &.package-includes-items, &.package-extra-items {
        &, & ul {
          list-style-type: none;
          padding-left: 0;
          .icon {
            width: 18px;
            height: 18px;
            &, & * {
              fill: $brand-brown-medium;
            }
          }
        }
        > li {
          display: block;
          overflow: hidden;
          margin-bottom: 12px;
        }
        .icon-container {
          display: inline-block;
          float: left;
          margin-right: 16px;
        }
        ul {
          display: block;
          margin-left: 34px;
        }
      }
      &.package-extra-items {
        ul li {
          margin-bottom: 5px;
        }
      }
    }
  }
}

/* Detalle excepciones especificas de hotel */
.product-image.no-product-image {
  background-image: url(/headers/img/hotel_rooms/generic-250x186.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}
.details-hotel {
  .product-details-common-mod {
    .product-image-data {
      .product-image {
        width:100px;
        height: auto;
        &.no-product-image {
          height: 100px;
          .icon-anyfill-ui-photo {
            width: 50px;
            height: 50px;
            margin: 25px auto 0;
            display: block;
            &, & * {
              fill: #74716e;
            }
          }
        }
        & + .product-data {
          margin-left: 105px;
        }
      }
      .product-data {
        padding: 5px;
      }
    }
  }
}
.product-forfait {
  .icon {
    width: 18px;
    height: 18px;
    vertical-align: middle;
    float: left;
    margin-top: 3px;
    &, & * {
      fill: $brand-primary;
    }
  }
  .forfait-data {
    margin-left: 24px;
    .forfait-name {
      display: inline;
    }
    .forfait-date {
      display: inline-block;
      font-weight: $roboto-light;
    }
  }
}
.product-extra {

  .icon {
    width: 18px;
    height: 18px;
    vertical-align: middle;
    float: left;
    margin-top: 1px;
    &, & * {
      fill: $brand-primary;
    }
  }

  &--cashback {
    .icon {
      &, & * {
        fill: $brand-green;
      }
    }
  }

  .extra-data {
    margin-left: 24px;
    .extra-name {
      display: inline;
    }
    .extra-date {
      display: inline-block;
      font-weight: $roboto-light;
    }
  }
}


/* Detalle excepciones especificas de viajes */
.details-travel {
  .product-details-common-mod {
    .product-image-data {
      display: flex;
      align-items: stretch;
      .product-image {
        flex: 0 0 auto;
        width:100px;
        height: 100px;
        overflow:hidden;
        position: relative;
        img {
          position: absolute;
          top: 0;
          left: 50%;
          width: auto;
          height: 100%;
          transform: translate(-50%, 0);
        }
      }
      .product-data {
        padding: 8px 10px 0;
        display: flex;
        justify-content: flex-start;
        flex-direction: column;
        flex: 1 1 100%;
        .data-content {
        }
      }
      .data-name {
        line-height: 1.4;
        margin-bottom: 5px;
      }
      .data-origin {
        line-height: 1.4;
      }
      .data-mainproduct, .data-room {
        display: inline;
      }
    }
  }
}
.details-travel.details-circuit {
  .product-image-data {
    @media (min-width: $grid-float-breakpoint) {
      flex: 1 0 100%;
      border-right: 0;
    }
  }
}
/* Detalle excepciones especificas de coches */
.details-cars {
  .product-details-common-mod {
    &:after {
      @media (min-width: $grid-float-breakpoint) {
        left: 34%;
      }
    }
    .product-image-data {
      text-align: center;
      padding: 10px 15px;
      @media (min-width: $grid-float-breakpoint) {
        flex: 0 0 34%;
      }
      .product-image {
        height: auto;
        float: none;
        margin: 0 auto;
        display: block;
        position: relative;
        .product-big-image {
          width:80px;
          height: auto;
        }
        .product-vendor {
          position: absolute;
          top: 0;
          left: 0;
        }
        span.product-vendor {
          display: inline-block;
          background: #fff;
          border: 1px solid $brand-grey-dark;
          color: $brand-grey-dark;
          font-size: 12px;
          font-weight: $roboto-regular;
          padding: 0 5px;
        }
      }
      .product-data {
        margin-left: 0;
        text-align: center;
      }
      .data-name {
        margin-bottom: 10px;
        text-align: left;
      }
    }
    .product-dates-comments {
      @media (max-width: $grid-float-breakpoint-max) {
        border-top: 0;
      }
      @media (min-width: $grid-float-breakpoint) {
        flex: 0 0 66%;
      }
    }
    .dates-table {
      @media (max-width: $grid-float-breakpoint-max) {
        flex-wrap: wrap;
      }
    }
    .dates-date {
      padding: 10px 15px;
      min-height: 112px;
      text-align: left;
      align-items: flex-start;
      justify-content: flex-start;
      color: $brand-grey-dark;
      @media (max-width: $grid-float-breakpoint-max) {
        display: block;
        width: 100%;
        flex:  0 0 100%;
        min-height: 0;
        padding-top: 0;
        &:first-child {
          border-right: 0;
        }
      }
      .date-block {
        width: 100%;
      }
    }
    .product-dates {
      .date-numbers {
        strong {
          span.date-hour {
            margin-left:10px;
            font-size: $font-size-large;
            @include medium-weight;
          }
        }
      }
      .date-station {
        margin-top: 10px;
        font-weight: $roboto-light;
        width: 100%;
      }
    }
  }
}
.precompute-hide {
  visibility: hidden;
}
.details-hotel, .package-cancellation {
  .product-comments {
    &.flexible, &.flexible-full-cost {
      background: $brand-green-light;
    }
  }
}


/* package details v2 */

.lateral-col {
  margin-bottom: 15px;
}
.package-cancellation {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: inherit;
  border: 0;
  .product-comments {
    padding: 15px 10px;
  }
}
.package-details-v2 {
  border: 0;
  background: #fff;
  border-radius: 6px;
  box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.12);
  overflow: hidden;
  .package-container & {
    @media (min-width: $grid-float-breakpoint) {
      border: 0;
    }
  }
  .hurryup-message {
    background: $brand-red;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    margin-bottom: 0;
    padding: 3px 5px;
    .icon {
      display: none;
    }
    .hurryup-text {
      display: block;
      text-align: center;
      color: #fff;
      font-size: $font-size-base;
      @include medium-weight;
    }
  }
  .package-details-title {
    padding: 15px;
    background: #fff;
    border: 0;
    border-top: 1px solid $colorBordes;
    @media (min-width: $grid-float-breakpoint) {
      border-left: 1px solid $colorBordes;
      border-right: 1px solid $colorBordes;
    }
    &:after {
      display: none;
    }
    .main-info + .main-info {
      margin-top: 3px;
    }
    .service-icon-container {
      float: left;
      width: 30px;
      height: 30px;
      text-align: center;
      border-radius: 50%;
      background: $brand-primary-light;
      padding: 0;
      margin-right: 10px;
      margin-bottom: 10px;
      .service-icon {
        width: 16px;
        height: 30px;
        float: none;
        &, & * {
          fill: $brand-primary;
        }
        &.icon-anyfill-prod-flighthotel, &.icon-anyfill-prod-trainhotel {
          width: 22px;
        }
      }
    }
    .service-hotel {
      @media (min-width: $grid-float-breakpoint) {
        max-width: none;
      }
    }
    .service-hotel + .icon {
      margin-left: 5px;
      vertical-align: middle;
      flex: 0 0 auto;
    }
    .multiservice-main-info {
      .service-icon-container {
        margin-bottom: 30px;
      }
      & + .additional-info {
        margin-top: 3px;
      }
    }
    .details-product {
      clear: both;
      margin-top: 10px;
      margin-left: -15px;
      margin-right: -15px;
      margin-bottom: -15px;
      border-left: 0;
      border-right: 0;
    }
  }
  .package-details-title, .details-product {
    .main-info {
      display: flex;
      padding: 0;
      width: auto;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 100%;
      flex-wrap: nowrap;
      align-items: center;
    }
    .main-info:not(.multiservice-info){
      @media (max-width: $grid-float-breakpoint-max) {
        width: auto;
      }
      .service-transport {
        flex: 0 1 auto;
        overflow: hidden;
      }
    }
    .additional-info {
      display: block;
      padding: 0;
      @media (min-width: $grid-float-breakpoint) {
        display: block;
        padding: 0;
      }
    }
  }
  .multiservice-block {
    .product-pack {
      border-top: 0;
      padding: 0;
      margin-top: 5px;
    }
  }
  .package-details-content {
    border-bottom: 0;
    & + .details-footer {
      border-top: 0;
    }
  }
  .details-product, .package-details-change {
    background: #fff;
    @media (min-width: $grid-float-breakpoint) {
      border-left: 0;
      border-right: 0;
    }
    .details-product {
      border-left: 0;
      border-right: 0;
    }
  }
  .package-details-change {
    display: flex;
    justify-content: center;
    .btn-link {
      flex: 0 0 auto;
      & + .btn-link {
        margin-left: auto;
      }
    }
  }
  .product-details-header {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid $colorBordes;
    @media (min-width: $screen-lg-min) {
      border-bottom: 0;
    }
    .product-details-title {
      padding: 10px 20px;
      width: 100%;
      font-size: 18px;
      @include medium-weight;
      color: $brand-grey-dark;
      @media (min-width: $screen-lg-min) {
        padding: 15px;
        height: 100px;
        display: flex;
        align-items: flex-end;
        position: relative;
        z-index: 3;
        background-image: linear-gradient(180deg,transparent 0%, transparent 50%, rgba(0,0,0,.6) 100%);
        color: #fff;
      }
    }
    .no-image-header {
      border-top: 3px solid $brand-primary;
    }
    .product-image {
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      @media (max-width: $screen-md-max) {
        display: none;
      }
      .product-image-element {
        width: 100%;
        height: auto;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
      }
    }
  }
  .giftcard-summary .product-details-header .product-details-title {
    height: 120px;
    background-image: linear-gradient(180deg,transparent,rgba(0,0,0,.3));
    @media (min-width: $grid-float-breakpoint) {
      height: 152px;
    }
  }
  .product-details-header + .details-product .product-image-data {
    padding: 15px 0 0 15px;
    & + .product-image-data {
      padding: 0 0 15px 15px;
      clear: both;
      margin-top: 5px;
    }
  }
  .line-seprator + .details-product .product-image-data {
    padding: 0 0 15px 15px;
  }
  .product-image-data {
    .product-icon {
      float: left;
      width:24px;
      height: 24px;
      text-align: center;
      margin-top: 0;
      margin-left: 0;
      border-radius: 50%;
      background: $brand-primary-light;
      padding: 1px;
      .service-icon {
        width: 12px;
        height: 12px;
        vertical-align: middle;
        &, & * {
          fill: $brand-primary;
        }
      }
    }

    .product-icon + .product-data, .product-additional-data {
      margin-left: 24px;
      padding: 0 10px;
      font-size: 16px;
    }
    .multiservice-block {
      & + .multiservice-block {
        margin-top: 5px;
      }
    }
     & + .product-image-data {
       .product-icon {
         background: $brand-grey-secondary;
         .service-icon {
           &, & * {
             fill: $brand-brown-medium;
           }
         }
       }
     }
  }
  .product-data {
    .main-info {
    }
  }
  .product-details-common-mod .product-image-data .data-name {
    font-size: $font-size-base;
  }
  .product-details-common-mod .product-comments {
    padding: 15px 10px;
  }
  .details-product + .package-details-change {
    text-align: center;
  }
}
.details-container {
  border: 1px solid $colorBordes;
}
.details-footer {
  border: 1px solid $colorBordes;
  display: flex;
  padding: 15px;
  background: #fff;
  margin-bottom: 0;
  @media (max-width: $grid-float-breakpoint-max) {
    border-left: 0;
    border-right: 0;
  }
  &.details-footer-desktop {
    display: none;
  }
  .details-footer-price {
    display: flex;
    flex: 1 0 auto;
    align-items: flex-end;
    .item-name {
      font-size: $font-size-base;
    }
    .item-amount {
      margin-left: 5px;
      .price {
        font-size: $font-size-large;
        @include medium-weight;
      }
    }
  }
  .details-footer-viewmore {
    margin-left: auto;
    flex: 0 0 auto;
    .viewmore-link {
      &:hover {
        cursor: pointer;
      }
    }
  }
  .isSticky & {
    margin-bottom: 0;
    border-top: 0;
    &.details-footer-desktop {
      @media (max-width: $screen-md-max) {
        display: flex;
      }
      .details-footer-price .item-amount {
        margin-left: auto;
      }
    }
  }
}

.package-sticky-element {
  padding: 25px 0;
  @media (min-width: $grid-float-breakpoint) and (max-width: $screen-md-max) {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
    align-items: normal;
    justify-content: space-around;
    .package-details-v2-container, .package-price-breakdown {
      flex: 1 1 50%;
    }
    .package-price-breakdown {
      flex: 0 1 290px;
    }
    .package-details-v2 {
      margin: 0;
    }
  }
  @media (min-width: $screen-lg-min) {
    padding: 0;
  }
}
// transformacion si está sticky
.layout-2-cols {
  .package-sticky-element.isSticky {
    .package-details-v2-container {
      @media (max-width: $screen-md-max) {
        &:after {
          content:'';
          display: block;
          width: 100%;
          height: 56px;
        }
      }
    }
    .package-details-v2 {
      border-top: 3px solid $brand-primary;
      @media (max-width: $screen-md-max) {
        position: fixed;
        top: 0;
        z-index: 1002;
        box-shadow: 0 1px 7px 0 rgba(0, 0, 0, 0.12);
        max-width: 768px;
      }
      @media (max-width: $grid-float-breakpoint-max) {
        left: 0;
        right: 0;
        transform: translate3d(0, 0, 0);
        min-width: 0;
      }
      @media (min-width: $grid-float-breakpoint) and (max-width: 798px) {
        left: 15px;
        right: 15px;
        transform: translate3d(0, 0, 0);
        min-width: 0;
      }
      @media (min-width: 799px) and (max-width: $screen-md-max) {
        left: 50%;
        transform: translate3d(-50%, 0, 0);
        min-width: 768px;
      }
      .package-price-annotations {
        //antes se escondia esto en sticky pero se ha quitado para los mensajes de metodos de pago
        //display: none;
        //cuando se pueda diferenciar si las anotaciones son de city tax o de metodos de pago se puede poner clase extra
        padding: 10px 15px;
        .view-more-container {
          .viewMore_desc_cont {
            max-height: 40px;
          }
          .btn-link.dst-show-more, .btn-link.dst-show-less {
            padding: 0;
          }
        }
      }
    }
    .hurryup-message {
      display: none;
    }
    .product-details-header {
      display: none;
    }
    .package-details-content {
      @media (max-width: $screen-md-max) {
        display: none;
      }
    }
    .details-footer {

    }
    .package-details-title {
      display:none;
    }
  }
  &:first-child {
    .package-sticky-element.isSticky {
      padding-top: 0;
      @media (min-width: $screen-lg-min) {
        &, #app.app-1-step & {
          padding-top: 16px;
        }
      }
    }
  }
}
.packagedetailsmodal {
  .modal-header {
    position: relative;
    @media (max-width: $grid-float-breakpoint-max) {
      padding-left: 45px;
    }
    @media (min-width: $grid-float-breakpoint) {
      padding-left: 30px;
    }
    .modal-header-text {
      font-size: 18px;
      color: $brand-grey-dark;
    }
    .close {
      position: absolute;
      top: 18px;
      float: none;
      @media (max-width: $grid-float-breakpoint-max) {
        left: 15px;
        right: auto;
      }
      @media (min-width: $grid-float-breakpoint) {
        left: auto;
        right: 15px;
      }
    }
  }
  @media (max-width: $grid-float-breakpoint-max) {
    .modal-header+.modal-body {
      padding: 10px 0 30px;
    }
    &.longtextmodal .modal-header+.modal-body {
      padding: 0 0 30px;
    }
    .details-container {
      border: 0;
    }
  }
  .details-description {
    font-size: $font-size-large;
    padding: 0 0 10px 0;
    @media (max-width: $grid-float-breakpoint-max) {
      padding: 0 15px 10px 15px;
    }
  }
  .transport-timetable-title {
    padding-top: 10px;
  }
  .details-product, .details-travel {
    .product-details-common-mod {
      display: block;
      .product-image-data {
        border-right: 0;
        display: flex;
        flex-wrap: nowrap;
        padding-left: 0;
        align-items: stretch;
        .product-image {
          float: none;
          position: relative;
          overflow: hidden;
          max-height: 186px;
          @media (max-width: $grid-float-breakpoint-max) {
            flex: 0 0 100px;
          }
          @media (min-width: $grid-float-breakpoint) {
            flex: 0 0 138px;
          }
          .product-image-element {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100%;
            height: auto;
          }
        }
        .product-data {
          margin-left: 0;
          flex: 1 1 auto;
          padding: 10px;
        }
      }
      .product-dates-comments {
        border-top: 1px dashed $colorBordes;
      }
      .product-comments {
        padding: 15px 10px;
        .comments-ko {
          color:$brand-red;
        }
        .comments-ok {
          color: $brand-green;
        }
      }
    }
  }
  .details-giftcard {
    .product-details-common-mod .product-image-data .product-image {
      flex: 0 0 110px;
      .product-image-element {
        width: 90%;
        top: 10px;
        transform: translate(-50%, 0)
      }
    }
  }
  .package-details-change {
    text-align: center;
  }
  .package-price-breakdown {
    border: 0;
    border-top: 1px solid $colorBordes;
    margin: 0;
  }
}

@media (max-width: $screen-xs-max) {
  .package-itinerary-fullscreen-mobile {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    height: 100%;
    .modal-dialog {
      width: 100%;
      height: 100%;
      margin: 0;
      max-width: 100%;
    }
    .modal-content {
      height: 100%;
      border-radius: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .package-body {
      padding: 10px 20px 10px !important;
    }
  }
}

.package-details-modal-itinerary {
  .modal-header {
    position: relative;
    box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.12);
    margin-bottom: 20px;
    @media (max-width: $grid-float-breakpoint-max) {
      padding-left: 45px;
    }
    @media (min-width: $grid-float-breakpoint) {
      padding-left: 30px;
    }
    .modal-header-text {
      font-size: 18px;
      color: $brand-grey-dark;
    }
    .close {
      position: absolute;
      top: 18px;
      float: none;
      @media (max-width: $grid-float-breakpoint-max) {
        left: 15px;
        right: auto;
      }
      @media (min-width: $grid-float-breakpoint) {
        left: auto;
        right: 15px;
      }
    }
  }
  @media (max-width: $grid-float-breakpoint-max) {
    .modal-header+.modal-body {
      padding: 10px 0 30px;
    }
    &.longtextmodal .modal-header+.modal-body {
      padding: 0 0 30px;
    }
    .details-container {
      border: 0;
    }
    .modal-body {
      overflow: scroll;
    }
  }
  .modal-body {
    padding: 1px 30px 30px;
    text-align: left;
    .lateral-review-details-modal {
      .package-title {
        text-align: left;
        font-family: Georama,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;
        text-transform: uppercase;
        font-size: 18px;
        font-weight: 800;
        font-stretch: extra-condensed;
        font-style: normal;
        line-height: normal;
        letter-spacing: 0.14px;
        color: $brand-grey-dark;
        margin-bottom: 15px;
      }
      .itinerary-title {
        font-family: Roboto, sans-serif;
        font-size: 18px;
        font-weight: 500;
        font-stretch: normal;
        font-style: normal;
        line-height: normal;
        letter-spacing: normal;
        color: $brand-grey-dark;
        margin-bottom: 10px;
      }
      .travel-package-itinerary {
        padding-left: 12px;
        .itinerary-day {
          padding: 0 0 15px 30px;
          border-left: dashed 2px #c7c7c7;
          .itinerary-day-title {
            text-transform: none;
            font-weight: 100;
          }
          .itinerary-day-icon {
            background-color: $brand-primary;
          }
        }
        .itinerary-day:last-child {
          border-left: none;
          padding-bottom: 0;
          }
      }
      .inclusions {
        font-family: Roboto, sans-serif;
        font-size: 18px;
        font-weight: 500;
        font-stretch: normal;
        font-style: normal;
        line-height: normal;
        letter-spacing: normal;
        color: $brand-grey-dark;
        margin-bottom: 10px;
      }
      .package-includes-items {
        column-count: 1;
      }
      .itinerary-options {
        margin-bottom: 12px;
      }
    }
  }
}

.bg-transparent-important{
  background: transparent!important;
}

.gray-icon{
  background-color: #dfdfdf!important;
}
.gray-path{
  fill: #BEB8B3!important;
}
.border-top-seprator{
  border-top:1px dashed #dfdfdf;
}
.line-seprator{
  width:100%;
  height: 2px;
  margin: 0 0 15px 0;
  border-top: dashed 1px #dfdfdf;
  border-bottom: 0;
  border-left: 1px solid #dfdfdf;
  border-right: 1px solid #dfdfdf;
  .new_design_container_mobile & {
    border-left: 0;
    border-right: 0;
  }
}
.product-image-data-new{
  padding:0 0 15px 15px !important;
}
.hotel-info-container{
  .review-numbers{
    font-size: 16px;
    @include medium-weight;
    color: #fff;
  }
  .review-numbers-five{
    font-size: 12px;
    font-weight: 300;
  }
  .rectangle-blue{
    display: inline-block;
    margin: 0 8px 0 0;
    padding: 0 5px 0 4px;
    border-radius: 9.5px;
    background-color: #3171c9;
    line-height: 1.2;
  }
}
.visibility-hidden{
  visibility: hidden;
}
.multi-transport{
  position: relative;
  margin-top: 8px;
  .transport-dot{
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ec5b14;
    vertical-align:top;
  }
  .transport-line{
    background:#ec5b14;
    width:2px;
    height:100%;
    vertical-align: top;
    margin: 0 auto;
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
.d-flex{
  display:flex;
}
.transport-detail-container{
  margin-top: 3px;
  padding-left: 5px;
  max-width: calc(100% - 8px);
}
.hurryup-message-new-design-bg{
  background: #3171c9!important;
}

.detail-hotel-cancellation{
  font-size:14px;
  display: block!important;
}
.details-footer{
  width:100% ;
}
.mx-auto{
  margin:0 auto;
}
.main-info{
  .fs-4 {
    font-size: 14px;
  }
}
.product-comments{
  .comments-ko{
    font-size: 14px;
  }
}
.fs-4 {
  font-size: 14px;
}
.w-full{
  width: 100%;
}
.bold {
  font-weight: bold;
}
.package-lateral-content-v2{
  border-bottom: 1px dashed #dfdfdf!important;
}
.summary_text{
  margin: 0;
  padding: 10px 15px;
  font-size: 18px;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  @include medium-weight;
  color: $brand-grey-dark;
  border: 1px solid $colorBordes;
  .isSticky & {
    border-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}

.modify-info{
  display: flex;
  flex: 100%;
  margin-bottom: 10px;
  @media (min-width: 768px) {
    margin-top: 20px;
  }
  .alert-info {
    background-color: #d3e5f8!important;
    border-color: #dfdfdf;
    color: $brand-grey-dark;
    width: 100%;
    @media (min-width: 768px) {
      border-radius: 6px;
    }
    .container-limited {
      padding-left: 15px;
      &:before {
        display: none;
      }
    }
  }
  @media (min-width: 768px){
    .modify-info__columns {
      display: flex;
      flex-wrap: nowrap;
      align-items: flex-end;
      justify-content: space-between;
    }
    .modify-info__column--start {
      flex: 1 0 50%;
    }
  }
}
div.new_design .product-details-title{
  height: 152px!important;
}
.giftcard-message {
  margin-top: 10px;
  word-break: break-word;
}

/* Breakdown */

.package-price-breakdown {
  padding: 0;
  box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.12);
  border: solid 1px #dfdfdf;
  border-radius: 6px;
  background-color: #fff;
  overflow: hidden;
  .package-modules-group & {
    border-top: 1px solid $colorBordes;
  }
  .price {
    color: $brand-grey-dark;
    display: inline-block;
  }
  s {
    display: block;
    .price {
      text-decoration: line-through solid $brand-grey-dark;
      .symbol {
        text-decoration: line-through solid $brand-grey-dark;
      }
    }
  }
  .loader-inner {
    padding: 15px 0 10px;
  }
}
.overview-container {
  overflow: hidden;
}
.package-price-list-title {
  border-bottom: 1px solid #dfdfdf;
  .item-name {
    padding: 10px 20px;
    font-size: 18px;
  }
}
.package-price-overview {
  border-bottom: 1px dashed #dfdfdf;
  .item-name, .item-amount {
    display: inline-block;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 16px;
  }
  .item-name {
    margin-right: 5px;
    padding-left: 0;
  }
  .item-amount {
    padding-left: 0;
    .info-main-text, .info-people {
      display: inline-block;
    }
    .price {
      font-size: 16px;
    }
    .info-people {
      color: $brand-copy-light;
      margin-left: 4px;
    }
  }
}
.package-price-info {
  .collapse-info-title:after {
    width: 13px;
    height: 13px;
    margin-left: 10px;
  }
  .price-item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end;
    .item-name, .item-amount {
      line-height: 21px;
    }
    .item-name {
      flex: 1 1 45%;
    }
    .item-amount {
      flex: 1 1 auto;
      margin-left: 5px;
      text-align: right;
    }
  }
  .item-common, .item-premium, .item-total {
    padding: 14px 0;
  }
  .item-common, .item-premium {
    position: relative;
    &:before {
      content: '';
      display: block;
      position: absolute;
      height: 1px;
      top: 0;
      left: 0;
      right: 0;
      border-top: 1px dashed $colorBordes;
    }
  }
  .item-common {
    &:first-child {
      &:before {
        display: none;
      }
    }
    .item-name, .item-amount {
      font-size: 16px;
      .info-additional {
        font-size: 12px;
        color: $brand-copy-light;
      }
    }
    .item-amount {
      &, & .price {
        font-size: 16px;
        font-weight: $roboto-light;
      }
    }
  }
  /*
  .item-cost, .fee {
    .item-name, .item-amount, .item-amount .price {
      color: #bc4206;
    }
  }
   */
  .usable_amount {
    .item-name, .item-amount, .item-amount .price {
      font-size: 16px;
      color: $brand-green;
    }
  }
  .item-premium {
    .item-name, .item-amount, .item-amount .price {
      font-size: 16px;
      color: $brand-green;
    }
    .icon-moreinfopremium {
      display: inline-block;
      vertical-align: middle;
      height:21px;
      cursor: pointer;
      .icon {
        vertical-align: top;
        width: 15px;
        height: 15px;
        &, & * {
          fill: $brand-brown-medium;
        }
      }
    }
    .item-name {
      .tooltip {
        color: $brand-grey-dark;
      }
    }
  }
  .item-total {
    align-items: center;
    padding: 15px 0;
    &.collapsed {
      border-top: 0;
      padding-top:12px;
    }
    &.collapse-info-title {
      &:hover, &:focus {
        text-decoration: none;
      }
    }
    .item-name {
      font-size: 16px;
    }
    .item-amount {
      @include medium-weight;
      &, & .price {
        font-size: 16px;
        @include medium-weight;
      }
    }
    .bigprice .price {
      letter-spacing: normal;
      &, &.eur, &.usd, &.gbp {
        font-size: 16px;
      }
      .symbol {
        font-size: 1em;
      }
    }
    &.item-total-new {
      border-top: 0;
      .item-amount {
        &, & .price {
          font-size: 16px;
        }
      }
    }
  }
  .info-main-text {
    display: inline-block;
    span {
      display: inline-block;
    }
  }
  .info-people {
    display: inline-block;
    color: $brand-copy-light;
    width: 23px;
    text-align: right;
  }
  .payment-plan-container {
    padding: 10px;
    background: $brand-grey-light;
    .price-item {
      padding: 2px 0;
    }
    .item-name {
      font-size: 16px;
    }
    .item-amount {
      &, & .price {
        font-size: 16px;
        font-weight: $roboto-bold;
      }
    }
  }
}
.lateral-review-price-container {
  border-bottom: 1px solid $colorBordes;
}
.package-price-annotations {
  background: #fff;
  padding: 15px;
  color: $brand-copy-light;
  font-size: $font-size-base;
  border-top: 1px solid $colorBordes;
  .package-details-v2 & {
    border-top: 0;
  }
  p, ul li {
    color: $brand-copy-light;
    font-size: $font-size-base;
    margin: 0;
    margin-bottom: 2px;
  }
  ul {
    margin-bottom: 0;
  }
  ul li {
    list-style-type: disc;
    margin-left: 0;
    list-style-position: inside;
    padding-left: 0;
  }
}
.package-price-info .new_design_header.collapse-info-title {
  border-top: 0;
  border-bottom: 1px solid $colorBordes;
  padding: 12px 15px;
  &.collapsed {
    border-bottom: 0;
  }
  .info-main-text {
    font-size: 18px;
    @include medium-weight;
  }
  &:after {
    width: 18px;
    height: 18px;
    background-image: url('/headers/ilusion/'+ $assets-folder +'/dist/svg/icon-ownfill-ui-chevron-up-46403c.svg');
  }
  &.collapsed {
    &:after {
      background-image: url('/headers/ilusion/'+ $assets-folder +'/dist/svg/icon-ownfill-ui-chevron-down-46403c.svg');
    }
  }
}
.package-price-list {
  padding: 0 15px;
}
.new_design_container_mobile{
  margin: 0 auto;
  max-width: 96%;
  border-radius: 6px;
  border: solid 1px #dfdfdf;
  background-color: #fff;
  box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.12);
}
.new_design_footer_mobile{
  border:none;
  .new-design-price-total-in-mobile {
    display: none;
  }
}
div.isSticky {
  .new-design-price-total-in-mobile {
    display: flex;
  }
  .new_design_footer_mobile{
    .btn.btn-link {
      display: none;
    }

  }
  .new_design_container_mobile.package-price-breakdown{
    display:none;
  }
  .new_design_container_mobile div.package-details div.summary_text{
    display:none!important;
  }
}
.new-design-your-selction{
  span.text-green .price{
    color: #027a02!important;
    @include medium-weight;
  }
}
.package-price-list-title .collapse-info-title {
  display: flex;
  align-items: center;
  &:after {
    content:'';
    background: url('/headers/ilusion/'+ $assets-folder +'/dist/svg/icon-ownfill-ui-chevron-up-46403c.svg') no-repeat left center;
    background-position: left center;
    background-size: 100% auto;
    width: 18px;
    height: 18px;
    display: inline-block;
    vertical-align: middle;
    margin-left: auto;
  }
  &.collapsed {
    &:after {
      background-image: url('/headers/ilusion/'+ $assets-folder +'/dist/svg/icon-ownfill-ui-chevron-down-46403c.svg');
    }
  }
}
.package-price-content {
  border-bottom: 1px solid $colorBordes;
  &.collapse {
    border-bottom: 0;
  }
  &.collapse.in {
    border-bottom: 1px solid $colorBordes;
  }



}