/* ============================================================
   A1 Fleet Slider  –  v3.0  |  Futuristic 2030+ Design
   ============================================================ */

/* ── CSS custom-property tokens ─────────────────────────────── */
:root {
  --a1-teal:        #0d9488;
  --a1-teal-dark:   #0f766e;
  --a1-teal-light:  #ccfbf1;
  --a1-teal-bg:     #f0fdf9;
  --a1-neon:        #00e5cc;
  --a1-neon-dim:    rgba(0,229,204,0.18);
  --a1-neon-glow:   0 0 18px rgba(0,229,204,0.55), 0 0 40px rgba(0,229,204,0.22);

  --a1-gray-50:   #f8fafc;
  --a1-gray-100:  #f1f5f9;
  --a1-gray-200:  #e2e8f0;
  --a1-gray-400:  #94a3b8;
  --a1-gray-500:  #64748b;
  --a1-gray-600:  #475569;
  --a1-gray-700:  #334155;
  --a1-gray-900:  #0f172a;
  --a1-white:     #ffffff;

  --a1-radius-card:  22px;
  --a1-radius-badge: 14px;
  --a1-radius-btn:   14px;

  --a1-shadow-card:       0 4px 24px rgba(15,23,42,0.10), 0 1px 4px rgba(15,23,42,0.06);
  --a1-shadow-card-hover: 0 20px 56px rgba(15,23,42,0.16), 0 4px 16px rgba(13,148,136,0.14);
  --a1-shadow-nav:        0 4px 20px rgba(0,229,204,0.28), 0 2px 8px rgba(0,0,0,0.18);
}

/* ── Keyframe animations ─────────────────────────────────────── */
@keyframes a1-spin {
  to { transform: rotate(360deg); }
}
@keyframes a1-spin-rev {
  to { transform: rotate(-360deg); }
}
@keyframes a1-pulse-ring {
  0%   { transform: scale(0.88); opacity: 0.9; }
  50%  { transform: scale(1.12); opacity: 0.3; }
  100% { transform: scale(0.88); opacity: 0.9; }
}
@keyframes a1-scan {
  0%   { top: 0%; opacity: 0.8; }
  100% { top: 100%; opacity: 0; }
}
@keyframes a1-card-in {
  from { opacity: 0; transform: translateY(22px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0)    scale(1); }
}
@keyframes a1-stripe-slide {
  from { background-position: 0 0; }
  to   { background-position: 60px 0; }
}
@keyframes a1-num-glow {
  0%, 100% { box-shadow: 0 0 10px rgba(0,229,204,0.4), 0 2px 8px rgba(13,148,136,0.30); }
  50%       { box-shadow: 0 0 22px rgba(0,229,204,0.75), 0 2px 8px rgba(13,148,136,0.30); }
}
@keyframes a1-btn-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}
@keyframes a1-nav-rotate {
  from { transform: translateY(-50%) rotate(0deg); }
  to   { transform: translateY(-50%) rotate(360deg); }
}

/* ═══════════════════════════════════════════════════════════════
   PRELOADER
   Added via .a1slider-preloader element (injected by PHP)
   ═══════════════════════════════════════════════════════════════ */
.a1slider-preloader {
  position: absolute;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(248,250,252,0.96);
  backdrop-filter: blur(6px);
  border-radius: var(--a1-radius-card);
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.a1slider-preloader.a1-loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Orbital ring system */
.a1-preloader-orbit {
  position: relative;
  width: 64px;
  height: 64px;
}
/* Outer ring */
.a1-preloader-orbit::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--a1-neon);
  border-right-color: var(--a1-neon);
  animation: a1-spin 1.1s cubic-bezier(0.6,0.2,0.4,0.8) infinite;
  box-shadow: 0 0 14px rgba(0,229,204,0.5);
}
/* Inner ring */
.a1-preloader-orbit::after {
  content: '';
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  border: 2px solid transparent;
  border-bottom-color: var(--a1-teal);
  border-left-color: var(--a1-teal);
  animation: a1-spin-rev 0.75s linear infinite;
}
/* Core dot */
.a1-preloader-core {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.a1-preloader-core::before {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--a1-neon);
  animation: a1-pulse-ring 1.4s ease-in-out infinite;
  box-shadow: 0 0 10px var(--a1-neon);
}

