/* Stage67: unified animal media, compact settings and catalog, needs page */
body.shelter-dark{
 --kv67-surface:#222326;--kv67-deep:#17191d;--kv67-edge:#383b42;
 --kv67-fg:#f2f3f7;--kv67-muted:#a5abb8;--kv67-blue:#95c2f6;
 --kv67-shadow:0 12px 30px #0006;
}
body.shelter-light{
 --kv67-surface:#fff;--kv67-deep:#f1f5f9;--kv67-edge:#dce4ef;
 --kv67-fg:#25364a;--kv67-muted:#697b90;--kv67-blue:#3377b7;
 --kv67-shadow:0 10px 26px #243d5c18;
}
.kv-settings-menu{margin:0 0 16px;border:1px solid var(--kv67-edge);
 border-radius:12px;background:var(--kv67-deep);overflow:hidden}
.kv-settings-menu>summary{list-style:none;min-height:43px;padding:8px 14px;
 display:flex;gap:9px;align-items:center;cursor:pointer;color:var(--kv67-fg);
 font-size:12px}
.kv-settings-menu>summary::-webkit-details-marker{display:none}
.kv-settings-menu>summary>strong{flex:1;color:var(--kv67-blue);font-size:13px}
.kv-settings-menu>summary>span:last-child{font-size:16px;transition:transform .2s}
.kv-settings-menu[open]>summary>span:last-child{transform:rotate(180deg)}
.kv-settings-menu-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));
 gap:5px;padding:9px;border-top:1px solid var(--kv67-edge)}
.kv-settings-menu-links a{padding:10px 12px;font-size:12px;
 text-decoration:none!important;color:var(--kv67-fg)!important;border-radius:8px;
 border:1px solid transparent}
.kv-settings-menu-links a:hover,.kv-settings-menu-links a.is-active{background:var(--kv67-surface);
 color:var(--kv67-blue)!important;border-color:var(--kv67-edge)}
/* Whole face in frame rather than cropped at nose, forehead or ears. */
.v5-pet-grid.v6-pet-grid{gap:16px!important}
.v5-pet-grid.v6-pet-grid .v5-pet-card{
 border-radius:14px!important;overflow:hidden;background:var(--kv67-surface)!important;
 box-shadow:var(--kv67-shadow)!important;border:1px solid var(--kv67-edge)!important;
 height:auto!important;min-height:0!important}
.v5-pet-grid.v6-pet-grid .v5-pet-photo{
 height:180px!important;min-height:0!important;max-height:180px!important;
 aspect-ratio:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;
 overflow:hidden!important;background:var(--kv67-deep)!important}
.v5-pet-grid.v6-pet-grid .v5-pet-photo img{
 width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;
 display:block!important;object-fit:contain!important;object-position:center!important;
 transform:none!important}
.v5-pet-grid.v6-pet-grid .v5-pet-info{
 padding:11px 13px 13px!important;min-height:0!important;
 background:var(--kv67-surface)!important;color:var(--kv67-fg)!important}
.v5-pet-grid.v6-pet-grid .v5-pet-info h2{margin:0!important;font-size:19px!important;line-height:1.24!important}
.v5-pet-grid.v6-pet-grid .v5-pet-info>span{font-size:11px;color:var(--kv67-muted)!important}
.v5-pet-grid.v6-pet-grid .v6-pet-title strong{font-size:11px!important;color:var(--kv67-blue)!important}
.animal-detail{align-items:start!important;gap:22px!important}
.animal-detail-art{max-height:430px!important;min-height:0!important;display:grid!important;
 place-items:center!important;background:var(--kv67-deep)!important;border-radius:15px;overflow:hidden}
.animal-detail-art>img{width:100%!important;height:100%!important;max-height:430px!important;
 min-height:0!important;object-fit:contain!important;object-position:center!important}
