/* Grouped shell navigation and compact galleries above the existing model editor. */
.studio-sidebar { padding:22px 14px 14px; }
.studio-navigation-personal { padding-bottom:9px; border-bottom:1px solid rgba(239,221,164,.08); }
.studio-navigation-catalog { margin-top:18px; padding-top:14px; border-top:1px solid rgba(239,221,164,.10); }
.studio-navigation button { min-height:43px; gap:9px; padding:5px 9px; }
.studio-navigation span { font-size:11px; line-height:1.35; font-weight:650; }
.studio-navigation i, .studio-navigation-secondary i { width:26px; height:26px; border-radius:7px; background:transparent; }
.studio-navigation i svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.studio-navigation button.is-active { background:linear-gradient(90deg,rgba(226,193,92,.13),rgba(226,193,92,.035)); border-color:rgba(230,198,100,.18); }
.studio-navigation button.is-active i { color:#ead495; background:rgba(228,198,119,.1); }
.studio-sidebar-caption { margin:19px 10px 8px; color:rgba(245,241,232,.42); font-size:8px; letter-spacing:.16em; }
.studio-sidebar-caption::after { display:none; }
.studio-sidebar-bottom { padding-top:22px; }
.cv-model-head { margin-bottom:22px; }
.cv-creation-gallery { min-width:0; margin:0 0 30px; }
.cv-gallery-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:10px; }
.cv-creation-composer-head > div > span { display:block; color:#cfba78; font-size:9px; font-weight:750; letter-spacing:.16em; }
.cv-gallery-head h2 { margin:0; color:#f0ece0; font-size:18px; line-height:1.25; font-weight:600; letter-spacing:-.025em; }
.cv-gallery-link { display:flex; align-items:center; gap:16px; flex:none; padding:10px 0 10px 15px; border:0; background:transparent; color:#e3cc91; font:inherit; font-weight:600; font-size:11px; cursor:pointer; }
.cv-gallery-link span { font-size:20px; }
.cv-gallery-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:13px; min-height:34px; }
.cv-gallery-tabs { display:flex; gap:6px; min-width:0; overflow:auto; scrollbar-width:none; }
.cv-gallery-tabs button { flex:none; min-height:32px; border:1px solid transparent; border-radius:8px; padding:6px 13px; color:#999c91; background:rgba(255,255,255,.025); font:inherit; font-size:11px; cursor:pointer; }
.cv-gallery-tabs button:hover { color:#eee6d3; background:rgba(241,221,164,.06); }
.cv-gallery-tabs button[aria-pressed="true"] { color:#f0d998; border-color:rgba(234,207,141,.24); background:rgba(229,201,128,.09); }
.cv-gallery-arrows { display:flex; gap:7px; flex:none; }
.cv-gallery-arrows button { display:grid; place-items:center; width:31px; height:31px; border:1px solid #38382c; border-radius:50%; color:#e6d59f; background:#171913; font-size:17px; cursor:pointer; }
.cv-gallery-arrows button:disabled { opacity:.25; cursor:default; }
.cv-gallery-rail { display:flex; gap:12px; overflow:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#3d3d2d transparent; padding:2px 2px 12px; min-width:0; overscroll-behavior-x:contain; }
.cv-gallery-card { position:relative; display:block; flex:0 0 clamp(142px,12.4vw,187px); min-width:0; padding:0; overflow:hidden; border:1px solid rgba(222,210,163,.12); border-radius:15px; background:#171913; color:#f3eee2; text-align:left; font:inherit; cursor:pointer; scroll-snap-align:start; transition:border-color .18s, background .18s; }
.cv-gallery-card:hover { border-color:rgba(237,209,131,.6); background:#202219; }
.cv-gallery-card:focus-visible, .cv-gallery-link:focus-visible, .cv-gallery-tabs button:focus-visible, .cv-gallery-arrows button:focus-visible { outline:2px solid #e8ca6b; outline-offset:2px; }
.cv-gallery-media { position:relative; display:block; width:100%; aspect-ratio:4/5; overflow:hidden; background:#20231c; }
.cv-gallery-media > img, .cv-gallery-media > video { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; }
.cv-gallery-media::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 35%,transparent 70%,rgba(0,0,0,.27)); }
.cv-gallery-media > video { z-index:1; }
.cv-gallery-media .cv-gallery-badge { position:absolute; z-index:2; top:9px; left:9px; border:1px solid rgba(255,255,255,.13); border-radius:5px; padding:4px 6px; color:#fff; background:rgba(14,17,13,.6); font-size:8px; line-height:1.2; font-weight:550; backdrop-filter:blur(8px); }
.cv-gallery-media > i { position:absolute; z-index:2; right:9px; bottom:9px; display:grid; place-items:center; width:25px; height:25px; color:#fff; background:rgba(14,17,13,.52); border:1px solid rgba(255,255,255,.2); border-radius:50%; font-style:normal; font-size:17px; }
.cv-gallery-card-copy { display:flex; flex-direction:column; gap:6px; padding:12px; min-height:71px; }
.cv-gallery-card-copy b { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:28px; font-size:11px; line-height:1.35; font-weight:650; }
.cv-gallery-card-copy small { font-size:9px; color:#acae9d; }
.cv-gallery-skeleton { flex:0 0 clamp(142px,12.4vw,187px); height:255px; border:1px solid #292c22; border-radius:15px; background:linear-gradient(145deg,#1d2018,#12150f); }
.cv-gallery-status { padding:20px 0; color:#a5a797; font-size:12px; line-height:1.5; }
.cv-gallery-status[hidden] { display:none; }
.cv-gallery-status button { margin-left:10px; border:0; border-bottom:1px solid #6b6040; padding:4px 0; color:#e8d498; background:none; font:inherit; cursor:pointer; }
.cv-creation-composer-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:24px; margin:0 0 18px; border-top:1px solid rgba(235,217,158,.12); scroll-margin-top:20px; }
.cv-creation-composer-head h2 { margin:8px 0 0; color:#eeeade; font-size:20px; line-height:1.25; font-weight:600; letter-spacing:-.03em; }
.cv-creation-composer-head > p { margin:0; color:#818675; font-size:11px; }
@media (max-width:1100px) {
  .cv-creation-composer-head > p { max-width:180px; text-align:right; line-height:1.6; }
}
@media (max-width:650px) {
  .cv-gallery-head { align-items:flex-start; gap:10px; }
  .cv-gallery-link { padding-left:0; font-size:10px; gap:5px; }
  .cv-gallery-card { flex-basis:142px; }
  .cv-creation-composer-head > p { display:none; }
  .cv-gallery-tabs button { padding-inline:10px; font-size:10px; }
}
@media (prefers-reduced-motion:reduce) { .cv-gallery-card { transition:none; } }
