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

/* ============================================================
   Mundo Coches — Elementor Widgets v4.0
   Design: Stripe/Linear/shadcn aesthetic
   ============================================================ */

/* 1. Design tokens ----------------------------------------- */
:root {
  /* Brand */
  --mc-brand:        #2563eb;
  --mc-brand-hover:  #1d4ed8;
  --mc-brand-light:  #eff6ff;
  --mc-brand-ring:   rgba(37,99,235,.25);

  /* Ink */
  --mc-ink:     #0a0a0a;
  --mc-ink-2:   #171717;
  --mc-muted:   #737373;
  --mc-subtle:  #a3a3a3;

  /* Surface */
  --mc-bg:      #fafafa;
  --mc-card:    #ffffff;
  --mc-border:  #e5e5e5;
  --mc-border-2:#d4d4d4;

  /* Semantic */
  --mc-wa:          #16a34a;
  --mc-wa-hover:    #15803d;
  --mc-amber:       #b45309;
  --mc-amber-bg:    #fffbeb;
  --mc-amber-border:#fde68a;
  --mc-red:         #dc2626;
  --mc-red-bg:      #fef2f2;
  --mc-red-border:  #fecaca;
  --mc-green:       #16a34a;
  --mc-green-bg:    #f0fdf4;

  /* Radius */
  --mc-r-xs: 4px;
  --mc-r-sm: 6px;
  --mc-r:    8px;
  --mc-r-md: 10px;
  --mc-r-lg: 12px;
  --mc-r-xl: 16px;
  --mc-r-2xl:20px;

  /* Shadow */
  --mc-shadow-xs: 0 1px 2px rgba(0,0,0,.02);
  --mc-shadow-sm: 0 1px 3px rgba(0,0,0,.03), 0 1px 2px rgba(0,0,0,.02);
  --mc-shadow:    0 2px 5px rgba(0,0,0,.03), 0 1px 2px rgba(0,0,0,.02);
  --mc-shadow-md: 0 4px 10px rgba(0,0,0,.04), 0 2px 4px rgba(0,0,0,.02);
  --mc-shadow-lg: 0 8px 20px rgba(0,0,0,.05), 0 4px 8px rgba(0,0,0,.03);
  --mc-shadow-xl: 0 16px 32px rgba(0,0,0,.08);

  /* Motion */
  --mc-ease: cubic-bezier(0.2, 0, 0, 1);
  --mc-dur:  150ms;
  --mc-dur-2:220ms;

  /* Canonical aliases */
  --mc-surface:   var(--mc-bg);
  --mc-surface-2: var(--mc-card);
  --mc-accent:    var(--mc-brand);
  --mc-accent-fg: #ffffff;
  --mc-radius:    var(--mc-r-md);
}

/* Dark mode intentionally disabled — always light theme */

/* 2. Base reset — force light theme on ALL plugin containers ---- */
.mc-vehicle-card,
.mc-vehicle-card *,
.mc-archive-root,
.mc-archive-root *,
.mc-carousel,
.mc-carousel *,
.mc-hero-pro-wrapper,
.mc-hero-pro-wrapper *,
.mc-single,
.mc-single *,
.mc-quick-search,
.mc-quick-search *,
.mc-modal-dialog,
.mc-modal-dialog * {
  box-sizing: border-box;
}

