.efla-library,
.efla-library * { box-sizing: border-box; }

.efla-library {
  --efla-ink: #423b3c;
  --efla-muted: #776f6d;
  --efla-wine: #79445a;
  --efla-wine-dark: #593140;
  --efla-paper: #fffaf7;
  --efla-line: #dbc9c1;
  color: var(--efla-ink);
  font-family: inherit;
}

.efla-library {
  width: 100%;
  padding: clamp(34px, 5vw, 70px) clamp(18px, 4vw, 54px);
}

.efla-library__heading,
.efla-library__groups { width: min(100%, 1160px); margin-inline: auto; }
.efla-library__heading { max-width: 820px; margin-bottom: clamp(34px, 5vw, 58px); text-align: center; }
.efla-library__kicker { margin: 0 0 15px; color: var(--efla-wine); font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.efla-library__title { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(33px, 4.6vw, 58px); font-weight: 600; letter-spacing: -.045em; line-height: 1.03; }
.efla-library__intro { margin: 22px auto 0; color: var(--efla-muted); font-size: clamp(16px, 1.4vw, 19px); line-height: 1.65; }
.efla-library__intro a { color: var(--efla-wine); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .16em; }
.efla-library__intro a:hover,
.efla-library__intro a:focus-visible { color: var(--efla-wine-dark); }
.efla-library__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(30px, 5vw, 62px); min-width: 0; }
.efla-library__group { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; }
.efla-library__group h3 { margin: 0 0 18px; padding-bottom: 14px; border-bottom: 1px solid var(--efla-line); font-family: Georgia, "Times New Roman", serif; font-size: clamp(25px, 2.5vw, 34px); font-weight: 600; }
.efla-library__list { display: grid; gap: 12px; width: 100%; min-width: 0; max-width: 100%; }
.efla-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; width: 100%; min-width: 0; max-width: 100%; overflow: hidden; padding: 24px; border: 1px solid var(--efla-line); border-radius: 18px; color: var(--efla-ink); background: rgba(255,250,247,.68); font: inherit; text-align: left; text-decoration: none; white-space: normal !important; cursor: pointer; transition: transform .22s ease, border-color .22s ease, background .22s ease; }
.efla-card:hover,
.efla-card:focus-visible { transform: translateY(-3px); border-color: var(--efla-wine); background: var(--efla-paper); outline: none; }
.efla-card .efla-card__title { display: block; width: 100%; min-width: 0; max-width: 100%; overflow: hidden; font-family: Georgia, "Times New Roman", serif; font-size: clamp(19px, 1.65vw, 24px); font-weight: 600; line-height: 1.25; white-space: normal !important; overflow-wrap: anywhere !important; word-break: break-word !important; hyphens: auto; }
.efla-card__action { color: var(--efla-wine); font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

@media (max-width: 800px) {
  .efla-library__groups { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .efla-card { transition: none; }
}
