/* SB theme: opt-in pricing design for item-list layout="pricing". */
.item-pricing { padding: clamp(60px, 8vw, 104px) clamp(20px, 4vw, 48px); background-color: #f8f3e8; color: #132f43; }
.item-pricing .item-pricing-inner { max-width: 1240px; }
.item-pricing .item-pricing-header { max-width: 760px; margin-bottom: 48px; }
.item-pricing .item-pricing-eyebrow { margin-bottom: 12px; color: #2575a9; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.item-pricing .item-pricing-header h2 { margin-bottom: 18px; color: #132f43; }
.item-pricing .item-pricing-header > div { max-width: 720px; color: #334f62; font-size: 17px; line-height: 1.65; }
.item-pricing .item-pricing-header > .item-pricing-reference {
  display: grid;
  width: min(100%, 500px);
  max-width: 500px;
  grid-template-columns: minmax(0, 1.2fr) auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(10px, 1.5vw, 18px);
  margin: 0 0 28px;
  padding: 18px 22px;
  border: 1px solid rgba(19, 47, 67, .12);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(19, 47, 67, .06);
}
.item-pricing .item-pricing-eyebrow:empty:has(+ .item-pricing-reference) {
  display: none;
}
.item-pricing .item-pricing-reference-side {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.item-pricing .item-pricing-reference-label {
  color: #526a79;
  font-size: .75rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.item-pricing .item-pricing-reference-value {
  color: #17618f;
  font-size: clamp(1.35rem, 1.8vw, 1.65rem);
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.025em;
  white-space: nowrap;
}
.item-pricing .item-pricing-reference-separator {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #132f43;
  color: #fff;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .06em;
}
.item-pricing .item-pricing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
app-item-list .item-pricing .item-price-card { position: relative; padding: 32px 30px 30px; border: 1px solid rgba(19, 47, 67, .14); border-radius: 16px; background-color: #fff; color: #132f43; box-shadow: 0 8px 24px rgba(19, 47, 67, .08); }
.item-pricing .item-price-card h3 { max-width: 15ch; margin-bottom: 14px; color: #132f43; font-size: 20px; letter-spacing: .04em; text-transform: uppercase; }
.item-pricing .item-price-amount { margin-bottom: 18px; color: #17618f; font-size: clamp(40px, 4vw, 54px); font-weight: 750; letter-spacing: -.035em; line-height: 1; white-space: nowrap; }
.item-pricing .item-price-description { max-width: 34ch; min-height: 4.8em; margin-bottom: 24px; color: #526a79; font-size: 15px; line-height: 1.6; }
.item-pricing .item-price-features { margin-bottom: 26px; color: #253f51; }
.item-pricing .item-price-feature { min-height: 24px; margin-bottom: 11px; line-height: 1.5; }
.item-pricing .item-price-feature-icon { display: inline-grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; line-height: 1; }
.item-pricing .item-price-feature-included .item-price-feature-icon { background-color: #e2f1eb; color: #196a4d; }
.item-pricing .item-price-feature-optional .item-price-feature-icon { background-color: #edf3f7; color: #526a79; font-size: 0; opacity: 1; }
.item-pricing .item-price-feature-optional .item-price-feature-icon::before { content: '○'; font-size: 17px; }
.item-pricing .item-price-feature-excluded { color: #71828d; }
.item-pricing .item-price-feature-excluded .item-price-feature-icon { background-color: #f0f2f3; color: #71828d; opacity: 1; }
.item-pricing .item-price-feature-excluded span:last-child { opacity: .72; }
.item-pricing .item-price-features > div { padding: 10px 0; border-bottom: 1px solid rgba(19, 47, 67, .09); }
.item-pricing .item-price-card dt { color: #526a79; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.item-pricing .item-price-card dd { color: #253f51; line-height: 1.5; }
.item-pricing .item-price-options { border-color: rgba(37, 117, 169, .38); border-radius: 10px; background-color: #f5f9fb; color: #334f62; }
.item-pricing .item-price-renewal { margin-top: auto; padding: 20px; border: 1px solid rgba(37, 117, 169, .18); border-radius: 12px; background-color: #f3f8fb; }
.item-pricing .item-price-renewal > div { display: grid; gap: 3px; margin-bottom: 14px; }
.item-pricing .item-price-renewal > div:last-child { margin-bottom: 0; }
.item-pricing .item-price-renewal dt { color: #17618f; font-size: 11px; font-weight: 750; letter-spacing: .12em; }
.item-pricing .item-price-renewal dd { color: #132f43; font-size: 15px; font-weight: 650; }
.item-pricing .item-price-cta { display: inline-flex; width: 100%; min-height: 48px; align-items: center; justify-content: center; box-sizing: border-box; margin-top: 22px; border: 1px solid #17618f; border-radius: 9px; background-color: #fff; color: #17618f; letter-spacing: .055em; text-transform: uppercase; transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease; }
.item-pricing .item-price-cta:hover { background-color: #17618f; color: #fff; }
.item-pricing .item-price-cta:focus-visible { outline: 3px solid #c08b3d; outline-offset: 4px; }
app-item-list .item-pricing .item-price-recommended { padding: 28px 29px 30px; border: 2px solid #2575a9; border-top-width: 6px; background-color: #fbfdff; box-shadow: 0 12px 30px rgba(19, 47, 67, .13); }
.item-pricing .item-price-badge { margin-bottom: 18px; border: 0; border-radius: 999px; background-color: #132f43; color: #fff; font-size: 11px; letter-spacing: .12em; }
.item-pricing .item-price-recommended .item-price-cta { border-color: #17618f; background-color: #17618f; color: #fff; }
.item-pricing .item-price-recommended .item-price-cta:hover { border-color: #132f43; background-color: #132f43; color: #fff; }
.item-pricing .item-price-comparison { margin-top: 36px; color: #132f43; }
@media (max-width: 959px) and (min-width: 701px) { .item-pricing .item-pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .item-pricing { padding: 52px 18px; }
  .item-pricing .item-pricing-header > .item-pricing-reference {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
  }
  .item-pricing .item-pricing-reference-separator {
    width: auto;
    height: auto;
    justify-self: start;
    padding: 5px 9px;
    border-radius: 999px;
  }
  .item-pricing .item-pricing-reference-value { font-size: clamp(1.65rem, 9vw, 2.15rem); }
  .item-pricing .item-pricing-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .item-pricing .item-price-card, .item-pricing .item-price-recommended { padding: 26px 22px; }
  .item-pricing .item-price-description { min-height: 0; }
  .item-pricing .item-price-amount { font-size: 42px; }
}

/* Runtime cascade tier for the later emulated ItemListComponent stylesheet. */
app-home > app-item-list-unified:nth-of-type(3) .item-pricing {
  padding: clamp(72px, 6vw, 92px) clamp(20px, 4vw, 52px) !important;
}
app-home > app-item-list-unified:nth-of-type(3) .item-pricing-inner {
  width: min(100%, 1320px);
  max-width: 1320px;
}
app-home > app-item-list-unified:nth-of-type(3) .item-pricing-header {
  max-width: 1020px;
  margin-bottom: 54px;
}
app-home > app-item-list-unified:nth-of-type(3) .item-pricing-eyebrow {
  display: inline-block;
  max-width: 34ch;
  padding: 16px 20px;
  border-left: 5px solid #c08b3d;
  border-radius: 10px;
  background: #fff;
  color: #132f43 !important;
  font-size: clamp(1.2rem, 1.7vw, 1.65rem);
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: -.015em;
  text-transform: none;
}
app-home > app-item-list-unified:nth-of-type(3) .item-pricing-header h2 {
  max-width: 21ch;
  font-size: clamp(2.45rem, 4.2vw, 4.1rem) !important;
}
app-home > app-item-list-unified:nth-of-type(3) .item-pricing-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}
app-home > app-item-list-unified:nth-of-type(3) .item-price-card {
  padding: clamp(34px, 3vw, 42px);
  border-radius: 20px;
}
app-home > app-item-list-unified:nth-of-type(3) .item-price-card h3 { font-size: clamp(1.25rem, 1.5vw, 1.5rem) !important; }
app-home > app-item-list-unified:nth-of-type(3) .item-price-amount {
  color: #17618f;
  font-size: clamp(3.75rem, 5.3vw, 5rem);
  font-weight: 850;
}
app-home > app-item-list-unified:nth-of-type(3) .item-price-description,
app-home > app-item-list-unified:nth-of-type(3) .item-price-feature { font-size: 1rem; }
app-home > app-item-list-unified:nth-of-type(3) .item-price-recommended {
  border-width: 3px;
  border-top-width: 8px;
  transform: translateY(-14px) scale(1.025);
  box-shadow: 0 24px 54px rgba(19, 47, 67, .22);
}
app-home > app-item-list-unified:nth-of-type(3) .item-price-badge { font-size: .78rem; }
@media (max-width: 1100px) {
  app-home > app-item-list-unified:nth-of-type(3) .item-pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  app-home > app-item-list-unified:nth-of-type(3) .item-price-recommended { transform: none; }
}
@media (max-width: 700px) {
  app-home > app-item-list-unified:nth-of-type(3) .item-pricing { padding: 54px 18px !important; }
  app-home > app-item-list-unified:nth-of-type(3) .item-pricing-grid { grid-template-columns: minmax(0, 1fr); }
  app-home > app-item-list-unified:nth-of-type(3) .item-price-card { padding: 28px 22px; }
}
@media (prefers-reduced-motion: reduce) { .item-pricing .item-price-cta { transition: none; } }

/* Final package scan hierarchy, using existing rendered descriptions/features. */
app-home > app-item-list-unified:nth-of-type(3) .item-price-description {
  min-height: 0;
  margin-bottom: 24px;
  padding: 14px 16px;
  border-left: 4px solid #c08b3d;
  border-radius: 0 9px 9px 0;
  background: #f7f3ea;
  color: #253f51;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.52;
}
app-home > app-item-list-unified:nth-of-type(3) .item-price-recommended .item-price-description {
  border-left-color: #2575a9;
  background: #edf6fb;
}
app-home > app-item-list-unified:nth-of-type(3) .item-price-recommended .item-price-feature:nth-child(2) {
  margin: 4px 0 14px;
  padding: 12px;
  border: 1px solid rgba(37, 117, 169, .24);
  border-radius: 9px;
  background: #e8f4fa;
  color: #132f43;
  font-weight: 800;
}
app-home > app-item-list-unified:nth-of-type(3) .item-price-card:last-child .item-price-feature:nth-child(-n + 3) {
  padding: 9px 10px;
  border-radius: 7px;
  background: #f4f7f9;
  font-weight: 650;
}
@media (max-width: 700px) {
  app-home > app-item-list-unified:nth-of-type(3) .item-price-amount { font-size: clamp(3.25rem, 16vw, 4.25rem); }
  app-home > app-item-list-unified:nth-of-type(3) .item-price-description { font-size: .98rem; }
}

/* The pricing template emits an empty renewal <dl> when no footer fields are
   configured. Remove only that unused box in this homepage pricing instance. */
app-home > app-item-list-unified:nth-of-type(3) .item-price-renewal:empty {
  display: none;
  margin: 0;
  padding: 0;
  border: 0;
}

/* Let the feature area absorb natural height differences so all three actions
   settle at the card bottom without fixed card or feature heights. */
app-home > app-item-list-unified:nth-of-type(3) .item-price-card {
  height: 100%;
}
app-home > app-item-list-unified:nth-of-type(3) .item-price-features {
  flex: 1 1 auto;
}
app-home > app-item-list-unified:nth-of-type(3) .item-price-cta {
  margin-top: auto;
}

/* SB Media Hub pricing hierarchy. */
.item-pricing {
  padding: clamp(68px, 6vw, 92px) clamp(20px, 4vw, 56px);
}
.item-pricing .item-pricing-inner { max-width: 1440px; }
.item-pricing .item-pricing-header { max-width: 980px; margin-bottom: clamp(40px, 4vw, 58px); }
.item-pricing .item-pricing-eyebrow { font-size: clamp(.8rem, .85vw, .92rem); font-weight: 800; letter-spacing: .16em; }
.item-pricing .item-pricing-header h2 {
  max-width: 19ch;
  font-size: clamp(2.35rem, 4.5vw, 4.5rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.item-pricing .item-pricing-header > div { max-width: 850px; font-size: clamp(1rem, 1.15vw, 1.18rem); }
.item-pricing .item-pricing-grid { gap: clamp(22px, 2.4vw, 36px); align-items: stretch; }
app-item-list .item-pricing .item-price-card { padding: clamp(32px, 3vw, 44px); border-radius: 20px; }
.item-pricing .item-price-card h3 { max-width: none; font-size: clamp(1.18rem, 1.45vw, 1.45rem); }
.item-pricing .item-price-amount { margin-block: 8px 22px; font-size: clamp(3.25rem, 5vw, 4.6rem); }
.item-pricing .item-price-description { min-height: 5.2em; font-size: 1rem; line-height: 1.62; }
.item-pricing .item-price-feature { margin-bottom: 13px; font-size: .98rem; }
.item-pricing .item-price-cta { min-height: 54px; font-size: .94rem; font-weight: 800; }
app-item-list .item-pricing .item-price-recommended {
  padding: calc(clamp(32px, 3vw, 44px) - 5px) calc(clamp(32px, 3vw, 44px) - 2px) clamp(32px, 3vw, 44px);
  transform: translateY(-10px);
  box-shadow: 0 20px 48px rgba(19, 47, 67, .18);
}
.item-pricing .item-price-badge { align-self: flex-start; padding: 8px 14px; font-weight: 800; }
@media (max-width: 959px) { app-item-list .item-pricing .item-price-recommended { transform: none; } }
@media (max-width: 700px) {
  .item-pricing { padding: 54px 18px; }
  app-item-list .item-pricing .item-price-card,
  app-item-list .item-pricing .item-price-recommended { padding: 28px 22px; }
  .item-pricing .item-price-description { min-height: 0; }
}
