.wp-list-table .booking-unread {
            background-color: #e7f1ff !important;
        }

.crs-meta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.crs-meta-grid .meta-item {
    display: flex;
    flex-direction: column;
}
.crs-meta-grid label {
    font-weight: bold;
    margin-bottom: 4px;
}

.crs-booking-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px 50px 30px;
    background-color: rgba(249, 249, 249, 0.5);
    border-radius: 10px;
    margin-top: 40px;
  }

  .crs-booking-form label {
    font-weight: bold;
    margin-bottom: 5px;
  }

  .date-time-wrap {
    display: flex;
    gap: 10px;
  }

  .date-time-wrap input[type="date"] {
    flex: 1;
  }

  .date-time-wrap select {
    flex: 1;
  }

  /* Responsive Layout για Desktop */
  @media (min-width: 768px) {
    .row-group {
      display: flex;
      gap: 20px;
    }

    .row-group > div {
      flex: 1;
      display: flex;
      flex-direction: column;
    }
  }

 @media (max-width: 767px) {
  .crs-booking-form {
    padding: 20px 20px 20px;
  }
}

.image-container {
    position: relative;
}

.best-offer-image {
    position: absolute;
    top: 0px;
    right: 0px!important;
    width: 90px!important;
    height: auto;
    z-index: 10;
    filter: drop-shadow(0 0 2px red) drop-shadow(0 0 3px white);
    animation: pulse 2s infinite;
}
@keyframes pulse {
    0%   { transform: scale(1); opacity: 1; }
    50%  { transform: scale(1.05); opacity: 0.85; }
    100% { transform: scale(1); opacity: 1; }
}

.recommended-badge {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 175px!important;
    z-index: 10;
}

