@charset "UTF-8";
/* Happy Drive - design layer. Loads after themes/bc app.css so later rules win ties. */

/* ---------- 1. Tokens ---------- */
:root{
  --hd-brand:#D9232B;
  --hd-brand-hot:#F0413B;
  --hd-ink:#12161D;
  --hd-ink-soft:#4B5563;
  --hd-ink-faint:#8A929E;
  --hd-ground:#0C111B;
  --hd-ground-2:#151C29;
  --hd-bone:#F6F3EE;
  --hd-line:#E4DED5;
  --hd-line-soft:#EFEAE3;
  --hd-white:#FFFFFF;
  --hd-r-sm:6px;
  --hd-r:12px;
  --hd-r-lg:18px;
  --hd-shadow-1:0 1px 2px rgba(18,22,29,.05), 0 6px 16px -10px rgba(18,22,29,.18);
  --hd-shadow-2:0 2px 6px rgba(18,22,29,.06), 0 18px 40px -22px rgba(18,22,29,.30);
  --hd-shadow-3:0 30px 60px -30px rgba(18,22,29,.45);
  --hd-display:"Archivo","Poppins","Helvetica Neue",Arial,sans-serif;
  --hd-body:"Poppins","Helvetica Neue",Arial,sans-serif;
  --hd-gutter:clamp(16px,4vw,32px);
  --hd-section:clamp(52px,7vw,96px);
}

/* ---------- 2. Base ---------- */
body.frontend-page{
  font-family:var(--hd-body);
  color:var(--hd-ink);
  background:var(--hd-white);
  -webkit-font-smoothing:antialiased;
}
body.frontend-page h1,
body.frontend-page h2,
body.frontend-page h3,
body.frontend-page h4,
body.frontend-page h5{
  font-family:var(--hd-display);
  color:var(--hd-ink);
  letter-spacing:-.02em;
  text-wrap:balance;
  margin-top:0;
}
body.frontend-page h1{font-weight:800;line-height:1.04;letter-spacing:-.035em}
body.frontend-page h2{font-weight:700;line-height:1.12}
body.frontend-page h3{font-weight:700;line-height:1.2}
body.frontend-page p{color:var(--hd-ink-soft);line-height:1.7}
body.frontend-page a{transition:color .18s ease}
body.frontend-page a:hover{color:var(--hd-brand)}
body.frontend-page img{max-width:100%}
body.frontend-page :focus-visible{
  outline:2px solid var(--hd-brand);
  outline-offset:2px;
  border-radius:var(--hd-r-sm);
}
body.frontend-page .page-template-content > .container,
body.frontend-page .page-template-content > div:not(.bc-form-search-car){
  padding-top:var(--hd-section);
  padding-bottom:var(--hd-section);
}

/* ---------- 3. Buttons ---------- */
body.frontend-page .btn,
body.frontend-page .btn-primary,
body.frontend-page .btn-search{
  font-family:var(--hd-display);
  font-weight:700;
  letter-spacing:.01em;
  border-radius:var(--hd-r-sm);
  border:none;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}
body.frontend-page .btn-primary,
body.frontend-page .btn-search{
  background:var(--hd-brand);
  color:var(--hd-white);
  padding:14px 30px;
  box-shadow:0 8px 20px -10px rgba(217,35,43,.75);
}
body.frontend-page .btn-primary:hover,
body.frontend-page .btn-search:hover,
body.frontend-page .btn-primary:focus,
body.frontend-page .btn-search:focus{
  background:var(--hd-brand-hot);
  color:var(--hd-white);
  transform:translateY(-1px);
  box-shadow:0 14px 28px -12px rgba(217,35,43,.85);
}

