@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

/* ============================================================
   Ray AutoEurope Booking Widget — estilo AutoEurope (navy + amarillo)
   Aplicaciones Web Hosting SL | soporte@aplicacionesweb.net | 928 090909
   ============================================================ */

:root {
  --aeb-navy:         #0d1e35;
  --aeb-navy-light:   #162848;
  --aeb-navy-mid:     #1a3259;
  --aeb-yellow:       #f5c518;
  --aeb-yellow-hover: #e0b015;
  --aeb-white:        #ffffff;
  --aeb-gray-light:   #f4f6f9;
  --aeb-gray:         #c8d0da;
  --aeb-gray-text:    #475569; /* Slate 600 - higher contrast than original */
  --aeb-red:          #e53e3e;
  --aeb-green:        #15803d; /* Darker green - higher contrast */
  --aeb-radius:       6px;    /* Smoother borders */
  --aeb-radius-lg:    12px;
  --aeb-shadow:       0 4px 20px rgba(13,30,53,.08), 0 1px 3px rgba(13,30,53,.04);
  --aeb-transition:   .2s cubic-bezier(0.4, 0, 0.2, 1);
}

.aeb-widget,
.aeb-widget *,
.aeb-modal,
.aeb-modal * {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* ---- Base ---- */
#aeb-widget * { box-sizing: border-box; }

#aeb-widget {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: var(--aeb-navy);
  line-height: 1.5;
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 16px 60px;
}

.aeb-admin-notice {
  background: #fff3cd;
  border: 1px solid #ffc107;
  color: #856404;
  border-radius: var(--aeb-radius);
  padding: 14px 18px;
  font-size: 14px;
}

.aeb-admin-notice a { color: var(--aeb-navy); font-weight: 700; }

/* ---- Steps ---- */
.aeb-step { display: none; }
.aeb-step--active { display: block; animation: aeb-fade .25s ease; }
@keyframes aeb-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.aeb-step-header { margin-bottom: 20px; }

.aeb-step-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--aeb-navy);
  margin-bottom: 4px;
}

.aeb-step-subtitle { color: var(--aeb-gray-text); font-size: 13px; }

/* ============================================================
   STEP 1 — Search form
   ============================================================ */
.aeb-search-form {
  background: var(--aeb-navy);
  border-radius: var(--aeb-radius-lg);
  padding: 28px 32px 32px;
  box-shadow: var(--aeb-shadow);
}

.aeb-fieldset { border: none; margin: 0 0 20px; padding: 0; }

.aeb-fieldset__legend {
  color: var(--aeb-white);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--aeb-yellow);
  width: 100%;
  display: block;
}

.aeb-form-row { margin-bottom: 14px; }
.aeb-form-row--2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.aeb-form-group { display: flex; flex-direction: column; gap: 6px; }

.aeb-label {
  color: rgba(255,255,255,.6);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* ---- Inputs / selects ---- */
.aeb-input,
.aeb-select {
  background: var(--aeb-navy-light);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--aeb-radius);
  color: var(--aeb-white);
  font-size: 14px;
  height: 44px;
  padding: 0 12px;
  width: 100%;
  outline: none;
  font-family: inherit;
  transition: border-color var(--aeb-transition), box-shadow var(--aeb-transition);
}

.aeb-input:focus,
.aeb-select:focus {
  border-color: var(--aeb-yellow);
  box-shadow: 0 0 0 3px rgba(245,197,24,.18);
}

.aeb-input:disabled,
.aeb-select:disabled { opacity: .5; cursor: not-allowed; }

.aeb-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23aab' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 32px;
  cursor: pointer;
}

.aeb-select option { background: var(--aeb-navy); color: var(--aeb-white); }

input[type="date"].aeb-input::-webkit-calendar-picker-indicator { filter: invert(1) brightness(.8); cursor: pointer; }

/* ---- Office type radios ---- */
.aeb-office-type-row { margin-bottom: 14px; }
.aeb-office-type-row > .aeb-label { display: block; margin-bottom: 8px; }

.aeb-radio-group { display: flex; flex-wrap: wrap; gap: 10px; }

.aeb-radio-label {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--aeb-navy-light);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 20px;
  padding: 8px 16px;
  font-size: 13px;
  color: rgba(255,255,255,.75);
  cursor: pointer;
  transition: all var(--aeb-transition);
}

.aeb-radio-label input[type="radio"] { accent-color: var(--aeb-yellow); cursor: pointer; }

.aeb-radio-label:hover { border-color: rgba(255,255,255,.3); }
.aeb-radio-label--active,
.aeb-radio-label:has(input:checked) {
  background: var(--aeb-yellow);
  border-color: var(--aeb-yellow);
  color: var(--aeb-navy);
  font-weight: 700;
}

/* ---- Same-location checkbox ---- */
.aeb-same-location-row { margin: 4px 0 18px; }

.aeb-same-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.75);
  font-size: 13px;
  cursor: pointer;
}

.aeb-same-label input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--aeb-yellow); cursor: pointer; flex-shrink: 0; }
.aeb-same-label--small { color: var(--aeb-navy); font-size: 13px; }

/* ---- Date / time ---- */
.aeb-date-time-row { display: flex; gap: 8px; }
.aeb-input--date { flex: 1 1 auto; }
.aeb-select--time { flex: 0 0 100px; }

/* ---- Driver age ---- */
.aeb-age-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.aeb-input--age { width: 90px; flex-shrink: 0; }

/* ---- Search submit ---- */
.aeb-search-actions { margin-top: 8px; }

/* ---- Buttons ---- */
.aeb-btn {
  cursor: pointer;
  border: none;
  border-radius: var(--aeb-radius);
  font-family: inherit;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
  transition: background var(--aeb-transition), transform var(--aeb-transition), opacity var(--aeb-transition);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.aeb-btn--primary { background: var(--aeb-yellow); color: var(--aeb-navy); }
.aeb-btn--primary:hover { background: var(--aeb-yellow-hover); transform: translateY(-1px); }

.aeb-btn--secondary { background: var(--aeb-navy); color: var(--aeb-white); }
.aeb-btn--secondary:hover { background: var(--aeb-navy-mid); }

.aeb-btn--ghost { background: transparent; color: var(--aeb-navy); border: 1px solid var(--aeb-gray); }
.aeb-btn--ghost:hover { background: var(--aeb-gray-light); }

.aeb-btn--large { height: 50px; padding: 0 28px; font-size: 15px; text-transform: uppercase; width: 100%; }
.aeb-btn--full { width: 100%; }

.aeb-btn--back {
  background: transparent;
  color: var(--aeb-navy-mid);
  border: none;
  font-size: 13px;
  font-weight: 600;
  padding: 0;
  margin-bottom: 14px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.aeb-btn--back:hover { color: var(--aeb-navy); text-decoration: underline; }

.aeb-btn--select {
  background: var(--aeb-yellow);
  color: var(--aeb-navy);
  border: none;
  border-radius: var(--aeb-radius);
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: .04em;
  text-transform: uppercase;
  transition: background var(--aeb-transition);
  white-space: nowrap;
}
.aeb-btn--select:hover { background: var(--aeb-yellow-hover); }

/* ---- Error ---- */
.aeb-error {
  color: #fff;
  background: var(--aeb-red);
  border-radius: var(--aeb-radius);
  padding: 10px 14px;
  font-size: 13px;
  margin-bottom: 12px;
  display: none;
}
.aeb-error.aeb-visible { display: block; }

/* ============================================================
   STEP 2 — Availability results
   ============================================================ */
#aeb-step-results .aeb-step-header { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; justify-content: space-between; }
#aeb-step-results .aeb-step-header .aeb-btn--back { width: 100%; margin-bottom: 4px; }
#aeb-results-title { font-size: 18px; font-weight: 700; color: var(--aeb-navy); flex: 1 1 220px; }

.aeb-sort-bar { display: none !important; }
.aeb-sort-label { margin-right: 2px; }

.aeb-sort-btn {
  background: none;
  border: 1px solid var(--aeb-gray);
  border-radius: 20px;
  padding: 5px 14px;
  font-size: 12px;
  cursor: pointer;
  color: var(--aeb-navy);
  transition: all var(--aeb-transition);
}
.aeb-sort-btn:hover,
.aeb-sort-btn--active { background: var(--aeb-navy); color: var(--aeb-white); border-color: var(--aeb-navy); }

/* ---- Supplier filter row ---- */
.aeb-supplier-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
  padding-bottom: 4px;
}
.aeb-supplier-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--aeb-white);
  border: 1px solid var(--aeb-gray);
  border-radius: 30px;
  padding: 6px 14px 6px 10px;
  cursor: pointer;
  transition: all var(--aeb-transition);
}
.aeb-supplier-chip:hover { border-color: var(--aeb-navy); }
.aeb-supplier-chip--active {
  background: var(--aeb-navy);
  border-color: var(--aeb-navy);
}
.aeb-supplier-chip--active .aeb-supplier-chip__name,
.aeb-supplier-chip--active .aeb-supplier-chip__count { color: var(--aeb-white); }
.aeb-supplier-chip__logo { height: 20px; max-width: 90px; object-fit: contain; }
.aeb-supplier-chip__name { font-size: 12px; font-weight: 700; color: var(--aeb-navy); }
.aeb-supplier-chip__count {
  font-size: 10px;
  font-weight: 700;
  color: var(--aeb-gray-text);
  background: rgba(0,0,0,.06);
  border-radius: 10px;
  padding: 1px 7px;
}
.aeb-supplier-chip--active .aeb-supplier-chip__count { background: rgba(255,255,255,.18); }

/* ---- Loading bar ---- */
.aeb-loading-bar { text-align: center; padding: 50px 20px; color: var(--aeb-gray-text); display: none; }
.aeb-loading-bar.aeb-visible { display: block; }
.aeb-loading-bar__inner {
  width: 40px; height: 40px; margin: 0 auto 14px;
  border: 3px solid var(--aeb-gray);
  border-top-color: var(--aeb-yellow);
  border-radius: 50%;
  animation: aeb-spin .7s linear infinite;
}
@keyframes aeb-spin { to { transform: rotate(360deg); } }
.aeb-loading-text { font-size: 13px; }

/* ---- Vehicle grid: full-width horizontal rows ---- */
.aeb-vehicles-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  margin-top: 16px;
}

/* Horizontal card matching reference screenshot */
.aeb-vehicle-card--horizontal {
  display: grid;
  grid-template-columns: 240px minmax(260px, 320px) 1fr;
  gap: 20px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 18px 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  box-sizing: border-box;
  align-items: start;
  position: relative;
  transition: box-shadow 0.2s, border-color 0.2s;
}

.aeb-vehicle-card--horizontal:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border-color: #cbd5e1;
}

.aeb-vehicle-card--horizontal.aeb-vehicle-card--electric {
  border: 2px solid #16a34a;
}

/* Columna Izquierda: Visual e imagen + proveedor */
.aeb-card-col--left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

