/* KIVA / Galería musical — identity and controls only.
   Do not target canvas, rings, artwork, backgrounds, frames, quote geometry,
   mockup projection, album filters, timing or shared --signal variables here. */
.brand .kiva-mark { display:block; width:51px; height:44px; object-fit:contain; }
.brand { min-height:44px; }
.brand:focus-visible { outline:2px solid #b83a24; outline-offset:5px; }
.entry-splash { position:fixed; inset:0; z-index:1000; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; background:#f3f0e8; color:#171715; animation:kiva-splash 2s both; }
.entry-splash img { display:block; width:clamp(100px,13vw,170px); height:auto; }
.entry-splash p { margin:0; font-size:clamp(17px,2vw,26px); font-weight:700; letter-spacing:-.035em; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@keyframes kiva-splash { 0%,85% { opacity:1; visibility:visible; } 100% { opacity:0; visibility:hidden; pointer-events:none; } }
.header-actions { display:flex; align-items:center; gap:9px; }
.request-album-direct { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:9px 14px; border:1px solid #171715; border-radius:5px; background:rgba(250,248,242,.86); color:#171715; font-size:10px; font-weight:900; letter-spacing:.055em; text-decoration:none; white-space:nowrap; cursor:pointer; }
.request-album-direct:hover { background:#171715; color:#f3f0e8; }
.request-album-direct:focus-visible { outline:2px solid #b83a24; outline-offset:3px; }
.restart-global { min-height:40px; padding:10px 17px; border:1px solid #171715; border-radius:5px; background:#171715; color:#f3f0e8; font-size:10px; letter-spacing:.055em; }
.restart-global:hover { background:#35332e; }
.restart-global:focus-visible { outline:2px solid #b83a24; outline-offset:3px; }
.search-box { border:1px solid #c9c3b8; border-radius:8px; background:rgba(250,248,242,.97); box-shadow:0 10px 28px #17171512; }
.search-box:focus-within { border-color:#b83a24; }
.search-toggle { display:grid; place-items:center; color:#b83a24; }
.search-toggle svg { width:22px; height:22px; flex:none; }
.search-segment { background:#e9e4da; border-radius:5px; margin-right:8px; }
.search-segment button { border-radius:3px; font-size:8px; padding:8px 7px; letter-spacing:.02em; }
.search-segment button.is-selected { background:#171715; color:#f3f0e8; }
.search-box label span { color:#625c53; font-size:8px; letter-spacing:.06em; }
.search-box input { font-weight:500; }
.search-submit { background:#b83a24; color:white; border-radius:4px; font-size:9px; letter-spacing:.04em; padding:12px 10px; }
.search-submit:disabled { opacity:.55; }
.search-results { border:1px solid #c9c3b8; border-radius:8px; background:#faf8f2; }
.album-result { border-radius:4px; }
.album-search-status { color:#625c53; }
.search-segment button:focus-visible,.search-submit:focus-visible,.search-toggle:focus-visible { outline:2px solid #b83a24; outline-offset:-3px; }
.active-choice button,.completion button { background:#b83a24; color:#fff; border-radius:5px; }
.active-choice button:focus-visible,.completion button:focus-visible { outline:2px solid #171715; outline-offset:3px; }
.quote-inquiry { margin-top:22px; padding-top:20px; border-top:1px solid rgba(255,255,255,.25); }
.quote-inquiry h4 { margin:0; color:#f3f0e8; font-size:22px; line-height:1; letter-spacing:-.045em; text-transform:uppercase; }
.quote-inquiry p { margin:9px 0 16px; color:#d0cbc1; font-size:12px; line-height:1.45; }
.quote-inquiry label { display:grid; gap:6px; margin:11px 0; color:#f3f0e8; font-size:10px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.quote-inquiry input,.quote-inquiry textarea { box-sizing:border-box; width:100%; min-width:0; padding:11px; border:1px solid rgba(255,255,255,.35); border-radius:3px; background:#f3f0e8; color:#171715; font:500 13px/1.3 Arial,sans-serif; letter-spacing:normal; text-transform:none; resize:vertical; }
.quote-inquiry input:focus-visible,.quote-inquiry textarea:focus-visible { outline:2px solid #b83a24; outline-offset:2px; }
.quote-inquiry-actions { display:grid; gap:8px; margin-top:15px; }
.quote-inquiry-actions button { min-height:42px; border:1px solid #f3f0e8; border-radius:3px; background:#f3f0e8; color:#171715; font-size:10px; font-weight:900; letter-spacing:.055em; cursor:pointer; }
.quote-inquiry-actions button:first-child { border-color:#b83a24; background:#b83a24; color:#fff; }
.quote-inquiry-actions button:focus-visible { outline:2px solid #f3f0e8; outline-offset:2px; }
.quote-inquiry > small { display:block; margin-top:12px; color:#bdb7ab; font-size:9px; line-height:1.4; letter-spacing:normal; text-transform:none; }
.quote-inquiry > small a { color:#f3f0e8; }
.album-missing { width:min(440px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid #171715; border-radius:10px; background:#f3f0e8; color:#171715; box-shadow:0 28px 90px #17171555; overflow:auto; }
.album-missing::backdrop { background:rgba(18,18,16,.72); backdrop-filter:blur(5px); }
.album-missing-close { position:absolute; top:12px; right:12px; z-index:1; width:34px; height:34px; border:0; border-radius:50%; background:#171715; color:white; font-size:25px; line-height:1; cursor:pointer; }
.album-missing-art { display:block; width:100%; height:auto; aspect-ratio:7/4; object-fit:cover; }
.album-missing-body { padding:24px; }
.album-missing-body small { color:#b83a24; font-size:10px; font-weight:800; letter-spacing:.12em; }
.album-missing-body h2 { margin:10px 0 8px; font-size:clamp(26px,5vw,36px); line-height:.98; letter-spacing:-.055em; text-transform:uppercase; }
.album-missing-body p { margin:12px 0; line-height:1.45; }
.album-missing-price { display:flex; justify-content:space-between; gap:12px; padding:13px 0; border-block:1px solid #c9c3b8; font-size:13px; }
.album-missing-price strong { white-space:nowrap; }
.album-missing-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px; }
.album-missing-fields label { display:grid; gap:6px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.album-missing-fields input { box-sizing:border-box; width:100%; min-width:0; padding:11px 10px; border:1px solid #bdb5a9; border-radius:4px; background:#fffdfa; color:#171715; font:inherit; font-size:13px; font-weight:500; letter-spacing:normal; text-transform:none; }
.album-missing-help { color:#625c53; font-size:11px; }
.album-missing-whatsapp,.album-missing-email,.album-missing-restart { box-sizing:border-box; display:block; width:100%; min-height:43px; padding:13px 16px; border-radius:4px; font-size:11px; font-weight:900; letter-spacing:.07em; text-align:center; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.album-missing-whatsapp { background:#b83a24; color:white; }
.album-missing-email { margin-top:8px; border:1px solid #171715; color:#171715; }
.album-missing-whatsapp.is-disabled,.album-missing-email.is-disabled { opacity:.48; cursor:not-allowed; }
.album-missing-restart { margin-top:8px; border:1px solid #171715; background:transparent; color:#171715; }
.album-missing :focus-visible { outline:2px solid #b83a24; outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .album-missing-art { visibility:hidden; height:16px; } .entry-splash { animation-duration:2s!important; animation-timing-function:steps(1,end); } }
@media(max-width:760px) {
  .brand .kiva-mark { width:44px; height:38px; }
  .header-actions { gap:5px; }
  .request-album-direct { min-height:40px; padding:8px; font-size:8px; letter-spacing:0; }
  .restart-global { min-height:40px; font-size:9px; padding:9px 12px; }
  .search-toggle { flex-basis:38px; }
  .search-segment { margin-right:6px; }
  .search-segment button { padding:8px 5px; font-size:7px; }
  .search-box label { padding-right:5px; }
  .search-box label span { font-size:7px; }
  .search-submit { margin-right:6px; padding:12px 8px; font-size:8px; }
  .album-missing-fields { grid-template-columns:1fr; }
}
@media(max-width:380px) { .request-album-direct { padding:7px 5px; font-size:7px; } .restart-global { padding:8px 7px; font-size:8px; } }