/* ---------- 4. Topbar + header ---------- */
body.frontend-page .bc_topbar{
  background:var(--hd-ground);
  color:rgba(255,255,255,.82);
  font-size:13.5px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
body.frontend-page .bc_topbar a{color:rgba(255,255,255,.82)}
body.frontend-page .bc_topbar a:hover{color:var(--hd-white)}
body.frontend-page .bc_header{
  background:var(--hd-white);
  border-bottom:1px solid var(--hd-line-soft);
}
body.frontend-page .bc_header .header-left img,
body.frontend-page .bc_header .logo img{
  max-height:82px;
  width:auto;
  object-fit:contain;
}
body.frontend-page .bc_header .main-menu > li > a{
  font-family:var(--hd-display);
  font-weight:600;
  font-size:14.5px;
  letter-spacing:.02em;
  color:var(--hd-ink);
  position:relative;
}
body.frontend-page .bc_header .main-menu > li > a::after{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:6px;
  height:2px;
  background:var(--hd-brand);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}
body.frontend-page .bc_header .main-menu > li:hover > a::after,
body.frontend-page .bc_header .main-menu > li.current-menu-item > a::after{transform:scaleX(1)}
body.frontend-page .bc_header .main-menu > li:hover > a{color:var(--hd-brand)}
body.frontend-page .subnav.children-menu{
  border:1px solid var(--hd-line-soft);
  border-radius:var(--hd-r);
  box-shadow:var(--hd-shadow-2);
  overflow:hidden;
  padding:6px;
}
body.frontend-page .subnav.children-menu > li > a{
  border-radius:var(--hd-r-sm);
  font-size:14px;
  padding:9px 12px;
}
body.frontend-page .subnav.children-menu > li > a:hover{background:var(--hd-bone);color:var(--hd-brand)}

/* ---------- 5. Hero + search ---------- */
body.frontend-page .bc-form-search-car{
  position:relative;
  padding-top:clamp(64px,9vw,124px);
  padding-bottom:clamp(56px,8vw,104px);
  padding-left:0;
  padding-right:0;
  background-color:var(--hd-ground);
  background-size:cover;
  background-position:center;
  isolation:isolate;
}
body.frontend-page .bc-form-search-car::before{
  content:"";
  position:absolute;inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg, rgba(12,17,27,.34) 0%, rgba(12,17,27,.60) 55%, rgba(12,17,27,.88) 100%),
    radial-gradient(120% 80% at 18% 12%, rgba(217,35,43,.30) 0%, rgba(217,35,43,0) 62%);
}
body.frontend-page .bc-form-search-car h1.text-heading{
  color:var(--hd-white);
  font-size:clamp(34px,5.6vw,66px);
  margin-bottom:14px;
  text-shadow:0 2px 30px rgba(0,0,0,.35);
}
body.frontend-page .bc-form-search-car h2.sub-heading{
  color:rgba(255,255,255,.90);
  font-family:var(--hd-body);
  font-weight:400;
  font-size:clamp(15px,1.6vw,20px);
  line-height:1.55;
  letter-spacing:0;
  max-width:56ch;
  margin:0 auto 34px;
}
body.frontend-page .bc-form-search-car .g-form-control{
  background:rgba(255,255,255,.97);
  border-radius:var(--hd-r-lg);
  box-shadow:var(--hd-shadow-3);
  padding:clamp(16px,2.4vw,26px);
  max-width:1040px;
  margin:0 auto;
  border:1px solid rgba(255,255,255,.6);
}
body.frontend-page .bc-form-search-car .form-control,
body.frontend-page .bc-form-search-car .render{
  border-radius:var(--hd-r-sm);
  border:1px solid var(--hd-line);
  min-height:52px;
  font-size:15px;
  box-shadow:none;
}
body.frontend-page .bc-form-search-car .form-control:focus{
  border-color:var(--hd-brand);
  box-shadow:0 0 0 3px rgba(217,35,43,.14);
}
body.frontend-page .bc-form-search-car .g-button-submit .btn-search{
  width:100%;
  min-height:52px;
  font-size:16px;
}
body.frontend-page .bc-form-search-car label{
  font-family:var(--hd-display);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--hd-ink-faint);
  margin-bottom:6px;
}

/* ---------- 6. Section headings ---------- */
body.frontend-page .bc-text h2,
body.frontend-page .title.text-center,
body.frontend-page .bc-faq-lists h2{
  font-size:clamp(26px,3.4vw,40px);
  margin-bottom:10px;
}
body.frontend-page .bc-text h2 + p,
body.frontend-page .sub-title{
  font-size:16.5px;
  color:var(--hd-ink-soft);
  max-width:62ch;
}
body.frontend-page .text-center .sub-title,
body.frontend-page .bc-text.text-center p{margin-left:auto;margin-right:auto}

/* ---------- 7. Car cards ---------- */
body.frontend-page .item-loop.item-car{
  background:var(--hd-white);
  border:1px solid var(--hd-line-soft);
  border-radius:var(--hd-r);
  overflow:hidden;
  box-shadow:var(--hd-shadow-1);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  height:100%;
  display:flex;
  flex-direction:column;
}
body.frontend-page .item-loop.item-car:hover{
  transform:translateY(-4px);
  box-shadow:var(--hd-shadow-2);
  border-color:var(--hd-line);
}
body.frontend-page .item-loop.item-car .thumb-image{
  position:relative;
  overflow:hidden;
  background:var(--hd-bone);
  aspect-ratio:16/10;
}
body.frontend-page .item-loop.item-car .thumb-image img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
body.frontend-page .item-loop.item-car:hover .thumb-image img{transform:scale(1.045)}
body.frontend-page .item-loop.item-car .item-title{padding:16px 18px 0;margin:0}
body.frontend-page .item-loop.item-car .item-title a{
  font-family:var(--hd-display);
  font-weight:700;
  font-size:18px;
  line-height:1.25;
  letter-spacing:-.015em;
  color:var(--hd-ink);
  display:block;
}
body.frontend-page .item-loop.item-car .item-title a:hover{color:var(--hd-brand)}
body.frontend-page .item-loop.item-car .location{
  padding:4px 18px 0;
  font-size:13.5px;
  color:var(--hd-ink-faint);
}
body.frontend-page .item-loop.item-car .amenities{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:14px 18px 0;
  margin:0;
}
body.frontend-page .item-loop.item-car .amenities .amenity{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:var(--hd-bone);
  border-radius:100px;
  padding:5px 11px;
  font-size:12.5px;
  font-weight:500;
  color:var(--hd-ink-soft);
  margin:0;
}
body.frontend-page .item-loop.item-car .amenities .amenity i{color:var(--hd-brand);font-size:14px}
body.frontend-page .item-loop.item-car .info{
  margin-top:auto;
  padding:16px 18px 18px;
  border-top:1px solid var(--hd-line-soft);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
body.frontend-page .item-loop.item-car .g-price .prefix,
body.frontend-page .item-loop.item-car .fr_text{
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--hd-ink-faint);
}
body.frontend-page .item-loop.item-car .g-price .price{
  display:flex;
  align-items:baseline;
  gap:6px;
  flex-wrap:wrap;
}
body.frontend-page .item-loop.item-car .text-price{
  font-family:var(--hd-display);
  font-weight:800;
  font-size:24px;
  letter-spacing:-.03em;
  color:var(--hd-ink);
  font-variant-numeric:tabular-nums;
}
body.frontend-page .item-loop.item-car .onsale{
  font-size:14px;
  color:var(--hd-ink-faint);
  text-decoration:line-through;
}
body.frontend-page .item-loop.item-car .unit{font-size:13px;color:var(--hd-ink-faint)}
body.frontend-page .item-loop.item-car .service-wishlist{
  position:absolute;
  top:12px;right:12px;
  z-index:2;
  width:36px;height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--hd-shadow-1);
}
body.frontend-page .item-loop.item-car .service-wishlist i{color:var(--hd-brand)}