/* Hard overrides — white backgrounds & dark text, survive any theme */
.mc-vehicle-card          { background-color: #ffffff !important; color: #171717 !important; }
.mc-vehicle-card__body    { background-color: #ffffff !important; color: #171717 !important; }
.mc-archive-sidebar-card  { background-color: #ffffff !important; color: #171717 !important; }
.mc-archive-sidebar-header{ background-color: #f9fafb !important; color: #171717 !important; }
.mc-modal-dialog          { background-color: #ffffff !important; color: #171717 !important; }
.mc-modal-info            { background-color: #ffffff !important; color: #171717 !important; }
.mc-modal-gallery         { background-color: #ffffff !important; }
.mc-single__panel         { color: #171717 !important; }
.mc-single__facts         { background-color: #ffffff !important; }
.mc-filter-select,
.mc-filter-input          { background-color: #ffffff !important; color: #171717 !important; }
.mc-archive-sort          { background-color: #ffffff !important; color: #171717 !important; }

/* 3. Buttons ----------------------------------------------- */
.mc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .5rem 1rem;
  border-radius: var(--mc-r-sm);
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all var(--mc-dur) var(--mc-ease);
  white-space: nowrap;
  font-family: inherit;
  letter-spacing: -.01em;
}
.mc-btn:focus-visible {
  outline: 2px solid var(--mc-brand);
  outline-offset: 2px;
}
.mc-btn--primary {
  background: var(--mc-brand);
  color: #fff;
  border-color: var(--mc-brand);
  box-shadow: 0 1px 2px rgba(37,99,235,.2), inset 0 1px 0 rgba(255,255,255,.15);
}
.mc-btn--primary:hover {
  background: var(--mc-brand-hover);
  border-color: var(--mc-brand-hover);
  color: #fff;
  box-shadow: 0 2px 4px rgba(37,99,235,.25), inset 0 1px 0 rgba(255,255,255,.15);
  transform: translateY(-1px);
}
.mc-btn--secondary {
  background: var(--mc-card);
  color: var(--mc-ink-2);
  border-color: var(--mc-border-2);
  box-shadow: var(--mc-shadow-xs);
}
.mc-btn--secondary:hover {
  background: var(--mc-bg);
  border-color: var(--mc-border-2);
  box-shadow: var(--mc-shadow-sm);
}
.mc-btn--wa {
  background: var(--mc-wa);
  color: #fff;
  border-color: var(--mc-wa);
  box-shadow: 0 1px 2px rgba(22,163,74,.2);
}
.mc-btn--wa:hover {
  background: var(--mc-wa-hover);
  border-color: var(--mc-wa-hover);
  color: #fff;
  transform: translateY(-1px);
}
.mc-btn--outline {
  background: transparent;
  color: var(--mc-ink-2);
  border-color: var(--mc-border-2);
}
.mc-btn--outline:hover {
  background: var(--mc-bg);
  border-color: var(--mc-muted);
}
.mc-btn--ghost {
  background: transparent;
  color: var(--mc-muted);
  border-color: transparent;
}
.mc-btn--ghost:hover {
  background: var(--mc-bg);
  color: var(--mc-ink-2);
}
.mc-btn--sm {
  padding: .375rem .75rem;
  font-size: .8125rem;
  border-radius: var(--mc-r-xs);
}
.mc-btn--lg {
  padding: .6875rem 1.375rem;
  font-size: .9375rem;
  border-radius: var(--mc-r);
}
/* Legacy compat */
.mc-btn-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .375rem;
  padding: .5625rem 1.25rem;
  border-radius: 999px;
  background: var(--mc-brand);
  color: #fff !important;
  font-weight: 600;
  font-size: .875rem;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  transition: background var(--mc-dur) var(--mc-ease), transform var(--mc-dur);
  font-family: inherit;
  box-shadow: 0 1px 2px rgba(37,99,235,.2);
}
.mc-btn-pill:hover { background: var(--mc-brand-hover); transform: translateY(-1px); }
.mc-btn-whatsapp { background: var(--mc-wa) !important; box-shadow: 0 1px 2px rgba(22,163,74,.2) !important; }
.mc-btn-whatsapp:hover { background: var(--mc-wa-hover) !important; }

/* 4. Badges ------------------------------------------------ */
.mc-badge {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .2rem .6rem;
  border-radius: var(--mc-r-xs);
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
  line-height: 1.4;
  border: 1px solid transparent;
}
.mc-badge--green {
  background: var(--mc-green-bg);
  color: var(--mc-green);
  border-color: var(--mc-green-border, #bbf7d0);
}
.mc-badge--amber {
  background: var(--mc-amber-bg);
  color: var(--mc-amber);
  border-color: var(--mc-amber-border);
}
.mc-badge--red {
  background: var(--mc-red-bg);
  color: var(--mc-red);
  border-color: var(--mc-red-border);
}
.mc-badge--gray {
  background: var(--mc-bg);
  color: var(--mc-muted);
  border-color: var(--mc-border);
}

/* 5. Spinner ----------------------------------------------- */
@keyframes mc-spin { to { transform: rotate(360deg); } }
.mc-spinner {
  width: 24px;
  height: 24px;
  border: 2.5px solid var(--mc-border);
  border-top-color: var(--mc-brand);
  border-radius: 50%;
  animation: mc-spin .65s linear infinite;
  flex-shrink: 0;
}

/* 6. Vehicle Card ------------------------------------------ */
.mc-vehicle-card {
  background: #ffffff !important;
  color: #171717 !important;
  border-radius: var(--mc-r-xl);
  border: 1px solid var(--mc-border);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  cursor: pointer;
  transition:
    box-shadow var(--mc-dur-2) var(--mc-ease),
    border-color var(--mc-dur-2) var(--mc-ease),
    transform var(--mc-dur-2) var(--mc-ease);
  outline: none;
  text-decoration: none;
}
.mc-vehicle-card:hover {
  box-shadow: var(--mc-shadow-md);
  border-color: var(--mc-border-2);
  transform: translateY(-2px);
}
.mc-vehicle-card:focus-visible {
  outline: 2px solid var(--mc-brand);
  outline-offset: 2px;
}

.mc-vehicle-card__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #f5f5f5;
  flex-shrink: 0;
}
.mc-vehicle-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mc-vehicle-card:hover .mc-vehicle-card__media img {
  opacity: 0.96;
}
.mc-vehicle-card__media--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--mc-bg) 0%, #f0f0f0 100%);
}
.mc-vehicle-card__media--placeholder svg {
  width: 40px;
  height: 40px;
  color: var(--mc-subtle);
}

.mc-vehicle-card__badges {
  position: absolute;
  top: .625rem;
  left: .625rem;
  display: flex;
  gap: .3rem;
  z-index: 1;
}

.mc-vehicle-card__body {
  padding: .875rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .25rem;
  flex: 1;
}

.mc-vehicle-card__title {
  margin: 0;
  font-size: .9375rem;
  font-weight: 600;
  color: var(--mc-ink);
  line-height: 1.35;
  letter-spacing: -.01em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mc-vehicle-card__meta {
  margin: 0;
  font-size: .8125rem;
  color: var(--mc-muted);
  line-height: 1.4;
}
.mc-vehicle-card__price {
  margin: .25rem 0 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--mc-ink);
  letter-spacing: -.02em;
  line-height: 1;
}
.mc-vehicle-card__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: .625rem;
  font-size: .8125rem;
  font-weight: 500;
  color: var(--mc-brand);
}
.mc-vehicle-card__cta span:last-child {
  transition: transform var(--mc-dur) var(--mc-ease);
}
.mc-vehicle-card:hover .mc-vehicle-card__cta span:last-child {
  transform: translateX(3px);
}

/* 7. Vehicle Grid (Gallery widget) ------------------------- */
.mc-vehicle-grid {
  display: grid;
  grid-template-columns: repeat(var(--mc-cols, 3), 1fr);
  gap: 1.25rem;
}
@media (max-width: 900px) {
  .mc-vehicle-grid { grid-template-columns: repeat(var(--mc-cols-t, 2), 1fr); }
}
@media (max-width: 580px) {
  .mc-vehicle-grid { grid-template-columns: repeat(var(--mc-cols-m, 1), 1fr); }
}

/* 8. Archive widget --------------------------------------- */
.mc-archive-root { width: 100%; }

.mc-archive-layout {
  display: grid;
  gap: 1.75rem;
  align-items: start;
}
@media (min-width: 768px) {
  .mc-archive-layout {
    grid-template-columns: var(--mc-sidebar-w, 260px) 1fr;
  }
}

.mc-archive-sidebar-card {
  background: var(--mc-card) !important;
  border: 1px solid var(--mc-border) !important;
  border-radius: var(--mc-r-lg) !important;
  overflow: hidden;
  box-shadow: var(--mc-shadow-sm) !important;
  display: flex;
  flex-direction: column;
}

.mc-archive-sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.25rem 0.75rem !important;
  background: #ffffff !important;
  border-bottom: 1px solid transparent !important;
  transition: border-color 0.2s;
}
.mc-archive-sidebar-header h3 {
  margin: 0;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #09090b !important;
  letter-spacing: -0.025em !important;
}

.mc-archive-filters-toggle {
  display: none;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  font-weight: 500;
  color: #09090b !important;
  background: #f4f4f5 !important;
  border: 1px solid #e4e4e7 !important;
  border-radius: 0.375rem;
  cursor: pointer;
  font-family: inherit;
  padding: 0.375rem 0.75rem;
  transition: all var(--mc-dur);
}
.mc-archive-filters-toggle:hover { 
  background: #e4e4e7 !important; 
}
@media (max-width: 767px) { 
  .mc-archive-filters-toggle { display: inline-flex; } 
  .mc-archive-sidebar-header {
    padding: 1rem !important;
    border-bottom: 1px solid #e4e4e7 !important;
  }
}

.mc-toggle-chevron {
  display: inline-flex;
  font-size: .75rem;
  transition: transform var(--mc-dur) var(--mc-ease);
  color: #71717a;
}
.mc-archive-filters-toggle[aria-expanded="true"] .mc-toggle-chevron {
  transform: rotate(180deg);
}

.mc-archive-filters {
  padding: 0.75rem 1.25rem 1.5rem !important;
  display: flex;
  flex-direction: column;
  gap: 1.25rem !important;
}
@media (max-width: 767px) {
  .mc-archive-filters {
    display: none;
    padding: 1rem !important;
  }
  .mc-archive-filters.is-open { 
    display: flex; 
    animation: mcFadeIn 0.2s ease-out;
  }
}

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

.mc-filter-group { 
  display: flex; 
  flex-direction: column; 
  gap: 0.5rem !important; 
}

.mc-filter-label {
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  color: #09090b !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.mc-filter-select,
.mc-filter-input {
  width: 100%;
  height: 2.25rem !important;
  padding: 0 0.75rem !important;
  border: 1px solid #e4e4e7 !important;
  border-radius: 0.375rem !important;
  font-size: 0.875rem !important;
  color: #09090b !important;
  background: #ffffff !important;
  font-family: inherit;
  transition: all 0.2s ease !important;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: 0 1px 2px rgba(0,0,0,0.02) !important;
}
.mc-filter-select::placeholder,
.mc-filter-input::placeholder {
  color: #a1a1aa !important;
}
.mc-filter-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  background-size: 16px 16px !important;
  padding-right: 2.25rem !important;
  cursor: pointer;
}
.mc-filter-select:hover,
.mc-filter-input:hover {
  border-color: #d4d4d8 !important;
}
.mc-filter-select:focus,
.mc-filter-input:focus {
  outline: none !important;
  border-color: #18181b !important;
  box-shadow: 0 0 0 1px #18181b !important;
}
.mc-filter-select option[value=""] { color: #71717a !important; }

.mc-filter-range {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0.5rem !important;
}
.mc-filter-range-sep {
  color: #a1a1aa;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mc-filter-divider {
  height: 1px;
  background: #e4e4e7 !important;
  margin: 0.5rem 0 !important;
}

.mc-archive-filter-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  padding-top: 0.5rem !important;
}
.mc-archive-apply {
  background: var(--mc-brand) !important;
  color: #ffffff !important;
  border: 1px solid var(--mc-brand) !important;
  border-radius: var(--mc-r-sm) !important;
  font-weight: 500 !important;
  height: 2.5rem !important;
  box-shadow: var(--mc-shadow-xs) !important;
  transition: all var(--mc-dur) var(--mc-ease) !important;
  cursor: pointer;
}
.mc-archive-apply:hover {
  background: var(--mc-brand-hover) !important;
  border-color: var(--mc-brand-hover) !important;
}
.mc-archive-reset {
  background: var(--mc-card) !important;
  color: var(--mc-ink-2) !important;
  border: 1px solid var(--mc-border) !important;
  border-radius: var(--mc-r-sm) !important;
  font-weight: 500 !important;
  height: 2.5rem !important;
  box-shadow: var(--mc-shadow-xs) !important;
  transition: all var(--mc-dur) var(--mc-ease) !important;
  cursor: pointer;
}
.mc-archive-reset:hover {
  background: var(--mc-bg) !important;
  color: var(--mc-ink) !important;
  border-color: var(--mc-border-2) !important;
}

.mc-archive-main { min-width: 0; }

.mc-archive-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.mc-archive-count {
  margin: 0;
  font-size: .875rem;
  color: var(--mc-muted);
}

.mc-archive-sort-wrap {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.mc-archive-sort-label {
  font-size: .875rem;
  color: var(--mc-muted);
  white-space: nowrap;
}
.mc-archive-sort {
  padding: .375rem .625rem;
  padding-right: 1.75rem;
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-sm);
  font-size: .875rem;
  color: var(--mc-ink-2);
  background: var(--mc-card);
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .5rem center;
  cursor: pointer;
}
.mc-archive-sort:focus {
  outline: none;
  border-color: var(--mc-brand);
  box-shadow: 0 0 0 3px var(--mc-brand-ring);
}

.mc-archive-results {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.125rem;
}
@media (max-width: 1100px) { .mc-archive-results { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px)  { .mc-archive-results { grid-template-columns: 1fr; } }

.mc-archive-state {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: 3.5rem 1rem;
  color: var(--mc-muted);
  font-size: .9375rem;
  text-align: center;
}

/* Skeleton loading */
@keyframes mc-shimmer {
  from { background-position: -200% 0; }
  to   { background-position: 200% 0; }
}
.mc-skeleton {
  background: linear-gradient(90deg, var(--mc-bg) 25%, var(--mc-border) 50%, var(--mc-bg) 75%);
  background-size: 200% 100%;
  animation: mc-shimmer 1.4s infinite ease-in-out;
  border-radius: var(--mc-r-sm);
}
.mc-vehicle-card--skeleton {
  background: var(--mc-card);
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-xl);
  overflow: hidden;
  pointer-events: none;
}
.mc-vehicle-card--skeleton .mc-vehicle-card__media {
  aspect-ratio: 16/10;
  background: var(--mc-bg);
}
.mc-vehicle-card--skeleton .mc-skeleton-media {
  width: 100%;
  height: 100%;
}
.mc-vehicle-card--skeleton .mc-vehicle-card__body {
  padding: .875rem 1rem 1rem;
  gap: .5rem;
}
.mc-skeleton-title  { height: 1rem; width: 75%; }
.mc-skeleton-meta   { height: .75rem; width: 55%; }
.mc-skeleton-price  { height: 1.25rem; width: 45%; margin-top: .125rem; }

.mc-archive-footer {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}
.mc-archive-load-more { min-width: 200px; }

/* 9. Carousel widget --------------------------------------- */
.mc-carousel { width: 100%; overflow: hidden; }

.mc-carousel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.mc-carousel-controls {
  display: flex;
  gap: .375rem;
}
.mc-carousel-prev,
.mc-carousel-next {
  width: 34px;
  height: 34px;
  border-radius: var(--mc-r);
  border: 1px solid var(--mc-border);
  background: var(--mc-card);
  color: var(--mc-ink-2);
  font-size: 1.125rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--mc-dur) var(--mc-ease);
  box-shadow: var(--mc-shadow-xs);
  font-family: inherit;
}
.mc-carousel-prev:hover,
.mc-carousel-next:hover {
  background: var(--mc-bg);
  border-color: var(--mc-border-2);
  box-shadow: var(--mc-shadow-sm);
}
.mc-carousel-prev:disabled,
.mc-carousel-next:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.mc-carousel-viewport { 
  overflow: hidden; 
  padding: 1rem 0;
  margin: -1rem 0;
}

.mc-carousel-track {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding-bottom: .5rem;
  list-style: none;
  margin: 0;
  padding-left: 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.mc-carousel-track::-webkit-scrollbar { display: none; }

.mc-carousel-slide {
  scroll-snap-align: start;
  flex: 0 0 calc((100% - 2rem) / 3);
  min-width: 240px;
}
@media (max-width: 900px) {
  .mc-carousel-slide { flex: 0 0 calc((100% - 1rem) / 2); }
}
@media (max-width: 580px) {
  .mc-carousel-slide { flex: 0 0 min(90%, 320px); }
}

.mc-carousel-dots {
  display: flex;
  justify-content: center;
  gap: .5rem;
  margin-top: 1.25rem;
}
.mc-carousel-dot {
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  max-width: 8px !important;
  max-height: 8px !important;
  border-radius: 999px !important;
  border: none !important;
  background: var(--mc-border-2) !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: all var(--mc-dur-2) var(--mc-ease) !important;
  opacity: 0.6 !important;
  display: block !important;
}
.mc-carousel-dot:hover {
  opacity: 1 !important;
  background: var(--mc-muted) !important;
}
.mc-carousel-dot.is-active {
  background: var(--mc-brand) !important;
  width: 24px !important;
  max-width: 24px !important;
  opacity: 1 !important;
}

/* 10. Modal — Redesigned ---------------------------------- */
.mc-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  pointer-events: none;
  opacity: 0;
  transition: opacity 240ms cubic-bezier(0.2,0,0,1);
}
.mc-modal.is-open { pointer-events: auto; opacity: 1; }

.mc-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.mc-modal-dialog {
  position: relative;
  z-index: 1;
  background: #ffffff !important;
  border-radius: 24px;
  box-shadow: 0 32px 80px rgba(0,0,0,.22), 0 4px 16px rgba(0,0,0,.1);
  width: 100%;
  max-width: 960px;
  max-height: 88vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: translateY(20px) scale(.97);
  transition: transform 320ms cubic-bezier(0.16,1,0.3,1), opacity 320ms cubic-bezier(0.16,1,0.3,1);
  opacity: 0;
}
.mc-modal.is-open .mc-modal-dialog { transform: none; opacity: 1; }

/* Close button */
.mc-modal-close {
  position: absolute !important;
  top: 1rem !important; right: 1rem !important;
  z-index: 20 !important;
  width: 36px !important; height: 36px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(0,0,0,.09) !important;
  background: rgba(255,255,255,.95) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  color: #0a0a0a !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important; justify-content: center !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.12) !important;
  transition: box-shadow 150ms, transform 150ms !important;
  margin: 0 !important; padding: 0 !important;
  font-size: 0 !important; line-height: 1 !important;
}
.mc-modal-close:hover { box-shadow: 0 3px 10px rgba(0,0,0,.18) !important; transform: scale(1.06) !important; }

/* Loading */
.mc-modal-loading { display: none; align-items: center; justify-content: center; min-height: 380px; }

/* Body: flex-column, scrollable */
.mc-modal-body {
  display: none;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* Top: 2-col grid (gallery + info) */
.mc-modal-top {
  display: grid;
  flex-shrink: 0;
}
@media (min-width: 640px) {
  .mc-modal-top { grid-template-columns: 1.05fr .95fr; }
}
@media (max-width: 639px) {
  .mc-modal-top { display: flex; flex-direction: column; }
  .mc-modal-gallery { padding: 0 0 .875rem; }
  .mc-modal-hero { border-radius: 0 !important; }
  .mc-modal-info {
    border-left: none !important;
    border-top: 1px solid #f0f0f0;
    padding: 1.25rem 1.25rem 1.5rem !important;
  }
  .mc-modal-title { font-size: 1.65rem !important; }
  .mc-price-amount { font-size: 2.25rem !important; }
  .mc-modal-actions { flex-direction: column; }
  .mc-modal-actions .mc-btn { flex: none; width: 100%; }
}

/* Gallery column */
.mc-modal-gallery {
  padding: 1.375rem 1rem 1.375rem 1.375rem;
  display: flex; flex-direction: column; gap: .75rem;
  background: #f7f7f7;
  overflow: hidden; flex-shrink: 0;
}

/* Hero image */
.mc-modal-hero {
  border-radius: 14px; overflow: hidden;
  background: #ebebeb; aspect-ratio: 4/3;
  position: relative; flex-shrink: 0;
}
.mc-modal-hero img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity 180ms ease; }
.mc-modal-hero--placeholder { display: flex; align-items: center; justify-content: center; }
.mc-modal-ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }

/* Nav arrows */
.mc-modal-nav {
  position: absolute !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 36px !important; height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.9) !important;
  backdrop-filter: blur(6px) !important; -webkit-backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(0,0,0,.07) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.14) !important;
  color: #0a0a0a !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  z-index: 4 !important; padding: 0 !important; margin: 0 !important;
  transition: box-shadow 150ms, transform 150ms !important; font-size: 0 !important;
}
.mc-modal-nav:hover { background: #fff !important; box-shadow: 0 4px 16px rgba(0,0,0,.2) !important; transform: translateY(-50%) scale(1.06) !important; }
.mc-modal-nav:disabled { opacity: .3 !important; cursor: default !important; pointer-events: none !important; }
.mc-modal-nav--prev { left: .75rem !important; }
.mc-modal-nav--next { right: .75rem !important; }
.mc-modal-nav[hidden] { display: none !important; }

/* Counter pill */
.mc-modal-img-counter {
  position: absolute; bottom: .625rem; right: .75rem;
  background: rgba(0,0,0,.58); backdrop-filter: blur(4px);
  color: #fff; font-size: .6875rem; font-weight: 600;
  padding: .25rem .625rem; border-radius: 999px;
  line-height: 1.4; letter-spacing: .04em; pointer-events: none;
}

/* Thumbnails */
.mc-modal-thumbs { display: flex; gap: .375rem; flex-wrap: wrap; }
.mc-modal-thumb {
  width: 58px; height: 44px; border-radius: 8px;
  border: 2px solid transparent; overflow: hidden;
  cursor: pointer; padding: 0; background: #ddd;
  transition: border-color 150ms, opacity 150ms;
  flex-shrink: 0; opacity: .65;
}
.mc-modal-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mc-modal-thumb.is-active { border-color: var(--mc-brand); opacity: 1; }
.mc-modal-thumb:hover:not(.is-active) { opacity: 1; border-color: rgba(0,0,0,.2); }

/* Info column */
.mc-modal-info {
  padding: 1.875rem 1.75rem 1.75rem !important;
  border-left: 1px solid #efefef !important;
  background: #ffffff !important; color: #171717 !important;
  display: flex; flex-direction: column; gap: 1.25rem;
}
.mc-modal-badge-row { min-height: 1px; }

/* Title */
.mc-modal-title-wrapper { display: flex; flex-direction: column; gap: .25rem; }
.mc-modal-subtitle {
  margin: 0 !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: .6875rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: .12em !important;
  color: var(--mc-brand) !important; line-height: 1 !important;
}
.mc-modal-title {
  margin: 0 !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
  font-weight: 800 !important; color: #0a0a0a !important;
  line-height: 1.1 !important; letter-spacing: -.03em !important;
}

/* Price — Amazon-style */
.mc-modal-price {
  margin: 0 !important;
  display: flex !important; align-items: baseline !important; gap: .3rem !important;
  padding: .875rem 0 !important;
  border-top: 1px solid #f0f0f0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  line-height: 1 !important;
}
.mc-price-symbol {
  font-family: 'Barlow', sans-serif;
  font-size: 1.5rem; font-weight: 700; color: #0a0a0a;
  align-self: flex-start; margin-top: .45rem; line-height: 1;
}
.mc-price-amount {
  font-family: 'Barlow', sans-serif;
  font-size: clamp(2.25rem, 4.5vw, 3rem);
  font-weight: 800; color: #0a0a0a;
  letter-spacing: -.04em; line-height: 1;
}
.mc-price-label {
  font-family: 'Barlow', sans-serif;
  font-size: .8125rem; font-weight: 600; color: #a3a3a3;
  letter-spacing: .05em; text-transform: uppercase;
  align-self: flex-end; margin-bottom: .3rem;
}

/* WhatsApp CTA */
.mc-modal-actions {
  display: flex; gap: .5rem; flex-wrap: wrap;
  margin-top: auto; padding-top: .375rem;
}
.mc-modal-actions .mc-btn { flex: 1; min-width: 110px; }
.mc-modal-wa {
  position: relative; overflow: hidden;
  height: 52px !important;
  font-size: .9375rem !important; font-weight: 700 !important;
  border-radius: 14px !important; letter-spacing: -.01em !important;
  background: #16a34a !important; border-color: #16a34a !important;
  color: #fff !important;
  cursor: pointer !important;
  animation: mc-wa-modal-glow 2.8s ease-in-out infinite;
  transition: background 200ms, transform 200ms !important;
}
.mc-modal-wa:hover {
  background: #15803d !important; border-color: #15803d !important;
  transform: translateY(-2px) !important;
  animation: none !important;
  box-shadow: 0 8px 32px rgba(22,163,74,.45) !important;
}
.mc-modal-wa::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.18) 50%, transparent 65%);
  background-size: 250% 100%; background-position: 150% 0;
  transition: background-position .55s ease;
  pointer-events: none;
}
.mc-modal-wa:hover::after { background-position: -50% 0; }
.mc-modal-wa-arrow {
  margin-left: auto; flex-shrink: 0;
  transition: transform 200ms var(--mc-ease);
}
.mc-modal-wa:hover .mc-modal-wa-arrow { transform: translateX(3px); }

