.subscription-paths {
  width: min(72rem, calc(100% - 2rem));
  margin: 0 auto 2rem;
}
.path-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.path-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 1rem;
  padding: 1.4rem;
  box-shadow: 0 12px 34px rgba(16, 37, 63, .05);
}
.path-card.selected { border: 2px solid var(--blue); background: var(--light); }
.path-card h3 { font-family: Georgia, serif; font-size: 1.45rem; margin: .2rem 0; }
.path-card .button { margin-top: .5rem; }
.button.secondary-choice, button.secondary-choice {
  background: #fff;
  color: var(--blue);
  border: 1px solid var(--blue);
  margin-left: .65rem;
}
.channel-choice {
  display: flex !important;
  align-items: flex-start;
  gap: .75rem;
  border: 1px solid var(--line);
  border-radius: .65rem;
  padding: 1rem;
  cursor: pointer;
}
.channel-choice input { width: 1.2rem; height: 1.2rem; margin-top: .15rem; }
.channel-choice span, .channel-choice small, .channel-choice b { display: block; }
.channel-choice small { font-weight: 400; color: var(--muted); margin-top: .2rem; }
.channel-choice b { color: #287a47; margin-top: .25rem; }
.verification-card {
  display: flex;
  align-items: flex-end;
  gap: .75rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: .8rem;
  padding: 1rem;
  margin: 1rem 0;
}
.verification-card label { flex: 1; }
.verification-card label > span { display: block; font-weight: 700; margin-bottom: .35rem; }
.verification-card input { font-size: 1.4rem; letter-spacing: .25em; }
.resend-form { display: inline; }
.notice { padding: .85rem 1rem; border-left: 4px solid #287a47; background: #edf8f1; margin: 1rem 0; }
.error strong, .error span { display: block; }
.all-category-summary .offering { cursor: default; }
textarea { width: 100%; padding: .78rem; border: 1px solid #8497a9; border-radius: .45rem; font: inherit; resize: vertical; }
.product-toggle small, .scope-options small { display: block; margin-top: .38rem; line-height: 1.4; }
.preference-product [hidden] { display: none !important; }
.preference-product > header { margin-bottom: 0; }
.preference-product > header + .scope-options { margin-top: 1rem; }
.preference-product > .topic-groups { margin-top: 1rem; }
.product-toggle > span:last-child { padding-top: .08rem; }
.topic-groups legend { margin-bottom: .35rem; }
.catalog-note { gap: .3rem; }
.street-preference { display: grid; gap: .85rem; }
.street-preference-toolbar { display: grid; grid-template-columns: minmax(16rem, 1fr) auto; gap: .8rem; align-items: end; }
.street-search-label { display: grid; gap: .35rem; position: relative; }
.street-search-label > span > strong, .street-search-label > span > small { display: block; }
.street-search-label > span > small { margin-top: .3rem; color: var(--muted); font-weight: 400; }
.street-search-label input { width: 100%; padding: .78rem; border: 1px solid #8497a9; border-radius: .45rem; font: inherit; }
.street-search-results { position: absolute; top: 100%; left: 0; right: 0; z-index: 8; display: grid; max-height: 18rem; overflow: auto; background: #fff; border: 1px solid var(--line); border-radius: .5rem; box-shadow: 0 12px 28px rgba(16,37,63,.18); }
.street-search-results[hidden] { display: none; }
.street-search-results button, .street-search-results > span { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: #fff; color: var(--ink); padding: .72rem .8rem; text-align: left; }
.street-search-results button:hover, .street-search-results button:focus { background: var(--light); color: var(--blue); }
.street-map-actions { display: flex; gap: .4rem; flex-wrap: wrap; justify-content: flex-end; }
.street-map-actions button { margin: 0; padding: .62rem .78rem; }
.street-map-actions button.is-active { background: var(--blue); color: #fff; }
.street-map-help { color: var(--muted); font-size: .86rem; }
.subscription-street-map { min-height: 30rem; border: 1px solid var(--line); border-radius: .75rem; overflow: hidden; background: #f4f0e6; touch-action: none; }
.subscription-street-map svg { display: block; width: 100%; min-height: 30rem; height: 55vh; max-height: 42rem; touch-action: none; }
.subscription-street-segment { fill: none; stroke: #718898; stroke-width: 2; vector-effect: non-scaling-stroke; cursor: pointer; }
.subscription-street-segment:hover, .subscription-street-segment:focus { stroke: #1768d7; stroke-width: 4; outline: none; }
.subscription-street-segment.is-selected { stroke: #d33b32; stroke-width: 6; }
.subscription-map-area { fill: rgba(11,79,134,.18); stroke: #0b4f86; stroke-width: 3; vector-effect: non-scaling-stroke; pointer-events: none; }
.subscription-map-area.is-drawing { fill: rgba(214,163,41,.24); stroke: #b17b00; stroke-dasharray: 7 4; }
.street-preference[data-map-mode="area"] .subscription-street-segment { cursor: crosshair; opacity: .55; }
.street-selection-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.street-selection-summary section { border: 1px solid var(--line); border-radius: .65rem; padding: .8rem; }
.street-selection-summary h4 { margin: 0 0 .6rem; }
.selection-chip-list { display: flex; flex-wrap: wrap; gap: .45rem; }
.selection-chip { display: inline-flex; align-items: center; gap: .45rem; border-radius: 999px; background: var(--light); color: var(--ink); padding: .35rem .42rem .35rem .7rem; font-size: .84rem; font-weight: 700; }
.selection-chip button { display: grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 50%; padding: 0; background: #fff; color: #9d2e2e; }
.empty-selection { color: var(--muted); font-size: .85rem; }
.street-map-unavailable { margin: .35rem 0 0; }
@media (max-width: 50rem) { .path-grid { grid-template-columns: 1fr; } }
@media (max-width: 38rem) {
  .subscription-paths { width: calc(100% - 1rem); }
  .verification-card { align-items: stretch; flex-direction: column; }
  .button.secondary-choice, button.secondary-choice { margin: .65rem 0 0; }
  .street-preference-toolbar, .street-selection-summary { grid-template-columns: 1fr; }
  .street-map-actions { justify-content: flex-start; }
  .street-map-actions .secondary-choice { margin: 0; }
  .subscription-street-map, .subscription-street-map svg { min-height: 24rem; }
}