/* ---------- 8. USP strip ---------- */
body.frontend-page .bc-featured-item.normal{background:var(--hd-bone)}
body.frontend-page .bc-featured-item .item{
  background:var(--hd-white);
  border:1px solid var(--hd-line-soft);
  border-radius:var(--hd-r);
  padding:26px 22px;
  height:100%;
  transition:transform .2s ease, box-shadow .2s ease;
}
body.frontend-page .bc-featured-item .item:hover{
  transform:translateY(-3px);
  box-shadow:var(--hd-shadow-2);
}
body.frontend-page .bc-featured-item .item h3.title{font-size:18px;margin:14px 0 8px}
body.frontend-page .bc-featured-item .item i,
body.frontend-page .bc-featured-item .item .icon{color:var(--hd-brand);font-size:30px}

/* ---------- 9. How it works ---------- */
body.frontend-page .bc-how-it-works .item h3{font-size:19px}
body.frontend-page .bc-how-it-works .item i,
body.frontend-page .bc-how-it-works .item .icon{color:var(--hd-brand)}

/* ---------- 10. Testimonials ---------- */
body.frontend-page .bc-testimonial{background:var(--hd-ground);color:var(--hd-white)}
body.frontend-page .bc-testimonial h2,
body.frontend-page .bc-testimonial h3{color:var(--hd-white)}
body.frontend-page .bc-testimonial p{color:rgba(255,255,255,.80)}
body.frontend-page .bc-testimonial .item{
  background:var(--hd-ground-2);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--hd-r);
  padding:26px;
}

/* ---------- 11. FAQ ---------- */
body.frontend-page .bc-faq-lists .card,
body.frontend-page .bc-faq-lists .panel{
  border:1px solid var(--hd-line-soft);
  border-radius:var(--hd-r);
  margin-bottom:12px;
  overflow:hidden;
  background:var(--hd-white);
  box-shadow:var(--hd-shadow-1);
}
body.frontend-page .bc-faq-lists h3{font-size:17px;margin:0}
body.frontend-page .bc-faq-lists h3 a,
body.frontend-page .bc-faq-lists .card-header a{
  display:block;
  padding:18px 20px;
  color:var(--hd-ink);
}
body.frontend-page .bc-faq-lists h3 a:hover{color:var(--hd-brand)}

/* ---------- 12. Locations ---------- */
body.frontend-page .bc-list-locations .item{
  position:relative;
  border-radius:var(--hd-r);
  overflow:hidden;
  box-shadow:var(--hd-shadow-1);
}
body.frontend-page .bc-list-locations .item img{
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
  width:100%;
  object-fit:cover;
}
body.frontend-page .bc-list-locations .item:hover img{transform:scale(1.05)}

/* ---------- 13. Car detail ---------- */
body.frontend-page .bc_detail_car .bc_banner{border-radius:var(--hd-r-lg);overflow:hidden}
body.frontend-page .bc_detail_car .blog-breadcrumb{
  font-size:13.5px;
  color:var(--hd-ink-faint);
  padding:18px 0;
}
body.frontend-page .bc_detail_car .bc_content h1{
  font-size:clamp(28px,3.6vw,42px);
  margin-bottom:10px;
}
body.frontend-page .bc_detail_car .bc_content h2{font-size:clamp(21px,2.4vw,27px);margin-top:34px}
body.frontend-page .bc_detail_car .bc_content h3{font-size:19px;margin-top:24px}
body.frontend-page .form-book{
  background:var(--hd-white);
  border:1px solid var(--hd-line);
  border-radius:var(--hd-r-lg);
  box-shadow:var(--hd-shadow-2);
  padding:22px;
}
@media (min-width:992px){
  body.frontend-page .form-book{position:sticky;top:20px}
}
body.frontend-page .form-book label{
  font-family:var(--hd-display);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--hd-ink-faint);
}
body.frontend-page .form-book .form-control,
body.frontend-page .form-book .render{
  border-radius:var(--hd-r-sm);
  border:1px solid var(--hd-line);
  min-height:48px;
}
body.frontend-page .form-book .btn-primary{width:100%;min-height:52px;font-size:16px}