@keyframes mc-wa-modal-glow {
  0%, 100% { box-shadow: 0 4px 18px rgba(22,163,74,.28); }
  50%       { box-shadow: 0 6px 28px rgba(22,163,74,.52), 0 0 0 4px rgba(22,163,74,.1); }
}

/* ── Bottom: full-width specs + reviews ── */
.mc-modal-bottom {
  padding: 1.5rem 1.75rem 1.875rem;
  border-top: 1px solid #f0f0f0;
  display: flex; flex-direction: column; gap: 1.25rem;
  background: #fafafa;
}

/* Specs label + grid */
.mc-modal-specs-label {
  margin: 0 0 .875rem;
  font-size: .625rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--mc-subtle);
}
.mc-modal-specs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: .5rem;
}
.mc-modal-spec-card {
  display: flex; flex-direction: column; gap: .3rem;
  padding: .875rem .875rem .75rem;
  background: #fff;
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-lg);
  transition: border-color 150ms, box-shadow 150ms;
}
.mc-modal-spec-card:hover { border-color: var(--mc-border-2); box-shadow: var(--mc-shadow-sm); }
.mc-modal-spec-icon {
  width: 30px; height: 30px; border-radius: 8px;
  background: rgba(37,99,235,.08); color: var(--mc-brand);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-bottom: .125rem;
}
.mc-modal-spec-icon svg { width: 15px; height: 15px; }
.mc-modal-spec-key {
  font-size: .5625rem; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase;
  color: var(--mc-subtle); line-height: 1;
}
.mc-modal-spec-val {
  font-size: .9375rem; font-weight: 700;
  color: #171717; letter-spacing: -.01em; line-height: 1.2;
}