/* ═══════════════════════════════════════════════════════════════
   WRAPPER
   ═══════════════════════════════════════════════════════════════ */
.a1slider-wrapper {
  position: relative;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
}

/* ── Swiper container ────────────────────────────────────────── */
.a1slider-swiper {
  width: 100%;
  padding: 52px 8px 64px;
  overflow: hidden;
}
.a1slider-swiper .swiper-wrapper {
  align-items: stretch;
}

/* ── Editor preview: show all cards in a row ─────────────────── */
.a1slider-editor-preview .a1slider-editor-grid {
  overflow: visible;
  padding: 52px 8px 64px;
}
.a1slider-editor-preview .a1slider-editor-grid .swiper-wrapper {
  display: flex;
  flex-wrap: nowrap;
  gap: 28px;
  transform: none !important;
}
.a1slider-editor-preview .a1slide-item {
  flex: 0 0 calc(33.333% - 19px);
  min-width: 0;
}

/* ═══════════════════════════════════════════════════════════════
   SLIDE ITEM  +  CARD SHELL
   ═══════════════════════════════════════════════════════════════ */
.a1slide-item {
  height: auto;
  position: relative;
  padding-top: 0;
  animation: a1-card-in 0.55s ease both;
}
.a1slide-item:nth-child(2) { animation-delay: 0.08s; }
.a1slide-item:nth-child(3) { animation-delay: 0.16s; }
.a1slide-item:nth-child(4) { animation-delay: 0.24s; }
.a1slide-item:nth-child(5) { animation-delay: 0.32s; }

.a1card {
  position: relative;
  background: var(--a1-white);
  border-radius: var(--a1-radius-card);
  box-shadow: var(--a1-shadow-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1.5px solid rgba(13,148,136,0.22);
  transition: transform 0.32s cubic-bezier(0.22,0.68,0,1.2),
              box-shadow 0.32s ease,
              border-color 0.32s ease;
  /* Subtle inner glow line at top */
  isolation: isolate;
}

/* Futuristic top edge highlight */
.a1card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--a1-border-color, var(--a1-neon)) 40%,
    var(--a1-border-color, var(--a1-neon)) 60%,
    transparent 100%);
  opacity: 0.7;
  border-radius: 0 0 4px 4px;
  z-index: 5;
  transition: opacity 0.3s, left 0.3s, right 0.3s;
}

/* Scan line on hover */
.a1card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(0,229,204,0.6) 50%,
    transparent 100%);
  z-index: 6;
  opacity: 0;
  transition: opacity 0.3s ease;
  animation: a1-scan 2.4s linear infinite;
  animation-play-state: paused;
}

.a1slide-item:hover .a1card {
  transform: translateY(-7px);
  box-shadow: var(--a1-shadow-card-hover);
  border-color: var(--a1-border-color, var(--a1-teal));
}
.a1slide-item:hover .a1card::before {
  opacity: 1;
  left: 4%;
  right: 4%;
}
.a1slide-item:hover .a1card::after {
  opacity: 1;
  animation-play-state: running;
}

/* ── Popular badge ───────────────────────────────────────────── */
.a1badge-popular {
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #0d9488 0%, #0891b2 100%);
  color: var(--a1-white);
  padding: 8px 22px;
  border-radius: 0 0 18px 18px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  z-index: 20;
  white-space: nowrap;
  box-shadow: 0 6px 20px rgba(13,148,136,0.38), 0 0 0 1px rgba(0,229,204,0.25);
}
.a1badge-star {
  color: #fcd34d;
  font-size: 12px;
  filter: drop-shadow(0 0 4px rgba(252,211,77,0.7));
}