/* ---------- 14. Footer ---------- */
body.frontend-page .bc_footer{background:var(--hd-ground);color:rgba(255,255,255,.78)}
body.frontend-page .bc_footer h3,
body.frontend-page .bc_footer h4,
body.frontend-page .bc_footer .widget-title{
  color:var(--hd-white);
  font-family:var(--hd-display);
  font-size:14px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  margin-bottom:16px;
}
body.frontend-page .bc_footer a{color:rgba(255,255,255,.78)}
body.frontend-page .bc_footer a:hover{color:var(--hd-white)}
body.frontend-page .bc_footer p{color:rgba(255,255,255,.70)}
body.frontend-page .bc_footer .main-footer{
  padding-top:clamp(44px,6vw,72px);
  padding-bottom:clamp(28px,4vw,44px);
}
body.frontend-page .bc_footer .copy-right{
  border-top:1px solid rgba(255,255,255,.10);
  padding:20px 0;
  font-size:13.5px;
  color:rgba(255,255,255,.60);
}
body.frontend-page .bc_footer .nav-footer a{display:inline-block;padding:4px 0}

/* ---------- 15. Polish ---------- */
body.frontend-page .container{padding-left:var(--hd-gutter);padding-right:var(--hd-gutter)}
body.frontend-page img.lazy{transition:opacity .3s ease}
@media (prefers-reduced-motion:reduce){
  body.frontend-page *,
  body.frontend-page *::before,
  body.frontend-page *::after{
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
  }
}

