.kiro-brand--dashboard {
  display: inline-flex!important;
  width: 100%;
  max-width: 250px!important;
  align-items: center;
  line-height: 0;
}
.kiro-brand__dashboard-logo {
  display: block;
  width: 100%;
  max-width: 250px;
}
.kiro-brand__dashboard-logo picture { display: block; width: 100%; }
.kiro-brand__dashboard-logo img {
  position: static!important;
  display: block!important;
  width: auto!important;
  max-width: 100%!important;
  height: auto!important;
  max-height: 74px!important;
  margin: 0!important;
  object-fit: contain;
  object-position: left center;
  transform: none!important;
}
.kiro-brand__dashboard-logo--footer { display: none; }
.kiro-brand--footer .kiro-brand__dashboard-logo--header { display: none; }
.kiro-brand--footer .kiro-brand__dashboard-logo--footer { display: block; }
.elementor-location-footer .kiro-brand--auto .kiro-brand__dashboard-logo--header,
.kiro-e-footer .kiro-brand--auto .kiro-brand__dashboard-logo--header,
footer .kiro-brand--auto .kiro-brand__dashboard-logo--header { display: none; }
.elementor-location-footer .kiro-brand--auto .kiro-brand__dashboard-logo--footer,
.kiro-e-footer .kiro-brand--auto .kiro-brand__dashboard-logo--footer,
footer .kiro-brand--auto .kiro-brand__dashboard-logo--footer { display: block; }
.kiro-brand__dashboard-logo--footer img { max-height: 82px!important; }