@keyframes pulseGlow {
    0% { transform: rotate(-10deg) scale(1); filter: drop-shadow(0 0 5px #0077ff); }
    50% { transform: rotate(-10deg) scale(1.1); filter: drop-shadow(0 0 8px #00ccff); }
    100% { transform: rotate(-10deg) scale(1); filter: drop-shadow(0 0 5px #0077ff); }
}

.car-filters-box {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    background: #353535;
    border-radius: 0;
    padding: 0;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    position: relative;
}
.car-filters {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.car-filters label {
    font-size: 16px;
    color:white;
    cursor: pointer;
    display: flex;
    align-items: center;
}
.car-filters input {
    margin-right: 8px;
}
.car-card {
    display: grid;
    grid-template-columns: 8fr 10fr 4fr;
    gap: 20px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
    overflow: hidden;
    align-items: start;
    padding: 0;
    margin-bottom: 30px;
}
.image-container { position:relative; width:100%; background:#f9f9f9; }
.image-container img { width:100%; height:auto; object-fit:contain; border-radius:8px; display:block; }
.car-middle { display:flex; flex-direction:column; justify-content:flex-start; padding:10px; }
.car-title-line { font-size:26px; font-weight:bold; margin-bottom:15px; color:#222; border-bottom:1px solid #eee; padding-bottom:4px; }
.car-features-grid { display:grid; grid-template-columns:1fr 1fr; gap:4px 20px; font-size:18px; }
.car-features-grid i { color:#353535; margin-right:8px; font-size:20px; }
.car-price { background:#353535; border-radius:8px; padding:20px; display:flex; flex-direction:column; justify-content:center; text-align:center; height:100%; }
.car-price .old-price { text-decoration:line-through; color:red; font-size:20px; }
.car-price .new-price { font-size:36px; font-weight:bold; margin:5px 0; }
.new-price {color:white}
.car-price .price-label { font-size:16px; color:#fff; }
.car-price a { display:block; background:#f4004a; color:#fff; text-align:center; padding:14px 0; border-radius:5px; margin-top:12px; text-decoration:none; font-size:18px; }
.car-price a:hover {color:#fff};
@media (max-width: 1100px) {
    .car-card { grid-template-columns: 1fr 1fr; }
    .car-price { margin-top: 0; grid-column: span 2; }
}

@media (max-width: 800px) {
    .car-card {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 10px;
    }
    .car-price { margin-top: 10px; grid-column: span 1; }
    .car-title-line { font-size: 18px; padding: 0 2px; }
    .car-features-grid { font-size: 16px; gap: 2px 8px; }
}

@media (max-width: 500px) {
    .car-card { padding: 4px; gap: 5px; }
    .car-title-line { font-size: 16px; }
    .car-features-grid { font-size: 16px; }
    .car-price .new-price { font-size: 24px; }
}

.fleet-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

@media (max-width: 1024px) {
    .fleet-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .fleet-grid {
        grid-template-columns: 1fr;
    }
}

.fleet-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 15px;
    transition: transform 0.2s;
}
.fleet-card:hover {
    transform: translateY(-3px);
}
.fleet-card img {
    width: 100%;
    height: 180px;
    object-fit: contain;
    border-radius: 8px;
    margin-bottom: 10px;
}
.fleet-title {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 5px;
    text-align: center;
}
.fleet-subtitle {
    font-size: 18px;
    font-weight: bold;
    color: #444;
    margin-bottom: 8px;
    text-align: center;
}
.fleet-features {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    font-size: 16px;
    margin-bottom: 10px;
}
.fleet-features span {
    display: flex;
    align-items: center;
    gap: 4px;
}
.fleet-features i { color: #353535; }
.fleet-card button {
    background: #004087;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
    font-weight: bold;
}
.fleet-filters-box {
    background: #353535;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    width: 100%;
}
.fleet-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.fleet-filters label {
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    color:white;
}
.fleet-filters input {
    margin-right: 8px;
}

#fleet-booking-form {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 40px;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 10px;
    border: 2px dashed #ccc;
}
#fleet-booking-form > * {
    min-width: 0;
}
/* Tablet: 2 στήλες */
@media (max-width: 900px) {
    #fleet-booking-form {
        grid-template-columns: repeat(2, 1fr);
    }
    #fleet-booking-form button {
        grid-column: span 2;
    }
}
/* Κινητό: 1 στήλη */
@media (max-width: 600px) {
    #fleet-booking-form {
        grid-template-columns: 1fr !important;
    }
    #fleet-booking-form button {
        grid-column: span 1 !important;
    }
}

.car-box > div:first-child {
    flex: 1 1 100%;
    max-width: 100%;
}
.car-box img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block;
}

        .info-box { 
            background: #353535;
            padding: 15px; border-radius: 8px; margin-bottom: 20px; color:#fff;   display: flex; }
                .info-box strong { font-weight: bold; }
                .pick1, .drop1 { margin-left: 20px; font-size: 18px; line-height: 3; }
                .pick1 i, .drop1 i {     font-size: 22px;
    margin-right: 6px;
    color: #353535 }
        .info-box i { color:#fff; }
        .car-box { display: grid; grid-template-columns: 1fr 2fr 1fr; background: #f9f9f9; border-radius: 8px; padding: 15px; align-items: center; margin-bottom: 20px; }
        .car-specs { display: flex; flex-direction: column; gap: 8px; font-size:16px; }
        .car-specs i { color: #000000; margin-right:6px; }
        .price-box { background: #004087; text-align: center; padding: 15px; border-radius: 8px; color:#fff}
        .price-box .price { font-size: 28px; font-weight: bold; color: #fff; }
        .package-container { display: flex; gap: 20px; flex-wrap: wrap; }
        .package-box { flex:1; border:1px solid #ccc; border-radius:10px; padding:20px; background:#fff; position:relative; }
        .package-box.recommended { background:#fff8d0; border-color:orange; }
        .package-title { font-weight:bold; font-size:24px; margin-bottom:10px; }
        .package-features { font-size:18px; margin:10px 0; }
        .package-btn { background:#004087; color:#fff!important; padding:10px; border:none; border-radius:5px; cursor:pointer; width:100%; font-weight:bold; }
        .package-btn.selected { background: #4caf50; }
        .addons-table td { padding:10px; }
.car-specs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 40px;
    font-size: 18px;
    line-height: 1.6;
    max-width: 500px; /* όριο πλάτους */
    margin: 0 auto; /* κεντράρισμα */
}

.car-specs i {
    font-size: 26px;
    margin-right: 6px;
    color: #353535;
}

/* Responsive: σε μικρές οθόνες → 1 στήλη */
@media (max-width: 600px) {
    .car-specs {
        grid-template-columns: 1fr;
    }
}
/* CAR BOX */
.car-box {
    display: grid;
    grid-template-columns: 1.5fr 1.5fr 1fr;
    background: linear-gradient(120deg, #f9f9f9 60%, #e3e8ee 100%);
    border-radius: 18px;
    padding: 22px 26px;
    align-items: center;
    margin-bottom: 28px;
    gap: 24px;
    box-shadow: 0 8px 32px 0 rgba(60, 72, 100, 0.12), 0 1.5px 8px 0 rgba(30, 42, 70, 0.06);
    transition: box-shadow 0.22s ease, transform 0.22s ease, background 0.22s;
    position: relative;
    overflow: hidden;
}
.car-box::before {
    content: "";
    position: absolute;
    top: -20px;
    right: -40px;
    width: 120px;
    height: 120px;
    background: rgba(140,180,255,0.08);
    border-radius: 50%;
    z-index: 0;
    pointer-events: none;
    filter: blur(4px);
}
.car-box:hover {
    box-shadow: 0 12px 36px 0 rgba(60, 72, 100, 0.18), 0 3px 18px 0 rgba(30, 42, 70, 0.10);
    transform: translateY(-2px) scale(1.016);
    background: linear-gradient(120deg, #f5fafd 60%, #e1e5ea 100%);
}
.car-box > * {
    z-index: 1;
    /* Optional: add a bit of animation on children */
    transition: color 0.18s, background 0.18s;
}
``

/* Πακέτα - δύο κουτιά δίπλα-δίπλα σε desktop */
.package-container {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
.package-box {
    flex: 1 1 300px;
    min-width: 280px;
    max-width: 420px;
}

@media (max-width: 900px) {
    .car-box {
        grid-template-columns: 1fr 1fr;
    }
    .car-box > :nth-child(3) {
        grid-column: span 2;
        margin-top: 10px;
    }
    .package-container {
        flex-direction: column;
        gap: 15px;
    }
    .package-box {
        max-width: 100%;
    }
    .price-package {
        font-size: 22px !important;
    }
}

/* Κινητό: Μία στήλη το car-box και τα πακέτα */
@media (max-width: 600px) {

    .car-box > div:first-child img {margin-bottom: 15px!important}
    .car-box {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 8px;
    }
    .car-box > * {
        grid-column: span 1 !important;
    }
    .car-specs {
        grid-template-columns: 1fr 1fr!important;
        font-size: 16px !important;
        gap: 10px 30px!important;
        padding-left:20px!important;
    }
    .package-container {
        flex-direction: column;
        gap: 10px;
    }
    .package-box {
        min-width: 0;
        max-width: 100%;
        padding: 12px;
    }
    .price-package {
        font-size: 22px !important;
    }
}
@media (max-width: 480px) {
    .package-features {
        font-size: 16px !important;
    }
    .package-features ul {
        padding-left: 6px;
    }
}
.car-box > div:first-child img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain;
    border-radius: 12px;
    display: block;
    max-width: 520px;
    margin: 0 auto;
    box-shadow: 0 8px 16px rgba(0,0,0,0.25);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.car-box > div:first-child:hover img {
    transform: scale(1.05);
    box-shadow: 0 12px 24px rgba(0,0,0,0.4);
}

}
@media (max-width: 900px) {
    .car-box > div:first-child img {
        max-width: 100% !important;
    }
}
@media (max-width: 600px) {
    .car-box {
        grid-template-columns: 1fr !important;
        gap: 10px 0;
        padding: 8px;
    }
    .car-box > div {
        grid-column: span 1 !important;
        width: 100%;
    }
    .car-box > div:first-child img {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0;
    }
}
.package-container {
    display: flex;
    flex-direction: row;
    gap: 20px;
    width: 100%;
    max-width: 100%;
}

.package-box {
    flex: 1 1 0;
    width: 50%;
    max-width: 50%;
    box-sizing: border-box;
}

/* Για mobile - κάθετα */
@media (max-width: 900px) {
    .package-container {
        flex-direction: column;
        gap: 15px;
    }
    .package-box {
        max-width: 100%;
        width: 100%;
    }
}
@media (max-width: 767px) {
  .info-box {
    flex-direction: column;
  }
  .pick1,
  .drop1 {
    margin-left: 0px;
  }
}

.text-red { color: red; margin-left: 6px; }
.text-green { color: green; margin-left: 6px; }
.package-features ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}
.package-features li {
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.price-per-day {
    font-weight:bold;
    font-size: 26px;
    margin-top: 20px;
    margin-bottom: 20px;
    text-align: center;
}

.package-btn.selected {
    background-color: #d64d3a !important;
    color: #fff;
    border: none;
}
.package-box.selected .package-btn {
    background-color: #d64d3a !important;
    color: white;
}

.price-package {
    font-size: 14px;
    color: #444;
    margin-top: 4px;
    text-align: center;

}

.addons-wrapper {
  overflow-x: auto;
  width: 100%;
}

.addons-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 20px 15px;
  font-size: 18px;
  min-width: 500px; /* Για αποφυγή κατάρρευσης σε πολύ μικρές οθόνες */
}

.addons-table td {
  background: #f9f9f9;
  padding: 20px;
  border-radius: 10px;
  vertical-align: middle;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.addons-table td:first-child {
  display: flex;
  align-items: center;
  font-weight: bold;
  color: #353535;
}
.addons-table td:nth-child(3) {
  text-align: right;
}

.addons-table input[type="number"] {
  width: 70px;
  font-size: 18px;
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid #ccc;
  text-align: center;
}

.addon-total {
  font-size: 20px;
  color: #353535;
  font-weight: bold;
  min-width: 80px;
  display: inline-block;
  text-align: left;
}

/* 📱 Responsive Adjustments */
@media (max-width: 600px) {
  .addons-table {
        min-width: unset;
    width: 100%;

    font-size: 15px;
    border-spacing: 10px 10px; /* λιγότερα κενά μεταξύ γραμμών/στηλών */
  }

  .addons-table td {
    padding: 10px 12px; /* λιγότερο padding παντού */
  }

  .addons-table td:first-child {
    font-size: 15px;
  }

  .addons-table select {
    width: 55px;
    font-size: 14px;
    padding: 4px 6px;
  }

  .addon-total {
    font-size: 14px;
    min-width: 50px;
  }
}

/* Εμφάνιση συνόλων */
.totals-line {
  margin: 12px 0;
  font-size: 20px;
  color: #353535;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f9f9f9;
  padding: 16px 20px;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.total-amount {
  font-weight: bold;
  font-size: 22px;
  color: #353535;
  min-width: 100px;
  text-align: right;
}

.input-with-icon { position: relative; }
    .input-with-icon i {
      position: absolute;
      top: 50%;
      left: 12px;
      transform: translateY(-50%);
      color: #999;
      font-size: 16px;
      pointer-events: none;
    }
    .input-with-icon input, .input-with-icon textarea {
      padding-left: 36px !important;
      background: #eef0f2;
      border: 1px solid #bbb;
      font-size: 16px;
      border-radius: 5px;
      width: 100%;
      transition: border 0.3s ease;
    }
    .input-with-icon input:focus, .input-with-icon textarea:focus {
      border-color: #353535;
      background: #fff;
      outline: none;
    }
    input#phone {
  padding-left: 35px !important;
  background: #eef0f2;
  border: 1px solid #bbb;
  font-size: 16px;
  border-radius: 5px;
  width: 100%;
  transition: border 0.3s ease;
}

    .final-booking-form {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      background: linear-gradient(135deg, #ffffff, #ffffff, #ffffff);
      padding: 30px;
      border-radius: 16px;
      border: 2px solid #353535;
      animation: popIn 0.6s ease;
      transition: all 0.3s ease;
    }
    .final-booking-form .full-width {
      grid-column: span 2;
    }
    .final-booking-form button {
      grid-column: span 2;
      background: #004087;
      color: white;
      font-weight: bold;
      padding: 12px;
      border: none;
      border-radius: 5px;
      font-size: 18px;
      cursor: pointer;
    }
    @media (max-width: 768px) {
      .final-booking-form { grid-template-columns: 1fr; }
      .final-booking-form button { grid-column: span 1; }
    }
    @media (max-width: 600px) {
      .final-booking-form {
        grid-template-columns: 1fr !important;
      }
      .final-booking-form > div, .final-booking-form .full-width {
        grid-column: span 1 !important;
        width: 100%;
      }
      .final-booking-form button[type="submit"] {
        width: 100% !important;
        grid-column: span 1 !important;
        margin-top: 15px;
      }
    }
    .info-box { 
            background: #353535;
            padding: 15px; border-radius: 8px; margin-bottom: 20px; color:#fff;   display: flex; }
                .info-box strong { font-weight: bold; }
                .pick1, .drop1 { margin-left: 20px; font-size: 18px; line-height: 3; }
                .pick1 i, .drop1 i {     font-size: 22px;
    margin-right: 6px;
    color: #353535 }
        .info-box i { color:#fff; }

.crs-bookings-widget td, .crs-bookings-widget th { padding:6px 8px; font-size:14px; }
    .crs-bookings-widget th { background:#f9f9f9; }

.crs-results-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}
.crs-filters{background:#fff;border:1px solid #eee;border-radius:10px;padding:16px;position:sticky;top:20px}
.crs-filter-title{font-weight:800;margin-bottom:10px}
.crs-filter-section{border-top:1px solid #eee;padding-top:12px;margin-top:12px}
.crs-filter-label{font-weight:700;margin-bottom:8px}
.crs-filter-item{display:flex;gap:10px;align-items:center;margin:6px 0;font-size:14px}

.crs-results{display:flex;flex-direction:column;gap:16px}
.crs-car-row{display:grid;grid-template-columns:220px 1fr 220px;gap:18px;background:#fff;border:1px solid #eee;border-radius:12px;padding:16px}
.crs-car-media img{width:100%;height:auto;display:block;object-fit:contain}
.crs-car-title{margin:0 0 8px 0;font-size:18px}
.crs-car-icons{display:flex;flex-wrap:wrap;gap:10px 14px;margin:8px 0;font-size:13px;opacity:.9}
.crs-car-bullets{margin:10px 0 0 0;padding:0;list-style:none}
.crs-car-bullets li{margin:6px 0}

.crs-car-pricebox{text-align:right;display:flex;flex-direction:column;gap:6px}
.crs-price-day{font-size:20px;font-weight:800}
.crs-price-total{font-size:13px;opacity:.8}
.crs-select-btn{margin-top:10px;display:inline-block;padding:10px 14px;border-radius:8px;text-decoration:none;font-weight:800}

.crs-accordion-btn{margin-top:10px;background:none;border:0;padding:0;font-weight:700;cursor:pointer;text-decoration:underline}
.crs-accordion-panel{margin-top:10px;padding-top:10px;border-top:1px dashed #ddd}

@media (max-width:980px){
  .crs-results-layout{grid-template-columns:1fr}
  .crs-car-row{grid-template-columns:1fr}
  .crs-car-pricebox{text-align:left}
}

/* --- CRS overrides to defeat theme CSS clashes --- */

/* Sidebar: κάνε σίγουρα ορατά τα labels */
.crs-filters,
.crs-filters *{
  box-sizing: border-box;
}

.crs-filters label,
.crs-filter-title,
.crs-filter-label,
.crs-filter-item{
  color:#111 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  opacity:1 !important;
  visibility:visible !important;
  text-transform:none !important;
}

.crs-filter-item{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:8px 0 !important;
}

.crs-filter-item input[type="checkbox"]{
  width:16px !important;
  height:16px !important;
  accent-color:#111;
}

/* Κουμπί apply να μην “σπάει” από theme */
.crs-apply-filters{
  width:100%;
  background:#111 !important;
  color:#fff !important;
  border:0 !important;
}

/* Car row icons: πιο καθαρή στοίχιση */
.crs-car-icons span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}

.crs-car-icons i{
  opacity:.8;
}

/* Badges να φαίνονται πάνω από εικόνα */
.crs-car-media{
  position:relative;
}

.crs-car-media .best-offer-image{
  position:absolute;
  top:8px;
  right:8px;
  z-index:5;
  width:64px;
  height:auto;
}

.crs-car-media .recommended-badge{
  position:absolute;
  left:8px;
  bottom:8px;
  z-index:5;
  width:110px;
  height:auto;
}
.crs-accordion-btn{
  display:inline-block !important;
  margin-top:10px !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  font-weight:700 !important;
  cursor:pointer !important;
  color:#0a58ca !important;
  text-decoration:underline !important;
}
.crs-accordion-panel[hidden]{
  display:none !important;
}
.crs-accordion-panel{
  display:block;
}
/* Make accordion button actually clickable */
.crs-car-meta { position: relative; z-index: 1; }
.crs-accordion-btn{
  position: relative !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
}

.crs-accordion-btn *{
  pointer-events: none; /* ώστε να πιάνει πάντα το button και όχι inner spans */
}

/* Κόψε τυχόν overlays */
.crs-car-row *{
  pointer-events: auto;
}

.crs-car-media { z-index: 0; }
.crs-car-meta { z-index: 2; }
.crs-car-pricebox { z-index: 2; }

.crs-price-range{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
}
.crs-price-range input{
  width:100%;
  padding:10px 12px;
  border:1px solid #ddd;
  border-radius:8px;
}

.crs-filter-actions{margin-top:12px}
.crs-reset-filters{display:inline-block;font-weight:800;text-decoration:underline}

.crs-price-range-meta{
  display:flex;
  justify-content:space-between;
  font-size:13px;
  opacity:.8;
  margin-bottom:8px;
}
.crs-price-slider{
  position:relative;
  display:grid;
  gap:10px;
}
.crs-price-slider input[type="range"]{
  width:100%;
}
.crs-price-range-values{
  display:flex;
  justify-content:space-between;
  font-weight:800;
  margin-top:8px;
}
.crs-price-slider-single input[type="range"]{ width:100%; }

.crs-filter-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.crs-reset-filters{
  font-weight:800;
  text-decoration:underline;
}

/* TIGHT */

/* =========================================================
   CRS UI (Europcar-ish density, your branding)
   Scope: only inside .crs-ui
   ========================================================= */

.crs-ui{
  --crs-font: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  /* your branding accents (tweak here) */
  --crs-accent: #d1001c;  /* red */
  --crs-accent-2: #0b3a82;/* blue */
  --crs-text: #111827;
  --crs-muted: #6b7280;
  --crs-border: #e5e7eb;
  --crs-bg: #ffffff;
  --crs-chip: #f3f4f6;

  /* density */
  --crs-r: 10px;            /* radius */
  --crs-pad: 14px;          /* card padding */
  --crs-gap: 12px;          /* gaps */
  --crs-fs: 14px;           /* base font size */
  --crs-lh: 1.25;           /* compact line height */
}

.crs-ui, .crs-ui *{
  font-family: var(--crs-font);
  box-sizing: border-box;
}

.crs-ui{
  color: var(--crs-text);
  font-size: var(--crs-fs);
  line-height: var(--crs-lh);
}

/* --- Layout --- */
.crs-ui.crs-results-layout{
  gap: 18px;
}

.crs-ui .crs-filters{
  border: 1px solid var(--crs-border);
  border-radius: var(--crs-r);
  padding: 14px;
  background: var(--crs-bg);
}

.crs-ui .crs-filter-header{
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--crs-border);
}

.crs-ui .crs-filter-title{
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .2px;
}

.crs-ui .crs-reset-filters{
  color: var(--crs-accent);
  font-weight: 800;
  text-decoration: none;
}
.crs-ui .crs-reset-filters:hover{
  text-decoration: underline;
}

.crs-ui .crs-filter-section{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--crs-border);
}

.crs-ui .crs-filter-label{
  font-size: 12px;
  font-weight: 800;
  color: var(--crs-text);
  margin-bottom: 8px;
  text-transform: none;
}

.crs-ui .crs-filter-item{
  margin: 6px 0;
  font-size: 13px;
  color: var(--crs-text);
}
.crs-ui .crs-filter-item input{
  transform: translateY(1px);
}

/* --- Results rows --- */
.crs-ui .crs-results{
  gap: 12px;
}

.crs-ui .crs-car-row{
  border: 1px solid var(--crs-border);
  border-radius: var(--crs-r);
  padding: var(--crs-pad);
  background: var(--crs-bg);
  grid-template-columns: 200px 1fr 200px; /* πιο compact */
  gap: 14px;
}

.crs-ui .crs-car-media img{
  border-radius: 10px;
}

.crs-ui .crs-car-title{
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 6px 0;
}

.crs-ui .crs-car-icons{
  margin: 6px 0 8px 0;
  font-size: 12px;
  opacity: 1;
  color: var(--crs-muted);
}
.crs-ui .crs-car-icons span{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--crs-chip);
}

.crs-ui .crs-car-bullets{
  margin-top: 8px;
}
.crs-ui .crs-car-bullets li{
  margin: 6px 0;
  color: var(--crs-text);
}
.crs-ui .crs-car-bullets li::marker{
  color: var(--crs-accent);
}

/* --- Accordion --- */
.crs-ui .crs-accordion-btn{
  margin-top: 8px;
  font-size: 13px;
  font-weight: 800;
  color: var(--crs-accent-2);
  text-decoration: none;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.crs-ui .crs-accordion-btn:hover{
  text-decoration: underline;
}
.crs-ui .crs-accordion-panel{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--crs-border);
}

/* --- Price box --- */
.crs-ui .crs-car-pricebox{
  text-align: right;
  gap: 6px;
}

.crs-ui .crs-price-day{
  font-size: 16px;
  font-weight: 900;
}

.crs-ui .crs-price-total{
  font-size: 12px;
  color: var(--crs-muted);
}

/* CTA button */
.crs-ui .crs-select-btn{
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--crs-accent);
  color: #fff;
  font-weight: 900;
  text-decoration: none;
  border: 0;
}
.crs-ui .crs-select-btn:hover{
  filter: brightness(0.95);
}

/* --- Slider (max price) --- */
.crs-ui .crs-price-range-meta{
  font-size: 12px;
  color: var(--crs-muted);
  margin-bottom: 6px;
}
.crs-ui .crs-price-range-values{
  font-size: 12px;
}
.crs-ui .crs-price-slider-single input[type="range"]{
  width: 100%;
}

/* --- Responsive --- */
@media (max-width: 980px){
  .crs-ui.crs-results-layout{
    grid-template-columns: 1fr;
  }
  .crs-ui .crs-filters{
    position: static;
  }
  .crs-ui .crs-car-row{
    grid-template-columns: 1fr;
  }

}
@media (max-width: 980px){
  .crs-ui.crs-results-layout{
    grid-template-columns: 1fr;
  }

  .crs-ui .crs-filters{
    position: static;
  }

  .crs-ui .crs-car-row{
    grid-template-columns: 1fr;
  }

  .crs-ui .crs-car-pricebox{
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 6px;
    width: 100%;
    margin-top: 4px;
  }

  .crs-ui .crs-price-day{
    font-size: 28px;
    line-height: 1.1;
  }

  .crs-ui .crs-price-total{
    font-size: 13px;
    line-height: 1.3;
  }

  .crs-ui .crs-select-btn{
    display: flex;
    width: 100%;
    margin-top: 8px;
  }
}
.crs-ui .crs-price-day{
  font-size: 20px;   /* ήταν 16px */
  font-weight: 900;
  letter-spacing: .2px;
}

.crs-ui .crs-price-total{
  font-size: 13px;   /* λίγο πιο ευανάγνωστο */
}

.crs-ui .crs-accordion-panel{
  font-size: 12px;           /* μικρότερα γράμματα μέσα */
  color: var(--crs-text);
}

.crs-ui .crs-accordion-panel .car-features-grid{
  font-size: 12px;
  gap: 6px 12px;
}

.crs-ui .crs-acc-chevron{
  display:inline-block;
  margin-left:6px;
  transition: transform .15s ease;
  color: var(--crs-muted);
}
.crs-ui .crs-accordion-btn[aria-expanded="true"] .crs-acc-chevron{
  transform: rotate(180deg);
}
.crs-ui i.fas, .crs-ui i.far, .crs-ui i.fab {
  display: inline-block !important;
  font-style: normal;
}

/* Force Font Awesome icons to actually render inside our UI */
.crs-ui .crs-car-icons i.fas,
.crs-ui .crs-car-icons i.far,
.crs-ui .crs-car-icons i.fab {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  display: inline-block !important;
  width: 1.1em !important;
  text-align: center !important;
  opacity: 1 !important;
  color: #6b7280 !important;
}

/* Ensure the chip itself doesn't collapse icons */
.crs-ui .crs-car-icons span{
  align-items: center !important;
  min-height: 24px !important;
}

/* ---------- Accordion details layout (override old .car-features-grid rules) ---------- */
.crs-ui .crs-accordion-panel .car-features-grid{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px 14px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  margin-top: 8px !important;
}

.crs-ui .crs-accordion-panel .car-features-grid > div{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 2px 0 !important;
  color: var(--crs-text) !important;
}

/* icons inside details */
.crs-ui .crs-accordion-panel .car-features-grid i{
  font-size: 12px !important;
  width: 1.1em !important;
  text-align: center !important;
  color: var(--crs-muted) !important;
  opacity: 1 !important;
}

@media (max-width: 600px){
  .crs-ui .crs-accordion-panel .car-features-grid{
    grid-template-columns: 1fr !important;
  }
}

.crs-ui .crs-accordion-panel .car-features-grid > div::before{
  content: none !important;
}

/* Accordion details like Europcar-style info block */
.crs-ui .crs-accordion-panel{
  background: #f7f7f8;
  border: 1px solid var(--crs-border);
  border-radius: 10px;
  padding: 14px;
}

.crs-ui .crs-details-header{
  font-size: 14px;
  font-weight: 900;
  margin-bottom: 10px;
  color: var(--crs-text);
}

.crs-ui .crs-details-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
}

.crs-ui .crs-details-chips .crs-chip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--crs-text);
  background: #fff;
  border: 1px solid var(--crs-border);
  border-radius: 999px;
  padding: 6px 10px;
}

.crs-ui .crs-details-chips .crs-chip i{
  font-size: 12px;
  width: 1.1em;
  text-align: center;
  color: var(--crs-muted);
  opacity: 1;
}

@media (max-width: 600px){
  .crs-ui .crs-details-chips .crs-chip{
    width: 100%;
  }
}

/* Force Font Awesome pseudo content to render */
.crs-ui .crs-chip i.fas::before,
.crs-ui .crs-chip i.far::before,
.crs-ui .crs-chip i.fab::before{
  content: inherit !important;
}

/* Make sure FA font is actually used */
.crs-ui .crs-chip i.fas,
.crs-ui .crs-chip i.far,
.crs-ui .crs-chip i.fab{
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  speak: never;
  font-style: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  line-height: 1 !important;
  display: inline-block !important;
  width: 1.2em !important;
  text-align: center !important;
  color: var(--crs-muted) !important;
}
/* Make the accordion panel span full card width */
.crs-ui .crs-car-row{
  position: relative;
}

.crs-ui .crs-details-full{
  grid-column: 1 / -1;   /* πιάνει από την 1η έως την τελευταία στήλη */
}

/* επειδή το panel είναι μέσα στο .crs-car-meta, βεβαιώνουμε ότι επιτρέπεται span */
.crs-ui .crs-car-meta{
  display: contents; /* κάνει τα παιδιά του να συμμετέχουν στο grid του parent */
}

/* Και ξαναδίνουμε layout μόνο στα “κανονικά” meta στοιχεία */
.crs-ui .crs-car-title,
.crs-ui .crs-car-icons,
.crs-ui .crs-car-bullets,
.crs-ui .crs-accordion-btn{
  grid-column: 2 / 3; /* μένουν στη μεσαία στήλη */
}

/* Full-width details panel as a new row under the card grid */
.crs-ui .crs-details-full{
  grid-column: 1 / -1;
  margin-top: 10px;
}

/* IMPORTANT: undo previous hack if you added it */
.crs-ui .crs-car-meta{
  display: block !important; /* αν είχες βάλει display:contents, το ακυρώνει */
}

/* Pricebox stays top-right */
.crs-ui .crs-car-pricebox{
  align-self: start;
}
/* Prevent FOUC: force accordion button style even before .crs-ui loads */
.crs-accordion-btn{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #0b3a82 !important; /* brand blue */
  font-weight: 800 !important;
  font-size: 13px !important;
  cursor: pointer !important;
  text-decoration: underline !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.crs-accordion-btn:hover{
  text-decoration: underline !important;
}

.crs-acc-chevron{
  display:inline-block !important;
  transition: transform .15s ease !important;
  color: #6b7280 !important;
}

/* Kill underline for accordion button + chevron (normal + hover) */
.crs-accordion-btn,
.crs-ui .crs-accordion-btn,
.crs-accordion-btn:hover,
.crs-ui .crs-accordion-btn:hover{
  text-decoration: none !important;
}

.crs-acc-chevron,
.crs-accordion-btn .crs-acc-chevron{
  text-decoration: none !important;
}

/* Stepper bar */
.crs-ui .crs-steps{
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}

.crs-ui .crs-step{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--crs-border);
  border-radius: 10px;
  padding: 10px 12px;
  min-height: 62px;
}

.crs-ui .crs-step-num{
  width: 26px;
  height: 26px;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 13px;
  background: #f3f4f6;
  color: var(--crs-muted);
  flex: 0 0 auto;
}

.crs-ui .crs-step-title{
  font-weight: 900;
  font-size: 14px;
  margin: 0;
}

.crs-ui .crs-step-sub{
  font-size: 13px;
  color: var(--crs-muted);
  margin-top: 3px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

.crs-ui .crs-step.active{
  border-color: var(--crs-accent-2);
  box-shadow: 0 0 0 2px rgba(11,58,130,.08);
}
.crs-ui .crs-step.active .crs-step-num{
  background: var(--crs-accent-2);
  color: #fff;
}

.crs-ui .crs-step.done .crs-step-num{
  background: #16a34a;
  color: #fff;
}

/* Responsive: 2 columns then 1 column */
@media (max-width: 980px){
  .crs-ui .crs-steps{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .crs-ui .crs-steps{ grid-template-columns: 1fr; }
  .crs-ui .crs-step-sub{ white-space: normal; }
}

.crs-ui .crs-step-link{
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer;
}

.crs-ui .crs-step-link:hover{
  border-color: var(--crs-accent-2);
  box-shadow: 0 0 0 2px rgba(11,58,130,.08);
}
.crs-ui .crs-step-sub-2lines{
  white-space: normal;
}
.crs-ui .crs-step-sub-2lines .crs-step-line{
  display:block;
  overflow:hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/* ONLY for the progress bar in rental_packages */
.crs-steps-inline{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
  margin: 18px auto 18px !important;
}

/* each step must behave like a “card” */
.crs-steps-inline .crs-step{
  width: auto !important;
  margin: 0 !important;
}

/* responsive: 2 columns on tablets, 1 column on phones */
@media (max-width: 1024px){
  .crs-steps-inline{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px){
  .crs-steps-inline{
    grid-template-columns: 1fr !important;
  }
}
.crs-checkout-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;

  margin:18px 0 14px;
  padding:14px 16px;

  background:#fff;
  border:1px solid #e6e9ef;
  border-radius:12px;
}

.crs-checkout-left{ min-width: 0; }
.crs-checkout-title{
  font-size:32px;
  line-height:1.15;
  font-weight:800;
  margin:0 0 6px;
}
.crs-checkout-sub{
  font-size:16px;
  font-weight:700;
  margin:0;
  color:#111827;
}

.crs-checkout-right{
  display:flex;
  align-items:center;
  gap:14px;
  flex-shrink:0;
}

.crs-checkout-total{
  text-align:right;
  min-width:120px;
}
.crs-checkout-total-label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  color:#111827;
}
.crs-checkout-total-amount{
  font-size:22px;
  font-weight:900;
  line-height:1.1;
}

.crs-checkout-btn{
  background:#f3c300;      /* Europcar-ish κίτρινο */
  color:#111;
  border:0;
  border-radius:8px;
  padding:12px 16px;
  font-weight:900;
  cursor:pointer;
  line-height:1.1;
}

.crs-checkout-btn:hover{ filter:brightness(.97); }

/* Responsive */
@media (max-width: 900px){
  .crs-checkout-bar{ flex-direction:column; align-items:stretch; }
  .crs-checkout-right{ justify-content:space-between; }
  .crs-checkout-title{ font-size:24px; }
}

/* Step 3 header (packages page) */
.crs-checkout-bar{
  margin: 18px 0 14px;
  padding: 12px 0;
}

.crs-checkout-title{
  font-size: 28px;
  line-height: 1.15;
  font-weight: 800;
  margin: 0 0 6px;
}

.crs-checkout-sub{
  font-size: 14px;
  font-weight: 700;
  margin: 0;
  color: #111827;
  opacity: .75;
}

@media (max-width: 768px){
  .crs-checkout-title{ font-size: 22px; }
}

/* =========================
   PACKAGES (FIXED LAYOUT)
========================= */

.package-container{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:16px;
}

@media (max-width: 980px){
  .package-container{ grid-template-columns:1fr; }
}

/* Card */
.package-box{
  position:relative;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  overflow:hidden;
  padding:18px;
  box-shadow:0 1px 0 rgba(0,0,0,.03);
}

/* Selected state */
.package-box.selected{
  border-color:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,.14);
}

/* Header block */
.pkg-head{ margin-bottom:14px; }

/* Selected badge (only when selected) */
.pkg-selected-badge{
  display:none;
  position:absolute;
  top:12px;
  left:12px;
  background:#16a34a;
  color:#fff;
  font-weight:800;
  font-size:11px;
  line-height:1;
  padding:6px 10px;
  border-radius:999px;
}

.package-box.selected .pkg-selected-badge{ display:inline-flex; }

/* Name row: keep title readable + ribbon aligned */
.pkg-name-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

/* Prevent "Premi / um" */
.pkg-name{
  font-weight:900;
  font-size:24px;
  line-height:1.15;
  color:#0f172a;
  white-space:nowrap;     /* <- stops ugly breaks */
  word-break:keep-all;
}

/* Stars inline */
.pkg-stars{
  margin-left:8px;
  font-size:14px;
  letter-spacing:1px;
  color:#f59e0b;
  vertical-align:middle;
  white-space:nowrap;
}

/* Ribbon (top right) */
.pkg-ribbon{
  background:#e11d48;
  color:#fff;
  font-weight:900;
  font-size:12px;
  line-height:1;
  padding:10px 12px;
  border-radius:10px;
  white-space:nowrap;
  flex:0 0 auto;
}

/* Liability line */
.pkg-liability{
  margin-top:10px;
  font-size:13px;
  color:#334155;
}
.pkg-liability strong{
  font-weight:900;
  color:#0f172a;
}

/* Divider under header */
.package-box .pkg-head:after{
  content:"";
  display:block;
  height:1px;
  background:#e5e7eb;
  margin-top:14px;
}

/* Features list */
.package-features{ margin-top:14px; }
.package-features ul{
  margin:0;
  padding:0;
  list-style:none;
}

/* Make each row a clean 2-column flex: left text, right ✓/✗ */
.package-features li{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #f1f5f9;
  font-size:14px;
  color:#0f172a;
}
.package-features li:last-child{ border-bottom:0; }

/* Left side (icon + text) */
.package-features li span{
  display:inline-flex;
  align-items:flex-start;
  gap:10px;
  min-width:0; /* allows text wrapping nicely */
}

/* Left icon */
.package-features li span i{
  flex:0 0 auto;
  width:18px;
  text-align:center;
  font-size:16px;
  line-height:1.2;
  margin-top:1px;
  color:#111827;
}

/* Left text must wrap normally, not split weird */
.package-features li span{
  white-space:normal;
}
.package-features li span *{
  word-break:normal;
  overflow-wrap:anywhere;
}

/* Right status icon */
.package-features li > i{
  flex:0 0 auto;
  width:18px;
  text-align:center;
  font-size:16px;
  line-height:1.2;
  margin-top:1px;
}

/* Keep your color helpers but NO opacity tricks */
.text-red{ color:#ef4444 !important; }
.text-green{ color:#22c55e !important; }

/* Price block */
.package-box .price{
  margin-top:14px;
  text-align:center;
}
.package-box .price-per-day{
  font-size:24px;
  font-weight:900;
  color:#0f172a;
}
.package-box .price-package{
  margin-top:2px;
  font-size:13px;
  color:#64748b;
}

/* Note line */
.package-box ul li[style*="list-style-type: none"]{
  border:0 !important;
  padding-top:14px !important;
  color:#64748b !important;
  font-size:13px !important;
  text-align:center !important;
}

/* Button */
.package-btn{
  width:100%;
  margin-top:14px;
  padding:12px 14px;
  border-radius:10px;
  font-weight:900;
  border:0;
  cursor:pointer;
  background:#facc15;
  color:#111827;
}
.package-box.selected .package-btn{
  background:#e5e7eb;
  color:#64748b;
  cursor:default;
}
/* 1) Κρύψε τελείως το -15% / ribbon */
.pkg-ribbon{ display:none !important; }

/* 2) Selected badge δεξιά (όχι πάνω στο title) */
.pkg-selected-badge{
  left:auto !important;
  right:12px !important;
  top:12px !important;
  z-index:2 !important;
}

/* 3) Πλάτος cards / λιγότερο “στενά” */
.package-container{
  max-width: 1200px;          /* άνοιξε το grid */
  margin: 16px auto 0;        /* κέντρο */
  grid-template-columns: repeat(3, minmax(320px, 1fr)) !important; /* φαρδύτερες στήλες */
  gap: 22px !important;
}

/* Αν η σελίδα είναι πιο στενή, πέφτει σωστά */
@media (max-width: 1100px){
  .package-container{
    grid-template-columns: 1fr !important;
    max-width: 720px;
  }
}

/* 4) Features: πιο “μαζεμένα” γράμματα/γραμμές */
.package-features li{
  padding: 8px 0 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}
.package-features li span i{
  margin-top: 0 !important;
}
.package-features li > i{
  margin-top: 0 !important;
}

/* Μη σπάνε άσχημα οι προτάσεις */
.package-features li span{
  max-width: calc(100% - 28px);
}

/* 5) Το header box (Choose...) να έχει σωστό padding */
.crs-checkout-bar{
  padding: 18px 22px !important;
}
.crs-checkout-title{
  margin: 0 0 6px 0 !important;
}
.crs-section-kicker{
  max-width: 1200px;
  margin: 10px auto 8px;
  padding: 0 22px;
  font-weight: 900;
  font-size: 18px;     /* “μεγαλώνει” όπως ζήτησες */
  color:#0f172a;
}
.crs-section-kicker{
  max-width: 1400px;
  margin: 14px auto 14px;
  padding: 0 22px;
  font-weight: 900;
  font-size: 22px;
  color:#0f172a;
}


/* άνοιξε όλο το “container” της περιοχής */
.crs-checkout-bar,
.crs-section-kicker,
.package-container{
  max-width: 1400px !important;
}

/* και κάνε τις στήλες πιο “φαρδιές” */
.package-container{
  grid-template-columns: repeat(3, minmax(380px, 1fr)) !important;
  gap: 26px !important;
}
/* =========================
   RENTAL PACKAGES – FIX WIDTH + HEADER
   (put at END of frontend.css)
   ========================= */

/* Header bar: title + subtitle inside, with padding */
.crs-checkout-bar{
  width: 100%;
  background: #fff;
  border: 1px solid #e6eaf2;
  border-radius: 10px;
  padding: 18px 22px;
  margin: 14px 0 18px;
  box-sizing: border-box;
}

.crs-checkout-title{
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
  margin: 0;
}

.crs-checkout-sub{
  margin-top: 6px;
  font-size: 16px;
  font-weight: 800;
  color: #111827;
}

/* Make packages area FULL width (no max-width choke) */
.package-container{
  width: 100% !important;
  max-width: 1280px !important;   /* ανέβασέ το όσο θες (πχ 1400) */
  margin: 0 auto !important;
  display: flex !important;
  gap: 22px !important;
  flex-wrap: nowrap !important;   /* 3 κάρτες δίπλα δίπλα */
  align-items: stretch !important;
  justify-content: space-between !important;
}

/* Each card: allow to grow (no 360px cap, no 50% overrides) */
.package-box{
  flex: 1 1 0 !important;
  max-width: none !important;
  min-width: 320px;               /* για να μην γίνουν “στικ” */
  border-radius: 10px !important;
}

/* Tighter feature text */
.package-features li{
  line-height: 1.25 !important;
  padding: 10px 0 !important;
}

.package-features ul{
  margin: 0 !important;
  padding: 0 !important;
}

/* If something forces 2 columns on some breakpoints, this keeps it stable */
@media (max-width: 1100px){
  .package-container{
    flex-wrap: wrap !important;
  }
  .package-box{
    min-width: 320px;
    flex: 1 1 calc(50% - 22px) !important;
  }
}

@media (max-width: 740px){
  .package-box{
    flex: 1 1 100% !important;
  }
}

.crs-extras-head{
  margin-top: 18px;
  margin-bottom: 10px;
}
.crs-extras-title{
  font-weight: 800;
  font-size: 18px;
  line-height: 1.2;
}
.crs-extras-sub{
  margin-top: 4px;
  color: #6b7280;
  font-size: 13px;
}

/* === Extras (addons) – πιο μικρά & μαζεμένα, ίδιο στυλ === */

.crs-extras-head{
  margin: 18px 0 10px;
  font-size: 18px;
  font-weight: 800;
}

.addons-wrapper{
  margin-top: 8px;
}

/* Αν κρατάς table */
.addons-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px; /* μικρό κενό ανάμεσα στις γραμμές */
}

.addons-table tr{
  /* τίποτα */
}

.addons-table td{
  padding: 14px 16px;      /* ΜΙΚΡΟΤΕΡΟ */
  background: #fff;
  border: 1px solid #e6e9ef;
  border-radius: 10px;     /* λίγο πιο “Europcar-ish” */
  vertical-align: middle;
}

/* 1ο td: τίτλος + icon */
.addons-table td:first-child{
  font-size: 16px;         /* ΜΙΚΡΟΤΕΡΟ */
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Icon μέσα στο 1ο td */
.addons-table td:first-child i{
  font-size: 20px !important;  /* ΜΙΚΡΟΤΕΡΟ */
  margin-right: 0 !important;
  color: #111827 !important;
  width: 24px;                 /* σταθερό πλάτος για στοίχιση */
  text-align: center;
}

/* 2ο td: select */
.addons-table td:nth-child(2){
  width: 220px;                /* πιο στενό */
}

.addons-table td:nth-child(2) select{
  width: 100%;
  height: 42px;                /* ΜΙΚΡΟΤΕΡΟ */
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid #d7dde7;
  font-size: 14px;
}

/* 3ο td: τιμή */
.addons-table td:nth-child(3){
  width: 260px;                /* πιο στενό */
  text-align: right;
  font-size: 18px;             /* ΜΙΚΡΟΤΕΡΟ */
  font-weight: 800;
}

/* Κάρτες totals πιο “σφιχτές” */
.totals-line{
  margin: 12px 0;
  padding: 16px 18px;          /* ΜΙΚΡΟΤΕΡΟ */
  border-radius: 12px;
}

/* Mobile: να “σπάει” ωραία */
@media (max-width: 900px){
  .addons-table{
    border-spacing: 0 10px;
  }
  .addons-table tr{
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .addons-table td{
    width: auto !important;
  }
  .addons-table td:nth-child(3){
    text-align: left;
  }
}
/* FINAL BOOKING: 65/35 layout */
.crs-final-layout{
  display:flex;
  gap:24px;
  align-items:flex-start;
  margin-top:16px;
}

.crs-final-main{
  flex:0 0 65%;
  max-width:65%;
}

.crs-final-aside{
  flex:1;
  min-width:280px;
  position:sticky;
  top:24px;
}

.crs-final-title{
  font-size:32px;
  font-weight:800;
  margin: 10px 0 18px;
}

/* Summary card */
.crs-summary-card{
  background:#fff;
  border:1px solid #e6e9ef;
  border-radius:12px;
  padding:16px;
  box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.crs-summary-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  padding-bottom:10px;
  border-bottom:1px solid #eef1f6;
  margin-bottom:12px;
}

.crs-summary-head-title{
  font-weight:800;
  font-size:16px;
}

.crs-summary-head-price{
  font-weight:800;
  font-size:14px;
}

.crs-summary-vehicle{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.crs-summary-vehicle-name{
  font-weight:800;
  font-size:14px;
  margin-bottom:4px;
}

.crs-summary-vehicle-sub{
  font-size:12px;
  color:#6b7280;
}

.crs-summary-thumb{
  width:90px;
  height:auto;
  object-fit:contain;
  border-radius:8px;
}

.crs-summary-block{
  background:#f6f7f9;
  border-radius:10px;
  padding:10px 12px;
  margin-top:10px;
}

.crs-summary-block-title{
  font-weight:800;
  font-size:12px;
  margin-bottom:4px;
}

.crs-summary-block-line{
  font-size:13px;
  font-weight:700;
}

.crs-summary-block-sub{
  font-size:12px;
  color:#6b7280;
  margin-top:2px;
}

.crs-summary-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #eef1f6;
}

.crs-summary-row-title{
  font-weight:800;
  font-size:13px;
}

.crs-summary-row-sub{
  font-size:12px;
  color:#6b7280;
  margin-top:2px;
}

.crs-summary-row-price{
  font-weight:800;
  font-size:13px;
}

.crs-summary-total{
  margin-top:14px;
  padding-top:12px;
}

.crs-summary-total-title{
  font-weight:900;
  font-size:18px;
}

.crs-summary-total-price{
  font-weight:900;
  font-size:22px;
  margin-top:2px;
}

.crs-summary-total-sub{
  font-size:12px;
  color:#6b7280;
  margin-top:2px;
}

/* Responsive: stack */
@media (max-width: 1024px){
  .crs-final-layout{ flex-direction:column; }
  .crs-final-main{ max-width:100%; flex-basis:auto; }
  .crs-final-aside{ position:static; width:100%; }
}

/* ===== Mobile Filters Drawer ===== */
@media (max-width: 900px){

  /* το κουμπί να πατιέται ΠΑΝΩ απ’ όλα */
  .crs-filters-toggle{
    position: sticky;
    top: 10px;
    z-index: 9999;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background: #fff;
    font-weight: 800;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  /* backdrop */
  .crs-filters-backdrop{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 9998;
  }

  /* drawer (aside) κρυφό by default */
  .crs-results-layout .crs-filters{
    position: fixed;
    top: 0;
    left: 0;
    height: 100dvh;
    width: min(88vw, 360px);
    transform: translateX(-110%);
    transition: transform .2s ease;
    z-index: 9999;
    background: #fff;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 12px 40px rgba(0,0,0,.25);
    padding-top: 0; /* γιατί θα έχει header */
  }

  /* όταν ανοίξει */
  body.crs-filters-open .crs-results-layout .crs-filters{
    transform: translateX(0);
  }
  body.crs-filters-open .crs-filters-backdrop{
    display: block;
  }

  /* header στο drawer */
  .crs-filters-mobile-head{
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid #e5e7eb;
    background: #fff;
  }
  .crs-filters-mobile-title{
    font-weight: 900;
  }
  .crs-filters-close{
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background: #fff;
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
  }

  /* στο mobile, το layout να μη “κρατάει” χώρο για aside */
  .crs-results-layout{
    grid-template-columns: 1fr !important;
  }

  /* προαιρετικά: όταν ανοίγουν φίλτρα να μην κάνει scroll το background */
  body.crs-filters-open{
    overflow: hidden;
    touch-action: none;
  }
}

/* Desktop: κρύψε τα mobile-only στοιχεία */
@media (min-width: 901px){
  .crs-filters-toggle,
  .crs-filters-backdrop,
  .crs-filters-mobile-head{
    display: none !important;
  }
}

/* ===== Mobile Filters Drawer (Step 2) ===== */
.crs-filters-toggle,
.crs-filters-close{
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #111827;
  font: inherit;
  line-height: 1;
}

.crs-filters-toggle{
  display: none; /* desktop hidden */
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 700;
}

.crs-filters-toggle__icon{
  font-size: 18px;
}

.crs-filters-toggle__text{
  font-size: 14px;
}

/* Close button inside drawer header */
.crs-filters-close{
  display: none; /* desktop hidden */
  width: 40px;
  height: 40px;
  border-radius: 10px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

/* Overlay */
.crs-filters-overlay{
  display: none;
}

/* Mobile rules */
@media (max-width: 900px){

  .crs-filters-toggle{
    display: inline-flex; /* show button on mobile */
    margin: 12px 0 12px 0;
  }

  /* Turn sidebar into off-canvas drawer */
  .crs-filters{
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: min(92vw, 420px);
    background: #fff;
    z-index: 9999;
    transform: translateX(110%);
    transition: transform .2s ease;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: -10px 0 30px rgba(0,0,0,.12);
    padding-bottom: 24px;
  }

  /* Show close button in the filter header area */
  .crs-filter-header{
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 2;
  }

  .crs-filter-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .crs-filters-close{
    display: inline-flex;
    flex: 0 0 auto;
  }

  /* Overlay behind drawer */
  .crs-filters-overlay{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.35);
    z-index: 9998;
  }

  body.crs-filters-open .crs-filters{
    transform: translateX(0);
  }

  body.crs-filters-open .crs-filters-overlay{
    display: block;
  }

  /* Lock background scroll when drawer open */
  body.crs-filters-open{
    overflow: hidden;
    touch-action: none;
  }
}

/* IMPORTANT: protect button text from “invisible text” CSS */
.crs-filters-toggle *{
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
  font-size: inherit;
}

/* Hide filters header on mobile */
@media (max-width: 768px){
  .crs-filter-header{
    display: none !important;
  }
}

@media (max-width: 480px){
  .crs-ui .crs-car-row{
    padding: 12px;
    gap: 12px;
  }

  .crs-ui .crs-price-day{
    font-size: 24px;
  }

  .crs-ui .crs-select-btn{
    min-height: 44px;
    font-size: 15px;
  }
}
.pkg-feature--cdw {
  display: block !important;
}

.pkg-feature--cdw .pkg-feature-text {
  display: inline !important;
}

.pkg-feature--cdw .pkg-feature-amount {
  display: inline !important;
  margin-left: 6px;
  white-space: nowrap;
}

/* το x να πάει δεξιά όπως πριν */
.pkg-feature--cdw .fa-xmark {
  float: right;
  margin-left: 10px;
}


/* Package features: X = grey text, ✓ = bold text */
.package-features li.crs-feature-no span {
  color: #9ca3af; /* grey */
}

.package-features li.crs-feature-yes span {
  font-weight: 800; /* bold */
}

/* NO: γκρι κείμενο + γκρι icons */
.crs-feature-no,
.crs-feature-no span {
  color: #9ca3af !important;
}

.crs-feature-no i,
.crs-feature-no svg,
.crs-feature-no .text-red,
.crs-feature-no .text-green {
  color: #9ca3af !important;
}

/* YES */
.crs-feature-yes span {
  font-weight: 700;
}


.input-with-icon select {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
}


.crs-group-carousel,
.crs-group-track,
.crs-group-slide,
.crs-car-row{
  overflow: visible !important;
}

.crs-accordion-panel.crs-details-full{
  display: block;
  width: 100%;
  margin-top: 12px;
}

.crs-accordion-panel[hidden]{
  display: none !important;
}


.crs-ui .crs-steps {margin-top: -40px!important}

.crs-ui.crs-steps,
.crs-ui.crs-steps-inline,
.crs-steps.crs-ui,
.crs-steps-inline.crs-ui {
  margin-top: -40px !important;
}


@media (max-width: 768px){

    .crs-ui .crs-steps {margin-top: -80px!important}


.crs-ui.crs-steps,
.crs-ui.crs-steps-inline,
.crs-steps.crs-ui,
.crs-steps-inline.crs-ui {
  margin-top: -80px !important;
}

}


@media (max-width: 767px) {
  .crs-steps,
  .crs-steps-inline {
    margin-top: 8px !important;
    margin-bottom: 12px !important;
    gap: 0 !important;
  }

  .crs-step {
    display: none !important;
  }

  .crs-step.active {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
  }
}


@media (max-width: 767px) {
  .crs-step.active {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 46px !important;
  }

  .crs-step-back-mobile {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: absolute !important;
    left: 8px !important;
    right: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    text-decoration: none !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: #fff !important;
    background: #0b3a82;
    border: 0;
    box-shadow: 0 1px 4px rgba(0,0,0,.12);
    z-index: 3;
  }

  .crs-step-back-mobile:hover,
  .crs-step-back-mobile:focus {
    color: #fff !important;
    background: #0a326f;
    text-decoration: none !important;
  }

  .crs-step.active .crs-step-num {
    flex-shrink: 0;
  }
}

@media (min-width: 768px) {
  .crs-step-back-mobile {
    display: none !important;
  }
}

.phone-field-wrap {
  position: relative;
}

.phone-field-wrap .iti {
  width: 100% !important;
  display: block !important;
}

.phone-field-wrap .iti input#phone,
.phone-field-wrap .iti input[type="tel"] {
  width: 100% !important;
  height: 58px !important;
  padding-left: 100px !important;
  box-sizing: border-box !important;
}

.phone-field-wrap .iti__flag-container {
  left: 0 !important;
}

.phone-field-wrap .iti--separate-dial-code .iti__selected-flag {
  background: transparent !important;
  height: 58px !important;
  padding-left: 14px !important;
  padding-right: 10px !important;
}

.phone-field-wrap .iti__selected-dial-code {
  margin-left: 8px !important;
  font-size: 16px !important;
}

.phone-field-wrap .iti__arrow {
  margin-left: 6px !important;
}