.aeb-car-visual-wrap {
  width: 100%;
  min-height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.aeb-car-image {
  max-width: 100%;
  max-height: 140px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.aeb-card-supplier-footer {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-top: auto;
  padding-top: 10px;
  box-sizing: border-box;
}

.aeb-supplier-logo-box {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.aeb-supplier-logo-img {
  max-height: 32px;
  max-width: 105px;
  object-fit: contain;
  display: block;
}

.aeb-supplier-name-text {
  font-size: 12px;
  font-weight: 800;
  color: #0d1e35;
  text-transform: uppercase;
}

.aeb-supplier-rating-box {
  border: 1px solid #93c5fd;
  border-radius: 4px;
  text-align: center;
  background: #ffffff;
  display: inline-flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  min-width: 68px;
  flex-shrink: 0;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.aeb-rating-score {
  font-size: 12px;
  font-weight: 800;
  color: #0d1e35;
  line-height: 1.1;
  padding: 2px 4px 1px 4px;
}

.aeb-rating-badge {
  background: #0284c7;
  color: #ffffff;
  font-size: 8px;
  font-weight: 800;
  padding: 1.5px 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.1;
}

.aeb-rating-stars {
  color: #f59e0b;
  font-size: 9.5px;
  letter-spacing: 1px;
  line-height: 1;
  padding: 2px 4px;
}

/* Columna Central: Título, specs y checklist */
.aeb-card-col--middle {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: left;
  box-sizing: border-box;
}

.aeb-vehicle-title {
  font-size: 20px;
  font-weight: 800;
  color: #0b2239;
  margin: 0 0 2px 0;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.aeb-vehicle-subtitle {
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.aeb-specs-pill-bar {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0;
  gap: 5px;
  margin-bottom: 14px;
  width: fit-content;
}

.aeb-spec-pill-item {
  background: #0b2239;
  color: #ffffff;
  padding: 4px 7px;
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.aeb-spec-pill-item svg {
  display: inline-block;
  vertical-align: middle;
}

.aeb-sidebar-specs {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: 8px !important;
  margin-bottom: 4px !important;
}

.aeb-sidebar-specs .aeb-spec-pill-item,
.aeb-sidebar-car-info .aeb-spec {
  background: #0b2239;
  color: #ffffff !important;
  padding: 3px 7px;
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.aeb-sidebar-specs .aeb-shuttle-pill {
  background: #0284c7 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
}
.aeb-sidebar-specs .aeb-airport-pill {
  background: #16a34a !important;
  color: #ffffff !important;
  font-weight: 800 !important;
}

.aeb-vehicle-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12.5px;
  color: #1e293b;
  font-weight: 500;
}

.aeb-vehicle-checklist li {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.35;
}

.aeb-check-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  width: 16px;
}

.aeb-check-icon--check {
  color: #16a34a;
  font-weight: 800;
}

/* Columna Derecha: Planes apilados */
.aeb-card-col--right {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.aeb-electric-banner {
  background: #16a34a;
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
  padding: 4px 8px;
  border-radius: 4px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.aeb-plans-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.aeb-plan-row {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  padding: 8px 12px;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}

.aeb-plan-row:hover {
  border-color: #0284c7;
  background: #f0f9ff;
  box-shadow: 0 2px 8px rgba(2, 132, 199, 0.12);
}

.aeb-vehicle-card.aeb-card--highlight {
  border-color: #0284c7 !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.25) !important;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.aeb-plan-row-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.aeb-plan-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
  text-align: left;
  min-width: 0;
}

.aeb-plan-price {
  font-size: 18px;
  font-weight: 800;
  color: #0d1e35;
  line-height: 1.1;
}

.aeb-plan-code-label {
  font-size: 10.5px;
  font-weight: 700;
  color: #0284c7;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aeb-plan-info-link {
  font-size: 10px;
  color: #0284c7;
  text-decoration: underline;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-top: 1px;
}

.aeb-plan-info-link:hover {
  color: #0369a1;
}

.aeb-btn--select-plan {
  background: #f5c518 !important;
  color: #0d1e35 !important;
  border: 0 !important;
  padding: 8px 16px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 1.5px 3px rgba(245,197,24,0.3) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: background 0.2s, transform 0.1s !important;
}

.aeb-btn--select-plan:hover {
  background: #eab308 !important;
  transform: scale(1.02);
}

.aeb-plan-flexibility-row {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  font-size: 10.5px;
  color: #64748b;
}

.aeb-flex-label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  font-size: 10.5px;
  color: #475569;
  user-select: none;
}

.aeb-flex-check {
  margin: 0;
  cursor: pointer;
  accent-color: #0284c7;
}

.aeb-flex-info-icon {
  color: #0284c7;
  cursor: pointer;
  font-size: 11px;
  text-decoration: none;
}

/* Responsividad en pantallas medianas y móviles */
@media (max-width: 960px) {
  .aeb-vehicle-card--horizontal {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 16px;
  }
  .aeb-card-col--left {
    min-height: auto;
  }
  .aeb-car-visual-wrap {
    height: 140px;
  }
  .aeb-card-supplier-footer {
    justify-content: center;
    gap: 20px;
  }
  .aeb-specs-pill-bar {
    width: 100%;
    justify-content: flex-start;
    gap: 5px;
  }
}


.aeb-diff-location-notice {
  grid-column: 1 / -1;
  background: rgba(245,197,24,.12);
  border: 1px solid rgba(245,197,24,.35);
  border-radius: var(--aeb-radius);
  padding: 10px 14px;
  font-size: 13px;
  color: #6b5300;
}

.aeb-diff-badge {
  background: rgba(245,197,24,.12);
  border: 1px solid rgba(245,197,24,.3);
  border-radius: var(--aeb-radius);
  padding: 6px 10px;
  font-size: 11px;
  color: #6b5300;
  margin-bottom: 10px;
  display: inline-block;
}

.aeb-no-results { text-align: center; padding: 60px 20px; color: var(--aeb-gray-text); grid-column: 1 / -1; }
.aeb-no-results-icon { font-size: 56px; margin-bottom: 12px; }
.aeb-no-results h3 { font-size: 18px; color: var(--aeb-navy); margin-bottom: 8px; }

/* ============================================================
   STEP 3 — Vehicle detail
   ============================================================ */
.aeb-detail-layout {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.aeb-detail-main { background: var(--aeb-white); border: 1px solid var(--aeb-gray); border-radius: var(--aeb-radius-lg); overflow: hidden; }

.aeb-supplier-banner {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--aeb-yellow);
  padding: 12px 20px;
}
.aeb-supplier-banner img { height: 26px; max-width: 120px; object-fit: contain; }
.aeb-supplier-banner__label { font-size: 10px; text-transform: uppercase; letter-spacing: .07em; color: rgba(13,30,53,.65); font-weight: 700; }
.aeb-supplier-banner__name { font-size: 15px; font-weight: 800; color: var(--aeb-navy); }

.aeb-detail-hero {
  background: linear-gradient(135deg, var(--aeb-navy) 0%, var(--aeb-navy-mid) 100%);
  padding: 32px;
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}
.aeb-detail-hero img { max-height: 160px; max-width: 280px; object-fit: contain; filter: drop-shadow(0 8px 20px rgba(0,0,0,.35)); }
.aeb-detail-hero-info { flex: 1 1 180px; }
.aeb-detail-category { color: var(--aeb-yellow); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 6px; }
.aeb-detail-name { color: var(--aeb-white); font-size: 22px; font-weight: 800; line-height: 1.25; margin-bottom: 4px; }
.aeb-detail-or { color: rgba(255,255,255,.55); font-size: 13px; margin-bottom: 16px; }
.aeb-detail-specs { display: flex; flex-wrap: wrap; gap: 16px; }
.aeb-detail-specs .aeb-spec { color: rgba(255,255,255,.8); font-size: 13px; }

.aeb-detail-body { padding: 24px; }

.aeb-section-title {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--aeb-navy);
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--aeb-gray-light);
}

.aeb-coverage-grid { display: grid; grid-template-columns: 1fr; gap: 8px; margin-bottom: 16px; }
.aeb-coverage-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 10px; margin-bottom: 12px; }
.aeb-coverage-item { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: var(--aeb-navy); padding: 10px 12px; background: #f8fafc; border: 1px solid #edf2f7; border-radius: var(--aeb-radius); line-height: 1.45; }
.aeb-coverage-icon { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; font-size: 11px; font-weight: 800; flex-shrink: 0; margin-top: 1px; }
.aeb-coverage-icon--check { background: #dcfce7; color: #15803d; }
.aeb-coverage-icon--no { background: #f1f5f9; color: #94a3b8; }
.aeb-coverage-name { flex: 1; }
.aeb-coverage-item--excluded { opacity: 0.65; background: #ffffff; }
.aeb-check { color: var(--aeb-green); font-size: 15px; flex-shrink: 0; }
.aeb-x { color: #94a3b8; font-size: 15px; flex-shrink: 0; }

.aeb-price-product-block { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 3px !important; padding: 8px 0 !important; border-bottom: 1px solid var(--aeb-gray-light) !important; width: 100% !important; box-sizing: border-box !important; }
.aeb-price-product-block .aeb-product-desc-label { font-size: 11px !important; font-weight: 500 !important; color: #64748b !important; line-height: 1.35 !important; word-break: break-word !important; }
.aeb-price-product-block .aeb-pvp-row { display: flex !important; justify-content: space-between !important; align-items: baseline !important; width: 100% !important; }
.aeb-price-product-block .aeb-pvp-title { font-size: 13.5px !important; font-weight: 800 !important; color: var(--aeb-navy) !important; }
.aeb-price-product-block .aeb-pvp-price { font-size: 14.5px !important; font-weight: 800 !important; color: var(--aeb-navy) !important; text-align: right !important; margin-left: auto !important; }

.aeb-detail-sidebar { background: var(--aeb-white); border: 1px solid var(--aeb-gray); border-radius: var(--aeb-radius-lg); overflow: hidden; position: sticky; top: 20px; }
.aeb-sidebar-header { background: var(--aeb-navy); padding: 18px 20px; color: var(--aeb-white); }
.aeb-sidebar-header h3 { font-size: 13px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #ffffff !important; opacity: 1 !important; margin-bottom: 4px; }
.aeb-total-price { font-size: 30px; font-weight: 800; color: var(--aeb-yellow); line-height: 1; }
.aeb-total-label { font-size: 12px; color: rgba(255,255,255,.55); margin-top: 2px; }
.aeb-sidebar-body { padding: 20px; }

.aeb-price-breakdown { list-style: none; margin: 0 0 20px; padding: 0; font-size: 13px; }
.aeb-price-breakdown li { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; gap: 10px !important; padding: 6px 0 !important; border-bottom: 1px solid var(--aeb-gray-light) !important; color: var(--aeb-navy) !important; width: 100% !important; box-sizing: border-box !important; }
.aeb-price-breakdown li:last-child { border-bottom: none !important; }
.aeb-price-breakdown li > span:first-child,
.aeb-price-breakdown li > .aeb-pb-label { flex: 1 1 auto !important; min-width: 0 !important; word-break: break-word !important; text-align: left !important; }
.aeb-price-breakdown li > span:last-child,
.aeb-price-breakdown li > .val { flex-shrink: 0 !important; white-space: nowrap !important; text-align: right !important; margin-left: auto !important; font-weight: 700 !important; }
.aeb-pb-label { color: var(--aeb-gray-text); }

.aeb-pickup-info { background: var(--aeb-gray-light); border-radius: var(--aeb-radius); padding: 12px 14px; font-size: 12px; color: var(--aeb-gray-text); margin-bottom: 16px; line-height: 1.7; }
.aeb-pickup-info strong { color: var(--aeb-navy); font-size: 13px; }

/* ============================================================
   STEP 4 — Booking form
   ============================================================ */
.aeb-booking-layout { display: grid; grid-template-columns: 1fr 320px; gap: 24px; align-items: start; }
@media (max-width: 800px) { .aeb-booking-layout { grid-template-columns: 1fr; } }

.aeb-booking-form-col { background: var(--aeb-white); border: 1px solid #e2e8f0; border-radius: var(--aeb-radius-lg); padding: 28px; box-shadow: var(--aeb-shadow); }

.aeb-form-section { margin-bottom: 24px; }
.aeb-form-section-title { font-size: 16px; font-weight: 800; color: var(--aeb-navy); margin-bottom: 20px; padding-bottom: 8px; border-bottom: 2px solid var(--aeb-navy); }

#aeb-booking-form .aeb-label { color: #1e293b; font-weight: 600; font-size: 12px; }
#aeb-booking-form .aeb-input,
#aeb-booking-form .aeb-select { background: #ffffff; border: 1px solid #94a3b8; color: var(--aeb-navy); height: 44px; border-radius: 6px; font-weight: 500; }
#aeb-booking-form .aeb-select option { background: var(--aeb-white); color: var(--aeb-navy); }
#aeb-booking-form .aeb-input:focus,
#aeb-booking-form .aeb-select:focus { border-color: var(--aeb-navy); box-shadow: 0 0 0 3px rgba(13,30,53,.15); }
#aeb-booking-form .aeb-label small { text-transform: none; letter-spacing: 0; font-weight: 400; color: #64748b; }

.aeb-extras-list { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.aeb-extra-item {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--aeb-gray-light);
  border: 1px solid var(--aeb-gray);
  border-radius: var(--aeb-radius);
  padding: 12px 14px;
  cursor: pointer;
  transition: border-color var(--aeb-transition);
}
.aeb-extra-item:hover { border-color: var(--aeb-navy-mid); }
.aeb-extra-item.aeb-extra--selected { border-color: var(--aeb-navy); background: rgba(13,30,53,.04); }
.aeb-extra-item input[type="checkbox"] { width: 16px; height: 16px; cursor: pointer; accent-color: var(--aeb-navy); flex-shrink: 0; }
.aeb-extra-info { flex: 1; }
.aeb-extra-name { font-size: 13px; font-weight: 600; color: var(--aeb-navy); }
.aeb-extra-desc { font-size: 12px; color: var(--aeb-gray-text); }
.aeb-extra-price { font-size: 14px; font-weight: 700; color: var(--aeb-navy); white-space: nowrap; }

.aeb-legal { margin-top: 20px; }

.aeb-booking-summary { background: var(--aeb-white); border: 1px solid var(--aeb-gray); border-radius: var(--aeb-radius-lg); overflow: hidden; position: sticky; top: 20px; }
.aeb-summary-header { background: var(--aeb-navy); padding: 18px 20px; }
.aeb-summary-header h3 { color: rgba(255,255,255,.6); font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; margin-bottom: 10px; }
.aeb-summary-car-name { color: var(--aeb-white); font-size: 16px; font-weight: 700; margin-bottom: 2px; }
.aeb-summary-cat { color: var(--aeb-yellow); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.aeb-summary-supplier {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  background: rgba(255,255,255,.1);
  border-radius: 6px;
  padding: 8px 10px;
}
.aeb-summary-supplier img { height: 18px; max-width: 90px; object-fit: contain; background: var(--aeb-white); border-radius: 3px; padding: 2px 4px; }
.aeb-summary-supplier span { color: var(--aeb-white); font-size: 12px; font-weight: 700; }

.aeb-summary-body { padding: 20px; font-size: 13px; }
.aeb-summary-row { display: flex; justify-content: space-between; align-items: flex-start; padding: 7px 0; border-bottom: 1px solid var(--aeb-gray-light); gap: 8px; }
.aeb-summary-row:last-child { border-bottom: none; }
.aeb-summary-row__label { color: var(--aeb-gray-text); }
.aeb-summary-row__value { font-weight: 600; color: var(--aeb-navy); text-align: right; }
.aeb-summary-row--highlight { background: #fff9e0; margin: 0 -20px; padding: 10px 20px; border-bottom: 1px solid #ffe9a3; }
.aeb-summary-row--highlight .aeb-summary-row__label { font-weight: 700; color: var(--aeb-navy); }

.aeb-summary-total { background: var(--aeb-navy); padding: 16px 20px; display: flex; justify-content: space-between; align-items: center; }
.aeb-summary-total__label { color: rgba(255,255,255,.6); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.aeb-summary-total__price { color: var(--aeb-yellow); font-size: 24px; font-weight: 800; }

/* Discount badge */
.aeb-discount-badge { display:flex; align-items:center; gap:8px; background:#f0fff4; border:1px solid #9be6b4; border-left:4px solid #5FBA34; border-radius:0 6px 6px 0; padding:10px 14px; margin:0 0 0; font-size:13px; color:#155724; }
.aeb-discount-badge__icon { font-size:18px; line-height:1; flex-shrink:0; }
.aeb-discount-badge__text strong { color:#0a8a37; }
/* Discounted total layout */
.aeb-summary-total--discounted { background:transparent; padding:0; flex-direction:column; align-items:stretch; }
.aeb-summary-total__original { display:flex; justify-content:space-between; padding:8px 16px; font-size:12px; color:#999; text-decoration:line-through; background:#f5f5f5; }
.aeb-summary-total__final { display:flex; justify-content:space-between; align-items:center; padding:14px 16px; background:var(--aeb-navy); }
.aeb-summary-total__price--green { color:#5FBA34 !important; }

/* ============================================================
   STEP 5 — Confirmation
   ============================================================ */
.aeb-confirmation-wrap {
  max-width: 640px;
  margin: 0 auto;
  background: var(--aeb-navy);
  border-radius: var(--aeb-radius-lg);
  padding: 44px 36px;
  text-align: center;
  box-shadow: var(--aeb-shadow);
}

.aeb-confirm-logo {
  display: none !important;
}

.aeb-confirm-icon { font-size: 52px; margin-bottom: 10px; }
.aeb-confirm-title { color: var(--aeb-white); font-size: 24px; font-weight: 800; margin-bottom: 6px; }
.aeb-confirm-subtitle { color: rgba(255,255,255,.6); font-size: 14px; margin-bottom: 18px; }

.aeb-localizador {
  color: var(--aeb-yellow);
  font-size: 42px;
  font-weight: 900;
  letter-spacing: .03em;
  line-height: 1;
  margin-bottom: 12px;
}

.aeb-confirm-hint { color: rgba(255,255,255,.5); font-size: 12px; margin-bottom: 26px; }

.aeb-confirm-details { margin-bottom: 26px; }
.aeb-confirm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; text-align: left; }
@media (max-width: 500px) { .aeb-confirm-grid { grid-template-columns: 1fr; } }

.aeb-confirm-row { background: rgba(255,255,255,.06); border-radius: var(--aeb-radius); padding: 10px 14px; }
.aeb-confirm-row__label { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: rgba(255,255,255,.45); margin-bottom: 3px; }
.aeb-confirm-row__value { font-size: 13px; font-weight: 600; color: var(--aeb-white); }

.aeb-confirm-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 26px; }
.aeb-confirm-actions .aeb-btn { padding: 0 22px; height: 44px; }

.aeb-branding-footer { font-size: 11px; color: rgba(255,255,255,.35); line-height: 1.8; }

/* ---- Responsive ---- */
@media (max-width: 640px) {
  #aeb-widget { padding: 12px 8px 40px; }
  .aeb-search-form { padding: 20px 16px 24px; }
  .aeb-form-row--2col { grid-template-columns: 1fr; }
  .aeb-vehicles-grid { flex-direction: column; width: 100%; }
  .aeb-coverage-grid { grid-template-columns: 1fr; }
  .aeb-confirmation-wrap { padding: 30px 18px; }
  .aeb-date-time-row { flex-direction: column; }
  .aeb-select--time { flex: 1 1 auto; }
}

/* ============================================================
   Ray AutoEurope Booking Widget — NEW CUSTOM STYLES
   ============================================================ */

/* ---- Horizontal Search Widget ---- */
.aeb-search-widget-container {
  background: linear-gradient(135deg, var(--aeb-navy) 0%, var(--aeb-navy-light) 100%);
  border-radius: var(--aeb-radius-lg);
  padding: 24px 28px;
  box-shadow: var(--aeb-shadow);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.aeb-search-header {
  margin-bottom: 18px;
  border-bottom: 2px solid var(--aeb-yellow);
  padding-bottom: 8px;
}
.aeb-search-title {
  color: var(--aeb-white);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.05em;
  margin: 0;
  text-transform: uppercase;
}
.aeb-search-form-horizontal {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.aeb-form-top-row {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.aeb-checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.aeb-checkbox-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--aeb-yellow);
  cursor: pointer;
}
.aeb-horizontal-fields-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.aeb-horizontal-fields-row .aeb-field-column {
  flex: 1 1 200px;
  min-width: 150px;
}
.aeb-horizontal-fields-row .aeb-field-column--label {
  flex: 0 0 160px;
  min-width: 160px;
  text-align: left;
}
.aeb-field-row-title {
  color: var(--aeb-yellow);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.aeb-location-selector-box {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--aeb-radius);
  padding: 6px 10px;
}
.aeb-radio-group-mini {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.aeb-radio-group-mini label {
  color: #fff;
  font-size: 11px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
}
.aeb-radio-group-mini input[type="radio"] {
  accent-color: var(--aeb-yellow);
}
.aeb-horizontal-fields-row--datetime {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.aeb-datetime-group {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(0, 0, 0, 0.15);
  padding: 6px 12px;
  border-radius: var(--aeb-radius);
}
.aeb-datetime-group .aeb-field-row-title {
  flex-shrink: 0;
  color: #fff;
}
.aeb-datetime-group .aeb-input--date {
  background: var(--aeb-navy-light);
  border-color: rgba(255, 255, 255, 0.15);
  color: #fff;
}
.aeb-aeb-select--time {
  width: 80px;
  flex-shrink: 0;
}
.aeb-form-bottom-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 10px;
}
.aeb-search-actions-horizontal {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1 1 300px;
  justify-content: flex-end;
}
.aeb-search-actions-horizontal button {
  max-width: 250px;
}

/* ---- Two Column Results Layout ---- */
/* ---- Single Column Results Layout (matching autoeurope.es) ---- */
.aeb-results-layout-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 16px;
  align-items: start;
}
@media (max-width: 768px) {
  .aeb-results-layout-wrapper {
    grid-template-columns: 1fr;
  }
}
.aeb-results-sidebar {
  display: none;
}
.aeb-results-main-content {
  flex: 1;
}

/* Sidebar filter boxes */
.aeb-filter-block {
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding-bottom: 16px;
}
.aeb-filter-block:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.aeb-filter-block-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--aeb-navy);
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.aeb-filter-option-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.aeb-filter-checkbox-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  color: var(--aeb-navy-mid);
  cursor: pointer;
  padding: 2px 0;
}
.aeb-filter-checkbox-label input[type="checkbox"] {
  margin-right: 8px;
  accent-color: var(--aeb-navy);
}
.aeb-filter-checkbox-label__left {
  display: flex;
  align-items: center;
}
.aeb-filter-count {
  font-size: 10px;
  background: rgba(0, 0, 0, 0.06);
  padding: 1px 6px;
  border-radius: 8px;
  color: var(--aeb-gray-text);
  font-weight: 700;
}

/* ---- Active Filters Bar ---- */
.aeb-active-filters-bar {
  background: #fdf6e2;
  border: 1px solid #f3d8a5;
  border-radius: var(--aeb-radius);
  padding: 10px 14px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 12px;
}
.aeb-active-filters-bar[style*="display: none"],
.aeb-active-filters-bar[style*="display:none"] {
  display: none !important;
}
.aeb-active-filters-title,
.aeb-active-filters-label {
  font-weight: 700;
  color: #7c5a14;
}
.aeb-active-filter-tag {
  background: #fff;
  border: 1px solid #e2d1b4;
  border-radius: 12px;
  padding: 2px 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--aeb-navy);
}
.aeb-active-filter-tag__remove {
  cursor: pointer;
  color: var(--aeb-red);
  font-weight: 700;
}
.aeb-btn-clear-filters {
  background: var(--aeb-red);
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  margin-left: auto;
}
.aeb-btn-clear-filters:hover {
  background: #c53030;
}

/* ---- Supplier-Category Pricing Grid Matrix ---- */
.aeb-matrix-container {
  overflow-x: auto;
  margin-bottom: 20px;
  border: 1px solid var(--aeb-gray);
  border-radius: var(--aeb-radius-lg);
  background: #fff;
  box-shadow: 0 2px 12px rgba(0,0,0,0.03);
}
.aeb-matrix-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 600px;
  font-size: 11.5px;
}
.aeb-matrix-table th, 
.aeb-matrix-table td {
  border: 1px solid #eef2f6;
  text-align: center;
  padding: 4px 2px;
  vertical-align: middle;
}
.aeb-matrix-table th {
  background: #f8fafc;
  color: var(--aeb-navy);
  font-weight: 700;
}
.aeb-matrix-col-header {
  min-width: 58px;
}
.aeb-matrix-col-car-img {
  height: 38px;
  max-width: 68px;
  object-fit: contain;
  display: block;
  margin: 0 auto 3px;
  transition: transform 0.2s ease;
}
.aeb-matrix-col-car-img:hover {
  transform: scale(1.08);
}
.aeb-matrix-col-name {
  display: block;
  text-transform: uppercase;
  font-size: 9.5px;
  letter-spacing: 0.02em;
  font-weight: 800;
}
.aeb-matrix-header-supplier {
  text-align: left !important;
  min-width: 175px !important;
}
.aeb-matrix-row-supplier {
  display: table-cell;
  vertical-align: middle;
  min-width: 175px;
  text-align: left;
  padding: 6px 8px !important;
}
.aeb-matrix-supplier-cell-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-start;
  width: 100%;
}
.aeb-matrix-row-supplier-logo {
  height: 32px;
  max-width: 88px;
  object-fit: contain;
  background: #fff;
  border-radius: 4px;
  flex-shrink: 0;
}
.aeb-matrix-row-supplier-name {
  font-weight: 700;
  font-size: 12px;
  color: var(--aeb-navy);
  flex-shrink: 0;
}
.aeb-matrix-pickup-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 6px;
  border-radius: 4px;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
  letter-spacing: 0;
  flex-shrink: 0;
}
.aeb-matrix-pickup-badge--shuttle {
  background: #f0f9ff;
  color: #0369a1;
  border: 1px solid #bae6fd;
}
.aeb-matrix-pickup-badge--airport {
  background: #f0fdf4;
  color: #15803d;
  border: 1px solid #bbf7d0;
}
.aeb-matrix-pickup-badge-icon {
  font-size: 13px;
  line-height: 1;
}
.aeb-matrix-cell-price {
  font-weight: 700;
  color: var(--aeb-navy-mid);
  cursor: pointer;
  transition: all var(--aeb-transition);
  border-radius: 4px;
}
.aeb-matrix-cell-price:hover {
  background: #f0fdf4;
  color: var(--aeb-green);
  font-size: 13px;
}
.aeb-matrix-cell-price--empty {
  color: #ccc;
  cursor: default;
}
.aeb-matrix-cell-price--active {
  background: var(--aeb-yellow) !important;
  color: var(--aeb-navy) !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.1);
}
.aeb-matrix-table th.aeb-matrix-header-col--active {
  background: #fffdf5;
  border-bottom: 2px solid var(--aeb-yellow);
}
.aeb-matrix-table tr.aeb-matrix-row--active td {
  background: #fafafc;
}

/* Highlighted best price row */
.aeb-matrix-best-price-row {
  background: #f1f5f9;
}
.aeb-matrix-table tr.aeb-matrix-best-price-row td {
  border-bottom: 2px solid #cbd5e1;
}
.aeb-matrix-row-best-label {
  font-weight: 800;
  text-transform: uppercase;
  color: var(--aeb-navy) !important;
  font-size: 10px;
  letter-spacing: 0.05em;
  background: #f1f5f9 !important;
  text-align: left;
}
.aeb-matrix-cell-best-price {
  font-weight: 800;
  color: var(--aeb-green);
  cursor: pointer;
  background: #f1f5f9;
  transition: all var(--aeb-transition);
}
.aeb-matrix-cell-best-price:hover {
  background: #dcfce7;
  font-size: 13px;
}
.aeb-matrix-cell-best-price.aeb-matrix-cell-best-price--active {
  background: var(--aeb-yellow) !important;
  color: var(--aeb-navy) !important;
}

.aeb-matrix-intro-prompt {
  animation: aebFadeIn 0.35s ease-in-out;
  transition: all 0.2s ease;
}
.aeb-matrix-intro-prompt button:hover {
  background: #f1f5f9 !important;
  border-color: var(--aeb-blue) !important;
  color: var(--aeb-blue) !important;
  transform: translateY(-1px);
}

/* ---- Overlay Modal for T&C ---- */
.aeb-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100000; /* Wordpress admin bar compatibility */
  background: rgba(13, 30, 53, 0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.aeb-modal.aeb-modal--open {
  display: flex;
}
.aeb-modal-dialog {
  background: #fff;
  border-radius: var(--aeb-radius-lg);
  max-width: 800px;
  width: 100%;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 50px rgba(13, 30, 53, 0.25);
  animation: aeb-slide-down 0.25s ease-out;
}
@keyframes aeb-slide-down {
  from { opacity: 0; transform: translateY(-30px); }
  to { opacity: 1; transform: translateY(0); }
}
.aeb-modal-header {
  padding: 18px 24px;
  border-bottom: 1px solid #eef2f6;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--aeb-navy);
  border-top-left-radius: var(--aeb-radius-lg);
  border-top-right-radius: var(--aeb-radius-lg);
  color: #fff;
}
.aeb-modal-title {
  font-size: 17px;
  font-weight: 700;
  margin: 0;
  color: #fff;
}
.aeb-modal-close {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.7);
  font-size: 24px;
  cursor: pointer;
  line-height: 1;
  padding: 0;
  transition: color var(--aeb-transition);
}
.aeb-modal-close:hover {
  color: #fff;
}
.aeb-modal-body {
  padding: 28px 32px;
  overflow-y: auto;
  flex: 1;
  font-size: 13px;
  line-height: 1.6;
  color: var(--aeb-navy-light);
}

/* Modal Content Styling */
.aeb-tc-section {
  margin-bottom: 24px;
}
.aeb-tc-section-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--aeb-navy);
  border-bottom: 2px solid var(--aeb-gray-light);
  padding-bottom: 6px;
  margin-bottom: 12px;
  text-transform: uppercase;
}
.aeb-tc-block {
  margin-bottom: 16px;
}
.aeb-tc-block-title {
  font-weight: 700;
  margin-bottom: 6px;
  color: var(--aeb-navy-mid);
}
.aeb-tc-block-content {
  color: var(--aeb-navy-light);
}

.aeb-local-fees-box {
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-left: 4px solid var(--aeb-navy);
  border-radius: var(--aeb-radius);
  padding: 12px 16px;
  margin-bottom: 18px;
  color: var(--aeb-navy) !important;
  box-shadow: var(--aeb-shadow);
}
.aeb-local-fees-box__title {
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--aeb-navy) !important;
}
.aeb-local-fee-item {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  padding: 4px 0;
  border-bottom: 1px dashed #e2e8f0;
  color: #475569 !important;
}
.aeb-local-fee-item:last-child {
  border-bottom: none;
}
.aeb-local-fee-item__price {
  font-weight: 700;
  color: var(--aeb-navy) !important;
}

.aeb-deposit-box {
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-left: 4px solid #0284c7;
  border-radius: var(--aeb-radius);
  padding: 14px 16px;
  margin-bottom: 14px;
  color: var(--aeb-navy) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.aeb-deposit-box__title {
  font-weight: 800;
  font-size: 13.5px;
  margin-bottom: 6px;
  color: #0369a1 !important;
  display: flex;
  align-items: center;
  gap: 6px;
}
.aeb-fuel-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-left: 4px solid #64748b;
  border-radius: var(--aeb-radius);
  padding: 12px 16px;
  margin-bottom: 14px;
  font-size: 12.5px;
  color: var(--aeb-navy) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}

/* Extras list card styling */
.aeb-extras-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}
/* ── Extras section ──────────────────────────────── */
.aeb-extras-section {
  margin: 20px 0;
}
.aeb-extras-accordion {
  transition: border-color 0.2s, box-shadow 0.2s;
}
.aeb-extras-accordion-header:hover {
  background: #f1f5f9 !important;
}
.aeb-extras-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Checkbox card */
.aeb-extra-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f8fafc;
  border: 2px solid #e2e8f0;
  border-radius: var(--aeb-radius);
  padding: 12px 16px;
  cursor: pointer;
  transition: border-color 0.18s, background 0.18s, box-shadow 0.18s;
  user-select: none;
}
.aeb-extra-card:hover {
  border-color: var(--aeb-navy-mid);
  background: #f0f4f8;
}
.aeb-extra-card--selected {
  border-color: var(--aeb-navy);
  background: rgba(13,30,53,.05);
  box-shadow: 0 0 0 3px rgba(13,30,53,.08);
}
.aeb-extra-card--included {
  cursor: default;
  border-color: #bbf7d0;
  background: #f0fdf4;
}
/* Hide native checkbox but keep it accessible */
.aeb-extra-card input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 2px solid #cbd5e1;
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
  position: relative;
  flex-shrink: 0;
}
.aeb-extra-card input[type="checkbox"]:checked {
  background: var(--aeb-navy);
  border-color: var(--aeb-navy);
}
.aeb-extra-card input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 2px; left: 5px;
  width: 6px; height: 10px;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}
.aeb-extra-card__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.aeb-extra-card__name {
  font-weight: 700;
  color: var(--aeb-navy);
  font-size: 13px;
}
.aeb-extra-card__desc {
  font-size: 11px;
  color: #64748b;
  line-height: 1.4;
}
.aeb-extra-card__price {
  font-weight: 800;
  color: var(--aeb-navy-mid);
  font-size: 13px;
  white-space: nowrap;
  background: #e2e8f0;
  padding: 4px 10px;
  border-radius: 20px;
  flex-shrink: 0;
}
.aeb-extra-card--selected .aeb-extra-card__price {
  background: var(--aeb-navy);
  color: #fff;
}

/* Flexible Cancellation Card — Modern, Premium Single-Card Design */
.aeb-flex-cancel-wrapper {
  margin: 20px 0;
  width: 100%;
  box-sizing: border-box;
}

.aeb-extra-card--flex-cancel {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 16px 22px !important;
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04) !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  position: relative !important;
}

.aeb-extra-card--flex-cancel:hover {
  border-color: #94a3b8 !important;
  background: #f8fafc !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.07) !important;
  transform: translateY(-1px);
}

.aeb-extra-card--flex-cancel.aeb-extra-card--selected {
  background: #f0fdf4 !important;
  border-color: #16a34a !important;
  border-width: 2px !important;
  box-shadow: 0 4px 16px rgba(22, 163, 74, 0.12), 0 0 0 1px #16a34a !important;
}

/* Checkbox alignment and custom styling */
.aeb-extra-card--flex-cancel .aeb-flex-cancel-main {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  flex: 1;
}

.aeb-extra-card--flex-cancel .aeb-extra-chk {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  border: 2px solid #94a3b8 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  cursor: pointer !important;
  position: relative !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  transition: all 0.15s ease !important;
  box-sizing: border-box !important;
}

.aeb-extra-card--flex-cancel:hover .aeb-extra-chk {
  border-color: #64748b !important;
}

.aeb-extra-card--flex-cancel .aeb-extra-chk:checked {
  background: #16a34a !important;
  border-color: #16a34a !important;
}

.aeb-extra-card--flex-cancel .aeb-extra-chk:checked::after {
  content: '' !important;
  position: absolute !important;
  top: 2px !important;
  left: 6px !important;
  width: 6px !important;
  height: 11px !important;
  border: 2.5px solid #ffffff !important;
  border-top: none !important;
  border-left: none !important;
  transform: rotate(45deg) !important;
  box-sizing: border-box !important;
}

/* Content block */
.aeb-extra-card--flex-cancel .aeb-flex-cancel-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.aeb-extra-card--flex-cancel .aeb-flex-cancel-header {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.aeb-extra-card--flex-cancel .aeb-flex-cancel-shield {
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
}

.aeb-extra-card--flex-cancel .aeb-flex-cancel-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  letter-spacing: -0.01em !important;
  margin: 0 !important;
}

.aeb-extra-card--flex-cancel .aeb-flex-cancel-badge {
  font-size: 10px !important;
  font-weight: 800 !important;
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid #bbf7d0 !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  line-height: 1.3 !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.aeb-extra-card--flex-cancel .aeb-flex-cancel-desc {
  font-size: 13px !important;
  color: #475569 !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

/* Price Block */
.aeb-extra-card--flex-cancel .aeb-flex-cancel-price-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: center !important;
  text-align: right !important;
  flex-shrink: 0 !important;
  padding-left: 12px !important;
  min-width: 120px !important;
}

.aeb-extra-card--flex-cancel .aeb-extra-card__price {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  background: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  padding: 5px 14px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
  letter-spacing: -0.01em !important;
  display: inline-block !important;
  margin: 0 !important;
}

.aeb-extra-card--flex-cancel:hover .aeb-extra-card__price {
  background: #e2e8f0 !important;
  border-color: #cbd5e1 !important;
}

.aeb-extra-card--flex-cancel.aeb-extra-card--selected .aeb-extra-card__price {
  background: #16a34a !important;
  color: #ffffff !important;
  border-color: #15803d !important;
  box-shadow: 0 2px 6px rgba(22, 163, 74, 0.25) !important;
}

.aeb-extra-card--flex-cancel .aeb-flex-cancel-period {
  font-size: 11px !important;
  color: #64748b !important;
  font-weight: 500 !important;
  margin-top: 4px !important;
  display: block !important;
  white-space: nowrap !important;
}

@media (max-width: 640px) {
  .aeb-extra-card--flex-cancel {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 14px 16px !important;
    gap: 12px !important;
  }
  .aeb-extra-card--flex-cancel .aeb-flex-cancel-price-block {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    border-top: 1px solid #e2e8f0 !important;
    padding-top: 10px !important;
    padding-left: 0 !important;
    min-width: 0 !important;
  }
  .aeb-extra-card--flex-cancel.aeb-extra-card--selected .aeb-flex-cancel-price-block {
    border-top-color: #bbf7d0 !important;
  }
  .aeb-extra-card--flex-cancel .aeb-flex-cancel-period {
    margin-top: 0 !important;
  }
}


/* Card changes */
.aeb-card-package-tag {
  background: var(--aeb-navy);
  color: var(--aeb-yellow);
  font-size: 10px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 6px;
  letter-spacing: 0.05em;
}
.aeb-card-tc-link {
  display: block;
  text-align: center;
  font-size: 11px;
  color: var(--aeb-navy-mid);
  text-decoration: underline;
  cursor: pointer;
  margin-top: 6px;
}
.aeb-card-tc-link:hover {
  color: var(--aeb-navy);
}

.aeb-detail-package-badge {
  background: var(--aeb-navy);
  color: var(--aeb-yellow);
  font-size: 12px;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 4px;
  display: inline-block;
  margin-top: 8px;
  letter-spacing: 0.05em;
}

/* ---- Insurance Comparison Table ---- */
.aeb-insurance-section {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: var(--aeb-radius-lg);
  box-shadow: 0 4px 20px rgba(13, 30, 53, 0.08);
  overflow: hidden;
  padding: 0;
  margin-bottom: 24px;
}
.aeb-insurance-body {
  padding: 20px;
}
.aeb-insurance-table-wrapper {
  position: relative;
  width: 100%;
}
.aeb-insurance-table-container {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  position: relative;
  scroll-behavior: smooth;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}
.aeb-insurance-table {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
  table-layout: auto;
}
.aeb-insurance-table th,
.aeb-insurance-table td {
  border: none;
  border-bottom: 1px solid #eef2f6;
  border-right: 1px solid #eef2f6;
  padding: 12px 10px;
  text-align: center;
  box-sizing: border-box;
}
.aeb-insurance-table th {
  background: #f8fafc;
  color: var(--aeb-navy);
  font-weight: 700;
  vertical-align: top;
  border-top: 1px solid #eef2f6;
}
.aeb-insurance-table th.aeb-insurance-col-feature,
.aeb-insurance-table td.aeb-insurance-feature-name {
  text-align: left;
  font-weight: 600;
  color: var(--aeb-navy-mid);
  width: 220px;
  min-width: 210px;
  max-width: 240px;
  vertical-align: middle;
  position: sticky;
  left: 0;
  z-index: 10;
  background-color: #ffffff;
  border-right: 2px solid #cbd5e1 !important;
  box-shadow: 3px 0 8px -2px rgba(13, 30, 53, 0.08);
}
.aeb-insurance-table th.aeb-insurance-col-feature {
  background-color: #f8fafc;
  z-index: 12;
}
.aeb-insurance-table tr:nth-child(even) td.aeb-insurance-feature-name {
  background-color: #fbfcfe;
}
.aeb-insurance-table th.aeb-insurance-col-plan {
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.aeb-insurance-table th.aeb-insurance-col-plan:hover {
  background-color: #f1f5f9;
}
.aeb-insurance-table th.aeb-insurance-col-plan,
.aeb-insurance-table td.aeb-insurance-cell-plan {
  width: 190px;
  min-width: 175px;
  max-width: 210px;
  padding: 10px 8px;
  vertical-align: middle;
}
.aeb-franchise-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  text-align: center;
  width: 100%;
}
.aeb-franchise-cell-type {
  font-size: 11px;
  font-weight: 700;
  color: var(--aeb-navy);
  line-height: 1.25;
  text-align: center;
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.aeb-franchise-cell-amount {
  font-size: 13px;
  font-weight: 800;
  color: #0f172a;
  white-space: nowrap;
  line-height: 1.2;
  text-align: center;
}
.aeb-franchise-cell-amount--refund {
  color: #0284c7;
}
.aeb-franchise-cell-amount--zero {
  color: #16a34a;
}
.aeb-insurance-th-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 85px;
  height: 100%;
}
.aeb-insurance-header-title {
  font-size: 11px;
  letter-spacing: 0.04em;
  font-weight: 800;
  color: var(--aeb-navy);
  line-height: 1.35;
  text-transform: uppercase;
}
.aeb-insurance-header-sub {
  font-size: 9.5px;
  font-weight: 600;
  color: #64748b;
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.25;
}
.aeb-insurance-price-diff {
  font-size: 11px;
  color: #475569;
  font-weight: 700;
  margin-top: auto;
  padding-top: 6px;
  display: inline-block;
  white-space: nowrap;
}
.aeb-insurance-col-header--active {
  background: #f0fdf4 !important;
  border-top: 3.5px solid #16a34a !important;
  border-bottom: 1px solid #bbf7d0 !important;
  border-left: 2px solid #16a34a !important;
  border-right: 2px solid #16a34a !important;
}
.aeb-insurance-col-header--active .aeb-insurance-price-diff {
  color: #15803d !important;
}
.aeb-insurance-cell--active {
  background: #f0fdf4 !important;
  border-bottom: 1px solid #dcfce7 !important;
  border-left: 2px solid #16a34a !important;
  border-right: 2px solid #16a34a !important;
}
.aeb-insurance-cell--active .aeb-check {
  font-size: 18px;
  font-weight: 800;
}
.aeb-insurance-table .aeb-btn--select-plan {
  background: #f5c518;
  color: #0d1e35;
  border: none;
  border-radius: var(--aeb-radius);
  padding: 8px 8px;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  text-transform: uppercase;
  transition: all var(--aeb-transition);
  display: inline-block;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(245, 197, 24, 0.3);
}
.aeb-insurance-table .aeb-btn--select-plan:hover {
  background: #eab308;
  transform: translateY(-1px);
}
.aeb-insurance-active-badge {
  background: var(--aeb-green);
  color: #fff;
  border-radius: var(--aeb-radius);
  padding: 8px 8px;
  font-size: 11px;
  font-weight: 700;
  display: inline-block;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}
.aeb-insurance-selector-row td {
  background: #f8fafc;
  padding: 14px 10px;
}

/* Gallery Controls */
.aeb-table-gallery-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  gap: 12px;
  flex-wrap: wrap;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 10px 14px;
}
.aeb-gallery-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
}
.aeb-gallery-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--aeb-navy);
}
.aeb-gallery-hint {
  font-size: 11.5px;
  color: #64748b;
}
.aeb-gallery-controls {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 20px;
  padding: 3px 8px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.aeb-gallery-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #0d1e35;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
}
.aeb-gallery-btn:hover:not(:disabled) {
  background: #0284c7;
  color: #ffffff;
  border-color: #0284c7;
  box-shadow: 0 2px 5px rgba(2, 132, 199, 0.3);
}
.aeb-gallery-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.aeb-gallery-counter {
  font-size: 11.5px;
  font-weight: 700;
  color: #334155;
  padding: 0 4px;
  white-space: nowrap;
}