/* ---------- 16. Mobile ---------- */
@media (max-width:991px){
  body.frontend-page .bc-form-search-car{padding-top:56px;padding-bottom:44px}
  body.frontend-page .bc-form-search-car .g-form-control{padding:16px}
  body.frontend-page .form-book{position:static}
}
@media (max-width:575px){
  body.frontend-page .item-loop.item-car .info{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  body.frontend-page .item-loop.item-car .text-price{font-size:22px}
  body.frontend-page .bc_header .header-left img,
  body.frontend-page .bc_header .logo img{max-height:56px}
}

/* ---------- 17. Specificity corrections ---------- */
/* The BC theme scopes many rules as .bc_wrap .page-template-content X (0-3-0)
   and card internals up to six classes deep, which outrank the shorter
   selectors above. These match or exceed that depth so they win on merit
   rather than with !important. */
body.frontend-page .bc_wrap .page-template-content .bc-form-search-car{
  padding-top:clamp(64px,9vw,124px);
  padding-bottom:clamp(56px,8vw,104px);
}
body.frontend-page .item-loop.item-car .info .g-price .price .text-price{
  font-family:var(--hd-display);
  font-weight:800;
  font-size:24px;
  letter-spacing:-.03em;
  color:var(--hd-ink);
  font-variant-numeric:tabular-nums;
}
body.frontend-page .item-loop.item-car .info .g-price .price .onsale{
  font-size:14px;
  color:var(--hd-ink-faint);
  text-decoration:line-through;
}
body.frontend-page .bc_wrap .page-template-content .bc-featured-item .item{
  border-radius:var(--hd-r);
}

/* ---------- 18. Car detail page refinements ---------- */
/* Hero was 500px of stock photography, pushing the car and the
   booking panel below the fold on a laptop. */
body.frontend-page .bc_detail_car .bc_banner{
  max-height:min(50vh,420px);
  overflow:hidden;
}
body.frontend-page .bc_detail_car .bc_banner img{
  width:100%;
  height:100%;
  object-fit:cover;
}
body.frontend-page .bc_detail_car .blog-breadcrumb{
  padding:14px 0;
  font-size:13px;
}

/* Zero-review state. A large red 0/5 on a luxury rental page reads as a
   warning. Keep the information, drop the alarm. */
body.frontend-page .g-header .review-score .score{
  background:var(--hd-bone);
  color:var(--hd-ink-soft);
  border-radius:var(--hd-r-sm);
  box-shadow:none;
}
body.frontend-page .g-header .review-score .score *{color:var(--hd-ink-soft)}
body.frontend-page .g-header .review-score .foot{
  font-size:12px;
  color:var(--hd-ink-faint);
}
body.frontend-page .g-header .review-score .head .left{
  font-size:13.5px;
  color:var(--hd-ink-faint);
}

/* Booking panel: one card, sticky as a whole rather than just the form */
body.frontend-page .bc_single_book{
  background:var(--hd-white);
  border:1px solid var(--hd-line);
  border-radius:var(--hd-r-lg);
  box-shadow:var(--hd-shadow-2);
  overflow:hidden;
}
@media (min-width:992px){
  body.frontend-page .bc_single_book{position:sticky;top:20px}
  body.frontend-page .bc_single_book .form-book{position:static}
}
body.frontend-page .bc_single_book .form-book{
  border:none;
  border-radius:0;
  box-shadow:none;
  padding:20px;
}
body.frontend-page .bc_single_book .btn-primary{
  width:100%;
  min-height:54px;
  font-size:16px;
  letter-spacing:.02em;
}

/* Gallery */
body.frontend-page .bc_gallery img{border-radius:var(--hd-r)}
body.frontend-page .bc_gallery .item{border-radius:var(--hd-r);overflow:hidden}

/* ---------- 19. Deep-scoped overrides ---------- */
/* The theme scopes car-detail rules as
   .bc_wrap .bc_detail_car .bc_content .g-header .review-score .head .score
   (six classes). Matching that depth plus one element wins cleanly. */
body.frontend-page .bc_wrap .bc_detail_car .bc_content .g-header .review-score .head .score{
  background:var(--hd-bone);
  color:var(--hd-ink-soft);
  border-radius:var(--hd-r-sm);
  box-shadow:none;
}
body.frontend-page .bc_wrap .bc_detail_car .bc_content .g-header .review-score .head .score *{
  color:var(--hd-ink-soft);
}
body.frontend-page .bc_wrap .bc_detail_car .bc_content .g-header .review-score .foot{
  font-size:12px;
  color:var(--hd-ink-faint);
}

/* ---------- 20. Fleet listing (/car) ------------------------------------- */

/* 20a. Leftover Booking Core demo artwork.
   The listing banner still carries /uploads/demo/space/banner-search-space-2.jpg
   - a photo of a brick-wall living room - set as an INLINE style by the theme,
   so it cannot be overridden by a background rule. An opaque ::before covers it
   with a brand gradient instead.
   The [style*="/uploads/demo/"] guard is deliberate: the moment a real banner
   image is uploaded in the admin, the inline URL no longer matches, this rule
   stops applying and the real photograph shows through. Nothing to undo. */
body.frontend-page .bc_wrap .bc_banner[style*="/uploads/demo/"]{
  background-color:var(--hd-ground);
  padding-top:clamp(58px,8vw,104px);
  padding-bottom:clamp(66px,9vw,118px);
  isolation:isolate;
}
body.frontend-page .bc_wrap .bc_banner[style*="/uploads/demo/"]::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(120% 140% at 12% 0%, rgba(217,35,43,.32) 0%, rgba(217,35,43,0) 56%),
    radial-gradient(90% 120% at 100% 100%, rgba(201,162,39,.15) 0%, rgba(201,162,39,0) 62%),
    linear-gradient(155deg, var(--hd-ground-2) 0%, var(--hd-ground) 55%, #06090F 100%);
}
body.frontend-page .bc_wrap .bc_banner[style*="/uploads/demo/"] > *{
  position:relative;
  z-index:1;
}
body.frontend-page .bc_wrap .bc_search_car .bc_banner h1{
  font-size:clamp(30px,4.4vw,52px);
  line-height:1.05;
  color:var(--hd-white);
  margin-bottom:0;
  max-width:20ch;
}

/* 20b. The banner search form renders with zero fields configured, so it shows
   as a bare white strip with a lone SEARCH button that cannot do anything.
   Hide it while it is empty. :has() puts it straight back the moment search
   fields are added in the admin. */
body.frontend-page .bc_wrap .bc_form_search:not(:has(input, select, textarea)){
  display:none;
}

/* 20c. Result bar */
body.frontend-page .bc_wrap .bc-list-item .topbar-search{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding-bottom:18px;
  margin-bottom:28px;
  border-bottom:1px solid var(--hd-line-soft);
}
body.frontend-page .bc_wrap .bc-list-item .topbar-search .result-count{
  font-family:var(--hd-display);
  font-weight:800;
  font-size:clamp(20px,2.4vw,28px);
  letter-spacing:-.03em;
  color:var(--hd-ink);
  margin:0;
}
body.frontend-page .bc_wrap .bc-list-item .topbar-search .bc-form-order{
  display:flex;
  align-items:center;
  gap:16px;
  font-size:14px;
  color:var(--hd-ink-soft);
}
body.frontend-page .bc_wrap .bc-list-item .topbar-search .bc-form-order .item > a{
  font-size:14px;
  color:var(--hd-ink-soft);
  text-decoration:none;
}
body.frontend-page .bc_wrap .bc-list-item .topbar-search .bc-form-order .item > a:hover{
  color:var(--hd-brand);
}
body.frontend-page .bc_wrap .bc-list-item .topbar-search .bc-form-order .dropdown-toggle{
  font-family:var(--hd-display);
  font-weight:600;
  font-size:14px;
  color:var(--hd-ink);
  background:var(--hd-white);
  border:1px solid var(--hd-line);
  border-radius:var(--hd-r-sm);
  padding:8px 14px;
  cursor:pointer;
  transition:border-color .16s ease;
}
body.frontend-page .bc_wrap .bc-list-item .topbar-search .bc-form-order .dropdown-toggle:hover{
  border-color:var(--hd-ink-faint);
}
body.frontend-page .bc_wrap .bc-list-item .topbar-search .dropdown-menu{
  border:1px solid var(--hd-line-soft);
  border-radius:var(--hd-r);
  box-shadow:var(--hd-shadow-2);
  padding:6px;
  margin-top:6px;
}
body.frontend-page .bc_wrap .bc-list-item .topbar-search .dropdown-menu .dropdown-item{
  border-radius:var(--hd-r-sm);
  font-size:14px;
  padding:8px 12px;
}
body.frontend-page .bc_wrap .bc-list-item .topbar-search .dropdown-menu .dropdown-item:hover,
body.frontend-page .bc_wrap .bc-list-item .topbar-search .dropdown-menu .dropdown-item.active{
  background:var(--hd-bone);
  color:var(--hd-brand);
}

/* 20d. Filter sidebar - was an unstyled column, now a card */
body.frontend-page .bc_wrap .bc_search_car .bc_filter{
  background:var(--hd-white);
  border:1px solid var(--hd-line-soft);
  border-radius:var(--hd-r-lg);
  box-shadow:var(--hd-shadow-1);
  padding:4px 22px 12px;
}
@media (min-width:992px){
  body.frontend-page .bc_wrap .bc_search_car .bc_filter{
    position:sticky;
    top:24px;
  }
}
body.frontend-page .bc_wrap .bc_search_car .bc_filter .filter-title{
  font-family:var(--hd-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--hd-ink-faint);
  padding:22px 0 16px;
  margin:0;
}
body.frontend-page .bc_wrap .bc_search_car .bc_filter .filter-title::before{
  background:var(--hd-brand);
  border-radius:2px;
}
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item{
  border-top:1px solid var(--hd-line-soft);
  padding:18px 0;
  margin:0;
}
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:14px;
  cursor:pointer;
}
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-title h3{
  font-family:var(--hd-display);
  font-weight:700;
  font-size:15.5px;
  letter-spacing:-.01em;
  color:var(--hd-ink);
  margin:0;
}
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-title i{
  color:var(--hd-ink-faint);
  font-size:14px;
}

