/* Embedded vehicle cards, without changing the home-page carousel. */
.page-vehicles > .row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; }
.page-vehicles .car { width: auto; max-width: none; min-width: 0; margin: 0; padding: 20px 15px; }
.page-vehicles .car > img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: contain; }
.page-vehicles .car .carname { display: block; white-space: normal; overflow: visible; line-height: 1.4; min-height: 2.8em; }
.page-vehicles .car .icons { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; padding: 0; }
.page-vehicles .car .icons li { position: static; margin: 0; padding: 5px 7px; }
.page-vehicles .car .icons li::before { content: none; display: none; }
.page-vehicles .car .icons img { width: 14px; height: 14px; }
.page-vehicles .car .price { text-align: center; margin: 12px 0; }
.dubrovnik-page .imgholder picture { display: block; height: 100%; }
.dubrovnik-enquiry { text-align: center; margin: 24px 0; }
.dubrovnik-enquiry .btn-info { display: inline-block; white-space: normal; }
.modal-overlay.active { display: flex; align-items: center; justify-content: center; padding: 16px; }
.modal-overlay .modal { position: relative; top: auto; left: auto; transform: none; width: 1000px; max-width: 100%; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); }
#bookingForm h3 { text-align: center; padding: 0 24px; margin-bottom: 24px; }
#bookingForm .form-group { display: flex; flex-direction: column; max-width: 100%; margin-bottom: 18px; }
#bookingForm .form-label { position: static; order: -1; display: block; padding: 0; margin-bottom: 6px; font-size: 13px; color: #555; }
#bookingForm .form-group input, #bookingForm .form-group select, #bookingForm .form-group textarea { min-width: 0; width: 100%; margin-bottom: 0; }
#bookingForm #rezervisidugme { display: block; margin: 20px auto 0; }
@media (max-width: 1199px) {
  .page-vehicles > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .page-vehicles { padding-left: 0; padding-right: 0; }
  .page-vehicles > .row { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .page-vehicles .car { padding: 20px; }
  .page-vehicles .car .carname { min-height: 0; font-size: 18px; }
  .modal-overlay.active { padding: 10px; }
  .modal-overlay .modal { padding: 24px 18px; max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); }
  #bookingForm h3 { font-size: 22px; }
  #bookingForm .form-group { padding-left: 8px; padding-right: 8px; }
  #bookingForm .row { margin-left: -8px; margin-right: -8px; }
  #bookingForm h5 { margin: 20px 0; }
}

.dubrovnik-faq { margin: 20px 0 32px; }
.dubrovnik-faq details { border-bottom: 1px solid #ddd; padding: 0; }
.dubrovnik-faq summary { cursor: pointer; padding: 18px 28px 18px 0; font-weight: 600; line-height: 1.5; }
.dubrovnik-faq summary:focus-visible { outline: 2px solid #f3ca24; outline-offset: 3px; }
.dubrovnik-faq details p { margin: 0; padding: 0 0 20px; }

/* Reserve intrinsic image space while keeping the existing responsive layout. */
img[data-efex-image]:not([data-efex-image="hero"]) { max-width: 100%; height: auto; }