/* Floating navigation arrows */
.aeb-gallery-arrow-float {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 25;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #ffffff;
  color: #0d1e35;
  border: 1.5px solid #cbd5e1;
  box-shadow: 0 4px 12px rgba(13, 30, 53, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
  font-size: 18px;
  font-weight: 900;
}
.aeb-gallery-arrow-float:hover:not(:disabled) {
  background: #0284c7;
  color: #ffffff;
  border-color: #0284c7;
  transform: translateY(-50%) scale(1.08);
}
.aeb-gallery-arrow-float:disabled {
  opacity: 0;
  pointer-events: none;
}
.aeb-gallery-arrow-float--prev {
  left: 226px;
}
.aeb-gallery-arrow-float--next {
  right: 8px;
}

@media (max-width: 640px) {
  .aeb-insurance-table th.aeb-insurance-col-feature,
  .aeb-insurance-table td.aeb-insurance-feature-name {
    width: 160px;
    min-width: 150px;
    max-width: 170px;
    font-size: 11.5px;
    padding: 10px 8px;
  }
  .aeb-insurance-table th.aeb-insurance-col-plan,
  .aeb-insurance-table td.aeb-insurance-cell-plan {
    width: 160px;
    min-width: 150px;
    max-width: 170px;
    padding: 8px 6px;
  }
  .aeb-gallery-arrow-float--prev {
    left: 165px;
  }
}

/* Responsive grid utilities for vehicle detail step */
.aeb-detail-grid-2col {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
}
@media (max-width: 860px) {
  .aeb-detail-grid-2col {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.aeb-detail-panel {
  background: var(--aeb-white);
  border: 1px solid #e2e8f0;
  border-radius: var(--aeb-radius-lg);
  padding: 22px 24px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
}
.aeb-panel-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--aeb-navy);
  margin: 0 0 16px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--aeb-gray-light);
  display: flex;
  align-items: center;
  gap: 8px;
  letter-spacing: -0.01em;
}