/* ═══════════════════════════════════════════════════════════════
   CARD HEADER  (image area)
   ═══════════════════════════════════════════════════════════════ */
.a1card-header {
  position: relative;
  height: 220px;
  min-height: unset;
  overflow: hidden;
  background: var(--a1-teal-bg);
  transition: background 0.3s;
}

/* Diagonal accent stripe across header */
.a1card-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    -55deg,
    transparent 0px,
    transparent 22px,
    rgba(13,148,136,0.055) 22px,
    rgba(13,148,136,0.055) 24px
  );
  z-index: 1;
  pointer-events: none;
  transition: opacity 0.3s;
}
.a1slide-item:hover .a1card-header::before {
  opacity: 0.6;
}

/* Background image mode */
.a1card-header--has-img {
  background-size: cover !important;
  background-position: center center;
  background-repeat: no-repeat;
}
.a1card-header--has-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--a1-header-overlay, rgba(13,148,136,0.35));
  opacity: var(--a1-header-overlay-opacity, 0.35);
  z-index: 1;
  pointer-events: none;
}
.a1card-header--has-img .a1vehicle-number,
.a1card-header--has-img .a1vehicle-image-wrap,
.a1card-header--has-img .a1header-decowave {
  z-index: 2;
}

/* Decorative wave */
.a1header-decowave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  z-index: 0;
  pointer-events: none;
  display: block;
}

/* ═══════════════════════════════════════════════════════════════
   NUMBER BADGE  –  Holographic hexagonal style
   ═══════════════════════════════════════════════════════════════ */
.a1vehicle-number {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 10;

  width:  50px;
  height: 50px;
  border-radius: 14px;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -1px;

  background: var(--a1-teal);
  color: var(--a1-white);

  /* Holographic border */
  box-shadow: 0 0 0 2px rgba(0,229,204,0.45),
              0 0 12px rgba(0,229,204,0.35),
              0 4px 12px rgba(13,148,136,0.35);

  animation: a1-num-glow 2.8s ease-in-out infinite;
  isolation: isolate;
  overflow: hidden;
}

/* Shimmer streak inside badge */
.a1vehicle-number::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -60%;
  width: 40%;
  height: 200%;
  background: linear-gradient(105deg,
    transparent 0%,
    rgba(255,255,255,0.35) 50%,
    transparent 100%);
  transform: skewX(-15deg);
  transition: left 0.6s ease;
}
.a1slide-item:hover .a1vehicle-number::after {
  left: 130%;
}

/* ── Vehicle image ───────────────────────────────────────────── */
.a1vehicle-image-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  padding: 20px 20px 36px 20px;
  box-sizing: border-box;
}
.a1vehicle-image {
  display: block;
  width: auto;
  max-width: 88%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,0.22));
  transition: transform 0.4s cubic-bezier(0.22,0.68,0,1.2),
              filter 0.4s ease;
}
.a1slide-item:hover .a1vehicle-image {
  transform: scale(1.06) translateY(-5px);
  filter: drop-shadow(0 18px 32px rgba(0,0,0,0.28));
}
.a1vehicle-placeholder {
  width: 75%;
  max-width: 240px;
  opacity: 0.45;
  display: flex;
  align-items: center;
  justify-content: center;
}
.a1vehicle-placeholder svg { width: 100%; height: auto; }

/* ═══════════════════════════════════════════════════════════════
   CARD BODY
   ═══════════════════════════════════════════════════════════════ */
.a1card-body {
  padding: 20px 24px 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 14px;
  /* Subtle gradient background */
  background: linear-gradient(180deg, #ffffff 0%, #f8fdfc 100%);
}

/* ── Passenger badge row ─────────────────────────────────────── */
.a1passengers-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.a1passenger-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #f0fdf9 0%, #e6faf6 100%);
  border: 1px solid rgba(13,148,136,0.18);
  border-radius: 100px;
  padding: 6px 14px 6px 8px;
  flex-shrink: 0;
  white-space: nowrap;
  color: var(--a1-gray-700);
  transition: border-color 0.25s, box-shadow 0.25s;
}
.a1slide-item:hover .a1passenger-badge {
  border-color: rgba(13,148,136,0.40);
  box-shadow: 0 0 0 3px rgba(13,148,136,0.07);
}