/* Custom checkbox: the native input sits under an absolutely positioned
   .checkmark, so accent-color would never be seen. Style the .checkmark. */
body.frontend-page .bc_wrap .bc_filter .bc-checkbox label .checkmark{
  border-radius:4px;
  border-color:var(--hd-line);
  transition:background-color .14s ease, border-color .14s ease;
}
body.frontend-page .bc_wrap .bc_filter .bc-checkbox label:hover .checkmark{
  border-color:var(--hd-ink-faint);
}
body.frontend-page .bc_wrap .bc_filter .bc-checkbox label input:checked ~ .checkmark{
  background:var(--hd-brand);
  border-color:var(--hd-brand);
}
body.frontend-page .bc_wrap .bc_filter .bc-checkbox label{
  font-size:14.5px;
  color:var(--hd-ink-soft);
  cursor:pointer;
}
body.frontend-page .bc_wrap .bc_filter .bc-checkbox label:hover{
  color:var(--hd-ink);
}

/* Price slider was Booking Core blue (#5191FA). Bring it onto the brand. */
body.frontend-page .bc_wrap .bc_filter .irs--flat .irs-line{
  background:var(--hd-line);
  border-radius:4px;
  height:6px;
}
body.frontend-page .bc_wrap .bc_filter .irs--flat .irs-bar{
  background:var(--hd-brand);
  height:6px;
}
body.frontend-page .bc_wrap .bc_filter .irs--flat .irs-handle > i:first-child{
  background:var(--hd-brand);
}
body.frontend-page .bc_wrap .bc_filter .irs--flat .irs-from,
body.frontend-page .bc_wrap .bc_filter .irs--flat .irs-to,
body.frontend-page .bc_wrap .bc_filter .irs--flat .irs-single{
  background:var(--hd-ink);
  font-family:var(--hd-display);
  font-weight:700;
  font-size:11.5px;
  border-radius:var(--hd-r-sm);
  padding:3px 7px;
}
body.frontend-page .bc_wrap .bc_filter .irs--flat .irs-from::before,
body.frontend-page .bc_wrap .bc_filter .irs--flat .irs-to::before,
body.frontend-page .bc_wrap .bc_filter .irs--flat .irs-single::before{
  border-top-color:var(--hd-ink);
}
body.frontend-page .bc_wrap .bc_filter .irs--flat .irs-min,
body.frontend-page .bc_wrap .bc_filter .irs--flat .irs-max,
body.frontend-page .bc_wrap .bc_filter .irs--flat .irs-grid-text{
  font-size:11px;
  color:var(--hd-ink-faint);
  background:transparent;
}

/* APPLY was a plain blue text link. Make it a button. */
body.frontend-page .bc_wrap .bc_filter .btn-apply-price-range{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:8px;
  padding:10px 16px;
  font-family:var(--hd-display);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--hd-white);
  background:var(--hd-ink);
  border:0;
  border-radius:var(--hd-r-sm);
  transition:background-color .16s ease;
}
body.frontend-page .bc_wrap .bc_filter .btn-apply-price-range:hover,
body.frontend-page .bc_wrap .bc_filter .btn-apply-price-range:focus{
  background:var(--hd-brand);
  color:var(--hd-white);
}

/* 20e. Pagination */
body.frontend-page .bc_wrap .bc-pagination{
  margin-top:40px;
}
body.frontend-page .bc_wrap .bc-pagination .pagination{
  display:flex;
  gap:6px;
  justify-content:center;
  flex-wrap:wrap;
}
body.frontend-page .bc_wrap .bc-pagination .pagination .page-link{
  min-width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--hd-line-soft);
  border-radius:var(--hd-r-sm);
  font-family:var(--hd-display);
  font-weight:600;
  font-size:14px;
  color:var(--hd-ink);
  background:var(--hd-white);
  transition:border-color .16s ease, background-color .16s ease, color .16s ease;
}
body.frontend-page .bc_wrap .bc-pagination .pagination .page-link:hover{
  border-color:var(--hd-ink);
  color:var(--hd-ink);
}
body.frontend-page .bc_wrap .bc-pagination .pagination .page-item.active .page-link{
  background:var(--hd-brand);
  border-color:var(--hd-brand);
  color:var(--hd-white);
}
body.frontend-page .bc_wrap .bc-pagination .pagination .page-item.disabled .page-link{
  color:var(--hd-ink-faint);
  background:var(--hd-bone);
  border-color:var(--hd-line-soft);
}

/* ---------- 21. Listing page - specificity corrections ------------------- */
/* Booking Core styles these three with very deep selectors (six to eight
   classes), so the Section 20 rules lost the cascade even though they came
   later. Matched here at the theme's own depth rather than with !important,
   so the file stays overridable. */

