/* Picar24 custom styles */
/* ======================================== */

/* --- Accordion FAQ --- */
details > summary::-webkit-details-marker,
details > summary::marker {
  display: none !important;
  content: "";
}

details[open] summary span {
  transform: rotate(45deg);
}

details summary {
  user-select: none;
}

details summary:hover {
  opacity: 0.85;
}

/* --- Mobile Menu Styles --- */
/* Hamburger button */
.elementskit-menu-hamburger {
  display: none;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 10px;
  z-index: 1000;
}

.elementskit-menu-hamburger .ekit-menu-icon {
  font-size: 28px;
  color: #fff;
  line-height: 1;
}

.elementskit-menu-close {
  display: none;
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 1001;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
  padding: 8px 12px;
}

.elementskit-menu-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.7);
  z-index: 998;
}

.elementskit-menu-container {
  position: relative;
}

/* Tablet & Mobile */
@media (max-width: 1024px) {
  /* Show hamburger */
  .elementskit-menu-hamburger {
    display: block !important;
  }

  .elementskit-menu-close {
    display: block !important;
  }

  /* Menu panel - slide from left */
  .elementskit-menu-container {
    position: fixed !important;
    top: 0;
    left: -280px !important;
    width: 280px;
    height: 100%;
    background: #191919 !important;
    z-index: 999;
    transition: left 0.3s ease;
    overflow-y: auto;
    padding: 0 !important;
    box-shadow: none !important;
  }

  .elementskit-menu-container.elementskit-menu-open {
    left: 0 !important;
  }

  /* Menu items */
  .elementskit-navbar-nav {
    flex-direction: column !important;
    padding: 60px 20px 20px !important;
    gap: 0 !important;
  }

  .elementskit-navbar-nav li {
    width: 100%;
    margin: 0 !important;
  }

  .elementskit-navbar-nav li a {
    display: block !important;
    padding: 14px 15px !important;
    font-size: 15px !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    color: #ccc !important;
  }

  .elementskit-navbar-nav li a:hover {
    color: #FF3600 !important;
  }

  /* Overlay */
  .elementskit-menu-overlay.active {
    display: block !important;
  }

  /* Hide "Wezwij pomoc" button in header on mobile (it's hidden by elementor class, but ensure no flex issues) */
  .elementor-hidden-tablet,
  .elementor-hidden-mobile {
    display: none !important;
  }
}

/* Mobile (< 768px) */
@media (max-width: 767px) {
  /* Header adjustments */
  .page-header {
    padding: 40px 0 !important;
  }

  .page-header h1 {
    font-size: 28px !important;
  }

  /* Car sidebar - full width on mobile */
  .car-single-sidebar {
    margin-bottom: 30px;
  }

  .fleets-single-sidebar {
    max-width: 100%;
  }

  /* Content area */
  .fleets-single-content {
    padding-left: 0;
  }

  /* Hero image - responsive */
  .page-header {
    background-size: cover;
    background-position: center center;
  }

  /* Service cards - stack */
  .car-cta {
    padding: 1.5em 1em !important;
  }

  .car-cta h3 {
    font-size: 20px !important;
  }

  /* FAQ accordion */
  details summary {
    font-size: 14px !important;
    padding: 12px 16px !important;
  }

  details div {
    padding: 0 16px 12px 16px !important;
    font-size: 13px !important;
  }

  /* Testimonial cards grid */
  .elementor-widget-text-editor [style*="background:rgba(35,35,38"] {
    margin-bottom: 12px;
  }

  /* Footer */
  .ekit-template-content-footer .row {
    flex-direction: column;
  }

  .ekit-template-content-footer .col-md-3 {
    width: 100%;
    margin-bottom: 25px !important;
  }

  /* Reviews - full width */
  .elementskit-testimonial-slider .swiper-slide {
    padding: 0 5px;
  }

  /* O nas / Oferta pages */
  .page-header-box h1 {
    font-size: 32px !important;
  }

  .container {
    padding-left: 15px;
    padding-right: 15px;
  }

  /* Logo */
  .ata-site-logo img {
    max-height: 30px;
  }

  /* Main content */
  .site-main {
    padding-top: 0;
  }
}

/* Very small screens */
@media (max-width: 480px) {
  .page-header h1 {
    font-size: 24px !important;
  }

  h2.elementor-heading-title {
    font-size: 22px !important;
  }

  .car-cta a {
    font-size: 16px !important;
    padding: 10px 24px !important;
  }
}
