@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@600;700&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');

.abt-comparateur{
  --abt-teal:#138C6A; --abt-teal-light:#5DCAA5; --abt-ink:#0E3B33; --abt-gold:#C89B3C; --abt-gold-ink:#412402;
  --abt-bg:#F6F7F5; --abt-card:#FFFFFF; --abt-border:#E3E6E1; --abt-text:#0E3B33; --abt-text-secondary:#5C645F;
  --abt-tint:#E6F3EE; --abt-cta:#FFCD0C; --abt-cta-hover:#E6B800; --abt-speed-red:#A61B1B;
  font-family:'Inter',sans-serif; color:var(--abt-text); background:var(--abt-bg); border-radius:12px; overflow:hidden;
}
.abt-comparateur *{box-sizing:border-box;}

.abt-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:24px;}
.abt-filters{background:var(--abt-card);border:0.5px solid var(--abt-border);border-radius:12px;padding:20px;align-self:start;position:sticky;top:20px;}
.abt-filter-section{border-bottom:0.5px solid var(--abt-border);padding:12px 0;}
.abt-filter-section:first-of-type{padding-top:0;}
.abt-filter-section:last-of-type{border-bottom:none;}
.abt-filter-section summary{
  font-size:11px;text-transform:uppercase;letter-spacing:0.05em;color:var(--abt-text-secondary);
  font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
}
.abt-filter-section summary::-webkit-details-marker{display:none;}
.abt-filter-section summary::after{content:'+';font-size:14px;color:var(--abt-teal);font-weight:700;}
.abt-filter-section[open] summary::after{content:'−';}
.abt-filter-section[open] summary{margin-bottom:10px;}

.abt-filter-group label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--abt-text);margin-bottom:7px;cursor:pointer;}
.abt-filter-group input[type=checkbox], .abt-filter-group input[type=radio]{accent-color:var(--abt-teal);width:15px;height:15px;cursor:pointer;}

.abt-range-row{display:flex;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--abt-teal);margin-top:6px;}
.abt-comparateur input[type=range]{width:100%;accent-color:var(--abt-teal);}

.abt-reset-btn{
  width:100%;background:transparent;color:var(--abt-teal);border:0.5px solid var(--abt-teal);border-radius:8px;
  padding:9px;font-size:12.5px;font-weight:500;cursor:pointer;margin-top:6px;font-family:'Inter',sans-serif;
}
.abt-reset-btn:hover{background:var(--abt-tint);}

.abt-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:10px;}

.abt-call-banner{
  display:flex;align-items:center;justify-content:center;gap:14px;padding:12px 16px;margin-bottom:20px;
  background:var(--abt-tint);border-radius:10px;flex-wrap:wrap;
  position:sticky;top:0;z-index:5;
}
.abt-call-banner .abt-phone-icon{
  width:28px;height:28px;border-radius:50%;background:var(--abt-card);color:var(--abt-teal);display:flex;
  align-items:center;justify-content:center;flex-shrink:0;font-size:13px;
}
.abt-call-banner a{color:var(--abt-ink);text-decoration:none;font-weight:600;font-family:'IBM Plex Mono',monospace;font-size:14px;}
.abt-call-banner a:hover{color:var(--abt-teal);}
.abt-call-banner .abt-call-sub{font-size:12px;color:var(--abt-text-secondary);}
.abt-call-banner .abt-callback-shortcode{margin-left:6px;}
.abt-tags{display:flex;gap:8px;flex-wrap:wrap;}
.abt-tag{background:var(--abt-tint);color:var(--abt-ink);font-size:11.5px;padding:5px 10px;border-radius:20px;display:flex;align-items:center;gap:6px;}
.abt-tag button{background:none;border:none;color:var(--abt-ink);cursor:pointer;font-size:12px;padding:0;line-height:1;}
.abt-right-controls{display:flex;align-items:center;gap:12px;}
.abt-count{font-size:12.5px;color:var(--abt-text-secondary);}
.abt-updated{font-size:11.5px;color:var(--abt-text-secondary);font-style:italic;}
.abt-sort-select{font-size:12.5px;color:var(--abt-ink);border:0.5px solid var(--abt-border);border-radius:8px;padding:7px 10px;background:var(--abt-card);cursor:pointer;}

.abt-results{display:flex;flex-direction:column;gap:10px;}