/* Theme: .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .btn-apply-price-range  (0-6-0) */
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .btn-apply-price-range{
  color:var(--hd-white);
  background:var(--hd-ink);
  text-decoration:none;
}
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .btn-apply-price-range:hover,
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .btn-apply-price-range:focus{
  color:var(--hd-white);
  background:var(--hd-brand);
}

/* Theme: .bc_wrap .bc-list-item .topbar-search .control .item .dropdown .dropdown-toggle  (0-7-0) */
body.frontend-page .bc_wrap .bc-list-item .topbar-search .control .item .dropdown .dropdown-toggle{
  border:1px solid var(--hd-line);
  border-radius:var(--hd-r-sm);
  padding:8px 14px;
  font-family:var(--hd-display);
  font-weight:600;
  color:var(--hd-ink);
  background:var(--hd-white);
}
body.frontend-page .bc_wrap .bc-list-item .topbar-search .control .item .dropdown .dropdown-toggle:hover{
  border-color:var(--hd-ink-faint);
}

/* Theme: .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .bc-filter-price .irs--flat .irs-bar  (0-8-0)
   The price slider was Booking Core blue (#5191FA) on a red-brand site. */
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .bc-filter-price .irs--flat .irs-line{
  top:25px;
  height:6px;
  background-color:var(--hd-line);
  border-radius:4px;
}
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .bc-filter-price .irs--flat .irs-bar{
  top:25px;
  height:6px;
  background-color:var(--hd-brand);
}
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .bc-filter-price .irs--flat .irs-handle > i:first-child{
  background-color:var(--hd-brand);
}
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .bc-filter-price .irs--flat .irs-from,
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .bc-filter-price .irs--flat .irs-to,
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .bc-filter-price .irs--flat .irs-single{
  background-color:var(--hd-ink);
  color:var(--hd-white);
  font-family:var(--hd-display);
  font-weight:700;
  font-size:11.5px;
  border-radius:var(--hd-r-sm);
  padding:3px 7px;
}
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .bc-filter-price .irs--flat .irs-from::before,
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .bc-filter-price .irs--flat .irs-to::before,
body.frontend-page .bc_wrap .bc_search_car .bc_filter .g-filter-item .item-content .bc-filter-price .irs--flat .irs-single::before{
  border-top-color:var(--hd-ink);
}

/* ---------- 22. Footer, newsletter, hero CTA, mobile -------------------- */

/* 22a. Footer link contrast.
   The theme sets footer links to #1A2B48 with a six-class selector, which on
   the dark footer ground is roughly 1.4:1 - effectively invisible. Matched at
   the same depth to fix the contrast and even out the spacing. */
body.frontend-page .bc_wrap .bc_footer .main-footer .nav-footer .context ul li a{
  color:rgba(255,255,255,.72);
  font-size:14.5px;
  line-height:1.5;
  display:inline-block;
  padding:0;
  transition:color .16s ease;
}
body.frontend-page .bc_wrap .bc_footer .main-footer .nav-footer .context ul li a:hover,
body.frontend-page .bc_wrap .bc_footer .main-footer .nav-footer .context ul li a:focus{
  color:var(--hd-white);
}
body.frontend-page .bc_wrap .bc_footer .main-footer .nav-footer .context ul li{
  margin:0 0 13px;
  padding:0;
  line-height:1.5;
}
body.frontend-page .bc_wrap .bc_footer .main-footer .nav-footer .title{
  font-family:var(--hd-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--hd-white);
}

/* 22b. The footer has five col-lg-3 columns in a twelve-column grid, so the
   fifth (the logo) wraps onto a second row and sits in ~200px of dead space
   under an empty heading rule. Give it the full width it is really occupying
   and turn it into a deliberate brand strip. */
@media (min-width:992px){
  body.frontend-page .bc_wrap .bc_footer .main-footer .row > div:last-child{
    flex:0 0 100%;
    max-width:100%;
    margin-top:10px;
    padding-top:26px;
    border-top:1px solid rgba(255,255,255,.08);
  }
}
body.frontend-page .bc_wrap .bc_footer .main-footer .row > div:last-child .title{
  display:none;
}
body.frontend-page .bc_wrap .bc_footer .main-footer .row > div:last-child img{
  max-height:72px;
  width:auto;
}

/* 22c. Newsletter strip. Light grey on a dark footer, with a palm-island icon
   left over from the Booking Core travel demo. */
body.frontend-page .bc_wrap .bc_footer .mailchimp{
  background:var(--hd-ground-2);
  border-bottom:1px solid rgba(255,255,255,.07);
  padding-top:46px;
  padding-bottom:46px;
}
body.frontend-page .bc_wrap .bc_footer .mailchimp .media-left{
  display:none;
}
body.frontend-page .bc_wrap .bc_footer .mailchimp .media-heading{
  font-family:var(--hd-display);
  font-weight:800;
  font-size:clamp(20px,2.4vw,27px);
  letter-spacing:-.02em;
  text-transform:none;
  color:var(--hd-white);
  margin-bottom:6px;
}
body.frontend-page .bc_wrap .bc_footer .mailchimp p{
  color:rgba(255,255,255,.58);
  font-size:14.5px;
  margin-bottom:0;
}
body.frontend-page .bc_wrap .bc_footer .mailchimp input{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--hd-r-sm);
  color:var(--hd-white);
  padding:14px 16px;
}
body.frontend-page .bc_wrap .bc_footer .mailchimp input::placeholder{
  color:rgba(255,255,255,.42);
}
body.frontend-page .bc_wrap .bc_footer .mailchimp input:focus{
  border-color:var(--hd-brand);
  outline:none;
}
body.frontend-page .bc_wrap .bc_footer .mailchimp .btn-submit{
  background:var(--hd-brand);
  border:0;
  border-radius:var(--hd-r-sm);
  font-family:var(--hd-display);
  font-weight:700;
  font-size:13px;
  letter-spacing:.08em;
  color:var(--hd-white);
  transition:background-color .16s ease;
}
body.frontend-page .bc_wrap .bc_footer .mailchimp .btn-submit:hover{
  background:var(--hd-brand-hot);
}

