/* ==========================================================================
   pSEO surfaces — guides, hubs, dépannage, comparatifs
   Uses the theme tokens defined in style.css (:root).
   ========================================================================== */

/* --- Breadcrumbs --------------------------------------------------------- */
.pseo-crumbs{background:var(--bg-soft);border-bottom:1px solid var(--line);padding:14px 0}
.pseo-crumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;font-size:14px}
.pseo-crumbs li{display:flex;align-items:center;gap:8px;color:var(--ink-muted)}
.pseo-crumbs li+li::before{content:"›";color:var(--ink-muted);opacity:.6}
.pseo-crumbs a{color:var(--purple);text-decoration:none}
.pseo-crumbs a:hover{text-decoration:underline}
.pseo-crumbs span[aria-current]{color:var(--ink-soft);font-weight:600}

/* --- Section headings ---------------------------------------------------- */
.pseo-h2{font-size:clamp(24px,3vw,32px);line-height:1.25;margin:44px 0 20px;color:var(--ink)}
.pseo-h2:first-child{margin-top:0}
.pseo-intro{color:var(--ink-soft);font-size:16.5px;line-height:1.75;margin-bottom:28px}
.pseo-intro p{margin:0 0 14px}
.pseo-intro b{color:var(--ink);font-weight:700}

/* --- Card grids ---------------------------------------------------------- */
.pseo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:16px}
.pseo-grid--wide{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}

.pseo-card{
  display:flex;align-items:center;gap:14px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;text-decoration:none;color:inherit;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.pseo-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--purple)}
.pseo-card--tall{align-items:flex-start}
.pseo-card__ico{
  flex:0 0 46px;height:46px;display:grid;place-items:center;
  background:var(--bg-soft);color:var(--purple);border-radius:var(--radius-sm);font-size:19px;
}
.pseo-card__body{display:flex;flex-direction:column;gap:3px;min-width:0}
.pseo-card__name{font-weight:700;color:var(--ink);font-size:15.5px;line-height:1.35}
.pseo-card__meta{font-size:13px;color:var(--purple);font-weight:600}
.pseo-card__note{font-size:13px;color:var(--ink-muted);line-height:1.5}
.pseo-card__go{margin-left:auto;color:var(--ink-muted);font-size:14px;flex:0 0 auto}
.pseo-card:hover .pseo-card__go{color:var(--purple)}

/* --- Device groups on the master index ----------------------------------- */
.pseo-group{margin-bottom:52px}
.pseo-group__head{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.pseo-group__ico{
  flex:0 0 52px;height:52px;display:grid;place-items:center;
  background:var(--purple);color:#fff;border-radius:var(--radius-sm);font-size:22px;
}
.pseo-group__head h2{margin:0;font-size:23px;color:var(--ink)}
.pseo-group__head p{margin:2px 0 0;font-size:14px;color:var(--ink-muted)}
.pseo-group__all{
  margin-left:auto;color:var(--purple);font-weight:700;font-size:14px;
  text-decoration:none;white-space:nowrap;
}
.pseo-group__all:hover{text-decoration:underline}

/* --- Related blocks ------------------------------------------------------ */
.pseo-related{margin-bottom:40px}
.pseo-related__title{font-size:20px;margin:0 0 16px;color:var(--ink);display:flex;align-items:center;gap:10px}
.pseo-related__title i{color:var(--purple)}
.pseo-related__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:12px}
.pseo-related__card{
  display:flex;flex-direction:column;gap:8px;padding:16px 18px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);
  text-decoration:none;transition:border-color .18s ease,transform .18s ease;
}
.pseo-related__card:hover{border-color:var(--purple);transform:translateY(-2px)}
.pseo-related__name{font-weight:600;color:var(--ink);font-size:14.5px;line-height:1.45}
.pseo-related__go{font-size:12.5px;color:var(--purple);font-weight:700}

/* --- Hub link row -------------------------------------------------------- */
.pseo-hubs{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  margin-top:28px;padding-top:22px;border-top:1px solid var(--line);
  font-size:14.5px;color:var(--ink-muted);
}
.pseo-hubs a{color:var(--purple);font-weight:600;text-decoration:none}
.pseo-hubs a:hover{text-decoration:underline}

/* --- Tables -------------------------------------------------------------- */
.pseo-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:32px}
.pseo-table{width:100%;border-collapse:collapse;background:var(--paper);border-radius:var(--radius);overflow:hidden;min-width:520px}
.pseo-table th,.pseo-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:14.5px}
.pseo-table thead th{background:var(--purple);color:#fff;font-weight:700}
.pseo-table tbody th{background:var(--bg-soft);color:var(--ink);font-weight:600;width:38%}
.pseo-table tbody tr:last-child th,.pseo-table tbody tr:last-child td{border-bottom:0}
.pseo-table--vs tbody th{width:34%}
.pseo-table--vs td{text-align:center}

.pseo-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:var(--pill);font-size:12.5px;font-weight:700}
.pseo-pill--yes{background:rgba(22,163,74,.12);color:var(--green)}
.pseo-pill--no{background:rgba(124,124,138,.14);color:var(--ink-muted)}

