/* LetsGo: lime, aqua and coral. Shared brand tokens and component styling. */
:root {
  --brand-lime: #d6e85a;
  --brand-aqua: #8fd6d3;
  --brand-coral: #e85b4a;
  --brand-ink: #182522;
  --brand-paper: #fafaf4;
  --brand-teal: #21635e;
  --brand-line: #dce3d8;
  --navy: var(--brand-ink);
  --navy-2: #11201d;
  --ink: var(--brand-ink);
  --surface: var(--brand-paper);
  --surface-2: #edf7f4;
  --border: var(--brand-line);
  --muted: #54635e;
  --orange: #a93629;
  --orange-2: #87291f;
  --gold: var(--brand-lime);
  --ui-line: var(--brand-line);
  --ui-muted: var(--muted);
  --product-paper: var(--brand-paper);
  --product-line: var(--brand-line);
  --product-muted: var(--muted);
  --mint: #e5f4ee;
  --lavender: #e7f5f3;
  --peach: #ffebe6;
  --fun-coral: var(--brand-coral);
  --fun-teal: var(--brand-teal);
  --fun-lavender: var(--brand-aqua);
  --fun-lilac: #e7f5f3;
  --fun-peach: #ffebe6;
  --fun-sky: #e7f5f3;
  --fun-butter: #f2f6d6;
  --fun-yellow: var(--brand-lime);
  --fun-mint: #e5f4ee;
  --fun-paper: var(--brand-paper);
  --fun-ink: var(--brand-ink);
  --fun-line: var(--brand-line);
  --fun-shadow: 0 4px 0 #e5eadd;
}
main { background: var(--brand-paper); }
main::before { content: ""; display: block; height: 4px; background: linear-gradient(90deg, var(--brand-lime) 0 45%, var(--brand-aqua) 45% 80%, var(--brand-coral) 80%); }
main :is(h1, h2, h3) { overflow-wrap: anywhere; }
main :is(p, .preserve-lines) { overflow-wrap: anywhere; }
:where(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid #167d74; outline-offset: 4px; }
.btn-primary, .account-inner .product-primary { background: var(--brand-lime); border-color: var(--brand-lime); color: var(--brand-ink); box-shadow: 0 3px 0 #b3c33e; }
.btn-primary:hover, .account-inner .product-primary:hover { background: #c4d64b; border-color: #c4d64b; color: var(--brand-ink); }
.btn { min-height: 44px; }
button:disabled { cursor: not-allowed; }
.eyebrow.dark { color: #21635e; font-size: .72rem; line-height: 1.5; }
.field-hint, .meta, .character-count { font-size: .82rem; }

/* A real component, in the document flow: never a floating assistant. */
.scout-guide { display: flex; align-items: center; gap: 18px; padding: 18px 22px; border: 1px solid #dce3d8; border-radius: 20px; background: var(--fun-paper); color: var(--fun-ink); box-shadow: var(--fun-shadow); }
.scout-art { position: relative; isolation: isolate; flex: 0 0 82px; width: 82px; }
.scout-art img { position: relative; display: block; width: 100%; height: auto; transform-origin: 50% 92%; filter: drop-shadow(0 5px 2px #1b2a4a16); }
.scout-orbit { position: absolute; inset: 16% -7% 10%; z-index: -1; border-radius: 50%; background: var(--fun-yellow); }
.scout-spark { position: absolute; top: 1%; right: -9px; color: #a5421c; font-size: 20px; transform: rotate(12deg); }
.scout-copy { min-width: 0; }
.scout-label { display: block; margin-bottom: 6px; font-size: .64rem; font-weight: 800; letter-spacing: .09em; color: #885027; line-height: 1.5; }
.scout-message strong { display: block; font-size: 1.1rem; font-weight: 800; line-height: 1.35; letter-spacing: -.025em; }
.scout-message p { font-size: .85rem; line-height: 1.6; margin: 6px 0 0; color: #54635e; }
.scout-actions { display: grid; gap: 5px; margin-top: 12px; }
.scout-destination, .scout-shuffle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 9px 12px; border-radius: 10px; font: inherit; font-size: .8rem; font-weight: 750; text-decoration: none; }
.scout-destination { background: var(--fun-teal); color: #fff; }
.scout-destination:hover { background: #10655e; color: #fff; }
.scout-shuffle { border: 1px dashed #b5a486; background: transparent; color: var(--fun-ink); cursor: pointer; }
.scout-shuffle:hover { background: #fff1d3; }
.scout-shuffle[hidden] { display: none; }
.home-scout { position: absolute; top: 28px; right: 28px; width: 240px; }
.home-scout .scout-guide { flex-direction: column; gap: 8px; padding: 18px; background: #fff3d8fa; text-align: center; box-shadow: 0 6px 0 #11203938; }
.home-scout .scout-art { flex-basis: auto; width: 94px; }
.home-scout .scout-message { min-height: 115px; }
.home-search-panel { width: min(710px, calc(100% - 292px)); }
.home-start { min-height: 490px; }
.scout-guide--community { flex-direction: column; text-align: center; gap: 12px; }
.scout-guide--community .scout-art { flex-basis: auto; width: 100px; }
.scout-guide--contribute { margin-block: 20px; background: var(--fun-mint); border-color: #c6ddce; }
.scout-guide--contribute .scout-orbit, .scout-guide--trips .scout-orbit { background: #b9dfca; }
.scout-guide--account { margin-top: 20px; box-shadow: none; }
.scout-guide--account .scout-art, .scout-guide--visit .scout-art { flex-basis: 62px; width: 62px; }
.scout-guide--account .scout-label, .scout-guide--visit .scout-label { font-size: .6rem; }
.scout-guide--visit { margin-top: 18px; padding: 16px; align-items: flex-start; box-shadow: none; }
.scout-guide--detour { margin-bottom: 28px; }
.scout-guide--explore { margin-bottom: 24px; }
.travel-welcome { margin-top: 24px; }
.travel-welcome .scout-guide { border-radius: 20px; }
.travel-welcome .scout-guide--saved { background: var(--fun-lilac); border-color: #cde5df; }
.travel-welcome .scout-guide--trips { background: var(--fun-mint); border-color: #c6ddce; }

/* Browse: readable chips, clear filters, and stable photo cards. */
.inspiration-rail { display: flex; align-items: center; gap: 8px; min-height: 58px; padding-block: 7px; overflow-x: auto; scrollbar-width: thin; white-space: nowrap; }
.inspiration-rail-label { display: inline-flex; align-items: center; gap: 6px; font-size: .75rem; font-weight: 800; color: #21635e; margin-right: 6px; }
.inspiration-rail a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 8px 13px; background: #fff; border: 1px solid var(--fun-line); border-radius: 999px; color: var(--fun-ink); font-size: .78rem; font-weight: 700; text-decoration: none; }
.inspiration-rail a:hover { border-color: #a85b32; }
.place-card, .feed-card, .location-card { border: 1px solid var(--fun-line); box-shadow: var(--fun-shadow); background: #fff; }
.place-card { overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
.place-card:hover { transform: translateY(-3px); box-shadow: 0 7px 0 #e5eadd; }
.place-category { color: #21635e; font-weight: 750; }
.place-card .rating { background: #fff4d8; border-radius: 999px; padding: 4px 8px; }
.content-card { border-color: var(--fun-line); }
.filter-grid { border: 1px solid var(--fun-line); background: var(--fun-paper); border-radius: 18px; }
.advanced-filters summary, .ranking-explainer summary { min-height: 44px; padding-block: 10px; }
.ranking-explainer { padding-inline: 14px; }
.geo-hero-visual { border: 5px solid #fff; box-shadow: 0 5px 0 #15203930; }
.geo-hero-visual figcaption { color: #54635e; background: #fff; font-size: .75rem; }
.place-visual { height: 190px; position: relative; overflow: hidden; background: var(--fun-ink); }
.place-visual img { width: 100%; height: 100%; object-fit: cover; opacity: .7; }
.place-visual span, .place-visual b { position: absolute; padding: 6px 10px; background: var(--fun-yellow); color: var(--fun-ink); border-radius: 8px; }
.place-visual span { left: 15px; bottom: 15px; }
.place-visual b { right: 12px; top: 12px; font-size: .65rem; }

/* Purposeful empty states with a useful next step. */
.empty-state, .social-empty { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 28px; border: 1px dashed #b8c6b7; border-radius: 20px; background: var(--fun-paper); text-align: left; }
.empty-state::before, .social-empty::before { content: ""; display: block; width: 68px; height: 86px; background: url('/images/mascot/skate-mascot.svg') center / contain no-repeat; }
.empty-state strong, .social-empty h2 { color: var(--fun-ink); font-size: 1.25rem; }
.empty-state > span, .social-empty p { max-width: 58ch; color: #54635e; }
.empty-state > .ui-icon, .social-empty > span[aria-hidden] { display: none; }
.empty-state .empty-actions, .recovery-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.social-empty h2, .social-empty h3, .social-empty p { margin: 0; }
.gallery-empty { border: 1px dashed #b8c6b7; background: var(--fun-butter); color: var(--fun-ink); border-radius: 20px; }
.gallery-empty .eyebrow { color: #21635e; }

/* Shared sections and selected states use the same visual language. */
.workspace-tabs, .place-section-nav, .social-tabs { background: #eef1e8; border: 1px solid var(--fun-line); border-radius: 14px; padding: 6px; gap: 6px; }
.workspace-tabs a, .place-section-nav a, .social-tabs a { min-height: 44px; border-radius: 10px; padding: 10px 16px; }
.focus-tabs a[aria-selected=true], .social-tabs a[aria-current=page], .trip-day-tabs button[aria-pressed=true] { background: var(--fun-ink); color: #fff; box-shadow: 0 2px 0 #101c30; }
.pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin-top: 24px; }
.pager a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border-radius: 12px; }
.mobile-dock { border-top: 2px solid #ead3a7; }
.mobile-dock a[aria-current=page] { background: var(--fun-peach); color: #21635e; border-radius: 12px; }

/* Community and profiles feel like a personal travel scrapbook. */
.social-heading { margin-top: 24px; padding: 28px; border: 1px solid #ddd3e9; border-radius: 24px; background: linear-gradient(115deg, var(--fun-lilac), var(--fun-butter)); }
.social-heading h1 { color: var(--fun-ink); font-size: clamp(2.2rem, 4vw, 3.5rem); }
.social-heading p { max-width: 58ch; }
.community-vibes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-block: 18px; }
.community-vibes a { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; border: 1px solid var(--fun-line); padding: 14px; border-radius: 14px; background: #fff; text-decoration: none; }
.community-vibes a > span { grid-row: span 2; font-size: 1.3rem; }
.community-vibes strong { font-size: .85rem; }
.community-vibes small { font-size: .75rem; color: #54635e; }
.community-vibes a:hover { background: var(--fun-butter); border-color: #b98b55; }
.community-aside > .scout-guide { margin-bottom: 24px; }
.feed-card > header { background: var(--fun-paper); border-radius: 16px 16px 0 0; }
.people-grid .content-card { background: #fff; border-top: 4px solid var(--fun-teal); }
.people-grid .creator-avatar, .avatar-large { background: var(--brand-coral); color: var(--brand-ink); }
.profile-hero { background: var(--fun-lilac); border: 1px solid #cde5df; border-radius: 24px; }
.my-travel-summary { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin-block: 18px; }
.my-travel-summary a { display: grid; padding: 16px; border: 1px solid var(--fun-line); border-radius: 14px; text-decoration: none; background: #fff; }
.my-travel-summary strong { font-size: 1.5rem; }
.my-travel-summary span { font-size: .85rem; color: #54635e; }
#profile-settings { margin-top: 24px; border-top: 1px solid var(--fun-line); padding-top: 16px; }
#profile-settings > summary { min-height: 44px; font-weight: 750; }
#my-visited .empty-state { margin-bottom: 20px; }

/* Place details and itinerary: keep the controls still and the information clear. */
.place-intro { margin-top: 24px; padding: 24px; border: 1px solid #dce3d8; border-radius: 24px; background: var(--fun-peach); }
.place-title-row h1 { font-size: clamp(2rem, 4vw, 3.3rem); }
.visit-card { background: var(--fun-paper); border: 1px solid #dce3d8; border-radius: 20px; box-shadow: var(--fun-shadow); }
.visit-facts > div { background: var(--fun-mint); border: 1px solid #dae6dd; border-radius: 14px; }
.visit-facts > div:nth-child(2) { background: var(--fun-butter); border-color: #ecdfbc; }
.visit-facts > div:nth-child(3) { background: var(--fun-lilac); border-color: #cde5df; }
.insider-tip { border-left: 4px solid #a93629; border-radius: 0 14px 14px 0; background: var(--fun-butter); }
.gallery-photo, .gallery-clip { border: 3px solid #fff; border-radius: 16px; }
.rating-picker input:checked + span { background: var(--brand-coral); color: var(--brand-ink); border-color: var(--fun-coral); }
.page-hero.compact.trip-hero { background: var(--fun-ink); }
.trip-totals { display: flex; flex-wrap: wrap; gap: 10px; }
.trip-totals span, .trip-totals strong { padding: 8px 12px; border: 1px solid #ffffff45; border-radius: 12px; }
.trip-totals strong { background: var(--fun-yellow); color: var(--fun-ink); }
.trip-stop { border: 1px solid var(--fun-line); border-left: 4px solid var(--fun-teal); background: #fff; box-shadow: 0 3px 0 #e5ece7; }
.trip-stop .stop-number { background: #e1f0e7; color: #27543a; }
.trip-create { background: var(--fun-mint); border: 1px solid #c6ddce; border-radius: 18px; padding-inline: 20px; margin-block: 20px; }
.trip-create > summary { min-height: 52px; padding-block: 14px; font-weight: 800; }
.trip-create[open] > summary { border-bottom: 1px solid #c6ddce; margin-bottom: 16px; }
.trip-create .form-grid { padding-bottom: 18px; }
.trip-create .trip-options { grid-column: 1 / -1; }
.trip-create .form-grid > button { margin-top: 0; }
.trip-settings { margin-top: 24px; }

/* Forms and accounts: a friendly welcome, followed by a focused task. */
.contribute-shell { margin-top: 24px; padding: 28px; border: 1px solid var(--fun-line); border-radius: 24px; background: var(--fun-paper); }
.editor-steps { padding: 8px; gap: 8px; background: #eef1e8; border-radius: 16px; }
.editor-steps li { border: 0; border-radius: 10px; font-size: .85rem; }
.editor-steps li[aria-current=step] { background: var(--fun-ink); color: #fff; border-radius: 10px; }
.editor-steps .step-visited { background: #dfeee5; color: #27543a; }
.guided-editor { box-shadow: 0 4px 0 #e5eadd; border-color: var(--fun-line); }
.editor-navigation { flex-wrap: wrap; }
.account-body main::before { display: none; }
.account-inner { padding: 28px; border: 1px solid var(--fun-line); border-radius: 24px; background: #fff; box-shadow: var(--fun-shadow); }
.account-content { background: var(--fun-paper); }
.scene-copy em { color: var(--fun-yellow); }
.account-benefits article { padding: 10px; border-radius: 12px; background: #f6f3ec; }
.local-account-panel { border: 1px solid var(--fun-line); border-radius: 24px; overflow: hidden; background: #fff; box-shadow: var(--fun-shadow); }
.local-account-panel > div > .scout-guide { margin: 20px 0; }
.notice, .notice-global { border: 1px solid #d9b777; border-radius: 12px; background: #fff6e3; color: #634819; }

/* Admin tables stay calm, with readable rows and numeric alignment. */
.table-scroll { border: 1px solid var(--fun-line); border-radius: 14px; background: #fff; }
.table-scroll table { width: 100%; }
.table-scroll th { background: #f3f0e9; color: var(--fun-ink); }
.table-scroll td { font-variant-numeric: tabular-nums; }
.table-scroll tbody tr:nth-child(even) { background: #faf9f5; }
.table-scroll caption { text-align: left; padding: 12px 16px; color: #54635e; }
.stats-grid article { border: 1px solid var(--fun-line); border-top: 3px solid var(--fun-teal); border-radius: 14px; background: #fff; }
.site-footer { border-top: 5px solid var(--fun-yellow); }
.footer-brand-note { color: var(--fun-yellow); font-size: .85rem; }
.site-footer .footer-brand-note { color: var(--fun-yellow); }


/* Consistent actions and category colors across discovery surfaces. */
.letsgo-logo > span:first-child { background: var(--brand-coral); color: var(--brand-ink); }
.nav-join { background: var(--fun-teal); color: #fff; }
.nav-join:hover { background: #10655e; color: #fff; }
.home-search-panel .product-search button,
.discover-hero-search button { background: var(--brand-lime); color: var(--brand-ink); }
.home-search-panel .product-search button:hover,
.discover-hero-search button:hover { background: #c4d64b; color: var(--brand-ink); }
.home-search-panel h1 em { color: var(--fun-yellow); }
.home-start .hero-badge { background: var(--fun-yellow); border-color: var(--fun-yellow); color: var(--fun-ink); }
.home-start .hero-badge .ui-icon { color: var(--fun-ink); }
.home-start .hero-moods button[aria-pressed=true] { background: var(--fun-yellow); border-color: var(--fun-yellow); color: var(--fun-ink); }
.home-shortcuts > a:nth-child(1) { background: var(--fun-lilac); border-color: #cde5df; }
.home-shortcuts > a:nth-child(2) { background: var(--fun-mint); border-color: #b8ddd2; }
.home-shortcuts > a:nth-child(3) { background: var(--fun-peach); border-color: #eec8b2; }
.home-shortcuts > a .shortcut-icon { background: #ffffffb3; color: var(--fun-ink); }
.home-shortcuts > a:hover { border-color: var(--fun-teal); }
.home-shortcuts small, .vibe-chips small { color: #47566a; }

/* Link destinations keep the same category color wherever they appear. */
:is(.inspiration-rail, .vibe-chips, .community-vibes) > a[href*="Tag=nature"] { --category-fill: var(--fun-mint); --category-edge: #b8ddd2; }
:is(.inspiration-rail, .vibe-chips, .community-vibes) > a[href*="Tag=culture"] { --category-fill: var(--fun-lilac); --category-edge: #cde5df; }
:is(.inspiration-rail, .vibe-chips, .community-vibes) > a[href*="Tag=food"] { --category-fill: var(--fun-peach); --category-edge: #eec8b2; }
:is(.inspiration-rail, .vibe-chips, .community-vibes) > a[href*="Tag=water"] { --category-fill: var(--fun-sky); --category-edge: #b8dcd9; }
:is(.inspiration-rail, .vibe-chips, .community-vibes) > a[href*="Tag=family-friendly"] { --category-fill: var(--fun-butter); --category-edge: #e8d38d; }
:is(.inspiration-rail, .vibe-chips, .community-vibes) > a[href*="Tag=hidden-gem"] { --category-fill: var(--fun-lilac); --category-edge: #cde5df; }
:is(.inspiration-rail, .vibe-chips, .community-vibes) > a[href*="Tag="] {
  background: var(--category-fill, var(--fun-paper));
  border-color: var(--category-edge, var(--fun-line));
  color: var(--fun-ink);
}
:is(.inspiration-rail, .vibe-chips, .community-vibes) > a[href*="Tag="]:hover { border-color: var(--fun-teal); }
.vibe-chips > a .ui-icon { color: var(--fun-teal); }
.destination-tile .destination-tag { background: var(--fun-butter); color: var(--fun-ink); }
.destination-tile .destination-arrow { background: var(--fun-yellow); color: var(--fun-ink); }
.place-card .place-category { background: var(--fun-mint); color: #10655e; }
.place-card .rating { color: var(--fun-ink); }
.card-save button[aria-pressed=true] { background: var(--fun-teal); border-color: var(--fun-teal); color: #fff; }
.geo-hero.geo-hero-framed,
.page-hero.compact.trip-hero { background: radial-gradient(ellipse at 100% 0%, #167d74, transparent 72%), var(--fun-ink); border-bottom: 4px solid var(--fun-yellow); }
.geo-hero .eyebrow { color: var(--fun-yellow); }
.scout-guide--community { background: var(--fun-lilac); border-color: #cde5df; }
.scout-guide--explore { background: var(--fun-sky); border-color: #b8dcd9; }
.scout-guide--visit { background: var(--fun-butter); }
.scout-guide--account { background: var(--fun-peach); border-color: #eec8b2; }
.community-vibes > a[href="?tab=latest"] { background: var(--fun-peach); border-color: #eec8b2; }
.community-vibes > a[href="?tab=people"] { background: var(--fun-sky); border-color: #b8dcd9; }
.community-vibes > a[href="/Contribute"] { background: var(--fun-mint); border-color: #b8ddd2; }
.community-vibes > a:hover { border-color: var(--fun-teal); }
.community-vibes strong, .my-travel-summary strong { color: var(--fun-ink); }
.my-travel-summary a:nth-child(1) { background: var(--fun-lilac); border-color: #cde5df; }
.my-travel-summary a:nth-child(2) { background: var(--fun-mint); border-color: #b8ddd2; }
.my-travel-summary a:nth-child(3) { background: var(--fun-peach); border-color: #eec8b2; }
.my-travel-summary a:hover { border-color: var(--fun-teal); }
.account-benefits article:nth-child(1) { background: var(--fun-peach); }
.account-benefits article:nth-child(2) { background: var(--fun-mint); }
.account-benefits article:nth-child(3) { background: var(--fun-lilac); }
.stats-grid article:nth-child(3n+1) { border-top-color: var(--fun-coral); }
.stats-grid article:nth-child(3n+2) { border-top-color: var(--fun-teal); }
.stats-grid article:nth-child(3n) { border-top-color: var(--fun-lavender); }
.site-footer { background: var(--fun-ink); }

@media (max-width: 1000px) {
  .vibe-chips { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-scout { width: 210px; right: 22px; }
  .home-search-panel { width: calc(100% - 252px); padding-inline: 28px; }
}
@media (max-width: 850px) {
  .home-search-panel { width: 100%; }
  .home-scout { position: static; width: auto; margin: 0 24px 24px; }
  .home-scout .scout-guide { flex-direction: row; text-align: left; padding: 18px; gap: 20px; }
  .home-scout .scout-art { flex: 0 0 90px; }
  .home-scout .scout-message { min-height: 0; }
  .home-scout .scout-actions { display: flex; flex-wrap: wrap; }
  .community-vibes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .shell { width: calc(100% - 28px); }
  .home-scout { margin: 0 16px 20px; }
  .home-scout .scout-guide { padding: 16px; gap: 14px; align-items: flex-start; }
  .home-scout .scout-art { flex-basis: 58px; }
  .home-scout .scout-actions { display: grid; }
  .scout-guide { padding: 16px; gap: 14px; align-items: flex-start; }
  .scout-art { flex-basis: 58px; width: 58px; }
  .scout-label { font-size: .6rem; }
  .scout-message strong { font-size: 1rem; }
  .scout-message p { font-size: .82rem; }
  .home-shortcuts { grid-template-columns: 1fr; }
  .home-shortcuts > a { flex-direction: row; text-align: left; padding: 14px; gap: 12px; }
  .home-shortcuts strong { font-size: .87rem; }
  .home-shortcuts small { display: block; font-size: .76rem; }
  .home-shortcuts > a > .ui-icon { display: block; margin-left: auto; }
  .home-search-panel .search-ideas, .home-search-panel .search-ideas a { font-size: .78rem; }
  .home-search-panel .search-ideas button { min-height: 44px; }
  .hero-moods button { font-size: .78rem; min-height: 44px; }
  .inspiration-rail a { min-height: 44px; }
  .section-heading { flex-wrap: wrap; }
  .section-heading .text-link { max-width: none; margin-top: 0; font-size: .82rem; }
  .destination-tile > div > span { font-size: .75rem; }
  .destination-tag { font-size: .64rem; }
  .community-vibes { gap: 8px; }
  .community-vibes a { padding: 12px 10px; column-gap: 7px; }
  .community-vibes strong { font-size: .78rem; }
  .community-vibes small { font-size: .7rem; }
  .social-heading, .place-intro, .contribute-shell { padding: 20px; }
  .social-heading { align-items: flex-start; gap: 14px; }
  .my-travel-summary { gap: 8px; }
  .my-travel-summary a { padding: 12px 10px; }
  .my-travel-summary span { font-size: .72rem; }
  .trip-create { padding-inline: 14px; }
  .empty-state, .social-empty { padding: 22px; }
  .account-inner { padding: 22px 18px; }
  .mobile-dock a span { font-size: .68rem; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Keep the scenery selector separate from Scout and from search suggestions. */
.home-start .hero-moods { position: static; width: calc(100% - 292px); padding: 0 44px 24px; text-align: left; }
.vibe-heading p { font-size: .85rem; }
.vibe-chips > a { grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 10px; row-gap: 4px; }
.vibe-chips .vibe-emoji { grid-column: 1; grid-row: 1 / 3; }
.vibe-chips strong { grid-column: 2; grid-row: 1; font-size: .82rem; white-space: normal; }
.vibe-chips small { grid-column: 2; grid-row: 2; font-size: .73rem; white-space: normal; }
.vibe-chips .ui-icon { grid-column: 3; grid-row: 1 / 3; }
.trip-add-page > .content-card { margin-block: 20px; }
.trip-compare-page .table-scroll { margin-bottom: 28px; }
@media (max-width: 850px) {
  .home-start .hero-moods { width: 100%; padding: 0 24px 24px; }
}
@media (max-width: 600px) {
  .home-start .hero-moods { padding-inline: 20px; }
  .home-start .hero-moods > div { flex-wrap: wrap; }
}

/* Live authenticated-page review: readable breadcrumbs and compact heading actions. */
.contribute-shell .breadcrumb, .contribute-shell .breadcrumb a,
.place-intro .breadcrumb, .place-intro .breadcrumb a { color: #54635e; }
.contribute-shell .breadcrumb a:hover, .place-intro .breadcrumb a:hover { color: #21635e; }
.results-heading > h1 { margin-block: 0; color: var(--fun-ink); }
.results-heading > .btn { align-self: center; }
.section.shell > article.content-card > h2 { font-size: clamp(1.35rem, 2vw, 1.8rem); margin-block: 12px; }

/* A photo-led homepage with a quiet reading surface and clear action hierarchy. */
.letsgo-logo > span:first-child, .brand-mark { background: var(--brand-lime); color: var(--brand-ink); }
.letsgo-logo .logo-stop { color: #a93629; }
.letsgo-user-actions .nav-join, .home-search-panel .product-search button { background: var(--brand-lime); color: var(--brand-ink); border-color: var(--brand-lime); }
.letsgo-user-actions .nav-join:hover, .home-search-panel .product-search button:hover { background: #c4d64b; color: var(--brand-ink); }
.home-start { min-height: 510px; background: var(--brand-paper); border: 1px solid var(--brand-line); border-radius: 28px; }
.home-start .home-photo { border-radius: 28px; overflow: hidden; }
.home-start .home-photo > img { object-position: 65% center; }
.home-start .home-photo::after { background: linear-gradient(90deg, #fafaf4fa 0%, #fafaf4eb 32%, #fafaf49c 51%, #fafaf400 73%); }
.home-start .home-search-panel { width: min(680px, 65%); padding: 46px 40px 26px; }
.home-start .home-search-panel h1 { color: var(--brand-ink); font-size: clamp(2.6rem, 4.8vw, 4.2rem); line-height: 1.04; }
.home-start .home-search-panel h1 em { color: var(--brand-teal); }
.home-start .home-search-panel > p { color: #344a43; max-width: 34ch; font-size: 1rem; }
.home-start .hero-badge { color: var(--brand-ink); background: var(--brand-lime); border: 0; }
.home-start .hero-badge .ui-icon { color: var(--brand-ink); }
.home-start .product-search { background: #fff; border: 1px solid #b8c6b7; box-shadow: 0 8px 28px #1825220d; }
.home-start .product-search label { color: var(--brand-ink); }
.home-start .search-ideas, .home-start .search-ideas a, .home-start .search-ideas > span { color: #344a43; }
.home-start .search-ideas button { color: var(--brand-ink); background: #ffffffd9; border-color: #c8d6c7; }
.home-start .hero-moods { width: 65%; padding: 0 40px 30px; color: var(--brand-ink); }
.home-start .hero-moods > span { color: var(--brand-ink); text-shadow: none; }
.home-start .hero-moods > div { flex-direction: row; flex-wrap: wrap; }
.home-start .hero-moods button { color: var(--brand-ink); background: #ffffffde; border-color: #c8d6c7; }
.home-start .hero-moods button[aria-pressed=true] { background: var(--brand-aqua); border-color: var(--brand-teal); }
.home-start .hero-moods small { color: #344a43; }
.home-shortcuts .shortcut-icon { background: #ffebe6; color: #a93629; }
.home-shortcuts > a:nth-child(2) .shortcut-icon { background: #f2f6d6; color: var(--brand-ink); }
.home-shortcuts > a:nth-child(3) .shortcut-icon { background: var(--brand-aqua); color: var(--brand-ink); }
.vibe-chips > a:nth-child(3n+1) { background: #f2f6d6; }
.vibe-chips > a:nth-child(3n+2) { background: #e7f5f3; }
.vibe-chips > a:nth-child(3n) { background: #ffebe6; }
.vibe-chips > a:hover, .home-shortcuts > a:hover { border-color: var(--brand-teal); }
.mobile-dock a[aria-current=page], .workspace-tabs a[aria-current=page], .social-tabs a[aria-current=page] { background: var(--brand-lime); color: var(--brand-ink); }
.place-intro { background: #e7f5f3; }
.place-card { border-radius: 22px; box-shadow: 0 5px 18px #18252208; }
.place-card .place-cover { aspect-ratio: 4 / 3; height: auto; }
.place-card .place-cover img { height: 100%; object-fit: cover; }
/* List thumbnails stretch to the content height instead of using the grid aspect ratio. */
.results-list .place-card .place-cover { aspect-ratio: auto; align-self: stretch; min-width: 0; min-height: 200px; }
.results-list .place-cover .card-photo { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.place-card-body > p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.place-card-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 0 16px 16px; }
.place-card-actions .card-save, .place-card-actions .card-save-signin { position: static; margin: 0; flex: 1 1 auto; }
.place-card-actions .card-save { padding: 0; border: 0; }
.place-card-actions .card-save-status { flex-basis: 100%; }
.card-share { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 8px 14px; border: 1px solid var(--brand-line); border-radius: 999px; background: #e7f5f3; color: var(--brand-ink); font: inherit; font-size: .82rem; font-weight: 750; cursor: pointer; }
.card-share:hover { background: var(--brand-aqua); }
.card-share .ui-icon { width: 18px; height: 18px; }
.place-top-actions { flex-wrap: wrap; }
.quick-share-status { position: fixed; z-index: 1000; left: 50%; bottom: max(96px, calc(env(safe-area-inset-bottom) + 86px)); transform: translateX(-50%); width: max-content; max-width: calc(100vw - 32px); border-radius: 16px; padding: 14px 20px; color: var(--brand-paper); background: var(--brand-ink); box-shadow: 0 8px 28px #18252225; }
.quick-share-status[hidden] { display: none; }
.quick-share-fallback { width: min(460px, calc(100vw - 32px)); max-height: 85dvh; padding: 28px; border: 1px solid var(--brand-line); border-radius: 24px; background: var(--brand-paper); color: var(--brand-ink); }
.quick-share-fallback::backdrop { background: #18252270; }
.quick-share-fallback h2 { padding-right: 20px; line-height: 1.15; }
.quick-share-fallback input { width: 100%; margin: 8px 0 20px; }
@media (max-width: 850px) {
  .home-start .home-search-panel { width: 75%; padding-inline: 24px; }
  .home-start .hero-moods { width: 75%; padding-inline: 24px; }
}
@media (max-width: 600px) {
  .home-start { display: flex; flex-direction: column; min-height: 0; overflow: hidden; border-radius: 24px; }
  .home-start .home-photo { position: relative; inset: auto; z-index: auto; width: 100%; height: 220px; min-height: 220px; border-radius: 0; }
  .home-start .home-photo > img { position: absolute; object-position: 70% center; }
  .home-start .home-photo::after { display: none; }
  .home-start .home-search-panel { width: 100%; padding: 24px 20px 18px; }
  .home-start .home-search-panel h1 { font-size: clamp(2.15rem, 9vw, 3rem); }
  .home-start .hero-moods { width: 100%; padding: 0 20px 24px; }
}

.letsgo-nav #letsgo-navigation > a[aria-current="page"] { background: #f2f6d6; color: var(--brand-ink); box-shadow: inset 0 -3px var(--brand-teal); }

/* Actual place photos, with an honest empty state when none is available. */
.place-photo-placeholder { min-height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 24px; text-align: center; background: #e7f5f3; color: var(--brand-ink); }
.place-photo-placeholder .ui-icon { width: 36px; height: 36px; color: var(--brand-teal); }
.place-photo-placeholder > span { font-size: 1.1rem; font-weight: 800; }
.place-photo-placeholder small { color: #54635e; }
.place-photo-placeholder[hidden], .place-cover img[data-place-photo][hidden] { display: none; }