/* ============================================================
   Horizontal Filter Dropdowns (autoeurope.es style)
   ============================================================ */
.aeb-horizontal-filters {
  background: var(--aeb-white);
  border: 1px solid var(--aeb-gray);
  border-radius: var(--aeb-radius-lg);
  padding: 16px;
  margin-bottom: 20px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  position: relative;
  z-index: 200;
}
.aeb-horiz-filters-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
}

/* Desktop styles: No scroll, overflow visible so dropdown overlays search results */
@media (min-width: 992px) {
  .aeb-horiz-filters-row {
    overflow: visible;
    padding-bottom: 0;
  }
}

/* Mobile/Tablet styles: Swipeable carousel */
@media (max-width: 991px) {
  .aeb-horiz-filters-row {
    overflow-x: auto;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
  }
  .aeb-horiz-filters-row::-webkit-scrollbar {
    height: 4px;
  }
  .aeb-horiz-filters-row::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
  }
  .aeb-horiz-filters-row::-webkit-scrollbar-track {
    background: #f1f5f9;
  }
}
.aeb-horiz-filter-dropdown {
  position: relative;
  flex-shrink: 0;
}
.aeb-horiz-filter-trigger {
  background: var(--aeb-white);
  border: 1px solid #cbd5e1;
  border-radius: var(--aeb-radius);
  color: var(--aeb-navy-mid);
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.aeb-horiz-filter-trigger:hover {
  border-color: var(--aeb-navy-light);
  color: var(--aeb-navy);
}
.aeb-horiz-filter-trigger--active {
  background: rgba(13,30,53,0.06) !important;
  border-color: var(--aeb-navy) !important;
  color: var(--aeb-navy) !important;
}
.aeb-horiz-filter-trigger .arrow {
  font-size: 9px;
  transition: transform 0.2s ease;
}
.aeb-horiz-filter-dropdown--open .aeb-horiz-filter-trigger .arrow {
  transform: rotate(180deg);
}
.aeb-horiz-filter-popover {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 6px;
  background: var(--aeb-white);
  border: 1px solid #e2e8f0;
  border-radius: var(--aeb-radius-lg);
  box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.05);
  padding: 14px;
  min-width: 220px;
  max-height: 320px;
  overflow-y: auto;
  z-index: 250;
}
.aeb-horiz-filter-dropdown--open .aeb-horiz-filter-popover {
  display: block;
}

