/* Carvix 14.0 – final test package */

.cvx140-admin .page-head{gap:20px}
.cvx140-head-actions{display:flex;flex-wrap:wrap;gap:8px}
.cvx140-upload{margin:24px 0}.cvx140-upload form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}
.cvx140-upload label,.cvx140-assistant-form label{display:grid;gap:6px}.cvx140-upload label>span,.cvx140-assistant-form label>span{font-size:12px;font-weight:850}
.cvx140-upload input,.cvx140-assistant-form input,.cvx140-assistant-form textarea{width:100%;padding:11px 12px;border:1px solid #dce6e1;border-radius:10px;font:inherit}
.cvx140-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cvx140-media-card{display:grid;gap:10px;min-width:0}.cvx140-media-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;background:#eaf1ed}
.cvx140-media-card code{display:block;margin-top:6px;overflow:hidden;text-overflow:ellipsis;font-size:10px}.cvx140-media-card form{margin:0}
.cvx140-filter{display:grid;grid-template-columns:1fr 200px auto auto;gap:10px;align-items:center;margin:20px 0}
.cvx140-filter input,.cvx140-filter select{height:44px;padding:0 12px;border:1px solid #dce6e1;border-radius:10px}
.cvx140-demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cvx140-demo-card{display:grid;gap:12px}
.cvx140-demo-preview{aspect-ratio:16/10;overflow:hidden;border-radius:13px;background:#071f18}.cvx140-demo-preview img{width:100%;height:100%;object-fit:cover}
.cvx140-demo-card h3{margin:5px 0;font-size:17px}.cvx140-demo-card form{display:grid;gap:8px}
.cvx140-assistant-form{display:grid;gap:15px;max-width:800px}

.cvx140-assistant{position:fixed;right:18px;bottom:18px;z-index:1000;display:flex;align-items:flex-end;gap:10px}
.cvx140-assistant-avatar{position:relative;width:92px;height:92px;padding:0;overflow:hidden;border:3px solid #29d884;border-radius:50%;background:#08251b;box-shadow:0 18px 44px rgba(0,0,0,.25);cursor:pointer;animation:cvx140-float 3.4s ease-in-out infinite}
.cvx140-assistant-avatar img{width:100%;height:145%;object-fit:cover;object-position:50% 5%}
.cvx140-assistant-status{position:absolute;right:5px;bottom:9px;width:16px;height:16px;border:3px solid #fff;border-radius:50%;background:#29d884;box-shadow:0 0 0 0 rgba(41,216,132,.6);animation:cvx140-pulse 2s infinite}
.cvx140-assistant-close{position:absolute;right:82px;bottom:77px;z-index:2;width:25px;height:25px;border:0;border-radius:50%;background:#071f18;color:#fff;cursor:pointer}
.cvx140-assistant-panel{display:none;width:min(390px,calc(100vw - 125px));overflow:hidden;border:1px solid #c9ded3;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(4,31,22,.25)}
.cvx140-assistant.is-open .cvx140-assistant-panel{display:block;animation:cvx140-open .2s ease-out}
.cvx140-assistant-panel header{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;background:#071f18;color:#fff}
.cvx140-assistant-panel header small,.cvx140-assistant-panel header strong{display:block}.cvx140-assistant-panel header small{color:#75daa8;font-size:10px;text-transform:uppercase}.cvx140-assistant-panel header>span{padding:5px 8px;border-radius:999px;background:#1f5c45;color:#dff8eb;font-size:9px;font-weight:900;text-transform:uppercase}
.cvx140-assistant-messages{display:grid;gap:8px;max-height:235px;overflow:auto;padding:14px;background:#f6faf8}
.cvx140-assistant-messages p{max-width:88%;margin:0;padding:10px 12px;border-radius:14px;font-size:13px;line-height:1.45}
.cvx140-assistant-messages .assistant{justify-self:start;border-radius:14px 14px 14px 3px;background:#fff;color:#163d2e;box-shadow:0 4px 14px rgba(7,31,24,.07)}
.cvx140-assistant-messages .user{justify-self:end;border-radius:14px 14px 3px 14px;background:#29d884;color:#071f18}
.cvx140-assistant-quick{display:flex;flex-wrap:wrap;gap:6px;padding:11px 13px;border-top:1px solid #e4ece8}
.cvx140-assistant-quick button{padding:7px 9px;border:1px solid #cfe0d7;border-radius:999px;background:#fff;color:#174635;font-size:11px;font-weight:800;cursor:pointer}
.cvx140-assistant-panel form{display:grid;grid-template-columns:1fr auto;gap:7px;padding:0 13px 10px}
.cvx140-assistant-panel input{min-width:0;height:42px;padding:0 11px;border:1px solid #cfe0d7;border-radius:10px}
.cvx140-assistant-panel form button{border:0;border-radius:10px;padding:0 13px;background:#071f18;color:#fff;font-weight:850;cursor:pointer}
.cvx140-assistant-disclaimer{display:block;padding:0 14px 12px;color:#73857d;font-size:9px}

.cvx120-card-image img[src*="placeholders/"],.cvx112-listing-image img[src*="placeholders/"]{object-fit:cover}
.cvx120-card:has(img[src*="placeholders/"]) .cvx120-card-image:after,.cvx112-listing-card:has(img[src*="placeholders/"]) .cvx112-listing-image:after{content:"Bilde kan byttes fra admin";position:absolute;left:12px;bottom:11px;padding:6px 8px;border-radius:999px;background:rgba(7,31,24,.82);color:#dff8eb;font-size:9px;font-weight:850}

@keyframes cvx140-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@keyframes cvx140-pulse{70%{box-shadow:0 0 0 11px rgba(41,216,132,0)}100%{box-shadow:0 0 0 0 rgba(41,216,132,0)}}
@keyframes cvx140-open{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

@media(max-width:1100px){.cvx140-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cvx140-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cvx140-upload form{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.cvx140-media-grid,.cvx140-demo-grid{grid-template-columns:1fr}.cvx140-upload form,.cvx140-filter{grid-template-columns:1fr}.cvx140-assistant{right:9px;bottom:9px}.cvx140-assistant-avatar{width:76px;height:76px}.cvx140-assistant-close{right:67px;bottom:63px}}
@media(prefers-reduced-motion:reduce){.cvx140-assistant-avatar,.cvx140-assistant-status{animation:none}}