/* 22d. Copyright rule */
body.frontend-page .bc_wrap .bc_footer .copy-right{
  border-top:1px solid rgba(255,255,255,.07);
  font-size:13px;
  color:rgba(255,255,255,.5);
  padding:22px 0;
}

/* 22e. Homepage hero search widget.
   No search fields are configured, so the widget renders as an empty white
   slab with the SEARCH button overflowing its right edge. The form itself
   still works - it is a GET to /car - so keep the button and present it as
   the call to action it has effectively become. :has() reverses every rule
   in this block the moment search fields are configured in the admin. */
body.frontend-page .bc_wrap .bc-form-search-car .g-form-control:not(:has(input, select, textarea)){
  background:transparent;
  box-shadow:none;
  border:0;
  padding:0;
  max-width:420px;
  margin-left:auto;
  margin-right:auto;
}
body.frontend-page .bc_wrap .bc-form-search-car .g-form-control:not(:has(input, select, textarea)) .bc_form{
  background:transparent;
  box-shadow:none;
  border:0;
  padding:0;
}
body.frontend-page .bc_wrap .bc-form-search-car .g-form-control:not(:has(input, select, textarea)) .g-field-search{
  display:none;
}
body.frontend-page .bc_wrap .bc-form-search-car .g-form-control:not(:has(input, select, textarea)) .g-button-submit{
  padding:0;
  margin:0;
  width:100%;
}
body.frontend-page .bc_wrap .bc-form-search-car .g-form-control:not(:has(input, select, textarea)) .btn-search{
  width:100%;
  margin:0;
  padding:17px 30px;
  font-size:15px;
  letter-spacing:.1em;
  text-transform:uppercase;
  border-radius:999px;
  box-shadow:0 16px 34px -14px rgba(217,35,43,.9);
}

/* 22f. Category tiles carry col-md-6 col-md-4 col-lg-3 and no small-screen
   class, so below 768px they go one per row and the section becomes a very
   long scroll. Two up reads far better on a phone. */
@media (max-width:767.98px){
  body.frontend-page .bc_wrap .bc-car-term-featured-box .row > div{
    flex:0 0 50%;
    max-width:50%;
    padding-left:8px;
    padding-right:8px;
  }
  body.frontend-page .bc_wrap .bc-car-term-featured-box .row{
    margin-left:-8px;
    margin-right:-8px;
  }
}

/* 22g. Phone refinements */
@media (max-width:575.98px){
  body.frontend-page .page-template-content > .container,
  body.frontend-page .page-template-content > div:not(.bc-form-search-car){
    padding-top:44px;
    padding-bottom:44px;
  }
  body.frontend-page .bc_wrap .bc_footer .main-footer{
    padding-top:38px;
  }
  body.frontend-page .bc_wrap .bc_footer .main-footer .row > div{
    margin-bottom:26px;
  }
  body.frontend-page .bc_wrap .bc-list-item .topbar-search{
    gap:10px;
  }
  body.frontend-page .bc_wrap .bc_search_car .bc_filter{
    margin-bottom:26px;
  }
}

/* ---------- 23. Hero CTA correction ------------------------------------- */
/* .g-button-submit carries max-width:10% - it is normally the narrow button
   column sitting beside a 90% field row. With the empty field row hidden in
   22e, that cap collapsed the button to 42px and the label spilled out of it.
   Release the cap, but only in the no-fields case. */
body.frontend-page .bc_wrap .bc-form-search-car .g-form-control:not(:has(input, select, textarea)) .g-button-submit{
  flex:1 1 100%;
  max-width:none;
  width:100%;
  padding:0;
  margin:0;
}
body.frontend-page .bc_wrap .bc-form-search-car .g-form-control:not(:has(input, select, textarea)) .btn-search{
  display:block;
  width:100%;
  max-width:none;
}

/* ---------- 24. Car detail: the empty rating badge ----------------------- */
/* Every one of the 46 cars currently has zero reviews, so this block renders
   on every product page as "Not rated - 0/5 - from 0 reviews - 0% of guests
   recommend", with a red pointer, immediately beside the price. On the page
   where the booking decision is made, a permanent zero score reads as a bad
   score. Hidden until there are real reviews to show.
   >>> TO BRING IT BACK once reviews start arriving: delete this one rule. <<< */
body.frontend-page .bc_wrap .bc_detail_car .bc_content .g-header .review-score{
  display:none;
}
/* Belt and braces for when it comes back: kill the red speech-bubble pointer
   left over from the crimson badge, which no longer matches the bone chip. */
body.frontend-page .bc_wrap .bc_detail_car .bc_content .g-header .review-score .score::after,
body.frontend-page .bc_wrap .bc_detail_car .bc_content .g-header .review-score .score::before{
  display:none;
}