/* Mobile modal style for filter dropdown to prevent scroll cut-off */
@media (max-width: 991px) {
  .aeb-horiz-filter-popover {
    position: fixed;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%);
    width: 90% !important;
    max-width: 320px;
    max-height: 70vh;
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.25), 0 10px 10px -5px rgba(0,0,0,0.15);
    z-index: 9999 !important;
    margin-top: 0;
  }
  
  /* Backdrop overlay when menu is open on mobile */
  .aeb-horiz-filter-dropdown--open::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(13, 30, 53, 0.4);
    z-index: 9998 !important;
    cursor: pointer;
  }
}
.aeb-horiz-filter-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.aeb-horiz-filter-option {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--aeb-navy);
  cursor: pointer;
  user-select: none;
  padding: 4px 6px;
  border-radius: var(--aeb-radius);
  transition: background 0.15s ease;
}
.aeb-horiz-filter-option:hover {
  background: var(--aeb-gray-light);
}
.aeb-horiz-filter-option input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: var(--aeb-navy);
  flex-shrink: 0;
}
.aeb-horiz-filter-option span {
  flex: 1;
}
.aeb-horiz-filter-option small {
  color: #64748b;
  margin-left: 2px;
}

/* ============================================================
   LAYOUT DE DETALLES — COLUMNA ÚNICA VERTICAL
   ============================================================ */

.aeb-detail-main-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* ============================================================
   LAYOUT DE DETALLES — DOS COLUMNAS (ASOCIADO A LA OFICIAL)
   ============================================================ */

.aeb-detail-two-col-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 24px;
  align-items: start;
}
@media (max-width: 900px) {
  .aeb-detail-two-col-layout {
    grid-template-columns: 1fr;
  }
}

.aeb-detail-left-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.aeb-detail-sidebar-col {
  position: sticky;
  top: 20px;
}

.aeb-detail-sidebar {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: var(--aeb-radius-lg);
  box-shadow: 0 4px 20px rgba(13, 30, 53, 0.08);
  overflow: hidden;
}

.aeb-sidebar-header {
  background: var(--aeb-navy);
  padding: 16px 20px;
  color: #fff;
}
.aeb-sidebar-header h3 {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  margin: 0;
}

.aeb-sidebar-body {
  padding: 20px;
}

/* Caja de precio horizontal — aparece inline antes del conductor */
.aeb-detail-price-sidebar {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: var(--aeb-radius-lg);
  box-shadow: 0 4px 16px rgba(13, 30, 53, 0.06);
  overflow: hidden;
}

/* Layout interno horizontal del card de precio */
.aeb-price-card-inner {
  display: flex;
  align-items: stretch;
  min-height: 120px;
}

.aeb-price-card-left {
  flex: 1;
  padding: 20px 24px;
  min-width: 0;
}

.aeb-price-card-divider {
  width: 1px;
  background: #e2e8f0;
  flex-shrink: 0;
}

.aeb-price-card-right {
  flex: 1;
  padding: 20px 24px;
  min-width: 0;
}

.aeb-price-card-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--aeb-navy);
  opacity: .6;
  margin-bottom: 10px;
}

.aeb-price-card-days {
  font-size: 12px;
  color: #64748b;
  margin-bottom: 10px;
}

/* Total — bloque derecho con fondo navy */
.aeb-price-card-total {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--aeb-navy);
  padding: 20px 32px;
  flex-shrink: 0;
  gap: 4px;
}

.aeb-price-card-total-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: rgba(255, 255, 255, 0.65);
}

.aeb-price-card-total-amount {
  font-size: 30px;
  font-weight: 900;
  color: #fff;
  white-space: nowrap;
}

/* Responsive: en móvil el card se apila verticalmente */
@media (max-width: 768px) {
  .aeb-price-card-inner {
    flex-direction: column;
  }
  .aeb-price-card-divider {
    width: 100%;
    height: 1px;
  }
  .aeb-price-card-total {
    flex-direction: row;
    justify-content: space-between;
    padding: 16px 20px;
  }
}

/* ---- Estilos para el popup dinámico de condiciones ---- */
.aeb-modal-local-fees {
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-left: 4px solid var(--aeb-navy);
  border-radius: var(--aeb-radius-lg);
  padding: 16px 20px;
  margin-bottom: 20px;
}

.aeb-modal-deposit {
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-left: 4px solid var(--aeb-gray-text);
  border-radius: var(--aeb-radius-lg);
  padding: 16px 20px;
  margin-bottom: 20px;
}

.aeb-modal-section-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--aeb-navy);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 10px;
}

.aeb-modal-section-desc {
  font-size: 12px;
  color: var(--aeb-navy-light);
  line-height: 1.5;
  margin-bottom: 12px;
}

.aeb-modal-fee-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #e2e8f0;
  font-size: 13px;
}

.aeb-modal-fee-row:last-child {
  border-bottom: none;
}

.aeb-modal-fee-name {
  color: var(--aeb-navy-light);
}

.aeb-modal-fee-price {
  font-weight: 700;
  color: var(--aeb-navy);
}

/* Tabla de extras en modal */
.aeb-modal-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-top: 10px;
  margin-bottom: 24px;
}

.aeb-modal-table th {
  background: #f1f5f9;
  color: var(--aeb-navy);
  font-weight: 700;
  padding: 10px 12px;
  border-bottom: 2px solid #cbd5e1;
}

.aeb-modal-table td {
  padding: 12px;
  border-bottom: 1px solid #e2e8f0;
  color: var(--aeb-navy-light);
  vertical-align: top;
}

.aeb-modal-table tr:nth-child(even) {
  background-color: #f8fafc;
}

.aeb-modal-extra-desc {
  color: var(--aeb-gray-text);
  font-size: 11px;
  display: inline-block;
  margin-top: 4px;
}

/* Bloques de texto generales de condiciones */
.aeb-modal-terms-block {
  margin-bottom: 16px;
  padding: 14px 18px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: var(--aeb-radius);
}

.aeb-modal-terms-block-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--aeb-navy);
  margin-bottom: 6px;
}

.aeb-modal-terms-block-content {
  font-size: 12px;
  color: var(--aeb-navy-light);
  line-height: 1.6;
}

/* Custom styles for API HTML tags inside the modal terms popups */
.aeb-modal-body h2,
.aeb-modal-body h3,
.aeb-modal-terms-block-content h2,
.aeb-modal-terms-block-content h3 {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #000000 !important;
  margin-top: 18px !important;
  margin-bottom: 8px !important;
  text-transform: none !important;
  display: block !important;
}

.aeb-modal-body ul,
.aeb-modal-terms-block-content ul {
  margin: 12px 0 16px 24px !important;
  padding-left: 0 !important;
  list-style-type: disc !important;
  display: block !important;
}

.aeb-modal-body li,
.aeb-modal-terms-block-content li {
  margin-bottom: 6px !important;
  padding-left: 2px !important;
  color: var(--aeb-navy-light) !important;
  display: list-item !important;
  list-style-type: disc !important;
}

/* ================================================================
   User / Agency Welcome Bar & Navigation
   ================================================================ */
.aeb-user-bar {
  margin-bottom: 16px;
  border-radius: var(--aeb-radius-lg, 8px);
  font-family: inherit;
}

.aeb-user-bar--guest {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  padding: 10px 18px;
}

.aeb-user-bar__guest-prompt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 13px;
  color: #475569;
}

