/* ═══════════════════════════════════════════════════
   PMB Gamme — Front-end styles
   Cohérent avec la charte Polaris Mont-Blanc :
   Barlow / Barlow Semi Condensed, diagonale 18°,
   accent gold, fond --pmb-snow.
   ═══════════════════════════════════════════════════ */

/* ── Intro ── */
.pmb-gamme-intro {
  max-width: 800px;
  margin: 0 auto;
  padding: 48px 48px 0;
}
.pmb-gamme-intro__text {
  font-family: var(--pmb-font-body);
  font-size: 15px;
  line-height: 1.85;
  color: var(--pmb-gray, #6B7280);
}

/* ── Points forts (compact) ── */
.pmb-features {
  padding: 48px 48px 56px;
  background: var(--pmb-snow, #F5F8FF);
}

.pmb-features__header {
  margin-bottom: 32px;
}

.pmb-features__header h2 {
  font-family: var(--pmb-font-head);
  font-size: 22px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.5px;
  line-height: 1;
  margin-top: 8px;
}

.pmb-features__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1px;
  background: var(--pmb-border, rgba(10,10,10,0.08));
  border: 1px solid var(--pmb-border, rgba(10,10,10,0.08));
}

.pmb-features__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 20px;
  background: var(--pmb-white, #FFFFFF);
  transition: background 0.2s;
}

.pmb-features__item:hover {
  background: var(--pmb-dark-mid, #EDF1FA);
}

.pmb-features__num {
  flex-shrink: 0;
  font-family: var(--pmb-font-head);
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  color: var(--pmb-gray-light, #E8EEF7);
  letter-spacing: -1px;
  min-width: 28px;
}

.pmb-features__item:hover .pmb-features__num {
  color: var(--pmb-accent, #F5B324);
}

.pmb-features__title {
  font-family: var(--pmb-font-head);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--pmb-black, #0A0A0A);
  margin-bottom: 4px;
}

.pmb-features__desc {
  font-family: var(--pmb-font-body);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.6;
  color: var(--pmb-gray, #6B7280);
}

@media (max-width: 768px) {
  .pmb-features {
    padding: 32px 20px 40px;
  }

  .pmb-features__grid {
    grid-template-columns: 1fr;
  }
}

/* ── Lien cat-name stretched sur toute la card ── */
.cat-card:has(a.cat-name) .cat-content {
  position: static;
  z-index: auto;
}

.cat-card:has(a.cat-name) .cat-content > * {
  position: relative;
  z-index: 2;
}

a.cat-name {
  position: static;
  text-decoration: none;
  color: inherit;
}

a.cat-name::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 3;
}

/* ── Sélecteur d'année ── */
.pmb-gamme-years {
  display: flex;
  gap: 3px;
  justify-content: center;
  margin: 32px 0 48px;
  padding: 0 48px;
}

.pmb-gamme-years__item {
  display: inline-flex;
  align-items: center;
  padding: 12px 28px;
  font-family: var(--pmb-font-head);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--pmb-gray, #6B7280);
  background: var(--pmb-dark-mid, #EDF1FA);
  clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%);
  transition: background 0.2s, color 0.2s;
}

.pmb-gamme-years__item:hover {
  background: rgba(16, 69, 142, 0.08);
  color: var(--pmb-blue, #10458E);
}

.pmb-gamme-years__item--active {
  background: var(--pmb-accent, #F5B324);
  color: var(--pmb-black, #0A0A0A);
}

/* ═══════════════════════════════════════════════════
   FAQ — Gamme Polaris
   ═══════════════════════════════════════════════════ */
.pmb-gamme-faq {
  padding: 100px 48px;
  background: var(--pmb-white, #FFFFFF);
  border-top: 1px solid var(--pmb-border, rgba(10,10,10,0.08));
}

/* ── Header ── */
.pmb-gamme-faq__header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  max-width: 1100px;
  margin-bottom: 72px;
}

.pmb-gamme-faq__intro {
  font-family: var(--pmb-font-body);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--pmb-gray, #6B7280);
}

/* ── Liste ── */
.pmb-gamme-faq__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* ── Item ── */
.pmb-gamme-faq__item {
  position: relative;
  border-top: 1px solid var(--pmb-border, rgba(10,10,10,0.08));
  overflow: hidden;
}

.pmb-gamme-faq__item:last-child {
  border-bottom: 1px solid var(--pmb-border, rgba(10,10,10,0.08));
}

/* Accent bar — signature gold stripe on the left on open */
.pmb-gamme-faq__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--pmb-accent, #F5B324);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 2;
}

.pmb-gamme-faq__item[open]::before {
  transform: scaleY(1);
}

/* ── Question (summary) ── */
.pmb-gamme-faq__question {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px 28px;
  cursor: pointer;
  list-style: none;
  transition: background 0.2s;
}

.pmb-gamme-faq__question::-webkit-details-marker { display: none; }

.pmb-gamme-faq__question:hover {
  background: var(--pmb-dark-mid, #EDF1FA);
}

/* Numéro */
.pmb-gamme-faq__num {
  flex-shrink: 0;
  font-family: var(--pmb-font-head);
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  color: var(--pmb-gray-light, #E8EEF7);
  letter-spacing: -1px;
  min-width: 40px;
  transition: color 0.3s;
}

.pmb-gamme-faq__item[open] .pmb-gamme-faq__num {
  color: var(--pmb-accent, #F5B324);
}

/* Texte de la question */
.pmb-gamme-faq__q-text {
  flex: 1;
  font-family: var(--pmb-font-head);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--pmb-black, #0A0A0A);
  line-height: 1.3;
}

/* Chevron */
.pmb-gamme-faq__chevron {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--pmb-gray, #6B7280);
  transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.2s;
}

.pmb-gamme-faq__item[open] .pmb-gamme-faq__chevron {
  transform: rotate(180deg);
  color: var(--pmb-accent, #F5B324);
}

/* ── Réponse ── */
.pmb-gamme-faq__answer {
  padding: 0 28px 28px 88px;
  font-family: var(--pmb-font-body);
  font-size: 14px;
  line-height: 1.9;
  color: var(--pmb-gray, #6B7280);
  animation: faqSlideIn 0.3s ease both;
}

.pmb-gamme-faq__answer p {
  margin-bottom: 12px;
}

.pmb-gamme-faq__answer p:last-child {
  margin-bottom: 0;
}

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

/* ── Responsive ── */
@media (max-width: 768px) {
  .pmb-gamme-faq {
    padding: 60px 20px;
  }

  .pmb-gamme-faq__header {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 40px;
  }

  .pmb-gamme-faq__question {
    padding: 18px 16px;
    gap: 14px;
  }

  .pmb-gamme-faq__num {
    font-size: 22px;
    min-width: 30px;
  }

  .pmb-gamme-faq__q-text {
    font-size: 13px;
  }

  .pmb-gamme-faq__answer {
    padding: 0 16px 20px 60px;
  }

  .pmb-gamme-intro {
    padding: 32px 20px 0;
  }

  .pmb-gamme-years {
    padding: 0 20px;
    flex-wrap: wrap;
  }
}