/* --- Comparison columns -------------------------------------------------- */
.pseo-vs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:32px}
.pseo-vs-col{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.pseo-vs-col h3{margin:0 0 16px;font-size:20px;color:var(--purple)}
.pseo-vs-col h4{margin:18px 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}
.pseo-vs-col ul{margin:0;padding-left:20px;color:var(--ink-soft);font-size:14.5px;line-height:1.7}

/* --- Verdict / tip variants ---------------------------------------------- */
.device-tip--verdict{font-size:15.5px;line-height:1.75}

/* --- CTA band ------------------------------------------------------------ */
.pseo-cta{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pseo-cta__inner{display:flex;align-items:center;gap:32px;flex-wrap:wrap;justify-content:space-between}
.pseo-cta__inner h2{margin:6px 0 10px;font-size:clamp(22px,3vw,30px);color:var(--ink)}
.pseo-cta__inner p{margin:0;color:var(--ink-soft);max-width:62ch;line-height:1.7}
.pseo-cta__actions{display:flex;gap:12px;flex-wrap:wrap}

/* --- Sidebar CTA card ---------------------------------------------------- */
.device-aside__card--cta{background:var(--purple);color:#fff}
.device-aside__card--cta h3,.device-aside__card--cta p{color:#fff}
.device-aside__card--cta p{font-size:14px;line-height:1.65;margin:8px 0 16px;opacity:.92}
.device-aside__card--cta .btn--primary{background:#fff;color:var(--purple);width:100%;justify-content:center}
.device-aside__card--cta .btn--primary:hover{background:var(--bg-soft);color:var(--purple-deep)}

/* --- Pagination ---------------------------------------------------------- */
.pseo-pagination{margin-top:36px}
.pseo-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.pseo-pagination .page-numbers{
  display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;
  border-radius:var(--radius-sm);background:var(--paper);border:1px solid var(--line);
  color:var(--ink-soft);text-decoration:none;font-weight:600;font-size:14px;
}
.pseo-pagination .page-numbers:hover{border-color:var(--purple);color:var(--purple)}
.pseo-pagination .page-numbers.current{background:var(--purple);border-color:var(--purple);color:#fff}

/* --- Responsive ---------------------------------------------------------- */
@media (max-width:900px){
  .pseo-cta__inner{flex-direction:column;align-items:flex-start}
  .pseo-group__all{margin-left:0}
}
@media (max-width:600px){
  .pseo-grid,.pseo-related__grid{grid-template-columns:1fr}
  .pseo-h2{font-size:22px;margin:32px 0 16px}
  .pseo-crumbs ol{font-size:13px}
}

/* --- Homepage / legacy-page cluster entry block --------------------------- */
.section--devices-hub{background:var(--bg)}
.section--devices-hub .pseo-grid{margin-top:36px}
.pseo-hubs--center{justify-content:center;text-align:center;border-top:0;padding-top:0;margin-top:32px}

/* Inline hub link dropped into the legacy guide page's device blocks */
.pseo-inline-hub{
  display:inline-flex;align-items:center;gap:8px;margin-top:16px;
  padding:11px 20px;border-radius:var(--pill);
  background:var(--purple);color:#fff;font-weight:700;font-size:14px;
  text-decoration:none;box-shadow:var(--shadow);
}
.pseo-inline-hub:hover{background:var(--purple-deep);color:#fff}

/* --- Navigation path diagram --------------------------------------------- */
.pseo-navpath{margin:0 0 32px;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.pseo-navpath figcaption{
  font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--purple);margin-bottom:16px;
}
.pseo-navpath__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.pseo-navpath__svg{display:block;max-width:none}
.pseo-navpath__node{fill:var(--bg-soft);stroke:var(--line);stroke-width:1.5}
.pseo-navpath__node--end{fill:var(--purple);stroke:var(--purple)}
.pseo-navpath__label{font-family:inherit;font-size:14px;font-weight:600;fill:var(--ink)}
.pseo-navpath__label--end{fill:#fff}
.pseo-navpath__arrow{stroke:var(--ink-muted);stroke-width:2;fill:none}
.pseo-navpath__arrowhead{fill:var(--ink-muted)}

/* --- Featured image on the guide hero ------------------------------------ */
.pseo-figure{margin:0 0 32px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--paper)}
.pseo-figure img{display:block;width:100%;height:auto}
.pseo-figure figcaption{padding:12px 18px;font-size:13px;color:var(--ink-muted);border-top:1px solid var(--line)}