.animal-detail h1{line-height:1.15!important}
.animal-detail .detail-lead{margin:8px 0 15px!important}
.animal-detail .detail-data{gap:10px!important}
.kv-lifetime-badge{display:inline-flex;padding:8px 12px;margin:4px 0 11px!important;
 border-radius:9px;background:var(--kv67-deep);border:1px solid var(--kv67-edge);
 color:var(--kv67-blue)!important;font-weight:700;font-size:12px}
.kv-lifetime-check{display:flex!important;align-items:center;gap:9px;
 background:var(--kv67-deep);padding:12px!important;border:1px solid var(--kv67-edge)!important;
 border-radius:10px;font-size:13px;color:var(--kv67-fg)!important}
.kv-lifetime-check input{width:17px!important;height:17px!important;flex:0 0 17px}
.kv-animal-media{margin:20px 0;min-width:0}
.kv-animal-media-heading{display:flex;align-items:center;gap:9px;margin:15px 0 9px}
.kv-animal-media-heading h2{margin:0!important;font-size:20px!important;color:var(--kv67-fg)!important}
.kv-animal-media-heading span{font-size:12px;color:var(--kv67-muted)}
.kv-animal-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px}
.kv-animal-gallery-button{display:block;aspect-ratio:1.1;min-width:0;padding:0;overflow:hidden;
 border:1px solid var(--kv67-edge);border-radius:11px;background:var(--kv67-deep);
 box-shadow:var(--kv67-shadow);cursor:zoom-in}
.kv-animal-gallery-button img{width:100%;height:100%;object-fit:contain;display:block}
.kv-animal-gallery-button:hover{border-color:var(--kv67-blue)}
.kv-animal-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}
.kv-animal-video{min-width:0;border:1px solid var(--kv67-edge);border-radius:13px;
 padding:11px;background:var(--kv67-surface);box-shadow:var(--kv67-shadow)}
.kv-animal-video h3{margin:0 0 10px;color:var(--kv67-fg)!important;font-size:15px}
.kv-animal-video-frame{position:relative;aspect-ratio:16/9;background:#080a10;border-radius:9px;overflow:hidden}
.kv-animal-video-frame iframe{display:block;width:100%;height:100%;border:0;position:absolute;inset:0}
.kv-animal-video>a{display:inline-block;color:var(--kv67-blue)!important;font-size:12px;margin-top:9px}
.kv-animal-photo-dialog{position:fixed;inset:0;margin:auto;padding:0;border:1px solid var(--kv67-edge);
 width:min(98vw,1100px);height:min(90dvh,850px);max-width:98vw;max-height:95dvh;
 border-radius:14px;background:var(--kv67-surface);color:var(--kv67-fg)}
.kv-animal-photo-dialog::backdrop{background:#000d}
.kv-animal-photo-head{height:48px;padding:9px 14px;display:flex;justify-content:space-between;
 gap:10px;align-items:center;border-bottom:1px solid var(--kv67-edge)}
.kv-animal-photo-head button{border:1px solid var(--kv67-edge);color:var(--kv67-fg);
 border-radius:8px;background:var(--kv67-deep);font-size:25px;width:34px;height:34px;cursor:pointer}
.kv-animal-photo-display{display:flex;align-items:center;justify-content:center;
 height:calc(100% - 49px);min-height:0;gap:5px;padding:8px}
.kv-animal-photo-display img{min-width:0;flex:1;max-width:calc(100% - 90px);
 max-height:100%;height:100%;object-fit:contain}
.kv-animal-photo-display button{height:42px;width:40px;flex:0 0 40px;border:0;
 background:var(--kv67-deep);color:var(--kv67-fg);font-size:29px;border-radius:9px;cursor:pointer}
.kv-animal-media-admin{margin-top:20px}
.kv-media-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:12px;margin:12px 0}
.kv-media-admin-card{background:var(--kv67-surface);border:1px solid var(--kv67-edge);
 border-radius:12px;padding:15px;min-width:0}
.kv-media-admin-card h2{font-size:17px!important;margin:0 0 10px;color:var(--kv67-fg)!important}
.kv-media-admin-card p{font-size:12px;color:var(--kv67-muted)!important;line-height:1.5}
.kv-media-admin-card :is(input,textarea){width:100%;max-width:100%;box-sizing:border-box}
.kv-media-admin-existing{display:grid;gap:8px}
.kv-media-admin-item{display:flex;align-items:center;gap:12px;min-width:0;
 padding:10px;background:var(--kv67-surface);border:1px solid var(--kv67-edge);border-radius:10px}
.kv-media-admin-item img,.kv-media-admin-video-icon{width:62px;height:62px;flex:0 0 62px;
 display:grid;place-items:center;object-fit:contain;border-radius:7px;background:var(--kv67-deep)}
.kv-media-admin-item>div{display:grid;min-width:0;flex:1;gap:5px}
.kv-media-admin-item strong{color:var(--kv67-fg)!important;overflow-wrap:anywhere;font-size:12px}
.kv-media-admin-item a{color:var(--kv67-blue)!important;font-size:12px}
.kv-media-admin-item button{font-size:11px!important;padding:7px 10px!important}
.kv-needs-page{max-width:1200px;margin:auto;padding:5px 0 32px;color:var(--kv67-fg)}
.kv-needs-hero{padding:clamp(19px,4vw,40px);background:linear-gradient(125deg,var(--kv67-surface),var(--kv67-deep));
 border:1px solid var(--kv67-edge);box-shadow:var(--kv67-shadow);border-radius:16px;margin-bottom:16px}
.kv-needs-eyebrow{color:var(--kv67-blue);font-weight:800;font-size:11px;letter-spacing:.11em}
.kv-needs-hero h1{color:var(--kv67-fg)!important;font-size:clamp(25px,4vw,40px);margin:9px 0}
.kv-needs-hero p{color:var(--kv67-muted)!important;line-height:1.6;max-width:740px}
.kv-needs-edit{display:inline-block;font-size:12px;color:var(--kv67-blue)!important}
.kv-needs-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:13px}
.kv-needs-cards article,.kv-needs-copy,.kv-needs-bottom{background:var(--kv67-surface);
 border:1px solid var(--kv67-edge);border-radius:14px;padding:20px;box-shadow:var(--kv67-shadow)}