/* Google Reviews banner */
.mc-modal-reviews {
  display: flex; align-items: center; gap: .75rem;
  padding: 0 1.125rem; height: 60px;
  background: #fff;
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-lg);
  text-decoration: none; color: inherit;
  transition: border-color 150ms, box-shadow 150ms;
  flex-shrink: 0;
}
a.mc-modal-reviews:hover { border-color: var(--mc-border-2); box-shadow: var(--mc-shadow-sm); }
.mc-modal-reviews-logo { width: 18px; height: 18px; flex-shrink: 0; }
.mc-modal-reviews-stars { color: #f59e0b; font-size: .875rem; letter-spacing: .04em; flex-shrink: 0; }
.mc-modal-reviews-score { font-size: .875rem; font-weight: 700; color: #0a0a0a; flex-shrink: 0; }
.mc-modal-reviews-count { font-size: .75rem; color: var(--mc-muted); }
.mc-modal-reviews-divider { width: 1px; height: 20px; background: var(--mc-border); flex-shrink: 0; margin-left: auto; }
.mc-modal-reviews-cta { font-size: .75rem; font-weight: 600; color: var(--mc-brand); flex-shrink: 0; }

.mc-modal-error { text-align: center; color: var(--mc-muted); font-size: .9rem; padding: 2rem; }
body.mc-modal-open { overflow: hidden; }

/* Mobile bottom sheet */
@media (max-width: 559px) {
  .mc-modal { align-items: flex-end; padding: 0; }
  .mc-modal-dialog {
    width: 100%; max-width: 100%;
    border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important;
    border-top-left-radius: 24px !important; border-top-right-radius: 24px !important;
    max-height: 93dvh; transform: translateY(100%); opacity: 1;
  }
  .mc-modal.is-open .mc-modal-dialog { transform: translateY(0); }
  .mc-modal-dialog::before {
    content: ''; display: block;
    width: 40px; height: 4px; border-radius: 2px;
    background: #e0e0e0; margin: .75rem auto .25rem; flex-shrink: 0;
  }
  .mc-modal-close { top: .75rem !important; right: .75rem !important; }
  .mc-modal-bottom { padding: 1.25rem 1rem 1.5rem; }
  .mc-modal-specs-grid { grid-template-columns: repeat(2, 1fr); }
  .mc-modal-reviews { height: auto; min-height: 52px; padding: .625rem .875rem; flex-wrap: wrap; }
  .mc-modal-reviews-divider { display: none; }
  .mc-modal-reviews-cta { margin-left: auto; }
}

/* 11. Hero Widget ----------------------------------------- */
.mc-hero-pro-wrapper {
  position: relative;
  overflow: hidden;
  padding: 5rem 2.5rem;
  background: linear-gradient(160deg, #f8fafc 0%, #eff6ff 60%, #e0e7ff 100%);
  border-radius: var(--mc-r-2xl);
  text-align: center;
  color: var(--mc-ink);
  box-shadow: var(--mc-shadow-lg);
}
.mc-hero-pro-wrapper::before {
  content: '';
  position: absolute;
  top: -20%;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 70%;
  background: radial-gradient(ellipse, rgba(37,99,235,.08) 0%, transparent 70%);
  pointer-events: none;
}
.mc-hero-pro-wrapper::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(37,99,235,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,99,235,.04) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
}
.mc-hero-content {
  position: relative;
  z-index: 1;
  max-width: 680px;
  margin: 0 auto;
}
.mc-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .25rem .75rem;
  background: rgba(37,99,235,.08);
  border: 1px solid rgba(37,99,235,.2);
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--mc-brand);
  margin-bottom: 1.25rem;
}
.mc-hero-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 800;
  margin: 0 0 1rem;
  letter-spacing: -.03em;
  line-height: 1.1;
  color: var(--mc-ink);
}
.mc-hero-subtitle {
  font-size: 1.125rem;
  color: var(--mc-muted);
  max-width: 520px;
  margin: 0 auto 2rem;
  line-height: 1.6;
  font-weight: 400;
}
.mc-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--mc-brand);
  color: #fff !important;
  padding: .75rem 1.75rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: .9375rem;
  text-decoration: none;
  margin-bottom: 2.5rem;
  transition: transform var(--mc-dur) var(--mc-ease), box-shadow var(--mc-dur) var(--mc-ease), background var(--mc-dur);
  box-shadow: 0 8px 24px -4px rgba(37,99,235,.35);
  letter-spacing: -.01em;
}
.mc-hero-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px -4px rgba(37,99,235,.45);
  background: var(--mc-brand-hover);
}
.mc-features-bar {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: .875rem 1.25rem;
  background: rgba(255,255,255,.7);
  border: 1px solid var(--mc-border);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: .75rem 1.5rem;
  border-radius: 999px;
  font-size: .8125rem;
  font-weight: 500;
  color: var(--mc-muted);
  letter-spacing: .02em;
}
.mc-features-bar .sep { color: var(--mc-border-2); }
@media (max-width: 600px) {
  .mc-hero-pro-wrapper { padding: 3.5rem 1.5rem; border-radius: var(--mc-r-xl); }
  .mc-hero-title { font-size: clamp(1.75rem, 7vw, 2.5rem); }
  .mc-features-bar { font-size: .75rem; gap: .5rem .875rem; padding: .625rem 1rem; }
}

