/* A quieter planning surface; a clear next step when the day begins. */
.day-entry {
  margin: 14px 14px 10px;
  padding: 13px;
  border: 1px solid #d6e0ce;
  border-radius: 11px;
  background: linear-gradient(125deg, #edf3e6, #fafbf5);
}
.day-entry strong { display: block; color: var(--forest, #173f35); font-size: 14px; }
.day-entry p, .day-entry small { color: #53634d; font-size: 12px; line-height: 1.6; }
.day-entry p { margin: 4px 0 10px; }
#start-day { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 44px; padding: 10px 14px; font-size: 14px; }

#route-limits { border-bottom: 1px solid #e0e5d9; background: #f8f9f2; }
#route-limits > summary {
  position: relative;
  min-height: 66px;
  padding: 13px 44px 13px 18px;
  color: var(--ink, #213b33);
  cursor: pointer;
  list-style: none;
}
#route-limits > summary::-webkit-details-marker { display: none; }
#route-limits > summary::after {
  content: '';
  position: absolute;
  right: 22px;
  top: 27px;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid #53634d;
  border-bottom: 1.5px solid #53634d;
  transform: rotate(45deg);
}
#route-limits[open] > summary::after { transform: rotate(225deg); top: 30px; }
#route-limits > summary strong { display: block; font-size: 14px; line-height: 1.5; }
#limits-summary { display: block; margin-top: 3px; color: #53634d; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.limit-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 18px 16px; }
.limit-fields label { display: flex; flex-direction: column; gap: 7px; min-width: 0; color: #53634d; font-size: 12px; line-height: 1.45; }
.limit-fields input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  padding: 9px 10px;
  border: 1px solid #b9c6b0;
  border-radius: 7px;
  background: #fffefa;
  color: var(--ink, #213b33);
  font-size: 16px;
  line-height: 1.4;
}
#constraint-status { margin: 12px 14px; font-size: 12px; line-height: 1.65; }
.limit-success { padding: 11px 13px; color: #365a35; border: 1px solid #d1dfc6; border-radius: 8px; background: #edf4e6; }
.limit-warning { padding: 14px; border: 1px solid #ddc7a1; border-radius: 10px; background: #fff5e4; color: #755121; }
.limit-warning strong { color: #63451d; font-size: 14px; }
.limit-warning ul { padding-left: 18px; margin: 8px 0; }
.limit-warning p { margin: 9px 0; }
.limit-warning small { display: block; margin-top: 8px; font-size: 11px; line-height: 1.6; }
.limit-warning .secondary { width: 100%; min-height: 44px; padding: 9px 12px; background: #fffaf1; border-color: #cbb48c; color: #63451d; white-space: normal; }

.must-do, .no-purchase-filter, .share-start {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  color: #53634d;
  font-size: 12px;
  line-height: 1.5;
  cursor: pointer;
}
.must-do { margin-top: 5px; padding: 7px 0; }
.must-do:has(input:checked) { color: #173f35; font-weight: 600; }
.no-purchase-filter { margin: 10px 0 0; padding: 10px 0 0; border-top: 1px solid #e0e5d9; }
.must-do input, .no-purchase-filter input, .share-start input {
  flex: 0 0 19px;
  width: 19px;
  height: 19px;
  min-height: 19px;
  margin: 0;
  accent-color: var(--forest, #173f35);
  cursor: pointer;
}
.no-purchase-filter:has(input:checked) { color: #173f35; }

.redeem-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 9px; margin-top: 10px; }
.redeem-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 7px; border: 1px solid #e0ddcf; border-radius: 5px; background: #f5f3ea; color: #625e4e; font-size: 10px; line-height: 1.5; }
.redeem-badge.positive { border-color: #d3e0c8; background: #eef5e7; color: #3e5b33; }
.ready-link { display: inline-flex; align-items: center; justify-content: flex-start; gap: 6px; min-height: 44px; padding: 7px 0; border-radius: 5px; color: #315941; font-size: 12px; font-weight: 600; line-height: 1.45; text-align: left; text-decoration: underline; text-decoration-color: #a8b99a; text-underline-offset: 3px; white-space: normal; }
.ready-link .ui-icon { width: 15px; height: 15px; flex-shrink: 0; }
.redeem-card { margin-top: 20px; padding-top: 18px; border-top: 1px solid #dbe3d2; }
.redeem-card h3 { margin: 0 0 13px; font-size: 18px; color: #213b33; }
.redeem-card dl { margin: 0; }
.redeem-card dl > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 14px; padding: 12px 0; border-bottom: 1px solid #e1e6d8; }
.redeem-card dt { color: #36543e; font-size: 12px; font-weight: 650; line-height: 1.6; }
.redeem-card dd { min-width: 0; margin: 0; color: #3f5140; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.redeem-card dd.requirement-unknown { color: #655e4d; }
.redeem-card .redeem-verification { margin: 14px 0; padding: 12px; border: 1px solid #ddc7a1; border-radius: 8px; background: #fff5e4; color: #63451d; overflow-wrap: anywhere; }
.redeem-verification strong { display: block; font-size: 12px; line-height: 1.6; }
.redeem-card .redeem-verification p { margin: 4px 0 0; font-size: 13px; line-height: 1.65; }
.redeem-card .redeem-note { margin: 14px 0 7px; color: #53634d; font-size: 11px; line-height: 1.65; }
.redeem-card > a { display: inline-flex; align-items: center; min-height: 44px; color: #315941; font-size: 13px; text-underline-offset: 3px; }

.day-mode { padding: 16px 14px 20px; }
.day-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 10px; margin-bottom: 9px; }
.day-state { color: #53634d; font-size: 10px; font-weight: 650; letter-spacing: .6px; line-height: 1.6; }
.day-toolbar .text-button { min-height: 44px; padding: 6px 0; color: #315941; font-size: 11px; text-underline-offset: 3px; }
.day-progress { display: flex; flex-wrap: wrap; gap: 5px 12px; align-items: baseline; justify-content: space-between; margin: 0 1px 14px; font-size: 12px; line-height: 1.5; }
.day-progress strong { color: #173f35; }
.day-progress span { color: #53634d; }
.day-card { min-width: 0; padding: 20px 17px; border: 1px solid #d4dfc9; border-top: 3px solid #55784a; border-radius: 12px; background: #fffefa; box-shadow: 0 5px 16px #213b330b; }
.day-card > .eyebrow { display: block; margin: 0 0 14px; color: #536a47; font-size: 10px; letter-spacing: 1.4px; line-height: 1.5; }
.day-card h3 { margin: 0 0 10px; color: #213b33; font-family: 'Libre Caslon Display', Georgia, serif; font-size: 30px; font-weight: 400; line-height: 1.15; overflow-wrap: anywhere; }
.day-card p { color: #53634d; font-size: 13px; line-height: 1.65; }
.day-business { display: flex; align-items: center; gap: 12px; min-width: 0; margin: 0 0 14px; }
.day-business h3 { min-width: 0; margin: 0; font-size: 27px; }
.day-business .detail-logo { flex-shrink: 0; }
.day-card .day-offer { margin: 0 0 7px; color: #315941; font-size: 15px; font-weight: 600; line-height: 1.5; }
.day-card .day-address { margin: 0 0 17px; color: #53634d; font-size: 12px; overflow-wrap: anywhere; }
.day-arrival { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 14px 13px; border: 1px solid #e0e7d5; border-radius: 8px; background: #f0f5e9; }
.day-arrival strong { color: #294b35; font-size: 25px; line-height: 1.2; font-weight: 600; letter-spacing: -.8px; }
.day-arrival span { color: #53634d; font-size: 11px; line-height: 1.5; }
.day-card .warning { margin: 12px 0 0; padding: 9px 11px; border-radius: 7px; background: #fff3df; color: #805526; font-size: 12px; }
.day-ready { margin: 6px 0 8px; font-size: 12px; }
.day-navigate { display: flex; align-items: center; justify-content: center; min-height: 48px; width: 100%; padding: 12px 14px; color: #fffdf5; font-size: 14px; line-height: 1.5; text-align: center; text-decoration: none; white-space: normal; }
.day-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 10px; }
.day-actions button { min-width: 0; min-height: 44px; padding: 10px 12px; font-size: 13px; white-space: normal; }
.day-actions .primary { background: #eaf2e3; border-color: #b9cdab; color: #315437; box-shadow: none; }
.day-card > .secondary, .day-card > button.primary { width: 100%; min-height: 44px; margin-top: 10px; padding: 10px 13px; font-size: 13px; white-space: normal; }
.day-adjustments { margin-top: 15px; padding: 0 3px; }
.day-adjustments p { margin: 0 0 10px; color: #53634d; font-size: 12px; line-height: 1.65; }
.day-adjustments strong { color: #36543e; }
.day-adjustments > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.day-adjustments button { min-width: 0; min-height: 44px; padding: 9px 8px; font-size: 11px; line-height: 1.5; white-space: normal; }
.day-adjustments .text-button { grid-column: 1 / -1; justify-self: start; padding-inline: 0; color: #315941; }
.day-adjustments small { display: block; margin-top: 11px; color: #53634d; font-size: 10px; line-height: 1.7; }
.day-mode > .text-button { display: block; min-height: 44px; margin-top: 9px; padding: 8px 3px; color: #315941; font-size: 12px; }
.day-history { margin-top: 10px; border-top: 1px solid #dce4d3; color: #53634d; font-size: 12px; }
.day-history summary { min-height: 44px; padding: 13px 3px; cursor: pointer; }
.day-history ul { list-style: none; padding: 0 3px; margin: 0; }
.day-history li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 12px; padding: 10px 0; border-top: 1px solid #e5e9df; line-height: 1.5; }
.day-history li span { color: #53634d; font-size: 11px; }

/* Two useful secondary actions, without another full-width row. */
.planner-footer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 9px; align-items: center; }
.planner-footer > div { display: contents; }
.planner-footer #navigate { grid-column: 1 / -1; grid-row: 1; }
#share-trip { grid-column: 1; grid-row: 2; }
#export-trip { grid-column: 2; grid-row: 2; }
.planner-footer #share-trip, .planner-footer #export-trip { min-width: 0; width: 100%; min-height: 44px; margin: 0; padding: 9px 8px; border: 1px solid #ccd7c1; border-radius: 7px; background: #fffefa; color: #36543e; font-size: 12px; line-height: 1.4; white-space: normal; text-decoration: none; }
.planner-footer #clear-trip { grid-column: 2; grid-row: 3; justify-self: end; min-height: 44px; padding: 8px 0 8px 8px; color: #53634d; font-size: 11px; }
.planner-footer > small { grid-column: 1; grid-row: 3; color: #53634d; font-size: 9px; line-height: 1.6; text-align: left; }

/* Dialog content is self-contained: long encoded URLs must never set its width. */
#info-dialog:has(.share-qr), #info-dialog:has(.shared-stops), #info-dialog:has(.redeem-card),
#info-dialog:has([data-feature="begin-day"]), #info-dialog:has([data-feature="apply-suggestion"]),
#info-dialog:has([data-feature="skip-mustdo"]) {
  box-sizing: border-box;
  width: min(560px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 32px);
  padding: 26px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.share-start { margin: 14px 0 0; padding: 7px 0; font-size: 13px; }
.share-privacy { margin: 3px 0 13px !important; padding: 11px 13px; border: 1px solid #dce4d2; border-radius: 8px; background: #f0f4e9; color: #53634d !important; font-size: 12px !important; line-height: 1.6 !important; }
#info-dialog:has(#share-start:checked) .share-privacy { border-color: #ddc7a1; background: #fff5e4; color: #755121 !important; }
.share-qr { display: grid; justify-items: center; gap: 11px; width: 100%; min-width: 0; margin: 19px auto; color: #53634d; font-size: 12px; line-height: 1.6; text-align: center; overflow-wrap: anywhere; }
.share-qr svg, .share-qr canvas, .share-qr img { display: block; box-sizing: border-box; width: min(280px, 100%) !important; max-width: 100% !important; height: auto !important; aspect-ratio: 1; background: white; }
.share-qr > span { font-size: 11px; color: #53634d; }
.share-url-label { display: block; min-width: 0; color: #36543e; font-size: 12px; line-height: 1.5; font-weight: 600; }
#share-url { display: block; box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: 44px; margin-top: 7px; padding: 10px 11px; border: 1px solid #bccbb1; border-radius: 7px; background: #fffefa; color: #405640; font-size: 13px; font-weight: 400; }
.share-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.share-actions button { min-width: 0; min-height: 44px; padding: 10px 12px; font-size: 13px; line-height: 1.5; white-space: normal; }
.share-result, #import-status { margin: 12px 0 0; color: #36543e !important; font-size: 12px !important; line-height: 1.6 !important; overflow-wrap: anywhere; }
.share-result:empty, #import-status:empty { display: none; }
.shared-stops { margin: 16px 0; padding-left: 24px; color: #36543e; }
.shared-stops li { padding: 10px 0 11px 2px; border-bottom: 1px solid #e0e6d7; font-size: 13px; line-height: 1.5; }
.shared-stops small, .share-stop-address { display: block; margin-top: 4px; color: #53634d; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.must-do-badge { display: inline-flex; margin-left: 7px; padding: 2px 6px; border-radius: 4px; background: #eaf2e3; color: #365a35; font-size: 10px; line-height: 1.6; }
.import-warning { padding: 12px 14px; border: 1px solid #ddc7a1; border-radius: 8px; background: #fff5e4; color: #755121 !important; font-size: 12px !important; line-height: 1.65 !important; }
#info-dialog:has(.share-qr) > small { display: block; margin-top: 13px; color: #53634d; font-size: 11px; line-height: 1.6; }
#info-dialog [data-feature] { min-height: 44px; white-space: normal; }

/* Application state wins over existing .primary and fixed-action display rules. */
#navigate[hidden], #day-entry[hidden], #day-mode[hidden], #route-limits[hidden],
#constraint-status[hidden], #trip-list[hidden], #trip-settings[hidden] { display: none !important; }

@media (hover: hover) and (pointer: fine) {
  .ready-link:hover, .day-toolbar .text-button:hover, .day-mode > .text-button:hover { color: #173f35; text-decoration-color: #173f35; }
  .day-actions .primary:hover { background: #dfead5; }
  .planner-footer #share-trip:hover:not(:disabled), .planner-footer #export-trip:hover:not(:disabled) { background: #edf3e6; border-color: #aebf9e; }
}
@media (max-width: 1100px) {
  .day-entry { margin: 14px 14px 10px; padding: 14px; }
  .day-mode { padding: 16px 14px 22px; }
  .day-card { padding: 21px 17px; }
  .day-card h3 { font-size: 32px; }
  .day-business h3 { font-size: 28px; }
  .day-state { font-size: 11px; }
  .day-toolbar .text-button { font-size: 12px; }
  .day-adjustments button { font-size: 12px; }
  .day-adjustments small { font-size: 11px; }
  .must-do, .no-purchase-filter { font-size: 13px; }
  .redeem-badge { font-size: 11px; }
  .ready-link { font-size: 13px; }
  #share-url { font-size: 16px; }
  .planner.mobile-active:has(#day-mode:not([hidden])) { padding-bottom: 0; }
  body:has(.planner.mobile-active #day-mode:not([hidden])) .site-footer { padding-bottom: 20px; }
}
@media (max-width: 600px) {
  #info-dialog:has(.share-qr), #info-dialog:has(.shared-stops), #info-dialog:has(.redeem-card),
  #info-dialog:has([data-feature="begin-day"]), #info-dialog:has([data-feature="apply-suggestion"]),
  #info-dialog:has([data-feature="skip-mustdo"]) { width: calc(100vw - 24px); max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); padding: 20px 17px; }
  .redeem-card dl > div { grid-template-columns: minmax(0, 1fr); gap: 4px; padding-block: 11px; }
  .redeem-card dt { font-size: 12px; }
  .redeem-card dd { font-size: 13px; }
  .share-actions { gap: 8px; }
  .share-actions button { padding-inline: 8px; }
}
@media (max-width: 360px) {
  .limit-fields { grid-template-columns: minmax(0, 1fr); gap: 13px; }
  .day-entry, #constraint-status { margin-inline: 12px; }
  .day-mode { padding-inline: 12px; }
  .day-card { padding: 18px 13px; }
  .day-business { gap: 10px; }
  .day-business h3 { font-size: 25px; }
  .day-arrival { display: grid; gap: 5px; }
  .day-adjustments > div { grid-template-columns: minmax(0, 1fr); }
  .day-adjustments .text-button { justify-self: stretch; }
  .day-navigate { padding-inline: 10px; font-size: 13px; }
  .share-actions { grid-template-columns: minmax(0, 1fr); }
}
@media (max-height: 500px) {
  #info-dialog:has(.share-qr), #info-dialog:has(.shared-stops), #info-dialog:has(.redeem-card),
  #info-dialog:has([data-feature="begin-day"]), #info-dialog:has([data-feature="apply-suggestion"]),
  #info-dialog:has([data-feature="skip-mustdo"]) { max-height: calc(100dvh - 16px); }
  .share-qr { margin-block: 14px; }
}

/* Leave room for the itinerary beneath the planning controls on desktop. */
@media (min-width: 1101px) {
  .day-entry { margin: 0; padding: 8px 14px; border: 0; border-bottom: 1px solid #dce4d3; border-radius: 0; }
  .day-entry p { display: none; }
  .trip-settings > summary { min-height: 54px; padding: 8px 16px; }
  .trip-settings > summary small { margin-top: 2px; }
  #route-limits > summary { min-height: 54px; padding: 8px 44px 8px 16px; }
  #route-limits > summary::after { top: 20px; }
  #route-limits[open] > summary::after { top: 24px; }
  #limits-summary { margin-top: 2px; }
  .route-summary { margin: 10px 12px 0; padding: 10px 5px; }
  .route-summary small { margin-top: 4px; }
  .route-status:not(:empty) { padding: 8px 16px; line-height: 1.55; }
}

/* Keep the next planning action close to the itinerary. */
.planner > .panel-heading { gap: 10px; }
.planner > .panel-heading h2 { min-width: 0; }
.planner .saved-label { margin-left: auto; }
#share-day {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 64px;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #a7bc9c;
  border-radius: 7px;
  background: #ffffff0c;
  color: #fffdf5;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}
#share-day:focus-visible { outline: 3px solid #f4d899; outline-offset: 3px; }
#share-day:disabled { color: #d0dec9; opacity: .65; }
#find-more-offers {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: calc(100% - 28px);
  min-height: 44px;
  margin: 8px 14px 16px;
  padding: 11px 12px;
  border: 1px solid #bdcdb1;
  border-radius: 8px;
  background: #f2f6ec;
  color: #315941;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  white-space: normal;
}
#share-day[hidden], #find-more-offers[hidden] { display: none !important; }

/* Privacy and sharing actions precede the optional QR code. */
.share-actions { margin-bottom: 17px; }
.share-actions.single-action { grid-template-columns: minmax(0, 1fr); }
.share-qr-disclosure { margin-top: 15px; border-top: 1px solid #dce4d3; }
.share-qr-disclosure > summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 10px 25px 10px 0;
  color: #36543e;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}
.share-qr-disclosure > summary::-webkit-details-marker { display: none; }
.share-qr-disclosure > summary::after {
  position: absolute;
  right: 5px;
  content: '';
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}
.share-qr-disclosure[open] > summary::after { transform: rotate(225deg); }
.share-qr-disclosure .share-qr { margin-block: 8px 17px; }
.share-plan-summary { padding: 11px 13px; border: 1px solid #dce4d2; border-radius: 8px; background: #f0f4e9; color: #36543e !important; font-size: 13px !important; line-height: 1.6 !important; }
.shared-stops li { overflow-wrap: anywhere; }
.shared-stops li > strong { color: #294b35; }
.share-stop-offer { display: block; margin-top: 5px; color: #36543e; font-size: 12px; line-height: 1.55; }
#dialog-content > .eyebrow { display: block; padding-right: 38px; line-height: 1.6; }

.day-arrival .day-visit-time { display: grid; gap: 5px; }
.day-arrival .day-visit-time small { color: #53634d; font-size: 11px; font-weight: 500; line-height: 1.4; letter-spacing: .2px; }
.day-card .day-handoff { margin: 9px 1px 14px; color: #53634d; font-size: 12px; line-height: 1.6; }
.day-entry p { margin: 8px 0 0; }
.no-purchase-filter { display: grid; grid-template-columns: 19px minmax(0, 1fr); column-gap: 9px; row-gap: 2px; }
.no-purchase-filter > small { grid-column: 2; color: #53634d; font-size: 11px; line-height: 1.5; }

@media (hover: hover) and (pointer: fine) {
  #share-day:hover:not(:disabled) { background: #ffffff1a; border-color: #d0dec9; }
  #find-more-offers:hover { background: #e9f1e0; border-color: #a6bc96; }
}
@media (max-width: 1100px) {
  .planner .saved-label { display: none; }
  #share-day { margin-left: auto; }
  .planner > .panel-heading { padding-block: 11px; }

  /* One scrolling dialog: preserve sources and terms while exposing branches sooner. */
  #location-dialog { overscroll-behavior: contain; }
  .location-picker-header { padding: 12px 16px 0; }
  .location-picker-header > .eyebrow { display: none; }
  .location-picker-header .picker-business { gap: 10px; margin: 2px 36px 8px 0; }
  .location-picker-header .business-mark.picker-logo { width: 44px; height: 44px; flex-basis: 44px; border-radius: 9px; }
  .location-picker-header .picker-business h2 { font-size: 26px; line-height: 1.1; }
  .location-offers { gap: 5px; }
  .location-offers > div { gap: 3px 7px; }
  .location-offers strong { font-size: 13px; line-height: 1.4; }
  .location-offers .badge { font-size: 10px; line-height: 1.5; }
  .location-offers .picker-source { display: inline-flex; align-items: center; min-height: 28px; padding-block: 3px; font-size: 12px; }
  .location-filter-note { margin-block: 5px 7px !important; font-size: 11px !important; line-height: 1.45 !important; }
  .location-picker-filters { gap: 6px; }
  .location-picker-filters .search input, .location-picker-filters select { min-height: 44px; height: 44px; font-size: 16px; }
  .location-picker-meta { gap: 2px 10px; padding-block: 7px; font-size: 11px; line-height: 1.45; }
  .location-picker-meta #location-distance-note { font-size: 10px; }
  #place-attributions { padding-inline: 16px; font-size: 10px; line-height: 1.5; }
  .location-options { padding-top: 8px; }
  .location-choice .details-button, .location-choice .add-button { min-height: 44px; font-size: 13px; }
  .location-choice .add-button { padding-inline: 12px; }
  .location-picker-footer { padding-block: 8px; }
  .location-picker-footer .secondary { min-height: 44px; font-size: 14px; }
}
@media (max-width: 360px) {
  #share-day { min-width: 61px; padding-inline: 10px; }
  .area-radius { display: grid; flex: 1 1 120px; gap: 4px; }
  .area-radius select { width: 100%; min-width: 104px; }
  .area-finder > .secondary { align-self: flex-end; }
  .location-picker-header { padding-inline: 13px; }
  .location-picker-header .picker-business h2 { font-size: 24px; }
  .location-choice-actions { gap: 7px; }
  .location-choice .details-button { font-size: 12px; }
  .location-choice .add-button { padding-inline: 9px; font-size: 12px; }
}