.abt-card{background:var(--abt-card);border:0.5px solid var(--abt-border);border-radius:12px;padding:16px 18px;position:relative;}
.abt-card.abt-hidden{display:none;}
.abt-card--best{border:2px solid var(--abt-teal);}
.abt-card--pick{border:2px solid var(--abt-gold);}
.abt-badge{position:absolute;top:-10px;left:16px;font-size:10.5px;padding:3px 10px;border-radius:20px;color:#FFFFFF;background:var(--abt-teal);}
.abt-badge--pick{background:var(--abt-gold);color:var(--abt-gold-ink);}
.abt-badge--new{background:var(--abt-ink);left:auto;right:16px;}
.abt-badge-tech{
  display:inline-block;background:var(--abt-ink);color:#FFFFFF;font-size:9.5px;
  padding:2px 7px;border-radius:20px;margin-left:8px;vertical-align:middle;font-weight:600;
}

.abt-card-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.abt-op-logo{
  width:56px;height:56px;border-radius:10px;background:var(--abt-tint);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  font-family:'Source Serif 4',serif;font-weight:700;font-size:17px;color:var(--abt-ink);
}
.abt-op-logo img{width:100%;height:100%;object-fit:contain;}
.abt-operator-block{flex:1;min-width:180px;}
.abt-operator{font-family:'Source Serif 4',serif;font-size:16px;color:var(--abt-ink);margin:0;}
.abt-rating{font-size:11px;color:var(--abt-gold);margin:2px 0 0;}

.abt-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.abt-chip{
  display:inline-block;background:var(--abt-tint);color:var(--abt-ink);font-size:12px;font-weight:600;
  padding:4px 10px;border-radius:20px;white-space:nowrap;
}
.abt-chip-speed{color:var(--abt-speed-red);background:#FBEAEA;}

.abt-price-cta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;}

.abt-data-hero{
  display:flex;align-items:baseline;gap:3px;flex:1;justify-content:center;
  font-family:'IBM Plex Mono',monospace;color:var(--abt-ink);
}
.abt-data-num{font-size:34px;font-weight:700;line-height:1;}
.abt-data-unit{font-size:15px;font-weight:600;color:var(--abt-text-secondary);}
.abt-data-hero-speed .abt-data-num, .abt-data-hero-speed .abt-data-unit{color:var(--abt-speed-red);}
.abt-price{font-family:'IBM Plex Mono',monospace;font-size:26px;font-weight:600;color:var(--abt-teal);margin:0;line-height:1;}
.abt-unit{font-size:12px;font-weight:500;color:var(--abt-text-secondary);}
.abt-install-fee{font-size:10.5px;color:var(--abt-text-secondary);margin:0;}

.abt-cta{
  display:inline-block;background:var(--abt-cta);color:#000000;border:none;border-radius:8px;padding:10px 18px;
  font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;text-decoration:none;font-family:'Inter',sans-serif;
  box-shadow:0 2px 0 rgba(0,0,0,0.12);
}
.abt-cta:hover{background:var(--abt-cta-hover);}
.abt-cta:disabled{background:var(--abt-border);color:var(--abt-text-secondary);cursor:not-allowed;box-shadow:none;}

.abt-fees-row{margin-top:10px;display:flex;gap:18px;flex-wrap:wrap;font-size:11.5px;color:var(--abt-text-secondary);}
.abt-fee-item .abt-fee-val{color:var(--abt-ink);font-weight:600;font-family:'IBM Plex Mono',monospace;}
.abt-fee-free .abt-fee-val{color:var(--abt-teal);}
.abt-fee-unknown{color:var(--abt-text-secondary);font-weight:400;font-style:italic;}

.abt-tv-row{margin-top:12px;padding-top:12px;border-top:0.5px dashed var(--abt-border);font-size:12.5px;color:var(--abt-text-secondary);}

.abt-phone-bundle{
  margin-top:12px;padding-top:12px;border-top:0.5px dashed var(--abt-border);
  font-size:12.5px;color:var(--abt-text-secondary);
}
.abt-phone-bundle .abt-phone-name{color:var(--abt-ink);font-weight:600;}
.abt-card--bundle{border:0.5px solid var(--abt-gold);}

.abt-empty{background:var(--abt-card);border:0.5px solid var(--abt-border);border-radius:12px;padding:40px;text-align:center;color:var(--abt-text-secondary);font-size:13.5px;}

/* ============ SURCHARGES MOBILE (doivent rester en dernier dans le fichier) ============ */
@media (max-width:720px){
  .abt-layout{grid-template-columns:1fr;padding:16px;gap:16px;}
  .abt-filters{position:static;}

  /* Filtres : seuls les 2 premiers critères visibles par défaut, le reste derrière "Voir plus" */
  .abt-toggle-more-filters{
    display:block;width:100%;background:var(--abt-tint);color:var(--abt-teal);border:none;border-radius:8px;
    padding:10px;font-size:12.5px;font-weight:600;cursor:pointer;margin:4px 0 10px;font-family:'Inter',sans-serif;
  }
  .abt-filter-section:nth-of-type(n+3){display:none;}
  .abt-filters.abt-filters-expanded .abt-filter-section:nth-of-type(n+3){display:block;}

  /* Bannière d'appel : centrée et lisible sur petit écran */
  .abt-call-banner{justify-content:center;text-align:center;}
  .abt-call-banner .abt-callback-shortcode{margin-left:0;width:100%;display:flex;justify-content:center;}

  /* Cartes : logo+nom+puces d'un côté, prix+bouton groupés de l'autre */
  .abt-card{padding:12px 14px;}
  .abt-card-row{gap:10px;align-items:flex-start;}
  .abt-op-logo{width:38px;height:38px;font-size:12px;}
  .abt-operator{font-size:14px;}
  .abt-chip{font-size:11px;padding:3px 8px;}
  .abt-price{font-size:20px;}
  /* Bouton "Voir l'offre" et données mises en avant */
  .abt-data-hero{order:3;flex:0 0 100%;justify-content:flex-start;margin:4px 0;}
  .abt-data-num{font-size:26px;}
  .abt-price-cta{width:100%;flex-direction:column;align-items:stretch;order:5;margin-top:6px;gap:8px;}
  .abt-price{text-align:right;}
  .abt-cta{width:100%;text-align:center;padding:10px;box-sizing:border-box;}
  .abt-fees-row{gap:8px;font-size:10.5px;margin-top:8px;}
  .abt-phone-bundle{font-size:11px;}
}
@media (min-width:721px){
  .abt-toggle-more-filters{display:none;}
}