.a1pax-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--a1-white);
  color: var(--a1-accent, var(--a1-teal));
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  flex-shrink: 0;
}
.a1pax-icon .a1svg-icon { width: 14px; height: 14px; }

.a1pax-num {
  font-size: 16px;
  font-weight: 800;
  color: var(--a1-gray-900);
  line-height: 1;
}
.a1pax-label {
  font-size: 11px;
  font-weight: 500;
  color: var(--a1-gray-500);
  line-height: 1;
}

/* ── Vehicle name ────────────────────────────────────────────── */
.a1vehicle-name {
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  color: var(--a1-gray-900);
  line-height: 1.2;
  letter-spacing: -0.3px;
}
.a1vehicle-name-wrap {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.a1vehicle-subtitle {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--a1-teal);
  line-height: 1.4;
  letter-spacing: 0.3px;
  opacity: 0.85;
}

/* ── Description ─────────────────────────────────────────────── */
.a1description {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.68;
  color: var(--a1-gray-500);
}
.a1description p         { margin: 0 0 0.5em; }
.a1description p:last-child { margin-bottom: 0; }
.a1description ul,
.a1description ol        { margin: 0 0 0.5em 1.2em; padding: 0; }
.a1description li        { margin-bottom: 0.2em; }
.a1description strong,
.a1description b         { font-weight: 700; }
.a1description em,
.a1description i         { font-style: italic; }

/* ── Dot divider  ─── futuristic data-line ───────────────────── */
.a1dot-divider {
  position: relative;
  height: 18px;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2px 0;
}
.a1dot-divider::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--a1-gray-200) 15%,
    var(--a1-gray-200) 85%,
    transparent 100%);
  transform: translateY(-50%);
}
.a1dot-divider::after {
  content: '◆';
  position: relative;
  z-index: 1;
  background: linear-gradient(135deg, #f8fdfc 0%, #ffffff 100%);
  padding: 0 8px;
  font-size: 9px;
  line-height: 1;
  color: var(--a1-accent, var(--a1-teal));
  letter-spacing: 0;
}

/* ── Features row ────────────────────────────────────────────── */
.a1features-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin: 0;
}
.a1feat-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--a1-gray-600);
  padding: 4px 10px;
  --icon-c: var(--a1-feat-color, var(--a1-teal));
}
.a1feat-item:first-child { padding-left: 0; }
.a1feat-item--sep {
  position: relative;
  padding-left: 14px;
}
.a1feat-item--sep::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 14px;
  background: var(--a1-gray-200);
}
.a1feat-item .a1svg-icon,
.a1feat-svg .a1svg-icon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  color: var(--icon-c);
  display: inline-block;
  vertical-align: middle;
}
.a1feat-item strong {
  font-weight: 800;
  color: var(--a1-gray-700);
}
.a1svg-icon {
  display: inline-block;
  vertical-align: middle;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════
   CTA BUTTON  –  Neon-shimmer pill
   ═══════════════════════════════════════════════════════════════ */
.a1btn-wrap {
  display: flex;
  justify-content: flex-start;
  margin-top: auto;
  width: 100%;
}

.a1slider-wrapper .a1btn {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 8px;
  padding: 14px 24px;
  border-radius: var(--a1-radius-btn);
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  text-decoration: none;
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: all 0.28s cubic-bezier(0.22,0.68,0,1.2);
  line-height: 1.2;
  user-select: none;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

/* Shimmer pseudo-element for all buttons */
.a1slider-wrapper .a1btn::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(
    105deg,
    transparent 30%,
    rgba(255,255,255,0.22) 50%,
    transparent 70%
  );
  background-size: 200% 100%;
  background-position: -200% center;
  border-radius: inherit;
  pointer-events: none;
  transition: none;
}
.a1slider-wrapper .a1btn:hover::before {
  animation: a1-btn-shimmer 0.65s ease forwards;
}

/* Outline variant */
.a1slider-wrapper .a1btn-outline {
  background: transparent;
  color: var(--a1-btn-clr, var(--a1-teal));
  border-color: var(--a1-btn-clr, var(--a1-teal));
  box-shadow: inset 0 0 0 0 var(--a1-btn-clr, var(--a1-teal));
}
.a1slider-wrapper .a1btn-outline:hover {
  background: var(--a1-btn-clr, var(--a1-teal));
  color: var(--a1-white);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(13,148,136,0.30),
              0 0 0 3px rgba(13,148,136,0.12);
  text-decoration: none;
}

/* Primary variant (popular cards) */
.a1slider-wrapper .a1btn-primary {
  background: linear-gradient(135deg,
    var(--a1-btn-clr, var(--a1-teal)) 0%,
    var(--a1-teal-dark) 100%);
  color: var(--a1-white);
  border-color: transparent;
  box-shadow: 0 6px 20px rgba(13,148,136,0.34),
              0 0 0 1px rgba(0,229,204,0.20);
}
.a1slider-wrapper .a1btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(13,148,136,0.44),
              0 0 0 3px rgba(0,229,204,0.18);
  filter: brightness(1.08);
  text-decoration: none;
  color: var(--a1-white);
}