.kiro-whatsapp--inline {
  position: static!important;
  display: inline-flex!important;
  width: auto!important;
  height: auto!important;
  min-height: 54px;
  padding: 10px 18px 10px 13px!important;
}
.kiro-whatsapp--inline span { display: inline!important; }
.kiro-booking-embed { width: 100%; min-height: 620px; overflow: visible; }
.kiro-booking-embed iframe { display: block; width: 100%; min-height: 720px; border: 0; }
.kiro-booking-placeholder { max-width: 920px; margin: 0 auto; padding: clamp(40px, 7vw, 86px); border: 1px solid rgba(198,164,92,.32); background: #f5f1e8; text-align: center; }
.kiro-booking-placeholder h2 { margin-bottom: 22px!important; }
.kiro-booking-placeholder > p:not(.kiro-eyebrow) { max-width: 670px; margin-right: auto!important; margin-left: auto!important; color: #666159; }
.kiro-booking-placeholder small { display: block; margin-top: 28px; color: #77736b; font-size: .75rem; }
.kiro-booking-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 18px; margin-top: 34px; }
.kiro-text-link--dark { color: #111!important; }
.kiro-contact-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.kiro-contact-cards a { display: flex; min-height: 150px; padding: 28px; border: 1px solid rgba(0,0,0,.13); flex-direction: column; justify-content: space-between; background: rgba(255,255,255,.55); transition: transform .2s ease, background .2s ease; }
.kiro-contact-cards a:hover { background: #fff; transform: translateY(-4px); }
.kiro-contact-cards span { color: #c6a45c; font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.kiro-contact-cards strong { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(1.35rem, 2.6vw, 2rem); font-weight: 600; }
.kiro-fleet-card__image { display: block; margin-bottom: 28px; overflow: hidden; background: #111; }
.kiro-fleet-card__image img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .4s ease; }
.kiro-fleet-card__image:hover img { transform: scale(1.035); }

/* Elementor card grids. Boxed containers own an internal .e-con-inner;
 * full-width containers own the cards directly. Only that owner becomes grid. */
body .elementor .kl-grid.e-con-boxed {
  display: flex!important;
  width: 100%!important;
  max-width: none!important;
  flex-direction: column!important;
  grid-template-columns: none!important;
}
body .elementor .kl-grid.e-con-boxed > .e-con-inner,
body .elementor .kl-grid.e-con-full {
  display: grid!important;
  width: 100%!important;
  max-width: 100%!important;
  align-items: stretch!important;
  grid-auto-flow: row;
}
body .elementor .kl-grid.e-con-boxed > .e-con-inner { padding: 0!important; }
body .elementor .kl-grid-2.e-con-boxed > .e-con-inner,
body .elementor .kl-grid-2.e-con-full { grid-template-columns: repeat(2, minmax(0, 1fr))!important; }
body .elementor .kl-grid-3.e-con-boxed > .e-con-inner,
body .elementor .kl-grid-3.e-con-full { grid-template-columns: repeat(3, minmax(0, 1fr))!important; }
body .elementor .kl-grid-4.e-con-boxed > .e-con-inner,
body .elementor .kl-grid-4.e-con-full { grid-template-columns: repeat(4, minmax(0, 1fr))!important; }
body .elementor .kl-grid.e-con-boxed > .e-con-inner > *,
body .elementor .kl-grid.e-con-full > * {
  width: 100%!important;
  max-width: none!important;
  min-width: 0!important;
  margin: 0!important;
}
body .elementor .kl-features-grid.e-con-boxed > .e-con-inner,
body .elementor .kl-features-grid.e-con-full { gap: 14px!important; }
body .elementor .kl-services-grid.e-con-boxed > .e-con-inner,
body .elementor .kl-services-grid.e-con-full { gap: 30px!important; }
body .elementor .kl-cities-grid.e-con-boxed > .e-con-inner,
body .elementor .kl-cities-grid.e-con-full { gap: 24px!important; }
body .elementor .kl-routes-grid.e-con-boxed > .e-con-inner,
body .elementor .kl-routes-grid.e-con-full { gap: 14px!important; }
body .elementor .kl-trust-grid-native.e-con-boxed > .e-con-inner,
body .elementor .kl-trust-grid-native.e-con-full { gap: 28px!important; }
body .elementor .kl-values-grid-native.e-con-boxed > .e-con-inner,
body .elementor .kl-values-grid-native.e-con-full,
body .elementor .kl-commitments-grid-native.e-con-boxed > .e-con-inner,
body .elementor .kl-commitments-grid-native.e-con-full { gap: 30px!important; }

/* Service and city image cards. */
.kl-services-grid .elementor-widget-image-box,
.kl-cities-grid .elementor-widget-image-box {
  height: 100%;
  overflow: hidden;
  border: 1px solid #e0e2e5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.11);
  transition: transform .2s ease, box-shadow .2s ease;
}
.kl-services-grid .elementor-widget-image-box:hover,
.kl-cities-grid .elementor-widget-image-box:hover {
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
  transform: translateY(-4px);
}
.kl-services-grid .elementor-image-box-wrapper,
.kl-cities-grid .elementor-image-box-wrapper {
  display: flex;
  height: 100%;
  flex-direction: column;
  text-align: left;
}
.kl-services-grid .elementor-image-box-img,
.kl-cities-grid .elementor-image-box-img {
  display: block;
  width: 100%!important;
  margin: 0!important;
  overflow: hidden;
  background-position: center;
  background-size: cover;
}
.kl-services-grid .elementor-image-box-img { height: 210px; min-height: 210px; }
.kl-cities-grid .elementor-image-box-img { height: 165px; min-height: 165px; }
.kl-services-grid .elementor-image-box-img img {
  display: block!important;
  width: 100%!important;
  height: 100%!important;
  opacity: 1!important;
  object-fit: cover!important;
}
.kl-cities-grid .elementor-image-box-img img {
  display: block!important;
  width: 100%!important;
  height: 100%!important;
  opacity: 0!important;
}
.kl-services-grid .elementor-image-box-content {
  display: flex;
  padding: 24px 24px 26px;
  flex: 1;
  flex-direction: column;
}
.kl-cities-grid .elementor-image-box-content { padding: 18px 18px 20px; }
.kl-services-grid .elementor-image-box-title,
.kl-cities-grid .elementor-image-box-title {
  margin: 0 0 10px!important;
  color: #141414!important;
  font-family: Roboto, Arial, sans-serif!important;
  font-size: 23px!important;
  font-weight: 700!important;
  line-height: 1.2!important;
}
.kl-cities-grid .elementor-image-box-title { color: #213547!important; font-size: 19px!important; }
.kl-services-grid .elementor-image-box-title a,
.kl-cities-grid .elementor-image-box-title a { color: inherit!important; }
.kl-services-grid .elementor-image-box-description,
.kl-cities-grid .elementor-image-box-description {
  margin: 0!important;
  color: #62676b!important;
  font-family: Roboto, Arial, sans-serif!important;
  font-size: 15px!important;
  line-height: 1.6!important;
}
.kl-cities-grid .elementor-widget-image-box:nth-child(1) .elementor-image-box-img { background-image: url("../images/service-hourly.webp"); }
.kl-cities-grid .elementor-widget-image-box:nth-child(2) .elementor-image-box-img { background-image: url("../images/service-city.webp"); }
.kl-cities-grid .elementor-widget-image-box:nth-child(3) .elementor-image-box-img { background-image: url("../images/service-events.webp"); }
.kl-cities-grid .elementor-widget-image-box:nth-child(4) .elementor-image-box-img { background-image: url("../images/service-corporate.webp"); }

/* Native icon cards, targeted from their real parent grids for Elementor 4.x. */
.kl-features-grid .elementor-widget-icon-box,
.kl-routes-grid .elementor-widget-icon-box,
.kl-values-grid-native .elementor-widget-icon-box,
.kl-commitments-grid-native .elementor-widget-icon-box {
  height: 100%;
  padding: 24px;
  border: 1px solid #e0e2e5;
  border-radius: 8px;
  background: #fff;
}
.kl-routes-grid .elementor-widget-icon-box,
.kl-commitments-grid-native .elementor-widget-icon-box { box-shadow: 0 4px 12px rgba(0,0,0,.09); }
.kl-features-grid .elementor-widget-icon-box { padding: 16px; }
.kl-values-grid-native .elementor-widget-icon-box { padding: 34px; text-align: center; }
.kl-trust-grid-native .elementor-widget-icon-box { height: 100%; padding: 16px; text-align: center; }

/* Kiro Core already outputs the global WhatsApp pill. Hide the old duplicate icon. */
.kl-native-final > .elementor-widget-icon.elementor-fixed,
.kl-native-final > .e-con-inner > .elementor-widget-icon.elementor-fixed { display: none!important; }

@media (max-width: 1024px) {
  body .elementor .kl-grid-3.e-con-boxed > .e-con-inner,
  body .elementor .kl-grid-3.e-con-full,
  body .elementor .kl-grid-4.e-con-boxed > .e-con-inner,
  body .elementor .kl-grid-4.e-con-full { grid-template-columns: repeat(2, minmax(0, 1fr))!important; }
}
@media (max-width: 767px) {
  .kiro-brand--dashboard,
  .kiro-brand__dashboard-logo { max-width: 210px!important; }
  .kiro-brand__dashboard-logo img { max-height: 58px!important; }
  .kiro-brand__dashboard-logo--footer img { max-height: 68px!important; }
  body .elementor .kl-grid-2.e-con-boxed > .e-con-inner,
  body .elementor .kl-grid-2.e-con-full,
  body .elementor .kl-grid-3.e-con-boxed > .e-con-inner,
  body .elementor .kl-grid-3.e-con-full,
  body .elementor .kl-grid-4.e-con-boxed > .e-con-inner,
  body .elementor .kl-grid-4.e-con-full { grid-template-columns: 1fr!important; }
  .kl-services-grid .elementor-image-box-img { height: 200px; min-height: 200px; }
  .kiro-contact-cards { grid-template-columns: 1fr; }
  .kiro-booking-actions { align-items: stretch; flex-direction: column; }
}
