/* Babylonia private lessons | Drupal Asset Injector or theme stylesheet */
.babylonia-private {
  --bpl-navy: #1a3a5c;
  --bpl-gold: #d4a544;
  --bpl-ink: #273a4d;
  --bpl-line: #dce4ed;
  container: babylonia-private / inline-size;
  color: var(--bpl-ink);
  font-size: 1rem;
  line-height: 1.6;
}

.babylonia-private .babylonia-private__hero {
  display: grid;
  gap: 1.25rem;
  padding: clamp(1rem, 4cqi, 2.75rem);
  border-radius: .75rem;
  background: var(--bpl-navy);
  color: #fff;
}

.babylonia-private .babylonia-private__intro h2 {
  margin: .35rem 0 .85rem;
  color: #fff;
  font-size: clamp(1.7rem, 4.1cqi, 3.15rem);
  line-height: 1.13;
  text-wrap: balance;
}

.babylonia-private .babylonia-private__intro p {
  margin: .65rem 0 0;
  color: inherit;
}

.babylonia-private .babylonia-private__intro .babylonia-private__eyebrow {
  margin: 0;
  color: #f3ce7b;
  font-size: .85rem;
  font-weight: 750;
  letter-spacing: .045em;
}

.babylonia-private .babylonia-private__facts {
  align-self: center;
  padding-inline-start: 1rem;
  border-inline-start: 2px solid var(--bpl-gold);
}

.babylonia-private .babylonia-private__facts p {
  display: grid;
  gap: .12rem;
  margin: 0;
  padding: .55rem 0;
  color: #fff;
}

.babylonia-private .babylonia-private__facts p + p {
  border-top: 1px solid #ffffff36;
}

.babylonia-private .babylonia-private__facts strong {
  color: #f3ce7b;
}

.babylonia-private .babylonia-private__benefits {
  grid-column: 1 / -1;
  padding-top: .9rem;
  border-top: 1px solid #ffffff36;
}

.babylonia-private .babylonia-private__benefits h3 {
  margin: 0 0 .7rem;
  color: #fff;
  font-size: 1.05rem;
}

.babylonia-private .babylonia-private__benefits-grid {
  display: grid;
  gap: .65rem;
}

.babylonia-private .babylonia-private__benefits-grid > div {
  min-width: 0;
  padding: .7rem .85rem;
  border-radius: .35rem;
  background: #ffffff0e;
}

.babylonia-private .babylonia-private__benefits-grid strong {
  color: #f3ce7b;
}

.babylonia-private .babylonia-private__benefits-grid p {
  margin: .2rem 0 .4rem;
  color: #edf3f8;
  font-size: .92rem;
}

.babylonia-private .babylonia-private__benefits-grid a,
.babylonia-private .babylonia-private__benefits-grid span {
  color: #fff;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.babylonia-private .babylonia-private__benefits-grid a {
  text-decoration: underline;
  text-underline-offset: .2em;
}

.babylonia-private .babylonia-private__benefits-grid a:focus-visible {
  outline: 2px solid #f3ce7b;
  outline-offset: 3px;
}

@container babylonia-private (min-width: 44rem) {
  .babylonia-private .babylonia-private__benefits-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.babylonia-private .babylonia-private__catalogue {
  margin-top: clamp(1.2rem, 3cqi, 2rem);
}

.babylonia-private .babylonia-private__catalogue > h2 {
  margin: 0 0 .3rem;
  color: var(--bpl-navy);
  font-size: clamp(1.35rem, 2.6cqi, 2rem);
  line-height: 1.25;
}

.babylonia-private .babylonia-private__catalogue > p {
  margin: 0 0 .9rem;
}

.babylonia-private .babylonia-private__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .8rem;
}