.a1btn-arrow {
  transition: transform 0.25s cubic-bezier(0.22,0.68,0,1.2);
  font-size: 15px;
  line-height: 1;
  flex-shrink: 0;
}
.a1slider-wrapper .a1btn:hover .a1btn-arrow--right {
  transform: translateX(5px);
}
.a1slider-wrapper .a1btn:hover .a1btn-arrow--left {
  transform: translateX(-5px);
}

/* ═══════════════════════════════════════════════════════════════
   NAV ARROWS  –  Futuristic angular buttons
   ═══════════════════════════════════════════════════════════════ */
.a1slider-nav {
  position: absolute;
  top: 36%;
  transform: translateY(-50%);

  /* Asymmetric futuristic shape via clip-path */
  width:  54px;
  height: 54px;
  border-radius: 14px 6px 14px 6px; /* Asymmetric corners */

  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1.5px solid rgba(13,148,136,0.22);

  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 20;
  padding: 0;

  color: var(--a1-teal-dark);
  transition: all 0.28s cubic-bezier(0.22,0.68,0,1.2);
  overflow: hidden;

  /* Default glow shadow */
  box-shadow: 0 4px 16px rgba(0,0,0,0.10),
              0 1px 4px rgba(0,0,0,0.06);
}

/* Rotating ring border — decorative accent */
.a1slider-nav::before {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 16px 8px 16px 8px;
  background: conic-gradient(
    from 0deg,
    transparent 0deg,
    var(--a1-neon) 60deg,
    transparent 120deg,
    transparent 360deg
  );
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease;
  animation: a1-nav-rotate 3s linear infinite;
  animation-play-state: paused;
}

/* Shimmer sweep */
.a1slider-nav::after {
  content: '';
  position: absolute;
  top: 0; left: -80%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255,255,255,0.55) 50%,
    transparent 100%
  );
  transform: skewX(-15deg);
  transition: left 0.5s ease;
  pointer-events: none;
}

