.s-price-other-fees {
  --other-fees-navy: var(--price-navy-deep, #0f2347);
  --other-fees-navy-soft: var(--price-navy-soft, #203a68);
  --other-fees-gold: var(--price-gold, #ad8139);
  --other-fees-paper: var(--price-paper, #fbf8ef);
  --other-fees-soft-blue: var(--price-soft-blue, #eef4f7);
  --other-fees-ink: var(--price-ink, #17233d);
  --other-fees-line: var(--price-table-line, rgba(33, 55, 91, 0.17));
  padding: clamp(84px, 9vw, 138px) 0;
  color: var(--other-fees-ink);
  background:
    radial-gradient(circle at 86% 8%, rgba(238, 244, 247, 0.86), transparent 24rem),
    linear-gradient(180deg, #fffdf7 0%, var(--other-fees-paper) 100%);
}

.s-price-other-fees * { box-sizing: border-box; }

.s-price-other-fees__container {
  width: min(1160px, calc(100% - 40px));
  margin-inline: auto;
}

.s-price-other-fees__head {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
  margin-bottom: clamp(28px, 4vw, 48px);
}

.s-price-other-fees__eyebrow {
  margin: 0 0 0.72rem;
  color: var(--other-fees-gold);
  font-family: var(--price-font-sans, sans-serif);
  font-size: var(--price-fs-eyebrow, 0.78rem);
  font-weight: var(--price-fw-label, 700);
  letter-spacing: var(--price-ls-eyebrow, 0.14em);
}

.s-price-other-fees__head h2 {
  margin: 0;
  color: var(--other-fees-navy);
  font-family: var(--price-font-serif, serif);
  font-size: var(--price-fs-section-title, clamp(2rem, 4vw, 3.2rem));
  font-weight: var(--price-fw-heading, 600);
  line-height: var(--price-lh-section-title, 1.25);
  letter-spacing: var(--price-ls-display, 0.035em);
}

.s-price-other-fees__lead {
  max-width: 35rem;
  margin: 0;
  color: var(--price-text-muted, rgba(23, 35, 61, 0.74));
  font-family: var(--price-font-sans, sans-serif);
  font-size: var(--price-fs-section-lead, 1rem);
  line-height: var(--price-lh-section-lead, 1.9);
}

.s-price-other-fees__guide {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px 26px;
  align-items: center;
  padding: 20px 24px;
  border-block: 1px solid rgba(173, 129, 57, 0.46);
  background: rgba(255, 255, 255, 0.54);
}

.s-price-other-fees__guide > strong {
  color: var(--other-fees-navy);
  font-family: var(--price-font-serif, serif);
  font-size: 1.03rem;
  white-space: nowrap;
}

.s-price-other-fees__guide > p {
  margin: 0;
  color: var(--price-text-muted, rgba(23, 35, 61, 0.74));
  font-size: 0.86rem;
  line-height: 1.7;
}

.s-price-other-fees__guide-statuses {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 14px;
}

.s-price-other-fees__guide-statuses span {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  color: var(--price-text-muted, rgba(23, 35, 61, 0.74));
  font-size: 0.76rem;
  white-space: nowrap;
}

.s-price-other-fees__guide-statuses i {
  display: inline-flex;
  width: 1.55rem;
  height: 1.1rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-style: normal;
  font-weight: 700;
}

.s-price-other-fees__guide-statuses .is-none {
  border: 1px solid rgba(32, 58, 104, 0.32);
  background: #fff;
}

.s-price-other-fees__guide-statuses .is-unavailable { background: rgba(32, 58, 104, 0.14); }
.s-price-other-fees__guide-statuses .is-link { background: rgba(173, 129, 57, 0.22); }

.s-price-other-fees__index {
  margin-top: 24px;
  border: 1px solid rgba(15, 35, 71, 0.18);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 24px 70px rgba(15, 35, 71, 0.08);
}

.s-price-other-fees__columns {
  display: grid;
  grid-template-columns: minmax(176px, 0.75fr) minmax(250px, 1.55fr) minmax(180px, 0.95fr) minmax(210px, 1.12fr);
  color: #fff;
  background: linear-gradient(100deg, var(--other-fees-navy) 0%, #173967 100%);
}

.s-price-other-fees__columns span {
  display: flex;
  min-height: 60px;
  padding: 14px 18px;
  align-items: center;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  font-size: var(--price-fs-table-column-title, 1.1rem);
  font-weight: var(--price-fw-label, 700);
  letter-spacing: 0.04em;
}

.s-price-other-fees__columns span:nth-child(n + 3) {
  justify-content: center;
  text-align: center;
}

.s-price-other-fees__columns span:last-child { border-right: 0; }

.s-price-other-fees__category {
  display: grid;
  grid-template-columns: minmax(176px, 0.75fr) minmax(0, 3.62fr);
  border-bottom: 1px solid rgba(173, 129, 57, 0.56);
}

.s-price-other-fees__category:last-child { border-bottom: 0; }

.s-price-other-fees__category-head {
  position: relative;
  padding: clamp(26px, 3vw, 38px) 22px;
  border-right: 1px solid rgba(173, 129, 57, 0.54);
  background: linear-gradient(145deg, rgba(255, 253, 247, 0.96), rgba(243, 236, 220, 0.52));
}

.s-price-other-fees__category-head::after {
  position: absolute;
  top: 42px;
  right: -5px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--other-fees-gold);
  content: "";
}

.s-price-other-fees__category-head p {
  margin: 0 0 16px;
  color: var(--other-fees-gold);
  font-family: var(--price-font-serif, serif);
  font-size: clamp(2.8rem, 4.4vw, 4.2rem);
  line-height: 0.85;
  font-variant-numeric: tabular-nums;
}

.s-price-other-fees__category-head h3 {
  margin: 0;
  color: var(--other-fees-navy);
  font-family: var(--price-font-serif, serif);
  font-size: var(--price-fs-panel-title, clamp(1.15rem, 1.7vw, 1.45rem));
  font-weight: var(--price-fw-heading, 600);
  line-height: 1.55;
}

.s-price-other-fees__category-head span {
  display: block;
  margin-top: 16px;
  color: var(--price-text-subtle, rgba(23, 35, 61, 0.6));
  font-size: 0.68rem;
  font-weight: var(--price-fw-label, 700);
  letter-spacing: 0.12em;
}

.s-price-other-fees__row {
  display: grid;
  grid-template-columns: minmax(250px, 1.55fr) minmax(180px, 0.95fr) minmax(210px, 1.12fr);
  min-height: 86px;
  border-bottom: 1px solid var(--other-fees-line);
}

.s-price-other-fees__row:last-child { border-bottom: 0; }

.s-price-other-fees__service,
.s-price-other-fees__cell {
  margin: 0;
  padding: 18px;
  border-right: 1px solid var(--other-fees-line);
}

.s-price-other-fees__service {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.s-price-other-fees__service span {
  color: var(--other-fees-gold);
  font-size: 0.74rem;
  font-variant-numeric: tabular-nums;
}

.s-price-other-fees__service strong {
  color: var(--other-fees-navy);
  font-family: var(--price-font-sans, sans-serif);
  font-size: var(--price-fs-table-row-label, 0.88rem);
  font-weight: var(--price-fw-label, 700);
  line-height: 1.65;
}

.s-price-other-fees__cell {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.s-price-other-fees__cell:last-child { border-right: 0; }

.s-price-other-fees .p-price-value--table {
  color: var(--other-fees-navy);
  font-size: var(--price-fs-table-value, 0.96rem);
  font-weight: var(--price-fw-price, 700);
  line-height: 1.55;
  font-variant-numeric: tabular-nums;
}

.s-price-other-fees .p-price-value--table small {
  font-size: 0.76em;
  white-space: nowrap;
}

.s-price-other-fees .p-price-value__note,
.s-price-other-fees .p-price-cell-note {
  display: block;
  margin-top: 5px;
  color: var(--price-text-subtle, rgba(23, 35, 61, 0.6));
  font-size: var(--price-fs-table-note, 0.72rem);
  font-weight: var(--price-fw-note, 500);
  line-height: 1.5;
}

.s-price-other-fees .p-price-mark--none {
  display: inline-flex;
  width: 2.7rem;
  min-height: 1.8rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(32, 58, 104, 0.26);
  border-radius: 999px;
  color: var(--price-text-muted, rgba(23, 35, 61, 0.74));
  background: #fff;
  font-size: 0.9rem;
  line-height: 1;
}

.s-price-other-fees__cell--spot.is-unavailable > span {
  display: inline-flex;
  max-width: 12rem;
  min-height: 30px;
  padding: 6px 12px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--other-fees-navy-soft);
  background: rgba(32, 58, 104, 0.12);
  font-size: 0.76rem;
  font-weight: var(--price-fw-label, 700);
  line-height: 1.35;
}

.s-price-other-fees .p-price-table-link {
  display: inline-flex;
  min-height: 34px;
  padding: 7px 14px;
  align-items: center;
  border: 1px solid rgba(173, 129, 57, 0.5);
  border-radius: 999px;
  color: var(--other-fees-navy);
  background: rgba(255, 253, 247, 0.92);
  font-size: 0.8rem;
  font-weight: var(--price-fw-label, 700);
  text-decoration: none;
}

.s-price-other-fees .p-price-table-link::after {
  margin-left: 8px;
  color: var(--other-fees-gold);
  content: "↓";
}

.s-price-other-fees__row:hover { background: rgba(238, 244, 247, 0.72); }

.s-price-other-fees__footnote {
  margin: 20px 0 0;
  color: var(--price-text-muted, rgba(23, 35, 61, 0.74));
  font-size: 0.78rem;
  line-height: 1.75;
  text-align: right;
}

@media (max-width: 960px) {
  .s-price-other-fees__columns {
    grid-template-columns: 160px minmax(210px, 1.45fr) minmax(150px, 0.9fr) minmax(175px, 1fr);
  }

  .s-price-other-fees__category { grid-template-columns: 160px minmax(0, 3.35fr); }

  .s-price-other-fees__row {
    grid-template-columns: minmax(210px, 1.45fr) minmax(150px, 0.9fr) minmax(175px, 1fr);
  }

  .s-price-other-fees__service,
  .s-price-other-fees__cell { padding-inline: 14px; }

  .s-price-other-fees__guide { grid-template-columns: auto 1fr; }

  .s-price-other-fees__guide-statuses {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .s-price-other-fees { padding: 72px 0 88px; }

  .s-price-other-fees__container { width: min(100% - 28px, 680px); }

  .s-price-other-fees__head {
    display: block;
    margin-bottom: 28px;
  }

  .s-price-other-fees__head h2 { font-size: var(--price-fs-section-title-mobile, 2rem); }

  .s-price-other-fees__lead { margin-top: 18px; }

  .s-price-other-fees__guide {
    display: block;
    padding: 18px 0;
    background: transparent;
  }

  .s-price-other-fees__guide > p { margin-top: 8px; }

  .s-price-other-fees__guide-statuses {
    margin-top: 13px;
    justify-content: flex-start;
  }

  .s-price-other-fees__index {
    margin-top: 18px;
    border-inline: 0;
    box-shadow: 0 18px 48px rgba(15, 35, 71, 0.07);
  }

  .s-price-other-fees__columns { display: none; }

  .s-price-other-fees__category { display: block; }

  .s-price-other-fees__category-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 20px 16px;
    border-right: 0;
    border-bottom: 1px solid rgba(173, 129, 57, 0.56);
  }

  .s-price-other-fees__category-head::after { display: none; }

  .s-price-other-fees__category-head p {
    margin: 0;
    font-size: 2rem;
  }

  .s-price-other-fees__category-head h3 {
    font-size: 1.08rem;
    line-height: 1.45;
  }

  .s-price-other-fees__category-head span {
    margin: 0;
    font-size: 0.6rem;
    white-space: nowrap;
  }

  .s-price-other-fees__row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 0;
  }

  .s-price-other-fees__service {
    grid-column: 1 / -1;
    min-height: 60px;
    padding: 14px 16px;
    border-right: 0;
    border-bottom: 1px solid var(--other-fees-line);
    background: rgba(255, 255, 255, 0.7);
  }

  .s-price-other-fees__cell {
    position: relative;
    min-height: 76px;
    padding: 28px 12px 13px;
  }

  .s-price-other-fees__cell::before {
    position: absolute;
    top: 9px;
    left: 12px;
    color: var(--price-text-subtle, rgba(23, 35, 61, 0.6));
    content: attr(data-label);
    font-size: 0.64rem;
    font-weight: var(--price-fw-label, 700);
    letter-spacing: 0.08em;
  }

  .s-price-other-fees__cell--spot { border-right: 0; }

  .s-price-other-fees__row:hover { background: transparent; }

  .s-price-other-fees__footnote { text-align: left; }
}

@media (max-width: 420px) {
  .s-price-other-fees__container { width: min(100% - 22px, 680px); }

  .s-price-other-fees__category-head { grid-template-columns: auto minmax(0, 1fr); }

  .s-price-other-fees__category-head span { grid-column: 2; }

  .s-price-other-fees__service { grid-template-columns: 36px minmax(0, 1fr); }

  .s-price-other-fees__cell { padding-inline: 8px; }

  .s-price-other-fees .p-price-value--table { font-size: 0.83rem; }

  .s-price-other-fees__cell--spot.is-unavailable > span {
    padding-inline: 8px;
    font-size: 0.68rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .s-price-other-fees__row { scroll-behavior: auto; }
}