/* 12. Single widget -------------------------------------- */
.mc-single { width: 100%; }
.mc-single__empty { color: var(--mc-muted); font-size: .9375rem; padding: 2rem; text-align: center; }

/* ── Top: 2-col gallery + panel ── */
.mc-single__top {
  display: grid;
  gap: 2rem;
  align-items: start;
}
@media (min-width: 860px) {
  .mc-single__top { grid-template-columns: 1.15fr .85fr; }
  .mc-single__panel { position: sticky; top: 1.5rem; }
}

/* Gallery */
.mc-single__gallery { display: flex; flex-direction: column; gap: .75rem; }
.mc-single__hero {
  border-radius: var(--mc-r-xl);
  overflow: hidden;
  background: var(--mc-bg);
  position: relative;
  aspect-ratio: 16/10;
  cursor: pointer;
}
.mc-single__hero img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: opacity 140ms ease;
}
.mc-single__img-counter {
  position: absolute; bottom: .75rem; right: .875rem;
  background: rgba(0,0,0,.6);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #fff; font-size: .6875rem; font-weight: 600;
  padding: .25rem .625rem; border-radius: 999px;
  line-height: 1.4; letter-spacing: .04em;
  pointer-events: none;
}
.mc-single__thumbs {
  display: flex; gap: .5rem; flex-wrap: wrap;
  list-style: none; padding: 0; margin: 0;
}
.mc-single__thumb-btn {
  width: 80px; height: 60px; padding: 0;
  border: 2px solid var(--mc-border);
  border-radius: var(--mc-r);
  overflow: hidden; cursor: pointer; background: none;
  display: block; opacity: .7;
  transition: border-color var(--mc-dur), opacity var(--mc-dur);
}
.mc-single__thumb-btn img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mc-single__thumb-btn.is-active { border-color: var(--mc-brand); opacity: 1; }
.mc-single__thumb-btn:hover:not(.is-active) { border-color: var(--mc-border-2); opacity: 1; }

