/* Jungle Land: matte charcoal surfaces and a restrained orange gloss.
   Category art, its backdrops, and product imagery intentionally keep their
   existing rules in the earlier stylesheets. */
:root {
  color-scheme: dark;
  --forest: #f39845;
  --forest-2: #ffc17e;
  --ink: #f5efe6;
  --muted: #bcb7ad;
  --line: #48453e;
  --paper: #171815;
  --white: #282a25;
  --orange: #f3923d;
  --orange-soft: #4a3221;
  --green-soft: #382f24;
  --red-soft: #4a2b25;
  --shadow: 0 15px 36px #07080766;
}
body { background: #171815; }
.site-ambient {
  opacity: .66;
  background: radial-gradient(circle at 82% 13%, #7d3e1d 0, transparent 29%),
    radial-gradient(circle at 13% 68%, #3d3326 0, transparent 40%),
    linear-gradient(150deg, #171815, #23221e 58%, #101210);
  filter: blur(40px);
  animation-duration: 28s;
}
.site-watermark { color: #f9a65f; opacity: .075; }
.topbar { background: #1b1d19ed; border-bottom-color: #454039; }
.brand img { mix-blend-mode: normal; background: #f5f1e9; }
.brand, .brand small { color: var(--ink); }
.top-location { background: #332b23; color: #fff0dd; border-color: #66513e; box-shadow: none; }
.bottom-nav { background: #1c201cf5; border-color: #49443d; box-shadow: 0 -10px 35px #05060580; }
.bottom-nav button { color: #bbb9b0; }
.bottom-nav button.active { background: #ad5b2d50; color: #ffcb91; }
.nav-count { color: #25180d; }
.eyebrow { color: #ffc181; }
.eyebrow.light { color: #fff0d2; }
.text-button, .catalog-back, .catalog-breadcrumb button, .catalog-all-link,
.site-footer a, .legal-links button { color: #ffbe7b; }
.button, .feed-catalog-button {
  background: linear-gradient(140deg, #e87528, #ffa349);
  color: #2a1b10;
  box-shadow: inset 0 1px #ffffff7d, 0 5px 13px #0808074a;
}
.button:hover:not(:disabled), .feed-catalog-button:hover { background: #ffad59; }
.button.orange { background: linear-gradient(140deg, #f08732, #ffb35b); color: #291c11; }
.button.light { background: #fff8eb; color: #43240f; }
.button.light:hover:not(:disabled) { background: #fff0d8; }
.button.ghost { background: #2c2d27; color: #ffe1b6; border-color: #71513c; box-shadow: none; }
.button.ghost:hover:not(:disabled) { background: #3e3328; }
.hero, .profile-banner {
  isolation: isolate;
  background: radial-gradient(circle at 90% 12%, #ffd18a77, transparent 32%),
    linear-gradient(130deg, #b94f1b, #e87928 52%, #a9441a);
  box-shadow: inset 0 1px #ffffff65, 0 16px 38px #0007;
}
.hero::before {
  content: "";
  position: absolute;
  top: -50%; left: -90%; width: 54%; height: 210%;
  background: linear-gradient(110deg, transparent 12%, #fff4ce27 48%, transparent 82%);
  transform: skewX(-18deg);
  animation: jungle-theme-gloss 13s ease-in-out infinite;
  pointer-events: none;
}
.hero p, .profile-banner p { color: #fff2df; }
.hero-bubble, .hero-feature, .hero-news-empty { background: #38271b66; border-color: #fff4dc54; }
.hero-bubble span, .hero-feature-label, .hero-feature-label time,
.hero-news-empty span { color: #ffe7bd; }
.hero-home .hero-feature-copy p { color: #fff0dc; }
.hero-feature-copy a { color: #fff9ee; }
.hero-latest-post .hero-feature { background: #fff9ef; color: #2e2d27; border-color: #e8d8bd; }
.hero-latest-post .hero-feature-copy a { color: #60300f; }
.quick-card, .store-card, .feed-card, .order-card, .chat-card,
.profile-card, .cart-card, .notice-card { background: #282a25; border-color: #4a453c; box-shadow: 0 7px 22px #0004; }
.quick-card { color: var(--ink); }
.quick-card::before { background: radial-gradient(circle, #e18b4545, transparent 72%); }
.quick-card:nth-child(2)::before, .quick-card:nth-child(3)::before {
  background: radial-gradient(circle, #d56c3540, transparent 72%);
}
.quick-card:nth-child(2) .quick-icon, .quick-card:nth-child(3) .quick-icon {
  background: #4a3221; color: #ffbb78;
}
.feed-card:nth-child(2n) { background: #302b24; }
.feed-card a, .feed-details, .distance { color: #ffc381; }
.home-post.feed-card, .home-post.feed-card:nth-child(2n) {
  background: #292b26; color: #f5efe6; border-color: #4b453c;
}
.home-post-head time { color: #c0b9ad; }
.home-post-source { background: #503622; color: #ffd09d; }
.home-post-copy .feed-preview,
.home-post-copy .feed-details[open] p { color: #d0c7ba; }
.home-post-avatar { background: #f3923d; color: #2d1b0e; }
.feed-buffer-end { background: #292b26; }
.store-card p.store-seller { background: #363a30; color: #d8d2c4; }
.store-card-with-photo .store-navigation { background: #34352d; color: #ffe0bc; border-color: #554739; }
.store-card-with-photo .store-navigation:hover { background: #4c3b2b; }
.store-card-with-photo .store-write { background: #49301f; color: #ffe5c1; border-color: #775035; }
.store-card-with-photo .store-map-reviews { border-color: #555047; }
.store-provider-name, .store-review-links a { color: #decbb7; }
.store-card-with-photo p.store-seller { color: #bfb8ac; }
.channel-links a, .searchbar, .group-search, .chip, .taste-browse,
.icon-button, .quantity-controls button { background: #292b26; color: var(--ink); border-color: #51483d; }
.searchbar:focus-within, .group-search:focus-within { border-color: #e99042; box-shadow: 0 0 0 3px #f3923d33; }
.searchbar .icon, .group-search .icon { color: #ffbb7e; }
.chip.active { background: #f3923d; border-color: #f3923d; color: #26190f; }
.taste-toggle { background: #3b3025; color: #ffd3a1; }
.catalog-tile, .catalog-tile.regulated { background: #292b26; color: var(--ink); border-color: #51463b; box-shadow: 0 8px 22px #0004; }
.catalog-tile:where(:not([data-category])):hover,
.catalog-tile:where([data-category]).category-motion-active { border-color: #dc8747; box-shadow: 0 10px 28px #0007; }
.catalog-tile.regulated .catalog-tile-body { background: #292b26; }
.catalog-tile-body small, .catalog-tile.regulated .catalog-tile-body small,
.catalog-tile-body .icon { color: #ffbd79; }
.catalog-tile-body > span { color: #c9c0b4; }
/* Art backgrounds and image rules stay exactly as before. */
.product-card, .product-card.regulated {
  --ink: #282c27; --muted: #5c675d; --line: #e6dbc9;
  --forest: #703b19; --forest-2: #98501c; --green-soft: #fbefdf;
  background: #fffaf1; color: #282c27; border-color: #e8dccb;
  box-shadow: 0 8px 22px #0004;
}
.product-card.premium-electric { border-color: #d9b996; box-shadow: 0 12px 28px #0005; }
.product-body .category, .product-details-link { color: #98501c; }
.product-description, .product-body .stock-note { color: #5c675d; }
.product-bottom .button { color: #291b10; }
.product-question { background: #fff; color: #663a1c; border-color: #d9ccba; }
.product-question:hover, .product-question:focus-visible { background: #fff0d9; border-color: #bd7437; }
.browser-login-panel, .checkout-panel, .registration, .empty-state,
.chat-thread, .sheet { background: #292b26; border-color: #51483d; }
.browser-login-help, .contact-step, .consent-check,
.checkout-seller, .order-card .comment { background: #373026; color: #f1e5d4; border-color: #65503c; }
.field { color: #f0e4d2; }
.field input, .field textarea, .field select, .message-form textarea {
  background: #1e211e; color: #f5efe6; border-color: #605347;
}
.field input::placeholder, .field textarea::placeholder,
.searchbar input::placeholder, .group-search input::placeholder { color: #aaa396; }
.messages { background: #20221e; }
.message { background: #34352f; color: #f5efe6; border-color: #4c4b43; }
.message.mine { background: #493526; border-color: #7d5232; }
.legal-body, .notice-card, .notice-card strong { color: #eee5d7; }
.product-sheet-image, .product-stock-row { background: #fffaf1; color: #28302a; }
.product-stock-row.selected { background: #fff0dc; border-color: #d8a06d; }
.product-sheet-image,
.product-stock-row {
  --muted: #596459;
  --forest-2: #98501c;
  --green-soft: #eaf4eb;
  color-scheme: light;
}
.product-stock-row .text-button { color: #754219; }
.product-sheet-description { color: #d5c9b7; }
.site-footer { color: #c8c1b5; }
.toast { background: #342922; }
.age-gate { background: radial-gradient(circle at 50% 0, #452b1e, #151714 65%); }
.age-card { background: #292b26; color: #f5efe6; border-color: #5b4b3c; box-shadow: 0 24px 70px #0008; }
.age-card p, .age-card small { color: #c8beb0; }
.age-eyebrow { color: #ffbd79; }
#jungleChatDock .chat-dock-panel { background: #292b26; color: #f5efe6; border-color: #594b3d; box-shadow: 0 18px 70px #0008; }
#jungleChatDock .chat-dock-header { background: linear-gradient(120deg, #a7441b, #e77a2d); }
#jungleChatDock .chat-dock-heading small { color: #ffead0; }
#jungleChatDock .chat-dock-context { background: #393126; color: #e0cbb5; border-color: #624833; }
#jungleChatDock .chat-dock-scroll { background: #20221e; }
#jungleChatDock .chat-dock-message { background: #33352e; color: #f5efe6; border-color: #555047; }
#jungleChatDock .chat-dock-message.mine { background: #503726; border-color: #825334; }
#jungleChatDock .chat-dock-message time, #jungleChatDock .chat-dock-empty { color: #c7bcae; }
#jungleChatDock .chat-dock-composer, #jungleChatDock .chat-dock-closed { background: #292b26; color: #d9ccba; border-color: #554b3f; }
#jungleChatDock .chat-dock-composer textarea { background: #1c1e1b; color: #f5efe6; border-color: #665342; }
#jungleChatDock .chat-dock-composer textarea::placeholder { color: #afa89c; }
#jungleChatDock .chat-dock-send, #jungleChatDock .chat-dock-bubble { background: linear-gradient(135deg, #dd7029, #f9a34b); color: #2c1c10; border-color: #ffcc91; }
#jungleChatDock .chat-dock-tools button,
#jungleChatDock .chat-card-mode-actions button { background: #3d3227; color: #ffd8aa; border-color: #6a4e37; }
@keyframes jungle-theme-gloss {
  0%, 19% { left: -90%; }
  55%, 100% { left: 165%; }
}
.motion-off .hero::before { animation: none; display: none; }
@media (prefers-reduced-motion: reduce) { .hero::before { animation: none; display: none; } }

/* Review controls use the same dark surface as the surrounding catalogue.
   The base stylesheet's translucent white panel otherwise inherits this
   theme's nearly white --ink, making the labels and select values disappear. */
.catalog-review-filters,
.product-tabs,
.review-summary,
.review-card,
.review-form,
.review-purchase-card {
  background: #292b26;
  color: #f5efe6;
  border-color: #51483d;
}
.catalog-review-filters > label { color: #f5efe6; font-size: 12px; }
.catalog-review-filters input[type="checkbox"] { width: 17px; height: 17px; flex: none; }
.catalog-review-filters select {
  min-height: 44px;
  background: #1e211e;
  color: #f5efe6;
  border-color: #78634e;
  color-scheme: dark;
  font-size: 12px;
}
.catalog-review-filters select option { background: #1e211e; color: #f5efe6; }
.product-tabs button { color: #d0c7ba; }
.product-tabs button[aria-selected="true"] { background: #f3923d; color: #291b10; }
.review-card p,
.review-rating-picker legend,
.review-report-table details { color: #ded3c4; }
.review-star, .review-card .review-stars { color: #ffc078; }
.review-verified { color: #6c391c; }

/* The wallet and marketing preference cards deliberately stay light. Give
   those islands their own foreground tokens instead of inheriting dark mode. */
.loyalty-wallet,
.marketing-preferences {
  --ink: #282c27;
  --muted: #596459;
  --line: #dfd7c9;
  --forest: #703b19;
  --forest-2: #98501c;
  color: #282c27;
  color-scheme: light;
}
.loyalty-wallet-head > span { background: #f9e7d0; color: #754219; }
.loyalty-wallet-history summary { background: #703b19; border-color: #703b19; color: #fffaf1; }

/* The native Android shell already applies system-bar and keyboard insets.
   Avoid counting the same bottom inset again inside its WebView. */
html[data-android-app="true"] .site-shell { padding-bottom: 85px; }
html[data-android-app="true"] .bottom-nav { height: 70px; padding-bottom: 6px; }
