/*
Theme Name: Westend Autorental
Theme URI: https://westendautorental.hu/
Author: Westend Autorental
Author URI: https://westendautorental.hu/
Description: Egyedi WordPress theme a Westend Autorental autókölcsönző, gépjármű-kereskedő és import cég weboldalához. A theme teljes mértékben kompatibilis az Elementor oldalszerkesztővel - bármelyik oldal felülírható és szabadon szerkeszthető Elementorral, alapértelmezésben pedig az eredeti, egyedi tervezésű elrendezést jeleníti meg.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: westend-autorental
Tags: custom-menu, featured-images, full-width-template, responsive-layout, translation-ready
*/

/* ==========================================================================
   FONTS
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,600;0,700;1,600;1,700&family=Lato:ital,wght@0,700;1,700&family=Poppins:wght@400;600;700&family=Rubik:wght@400;500&display=swap');

/* ==========================================================================
   ROOT VARIABLES
   ========================================================================== */
:root{
  --primary: #0d6efd;
  --hover-primary: #0057A8;
  --accent: #BF0426;
  --accent-hover: #8C0303;
  --white-color: #ffffff;
  --dark: #1a1a1a;
  --muted: #817F91;
  --navbar-dark: #212529;
  --footer-dark: #2a2e32;
}

/* ==========================================================================
   BASE
   ========================================================================== */
html{ scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  color: var(--dark);
}

img{ max-width: 100%; }

a{ color: inherit; }

.container{ max-width: 1240px; }