.kv-needs-cards article>span{font-size:26px}
.kv-needs-cards h2{font-size:18px;color:var(--kv67-fg)!important;margin:10px 0}
.kv-needs-cards p,.kv-needs-bottom p{font-size:13px;color:var(--kv67-muted)!important;line-height:1.65}
.kv-needs-copy{margin-top:14px;font-size:15px;line-height:1.75;overflow-wrap:anywhere}
.kv-needs-bottom{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
@media(max-width:780px){
 .kv-settings-menu-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v5-pet-grid.v6-pet-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .v5-pet-grid.v6-pet-grid .v5-pet-photo{height:152px!important;max-height:152px!important}
 .v5-pet-grid.v6-pet-grid .v5-pet-info{padding:9px!important}
 .v5-pet-grid.v6-pet-grid .v5-pet-info h2{font-size:16px!important}
 .v5-pet-grid.v6-pet-grid .v6-pet-title strong{font-size:10px!important}
 .animal-detail{display:flex!important;flex-direction:column!important;gap:14px!important}
 .animal-detail-art{width:100%!important;height:clamp(220px,72vw,350px)!important;max-height:350px!important}
 .animal-detail-art>img{height:100%!important;max-height:350px!important}
 .animal-detail>div:last-child{width:100%!important}
 .kv-animal-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px}
 .kv-animal-media-heading h2{font-size:17px!important}
 .kv-animal-photo-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
 .kv-needs-hero{padding:20px}
 .kv-needs-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kv-needs-cards article{padding:13px}
 .kv-needs-cards h2{font-size:15px}
 .kv-needs-bottom{align-items:stretch}
 .kv-needs-bottom a{width:100%;text-align:center}
}
@media(max-width:360px){
 .v5-pet-grid.v6-pet-grid .v5-pet-photo{height:130px!important;max-height:130px!important}
 .kv-needs-cards{grid-template-columns:1fr}
}
