/* ============================================================
   MONTE SEU CONTROLE — CSS isolado · PG Custom
   Prefixo exclusivo: .msc-
   Seções: Plataformas · Modelos · Benefícios
   Não reutiliza classes de Coleções nem Depoimentos.
============================================================ */

/* ── Espaçamento de entrada ──────────────────────────────── */
#monte-seu-controle {
  scroll-margin-top: var(--navbar-height);
  padding-top: var(--space-16);   /* ~80px acima do conteúdo */
}

/* ── Container — mesma largura da seção Coleções ──────────── */
#monte-seu-controle > .container {
  padding-inline: var(--space-4);
  max-width: 1760px;
}

/* ── Blocos internos — 80px entre Plataformas e Modelos ───── */
.msc__block {
  margin-bottom: 80px;
}

/* ── Header de cada bloco ─────────────────────────────────── */
.msc__header {
  text-align: center;
  margin-bottom: var(--space-10);
}

.msc__tag {
  display: inline-block;
  font-family: var(--font-body);
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  color: var(--gold);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: var(--space-3);
}

.msc__title {
  font-family: var(--font-heading);
  font-size: var(--fs-3xl);
  font-weight: var(--fw-extrabold);
  color: var(--white);
  line-height: var(--lh-tight);
  margin-bottom: var(--space-4);
}

.msc__lead {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  color: var(--text-muted);
  letter-spacing: 0.02em;
  max-width: 520px;
  margin-inline: auto;
  line-height: var(--lh-relaxed);
}

/* ── Grid 4 colunas ───────────────────────────────────────── */
.msc__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-4);
}

/* ══════════════════════════════════════════════════════════
   CARD BASE
══════════════════════════════════════════════════════════ */
.msc-card {
  display: flex;
  flex-direction: column;
  background: var(--bg-card);
  border: 1px solid rgba(30, 91, 196, 0.14);
  border-radius: var(--radius-lg);
  overflow: hidden;
  text-decoration: none;
  transition:
    border-color var(--transition-base),
    transform     var(--transition-base),
    box-shadow    var(--transition-base);
}

.msc-card:hover {
  border-color: rgba(30, 91, 196, 0.30);
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}

/* ── Área da imagem — fundo integrado ao card escuro ─────── */
.msc-card__media {
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Plataforma: imagem ocupa ~70% do card total */
.msc-card--platform .msc-card__media {
  height: 322px;
  padding: var(--space-2) var(--space-3);
}

.msc-card--platform .msc-card__img {
  max-width: 100%;
  max-height: 306px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Modelo: imagem ocupa a maior parte superior */
.msc-card--model .msc-card__media {
  height: 284px;
  padding: var(--space-2) var(--space-3);
}

.msc-card--model .msc-card__img {
  max-width: 100%;
  max-height: 268px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Obsidian (JPEG sem transparência) — multiply elimina fundo branco */
.msc-card--obsidian .msc-card__img {
  mix-blend-mode: multiply;
}

/* ── Corpo do card ────────────────────────────────────────── */
.msc-card__body {
  padding: var(--space-6) var(--space-6) var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  flex: 1;
}

.msc-card__meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.msc-card__name {
  font-family: var(--font-heading);
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  color: var(--white);
  line-height: var(--lh-tight);
}

.msc-card__badge {
  font-family: var(--font-body);
  font-size: 0.65rem;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid rgba(212, 175, 55, 0.38);
  border-radius: 999px;
  padding: 2px 9px;
  line-height: 1.6;
  white-space: nowrap;
}

.msc-card__desc {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  line-height: var(--lh-relaxed);
  flex: 1;
}

/* ── Flash dourado ao clicar ──────────────────────────────── */
@keyframes mscBtnFlash {
  0%   { box-shadow: 0 0 0 0   rgba(212, 175, 55, 0.60); }
  40%  { box-shadow: 0 0 0 5px rgba(212, 175, 55, 0.22); }
  100% { box-shadow: 0 0 0 0   rgba(212, 175, 55, 0); }
}

/* ── Botão pill — padrão dourado PG ───────────────────────── */
.msc-card__btn {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-3);
  background: transparent;
  color: var(--gold);
  border: 1px solid rgba(212, 175, 55, 0.55);
  padding: 0.55rem 1.55rem;
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition:
    background    var(--transition-base),
    color         var(--transition-base),
    border-color  var(--transition-base),
    box-shadow    var(--transition-base),
    transform     0.15s ease;
}

.msc-card__btn:hover {
  background: var(--gold);
  color: var(--text-on-gold);
  border-color: var(--gold);
  box-shadow: 0 4px 16px rgba(212, 175, 55, 0.28);
  transform: translateY(-2px);
}

.msc-card__btn:active {
  background: transparent;
  color: var(--gold);
  border-color: var(--gold);
  transform: translateY(0);
  animation: mscBtnFlash 0.32s ease forwards;
}

.msc-card__arrow {
  flex-shrink: 0;
  transition: transform var(--transition-base);
}

.msc-card:hover .msc-card__arrow {
  transform: translateX(3px);
}

/* ══════════════════════════════════════════════════════════
   FAIXA DE BENEFÍCIOS
══════════════════════════════════════════════════════════ */
.msc__benefits {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid rgba(30, 91, 196, 0.14);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.02);
  overflow: hidden;
  margin-top: 80px;
}

.msc__benefit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  text-align: center;
  padding: var(--space-8) var(--space-6);
  border-right: 1px solid rgba(255, 255, 255, 0.05);
}

