/*
  EV Memo Repair
  修理事例の公開ページ用。配色や余白は、サイトのスキン（skin-evmemo）に合わせる。
  ホームの修理事例の枠だけは、スキン側の style.css に置いている。

  プラグインの出力はすべて .evmemo-repair で包み、その配下だけに適用する。
  テーマの .article p などの指定より優先させるためでもある。
*/
.evmemo-repair {
  --repair-blue: var(--evmemo-blue, #096eea);
  --repair-blue-dark: var(--evmemo-blue-dark, #064bb7);
  --repair-yellow: var(--evmemo-yellow, #ffd83e);
  --repair-ink: #10213d;
  --repair-text: #40516b;
  --repair-muted: #66748a;
  --repair-line: #dfe9f5;
  --repair-sky: #f4f9ff;
  --repair-danger: #c73542;
  color: var(--repair-ink);
}

/* ボタン ------------------------------------------------------------- */
.evmemo-repair .evmemo-repair-button,
.evmemo-repair a.evmemo-repair-button {
  align-items: center;
  background: var(--repair-blue);
  border: 1px solid var(--repair-blue);
  border-radius: 6px;
  box-shadow: 0 8px 18px rgba(9, 110, 234, 0.18);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-size: 14px;
  font-weight: 900;
  justify-content: center;
  line-height: 1.3;
  min-height: 46px;
  padding: 0 22px;
  text-decoration: none;
  transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.evmemo-repair .evmemo-repair-button:hover,
.evmemo-repair .evmemo-repair-button:focus,
.evmemo-repair a.evmemo-repair-button:hover {
  background: var(--repair-blue-dark);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}

.evmemo-repair .evmemo-repair-button[disabled] {
  cursor: progress;
  opacity: 0.65;
  transform: none;
}

.evmemo-repair .evmemo-repair-button--outline,
.evmemo-repair a.evmemo-repair-button--outline {
  background: #fff;
  box-shadow: none;
  color: var(--repair-blue);
}

.evmemo-repair .evmemo-repair-button--outline:hover,
.evmemo-repair .evmemo-repair-button--outline:focus,
.evmemo-repair a.evmemo-repair-button--outline:hover {
  background: var(--repair-sky);
  color: var(--repair-blue-dark);
}

.evmemo-repair .evmemo-repair-button--small {
  box-shadow: none;
  font-size: 13px;
  min-height: 38px;
  padding: 0 16px;
}

/* 注意書き・エラー ----------------------------------------------------- */
.evmemo-repair .evmemo-repair-notice,
.evmemo-repair .evmemo-repair-disclaimer {
  background: var(--repair-sky, #f4f9ff);
  border: 1px solid var(--repair-line, #dfe9f5);
  border-radius: 10px;
  color: var(--repair-text, #40516b);
  font-size: 13px;
  line-height: 1.8;
  padding: 16px 18px;
}

.evmemo-repair .evmemo-repair-notice p,
.evmemo-repair .evmemo-repair-disclaimer p {
  margin: 0;
}

.evmemo-repair .evmemo-repair-notice p + p,
.evmemo-repair .evmemo-repair-disclaimer p + p {
  margin-top: 8px;
}

.evmemo-repair .evmemo-repair-errors {
  background: #fff4f5;
  border: 1px solid #edb6bb;
  border-radius: 10px;
  color: #912731;
  font-size: 13px;
  margin-top: 18px;
  padding: 14px 18px;
  /* 固定ヘッダーの下に隠れないようにする。 */
  scroll-margin-top: 110px;
}

.evmemo-repair .evmemo-repair-errors p {
  margin: 0 0 6px;
}

.evmemo-repair .evmemo-repair-errors ul {
  margin: 0;
  padding-left: 20px;
}

.evmemo-repair .evmemo-repair-errors a {
  color: inherit;
}

/* 投稿フォーム --------------------------------------------------------- */
.evmemo-repair .evmemo-repair-form {
  margin-top: 26px;
}

.evmemo-repair .evmemo-repair-hp {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  width: 1px;
}

.evmemo-repair .evmemo-repair-fieldset {
  border: 0;
  border-bottom: 1px solid var(--repair-line);
  margin: 0 0 24px;
  min-width: 0;
  padding: 0 0 24px;
}

.evmemo-repair .evmemo-repair-fieldset > legend {
  align-items: center;
  color: var(--repair-ink);
  display: flex;
  font-size: 17px;
  font-weight: 900;
  gap: 10px;
  line-height: 1.4;
  margin-bottom: 16px;
  padding: 0;
}

.evmemo-repair .evmemo-repair-fieldset > legend::before {
  background: var(--repair-blue);
  border-radius: 999px;
  content: "";
  display: block;
  height: 20px;
  width: 5px;
}

.evmemo-repair .evmemo-repair-grid {
  display: grid;
  gap: 16px 20px;
}

.evmemo-repair .evmemo-repair-grid + .evmemo-repair-grid,
.evmemo-repair .evmemo-repair-grid + .evmemo-repair-field,
.evmemo-repair .evmemo-repair-field + .evmemo-repair-grid,
.evmemo-repair .evmemo-repair-fieldset > .evmemo-repair-field + .evmemo-repair-field {
  margin-top: 16px;
}

.evmemo-repair .evmemo-repair-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.evmemo-repair .evmemo-repair-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.evmemo-repair .evmemo-repair-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.evmemo-repair .evmemo-repair-field {
  min-width: 0;
}

.evmemo-repair .evmemo-repair-field > label,
.evmemo-repair .evmemo-repair-label {
  color: var(--repair-ink);
  display: block;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
  margin-bottom: 6px;
}

.evmemo-repair .evmemo-repair-required,
.evmemo-repair .evmemo-repair-optional {
  border-radius: 4px;
  display: inline-block;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  margin-left: 4px;
  padding: 3px 5px;
  vertical-align: 1px;
}

.evmemo-repair .evmemo-repair-required {
  background: var(--repair-blue);
  color: #fff;
}

.evmemo-repair .evmemo-repair-optional {
  background: #e8eef5;
  color: var(--repair-muted);
}

.evmemo-repair .evmemo-repair-form input[type="text"],
.evmemo-repair .evmemo-repair-form input[type="email"],
.evmemo-repair .evmemo-repair-form input[type="url"],
.evmemo-repair .evmemo-repair-form input[type="number"],
.evmemo-repair .evmemo-repair-form input[type="month"],
.evmemo-repair .evmemo-repair-form input[type="file"],
.evmemo-repair .evmemo-repair-form select,
.evmemo-repair .evmemo-repair-form textarea,
.evmemo-repair .evmemo-repair-search-form input[type="number"],
.evmemo-repair .evmemo-repair-search-form input[type="search"],
.evmemo-repair .evmemo-repair-search-form select,
.evmemo-repair .evmemo-repair-toolbar select {
  background: #fff;
  border: 1px solid #bed0e3;
  border-radius: 8px;
  box-sizing: border-box;
  color: var(--repair-ink);
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
  max-width: 100%;
  min-height: 46px;
  padding: 9px 12px;
  width: 100%;
}

.evmemo-repair .evmemo-repair-form textarea {
  min-height: 170px;
  resize: vertical;
}

.evmemo-repair .evmemo-repair-form input[type="file"] {
  border-style: dashed;
  font-size: 14px;
}

.evmemo-repair .evmemo-repair-form input:focus,
.evmemo-repair .evmemo-repair-form select:focus,
.evmemo-repair .evmemo-repair-form textarea:focus,
.evmemo-repair .evmemo-repair-search-form input:focus,
.evmemo-repair .evmemo-repair-search-form select:focus,
.evmemo-repair .evmemo-repair-toolbar select:focus {
  border-color: var(--repair-blue);
  box-shadow: 0 0 0 3px rgba(9, 110, 234, 0.16);
  outline: none;
}

.evmemo-repair .evmemo-repair-field.has-error input,
.evmemo-repair .evmemo-repair-field.has-error select,
.evmemo-repair .evmemo-repair-field.has-error textarea {
  border-color: var(--repair-danger);
}

.evmemo-repair .evmemo-repair-unit {
  display: block;
  position: relative;
}

.evmemo-repair .evmemo-repair-unit input[type="number"] {
  padding-right: 44px;
}

.evmemo-repair .evmemo-repair-unit i {
  color: var(--repair-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  pointer-events: none;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
}

.evmemo-repair .evmemo-repair-help,
.evmemo-repair .evmemo-repair-note {
  color: var(--repair-muted);
  font-size: 12px;
  line-height: 1.7;
  margin: 6px 0 0;
}

.evmemo-repair .evmemo-repair-field-error {
  color: var(--repair-danger);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.6;
  margin: 6px 0 0;
}

.evmemo-repair .evmemo-repair-field-error:empty {
  display: none;
}

.evmemo-repair .evmemo-repair-check {
  align-items: flex-start;
  cursor: pointer;
  display: flex;
  font-size: 14px;
  font-weight: 700;
  gap: 9px;
  line-height: 1.6;
  margin: 12px 0 0;
}

.evmemo-repair .evmemo-repair-check[hidden] {
  display: none;
}

.evmemo-repair .evmemo-repair-check input {
  flex: 0 0 auto;
  height: 18px;
  margin: 3px 0 0;
  width: 18px;
}

.evmemo-repair .evmemo-repair-image-list {
  color: var(--repair-text);
  font-size: 13px;
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}

.evmemo-repair .evmemo-repair-image-list:empty {
  display: none;
}

.evmemo-repair .evmemo-repair-details {
  border: 1px solid var(--repair-line);
  border-radius: 10px;
  margin: 0 0 24px;
  padding: 0 18px;
}

.evmemo-repair .evmemo-repair-details > summary {
  color: var(--repair-blue);
  cursor: pointer;
  font-size: 15px;
  font-weight: 900;
  padding: 15px 0;
}

.evmemo-repair .evmemo-repair-details[open] > summary {
  border-bottom: 1px solid var(--repair-line);
  margin-bottom: 20px;
}

.evmemo-repair .evmemo-repair-details .evmemo-repair-fieldset:last-child {
  border-bottom: 0;
  margin-bottom: 0;
}

.evmemo-repair .evmemo-repair-parts {
  background: var(--repair-sky);
  border: 1px solid var(--repair-line);
  border-radius: 10px;
  padding: 14px;
}

.evmemo-repair .evmemo-repair-parts-head,
.evmemo-repair .evmemo-repair-part-row {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1.5fr) minmax(110px, 0.7fr) 56px;
}

.evmemo-repair .evmemo-repair-parts-head {
  color: var(--repair-muted);
  font-size: 11px;
  font-weight: 800;
}

.evmemo-repair .evmemo-repair-part-row {
  margin-top: 8px;
}

.evmemo-repair .evmemo-repair-part-row button,
.evmemo-repair .evmemo-repair-add-part {
  background: #fff;
  border: 1px solid #b9cee2;
  border-radius: 7px;
  color: var(--repair-blue);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  min-height: 40px;
  padding: 0 10px;
}

.evmemo-repair .evmemo-repair-add-part {
  margin-top: 12px;
}

.evmemo-repair .evmemo-repair-breakdown {
  background: var(--repair-sky);
  border-left: 4px solid var(--repair-blue);
  font-size: 13px;
  font-weight: 800;
  margin: 16px 0 0;
  padding: 10px 14px;
}

.evmemo-repair .evmemo-repair-breakdown.is-mismatch {
  background: #fff9dd;
  border-left-color: var(--repair-yellow);
}

.evmemo-repair .evmemo-repair-submit {
  text-align: center;
}

.evmemo-repair .evmemo-repair-submit .evmemo-repair-button {
  font-size: 15px;
  min-height: 54px;
  min-width: 260px;
}

.evmemo-repair .cf-turnstile {
  margin-top: 16px;
}

/* 受付完了 ------------------------------------------------------------- */
.evmemo-repair .evmemo-repair-receipt {
  border: 1px solid var(--repair-line);
  border-radius: 10px;
  box-shadow: 0 8px 22px rgba(31, 76, 129, 0.045);
  padding: 32px 24px;
  text-align: center;
}

.evmemo-repair .evmemo-repair-receipt p {
  color: var(--repair-text);
  font-size: 14px;
  margin: 12px 0 0;
}

.evmemo-repair .evmemo-repair-receipt .evmemo-repair-receipt-title {
  color: var(--repair-ink);
  font-size: 24px;
  font-weight: 900;
  margin: 0;
}

.evmemo-repair .evmemo-repair-receipt .evmemo-repair-receipt-number {
  color: var(--repair-ink);
  font-size: 16px;
  font-weight: 800;
}

.evmemo-repair .evmemo-repair-receipt-number strong {
  background: var(--repair-yellow);
  border-radius: 6px;
  font-size: 22px;
  margin-left: 6px;
  padding: 2px 12px;
}

/* 個別の修理事例 ------------------------------------------------------- */
.evmemo-repair .evmemo-repair-badge {
  background: #fff4bb;
  border-left: 3px solid var(--repair-yellow, #ffd83e);
  border-radius: 3px;
  color: #10213d;
  display: inline-block;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.4;
  padding: 3px 8px;
  white-space: nowrap;
}

.evmemo-repair .evmemo-repair-summary {
  margin: 0 0 26px;
}

.evmemo-repair .evmemo-repair-verified {
  color: var(--repair-muted);
  font-size: 12px;
  margin: 0 0 12px;
}

.evmemo-repair .evmemo-repair-facts,
.evmemo-repair .evmemo-repair-stats {
  background: var(--repair-sky);
  border: 1px solid var(--repair-line);
  border-radius: 10px;
  display: grid;
  gap: 14px 20px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  margin: 0;
  padding: 16px 18px;
}

.evmemo-repair .evmemo-repair-facts > div,
.evmemo-repair .evmemo-repair-stats > div {
  min-width: 0;
}

.evmemo-repair dl.evmemo-repair-facts dt,
.evmemo-repair dl.evmemo-repair-stats dt {
  color: var(--repair-muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.5;
}

.evmemo-repair dl.evmemo-repair-facts dd,
.evmemo-repair dl.evmemo-repair-stats dd {
  color: var(--repair-ink);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.5;
  margin: 2px 0 0;
}

.evmemo-repair dl.evmemo-repair-stats dd {
  font-size: 18px;
}

.evmemo-repair .evmemo-repair-body {
  margin-bottom: 30px;
}

.evmemo-repair .evmemo-repair-section {
  margin: 0 0 30px;
}

.evmemo-repair .evmemo-repair-heading,
.evmemo-repair h2.evmemo-repair-heading {
  align-items: center;
  background: none;
  border: 0;
  color: var(--repair-ink);
  display: flex;
  font-size: 19px;
  font-weight: 900;
  gap: 10px;
  line-height: 1.4;
  margin: 0 0 14px;
  padding: 0;
}

.evmemo-repair .evmemo-repair-heading::before,
.evmemo-repair h2.evmemo-repair-heading::before {
  background: var(--repair-blue);
  border-radius: 999px;
  content: "";
  display: block;
  height: 22px;
  position: static;
  width: 5px;
}

.evmemo-repair .evmemo-repair-heading::after,
.evmemo-repair h2.evmemo-repair-heading::after {
  content: none;
}

.evmemo-repair .evmemo-repair-cost-table,
.evmemo-repair table.evmemo-repair-cost-table {
  border: 1px solid var(--repair-line);
  border-collapse: separate;
  border-radius: 10px;
  border-spacing: 0;
  font-size: 14px;
  margin: 0;
  max-width: 560px;
  overflow: hidden;
  width: 100%;
}

.evmemo-repair .evmemo-repair-cost-table th,
.evmemo-repair .evmemo-repair-cost-table td,
.evmemo-repair .evmemo-repair-cost-table th,
.evmemo-repair .evmemo-repair-cost-table td {
  background: #fff;
  border: 0;
  border-top: 1px solid var(--repair-line);
  color: var(--repair-ink);
  font-weight: 700;
  padding: 11px 16px;
  text-align: left;
}

.evmemo-repair .evmemo-repair-cost-table tr:first-child th,
.evmemo-repair .evmemo-repair-cost-table tr:first-child td {
  border-top: 0;
}

.evmemo-repair .evmemo-repair-cost-table td {
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}

.evmemo-repair .evmemo-repair-cost-table .is-total th,
.evmemo-repair .evmemo-repair-cost-table .is-total td {
  font-size: 17px;
}

.evmemo-repair .evmemo-repair-cost-table .is-payment th,
.evmemo-repair .evmemo-repair-cost-table .is-payment td {
  background: var(--repair-sky);
  font-size: 17px;
}

.evmemo-repair .evmemo-repair-cost-table .is-divider th {
  background: #f3f8fd;
  color: var(--repair-muted);
  font-size: 12px;
  padding: 7px 16px;
}

.evmemo-repair .evmemo-repair-cost-table .is-part th {
  color: var(--repair-text);
  font-weight: 600;
}

.evmemo-repair .evmemo-repair-image-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.evmemo-repair .evmemo-repair-image-grid a {
  display: block;
}

.evmemo-repair .evmemo-repair-image-grid img {
  aspect-ratio: 4 / 3;
  border: 1px solid var(--repair-line);
  border-radius: 8px;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.evmemo-repair .evmemo-repair-provider {
  align-items: center;
  border-bottom: 1px solid var(--repair-line);
  border-top: 1px solid var(--repair-line);
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  gap: 8px 16px;
  margin: 0 0 30px;
  padding: 14px 0;
}

.evmemo-repair .evmemo-repair-provider-label {
  color: var(--repair-muted);
  font-size: 12px;
  font-weight: 800;
}

.evmemo-repair .evmemo-repair-provider a {
  font-size: 13px;
  font-weight: 800;
}

.evmemo-repair .evmemo-repair-disclaimer {
  font-size: 12px;
}

.evmemo-repair .evmemo-repair-disclaimer-actions {
  color: var(--repair-muted);
}

/* カード --------------------------------------------------------------- */
.evmemo-repair .evmemo-repair-cards {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.evmemo-repair .evmemo-repair-card,
.evmemo-repair a.evmemo-repair-card {
  background: #fff;
  border: 1px solid var(--repair-line, #dfe9f5);
  border-radius: 10px;
  box-shadow: 0 8px 22px rgba(31, 76, 129, 0.045);
  color: #10213d;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding: 15px 16px 16px;
  text-decoration: none;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.evmemo-repair .evmemo-repair-card:hover,
.evmemo-repair .evmemo-repair-card:focus,
.evmemo-repair a.evmemo-repair-card:hover {
  border-color: #bad7f8;
  box-shadow: 0 13px 30px rgba(31, 76, 129, 0.11);
  color: #10213d;
  text-decoration: none;
  transform: translateY(-3px);
}

.evmemo-repair .evmemo-repair-card-head {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  min-height: 22px;
}

.evmemo-repair .evmemo-repair-card-category {
  background: #eaf5ff;
  border-radius: 999px;
  color: var(--repair-blue-dark, #064bb7);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.4;
  padding: 3px 10px;
}

.evmemo-repair .evmemo-repair-card-title {
  font-size: 15px;
  font-weight: 900;
  line-height: 1.55;
}

.evmemo-repair .evmemo-repair-card-facts {
  border-top: 1px solid var(--repair-line, #dfe9f5);
  display: grid;
  gap: 8px 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: auto;
  padding-top: 10px;
}

.evmemo-repair .evmemo-repair-card-fact {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.evmemo-repair .evmemo-repair-card-fact small {
  color: #66748a;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.5;
}

.evmemo-repair .evmemo-repair-card-fact b {
  font-size: 14px;
  font-weight: 900;
  line-height: 1.5;
}

.evmemo-repair .evmemo-repair-card-fact.is-payment b {
  color: var(--repair-blue-dark, #064bb7);
}

/* 一覧・絞り込み ------------------------------------------------------- */
.evmemo-repair .evmemo-repair-archive,
.evmemo-repair .evmemo-repair-results {
  display: grid;
  gap: 18px;
}

.evmemo-repair .evmemo-repair-stats-wrap p.evmemo-repair-note {
  margin: 8px 0 0;
}

.evmemo-repair .evmemo-repair-toolbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: 8px 10px;
}

.evmemo-repair .evmemo-repair-toolbar label {
  font-weight: 800;
}

.evmemo-repair .evmemo-repair-toolbar select {
  font-size: 14px;
  min-height: 38px;
  padding: 5px 10px;
  width: auto;
}

.evmemo-repair .evmemo-repair-toolbar-link {
  font-weight: 800;
  margin-left: auto;
}

.evmemo-repair .evmemo-repair-search-form {
  background: var(--repair-sky);
  border: 1px solid var(--repair-line);
  border-radius: 10px;
  margin-bottom: 26px;
  padding: 18px;
}

.evmemo-repair .evmemo-repair-range {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.evmemo-repair .evmemo-repair-field--check {
  align-self: end;
  padding-bottom: 10px;
}

.evmemo-repair .evmemo-repair-search-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: 12px 18px;
  margin-top: 18px;
}

.evmemo-repair .evmemo-repair-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
}

.evmemo-repair .evmemo-repair-pagination .page-numbers {
  border: 1px solid var(--repair-line);
  border-radius: 6px;
  color: var(--repair-blue);
  font-size: 14px;
  font-weight: 800;
  min-width: 40px;
  padding: 7px 10px;
  text-align: center;
  text-decoration: none;
}

.evmemo-repair .evmemo-repair-pagination .page-numbers.current {
  background: var(--repair-blue);
  border-color: var(--repair-blue);
  color: #fff;
}

.evmemo-repair .evmemo-repair-empty {
  background: var(--repair-sky);
  border: 1px dashed #bed0e3;
  border-radius: 10px;
  padding: 26px 18px;
  text-align: center;
}

.evmemo-repair .evmemo-repair-empty p {
  color: var(--repair-text);
  font-size: 14px;
  margin: 0;
}

.evmemo-repair .evmemo-repair-empty p + p {
  margin-top: 14px;
}

/* 修理費データベースのトップ ------------------------------------------- */
.evmemo-repair .evmemo-repair-summary-block {
  margin: 0 0 30px;
}

.evmemo-repair .evmemo-repair-summary-block .evmemo-repair-total {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 18px;
}

.evmemo-repair .evmemo-repair-total strong {
  background: linear-gradient(transparent 62%, var(--repair-yellow) 62%);
  font-size: 22px;
  font-weight: 900;
}

.evmemo-repair .evmemo-repair-summary-block .evmemo-repair-subheading {
  color: var(--repair-ink);
  font-size: 14px;
  font-weight: 900;
  margin: 18px 0 8px;
}

.evmemo-repair .evmemo-repair-term-list,
.evmemo-repair ul.evmemo-repair-term-list {
  display: grid;
  gap: 8px 10px;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.evmemo-repair .evmemo-repair-term-list li {
  display: flex;
  margin: 0;
  padding: 0;
}

.evmemo-repair .evmemo-repair-term-list a {
  align-items: center;
  background: #fff;
  border: 1px solid #c7d9eb;
  border-radius: 7px;
  box-sizing: border-box;
  color: var(--repair-ink);
  display: flex;
  flex: 1 1 auto;
  font-size: 13px;
  font-weight: 800;
  gap: 10px;
  justify-content: space-between;
  min-height: 40px;
  padding: 6px 12px;
  text-decoration: none;
}

.evmemo-repair .evmemo-repair-term-list a:hover,
.evmemo-repair .evmemo-repair-term-list a:focus {
  background: var(--repair-sky);
  border-color: var(--repair-blue);
  color: var(--repair-blue);
}

.evmemo-repair .evmemo-repair-term-list strong {
  color: var(--repair-blue);
  font-size: 11px;
  white-space: nowrap;
}

.evmemo-repair .evmemo-repair-summary-block .evmemo-repair-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 22px 0 0;
}

.evmemo-repair .evmemo-repair-stats-block {
  margin: 0 0 24px;
}

.evmemo-repair .evmemo-repair-stats-block .evmemo-repair-stats-link {
  font-size: 13px;
  font-weight: 800;
  margin: 8px 0 0;
  text-align: right;
}

@media screen and (max-width: 834px) {
  .evmemo-repair .evmemo-repair-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .evmemo-repair .evmemo-repair-toolbar-link {
    margin-left: 0;
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .evmemo-repair .evmemo-repair-grid--2,
  .evmemo-repair .evmemo-repair-grid--3,
  .evmemo-repair .evmemo-repair-grid--4,
  .evmemo-repair .evmemo-repair-cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .evmemo-repair .evmemo-repair-image-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .evmemo-repair .evmemo-repair-parts-head,
  .evmemo-repair .evmemo-repair-part-row {
    gap: 6px;
    grid-template-columns: minmax(0, 1fr) 96px 50px;
  }

  .evmemo-repair .evmemo-repair-details {
    padding: 0 14px;
  }

  .evmemo-repair .evmemo-repair-submit .evmemo-repair-button {
    min-width: 0;
    width: 100%;
  }

  .evmemo-repair .evmemo-repair-receipt {
    padding: 26px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .evmemo-repair .evmemo-repair-button,
  .evmemo-repair .evmemo-repair-card {
    transition: none;
  }
}