.aeb-user-bar__btn-login {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: var(--aeb-navy, #0d1e35);
  color: #ffffff !important;
  text-decoration: none !important;
  border-radius: 6px;
  font-size: 12.5px;
  font-weight: 700;
  transition: background 0.2s, transform 0.1s;
}

.aeb-user-bar__btn-login:hover {
  background: var(--aeb-blue, #0284c7);
  color: #ffffff !important;
}

.aeb-user-bar--logged-in {
  background: linear-gradient(135deg, #0d1e35 0%, #1e293b 100%);
  color: #ffffff;
  border: 1px solid #1e293b;
  box-shadow: 0 2px 6px rgba(13, 30, 53, 0.08);
}

.aeb-user-bar__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 10px 18px;
  gap: 12px;
}

.aeb-user-bar__welcome {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  color: #e2e8f0;
}

.aeb-user-bar__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  font-size: 16px;
  flex-shrink: 0;
}

.aeb-user-bar__greeting {
  line-height: 1.3;
}

.aeb-user-bar__name {
  color: #f5c518;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.aeb-user-bar__nav {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

.aeb-nav-item {
  position: relative;
}

.aeb-nav-link,
.aeb-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 13px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  color: #f8fafc !important;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none !important;
  border: 1px solid rgba(255, 255, 255, 0.12);
  cursor: pointer;
  line-height: 1;
  transition: all 0.2s ease;
}

.aeb-nav-link:hover,
.aeb-nav-btn:hover {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.25);
}

.aeb-nav-link--logout {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.3);
  color: #fca5a5 !important;
}

.aeb-nav-link--logout:hover {
  background: #ef4444;
  border-color: #ef4444;
  color: #ffffff !important;
}

.aeb-dropdown-arrow {
  font-size: 11px;
  margin-left: 2px;
  transition: transform 0.2s ease;
}

.aeb-nav-item--dropdown {
  position: relative;
  padding-bottom: 6px;
  margin-bottom: -6px;
}

.aeb-nav-item--dropdown:hover .aeb-dropdown-arrow,
.aeb-nav-item--dropdown.aeb-is-open .aeb-dropdown-arrow {
  transform: rotate(180deg);
}

/* Dropdown floating menu */
.aeb-dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 0;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  min-width: 210px;
  padding: 6px;
  z-index: 99999;
  animation: aebFadeSlide 0.15s ease-out;
}

/* Invisible bridge so mouse hover is never broken when moving towards menu */
.aeb-dropdown-menu::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
  background: transparent;
}

.aeb-nav-item--dropdown:hover .aeb-dropdown-menu,
.aeb-nav-item--dropdown.aeb-is-open .aeb-dropdown-menu {
  display: block;
}

@keyframes aebFadeSlide {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.aeb-dropdown-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  color: #1e293b !important;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none !important;
  border-radius: 5px;
  transition: background 0.15s, color 0.15s;
}

.aeb-dropdown-link:hover {
  background: #f1f5f9;
  color: #0284c7 !important;
}

.aeb-dropdown-link-icon {
  font-size: 14px;
}

.aeb-dropdown-divider {
  height: 1px;
  background: #e2e8f0;
  margin: 4px 6px;
}

.aeb-dropdown-link--all {
  font-size: 11.5px;
  color: #64748b !important;
}

@media (max-width: 768px) {
  .aeb-user-bar__inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .aeb-user-bar__nav {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .aeb-dropdown-menu {
    left: 0;
    right: auto;
  }
}

/* Plan Conditions Badges (Franquicia y Fianza) */
.aeb-plan-badges-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin: 3px 0 4px 0;
}
.aeb-plan-badge {
  display: inline-flex;
  align-items: center;
  gap: 3.5px;
  padding: 2.5px 7.5px;
  border-radius: 4px;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}
.aeb-plan-badge--zero {
  background: #f0fdf4;
  color: #15803d;
  border: 1px solid #bbf7d0;
}
.aeb-plan-badge--reemb {
  background: #f0f9ff;
  color: #0369a1;
  border: 1px solid #bae6fd;
}
.aeb-plan-badge--excess {
  background: #f8fafc;
  color: #334155;
  border: 1px solid #cbd5e1;
}
.aeb-plan-badge--deposit {
  background: #f8fafc;
  color: #334155;
  border: 1px solid #cbd5e1;
}
.aeb-plan-badge--mileage-ulk {
  background: #f0fdf4;
  color: #15803d;
  border: 1px solid #bbf7d0;
}
.aeb-plan-badge--mileage-lk {
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid #fed7aa;
}

/* Inclusions Badges */
.aeb-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  border-radius: 5px;
  padding: 3.5px 9px;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.3;
}

/* Shuttle & Airport Highlight in Results Cards & Detail Step */
.aeb-shuttle-pill {
  background: #0284c7 !important;
  color: #ffffff !important;
  box-shadow: 0 1px 3px rgba(2, 132, 199, 0.3) !important;
}
.aeb-airport-pill {
  background: #16a34a !important;
  color: #ffffff !important;
  box-shadow: 0 1px 3px rgba(22, 163, 74, 0.3) !important;
}
.aeb-checklist-item--shuttle {
  background: #f0f9ff !important;
  border: 1px solid #bae6fd !important;
  border-left: 3.5px solid #0284c7 !important;
  border-radius: 4px !important;
  padding: 5px 9px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #0369a1 !important;
  margin: 2px 0 !important;
}
.aeb-checklist-item--airport {
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  border-left: 3.5px solid #16a34a !important;
  border-radius: 4px !important;
  padding: 5px 9px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #15803d !important;
  margin: 2px 0 !important;
}
.aeb-badge--shuttle {
  background: #f0f9ff !important;
  color: #0284c7 !important;
  border: 1px solid #bae6fd !important;
  font-weight: 700 !important;
}
.aeb-badge--airport {
  background: #f0fdf4 !important;
  color: #16a34a !important;
  border: 1px solid #bbf7d0 !important;
  font-weight: 700 !important;
}
.aeb-sidebar-coverages {
  animation: aebFadeIn 0.25s ease-in-out;
}
.aeb-sidebar-coverages li {
  transition: background 0.15s ease;
}

/* Bocadillo Informativo - Total Flexibilidad para Cancelar */
.aeb-flex-tooltip-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}
.aeb-flex-tooltip-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #e0f2fe;
  color: #0284c7;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  border: 1px solid #bae6fd;
  transition: all 0.15s ease;
  user-select: none;
  line-height: 1;
  padding: 0;
}
.aeb-flex-tooltip-btn:hover,
.aeb-flex-tooltip-btn:focus {
  background: #0284c7;
  color: #ffffff;
  border-color: #0284c7;
  transform: scale(1.08);
  outline: none;
}
.aeb-flex-tooltip-popover {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  width: 320px;
  max-width: 86vw;
  background: #ffffff;
  border: 1.5px solid #22c55e;
  border-radius: 8px;
  padding: 14px 16px;
  box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.2), 0 8px 10px -6px rgba(15, 23, 42, 0.1);
  z-index: 9999;
  font-size: 12px;
  color: #334155;
  line-height: 1.45;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  text-align: left;
}
.aeb-flex-tooltip-wrap:hover .aeb-flex-tooltip-popover,
.aeb-flex-tooltip-popover.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.aeb-flex-tooltip-popover::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 7px;
  border-style: solid;
  border-color: #ffffff transparent transparent transparent;
}
.aeb-flex-tooltip-popover::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 8.5px;
  border-style: solid;
  border-color: #22c55e transparent transparent transparent;
}
.aeb-flex-tooltip-popover--right {
  left: auto;
  right: -10px;
  transform: none;
}
.aeb-flex-tooltip-popover--right::after,
.aeb-flex-tooltip-popover--right::before {
  left: auto;
  right: 18px;
  transform: none;
}
.aeb-flex-tooltip-wrap:hover .aeb-flex-tooltip-popover--right,
.aeb-flex-tooltip-popover.is-active.aeb-flex-tooltip-popover--right {
  transform: none;
}
.aeb-flex-tooltip-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 800;
  color: #15803d;
  margin-bottom: 8px;
}
.aeb-flex-tooltip-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.aeb-flex-tooltip-list li {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 11.5px;
  color: #475569;
  line-height: 1.4;
}
.aeb-flex-tooltip-list li .chk {
  color: #16a34a;
  font-weight: 900;
  flex-shrink: 0;
}
.aeb-flex-tooltip-close {
  position: absolute;
  top: 8px;
  right: 8px;
  background: transparent;
  border: 0;
  color: #94a3b8;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  padding: 2px 5px;
}
.aeb-flex-tooltip-close:hover {
  color: #0f172a;
}

/* Breakdown extra lines */
.aeb-extra-breakdown-line {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  font-size: 12px !important;
  color: #0369a1 !important;
  padding: 4px 0 !important;
  border-bottom: 1px dashed #e2e8f0 !important;
  animation: aebFadeIn 0.2s ease-in;
}
.aeb-extra-breakdown-line .aeb-pb-label {
  font-weight: 600 !important;
  color: #0369a1 !important;
}
.aeb-extra-breakdown-line .val {
  font-weight: 700 !important;
  color: #0c4a6e !important;
  white-space: nowrap !important;
}

/* ==========================================================================
/* ==========================================================================
   MIS RESERVAS - FILTROS Y BÚSQUEDA AVANZADA + TABLA DE RESERVAS
   Modern Sans-Serif Layout, Premium Corporate Polish
   ========================================================================== */

/* Universal Sans-Serif Typography throughout WooCommerce My Account & Mis Reservas */
.woocommerce-account,
.woocommerce-account *,
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-navigation *,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-content *,
.aeb-reservas-filter-card,
.aeb-reservas-filter-card *,
.woocommerce-orders-table,
.woocommerce-orders-table *,
table.my_account_orders,
table.my_account_orders *,
.aeb-mis-reservas-wrapper,
.aeb-mis-reservas-wrapper * {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
}

/* Sidebar Navigation in My Account */
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
}

.woocommerce-MyAccount-navigation ul li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: none !important;
}

.woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 13px 18px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

.woocommerce-MyAccount-navigation ul li a:hover {
  background: #f8fafc !important;
  color: #0284c7 !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a {
  background: #f0f9ff !important;
  color: #0284c7 !important;
  font-weight: 700 !important;
  border-left: 3px solid #0284c7 !important;
}

/* Filter Card */
.aeb-reservas-filter-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 14px rgba(13, 30, 53, 0.05) !important;
  padding: 22px 24px !important;
  margin: 0 0 26px 0 !important;
  box-sizing: border-box !important;
}

.aeb-reservas-filter-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #edf2f7 !important;
}

.aeb-reservas-filter-title {
  font-size: 16.5px !important;
  font-weight: 800 !important;
  color: #0d1e35 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  letter-spacing: -0.01em !important;
}

.aeb-reservas-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  margin-bottom: 18px !important;
}

@media (max-width: 960px) {
  .aeb-reservas-filter-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .aeb-reservas-filter-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

.aeb-filter-group {
  display: flex !important;
  flex-direction: column !important;
}

.aeb-filter-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.aeb-filter-input,
.aeb-filter-select {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 9px 12px !important;
  font-size: 13.5px !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 6px !important;
  background-color: #ffffff !important;
  color: #1e293b !important;
  transition: all 0.2s ease !important;
  outline: none !important;
  min-height: 40px !important;
}

.aeb-filter-input:focus,
.aeb-filter-select:focus {
  border-color: #0284c7 !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15) !important;
}

.aeb-filter-input::placeholder {
  color: #94a3b8 !important;
  font-size: 12.5px !important;
}

.aeb-filter-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  padding-top: 14px !important;
  border-top: 1px solid #edf2f7 !important;
  flex-wrap: wrap !important;
}

.aeb-btn-filter {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 9px 18px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  line-height: 1 !important;
  border: 1px solid transparent !important;
}

.aeb-btn-filter--primary {
  background: #0284c7 !important;
  color: #ffffff !important;
  border-color: #0284c7 !important;
  box-shadow: 0 2px 6px rgba(2, 132, 199, 0.25) !important;
}

.aeb-btn-filter--primary:hover {
  background: #0369a1 !important;
  border-color: #0369a1 !important;
  box-shadow: 0 4px 10px rgba(2, 132, 199, 0.35) !important;
}

.aeb-btn-filter--reset {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border-color: #cbd5e1 !important;
}

.aeb-btn-filter--reset:hover {
  background: #e2e8f0 !important;
  color: #1e293b !important;
  border-color: #94a3b8 !important;
}

/* Active filters summary bar (Reservas / Pedidos) */
.aeb-reservas-filter-card .aeb-active-filters-bar,
.aeb-orders-filter-container .aeb-active-filters-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 14px !important;
  padding: 10px 14px !important;
  background: #f8fafc !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 6px !important;
  font-size: 12.5px !important;
}

.aeb-active-chips {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.aeb-filter-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  background: #e0f2fe !important;
  color: #0369a1 !important;
  border: 1px solid #bae6fd !important;
  border-radius: 4px !important;
  padding: 3px 8px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
}

.aeb-filter-chip-remove {
  color: #0369a1 !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  margin-left: 3px !important;
  font-size: 13px !important;
}

.aeb-filter-chip-remove:hover {
  color: #dc2626 !important;
}

.aeb-results-count {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #475569 !important;
}

/* Empty search notice */
.aeb-filter-empty-notice {
  text-align: center !important;
  padding: 36px 20px !important;
  background: #ffffff !important;
  border: 1.5px dashed #cbd5e1 !important;
  border-radius: 8px !important;
  margin: 20px 0 !important;
}

.aeb-filter-empty-icon {
  font-size: 42px !important;
  margin-bottom: 12px !important;
}

.aeb-filter-empty-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin-bottom: 6px !important;
}

