/* Valerie desktop product pass
   Focus: quieter controls, useful sidebar gallery, reusable image workflow,
   and a collapsible desktop navigation rail. */

/* Header/sidebar collapse control */
.header-logo{position:relative}
.sidebar-collapse-btn{
  margin-left:auto;
  width:28px;height:28px;flex:0 0 auto;
  display:grid;place-items:center;
  border:1px solid transparent;border-radius:9px;
  background:transparent;color:var(--text3);
  cursor:pointer;transition:background .18s,border-color .18s,color .18s,transform .18s;
}
.sidebar-collapse-btn:hover{background:var(--bg4);border-color:var(--border2);color:var(--gold2)}
.sidebar-collapse-btn i{font-size:10px;transition:transform .2s ease}
body.sidebar-collapsed{--sidebar-w:76px}
body.sidebar-collapsed .sidebar-collapse-btn i{transform:rotate(180deg)}
body.sidebar-collapsed .header-logo{justify-content:center;padding-inline:10px;gap:0}
body.sidebar-collapsed .header-logo .logo-mark{
  width:34px;
  height:34px;
  flex:0 0 34px;

  color:transparent;
  font-size:0;

  background:transparent url('/static/logo/valerie-symbol.png') center / contain no-repeat;
  border:0;
  border-radius:0;
  box-shadow:none;

  filter:
    drop-shadow(0 0 4px rgba(232,198,99,.42))
    drop-shadow(0 3px 7px rgba(201,168,76,.22));
}
body.sidebar-collapsed .header-logo .logo-text{display:none}
body.sidebar-collapsed .sidebar-collapse-btn{width:22px;min-width:22px;height:30px;border-radius:8px}
body.sidebar-collapsed .sidebar-top{padding:12px 10px}
body.sidebar-collapsed .new-chat-btn{height:42px;padding:0;justify-content:center}
body.sidebar-collapsed .new-chat-label{display:none}
body.sidebar-collapsed .chat-list{display:none}
body.sidebar-collapsed .sidebar-gallery-launch{padding:8px 10px!important;margin-top:auto}
body.sidebar-collapsed .sidebar-gallery-btn{width:100%;height:46px;margin:0;padding:0;justify-content:center}
body.sidebar-collapsed .gallery-launch-icon{display:block}
body.sidebar-collapsed .gallery-btn-imgs,
body.sidebar-collapsed .gallery-btn-label,
body.sidebar-collapsed .gallery-badge{display:none!important}
body.sidebar-collapsed .sidebar-video-gallery-launch{
  width:100%;padding:0 10px 8px!important;overflow:hidden;
}
body.sidebar-collapsed .sidebar-video-gallery-btn{
  width:100%;min-width:0;max-width:100%;height:46px;min-height:46px;
  margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:0;
  border-radius:12px;overflow:hidden;transform:none;
}
body.sidebar-collapsed .sidebar-video-gallery-btn:hover{transform:none}
body.sidebar-collapsed .video-gallery-launch-icon{
  display:block;flex:0 0 auto;width:auto;font-size:18px;line-height:1;text-align:center;
}
body.sidebar-collapsed .video-gallery-preview-stack,
body.sidebar-collapsed .video-gallery-btn-label,
body.sidebar-collapsed .video-gallery-badge{display:none!important}
body.sidebar-collapsed .sidebar-profile{padding:10px}
body.sidebar-collapsed .profile-trigger{justify-content:center;padding:4px}
body.sidebar-collapsed .profile-info,
body.sidebar-collapsed .profile-chevron{display:none}
body.sidebar-collapsed .profile-menu{left:calc(100% + 8px);right:auto;bottom:8px;width:210px}

