/* Original warm storefront palette, restored pending the owner’s new colour choice. */
:root {
  color-scheme:light;
  --cream:#f4efe4; --paper:#fbf7ee; --ink:#1a2e20;
  --forest:#10251a; --moss:#10251a; --green:#f38a38; --green-strong:#f38a38;
  --sage:#626c5e; --muted:#626c5e; --on-dark:#f5efe0; --hero-cream:#f0f5f3;
  --ai:#f38a38; --ai-hover:#ff9d4f; --on-ai:#10251a; --on-light:#20363c;
  --orange:#f38a38; --orange-hover:#ff9d4f; --orange-deep:#b8471f; --on-accent:#10251a;
  --line:rgba(26,46,32,.18); --dark-line:rgba(26,46,32,.18); --white-line:rgba(236,242,241,.26);
}
.shop-body { background:var(--cream); }
.shop-body .grain { opacity:.012; }
.site-navigation { grid-template-columns:auto 1fr auto auto; width:min(1080px,calc(100vw - 32px)); background:rgba(244,239,228,.97); border-color:var(--line); box-shadow:0 12px 40px #07191f30; }
.site-navigation.is-compact { width:min(1040px,calc(100vw - 24px)); }
.site-navigation .site-cart { background:transparent; border:1px solid var(--line); color:var(--ink); }
.site-ai { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 15px; border:1px solid var(--ai); border-radius:7px; background:var(--ai); color:var(--on-ai); font:650 13px var(--font-sans); white-space:nowrap; transition:background 220ms,transform 220ms; }
.site-ai b { font-size:9px; letter-spacing:.03em; border:1px solid #f4efe450; border-radius:4px; padding:3px; }
.site-ai .ui-icon { width:18px; height:18px; }
.shop-card { background:var(--paper); }
.shop-card-photo,.shop-product-gallery,.shop-lightbox-image,.journal-card-image,.market-still-life,.visualizer-selected-product img { background:#e9e4da; color:var(--on-light); }
.shop-card-photo .shop-card-index,.shop-gallery-zoom { background:#fbf7ee; color:var(--on-light); }
.shop-card-photo > i { color:var(--on-light); }
.shop-photo-empty { background:#e5e4d9; color:var(--ink); }
.shop-tools input,.shop-tools select,.shop-facet-panel,.shop-confirmed-options,.shop-equipment-packages > article { background:var(--paper); }
.shop-gallery-thumb[aria-pressed="true"] { background:var(--ai); border-color:var(--ink); }
.shop-gallery-thumbnails,.shop-render-note { background:var(--paper); }
.shop-results,.shop-card-controls p,.shop-muted,.shop-product dt,.shop-render-note,.shop-lightbox-figure figcaption,.shop-confirmed-options li p,.shop-card-variant,.journal-card .shop-kicker,.journal-card > p:not(.shop-kicker),.journal-lead,.journal-byline,.journal-intro h1 em { color:var(--muted); }
.shop-scene { background:var(--forest); }
.shop-visual-controls textarea { color:inherit; }
.shop-chip[aria-current="page"],.shop-chip[aria-pressed=true] { background:#e2e7d7; border-color:var(--muted); color:var(--ink); }
.shop-consent input,.shop-visual-controls input[type=range],.cinematic-home .visualizer-controls > .shop-consent input { accent-color:var(--ink); }
.cinematic-home .market-categories .market-category { background:var(--paper); --category-ink:var(--ink); --category-muted:var(--muted); --category-arrow-border:var(--line); border-color:var(--line); }
.cinematic-home .market-category::before { background:#e2e7d7; }
.cinematic-home .market-category-arrow { color:var(--ink); }
.cinematic-home .promise-flow::before,.cinematic-home .promise-flow::after { background:var(--line); }
.cinematic-home .promise-row,.cinematic-home .promise-row:first-child { border-color:var(--line); }
.ui-icon { display:inline-block; width:20px; height:20px; flex-shrink:0; vertical-align:middle; }
.market-category-symbol { display:inline-flex; align-items:center; gap:12px; }
.market-category-symbol .ui-icon { width:24px; height:24px; }
.shop-visual-link .ui-icon { width:17px; height:17px; }
.shop-card .shop-visual-link,.shop-product-actions [data-visual],.visualizer-generate,[data-generate],.hero-action--ai { background:var(--ai); border:1px solid var(--ai); color:var(--on-ai); }
.shop-card .shop-visual-link { padding:10px 8px; }
.cinematic-home .hero-actions { width:min(570px,calc(100% - var(--page-pad)*2)); }
.hero-action--catalog { background:rgba(251,247,238,.94); border:1px solid #e8e1d5; color:var(--ink); }
.visualizer-actions .visualizer-generate:disabled,[data-generate]:disabled { background:#3f5f65; color:#c1d3d5; border-color:#58767a; opacity:1; cursor:not-allowed; }
.visualizer-actions .visualizer-generate.is-working,[data-generate]:disabled:has(+ .shop-status:not(:empty)) { cursor:wait; }
.cinematic-home .visualizer-product-label,.cinematic-home [data-selected-product-note],.cinematic-home .visualizer-controls > .shop-consent,.visualizer-intro p,.visualizer-intro span,.visualizer-step p,.upload-zone small,.visualizer-request small,.visualizer-limit,.visualizer-privacy,.visualizer-footnote,.visualizer-prompt { color:var(--muted); }
.cinematic-home #visual-product,.visualizer-workspace,.visualizer-controls,.visualizer-request textarea,.option-chips span,.upload-zone { border-color:var(--line); }
.option-chips span,.visualizer-request textarea { background:var(--paper); color:var(--ink); }
.option-chips input:checked + span { border-color:var(--ai); background:#e2e7d7; color:var(--ink); }
.visualizer-step__number { color:var(--ink); }
.visualizer-status,.visualizer-status.is-success { color:var(--ink); }
.visualizer-status,.shop-status { font-size:14px; line-height:1.55; }
.visualizer-privacy { font-size:12px; line-height:1.6; }
.visualizer-result-lead { background:var(--paper); border-color:var(--line); color:var(--ink); }
.shop-body :focus-visible,.shop-dialog :focus-visible,.cinematic-home #visual-product:focus-visible,.shop-quantity input:focus-visible,.site-ai:focus-visible,.option-chips input:focus-visible + span,.shop-upload:focus-within { outline:2px solid var(--ai); outline-offset:4px; }
@media(hover:hover) {
  .site-ai:hover,.shop-card .shop-visual-link:hover,.shop-product-actions [data-visual]:hover,.visualizer-generate:not(:disabled):hover,[data-generate]:not(:disabled):hover,.hero-action--ai:hover { background:var(--ai-hover); color:var(--on-ai); transform:translateY(-1px); }
  .shop-subcategories .shop-chip:not([aria-current="page"]):hover,.shop-add:hover,.shop-lightbox-controls button:hover { background:#e2e7d7; color:var(--ink); }
  .cinematic-home .market-categories .market-category:hover { --category-ink:var(--ink); --category-muted:var(--muted); --category-arrow-bg:var(--ai); --category-arrow-border:var(--ai); border-color:#65765d; background:var(--paper); }
  .cinematic-home .market-category:hover .market-category-arrow { color:var(--on-ai); }
}
.cinematic-home .market-categories .market-category:focus-visible { --category-ink:var(--ink); --category-muted:var(--muted); --category-arrow-bg:var(--ai); --category-arrow-border:var(--ai); }
.cinematic-home .market-category:focus-visible .market-category-arrow { color:var(--on-ai); }
/* Generation waiting state: elapsed time, without invented progress. */
.ai-generation[hidden] { display:none; }
.ai-generation { position:absolute; inset:0; z-index:8; display:grid; place-items:center; padding:22px; background:rgba(9,28,35,.9); color:#ecf2f1; }
.ai-generation__content { display:flex; flex-direction:column; align-items:center; gap:12px; width:min(100%,380px); text-align:center; }
.ai-generation__art { position:relative; width:96px; height:96px; margin-bottom:10px; display:grid; place-items:center; color:var(--ai); }
.ai-generation__art svg { width:52px; height:52px; }
.ai-generation__art span { position:absolute; inset:0; border:1px solid #a8e0d535; border-radius:28%; }
.ai-generation__art span:nth-child(1) { border-top-color:var(--ai); border-right-color:var(--ai); animation:ai-orbit 9s linear infinite; }
.ai-generation__art span:nth-child(2) { inset:10px; border-bottom-color:#a8e0d58c; animation:ai-orbit 12s linear infinite reverse; }
.ai-generation__art span:nth-child(3) { inset:-10px; border-style:dotted; opacity:.6; }
.ai-generation__eyebrow { color:#afc4c7; font:500 9px var(--font-sans); letter-spacing:.16em; }
.ai-generation strong { font:400 clamp(22px,2.5vw,34px)/1.15 var(--font-serif); letter-spacing:-.03em; }
.ai-generation__product { color:var(--ai); font-size:13px; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ai-generation p { max-width:290px; margin:0; color:#afc4c7; font-size:13px; line-height:1.6; }
.ai-generation__time { margin-top:6px; padding:7px 13px; border:1px solid #afc4c740; border-radius:30px; color:#ecf2f1; font:500 11px var(--font-sans); font-variant-numeric:tabular-nums; }
.ai-is-generating { min-height:340px!important; }
.ai-is-generating .shop-target { visibility:hidden; }
.ai-result-reveal > img:not(.visualizer-preview__backdrop) { animation:ai-reveal 650ms ease-out both; }
@keyframes ai-orbit { to { transform:rotate(360deg); } }
@keyframes ai-reveal { from { opacity:.35; } to { opacity:1; } }
@media(max-width:900px) {
  .site-navigation,.site-navigation.is-compact { width:calc(100vw - 16px); grid-template-columns:minmax(0,1fr) auto 44px 44px; gap:6px; padding:6px 8px; }
  .site-ai { padding:8px; font-size:12px; gap:5px; }
  .site-ai b { display:none; }
  .site-navigation .site-cart { position:relative; width:44px; min-width:44px; padding:0; }
  .site-cart [data-cart-count] { position:absolute; right:2px; top:2px; padding:1px 3px; border:0; background:var(--paper); border-radius:8px; font-size:9px; }
  .site-navigation .brand { gap:7px; font-size:13px; }
  .site-navigation .brand img { width:26px; height:26px; }
  .site-navigation .brand span { max-width:95px; white-space:normal; line-height:1.12; }
  .shop-visual-controls textarea,.shop-tools input,.shop-tools select,.shop-facet-controls select { font-size:16px; }
}
@media(max-width:720px) {
  .cinematic-home .hero-actions { width:auto; }
  .shop-card .shop-visual-link { font-size:11px; gap:5px; }
  .shop-visual-link .ui-icon { width:15px; height:15px; }
  .ai-is-generating { min-height:300px!important; }
  .ai-generation { padding:16px; }
  .ai-generation__content { gap:9px; }
  .ai-generation__art { width:64px; height:64px; margin-bottom:4px; }
  .ai-generation__art svg { width:40px; height:40px; }
  .ai-generation__art span:nth-child(3) { inset:-6px; }
  .ai-generation p { font-size:12px; }
}
@media(max-width:379px) {
  .site-ai { min-width:52px; }
  .site-ai span { display:none; }
  .site-ai b { display:inline; border:0; padding:0; font-size:11px; }
  .site-navigation,.site-navigation.is-compact { gap:4px; }
  .site-navigation .brand { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .ai-generation__art span,.ai-result-reveal > img,.visualizer-generate.is-working i { animation:none!important; }
  .site-ai,.shop-visual-link,.hero-action--ai { transition:none; }
  .site-ai:hover,.shop-card .shop-visual-link:hover,.shop-product-actions [data-visual]:hover,.hero-action--ai:hover { transform:none; }
}
.shop-body input::placeholder,.shop-body textarea::placeholder { color:var(--muted); opacity:.85; }
/* Solid controls keep the new light text readable in all former glass panels. */
.visualizer-workspace,.visualizer-controls,.visualizer-controls--options { background:var(--paper); }
.shop-upload { border-color:var(--muted); }
.ai-is-generating { min-height:430px!important; }
@media(max-width:720px) { .ai-is-generating { min-height:350px!important; } }

/* Warm palette keeps disabled controls and status messages readable. */
.visualizer-status,.visualizer-status.is-success { color:var(--ink); }
.visualizer-actions .visualizer-generate:disabled,[data-generate]:disabled { background:#dddccc; color:#596252; border-color:#c3c8b6; }

/* Make the main shopping destination easy to find on every page. */
.site-navigation nav a[data-site-section="catalog"] { color:var(--orange-deep); font-weight:800; }
.site-navigation nav a[data-site-section="catalog"]::after { background:var(--orange-deep); }