.a1slider-nav:hover {
  background: linear-gradient(135deg, #0d9488 0%, #0891b2 100%);
  color: var(--a1-white);
  border-color: transparent;
  transform: translateY(-50%) scale(1.08);
  box-shadow: var(--a1-shadow-nav);
}
.a1slider-nav:hover::before {
  opacity: 1;
  animation-play-state: running;
}
.a1slider-nav:hover::after {
  left: 130%;
}

.a1slider-nav:focus-visible {
  outline: 2px solid var(--a1-neon);
  outline-offset: 3px;
}
.a1slider-nav:disabled,
.a1slider-nav.swiper-button-disabled {
  opacity: 0.30;
  cursor: not-allowed;
  transform: translateY(-50%);
  pointer-events: none;
}

.a1slider-nav svg {
  width: 22px;
  height: 22px;
  position: relative;
  z-index: 1;
  transition: transform 0.25s ease;
}
.a1slider-prev svg { transform: translateX(1px); }
.a1slider-next svg { transform: translateX(-1px); }
.a1slider-nav:hover svg { transform: none; }

.a1slider-prev {
  left: -14px;
  border-radius: 14px 6px 14px 6px;
}
.a1slider-next {
  right: -14px;
  border-radius: 6px 14px 6px 14px; /* Mirrored asymmetry */
}

/* ═══════════════════════════════════════════════════════════════
   PAGINATION DOTS  –  Neon capsule style
   ═══════════════════════════════════════════════════════════════ */
.a1slider-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 0 6px;
}
.a1slider-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--a1-gray-200);
  opacity: 1;
  margin: 0;
  transition: all 0.28s cubic-bezier(0.22,0.68,0,1.2);
}
.a1slider-pagination .swiper-pagination-bullet:hover {
  background: var(--a1-gray-400);
  transform: scale(1.2);
}
.a1slider-pagination .swiper-pagination-bullet-active {
  width: 28px;
  border-radius: 100px;
  background: linear-gradient(90deg, var(--a1-teal) 0%, #0891b2 100%);
  box-shadow: 0 0 8px rgba(13,148,136,0.55);
}

/* ── Swiper core overrides ───────────────────────────────────── */
.swiper-wrapper        { align-items: stretch; }
.swiper-slide          { height: auto; }
.a1slider-wrapper,
.a1slider-swiper       { overflow-x: hidden; }
.elementor-widget-a1slider { overflow: visible; }

/* Elementor display fix */
.elementor-widget-a1slider .a1btn {
  display: inline-flex !important;
  align-items: center !important;
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 1200px) {
  .a1slider-prev { left: 0; }
  .a1slider-next { right: 0; }
}

@media (max-width: 1024px) {
  .a1card-header        { height: 200px; }
  .a1card-body          { padding: 16px 20px 24px; }
  .a1vehicle-name       { font-size: 20px; }
}

@media (max-width: 768px) {
  .a1slider-swiper      { padding: 36px 4px 56px; }
  .a1slider-nav         { display: none; }
  .a1card-header        { height: 185px; }
  .a1vehicle-number     { top: 14px; left: 14px; width: 44px; height: 44px; font-size: 18px; border-radius: 12px; }
  .a1vehicle-image-wrap { padding: 18px 16px 32px 16px; }
  .a1card-body          { padding: 14px 16px 22px; gap: 12px; }
  .a1vehicle-name       { font-size: 18px; }
  .a1badge-popular      { font-size: 10.5px; padding: 7px 16px; }
  .a1slider-editor-preview .a1slide-item { flex: 0 0 calc(50% - 14px); }
}

@media (max-width: 480px) {
  .a1slider-swiper      { padding: 28px 2px 48px; }
  .a1card-header        { height: 170px; }
  .a1vehicle-number     { top: 12px; left: 12px; width: 40px; height: 40px; font-size: 16px; border-radius: 10px; }
  .a1vehicle-image-wrap { padding: 16px 14px 28px 14px; }
  .a1card-body          { padding: 12px 14px 20px; gap: 10px; }
  .a1vehicle-name       { font-size: 16px; }
  .a1vehicle-subtitle   { font-size: 11px; }
  .a1description        { font-size: 13px; }
  .a1feat-item          { font-size: 12px; }
  .a1btn                { padding: 12px 18px; font-size: 12.5px; }
  .a1slider-editor-preview .a1slide-item { flex: 0 0 100%; }
}