/* Gallery launcher now reflects real content. */
.sidebar-gallery-btn{
  width:calc(100% - 20px);
  color:inherit;text-align:left;
  appearance:none;
}
.gallery-launch-icon{display:none;color:var(--gold2);font-size:17px}
.gallery-btn-imgs{min-width:72px;overflow:hidden}
.gallery-thumb,.gallery-thumb-placeholder{
  width:22px;height:22px;display:block;flex:0 0 auto;
  border-radius:5px;border:1px solid var(--border2);object-fit:cover;
  background:linear-gradient(145deg,var(--bg5),var(--bg3));
}
.gallery-badge{
  display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;
  margin-left:auto;border-radius:999px;background:rgba(201,168,76,.14);
  border:1px solid rgba(201,168,76,.25);color:var(--gold2);font-size:10px;font-weight:700;
}
.sidebar-gallery-btn.active{background:rgba(201,168,76,.10);border-color:var(--gold-dim);box-shadow:inset 2px 0 0 var(--gold)}

/* Sidebar gallery header: calm default, destructive controls only in context. */
.gallery-heading-wrap{min-width:0;display:flex;align-items:center;gap:7px;flex:1}
.gallery-header-count{
  min-width:20px;height:18px;padding:0 6px;display:inline-grid;place-items:center;
  border-radius:999px;background:rgba(201,168,76,.10);border:1px solid rgba(201,168,76,.18);
  color:var(--gold);font:600 9px 'DM Mono',monospace;
}
.sidebar .sidebar-gallery-panel .gallery-manage-btn{
  height:30px;min-width:30px;padding:0 8px;display:inline-flex;align-items:center;gap:5px;
  border:1px solid var(--border2);border-radius:10px;background:transparent;
  color:var(--text2);font:500 10px 'DM Sans',sans-serif;cursor:pointer;
  transition:background .18s,border-color .18s,color .18s;
}
.sidebar .sidebar-gallery-panel .gallery-manage-btn:hover{background:var(--bg4);border-color:var(--gold-dim);color:var(--gold2)}
.sidebar .sidebar-gallery-panel .gallery-manage-btn i{font-size:11px}
.sidebar .sidebar-gallery-panel .gallery-delete-selected-btn{
  border:1px solid rgba(201,76,76,.42)!important;background:rgba(201,76,76,.10)!important;color:#ffaaa4!important;
}
.sidebar .sidebar-gallery-panel .gallery-delete-selected-btn:not(:disabled):hover{background:rgba(201,76,76,.20)!important;color:#fff!important}
.sidebar .sidebar-gallery-panel .gallery-cancel-delete-btn{border:1px solid var(--border2)!important;background:transparent!important;color:var(--text2)!important}
.sidebar .sidebar-gallery-panel .gallery-close{border-color:var(--border2)!important;background:transparent!important;color:var(--text2)!important}
.sidebar .sidebar-gallery-panel .gallery-close:hover{background:var(--bg4)!important;border-color:var(--gold-dim)!important;color:var(--gold3)!important}

/* Tabs and search */
.sidebar .sidebar-gallery-panel .gallery-tab{
  appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;
  color:var(--text3);font-family:'DM Sans',sans-serif;cursor:pointer;
}
.sidebar .sidebar-gallery-panel .gallery-tab.active{color:var(--gold2);border-bottom-color:var(--gold)}
.gallery-search-wrap{
  position:relative;margin:9px 9px 0;flex:0 0 auto;
  display:flex;align-items:center;gap:7px;padding:0 9px;height:34px;
  border:1px solid var(--border);border-radius:10px;background:rgba(8,7,5,.52);
  transition:border-color .18s,box-shadow .18s;
}
.gallery-search-wrap:focus-within{border-color:var(--gold-dim);box-shadow:0 0 0 2px rgba(201,168,76,.06)}
.gallery-search-wrap>i{font-size:10px;color:var(--text3)}
#gallerySearchInput{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text);font:400 11px 'DM Sans',sans-serif}
#gallerySearchInput::placeholder{color:var(--text4,#716550)}
.gallery-search-clear{display:none;width:22px;height:22px;border:0;border-radius:7px;background:transparent;color:var(--text3);cursor:pointer;font-size:10px}
.gallery-search-clear.is-visible{display:grid;place-items:center}
.gallery-search-clear:hover{background:var(--bg4);color:var(--gold2)}

/* Gallery cards */
.sidebar .sidebar-gallery-panel .gallery-grid{padding-top:9px!important}
.sidebar .sidebar-gallery-panel .gallery-item{outline:none;isolation:isolate}
.sidebar .sidebar-gallery-panel .gallery-item:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.sidebar .sidebar-gallery-panel .gallery-item img{width:100%;height:100%;display:block;object-fit:cover}
.sidebar .sidebar-gallery-panel .gallery-item.gallery-broken::before{
  content:'Image unavailable';position:absolute;inset:0;display:grid;place-items:center;padding:10px;
  background:var(--bg3);color:var(--text3);font-size:10px;text-align:center;
}
.gallery-empty-rich{
  min-height:220px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px;
}
.gallery-empty-rich>i{font-size:23px;color:var(--gold-dim);margin-bottom:4px}
.gallery-empty-rich strong{color:var(--text2);font-size:12px}
.gallery-empty-rich span{max-width:190px;color:var(--text3);font-size:10px;line-height:1.5}
.gallery-empty-rich button{
  margin-top:5px;padding:7px 10px;border:1px solid var(--border2);border-radius:9px;
  background:var(--bg4);color:var(--gold2);font:500 10px 'DM Sans',sans-serif;cursor:pointer;
}
.gallery-empty-rich button:hover{border-color:var(--gold-dim);background:var(--bg5)}

/* Enhanced image preview: preview, download, and prompt remix. */
.v3-image-lightbox-enhanced{padding:72px 34px 42px!important;display:flex!important;flex-direction:column!important;gap:14px!important}
.v3-image-lightbox-enhanced img{max-height:calc(100vh - 150px)!important}
.v3-image-lightbox-toolbar{
  position:fixed;top:14px;left:18px;right:18px;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  pointer-events:none;
}
.v3-image-lightbox-toolbar>*{pointer-events:auto}
.v3-image-provider{
  padding:6px 10px;border-radius:999px;background:rgba(12,10,7,.78);border:1px solid rgba(201,168,76,.28);
  color:var(--gold2);font:600 10px 'DM Mono',monospace;backdrop-filter:blur(12px);
}
.v3-image-lightbox-actions{display:flex;align-items:center;gap:7px}
.v3-image-lightbox-actions button{
  height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;
  border:1px solid rgba(201,168,76,.25);border-radius:11px;background:rgba(12,10,7,.80);
  color:var(--text2);font:500 11px 'DM Sans',sans-serif;cursor:pointer;backdrop-filter:blur(12px);
}
.v3-image-lightbox-actions button:hover{border-color:var(--gold-dim);color:var(--gold3);background:rgba(30,25,16,.92)}
.v3-image-lightbox-actions .v3-image-lightbox-close{width:36px;padding:0;justify-content:center;font-size:22px!important;position:static!important}
.v3-image-lightbox-caption{
  max-width:min(820px,90vw);max-height:58px;overflow:auto;padding:9px 12px;border-radius:10px;
  background:rgba(12,10,7,.72);border:1px solid rgba(201,168,76,.16);color:var(--text2);
  font-size:11px;line-height:1.45;text-align:center;backdrop-filter:blur(10px);
}

/* A less barren chat-history empty state. */
.chat-list:has(.chat-list-empty),.chat-list:has(.empty-state){padding-top:8px}
.chat-list-empty,.chat-list .empty-state{padding:20px 12px;color:var(--text3);font-size:12px;line-height:1.5;text-align:center}

@media(max-width:900px){
  .sidebar-collapse-btn{display:none}
  body.sidebar-collapsed{--sidebar-w:220px}
  body.sidebar-collapsed .header-logo .logo-text{display:inline}
  body.sidebar-collapsed .chat-list{display:block}
  body.sidebar-collapsed .profile-info,body.sidebar-collapsed .profile-chevron{display:block}
}
@media(prefers-reduced-motion:reduce){.sidebar-collapse-btn i{transition:none}}
