/* Catalogue : déclinaison locale du magazine blanc, noir et jaune validé. */
.robot-catalogue { --catalogue-meta: #936800; --catalogue-photo-height:180px; }
.robot-catalogue .catalogue-hero { padding-block:48px !important; }
.robot-catalogue .catalogue-hero .wrap { padding-block:0; }
.robot-catalogue .catalogue-hero h1 { max-width:20ch; font-size:clamp(38px,4.1vw,62px); line-height:1.04; letter-spacing:-.035em; text-wrap:balance; }
.robot-catalogue .catalogue-hero .lede { font-size:17px; max-width:55ch; }
.robot-catalogue .editorial-inner-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:48px; align-items:center; }
.robot-catalogue .catalogue-visual { margin:0; min-width:0; }
.robot-catalogue .catalogue-visual-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; border-top:4px solid var(--accent); }
.robot-catalogue .catalogue-visual-pair a { display:block; min-width:0; color:var(--text); }
.robot-catalogue .catalogue-visual-pair img { width:100%; object-fit:contain; }
.robot-catalogue .catalogue-visual-pair span { display:block; font-weight:650; line-height:1.2; }
.robot-catalogue .catalogue-visual figcaption { margin-top:16px; color:var(--text-soft); font-size:14px; }
.robot-catalogue .catalogue-visual-pair img { height:220px; }
.robot-catalogue .catalogue-intro-path { display:flex; gap:10px; align-items:center; margin-bottom:22px; font-size:14px; color:var(--text-soft); }
.robot-catalogue .catalogue-intro-path a { display:inline-flex; align-items:center; min-height:44px; }
.robot-catalogue .catalogue-context { display:grid; grid-template-columns:1fr 1fr; background:var(--text); color:var(--on-dark); border-top:4px solid var(--accent); }
.robot-catalogue .catalogue-context a { padding:26px 30px; min-height:120px; display:flex; flex-direction:column; gap:8px; border-right:1px solid #454545; }
.robot-catalogue .catalogue-context a:last-child { border-right:0; }
.robot-catalogue .catalogue-context strong { font-size:23px; line-height:1.15; }
.robot-catalogue .catalogue-context span { color:var(--on-dark-soft); }
.robot-catalogue .catalogue-context a:hover strong { text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:6px; }
.robot-catalogue .catalogue-section-head { display:flex; gap:16px; align-items:center; margin-block:36px 24px; }
.robot-catalogue .catalogue-section-head::before { content:""; width:9px; height:9px; flex-shrink:0; border-radius:50%; background:var(--accent); }
.robot-catalogue .catalogue-section-head::after { content:""; height:2px; flex:1; background:var(--accent); }
.robot-catalogue .catalogue-section-head h2 { margin:0; font-size:23px; }
.robot-catalogue .catalogue-tools { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr); gap:24px; padding-block:22px; border-block:1px solid var(--text); }
.robot-catalogue .catalogue-tools label { display:flex; flex-direction:column; gap:8px; color:var(--text-soft); font-size:13px; font-weight:650; min-width:0; }
.robot-catalogue .catalogue-tools input,.robot-catalogue .catalogue-tools select { width:100%; min-height:48px; border:1px solid var(--border); border-radius:0; padding:10px 12px; background:var(--soft); color:var(--text); font:inherit; font-size:16px; font-weight:400; caret-color:var(--catalogue-meta); }
.robot-catalogue .catalogue-method { margin-top:14px; color:var(--text-soft); font-size:13px; }
.robot-catalogue .catalogue-method a { display:inline-flex; align-items:center; min-height:44px; }
.robot-catalogue .filters { gap:8px; }
.robot-catalogue #budget-filter { margin-top:20px; }
.robot-catalogue .chip[aria-pressed="true"] { background:var(--accent); color:var(--text); border-color:var(--accent); }
.robot-catalogue .catalogue-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.robot-catalogue .catalogue-card { min-width:0; border:1px solid #c8c8c8; border-radius:14px; padding:24px; background:var(--surface); display:grid; grid-template-columns:160px minmax(0,1fr); gap:22px; align-items:start; }
.robot-catalogue .catalogue-card:focus-within { border-color:var(--text); }
.robot-catalogue .catalogue-photo { display:block; background:var(--soft); border-radius:12px; height:var(--catalogue-photo-height); flex-shrink:0; overflow:hidden; }
.robot-catalogue .catalogue-photo img { width:100%; height:var(--catalogue-photo-height); object-fit:contain; padding:12px; }
.robot-catalogue .catalogue-photo-missing { color:var(--text-soft); text-align:center; padding:28px; }
.robot-catalogue .catalogue-card-body { padding:0; display:flex; flex-direction:column; min-width:0; height:100%; }
.robot-catalogue .catalogue-brand { color:var(--catalogue-meta); font-size:13px; font-weight:750; }
.robot-catalogue .catalogue-card h3 { font-size:23px; line-height:1.15; letter-spacing:-.025em; margin:6px 0 12px; text-wrap:balance; }
.robot-catalogue .catalogue-card h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.robot-catalogue .catalogue-status,.robot-catalogue .catalogue-date { color:var(--text-soft); font-size:13px; margin:0 0 6px; }
.robot-catalogue .catalogue-facts { margin:18px 0 0; border-top:1px solid var(--border); }
.robot-catalogue .catalogue-facts > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:16px; border-bottom:1px solid var(--border); padding-block:10px; font-size:16px; }
.robot-catalogue .catalogue-facts dt { color:var(--text-soft); }
.robot-catalogue .catalogue-facts dd { margin:0; text-align:right; font-weight:650; overflow-wrap:anywhere; }
.robot-catalogue .catalogue-proof { margin-block:12px 20px; }
.robot-catalogue .catalogue-proof summary { cursor:pointer; min-height:44px; align-content:center; font-size:15px; text-decoration:underline; text-underline-offset:4px; }
.robot-catalogue .catalogue-proof ul { padding-left:20px; font-size:15px; }
.robot-catalogue .catalogue-proof li { margin-bottom:18px; }
.robot-catalogue .catalogue-proof p { margin-block:6px; }
.robot-catalogue .catalogue-proof a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; }
.robot-catalogue .catalogue-card-foot { display:flex; flex-wrap:wrap; gap:12px 16px; justify-content:space-between; align-items:flex-end; margin-top:auto; padding-top:18px; }
.robot-catalogue .catalogue-price { color:var(--text-soft); font-size:15px; }
.robot-catalogue .catalogue-price strong,.robot-catalogue .catalogue-price small { display:block; }
.robot-catalogue .catalogue-price strong { font-size:23px; color:var(--text); font-variant-numeric:tabular-nums; line-height:1.2; }
.robot-catalogue .catalogue-price small { margin-top:4px; font-size:13px; }
.robot-catalogue .catalogue-card-foot > a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:10px 18px; border-radius:999px; background:var(--accent); color:var(--text); font-weight:750; flex-shrink:0; }
.robot-catalogue .catalogue-card-foot > a:hover { background:var(--text); color:var(--on-dark); }
.robot-catalogue .catalogue-empty { background:var(--soft); padding:26px; border-top:2px solid var(--accent); }
.robot-catalogue .catalogue-empty button { margin-top:18px; }
.robot-catalogue a:focus-visible,.robot-catalogue button:focus-visible,.robot-catalogue input:focus-visible,.robot-catalogue select:focus-visible,.robot-catalogue summary:focus-visible { outline:3px solid var(--text); outline-offset:4px; }
.robot-catalogue .catalogue-context a:focus-visible { outline-color:var(--accent); outline-offset:-6px; }
.robot-catalogue ::selection { background:var(--accent); color:var(--text); }
.robot-catalogue .profiles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; border-top:2px solid var(--accent); }
.robot-catalogue .profile { display:grid; grid-template-columns:40px minmax(0,1fr); gap:8px 16px; padding:24px 0; border:0; border-bottom:1px solid var(--border); border-radius:0; background:transparent; }
.robot-catalogue .profile:hover { background:transparent; transform:none; box-shadow:none; }
.robot-catalogue .profile .pico { grid-row:1 / span 3; margin:0; background:transparent; color:var(--text); }
.robot-catalogue .profile h3 { margin:0; font-size:23px; line-height:1.15; }
.robot-catalogue .profile p,.robot-catalogue .profile .mono,.robot-catalogue .profile .more { grid-column:2; margin:0; }
.robot-catalogue .profile .mono { font-family:inherit; }
.robot-catalogue .profile .more { min-height:44px; display:flex; align-items:center; gap:8px; text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:5px; }
@media(max-width:1100px) {
  .robot-catalogue .catalogue-grid { grid-template-columns:1fr; }
  .robot-catalogue .catalogue-card { grid-template-columns:200px minmax(0,1fr); gap:28px; }
}
@media(max-width:900px) {
  .robot-catalogue .editorial-inner-grid { grid-template-columns:1fr; gap:28px; }
  .robot-catalogue .catalogue-tools { grid-template-columns:1fr 1fr; }
  .robot-catalogue .catalogue-tools label:first-child { grid-column:1/-1; }
}
@media(max-width:759px) {
  .robot-catalogue .catalogue-visual-pair img { height:160px; }
  .robot-catalogue .catalogue-visual-pair span { font-size:15px; }
  .robot-catalogue { --catalogue-photo-height:180px; }
  .robot-catalogue .catalogue-hero { padding-block:24px !important; }
  .robot-catalogue .catalogue-hero .lede { font-size:17px; }
  .robot-catalogue .catalogue-context { grid-template-columns:1fr; }
  .robot-catalogue .catalogue-context a { padding:22px; min-height:108px; border-right:0; border-bottom:1px solid #454545; }
  .robot-catalogue .catalogue-context a:last-child { border-bottom:0; }
  .robot-catalogue .catalogue-grid { grid-template-columns:1fr; gap:28px; }
  .robot-catalogue .catalogue-card { grid-template-columns:1fr; gap:18px; padding:20px; }
  .robot-catalogue .catalogue-card h3 { font-size:23px; }
  .robot-catalogue .catalogue-photo img { padding:12px 24px; }
  .robot-catalogue .catalogue-tools { grid-template-columns:1fr; gap:16px; }
  .robot-catalogue .catalogue-tools label:first-child { grid-column:auto; }
  .robot-catalogue .catalogue-card-foot { gap:12px; }
  .robot-catalogue .profiles { grid-template-columns:1fr; }
  .robot-catalogue .profile { padding-block:22px; }
}
.stick-catalogue .catalogue-photo:has(.catalogue-photo-missing) { height: auto; padding: 16px 20px; }
.stick-catalogue .catalogue-photo-missing { padding: 0; text-align: left; }
.stick-catalogue .catalogue-context { grid-template-columns: 1fr; }
