/* Shared, equally weighted specification cards for the product comparisons. */
.comparison-specs { margin: 3.2rem 0; min-width: 0; }
.comparison-specs .comparison-specs__heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.8rem 1.6rem; margin-bottom: 1.6rem; }
.comparison-specs .comparison-specs__label, .comparison-specs .comparison-specs__date { margin: 0; font-size: 1.2rem; line-height: 1.4; }
.comparison-specs .comparison-specs__label { font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.comparison-specs .comparison-specs__date { color: #63636b; }
.comparison-specs .comparison-specs__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem; }
.comparison-specs .comparison-specs__card { display: flex; flex-direction: column; min-width: 0; padding: 2.4rem; border: 1px solid var(--alabaster_300, #cccfc4); border-radius: 1.6rem; background: var(--alabaster_100, #f4f5ef); }
.comparison-specs .comparison-specs__card h3 { margin: 0 0 2rem; font-size: 2.2rem; line-height: 1.2; }
.comparison-specs .comparison-specs__card dl { display: grid; gap: 1.8rem; margin: 0 0 2.4rem; }
.comparison-specs .comparison-specs__card dt { margin-bottom: 0.5rem; color: #63636b; font-size: 1.2rem; line-height: 1.4; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; }
.comparison-specs .comparison-specs__card dd { margin: 0; font-size: 1.5rem; line-height: 1.55; overflow-wrap: anywhere; }
.comparison-specs .comparison-specs__source { margin-top: auto; font-size: 1.3rem; line-height: 1.5; text-decoration: underline; text-underline-offset: 0.3em; }
.comparison-specs .comparison-specs__process { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.comparison-specs .comparison-specs__process > li { position: relative; min-width: 0; margin: 0; padding: 1.4rem 1.2rem; border: 1px solid var(--alabaster_300, #cccfc4); border-radius: 1rem; }
.comparison-specs .comparison-specs__process > li + li::before { content: "→"; position: absolute; top: 1.4rem; left: -1.1rem; color: #63636b; font-size: 1.4rem; line-height: 1.4; }
.comparison-specs .comparison-specs__step { display: block; font-size: 1.4rem; line-height: 1.4; font-weight: 600; }
.comparison-specs .comparison-specs__step-note { display: block; margin-top: 0.5rem; color: #63636b; font-size: 1.2rem; line-height: 1.45; }
.comparison-specs .comparison-specs__details { margin-top: 2rem; padding: 1.6rem 0; border-top: 1px solid var(--alabaster_300, #cccfc4); border-bottom: 1px solid var(--alabaster_300, #cccfc4); }
.comparison-specs .comparison-specs__details > summary { display: list-item; list-style-position: inside; cursor: pointer; font-size: 1.4rem; line-height: 1.5; font-weight: 600; }
.comparison-specs .comparison-specs__details .compare-table_wrap { margin: 1.6rem 0 0; max-width: 100%; }
.comparison-specs .comparison-specs__details caption { padding: 1.2rem; font-size: 1.3rem; line-height: 1.4; text-align: left; color: #63636b; }
.comparison-specs .comparison-specs__source:focus-visible, .comparison-specs .comparison-specs__details > summary:focus-visible { outline: 2px solid #6f52ed; outline-offset: 0.4rem; border-radius: 0.2rem; }
@media screen and (max-width: 767px) {
  .comparison-specs .comparison-specs__cards { grid-template-columns: minmax(0, 1fr); }
  .comparison-specs .comparison-specs__card { padding: 2rem; }
  .comparison-specs .comparison-specs__process { gap: 0.8rem; }
  .comparison-specs .comparison-specs__process > li { padding: 1.2rem 0.8rem; }
  .comparison-specs .comparison-specs__process > li + li::before { left: -0.8rem; font-size: 1.1rem; }
}