.aeb-filter-empty-text {
  font-size: 13px !important;
  color: #64748b !important;
  margin-bottom: 16px !important;
}

/* ==========================================================================
   RESERVATIONS TABLE: Modern Card & Header Styling
   ========================================================================== */

/* Responsive Table Wrapper & Container */
.woocommerce-account .woocommerce-MyAccount-content {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.aeb-orders-table-wrapper {
  width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  margin-bottom: 28px !important;
}

table.woocommerce-orders-table,
table.my_account_orders,
table.aeb-orders-table {
  width: 100% !important;
  min-width: 600px !important;
  table-layout: auto !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 4px 14px rgba(13, 30, 53, 0.05) !important;
  margin-bottom: 28px !important;
  box-sizing: border-box !important;
}

/* Corner radius for separate border-collapse */
table.woocommerce-orders-table thead tr:first-child th:first-child,
table.my_account_orders thead tr:first-child th:first-child,
table.aeb-orders-table thead tr:first-child th:first-child {
  border-top-left-radius: 7px !important;
}
table.woocommerce-orders-table thead tr:first-child th:last-child,
table.my_account_orders thead tr:first-child th:last-child,
table.aeb-orders-table thead tr:first-child th:last-child {
  border-top-right-radius: 7px !important;
}
table.woocommerce-orders-table tbody tr:last-child td:first-child,
table.my_account_orders tbody tr:last-child td:first-child,
table.aeb-orders-table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 7px !important;
}
table.woocommerce-orders-table tbody tr:last-child td:last-child,
table.my_account_orders tbody tr:last-child td:last-child,
table.aeb-orders-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 7px !important;
}

/* Table Header in Navy (#0d1e35) */
table.woocommerce-orders-table thead,
table.my_account_orders thead,
table.aeb-orders-table thead {
  background: #0d1e35 !important;
}

table.woocommerce-orders-table thead th,
table.my_account_orders thead th,
table.aeb-orders-table thead th {
  background: #0d1e35 !important;
  color: #ffffff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  padding: 10px 6px !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  vertical-align: middle !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

table.woocommerce-orders-table thead th.woocommerce-orders-table__header-order-number {
  white-space: normal !important;
}

table.woocommerce-orders-table thead th.woocommerce-orders-table__header-order-status,
table.woocommerce-orders-table thead th.woocommerce-orders-table__header-order-actions {
  text-align: center !important;
}

table.woocommerce-orders-table thead th.woocommerce-orders-table__header-order-total {
  text-align: right !important;
}

/* Table Body Rows */
table.woocommerce-orders-table tbody tr,
table.my_account_orders tbody tr,
table.aeb-orders-table tbody tr {
  transition: background 0.15s ease !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

table.woocommerce-orders-table tbody tr:hover td,
table.my_account_orders tbody tr:hover td,
table.aeb-orders-table tbody tr:hover td {
  background-color: #f8fafc !important;
}

table.woocommerce-orders-table tbody td,
table.my_account_orders tbody td,
table.aeb-orders-table tbody td {
  padding: 8px 6px !important;
  vertical-align: middle !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
  color: #334155 !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
}

table.woocommerce-orders-table tbody tr:last-child td,
table.my_account_orders tbody tr:last-child td,
table.aeb-orders-table tbody tr:last-child td {
  border-bottom: none !important;
}

/* 1. Localizador / Vehículo column */
.woocommerce-orders-table th.woocommerce-orders-table__header-order-number,
.woocommerce-orders-table td.woocommerce-orders-table__cell-order-number {
  min-width: 115px !important;
}

.aeb-table-locator {
  font-weight: 800 !important;
  font-size: 13px !important;
  color: #0284c7 !important;
  text-decoration: none !important;
  display: inline-block !important;
}
.aeb-table-locator:hover {
  color: #0369a1 !important;
  text-decoration: underline !important;
}

.aeb-table-vehicle {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  text-transform: uppercase !important;
  margin-top: 2px !important;
  line-height: 1.25 !important;
}

.aeb-table-supplier {
  display: inline-block !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  padding: 1px 4px !important;
  border-radius: 3px !important;
  color: #475569 !important;
  margin-top: 3px !important;
  letter-spacing: 0.03em !important;
}

/* 2. Conductor column */
.woocommerce-orders-table th.woocommerce-orders-table__header-aeb-driver,
.woocommerce-orders-table td.woocommerce-orders-table__cell-aeb-driver {
  min-width: 85px !important;
}

.aeb-table-driver {
  font-weight: 700 !important;
  color: #0f172a !important;
  font-size: 11.5px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
  line-height: 1.25 !important;
}

/* 3. Recogida / Devolución column */
.woocommerce-orders-table th.woocommerce-orders-table__header-aeb-pickup,
.woocommerce-orders-table td.woocommerce-orders-table__cell-aeb-pickup,
.woocommerce-orders-table th.woocommerce-orders-table__header-aeb-dropoff,
.woocommerce-orders-table td.woocommerce-orders-table__cell-aeb-dropoff {
  min-width: 95px !important;
}

.aeb-table-loc-group {
  font-size: 11px !important;
  line-height: 1.3 !important;
  color: #334155 !important;
}

.aeb-table-city {
  font-weight: 700 !important;
  color: #0f172a !important;
  font-size: 11px !important;
  display: block !important;
  line-height: 1.25 !important;
}

.aeb-table-date {
  font-size: 10px !important;
  color: #64748b !important;
  display: block !important;
  margin-top: 1px !important;
  font-weight: 500 !important;
}

/* 4. Estado column - Compact & Reduced */
table.woocommerce-orders-table th.woocommerce-orders-table__header-order-status,
table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-status {
  text-align: center !important;
  vertical-align: middle !important;
  min-width: 70px !important;
  width: 74px !important;
  padding: 6px 3px !important;
}

.aeb-status-badge {
  display: inline-block !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  padding: 2px 6px !important;
  border-radius: 12px !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap !important;
}

.aeb-status-badge--confirmed {
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid #86efac !important;
}

.aeb-status-badge--cancelled {
  background: #fee2e2 !important;
  color: #dc2626 !important;
  border: 1px solid #fca5a5 !important;
}

.aeb-status-badge--pending {
  background: #fef3c7 !important;
  color: #b45309 !important;
  border: 1px solid #fde68a !important;
}

.aeb-api-badge {
  display: inline-block !important;
  font-size: 8.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 1.5px 5.5px !important;
  border-radius: 3px !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap !important;
  line-height: 1.25 !important;
}

.aeb-api-badge--confirmed,
.aeb-api-badge--ok,
.aeb-api-badge--cfm {
  background: #ecfdf5 !important;
  color: #047857 !important;
  border: 1px solid #a7f3d0 !important;
}

.aeb-api-badge--cancelled,
.aeb-api-badge--canceled,
.aeb-api-badge--cxl {
  background: #fef2f2 !important;
  color: #b91c1c !important;
  border: 1px solid #fecaca !important;
}

.aeb-api-badge--pending,
.aeb-api-badge--none,
.aeb-api-badge--unknown {
  background: #f8fafc !important;
  color: #64748b !important;
  border: 1px solid #e2e8f0 !important;
}

/* 5. Total column - Compact & Reduced */
table.woocommerce-orders-table th.woocommerce-orders-table__header-order-total,
table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-total {
  text-align: right !important;
  white-space: nowrap !important;
  min-width: 70px !important;
  width: 75px !important;
  padding: 6px 4px !important;
}

table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-total .amount,
table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-total bdi {
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #0d1e35 !important;
  white-space: nowrap !important;
  display: inline-block !important;
}

.aeb-orders-item-count {
  display: block !important;
  font-size: 9.5px !important;
  font-weight: 500 !important;
  color: #64748b !important;
  margin-top: 1px !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* 6. Acciones column - Compact & Simplified */
table.woocommerce-orders-table th.woocommerce-orders-table__header-order-actions,
table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
  text-align: center !important;
  min-width: 68px !important;
  width: 72px !important;
  padding: 6px 3px !important;
}

.aeb-table-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 68px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.aeb-table-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3px 5px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  transition: all 0.15s ease !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.aeb-table-btn--pay {
  background: #16a34a !important;
  color: #ffffff !important;
  border: 1px solid #16a34a !important;
  box-shadow: 0 1px 2px rgba(22, 163, 74, 0.25) !important;
}
.aeb-table-btn--pay:hover {
  background: #15803d !important;
  color: #ffffff !important;
  border-color: #15803d !important;
  text-decoration: none !important;
}

.aeb-table-btn--view {
  background: #0284c7 !important;
  color: #ffffff !important;
  border: 1px solid #0284c7 !important;
}
.aeb-table-btn--view:hover {
  background: #0369a1 !important;
  color: #ffffff !important;
  border-color: #0369a1 !important;
  text-decoration: none !important;
}

.aeb-table-btn--voucher {
  background: #ffffff !important;
  color: #0284c7 !important;
  border: 1px solid #bae6fd !important;
}
.aeb-table-btn--voucher:hover {
  background: #e0f2fe !important;
  color: #0284c7 !important;
  border-color: #7dd3fc !important;
  text-decoration: none !important;
}

.aeb-table-btn--voucher-cxl {
  background: #fef2f2 !important;
  color: #dc2626 !important;
  border: 1px solid #fca5a5 !important;
}
.aeb-table-btn--voucher-cxl:hover {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border-color: #f87171 !important;
  text-decoration: none !important;
}

.aeb-table-btn--proforma {
  background: #ffffff !important;
  color: #475569 !important;
  border: 1px solid #cbd5e1 !important;
}
.aeb-table-btn--proforma:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border-color: #94a3b8 !important;
  text-decoration: none !important;
}

.aeb-table-btn--rectificativa {
  background: #fffbeb !important;
  color: #b45309 !important;
  border: 1px solid #fcd34d !important;
}
.aeb-table-btn--rectificativa:hover {
  background: #fef3c7 !important;
  color: #92400e !important;
  border-color: #f59e0b !important;
  text-decoration: none !important;
}

.aeb-table-btn--cancel {
  background: #fef2f2 !important;
  color: #dc2626 !important;
  border: 1px solid #fca5a5 !important;
  cursor: pointer !important;
}
.aeb-table-btn--cancel:hover {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border-color: #ef4444 !important;
  text-decoration: none !important;
}

/* ============================================================
   WooCommerce View Order / Reservation Details Styling
   Modern Sans-Serif Layout & Clean Visual Polish
   ============================================================ */

/* Enforce modern sans-serif typography throughout view-order & account */
.woocommerce-view-order,
.woocommerce-view-order *,
.woocommerce-order-details,
.woocommerce-order-details *,
.woocommerce-customer-details,
.woocommerce-customer-details *,
.aeb-view-order-toolbar,
.aeb-view-order-toolbar *,
.aeb-view-order-footer-bar,
.aeb-view-order-footer-bar * {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
}

/* Top Action Toolbar */
.aeb-view-order-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 0 0 20px 0 !important;
  padding: 12px 18px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}

.aeb-view-order-footer-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 24px 0 !important;
  padding: 14px 18px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}

.aeb-vo-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.aeb-vo-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  transition: all 0.15s ease !important;
  cursor: pointer !important;
}

.aeb-vo-btn--back {
  background: #ffffff !important;
  color: #334155 !important;
  border: 1px solid #cbd5e1 !important;
}
.aeb-vo-btn--back:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border-color: #94a3b8 !important;
  text-decoration: none !important;
}

.aeb-vo-btn--pay {
  background: #16a34a !important;
  color: #ffffff !important;
  border: 1px solid #16a34a !important;
  box-shadow: 0 1px 3px rgba(22, 163, 74, 0.3) !important;
}
.aeb-vo-btn--pay:hover {
  background: #15803d !important;
  color: #ffffff !important;
  border-color: #15803d !important;
  text-decoration: none !important;
}

.aeb-vo-btn--voucher {
  background: #0284c7 !important;
  color: #ffffff !important;
  border: 1px solid #0284c7 !important;
}
.aeb-vo-btn--voucher:hover {
  background: #0369a1 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.aeb-vo-btn--cxl {
  background: #fee2e2 !important;
  color: #dc2626 !important;
  border: 1px solid #fca5a5 !important;
}
.aeb-vo-btn--cxl:hover {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  text-decoration: none !important;
}

.aeb-vo-btn--proforma {
  background: #ffffff !important;
  color: #0d1e35 !important;
  border: 1px solid #cbd5e1 !important;
}
.aeb-vo-btn--proforma:hover {
  background: #f1f5f9 !important;
  color: #0d1e35 !important;
  border-color: #94a3b8 !important;
  text-decoration: none !important;
}

.aeb-vo-btn--rectificativa {
  background: #fffbeb !important;
  color: #b45309 !important;
  border: 1px solid #fcd34d !important;
}
.aeb-vo-btn--rectificativa:hover {
  background: #fef3c7 !important;
  color: #92400e !important;
  border-color: #f59e0b !important;
  text-decoration: none !important;
}

.aeb-vo-btn--cancel {
  background: #fef2f2 !important;
  color: #dc2626 !important;
  border: 1px solid #fca5a5 !important;
  cursor: pointer !important;
}
.aeb-vo-btn--cancel:hover {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border-color: #ef4444 !important;
  text-decoration: none !important;
}

.aeb-vo-badge-locator {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  color: #475569 !important;
  background: #ffffff !important;
  padding: 6px 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
}
.aeb-vo-badge-locator strong {
  color: #0d1e35 !important;
  font-weight: 800 !important;
}

