.ed-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;position:relative;background:none}.ed-card__thumb{position:relative;width:100%;aspect-ratio:1 / 1;margin-bottom:var(--space-3)}.ed-card__image-link{position:absolute;inset:0;display:block;overflow:hidden;border-radius:0}.ed-card__image{width:100%;height:100%;object-fit:contain;transition:transform .4s ease}.ed-card__image-link:hover .ed-card__image{transform:scale(1.03)}.ed-card__hover-img{position:absolute;inset:0;opacity:0;transition:opacity var(--transition-base);pointer-events:none}.ed-card__image-link:hover .ed-card__hover-img{opacity:1}.ed-card__save{position:absolute;top:var(--space-2);right:var(--space-2);z-index:var(--z-local-raised);width:var(--space-6);height:var(--space-6);display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:var(--text-primary);cursor:pointer;transition:color var(--transition-fast)}.ed-card__save:hover{color:var(--color-accent)}.ed-card__save:focus-visible{outline:2px solid var(--color-interactive);outline-offset:2px}.ed-card__title{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-bold);line-height:1.08;letter-spacing:normal;margin:0;color:var(--text-primary)}.ed-card__title a{color:inherit;text-decoration:none}.ed-card__title a:hover{text-decoration:underline;text-underline-offset:2px}.ed-card__title a:focus-visible{outline:2px solid var(--color-interactive);outline-offset:2px}.ed-card__stock{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:1.5;margin:var(--space-2) 0 0;color:var(--ed-card-stock)}.ed-card__stock--low{color:var(--color-warning-strong)}.ed-card__stock--out{color:var(--color-error-text)}.ed-card__lead-time{color:var(--text-secondary)}.ed-card__rating{display:flex;align-items:center;gap:var(--space-1);margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.ed-card__stars{display:inline-flex;gap:1px;color:var(--color-accent)}.ed-card__price{font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-regular);line-height:1.2;color:var(--text-primary);margin:auto 0 0;padding-top:var(--space-4);font-variant-numeric:tabular-nums}.ed-card__cta{display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--ed-card-cta-height);margin-top:var(--ed-card-price-gap);padding:0 var(--space-4);background:var(--text-primary);color:var(--bg-page);border:1px solid var(--text-primary);border-radius:0;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-medium);line-height:1;text-align:center;text-decoration:none;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast)}.ed-card__cta:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary)}.ed-card__cta:focus-visible{outline:2px solid var(--color-interactive);outline-offset:2px}.ed-card__cta:disabled{cursor:not-allowed;opacity:.55}.ed-card__cta--added{background:var(--color-primary);border-color:var(--color-primary)}@media(prefers-reduced-motion:reduce){.ed-card__image,.ed-card__hover-img{transition:none}.ed-card__image-link:hover .ed-card__image{transform:none}}