.msc__benefit:last-child {
  border-right: none;
}

.msc__benefit-icon {
  color: var(--gold);
  opacity: 0.88;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.msc__benefit-title {
  font-family: var(--font-heading);
  font-size: var(--fs-base);
  font-weight: var(--fw-semibold);
  color: var(--white);
  line-height: 1.3;
}

.msc__benefit-desc {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  line-height: var(--lh-relaxed);
}

/* ══════════════════════════════════════════════════════════
   PRÉ-CONFIGURADOS
══════════════════════════════════════════════════════════ */
.msc-card--preconfig .msc-card__media {
  height: 284px;
  padding: var(--space-2) var(--space-3);
}

.msc-card--preconfig .msc-card__img {
  max-width: 100%;
  max-height: 268px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.msc-card__partner {
  font-family: var(--font-body);
  font-size: 0.65rem;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.90;
}

.msc-card__config {
  font-family: var(--font-body);
  font-size: 0.60rem;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  opacity: 0.80;
}

.msc-card__price-from {
  font-family: var(--font-heading);
  font-size: 0.82rem;
  font-weight: var(--fw-bold);
  color: var(--text-primary);
  letter-spacing: 0.01em;
  margin-top: var(--space-1);
}

.msc-card__price-note {
  font-family: var(--font-body);
  font-size: 0.60rem;
  color: var(--text-muted);
  letter-spacing: 0.02em;
  line-height: 1.4;
  opacity: 0.75;
}

/* Cards pré-configurados: altura uniforme — botão sempre ao fundo */
.msc-card--preconfig .msc-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.msc-card--preconfig .msc-card__btn {
  margin-top: auto;
}

/* Cards de modelo: botão sempre ancorado ao fundo, igual aos pré-configurados */
.msc-card--model .msc-card__btn {
  margin-top: auto;
}


/* ══════════════════════════════════════════════════════════
   CARROSSEL HORIZONTAL (Controles Pré-Configurados)
══════════════════════════════════════════════════════════ */

/* Wrapper + setas */
.msc__carousel-wrap {
  position: relative;
}

.msc__carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 44px;
  height: 44px;
  background: rgba(10, 10, 10, 0.88);
  border: 1px solid rgba(30, 91, 196, 0.32);
  border-radius: 50%;
  color: var(--accent-light);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: background var(--transition-base), border-color var(--transition-base), opacity var(--transition-base);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.msc__carousel-btn:hover {
  background: rgba(30, 30, 30, 0.96);
  border-color: rgba(30, 91, 196, 0.60);
}

.msc__carousel-btn:disabled {
  opacity: 0.20;
  cursor: default;
  pointer-events: none;
}

.msc__carousel-btn--prev { left: 4px; }
.msc__carousel-btn--next { right: 4px; }

.msc__grid--carousel {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--space-4);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.msc__grid--carousel::-webkit-scrollbar {
  display: none;
}

.msc__grid--carousel > .msc-card {
  flex: 0 0 calc(25% - 0.75rem);
  scroll-snap-align: start;
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVO
══════════════════════════════════════════════════════════ */
@media (max-width: 1023px) {
  .msc__grid--carousel > .msc-card {
    flex: 0 0 calc(50% - 0.5rem);
  }

  .msc__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-3);
  }

  .msc__benefits {
    grid-template-columns: repeat(2, 1fr);
  }

  .msc__benefit {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  }

  .msc__benefit:nth-child(3),
  .msc__benefit:nth-child(4) {
    border-bottom: none;
  }
}

@media (max-width: 767px) {
  .msc__grid--carousel > .msc-card {
    flex: 0 0 calc(85% - 0.5rem);
  }

  #monte-seu-controle {
    padding-top: var(--space-12);
  }

  .msc__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .msc__block {
    margin-bottom: 60px;
  }

  .msc__benefits {
    grid-template-columns: 1fr;
  }

  .msc__benefit {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  }

  .msc__benefit:last-child {
    border-bottom: none;
  }

  .msc__title {
    font-size: var(--fs-xl);
  }
  .msc__carousel-btn { display: none; }
}
