/**
 * Coastdrivevip v2.1.11
 * Public price list: isolated responsive layout and overflow repair.
 * This file is loaded only on routes-list.php.
 */

body.page-routes.cdv-price-list-v2111 {
  overflow-x: hidden !important;
}

body.page-routes.cdv-price-list-v2111 main,
body.page-routes.cdv-price-list-v2111 .transfer-prices-section,
body.page-routes.cdv-price-list-v2111 .premium-price-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.page-routes.cdv-price-list-v2111 .transfer-prices-section {
  width: min(1480px, calc(100% - 24px)) !important;
  margin-inline: auto !important;
  padding: 10px 0 30px !important;
}

body.page-routes.cdv-price-list-v2111 .premium-price-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 10px !important;
}

body.page-routes.cdv-price-list-v2111 .premium-price-head > div:first-child {
  min-width: 0 !important;
}

body.page-routes.cdv-price-list-v2111 .premium-price-head h2 {
  margin: 0 !important;
  font-size: clamp(25px, 2.1vw, 32px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}

body.page-routes.cdv-price-list-v2111 .premium-price-head .small-muted {
  margin-top: 5px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

body.page-routes.cdv-price-list-v2111 .vehicle-price-switcher {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  align-items: stretch !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.page-routes.cdv-price-list-v2111 .vehicle-price-switcher .route-vehicle-choice-r38 {
  width: 194px !important;
  min-width: 0 !important;
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 8px !important;
  border-radius: 13px !important;
  overflow: hidden !important;
}

body.page-routes.cdv-price-list-v2111 .route-vehicle-thumb-r38 {
  width: 52px !important;
  height: 36px !important;
  border-radius: 9px !important;
}

body.page-routes.cdv-price-list-v2111 .route-vehicle-copy-r38 {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  gap: 2px !important;
}

body.page-routes.cdv-price-list-v2111 .route-vehicle-copy-r38 strong {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 11.5px !important;
  line-height: 1.08 !important;
}

body.page-routes.cdv-price-list-v2111 .route-vehicle-copy-r38 small {
  font-size: 9.7px !important;
  line-height: 1.08 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.page-routes.cdv-price-list-v2111 .premium-price-table-wrap {
  overflow: hidden !important;
  border-radius: 15px !important;
  background: #fff !important;
}

body.page-routes.cdv-price-list-v2111 .premium-direction-table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body.page-routes.cdv-price-list-v2111 .premium-direction-table col.price-col-visual-v2111 { width: 6.5% !important; }
body.page-routes.cdv-price-list-v2111 .premium-direction-table col.price-col-route-v2111 { width: 18.5% !important; }
body.page-routes.cdv-price-list-v2111 .premium-direction-table col.price-col-direction-v2111 { width: 25.5% !important; }
body.page-routes.cdv-price-list-v2111 .premium-direction-table col.price-col-oneway-v2111 { width: 11.5% !important; }
body.page-routes.cdv-price-list-v2111 .premium-direction-table col.price-col-return-v2111 { width: 14.5% !important; }
body.page-routes.cdv-price-list-v2111 .premium-direction-table col.price-col-total-v2111 { width: 9.5% !important; }
body.page-routes.cdv-price-list-v2111 .premium-direction-table col.price-col-action-v2111 { width: 14% !important; }

body.page-routes.cdv-price-list-v2111 .premium-direction-table th,
body.page-routes.cdv-price-list-v2111 .premium-direction-table td {
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  box-sizing: border-box !important;
  padding: 8px 7px !important;
  overflow: hidden !important;
}

body.page-routes.cdv-price-list-v2111 .premium-direction-table th {
  font-size: 9.5px !important;
  line-height: 1.15 !important;
  letter-spacing: 0.035em !important;
  white-space: normal !important;
}

body.page-routes.cdv-price-list-v2111 .premium-direction-table td {
  font-size: 11.5px !important;
}

body.page-routes.cdv-price-list-v2111 .route-image-cell {
  min-width: 0 !important;
  width: auto !important;
}

body.page-routes.cdv-price-list-v2111 .route-price-image {
  display: block !important;
  width: min(100%, 68px) !important;
  height: 44px !important;
  margin: 0 auto !important;
  object-fit: cover !important;
  border-radius: 10px !important;
}

body.page-routes.cdv-price-list-v2111 .route-main-cell,
body.page-routes.cdv-price-list-v2111 .direction-cell,
body.page-routes.cdv-price-list-v2111 .price-oneway-cell-v201,
body.page-routes.cdv-price-list-v2111 .return-cell-v201,
body.page-routes.cdv-price-list-v2111 .total-price-cell-v201,
body.page-routes.cdv-price-list-v2111 .action-cell-v201 {
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}

body.page-routes.cdv-price-list-v2111 .route-duo {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 24px !important;
  grid-template-areas: "pickup swap" "dropoff swap" !important;
  align-items: center !important;
  gap: 3px 7px !important;
  min-width: 0 !important;
}

body.page-routes.cdv-price-list-v2111 .route-duo strong:first-child { grid-area: pickup !important; }
body.page-routes.cdv-price-list-v2111 .route-duo .route-swap { grid-area: swap !important; }
body.page-routes.cdv-price-list-v2111 .route-duo strong:last-child { grid-area: dropoff !important; }

body.page-routes.cdv-price-list-v2111 .route-duo strong {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 12.2px !important;
  line-height: 1.15 !important;
}

body.page-routes.cdv-price-list-v2111 .route-swap {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  display: grid !important;
  place-items: center !important;
  font-size: 12px !important;
}

body.page-routes.cdv-price-list-v2111 .route-main-cell small {
  display: block !important;
  margin-top: 4px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 9.8px !important;
  line-height: 1.2 !important;
}

body.page-routes.cdv-price-list-v2111 .direction-switch {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.page-routes.cdv-price-list-v2111 .direction-choice {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 31px !important;
  padding: 5px 8px !important;
  border-radius: 10px !important;
  font-size: 10.5px !important;
  line-height: 1.1 !important;
}

body.page-routes.cdv-price-list-v2111 .direction-choice span {
  display: block !important;
  min-width: 0 !important;
  flex: 1 1 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.page-routes.cdv-price-list-v2111 .direction-choice b {
  flex: 0 0 18px !important;
  text-align: center !important;
}

body.page-routes.cdv-price-list-v2111 .price-oneway-cell-v201,
body.page-routes.cdv-price-list-v2111 .total-price-cell-v201 {
  white-space: nowrap !important;
}

body.page-routes.cdv-price-list-v2111 .route-price-value-v204,
body.page-routes.cdv-price-list-v2111 .total-price-cell-v201 strong,
body.page-routes.cdv-price-list-v2111 .return-price-inline-v203 {
  font-size: 13px !important;
  line-height: 1.1 !important;
}

body.page-routes.cdv-price-list-v2111 .price-oneway-cell-v201 .cash-inline-note-r38 {
  display: none !important;
}

body.page-routes.cdv-price-list-v2111 .premium-return-check {
  display: grid !important;
  grid-template-columns: 16px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: 10.5px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

body.page-routes.cdv-price-list-v2111 .premium-return-check input {
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  margin: 0 !important;
}

body.page-routes.cdv-price-list-v2111 .premium-return-check span {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

body.page-routes.cdv-price-list-v2111 .return-price-inline-v203 {
  margin-top: 4px !important;
}

body.page-routes.cdv-price-list-v2111 .action-cell-v201 {
  overflow: hidden !important;
}

body.page-routes.cdv-price-list-v2111 .action-cell-v201 .premium-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.page-routes.cdv-price-list-v2111 .action-cell-v201 .btn.small {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 31px !important;
  padding: 5px 5px !important;
  border-radius: 9px !important;
  justify-content: center !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 10px !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

/* The table already provides a WhatsApp action on every route. */
body.page-routes.cdv-price-list-v2111 .floating-whatsapp-r19 {
  display: none !important;
}

@media (max-width: 1180px) {
  body.page-routes.cdv-price-list-v2111 .premium-price-head {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  body.page-routes.cdv-price-list-v2111 .vehicle-price-switcher {
    justify-content: flex-start !important;
  }

  body.page-routes.cdv-price-list-v2111 .action-cell-v201 .premium-actions {
    grid-template-columns: 1fr !important;
  }

  body.page-routes.cdv-price-list-v2111 .action-cell-v201 .btn.small {
    min-height: 28px !important;
  }
}

/* Tablet and small laptop: readable cards, no horizontal table scroll. */
@media (max-width: 960px) {
  body.page-routes.cdv-price-list-v2111 .transfer-prices-section {
    width: min(100% - 20px, 920px) !important;
    padding-top: 6px !important;
  }

  body.page-routes.cdv-price-list-v2111 .premium-price-table-wrap {
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.page-routes.cdv-price-list-v2111 .premium-direction-table,
  body.page-routes.cdv-price-list-v2111 .premium-direction-table tbody,
  body.page-routes.cdv-price-list-v2111 .premium-direction-table tr,
  body.page-routes.cdv-price-list-v2111 .premium-direction-table td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.page-routes.cdv-price-list-v2111 .premium-direction-table colgroup,
  body.page-routes.cdv-price-list-v2111 .premium-direction-table thead {
    display: none !important;
  }

  body.page-routes.cdv-price-list-v2111 .premium-direction-table tbody {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body.page-routes.cdv-price-list-v2111 .premium-direction-table tbody tr {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) minmax(150px, 0.55fr) !important;
    grid-template-areas:
      "visual main action"
      "direction direction direction"
      "oneway return total" !important;
    gap: 9px 11px !important;
    padding: 11px !important;
    overflow: hidden !important;
    border: 1px solid rgba(10, 48, 62, 0.09) !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.06) !important;
  }

  body.page-routes.cdv-price-list-v2111 .premium-direction-table tbody tr[hidden],
  body.page-routes.cdv-price-list-v2111 .premium-direction-table tbody tr.is-route-search-hidden-r42 {
    display: none !important;
  }

  body.page-routes.cdv-price-list-v2111 .premium-direction-table td {
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    background: transparent !important;
  }

  body.page-routes.cdv-price-list-v2111 .route-image-cell { grid-area: visual !important; }
  body.page-routes.cdv-price-list-v2111 .route-main-cell { grid-area: main !important; align-self: center !important; }
  body.page-routes.cdv-price-list-v2111 .direction-cell { grid-area: direction !important; }
  body.page-routes.cdv-price-list-v2111 .price-oneway-cell-v201 { grid-area: oneway !important; }
  body.page-routes.cdv-price-list-v2111 .return-cell-v201 { grid-area: return !important; }
  body.page-routes.cdv-price-list-v2111 .total-price-cell-v201 { grid-area: total !important; }
  body.page-routes.cdv-price-list-v2111 .action-cell-v201 { grid-area: action !important; align-self: center !important; }

  body.page-routes.cdv-price-list-v2111 .route-price-image {
    width: 72px !important;
    height: 54px !important;
    border-radius: 12px !important;
  }

  body.page-routes.cdv-price-list-v2111 .route-duo strong {
    font-size: 13px !important;
  }

  body.page-routes.cdv-price-list-v2111 .direction-switch {
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
  }

  body.page-routes.cdv-price-list-v2111 .direction-choice {
    min-height: 36px !important;
  }

  body.page-routes.cdv-price-list-v2111 .price-oneway-cell-v201,
  body.page-routes.cdv-price-list-v2111 .return-cell-v201,
  body.page-routes.cdv-price-list-v2111 .total-price-cell-v201 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    padding: 8px 10px !important;
    border: 1px solid rgba(10, 48, 62, 0.08) !important;
    border-radius: 12px !important;
    background: #f7faf9 !important;
  }

  body.page-routes.cdv-price-list-v2111 .route-price-label-v204 {
    display: block !important;
    font-size: 9.5px !important;
    line-height: 1.1 !important;
    letter-spacing: 0.05em !important;
  }

  body.page-routes.cdv-price-list-v2111 .premium-return-check {
    font-size: 10.5px !important;
  }

  body.page-routes.cdv-price-list-v2111 .total-price-cell-v201 {
    display: none !important;
  }

  body.page-routes.cdv-price-list-v2111 .premium-direction-table tbody tr.is-return-selected-v203 .total-price-cell-v201 {
    display: grid !important;
  }

  body.page-routes.cdv-price-list-v2111 .action-cell-v201 .premium-actions {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 680px) {
  body.page-routes.cdv-price-list-v2111 .transfer-prices-section {
    width: calc(100% - 16px) !important;
  }

  body.page-routes.cdv-price-list-v2111 .premium-price-head h2 {
    font-size: 24px !important;
  }

  body.page-routes.cdv-price-list-v2111 .vehicle-price-switcher {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  body.page-routes.cdv-price-list-v2111 .vehicle-price-switcher .route-vehicle-choice-r38 {
    width: 100% !important;
    min-height: 50px !important;
    padding: 6px !important;
  }

  body.page-routes.cdv-price-list-v2111 .route-vehicle-thumb-r38 {
    width: 44px !important;
    height: 32px !important;
  }

  body.page-routes.cdv-price-list-v2111 .premium-direction-table tbody tr {
    grid-template-columns: 68px minmax(0, 1fr) !important;
    grid-template-areas:
      "visual main"
      "direction direction"
      "oneway oneway"
      "return return"
      "total total"
      "action action" !important;
    gap: 8px 10px !important;
    padding: 10px !important;
    border-radius: 15px !important;
  }

  body.page-routes.cdv-price-list-v2111 .route-price-image {
    width: 68px !important;
    height: 50px !important;
  }

  body.page-routes.cdv-price-list-v2111 .direction-switch {
    grid-template-columns: 1fr !important;
  }

  body.page-routes.cdv-price-list-v2111 .price-oneway-cell-v201,
  body.page-routes.cdv-price-list-v2111 .return-cell-v201,
  body.page-routes.cdv-price-list-v2111 .total-price-cell-v201 {
    min-height: 40px !important;
    padding: 8px 9px !important;
  }

  body.page-routes.cdv-price-list-v2111 .action-cell-v201 .premium-actions {
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
  }

  body.page-routes.cdv-price-list-v2111 .action-cell-v201 .btn.small {
    min-height: 38px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 420px) {
  body.page-routes.cdv-price-list-v2111 .vehicle-price-switcher {
    grid-template-columns: 1fr !important;
  }

  body.page-routes.cdv-price-list-v2111 .action-cell-v201 .premium-actions {
    grid-template-columns: 1fr !important;
  }
}