/* Panel */
.mc-single__panel { display: flex; flex-direction: column; gap: 1.125rem; }

.mc-single__eyebrow {
  margin: 0;
  font-size: .6875rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--mc-brand); line-height: 1;
}
.mc-single__title {
  margin: 0;
  font-family: 'Barlow', sans-serif;
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 800;
  color: var(--mc-ink);
  letter-spacing: -.03em; line-height: 1.1;
}

/* Price — Amazon-style */
.mc-single__price-block {
  display: flex; align-items: baseline; gap: .3rem;
  padding: .875rem 0;
  border-top: 1px solid var(--mc-border);
  border-bottom: 1px solid var(--mc-border);
}
.mc-single__price-symbol {
  font-family: 'Barlow', sans-serif;
  font-size: 1.5rem; font-weight: 700;
  color: var(--mc-ink); line-height: 1;
  align-self: flex-start; margin-top: .5rem;
}
.mc-single__price-amount {
  font-family: 'Barlow', sans-serif;
  font-size: clamp(2.25rem, 5vw, 3rem);
  font-weight: 800; color: var(--mc-ink);
  letter-spacing: -.04em; line-height: 1;
}
.mc-single__price-label {
  font-family: 'Barlow', sans-serif;
  font-size: .8125rem; font-weight: 600;
  color: var(--mc-subtle);
  letter-spacing: .05em; text-transform: uppercase;
  align-self: flex-end; margin-bottom: .35rem;
}

