/* Use the same .gfdseo typography and palette as services, brands, and area widgets. */
.gfdseo.gfdseo-ahri-similar {
  color:var(--gfdseo-ink);
  background:#fff;
  font-family:var(--gfdseo-body-font);
  font-size:16px;
  font-weight:400;
  line-height:1.6;
  padding-block:64px 36px;
  scroll-margin-top:80px;
}
.gfdseo-ahri-similar *, .gfdseo-ahri-similar *::before, .gfdseo-ahri-similar *::after { box-sizing:border-box; }
.gfdseo-ahri-similar [hidden] { display:none !important; }
.gfdseo-ahri-similar .gfdseo-shell { min-width:0; container:ahri-similar / inline-size; }
.gfdseo-ahri-similar button, .gfdseo-ahri-similar input { font-family:var(--gfdseo-accent-font); }
.gfdseo-ahri-similar button { cursor:pointer; text-transform:none; letter-spacing:normal; box-shadow:none; line-height:1.3; margin:0; }
.gfdseo-ahri-similar button:disabled { opacity:.38; cursor:default; }
.gfdseo-ahri-similar :is(a,button,input,[tabindex]):focus-visible { outline:3px solid var(--gfdseo-teal); outline-offset:4px; }
.gfdseo-ahri-similar-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-heading h2 {
  color:var(--gfdseo-navy);
  font-family:var(--gfdseo-heading-font);
  font-size:clamp(30px,3vw,42px);
  font-weight:800;
  line-height:1.15;
  letter-spacing:normal;
  margin:0 0 14px;
}
.gfdseo-ahri-similar .gfdseo-ahri-similar-eyebrow { color:var(--gfdseo-teal); font-family:var(--gfdseo-accent-font); font-size:13px; font-weight:700; letter-spacing:normal; text-transform:uppercase; margin:0 0 12px; }
.gfdseo-ahri-similar-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:28px 0 22px; }
.gfdseo-ahri-similar-filters { display:flex; flex-wrap:wrap; gap:8px; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-filters button { border:1px solid var(--gfdseo-line); border-radius:999px; background:var(--gfdseo-surface); color:var(--gfdseo-green); padding:10px 16px; min-height:44px; font-size:14px; font-weight:600; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-filters button[aria-pressed="true"] { border-color:var(--gfdseo-green); background:var(--gfdseo-green); color:#fff; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-filters button:is(:hover,:focus-visible) { border-color:var(--gfdseo-teal); background:var(--gfdseo-surface); color:var(--gfdseo-green); }
.gfdseo-ahri-similar .gfdseo-ahri-similar-filters button[aria-pressed="true"]:is(:hover,:focus-visible) { background:var(--gfdseo-green); color:#fff; }
.gfdseo-ahri-similar-grid { display:flex; gap:22px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding:2px 2px 18px; scrollbar-width:thin; scrollbar-color:rgba(18,53,87,.25) transparent; scroll-padding:2px; margin-top:22px; }
/* Leave one fifth of the following card visible as a native scrolling cue. */
.gfdseo-ahri-similar-card { position:relative; min-width:0; flex:0 0 calc((100% - 66px)/3.2); scroll-snap-align:start; border:1px solid var(--gfdseo-line); border-radius:8px; background:#fff; display:flex; flex-direction:column; padding:20px 20px 0; overflow-wrap:anywhere; transition:box-shadow .2s,border-color .2s; }
.gfdseo-ahri-similar-card:hover { border-color:var(--gfdseo-teal); box-shadow:0 12px 28px rgba(18,63,43,.08); }
.gfdseo-ahri-similar-card.is-selected { border-color:var(--gfdseo-teal); box-shadow:0 0 0 2px rgba(37,189,165,.18); }
.gfdseo-ahri-similar-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.gfdseo-ahri-similar-badge { font-family:var(--gfdseo-accent-font); font-size:12px; font-weight:700; color:var(--gfdseo-green); background:var(--gfdseo-surface); border:1px solid var(--gfdseo-line); padding:6px 10px; border-radius:999px; }
.gfdseo-ahri-similar-brand-row { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:84px; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-brand { margin:0; font-family:var(--gfdseo-heading-font); font-size:22px; font-weight:700; line-height:1.25; letter-spacing:normal; color:var(--gfdseo-navy); }
.gfdseo-ahri-similar .gfdseo-ahri-similar-brand-logo { display:block; width:112px; height:56px; max-width:40%; flex-shrink:0; object-fit:contain; object-position:right center; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-equipment { font-family:var(--gfdseo-accent-font); font-size:12px; letter-spacing:normal; font-weight:700; color:var(--gfdseo-muted); text-transform:uppercase; margin:0 0 8px; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-card h3 { color:var(--gfdseo-navy); font-family:var(--gfdseo-heading-font); font-size:22px; letter-spacing:normal; font-weight:700; line-height:1.25; margin:0; min-height:55px; }
.gfdseo-ahri-similar-card h3 a { color:var(--gfdseo-navy); text-decoration:none; }
.gfdseo-ahri-similar-card a:hover { color:var(--gfdseo-green); text-decoration:underline; text-underline-offset:4px; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-number { margin:8px 0 18px; color:var(--gfdseo-muted); font-size:14px; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-number a { color:var(--gfdseo-navy); text-decoration:none; font-weight:500; }
.gfdseo-ahri-similar-models { padding:14px 0; border-top:1px solid var(--gfdseo-line); border-bottom:1px solid var(--gfdseo-line); margin:0; }
.gfdseo-ahri-similar-models div + div { margin-top:10px; }
.gfdseo-ahri-similar-models dt { font-family:var(--gfdseo-accent-font); font-size:12px; color:var(--gfdseo-muted); margin-bottom:3px; }
.gfdseo-ahri-similar-models dd { font-weight:500; font-size:14px; line-height:1.5; margin:0; color:var(--gfdseo-ink); }
.gfdseo-ahri-similar-ratings { display:grid; grid-template-columns:1.3fr 1fr 1fr; margin:20px 0 8px; }
.gfdseo-ahri-similar-ratings div { padding-left:10px; border-left:1px solid var(--gfdseo-line); min-width:0; }
.gfdseo-ahri-similar-ratings div:first-child { border:0; padding:0; }
.gfdseo-ahri-similar-ratings dt { font-family:var(--gfdseo-accent-font); font-size:12px; color:var(--gfdseo-muted); margin-bottom:4px; }
.gfdseo-ahri-similar-ratings dd { margin:0; font-family:var(--gfdseo-heading-font); font-size:24px; font-weight:700; line-height:1.25; letter-spacing:normal; color:var(--gfdseo-navy); font-variant-numeric:tabular-nums; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-conditions { font-size:12px; color:var(--gfdseo-muted); line-height:1.5; margin:0 0 18px; }
.gfdseo-ahri-similar-reason { color:var(--gfdseo-ink); background:var(--gfdseo-surface); border-radius:8px; padding:12px 14px; margin:0 0 14px; font-size:14px; line-height:1.55; }
.gfdseo-ahri-similar-reason strong { font-weight:600; }
.gfdseo-ahri-similar-reason span { display:block; font-size:14px; color:var(--gfdseo-muted); margin-top:4px; }
.gfdseo-ahri-similar-differences { margin:0 0 16px; padding-left:18px; color:var(--gfdseo-ink); font-size:13px; line-height:1.6; }
.gfdseo-ahri-similar-differences li::marker { color:var(--gfdseo-teal); }
.gfdseo-ahri-similar-differences li + li { margin-top:4px; }
.gfdseo-ahri-similar-card-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--gfdseo-line); padding:10px 0 12px; margin-top:auto; }
.gfdseo-ahri-similar-card-foot label { display:flex; align-items:center; gap:8px; font-family:var(--gfdseo-accent-font); font-size:14px; cursor:pointer; color:var(--gfdseo-muted); min-height:44px; }
.gfdseo-ahri-similar-card-foot input { width:18px; height:18px; margin:0; accent-color:var(--gfdseo-green); appearance:auto; }
.gfdseo-ahri-similar-card-foot a { margin-left:auto; font-family:var(--gfdseo-accent-font); font-size:14px; text-decoration:none; font-weight:500; display:flex; gap:8px; align-items:center; color:var(--gfdseo-green); min-height:44px; }
.gfdseo-ahri-similar-card-foot svg { width:18px; height:18px; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-note { color:var(--gfdseo-muted); font-size:14px; margin:18px 0 0; line-height:1.6; }
.gfdseo-ahri-similar-empty { border:1px dashed var(--gfdseo-line); border-radius:8px; padding:30px; text-align:center; font-size:16px; }
.gfdseo-ahri-similar-compare-bar { position:sticky; bottom:18px; z-index:40; background:var(--gfdseo-green); color:#fff; border:1px solid var(--gfdseo-green); border-radius:8px; padding:16px 20px; box-shadow:0 12px 28px rgba(18,63,43,.16); display:flex; align-items:center; justify-content:space-between; gap:20px; width:min(760px,100%); margin:24px auto 0; }
.gfdseo-ahri-similar-compare-bar strong { font-family:var(--gfdseo-heading-font); font-size:16px; font-weight:700; }
.gfdseo-ahri-similar-compare-bar small { display:block; font-size:13px; color:#fff; margin-top:4px; overflow-wrap:anywhere; }
.gfdseo-ahri-similar-compare-tools { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.gfdseo-ahri-similar-compare-tools button { border:1px solid transparent; padding:10px 18px; border-radius:8px; font-size:14px; font-weight:500; min-height:44px; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-compare-tools [data-ahri-clear] { padding:5px; background:none; color:#fff; text-decoration:underline; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-compare-tools [data-ahri-compare-open] { background:var(--gfdseo-lime); color:var(--gfdseo-ink); white-space:nowrap; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-compare-tools [data-ahri-compare-open]:is(:hover,:focus-visible) { background:var(--gfdseo-teal); color:var(--gfdseo-ink); }
.gfdseo-ahri-similar .gfdseo-ahri-similar-compare-tools [data-ahri-clear]:is(:hover,:focus-visible) { background:transparent; color:#fff; }
.gfdseo-ahri-similar-compare-bar button:focus-visible { outline-color:var(--gfdseo-lime); }
.gfdseo-ahri-similar-dialog { border:1px solid var(--gfdseo-line); border-radius:10px; padding:28px; width:1040px; max-width:calc(100% - 32px); max-height:calc(100dvh - 32px); color:var(--gfdseo-ink); font-family:var(--gfdseo-body-font); font-size:16px; background:#fff; box-shadow:0 24px 64px rgba(18,63,43,.32); overflow:auto; }
.gfdseo-ahri-similar-dialog:not([open]) { display:none; }
.gfdseo-ahri-similar-dialog::backdrop { background:rgba(18,63,43,.76); backdrop-filter:blur(4px); }
.gfdseo-ahri-similar-dialog-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-dialog h2 { color:var(--gfdseo-navy); font-family:var(--gfdseo-heading-font); font-weight:700; letter-spacing:normal; margin:0 0 14px; font-size:28px; line-height:1.2; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-dialog [data-ahri-close] { background:var(--gfdseo-surface); color:var(--gfdseo-navy); border:1px solid var(--gfdseo-line); border-radius:8px; width:44px; height:44px; flex-shrink:0; font-size:26px; padding:0; }
.gfdseo-ahri-similar .gfdseo-ahri-similar-dialog [data-ahri-close]:is(:hover,:focus-visible) { border-color:var(--gfdseo-teal); background:var(--gfdseo-surface); color:var(--gfdseo-navy); }
.gfdseo-ahri-similar .gfdseo-ahri-similar-dialog-intro { color:var(--gfdseo-muted); font-size:16px; margin:0 0 20px; line-height:1.6; }
.gfdseo-ahri-similar-table { overflow:auto; overscroll-behavior-x:contain; }
.gfdseo-ahri-similar-table table { border-collapse:collapse; width:100%; font-size:14px; text-align:left; margin:0; }
.gfdseo-ahri-similar-table :is(td,th) { padding:14px 16px; border:0; border-bottom:1px solid var(--gfdseo-line); min-width:180px; vertical-align:top; max-width:260px; overflow-wrap:anywhere; }
.gfdseo-ahri-similar-table th { color:var(--gfdseo-navy); font-family:var(--gfdseo-heading-font); font-weight:700; }
.gfdseo-ahri-similar-table thead th { background:var(--gfdseo-surface); font-size:16px; }
.gfdseo-ahri-similar-table thead a { display:block; font-family:var(--gfdseo-body-font); font-size:13px; font-weight:400; margin-top:6px; color:var(--gfdseo-green); }
.gfdseo-ahri-similar-table .is-current { background:var(--gfdseo-surface); }
.gfdseo-ahri-similar .gfdseo-ahri-similar-status { font-size:14px; color:var(--gfdseo-muted); margin:12px 0 0; min-height:1.5em; }
.gfdseo-ahri-similar-sr { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@container ahri-similar (max-width:920px) { .gfdseo-ahri-similar-card { flex-basis:calc((100% - 44px)/2.2); } }
@container ahri-similar (max-width:600px) {
  .gfdseo-ahri-similar .gfdseo-ahri-similar-heading h2 { font-size:32px; }
  .gfdseo-ahri-similar-heading { gap:12px; }
  .gfdseo-ahri-similar-controls { margin:24px 0 20px; }
  .gfdseo-ahri-similar-filters { gap:6px; }
  .gfdseo-ahri-similar .gfdseo-ahri-similar-filters button { padding:10px 12px; font-size:13px; }
  .gfdseo-ahri-similar-grid { gap:16px; }
  .gfdseo-ahri-similar-card { flex-basis:87%; padding:18px 18px 0; }
  .gfdseo-ahri-similar-ratings dd { font-size:22px; }
  .gfdseo-ahri-similar-ratings dt { font-size:11px; }
  .gfdseo-ahri-similar-compare-bar { gap:12px; padding:16px; flex-wrap:wrap; bottom:8px; }
  .gfdseo-ahri-similar-compare-tools { width:100%; justify-content:flex-end; }
  .gfdseo-ahri-similar-dialog { padding:20px; }
}
@media (max-width:767px) {
  .gfdseo.gfdseo-ahri-similar { padding-block:52px 28px; }
  .gfdseo-ahri-similar .gfdseo-ahri-similar-heading h2 { font-size:32px; }
}
@supports not (container-type:inline-size) {
  @media (max-width:980px) { .gfdseo-ahri-similar-card { flex-basis:calc((100% - 44px)/2.2); } }
  @media (max-width:640px) { .gfdseo-ahri-similar-card { flex-basis:87%; } .gfdseo-ahri-similar-controls { flex-wrap:wrap; } .gfdseo-ahri-similar-compare-bar { flex-wrap:wrap; } }
}
@media (prefers-reduced-motion:reduce) { .gfdseo-ahri-similar-card { transition:none; } }
