/*
Theme Name: Ben Rental Elementor
Theme URI: https://new.benrentacar.gr/
Description: A lightweight Elementor-oriented staging theme for Ben Rental, designed to preserve FleetManagement and booking functionality while replacing the legacy presentation layer.
Version: 1.0.0
Author: Ben Rental
Text Domain: ben-rental-elementor
*/

:root {
  --ben-navy: #073b78;
  --ben-navy-dark: #062c5b;
  --ben-red: #e43e44;
  --ben-sky: #f4fbfe;
  --ben-ink: #17364b;
  --ben-muted: #48697b;
  --ben-line: #dceaf2;
  --ben-white: #ffffff;
  --ben-radius: 10px;
  --ben-shadow: 0 12px 30px rgba(7, 59, 120, .11);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--ben-ink); font-family: Arial, Helvetica, sans-serif; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--ben-red); }
img { max-width: 100%; height: auto; }

.bre-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.bre-site-main { min-height: 50vh; }
.bre-fallback-header { background: #fff; border-bottom: 1px solid var(--ben-line); }
.bre-fallback-header__top { background: var(--ben-navy); color: #fff; font-size: 14px; }
.bre-fallback-header__top .bre-shell { display: flex; justify-content: space-between; gap: 18px; padding: 9px 0; flex-wrap: wrap; }
.bre-fallback-header__top a { color: #fff; }
.bre-fallback-header__main { display: flex; gap: 26px; align-items: center; justify-content: space-between; padding: 16px 0; }
.bre-brand img { display: block; max-width: 150px; }
.bre-primary-nav ul { display: flex; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; justify-content: center; gap: 4px; }
.bre-primary-nav a { display: block; padding: 10px 11px; color: var(--ben-navy); font-size: 15px; font-weight: 700; }
.bre-primary-nav .current-menu-item a, .bre-primary-nav a:hover { color: var(--ben-red); }
.bre-book-button { display: inline-flex; justify-content: center; align-items: center; min-height: 42px; padding: 10px 17px; border-radius: 6px; background: var(--ben-red); color: #fff !important; font-weight: 700; white-space: nowrap; }
.bre-book-button:hover { background: #c92f36; color: #fff; }

.bre-entry-title { padding: 42px 0 26px; background: var(--ben-sky); }
.bre-entry-title h1 { margin: 0; color: var(--ben-navy); font-size: clamp(30px, 4vw, 46px); line-height: 1.14; }
.bre-entry { padding: 42px 0 64px; }
.bre-entry .entry-content { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

.bre-fallback-footer { margin-top: 0; padding-top: 48px; background: var(--ben-navy); color: #dceaf2; }
.bre-fallback-footer a { color: #fff; }
.bre-fallback-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.1fr; gap: 30px; padding-bottom: 35px; }
.bre-fallback-footer h2 { margin: 0 0 13px; color: #fff; font-size: 18px; }
.bre-fallback-footer p { margin: 0 0 12px; }
.bre-fallback-footer ul { list-style: none; margin: 0; padding: 0; }
.bre-fallback-footer li { margin: 8px 0; }
.bre-fallback-footer__bottom { background: var(--ben-navy-dark); padding: 17px 0; font-size: 13px; }
.bre-fallback-footer__bottom .bre-shell { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

.elementor-location-header + .bre-site-main .bre-entry-title { display: none; }
.elementor-location-header + .bre-site-main .bre-entry { padding-top: 0; }

@media (max-width: 900px) {
  .bre-fallback-header__main { flex-wrap: wrap; justify-content: center; }
  .bre-primary-nav { width: 100%; order: 3; }
  .bre-fallback-footer__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .bre-shell, .bre-entry .entry-content { width: min(100% - 28px, 1180px); }
  .bre-fallback-header__top .bre-shell { justify-content: center; text-align: center; }
  .bre-primary-nav ul { gap: 0; }
  .bre-primary-nav a { padding: 8px 7px; font-size: 13px; }
  .bre-fallback-footer__grid { grid-template-columns: 1fr; gap: 24px; }
}

/* FleetManagement compatibility presentation — staging theme only. */
#formElem {
  display: block;
  margin: 18px 0 24px;
  padding: 24px;
  border: 1px solid var(--ben-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--ben-shadow);
}
#formElem .search_form_row { margin: 0; }
#formElem .form_title { display: block; margin: 0 0 7px; color: var(--ben-navy); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
#formElem select,
#formElem input[type="text"],
#formElem input[type="date"] {
  width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #b9cfde; border-radius: 7px; color: var(--ben-ink); background: #fff; font: inherit;
}
#formElem select:focus,
#formElem input[type="text"]:focus,
#formElem input[type="date"]:focus { outline: 3px solid rgba(7,59,120,.16); border-color: var(--ben-navy); }
#formElem .time { min-width: 0; }
#formElem .crs-form-submit { display: flex; align-items: flex-end; }
#formElem .car-rental-do-search {
  width: 100%; min-height: 46px; padding: 11px 18px; border: 0; border-radius: 7px; background: var(--ben-red); color: #fff; font: inherit; font-weight: 800; cursor: pointer; transition: background .2s ease, transform .2s ease;
}
#formElem .car-rental-do-search:hover { background: #c92f36; transform: translateY(-1px); }
#formElem button.btn { margin-top: 14px; padding: 7px 10px; border: 1px solid var(--ben-line); border-radius: 6px; background: #f5f9fc; color: var(--ben-navy); font-weight: 700; cursor: pointer; }
#formElem .filters select, #formElem .codes input { margin-top: 10px; }

.entry-content > .car-rental-items,
.entry-content .car-rental-items { margin-top: 26px; }
.entry-content .car-rental-items.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 22px; }
.entry-content .car-rental-items .item { min-width: 0; overflow: hidden; border: 1px solid var(--ben-line); border-radius: 12px; background: #fff; box-shadow: 0 7px 20px rgba(7,59,120,.08); }
.entry-content .car-rental-items .item img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: contain; padding: 18px; background: #f7fbfd; }
.entry-content .car-rental-items .item h4,
.entry-content .car-rental-items .item h5 { color: var(--ben-navy); }
.entry-content #change_layout_btn,
.entry-content #show_all,
.entry-content .car-rental-items + * button { margin: 0 8px 16px 0; padding: 8px 12px; border: 1px solid var(--ben-line); border-radius: 6px; background: #f5f9fc; color: var(--ben-navy); font-weight: 700; }
.entry-content .car-rental-filtering { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 16px 0 26px; padding: 18px; border: 1px solid var(--ben-line); border-radius: 12px; background: var(--ben-sky); }
.entry-content .car-rental-filtering select { width: 100%; min-height: 42px; padding: 8px 9px; border: 1px solid #b9cfde; border-radius: 6px; background: #fff; color: var(--ben-ink); }

@media (max-width: 900px) {
  #formElem { padding: 18px; }
  #formElem .crs-form-submit { margin-top: 16px; }
  .entry-content .car-rental-filtering { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
  #formElem { padding: 15px; }
  #formElem .crs-form-submit { width: 100%; }
  .entry-content .car-rental-filtering { grid-template-columns: 1fr; }
  .entry-content .car-rental-items.grid { grid-template-columns: 1fr; }
}

/* Fleet catalog selectors matched to the current FleetManagement markup. */
.entry-content .cars-listing-top-bar {
  display: flex !important;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
  margin: 18px 0 26px !important;
  padding: 18px;
  border: 1px solid var(--ben-line);
  border-radius: 12px;
  background: var(--ben-sky);
}
.entry-content .cars-listing-top-bar .fancy-group {
  flex: 1 1 150px;
  min-width: 0;
  padding: 0 !important;
}
.entry-content .cars-listing-top-bar select {
  width: 100% !important;
  min-height: 42px;
  padding: 8px 9px;
  border: 1px solid #b9cfde;
  border-radius: 6px;
  background: #fff;
  color: var(--ben-ink);
}
.entry-content .cars-listing-top-bar #change_layout_btn,
.entry-content .cars-listing-top-bar #show_all {
  min-height: 42px;
  margin: 0 !important;
  padding: 9px 12px;
  border: 1px solid var(--ben-line);
  border-radius: 6px;
  background: #fff;
  color: var(--ben-navy);
  font-weight: 800;
  cursor: pointer;
}
.entry-content .car-rental-items.grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
  gap: 22px;
  margin: 0 !important;
}
.entry-content .car-rental-items.grid > .single-car-list {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.entry-content .car-rental-items.grid > .single-car-list > .box_shadow {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--ben-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(7,59,120,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.entry-content .car-rental-items.grid > .single-car-list > .box_shadow:hover { transform: translateY(-3px); box-shadow: var(--ben-shadow); }
.entry-content .car-rental-items .item-image { min-height: 180px; padding: 14px; background: #f7fbfd; }
.entry-content .car-rental-items .item-image img { width: 100%; height: 150px; object-fit: contain; }
.entry-content .car-rental-items .item-details-group { padding: 18px !important; }
.entry-content .car-rental-items .item_list_titles { margin: 0 0 12px; color: var(--ben-navy); font-size: 20px; line-height: 1.25; }
.entry-content .car-rental-items .item_details { color: var(--ben-muted); font-size: 14px; }
.entry-content .car-rental-items .item-pricing { margin-top: 15px; padding-top: 14px !important; border-top: 1px solid var(--ben-line); }
.entry-content .car-rental-items .item_list_price { color: var(--ben-red); font-size: 23px; font-weight: 800; }
.entry-content .car-rental-items a[href*="/car-model/"] { color: var(--ben-navy); }
.entry-content .car-rental-items .rent-button,
.entry-content .car-rental-items .btn-primary { background: var(--ben-red); color: #fff; }
@media (max-width: 580px) {
  .entry-content .cars-listing-top-bar { padding: 14px; }
  .entry-content .cars-listing-top-bar .fancy-group { flex-basis: 100%; }
  .entry-content .car-rental-items.grid { grid-template-columns: 1fr; }
}

/* The legacy footer-redesign module remains the single global footer during the staging migration. */
.bre-fallback-footer { display: none !important; }

/* English Elementor booking and contact page system. */
.bre-booking-hero,
.bre-contact-hero { color: #fff; }
.bre-booking-hero .elementor-heading-title,
.bre-contact-hero .elementor-heading-title { color: #fff !important; }
.bre-booking-hero .elementor-widget-text-editor,
.bre-booking-hero .elementor-widget-text-editor p,
.bre-contact-hero .elementor-widget-text-editor,
.bre-contact-hero .elementor-widget-text-editor p { color: #dceaf2 !important; }
.bre-booking-eyebrow,
.bre-contact-eyebrow,
.bre-booking-kicker,
.bre-contact-kicker,
.bre-contact-office-label { margin: 0 0 10px; color: var(--ben-red) !important; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bre-booking-hero .bre-booking-eyebrow,
.bre-contact-hero .bre-contact-eyebrow { color: #a9dcec !important; }
.bre-booking-trust { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-top: 21px; color: #fff; font-size: 14px; font-weight: 700; }
.bre-booking-trust span { display: inline-flex; align-items: center; padding: 6px 10px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(255,255,255,.08); }
.bre-contact-quick-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 23px; }
.bre-contact-quick-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 14px; border: 1px solid rgba(255,255,255,.55); border-radius: 7px; color: #fff !important; font-weight: 800; transition: transform .18s ease, background .18s ease; }
.bre-contact-quick-links a:hover { background: #fff; color: var(--ben-navy) !important; transform: translateY(-1px); }
.bre-booking-search .elementor-widget-heading h2,
.bre-contact-office-grid .elementor-widget-heading h2,
.bre-contact-form-section .elementor-widget-heading h2 { color: var(--ben-navy); }
.bre-booking-search .elementor-widget-text-editor p,
.bre-contact-office-grid .elementor-widget-text-editor p { color: var(--ben-muted); }
.bre-booking-step-card > .elementor-column-wrap,
.bre-booking-step-card > .elementor-widget-wrap,
.bre-contact-office-card > .elementor-column-wrap,
.bre-contact-office-card > .elementor-widget-wrap { height: 100%; padding: 26px; border: 1px solid var(--ben-line); border-radius: 12px; background: #fff; box-shadow: 0 7px 20px rgba(7,59,120,.08); }
.bre-booking-step-card .elementor-heading-title { color: var(--ben-navy); }
.bre-booking-step-card .elementor-widget-heading:first-child .elementor-heading-title { color: var(--ben-red); font-size: 27px; }
.bre-contact-office-card .elementor-heading-title { color: var(--ben-navy); }
.bre-contact-office-card a { color: var(--ben-navy); font-weight: 700; }
.bre-contact-office-card a:hover { color: var(--ben-red); }
.bre-contact-map { overflow: hidden; margin-top: 20px; border-radius: 9px; box-shadow: 0 7px 20px rgba(7,59,120,.12); }
.bre-contact-map iframe { display: block; width: 100%; min-height: 290px; }
.bre-contact-form-copy .elementor-heading-title { color: var(--ben-navy); }
.bre-contact-form-card > .elementor-column-wrap,
.bre-contact-form-card > .elementor-widget-wrap { padding: 26px; border-radius: 12px; background: #fff; box-shadow: var(--ben-shadow); }
.bre-contact-form-card .wpcf7-form p { margin: 0 0 13px; }
.bre-contact-form-card .wpcf7-form-control:not(.wpcf7-submit) { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #b9cfde; border-radius: 7px; color: var(--ben-ink); background: #fff; font: inherit; }
.bre-contact-form-card textarea.wpcf7-form-control { min-height: 135px; resize: vertical; }
.bre-contact-form-card .wpcf7-submit { min-height: 46px; padding: 10px 18px; border: 0; border-radius: 7px; background: var(--ben-red); color: #fff; font: inherit; font-weight: 800; cursor: pointer; transition: transform .18s ease, background .18s ease; }
.bre-contact-form-card .wpcf7-submit:hover { background: #c92f36; transform: translateY(-1px); }
@media (max-width: 767px) {
  .bre-booking-hero,
  .bre-contact-hero { text-align: left; }
  .bre-booking-trust,
  .bre-contact-quick-links { justify-content: flex-start; }
  .bre-booking-step-card > .elementor-column-wrap,
  .bre-booking-step-card > .elementor-widget-wrap,
  .bre-contact-office-card > .elementor-column-wrap,
  .bre-contact-office-card > .elementor-widget-wrap { margin-bottom: 16px; }
  .bre-contact-form-card > .elementor-column-wrap,
  .bre-contact-form-card > .elementor-widget-wrap { padding: 18px; }
}

/* FAQ page presentation. */
.bre-faq-hero { color: #fff; }
.bre-faq-hero .elementor-heading-title { color: #fff !important; }
.bre-faq-hero .elementor-widget-text-editor,
.bre-faq-hero .elementor-widget-text-editor p { color: #dceaf2 !important; }
.bre-faq-eyebrow,
.bre-faq-kicker { margin: 0 0 10px; color: var(--ben-red) !important; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bre-faq-hero .bre-faq-eyebrow { color: #a9dcec !important; }
.bre-faq-quick-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 22px; }
.bre-faq-quick-links a,
.bre-faq-cta-link a { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 14px; border: 1px solid rgba(255,255,255,.55); border-radius: 7px; color: #fff !important; font-weight: 800; transition: transform .18s ease, background .18s ease; }
.bre-faq-quick-links a:hover { background: #fff; color: var(--ben-navy) !important; transform: translateY(-1px); }
.bre-faq-content .elementor-heading-title,
.bre-faq-cta .elementor-heading-title { color: var(--ben-navy); }
.bre-faq-content .elementor-accordion { margin-top: 28px; border: 1px solid var(--ben-line); border-bottom: 0; border-radius: 12px; overflow: hidden; box-shadow: 0 7px 20px rgba(7,59,120,.08); }
.bre-faq-content .elementor-accordion-item { margin: 0 !important; border: 0 !important; border-bottom: 1px solid var(--ben-line) !important; }
.bre-faq-content .elementor-tab-title { padding: 18px 20px !important; background: #fff; color: var(--ben-navy) !important; font-weight: 800; }
.bre-faq-content .elementor-tab-title.elementor-active { background: #eef8fc; color: var(--ben-red) !important; }
.bre-faq-content .elementor-tab-content { padding: 18px 20px 20px !important; border-top: 1px solid var(--ben-line) !important; background: #fff; color: var(--ben-ink); }
.bre-faq-content .elementor-tab-content a { color: var(--ben-navy); font-weight: 800; text-decoration: underline; }
.bre-faq-cta { text-align: center; }
.bre-faq-cta-link a { border-color: var(--ben-red); background: var(--ben-red); }
.bre-faq-cta-link a:hover { background: #c92f36; transform: translateY(-1px); }
@media (max-width: 767px) {
  .bre-faq-hero { text-align: left; }
  .bre-faq-quick-links { justify-content: flex-start; }
  .bre-faq-content .elementor-tab-title,
  .bre-faq-content .elementor-tab-content { padding-left: 15px !important; padding-right: 15px !important; }
}

/* Terms and Conditions page presentation. */
.bre-terms-hero { color: #fff; }
.bre-terms-hero .elementor-heading-title { color: #fff !important; }
.bre-terms-hero .elementor-widget-text-editor,
.bre-terms-hero .elementor-widget-text-editor p { color: #dceaf2 !important; }
.bre-terms-eyebrow,
.bre-terms-kicker { margin: 0 0 10px; color: var(--ben-red) !important; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bre-terms-hero .bre-terms-eyebrow { color: #a9dcec !important; }
.bre-terms-quick-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 22px; }
.bre-terms-quick-links a,
.bre-terms-cta-link a { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 14px; border: 1px solid rgba(255,255,255,.55); border-radius: 7px; color: #fff !important; font-weight: 800; transition: transform .18s ease, background .18s ease; }
.bre-terms-quick-links a:hover { background: #fff; color: var(--ben-navy) !important; transform: translateY(-1px); }
.bre-terms-summary-card > .elementor-column-wrap,
.bre-terms-summary-card > .elementor-widget-wrap { height: 100%; padding: 25px; border: 1px solid var(--ben-line); border-radius: 12px; background: #fff; box-shadow: 0 7px 20px rgba(7,59,120,.08); }
.bre-terms-summary-card .elementor-heading-title { color: var(--ben-navy); }
.bre-terms-summary-card .elementor-widget-text-editor p { color: var(--ben-muted); }
.bre-terms-details .elementor-heading-title,
.bre-terms-cta .elementor-heading-title { color: var(--ben-navy); }
.bre-terms-details .elementor-widget-text-editor { color: var(--ben-ink); }
.bre-terms-details .elementor-widget-text-editor h2 { margin-top: 32px; }
.bre-terms-details .elementor-widget-text-editor ul { padding-left: 22px; }
.bre-terms-details .elementor-widget-text-editor li { margin-bottom: 9px; }
.bre-terms-cta { text-align: center; }
.bre-terms-cta-link a { border-color: var(--ben-red); background: var(--ben-red); }
.bre-terms-cta-link a:hover { background: #c92f36; transform: translateY(-1px); }
@media (max-width: 767px) {
  .bre-terms-hero { text-align: left; }
  .bre-terms-quick-links { justify-content: flex-start; }
  .bre-terms-summary-card > .elementor-column-wrap,
  .bre-terms-summary-card > .elementor-widget-wrap { margin-bottom: 16px; }
}

/* Locations page presentation. */
.bre-locations-hero { color: #fff; }
.bre-locations-hero .elementor-heading-title { color: #fff !important; }
.bre-locations-hero .elementor-widget-text-editor,
.bre-locations-hero .elementor-widget-text-editor p { color: #dceaf2 !important; }
.bre-locations-eyebrow,
.bre-locations-kicker,
.bre-locations-office-label { margin: 0 0 10px; color: var(--ben-red) !important; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bre-locations-hero .bre-locations-eyebrow { color: #a9dcec !important; }
.bre-locations-quick-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 22px; }
.bre-locations-quick-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 14px; border: 1px solid rgba(255,255,255,.55); border-radius: 7px; color: #fff !important; font-weight: 800; transition: transform .18s ease, background .18s ease; }
.bre-locations-quick-links a:hover { background: #fff; color: var(--ben-navy) !important; transform: translateY(-1px); }
.bre-locations-office-card > .elementor-column-wrap,
.bre-locations-office-card > .elementor-widget-wrap { height: 100%; padding: 26px; border: 1px solid var(--ben-line); border-radius: 12px; background: #fff; box-shadow: 0 7px 20px rgba(7,59,120,.08); }
.bre-locations-office-card .elementor-heading-title,
.bre-locations-booking .elementor-heading-title { color: var(--ben-navy); }
.bre-locations-office-card .elementor-widget-text-editor p { color: var(--ben-muted); }
.bre-locations-office-card a { color: var(--ben-navy); font-weight: 800; }
.bre-locations-office-card a:hover { color: var(--ben-red); }
.bre-locations-map { overflow: hidden; margin-top: 20px; border-radius: 9px; box-shadow: 0 7px 20px rgba(7,59,120,.12); }
.bre-locations-map iframe { display: block; width: 100%; min-height: 290px; }
@media (max-width: 767px) {
  .bre-locations-hero { text-align: left; }
  .bre-locations-quick-links { justify-content: flex-start; }
  .bre-locations-office-card > .elementor-column-wrap,
  .bre-locations-office-card > .elementor-widget-wrap { margin-bottom: 16px; }
}

/* Retained FleetManagement reservation-result presentation. */
#brvs-booking .summary-container { box-sizing: border-box; margin: 0 0 22px; padding: 22px; border: 1px solid var(--ben-line); border-radius: 12px; background: #fff; box-shadow: 0 7px 20px rgba(7,59,120,.08); }
#brvs-booking .summary-container .row { margin: 0; }
#brvs-booking .summary-container [class*="col-"] { padding: 8px 12px; }
#brvs-booking .summary-headers { margin-bottom: 6px; color: var(--ben-red); font-size: 11px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
#brvs-booking .summary-details { color: var(--ben-ink); font-weight: 700; line-height: 1.55; }
#brvs-booking .search-label { margin: 32px 0 13px; color: var(--ben-navy); font-size: 24px; font-weight: 900; }
#brvs-booking table.table { width: 100%; margin: 0; overflow: hidden; border: 1px solid var(--ben-line); border-radius: 10px; border-collapse: separate; border-spacing: 0; background: #fff; box-shadow: 0 7px 20px rgba(7,59,120,.08); }
#brvs-booking table.table td { padding: 15px 16px; border-top: 1px solid var(--ben-line); color: var(--ben-ink); vertical-align: middle; }
#brvs-booking table.table tr:first-child td { border-top: 0; }
#brvs-booking table.table .item-models-header td,
#brvs-booking table.table .location-fees-header td,
#brvs-booking table.table .extras-header td,
#brvs-booking table.table .additional-fees-header td,
#brvs-booking table.table .total-headers td { border-top: 0; background: #eef8fc; color: var(--ben-navy); font-size: 12px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
#brvs-booking table.table .item-model td { background: #fff; color: var(--ben-navy); font-weight: 800; }
#brvs-booking table.table .col2,
#brvs-booking table.table .col3 { white-space: nowrap; }
#brvs-booking table.table tr:last-child td { background: #fdf1f2; color: var(--ben-navy); font-size: 17px; }
#brvs-booking .reservation-details,
#brvs-booking .booking-details { margin-bottom: 24px; }
#brvs-booking button,
#brvs-booking input[type="submit"] { border-radius: 7px; }
@media (max-width: 767px) {
  #brvs-booking .summary-container { padding: 14px; }
  #brvs-booking .summary-container [class*="col-"] { padding: 7px 5px; }
  #brvs-booking table.table { display: block; overflow-x: auto; white-space: nowrap; }
  #brvs-booking table.table td { padding: 12px; }
  #brvs-booking .search-label { font-size: 21px; }
}

/* Individual vehicle pages retain the booking engine while adopting the new theme frame. */
.single-car_rental_item .bre-entry { max-width: 1160px; margin: 0 auto; padding: 42px 22px 64px; }
.single-car_rental_item #search_form { box-sizing: border-box; margin: 0 0 34px; padding: 24px; border: 1px solid var(--ben-line); border-radius: 12px; background: #fff; box-shadow: 0 9px 24px rgba(7,59,120,.1); }
.single-car_rental_item .entry-content > h2 { margin: 34px 0 16px; padding: 0 0 12px; border-bottom: 2px solid #d9eef4; color: var(--ben-navy); font-size: 28px; }
.single-car_rental_item .entry-content > h3 { margin: 28px 0 10px; color: var(--ben-navy); }
.single-car_rental_item .entry-content > p { max-width: 860px; color: var(--ben-ink); font-size: 16px; line-height: 1.72; }
.single-car_rental_item .entry-content > p a[href="#brvs-booking"] { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; border-radius: 7px; background: var(--ben-red); color: #fff !important; font-weight: 900; text-decoration: none; box-shadow: 0 5px 14px rgba(147,25,32,.22); }
.single-car_rental_item .entry-content > p a[href="#brvs-booking"]:hover { background: #c92f36; transform: translateY(-1px); }
.single-car_rental_item .entry-content > ul { padding: 18px 22px; border: 1px solid var(--ben-line); border-radius: 10px; background: #f7fbfd; }
.single-car_rental_item #search_form .summary-container { box-sizing: border-box; margin: 0 0 22px; padding: 22px; border: 1px solid var(--ben-line); border-radius: 12px; background: #fff; box-shadow: 0 7px 20px rgba(7,59,120,.08); }
.single-car_rental_item #search_form .summary-headers { margin-bottom: 6px; color: var(--ben-red); font-size: 11px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.single-car_rental_item #search_form .summary-details { color: var(--ben-ink); font-weight: 700; line-height: 1.55; }
.single-car_rental_item #search_form table.table { width: 100%; margin: 0; overflow: hidden; border: 1px solid var(--ben-line); border-radius: 10px; border-collapse: separate; border-spacing: 0; background: #fff; box-shadow: 0 7px 20px rgba(7,59,120,.08); }
.single-car_rental_item #search_form table.table td { padding: 15px 16px; border-top: 1px solid var(--ben-line); color: var(--ben-ink); vertical-align: middle; }
.single-car_rental_item #search_form table.table tr:first-child td { border-top: 0; }
.single-car_rental_item #search_form table.table .item-models-header td,
.single-car_rental_item #search_form table.table .location-fees-header td,
.single-car_rental_item #search_form table.table .extras-header td,
.single-car_rental_item #search_form table.table .additional-fees-header td,
.single-car_rental_item #search_form table.table .total-headers td { border-top: 0; background: #eef8fc; color: var(--ben-navy); font-size: 12px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
@media (max-width: 767px) {
  .single-car_rental_item .bre-entry { padding: 28px 15px 48px; }
  .single-car_rental_item #search_form { padding: 14px; }
  .single-car_rental_item .entry-content > h2 { font-size: 24px; }
  .single-car_rental_item #search_form table.table { display: block; overflow-x: auto; white-space: nowrap; }
}