/* Description */
.mc-single__desc {
  margin: 0;
  font-size: .9375rem; color: var(--mc-muted); line-height: 1.65;
}

/* WhatsApp button */
.mc-single__wa-btn {
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  gap: .625rem;
  background: #16a34a; color: #fff !important;
  border: none; border-radius: 14px;
  padding: 1rem 1.375rem;
  font-family: 'Barlow', sans-serif;
  font-size: 1rem; font-weight: 700;
  letter-spacing: -.01em; text-decoration: none; cursor: pointer;
  animation: mc-wa-glow 2.8s ease-in-out infinite;
  transition: background 200ms var(--mc-ease), transform 200ms var(--mc-ease);
  margin-top: .25rem;
}
.mc-single__wa-btn:hover {
  color: #fff !important;
  background: #15803d;
  transform: translateY(-2px);
  animation: none;
  box-shadow: 0 8px 32px rgba(22,163,74,.45);
}
.mc-single__wa-btn::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.18) 50%, transparent 65%);
  background-size: 250% 100%;
  background-position: 150% 0;
  transition: background-position .55s ease;
  pointer-events: none;
}
.mc-single__wa-btn:hover::after { background-position: -50% 0; }
.mc-single__wa-icon { width: 22px; height: 22px; flex-shrink: 0; }
.mc-single__wa-arrow {
  display: inline-flex; align-items: center;
  margin-left: auto; flex-shrink: 0;
  transition: transform 200ms var(--mc-ease);
}
.mc-single__wa-btn:hover .mc-single__wa-arrow { transform: translateX(3px); }