/* reveal-on-scroll helper (progressive enhancement, replaces ScrollReveal) */
.reveal{
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.button-unique,
.button-unique-1,
.button-unique-2 {
  text-decoration: none;
  display: inline-block;
  padding: .75rem 1.55rem;
  border-radius: 10px;
  color: var(--white-color);
  text-transform: uppercase;
  font-size: 1rem;
  text-align: center;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  letter-spacing: .15rem;
  transition: all .3s;
  position: relative;
  overflow: hidden;
  z-index: 1;
  border: none;
  cursor: pointer;
}

.button-unique{ background-color: var(--primary); }
.button-unique:hover{ background-color: var(--hover-primary); color: var(--white-color); }

.button-unique-1,
.button-unique-2{ background-color: var(--accent); }
.button-unique-1:hover,
.button-unique-2:hover{ background-color: var(--accent-hover); color: var(--white-color); }

@media screen and (max-width: 575px) {
  .button-unique-1 { padding: .55rem 1.5rem; font-size: 0.75rem; }
}

/* ==========================================================================
   NAVBAR
   ========================================================================== */
.site-navbar{
  display: flex;
  position: fixed;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  z-index: 1000;
  top: 0;
  left: 0;
  transition: .4s;
}

.site-navbar.navbar-bg{
  background-color: var(--navbar-dark);
  box-shadow: 0 4px 8px rgba(0,0,0,.3);
}

.site-navbar .nav-link{
  color: var(--white-color);
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
}
.site-navbar .nav-link:hover,
.site-navbar .nav-link:focus{ color: var(--primary); }

.navbar-logo-img{ width: 150px; height: auto; }

.site-navbar .social-icons{ display: flex; align-items: center; }
.site-navbar .social-icons a{ color: #fff; font-size: 1.4rem; margin-left: 12px; }
.site-navbar .social-icons a:hover{ color: var(--accent); }

.site-navbar .nav-item{ position: relative; }
.site-navbar .nav-item::after{
  content: '';
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 60px;
  height: 3px;
  background-color: transparent;
  transform: translateX(-50%);
  transition: background-color .3s ease;
}
.site-navbar .nav-item:hover::after{ background-color: var(--accent); }

.site-navbar .dropdown-menu{ background-color: var(--navbar-dark); border: none; }
.site-navbar .dropdown-item{ color: #fff; }
.site-navbar .dropdown-item:hover,
.site-navbar .dropdown-item:focus{ background-color: var(--primary) !important; color: #fff; }

.navbar-toggler{ border-color: #fff; color: #fff; }
.navbar-toggler .menu-icons{ color: #fff; font-size: 1.4rem; }

@media screen and (max-width: 991px){
  .site-navbar .navbar-collapse{
    background-color: var(--navbar-dark);
    margin-top: .5rem;
    border-radius: 0 0 15px 15px;
  }
  .site-navbar .navbar-nav{ text-align: center; padding: 1rem 0; }
  .site-navbar .social-icons{
    justify-content: center;
    padding: 0 10px 15px 10px;
  }
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  color: #fff;
  min-height: 100vh;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
}

.hero::before{
  content: '';
  background: url('assets/images/hero/hero-bg.jpg') no-repeat center center/cover;
  position: absolute;
  inset: 0;
  z-index: -2;
}

.hero::after{
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  z-index: -1;
}

.hero-title{
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-family: 'Poppins', sans-serif;
  font-size: clamp(2rem, 5vw, 3.5rem);
  margin-bottom: 2rem;
}

.hero .hero-buttons{ display: flex; justify-content: center; gap: .5rem; flex-wrap: wrap; }

/* ==========================================================================
   BREADCRUMB (belső oldalak fejléce)
   ========================================================================== */
.breadcrumb-component{
  min-height: 45vh;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  padding-top: 90px;
  background-color: #f4f5f7;
}
.breadcrumb-component::before{
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('assets/images/breadcrumb/breadcrumb-bg.jpg');
  background-size: cover;
  background-position: center;
  opacity: .2;
  z-index: 0;
}
.breadcrumb-component .container{ position: relative; z-index: 1; }
.breadcrumb-title{
  color: var(--dark);
  font-weight: 700;
  font-family: 'Poppins', sans-serif;
  font-size: clamp(1.6rem, 4vw, 2.4rem);
}
.breadcrumb-list-wrap{ list-style: none; display: flex; flex-wrap: wrap; gap: .35rem; padding: 0; margin: .75rem 0 0; }
.breadcrumb-list-wrap li:not(:last-child)::after{ content: '/'; margin-left: .35rem; color: var(--dark); }
.breadcrumb-list-wrap a{ text-decoration: none; color: var(--dark); font-weight: 700; font-family: 'Rubik', sans-serif; }
.breadcrumb-list-wrap span{ color: var(--dark); font-weight: 700; font-family: 'Rubik', sans-serif; }

/* ==========================================================================
   RENT COLLECTION (kategória kártyák)
   ========================================================================== */
.rentcollection{ overflow-x: hidden; }
.rentcoll-title,
.rentcollection-title{ color: var(--dark); font-weight: 700; font-family: 'Poppins', sans-serif; }
.rent-card{ transition: transform .4s ease-in-out; }
.rent-card:hover{ transform: scale(1.04); }
.cars-image{ height: 300px; object-fit: cover; width: 100%; }

/* ==========================================================================
   CONTACT (home teaser) / RENTCAR promo / ABOUT / SERVICES (közös elrendezés)
   ========================================================================== */
.contact-title,
.rent-car-title,
.about-tit,
#about-title1,
#about-title{ color: var(--dark); font-weight: 700; font-family: 'Poppins', sans-serif; }

.contact-description,
.contact-description1,
.rentcar-description,
.services-description{
  text-align: justify;
  font-family: 'Rubik', sans-serif;
  font-weight: 400;
  color: var(--muted);
}

/* ==========================================================================
   COMPANY STATS
   ========================================================================== */
.company-description{
  background-image: url('assets/images/company/company-bg.jpg');
  color: #fff;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
.company-description::before{
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(13,13,20,.55);
}
.company-description .container{ position: relative; z-index: 1; }
.company-border-span{
  border: 8px solid var(--primary);
  border-radius: 50%;
  height: 100px;
  width: 100px;
  display: flex;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
}
.comapny-title{ font-weight: 700; font-family: 'Poppins', sans-serif; }
.comapny-description{ font-family: 'Lato', sans-serif; font-weight: 700; font-size: 1.5rem; }

@media screen and (max-width: 991px){
  .company-description{ background-attachment: scroll; }
}

/* ==========================================================================
   ACCORDION (Miért mi? / FAQ)
   ========================================================================== */
.anaccordion{
  width: 100%;
  background-color: var(--primary);
  clip-path: polygon(0 0, 190% 33%, 100% 100%, 0% 100%);
  min-height: 30rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4rem 0;
}
.accordion-card{ width: 70%; margin: 0 auto; }
.accordion-button{ font-family: 'Poppins', sans-serif; font-weight: 700; }
.accordion-button:not(.collapsed){ background-color: #eef4ff; color: var(--primary); }
.accordion-button:focus{ box-shadow: none; }

@media screen and (max-width: 789px){
  .accordion-card{ width: 100%; }
}

/* ==========================================================================
   CONTACT PAGE / FORM
   ========================================================================== */
.contactform{ overflow-x: hidden; }
.contact-form-contents{
  background-color: #F9FBFC;
  width: 90%;
  margin: 0 auto;
  border-radius: 15px;
  padding: 2rem 0;
}
.contactform-title-h2,
.contactform-title,
.contactform-addres{ font-family: 'Poppins', sans-serif; font-weight: 700; color: var(--dark); }
.contactform-hr{ background-color: var(--primary); width: 30%; height: 6px; border-radius: 10px; border: none; margin: 1rem 0; }
.addres-title,
.contactform-lab{ font-family: 'Rubik', sans-serif; font-weight: 400; color: var(--muted); }
.contact-social-media a{ color: var(--dark); margin-right: .5rem; }
.contact-social-media a:hover{ color: var(--primary); }
.contact-map iframe{ width: 100%; height: 450px; border: 0; filter: grayscale(100%) invert(100%); display: block; }

@media screen and (max-width: 991px){
  .contact-form-contents{ width: 95%; text-align: center; }
  .contactform-hr{ margin: 1rem auto; }
}

/* ==========================================================================
   FLEET CARDS (rentcar / kategória lista)
   ========================================================================== */
.rentcar-title{ font-family: 'Poppins', sans-serif; font-weight: 700; color: var(--dark); }
.rentcar-title-category{ font-family: 'Poppins', sans-serif; font-weight: 700; color: var(--dark); }
.cardimg-rent{ height: 220px; width: 100%; object-fit: cover; }
.card-category{ transition: transform .4s ease-in-out; border-radius: 15px; overflow: hidden; }
.card-category:hover{ transform: scale(1.02); }

/* ==========================================================================
   PRIVACY POLICY
   ========================================================================== */
.first-title{ font-family: 'Poppins', sans-serif; }
.privacy-title{ font-weight: 700; font-family: 'Poppins', sans-serif; }
.privacy-description{ text-align: justify; color: #000; font-size: 1.05rem; font-family: 'Rubik', sans-serif; }
.privacy-bold{ font-weight: 700; color: #000; font-family: 'Poppins', sans-serif; }
.privacy-list{ font-size: 1rem; font-family: 'Rubik', sans-serif; color: #000; }

/* ==========================================================================
   COOKIE BAR
   ========================================================================== */
.cookie-bar{
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #333;
  color: #fff;
  padding: 14px;
  text-align: center;
  z-index: 9999;
}
.cookie-bar p{ margin: 0 0 .5rem; font-family: 'Rubik', sans-serif; }
.cookie-bar .accept-button,
.cookie-bar .reject-button,
.cookie-bar .policy-button{
  background-color: var(--primary);
  color: #fff;
  border: none;
  padding: 8px 16px;
  margin: 0 5px;
  cursor: pointer;
  border-radius: 4px;
  text-decoration: none;
  display: inline-block;
}
.cookie-bar .reject-button{ background-color: #dc3545; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{ background-color: var(--footer-dark); }
.site-footer .footer-title{ font-family: 'Poppins', sans-serif; font-weight: 700; color: #fff; }
.site-footer .footer-policy{ font-family: 'Rubik', sans-serif; font-weight: 400; list-style: none; padding: 0; }
.site-footer .footer-contact,
.site-footer .small{ font-family: 'Rubik', sans-serif; font-weight: 400; color: var(--muted); font-size: .9rem; }
.site-footer .footer-links{ text-decoration: none; color: #fff; }
.site-footer .footer-links:hover{ opacity: .7; color: #fff; }
.site-footer .socialicons a{ color: #fff; margin-right: .75rem; font-size: 1.3rem; }
.site-footer .socialicons a:hover{ color: var(--accent); }
.site-footer .footer-bottom{ border-top: 1px solid rgba(255,255,255,.08); padding-top: 1rem; margin-top: 1rem; }

@media screen and (max-width: 991px){
  .site-footer .footer-row{ text-align: center; }
  .site-footer .socialicons{ justify-content: center; }
}

/* ==========================================================================
   AUTÓ RÉSZLETEZŐ OLDAL (cardetail)
   ========================================================================== */
.cardetail{ overflow-x: hidden; }
.cardetail-information{ color: var(--dark); font-family: 'Poppins', sans-serif; font-weight: 700; }
.cardetail-name{ color: var(--dark); font-family: 'Poppins', sans-serif; font-weight: 700; }
.cardetail-description{ color: var(--dark); font-family: 'Rubik', sans-serif; font-weight: 400; }
.cardetail-day-price,
.cardetail-day-week,
.cardetail-day-month,
.cardetail-day-saleat{ color: var(--dark); font-family: 'Poppins', sans-serif; font-weight: 700; display: block; margin-bottom: .35rem; }
.cardetail-been{ color: var(--dark); font-family: 'Rubik', sans-serif; font-weight: 400; margin-right: 10px; }
.cardetail-data-left{ color: var(--dark); font-family: 'Poppins', sans-serif; font-weight: 700; }
.cardetail-data-right{ color: var(--dark); font-family: 'Rubik', sans-serif; font-weight: 400; }
.cardetail-list{ color: var(--dark); font-family: 'Rubik', sans-serif; font-weight: 400; }
.cardetail-booking{ display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .5rem; }

.war-gallery-main img{
  width: 100%;
  border-radius: 12px;
  object-fit: cover;
  max-height: 480px;
}
.war-gallery-thumbs{ display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.war-gallery-thumbs img{
  width: 84px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  cursor: pointer;
  opacity: .6;
  transition: opacity .2s, outline .2s;
}
.war-gallery-thumbs img:hover,
.war-gallery-thumbs img.active{ opacity: 1; outline: 2px solid var(--primary); }

/* ==========================================================================
   FOGLALÁSI FELUGRÓ ABLAK (modal)
   ========================================================================== */
.war-modal-background{
  width: 100%;
  height: 100%;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  color: #000;
  justify-content: center;
  align-items: center;
  background-color: rgba(0,0,0,.7);
  z-index: 2000;
  overflow-y: auto;
  padding: 60px 12px;
}
.war-modal-background.is-open{ display: flex; }
.war-card-booking{
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
  background: #fff;
  border-radius: 12px;
  padding: 1.75rem;
}
.war-book-title{ font-family: 'Poppins', sans-serif; font-weight: 700; }
.war-book-close{
  border: none;
  background: var(--primary);
  color: #fff;
  border-radius: 6px;
  width: 36px;
  height: 36px;
  font-size: 1rem;
  cursor: pointer;
}
.war-book-close:hover{ background: var(--hover-primary); }

@media screen and (max-width: 768px){
  .war-card-booking{ max-width: 100%; padding: 1.25rem; }
}

.section{ padding: 4rem 0; overflow-x: hidden; }
.section-alt{ background-color: #f9fbfc; }

body.no-elementor .site-main{ padding-top: 0; }

/* Elementor edit-mode: don't hide fallback markup wrongly */
.elementor-page .fallback-design{ display: none; }