/* Notice / Intro Order Placement Banner */
.woocommerce-view-order .woocommerce-MyAccount-content > p:first-of-type,
.woocommerce-view-order .woocommerce-notice--info,
.woocommerce-view-order .woocommerce-info,
.aeb-order-notice {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 5px solid #0284c7 !important;
  padding: 14px 20px !important;
  border-radius: 8px !important;
  font-size: 14.5px !important;
  color: #334155 !important;
  line-height: 1.6 !important;
  margin: 0 0 20px 0 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.03) !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.woocommerce-view-order mark.order-number {
  background: #0d1e35 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  display: inline-block !important;
}

.woocommerce-view-order mark.order-date {
  background: transparent !important;
  color: #0f172a !important;
  font-weight: 700 !important;
  padding: 0 !important;
}

.woocommerce-view-order mark.order-status {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 3px 10px !important;
  border-radius: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  display: inline-block !important;
}

/* Status-specific notice borders and badges */
.aeb-status-cancelled.aeb-order-notice,
.woocommerce-view-order .aeb-status-cancelled {
  border-left-color: #dc2626 !important;
}
.aeb-status-cancelled mark.order-status {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fca5a5 !important;
}

.aeb-status-completed.aeb-order-notice,
.woocommerce-view-order .aeb-status-completed {
  border-left-color: #16a34a !important;
}
.aeb-status-completed mark.order-status {
  background: #dcfce7 !important;
  color: #166534 !important;
  border: 1px solid #86efac !important;
}

.aeb-status-processing.aeb-order-notice,
.woocommerce-view-order .aeb-status-processing {
  border-left-color: #0284c7 !important;
}
.aeb-status-processing mark.order-status {
  background: #e0f2fe !important;
  color: #0369a1 !important;
  border: 1px solid #7dd3fc !important;
}

.aeb-status-on-hold.aeb-order-notice,
.woocommerce-view-order .aeb-status-on-hold {
  border-left-color: #d97706 !important;
}
.aeb-status-on-hold mark.order-status {
  background: #fef3c7 !important;
  color: #92400e !important;
  border: 1px solid #fcd34d !important;
}

/* Headings: Replace the crude teal blocks with elegant Navy headers */
.woocommerce-view-order h2.woocommerce-order-details__title,
.woocommerce-view-order h2.woocommerce-column__title,
.woocommerce-order-details .woocommerce-order-details__title,
.woocommerce-customer-details .woocommerce-column__title,
.woocommerce-view-order .woocommerce-MyAccount-content h2:not(.aeb-os-h2) {
  background: #0d1e35 !important;
  color: #ffffff !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 13px 20px !important;
  border-radius: 8px 8px 0 0 !important;
  margin: 28px 0 0 0 !important;
  border: none !important;
  display: block !important;
  line-height: 1.3 !important;
  box-sizing: border-box !important;
}

/* Table container styling */
.woocommerce-view-order table.woocommerce-table--order-details,
.woocommerce-view-order table.shop_table.order_details,
.woocommerce-order-details table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid #e2e8f0 !important;
  border-top: none !important;
  border-radius: 0 0 8px 8px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.03) !important;
  margin-bottom: 24px !important;
  box-sizing: border-box !important;
}

/* Table header */
.woocommerce-view-order table.woocommerce-table--order-details thead th,
.woocommerce-view-order table.shop_table.order_details thead th,
.woocommerce-order-details table.shop_table thead th {
  background: #f8fafc !important;
  color: #475569 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 12px 20px !important;
  border: none !important;
  border-bottom: 1px solid #e2e8f0 !important;
  text-align: left !important;
}

.woocommerce-view-order table.woocommerce-table--order-details thead th.product-total,
.woocommerce-view-order table.shop_table.order_details thead th.product-total,
.woocommerce-order-details table.shop_table thead th.product-total {
  text-align: right !important;
}

/* Table body */
.woocommerce-view-order table.woocommerce-table--order-details tbody td,
.woocommerce-view-order table.shop_table.order_details tbody td,
.woocommerce-order-details table.shop_table tbody td {
  padding: 20px !important;
  border: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
  vertical-align: top !important;
  color: #1e293b !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
}

.woocommerce-view-order table.woocommerce-table--order-details tbody td.product-total,
.woocommerce-view-order table.shop_table.order_details tbody td.product-total,
.woocommerce-order-details table.shop_table tbody td.product-total {
  text-align: right !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  white-space: nowrap !important;
}

.woocommerce-view-order .product-name,
.woocommerce-order-details .product-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.4 !important;
}

.woocommerce-view-order .product-name a,
.woocommerce-order-details .product-name a {
  color: #0d1e35 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}

.woocommerce-view-order .product-name a:hover,
.woocommerce-order-details .product-name a:hover {
  color: #0284c7 !important;
  text-decoration: underline !important;
}

.woocommerce-view-order .product-quantity,
.woocommerce-order-details .product-quantity {
  color: #64748b !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
}

/* Item meta: responsive card grid */
.woocommerce-view-order ul.wc-item-meta,
.woocommerce-order-details ul.wc-item-meta,
.woocommerce-view-order dl.variation,
.woocommerce-order-details dl.variation {
  margin: 14px 0 6px 0 !important;
  padding: 14px 18px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  list-style: none !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 8px 20px !important;
}

.woocommerce-view-order ul.wc-item-meta li,
.woocommerce-order-details ul.wc-item-meta li {
  margin: 0 !important;
  padding: 2px 0 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #334155 !important;
  border: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
}

.woocommerce-view-order ul.wc-item-meta strong,
.woocommerce-order-details ul.wc-item-meta strong,
.woocommerce-view-order dl.variation dt,
.woocommerce-order-details dl.variation dt {
  color: #0d1e35 !important;
  font-weight: 700 !important;
  margin-right: 6px !important;
  font-size: 13px !important;
  min-width: 120px !important;
}

.woocommerce-view-order ul.wc-item-meta p,
.woocommerce-order-details ul.wc-item-meta p,
.woocommerce-view-order dl.variation dd,
.woocommerce-order-details dl.variation dd {
  display: inline !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 13px !important;
}

/* Totals rows (tfoot) */
.woocommerce-view-order table.woocommerce-table--order-details tfoot th,
.woocommerce-view-order table.shop_table.order_details tfoot th,
.woocommerce-order-details table.shop_table tfoot th {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  padding: 12px 20px !important;
  border: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
  background: #ffffff !important;
  text-align: left !important;
}

.woocommerce-view-order table.woocommerce-table--order-details tfoot td,
.woocommerce-view-order table.shop_table.order_details tfoot td,
.woocommerce-order-details table.shop_table tfoot td {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  padding: 12px 20px !important;
  border: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
  background: #ffffff !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* Custom highlighted Total row styling */
.aeb-total-label {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #0d1e35 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.aeb-total-value,
.aeb-total-value .amount,
.aeb-total-value bdi {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0d1e35 !important;
}

/* Customer details address box */
.woocommerce-view-order .woocommerce-customer-details,
.woocommerce-order-details .woocommerce-customer-details {
  margin-top: 24px !important;
}

.woocommerce-view-order .woocommerce-customer-details address,
.woocommerce-order-details .woocommerce-customer-details address,
.woocommerce-customer-details address {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-top: none !important;
  border-radius: 0 0 8px 8px !important;
  padding: 20px !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #334155 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
  box-sizing: border-box !important;
}

.woocommerce-view-order .woocommerce-customer-details--email,
.woocommerce-customer-details .woocommerce-customer-details--email {
  display: block !important;
  margin-top: 8px !important;
  color: #0284c7 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* ============================================================
   WooCommerce Orders Pagination Styling (20 per page)
   ============================================================ */
.woocommerce-pagination,
.woocommerce-Pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 24px 0 32px 0 !important;
  clear: both !important;
}

.woocommerce-pagination .woocommerce-button,
.woocommerce-Pagination .woocommerce-Button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 18px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0284c7 !important;
  background: #ffffff !important;
  border: 1px solid #bae6fd !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.woocommerce-pagination .woocommerce-button:hover,
.woocommerce-Pagination .woocommerce-Button:hover {
  background: #0284c7 !important;
  color: #ffffff !important;
  border-color: #0284c7 !important;
  text-decoration: none !important;
}

/* ============================================================
   WooCommerce My Account: Dirección de Facturación Styling
   ============================================================ */
.woocommerce-Addresses {
  margin-top: 20px !important;
}

.woocommerce-Addresses .u-column1,
.woocommerce-Addresses .col-1,
.woocommerce-Addresses .woocommerce-Address {
  float: none !important;
  width: 100% !important;
  max-width: 680px !important;
  box-sizing: border-box !important;
}

/* Hide any shipping address column if rendered by any theme override */
.woocommerce-Addresses .u-column2,
.woocommerce-Addresses .col-2,
.woocommerce-Address--shipping,
.woocommerce-Address[data-address-type="shipping"] {
  display: none !important;
}

.woocommerce-Address {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 24px !important;
  box-shadow: 0 4px 14px rgba(13, 30, 53, 0.05) !important;
}

.woocommerce-Address-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: 1px solid #f1f5f9 !important;
  padding-bottom: 14px !important;
  margin-bottom: 16px !important;
}

.woocommerce-Address-title h3 {
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #0d1e35 !important;
  letter-spacing: -0.01em !important;
}

.woocommerce-Address-title .edit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 14px !important;
  background: #0284c7 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

.woocommerce-Address-title .edit:hover {
  background: #0369a1 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.woocommerce-Address address {
  font-style: normal !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  color: #334155 !important;
}

/* Edit Address Form Styling */
.woocommerce-address-fields h3 {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #0d1e35 !important;
  margin-bottom: 18px !important;
}

.woocommerce-address-fields button[type="submit"] {
  background: #0284c7 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  padding: 10px 24px !important;
  border-radius: 6px !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
}

.woocommerce-address-fields button[type="submit"]:hover {
  background: #0369a1 !important;
}

/* My Account Admin Panel Link */
.woocommerce-MyAccount-navigation-link--wp_admin_panel a {
  background: #0f172a !important;
  color: #38bdf8 !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  margin-bottom: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.2s ease !important;
}

.woocommerce-MyAccount-navigation-link--wp_admin_panel a:hover {
  background: #1e293b !important;
  color: #7dd3fc !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.25) !important;
}

/* Shortcode User Bar Admin Button */
.aeb-user-bar .aeb-nav-link--admin {
  background: #f0fdf4 !important;
  color: #15803d !important;
  border: 1px solid #bbf7d0 !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  padding: 5px 12px !important;
  transition: all 0.15s ease !important;
}

.aeb-user-bar .aeb-nav-link--admin:hover {
  background: #dcfce7 !important;
  color: #14532d !important;
  border-color: #86efac !important;
}

/* ============================================================
   Cancellation Confirmation Modal (Mis Reservas & View Order)
   ============================================================ */
.aeb-cxl-modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(15, 23, 42, 0.65) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  animation: aebFadeInModal 0.15s ease-out !important;
}

@keyframes aebFadeInModal {
  from { opacity: 0; }
  to { opacity: 1; }
}

.aeb-cxl-modal-card {
  background: #ffffff !important;
  border-radius: 12px !important;
  max-width: 480px !important;
  width: 100% !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 10px 10px -5px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid #e2e8f0 !important;
  overflow: hidden !important;
  animation: aebSlideUpModal 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
}

@keyframes aebSlideUpModal {
  from { opacity: 0; transform: translateY(12px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.aeb-cxl-modal-header {
  padding: 18px 22px !important;
  background: #fef2f2 !important;
  border-bottom: 1px solid #fee2e2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.aeb-cxl-modal-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #fee2e2 !important;
  color: #dc2626 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  font-size: 20px !important;
  border: 1px solid #fecaca !important;
}

.aeb-cxl-modal-title {
  margin: 0 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #991b1b !important;
  line-height: 1.3 !important;
}

.aeb-cxl-modal-body {
  padding: 20px 22px !important;
  font-size: 14px !important;
  color: #334155 !important;
  line-height: 1.55 !important;
  box-sizing: border-box !important;
}

.aeb-cxl-modal-details {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  margin: 14px 0 !important;
  font-size: 13px !important;
}

.aeb-cxl-modal-details dl {
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 6px 14px !important;
}

.aeb-cxl-modal-details dt {
  color: #64748b !important;
  font-weight: 600 !important;
}

.aeb-cxl-modal-details dd {
  margin: 0 !important;
  color: #0f172a !important;
  font-weight: 700 !important;
}

.aeb-cxl-modal-alert {
  padding: 11px 15px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  margin-top: 14px !important;
  display: none;
}
.aeb-cxl-modal-alert--error {
  display: block !important;
  background: #fef2f2 !important;
  color: #991b1b !important;
  border: 1px solid #fecaca !important;
}
.aeb-cxl-modal-alert--success {
  display: block !important;
  background: #ecfdf5 !important;
  color: #065f46 !important;
  border: 1px solid #a7f3d0 !important;
}

.aeb-cxl-modal-footer {
  padding: 14px 22px 18px !important;
  background: #ffffff !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  border-top: 1px solid #f1f5f9 !important;
}

.aeb-cxl-modal-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 9px 18px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  border: none !important;
  line-height: 1.3 !important;
}

.aeb-cxl-modal-btn--keep {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #cbd5e1 !important;
}
.aeb-cxl-modal-btn--keep:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

.aeb-cxl-modal-btn--confirm {
  background: #dc2626 !important;
  color: #ffffff !important;
  border: 1px solid #b91c1c !important;
}
.aeb-cxl-modal-btn--confirm:hover {
  background: #b91c1c !important;
}
.aeb-cxl-modal-btn--confirm:disabled {
  opacity: 0.65 !important;
  cursor: not-allowed !important;
}