@keyframes mc-wa-glow {
  0%, 100% { box-shadow: 0 4px 20px rgba(22,163,74,.3); }
  50%       { box-shadow: 0 6px 28px rgba(22,163,74,.55), 0 0 0 4px rgba(22,163,74,.1); }
}

/* ── Specs section (full width) ── */
.mc-single__specs-section {
  margin-top: 2rem;
  padding-top: 1.875rem;
  border-top: 1px solid var(--mc-border);
}
.mc-single__specs-label {
  margin: 0 0 1rem;
  font-size: .6875rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--mc-subtle);
}
.mc-single__specs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: .625rem;
}
.mc-single__spec-card {
  display: flex; flex-direction: column; gap: .35rem;
  padding: .875rem .875rem .75rem;
  background: var(--mc-bg);
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-lg);
  transition: border-color 150ms, background 150ms, box-shadow 150ms;
}
.mc-single__spec-card:hover {
  background: #fff; border-color: var(--mc-border-2);
  box-shadow: var(--mc-shadow-sm);
}
.mc-single__spec-icon {
  width: 32px; height: 32px; border-radius: 8px;
  background: rgba(37,99,235,.08); color: var(--mc-brand);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-bottom: .125rem;
}
.mc-single__spec-icon svg { width: 16px; height: 16px; }
.mc-single__spec-key {
  font-size: .625rem; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase;
  color: var(--mc-subtle); line-height: 1;
}
.mc-single__spec-val {
  font-size: .9375rem; font-weight: 700;
  color: var(--mc-ink-2); letter-spacing: -.01em; line-height: 1.2;
}

/* ── Google Reviews banner ── */
.mc-single__reviews {
  display: flex; align-items: center; gap: .75rem;
  padding: 0 1.25rem;
  height: 64px;
  margin-top: 1.5rem;
  background: #fff;
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-lg);
  text-decoration: none; color: inherit;
  transition: border-color 150ms, box-shadow 150ms;
}
a.mc-single__reviews:hover {
  border-color: var(--mc-border-2);
  box-shadow: var(--mc-shadow-sm);
}
.mc-single__reviews-logo { width: 20px; height: 20px; flex-shrink: 0; }
.mc-single__reviews-stars {
  color: #f59e0b; font-size: .9375rem; letter-spacing: .04em; flex-shrink: 0;
}
.mc-single__reviews-score {
  font-size: .9375rem; font-weight: 700; color: var(--mc-ink); flex-shrink: 0;
}
.mc-single__reviews-count { font-size: .8125rem; color: var(--mc-muted); }
.mc-single__reviews-divider {
  width: 1px; height: 22px; background: var(--mc-border);
  flex-shrink: 0; margin-left: auto;
}
.mc-single__reviews-cta {
  font-size: .8125rem; font-weight: 600; color: var(--mc-brand); flex-shrink: 0;
}

/* ── Cursor fix: safe additive-only — remove if conflicts ── */
body.mc-modal-open [class*="cursor"]:not([class*="mc-"]) {
  display: none !important;
  pointer-events: none !important;
}
body.mc-modal-open .mc-modal * { cursor: auto !important; }

/* ── Responsive ── */
@media (max-width: 640px) {
  .mc-single__specs-grid { grid-template-columns: repeat(2, 1fr); }
  .mc-single__price-amount { font-size: 2.25rem; }
  .mc-single__reviews { height: auto; min-height: 56px; padding: .75rem 1rem; flex-wrap: wrap; }
  .mc-single__reviews-divider { display: none; }
  .mc-single__reviews-cta { margin-left: auto; }
}

/* 13. Quick Search --------------------------------------- */
.mc-quick-search {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  background: var(--mc-card);
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-xl);
  padding: .75rem .875rem;
  box-shadow: var(--mc-shadow-sm);
}
.mc-quick-search__field { position: relative; }
.mc-quick-search__field input,
.mc-quick-search__field select {
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-sm);
  padding: .4375rem .625rem;
  min-width: 160px;
  font-size: .875rem;
  color: var(--mc-ink);
  background: var(--mc-bg);
  font-family: inherit;
  transition: border-color var(--mc-dur), box-shadow var(--mc-dur);
  appearance: none;
  -webkit-appearance: none;
}
.mc-quick-search__field select {
  padding-right: 1.75rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .5rem center;
}
.mc-quick-search__field input:focus,
.mc-quick-search__field select:focus {
  outline: none;
  border-color: var(--mc-brand);
  box-shadow: 0 0 0 3px var(--mc-brand-ring);
}

/* 14. Accessibility & motion ----------------------------- */
@media (prefers-reduced-motion: reduce) {
  .mc-vehicle-card,
  .mc-vehicle-card__media img,
  .mc-modal-dialog,
  .mc-modal-backdrop,
  .mc-spinner,
  .mc-skeleton { transition: none !important; animation: none !important; }
}