.babylonia-private .babylonia-private__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(.95rem, 2cqi, 1.4rem);
  border-radius: .7rem;
  background: linear-gradient(150deg, var(--bpl-card-start, #e0effc), var(--bpl-card-end, #f2f8fe));
  color: #273a4d;
}

/* English */
.babylonia-private .babylonia-private__card:nth-child(1) {
  --bpl-card-start: #e0effc;
  --bpl-card-end: #f2f8fe;
  --bpl-card-accent: #205680;
}

/* French */
.babylonia-private .babylonia-private__card:nth-child(2) {
  --bpl-card-start: #eee4fb;
  --bpl-card-end: #f8f3fd;
  --bpl-card-accent: #63458b;
}

/* German */
.babylonia-private .babylonia-private__card:nth-child(3) {
  --bpl-card-start: #e5efe6;
  --bpl-card-end: #f4f9f3;
  --bpl-card-accent: #345f43;
}

/* Italian */
.babylonia-private .babylonia-private__card:nth-child(4) {
  --bpl-card-start: #dcf3e8;
  --bpl-card-end: #effaf4;
  --bpl-card-accent: #246449;
}

/* Spanish */
.babylonia-private .babylonia-private__card:nth-child(5) {
  --bpl-card-start: #ffe8d9;
  --bpl-card-end: #fff5ec;
  --bpl-card-accent: #8b4226;
}

/* Turkish */
.babylonia-private .babylonia-private__card:nth-child(6) {
  --bpl-card-start: #fbe2e8;
  --bpl-card-end: #fff2f5;
  --bpl-card-accent: #8c3550;
}

/* Russian */
.babylonia-private .babylonia-private__card:nth-child(7) {
  --bpl-card-start: #e5e9fc;
  --bpl-card-end: #f3f5ff;
  --bpl-card-accent: #414b8c;
}

/* Arabic */
.babylonia-private .babylonia-private__card:nth-child(8) {
  --bpl-card-start: #fbefcc;
  --bpl-card-end: #fffaea;
  --bpl-card-accent: #72551b;
}

/* Persian */
.babylonia-private .babylonia-private__card:nth-child(9) {
  --bpl-card-start: #f3e2f4;
  --bpl-card-end: #fcf1fc;
  --bpl-card-accent: #7b3e7d;
}

/* Bulgarian */
.babylonia-private .babylonia-private__card:nth-child(10) {
  --bpl-card-start: #edf0d6;
  --bpl-card-end: #f8faed;
  --bpl-card-accent: #536323;
}

/* Serbian */
.babylonia-private .babylonia-private__card:nth-child(11) {
  --bpl-card-start: #f1e3dc;
  --bpl-card-end: #faf4ef;
  --bpl-card-accent: #73503b;
}

/* Greek */
.babylonia-private .babylonia-private__card:nth-child(12) {
  --bpl-card-start: #daf1f5;
  --bpl-card-end: #effbfc;
  --bpl-card-accent: #216675;
}

.babylonia-private .babylonia-private__card h3 {
  margin: 0 0 .55rem;
  color: #273a4d;
  line-height: 1.2;
}

.babylonia-private .babylonia-private__prefix {
  display: block;
  margin-bottom: .2rem;
  color: #3c536b;
  font-size: .95rem;
  font-weight: 650;
}

.babylonia-private .babylonia-private__language {
  display: block;
  color: var(--bpl-card-accent, #205680);
  font-size: clamp(1.32rem, 2.5cqi, 1.85rem);
  font-weight: 750;
  overflow-wrap: anywhere;
}

.babylonia-private .babylonia-private__card p {
  margin: 0 0 .75rem;
  color: #273a4d;
}

.babylonia-private .babylonia-private__card .babylonia-private__code {
  align-self: flex-start;
  margin: 0 0 .7rem;
  padding: .14rem .5rem;
  border-radius: .25rem;
  background: #ffffff99;
  color: var(--bpl-card-accent, #205680);
  font-size: .82rem;
  font-weight: 750;
  letter-spacing: .08em;
}

.babylonia-private .babylonia-private__details {
  margin: auto 0 .8rem;
  font-size: .9rem;
  line-height: 1.4;
}

.babylonia-private .babylonia-private__details > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .15rem .6rem;
  padding: .35rem 0;
  border-top: 1px solid #273a4d26;
}

.babylonia-private .babylonia-private__details dt {
  color: #273a4d;
  font-weight: 700;
}

.babylonia-private .babylonia-private__details dd {
  margin: 0;
  color: #3c536b;
}

.babylonia-private a.babylonia-private__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .55rem;
  min-height: 44px;
  padding: .4rem .75rem;
  border-radius: .35rem;
  background: #f2c66b;
  color: #142c3d;
  font-weight: 750;
  line-height: 1.3;
  text-decoration: none;
}

.babylonia-private a.babylonia-private__link:hover {
  background: #ffdc90;
  text-decoration: underline;
}

.babylonia-private a.babylonia-private__link:focus-visible {
  outline: 2px solid #1a3a5c;
  outline-offset: 3px;
}

@container babylonia-private (min-width: 35rem) {
  .babylonia-private .babylonia-private__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@container babylonia-private (min-width: 52rem) {
  .babylonia-private .babylonia-private__hero {
    grid-template-columns: minmax(0, 2fr) minmax(13rem, 1fr);
    gap: clamp(1.5rem, 5cqi, 3.5rem);
  }

  .babylonia-private .babylonia-private__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
