/* Page Telephones IP : s'ajoute aux couleurs et composants de guide-pratique.css. */
.ip-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ip-brands-nav { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }
.ip-brands-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0.4rem 0.85rem; border: 1px solid #285367; border-radius: 7px; background: #0b1c30; color: #d2e8f6; font-size: 0.85rem; text-decoration: none; }
.ip-brands-nav a:hover { border-color: #5eead4; }
.ip-empty { margin-top: 1rem; }
.ip-section { margin-top: 2rem; scroll-margin-top: 1rem; }
.ip-section > h2 { margin: 0 0 0.5rem; font-size: 1.3rem; }
.ip-note { margin: 0 0 0.9rem; color: #afc7e2; font-size: 0.9rem; }

.ip-brands { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.ip-brand { min-width: 0; padding: 1rem; border: 1px solid #285367; border-radius: 9px; background: #0b1c30; scroll-margin-top: 1rem; }
.ip-brand:target { border-color: #5eead4; }
.ip-brand h3 { margin: 0; font-size: 1.1rem; }
.ip-models { margin: 0.15rem 0 0.75rem; color: #8fe9e5; font-size: 0.85rem; }
.ip-brand dl { display: grid; gap: 0.55rem; margin: 0; }
.ip-brand dt { color: #afc7e2; font-size: 0.75rem; }
.ip-brand dd { margin: 0; color: #eaf3ff; font-size: 0.9rem; overflow-wrap: anywhere; }

.ip-faq { display: grid; gap: 0.5rem; }
.ip-faq details { border: 1px solid #285367; border-radius: 9px; background: #0b1c30; scroll-margin-top: 1rem; }
.ip-faq summary { display: flex; align-items: center; min-height: 48px; padding: 0.6rem 1rem; font-weight: 600; cursor: pointer; list-style-position: inside; }
.ip-faq summary::before { content: '›'; flex: none; width: 1.1rem; color: #5eead4; font-weight: 700; transition: transform 0.15s; }
.ip-faq summary::-webkit-details-marker { display: none; }
.ip-faq details[open] summary::before { transform: rotate(90deg); }
.ip-faq details > div { padding: 0 1rem 0.9rem 2.1rem; color: #c3d5e8; font-size: 0.92rem; }
.ip-faq p { margin: 0; }
.ip-faq ul { display: grid; gap: 0.35rem; margin: 0; padding-left: 1.1rem; list-style: disc; }
.ip-faq strong { color: #eaf3ff; }

.ip-other { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 0.75rem; }

@media (max-width: 950px) {
  .ip-steps, .ip-other { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ip-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .ip-steps, .ip-brands, .ip-other { grid-template-columns: minmax(0, 1fr); }
  .ip-faq details > div { padding-left: 1rem; }
}
@media print {
  .ip-brands-nav, .ip-other { display: none !important; }
  .ip-brand, .ip-faq details { color: #111; background: white; border-color: #aaa; break-inside: avoid; }
  .ip-brand dt, .ip-brand dd, .ip-models, .ip-note, .ip-faq details > div { color: #111; }
}
