/*
Theme Name: DogCare Social
Description: Motyw społecznościowy DogCare AI — social network dla psiarzy z messengerem, powiadomieniami live i integracją z pluginem DogCare AI.
Version: 2.0.0
Author: DogCare AI
Requires at least: 5.0
Tested up to: 6.7
License: GPL v2 or later
Text Domain: dogcare-social
*/
:root{--dc-cream:#FBF8F4;--dc-sand:#F0E8DE;--dc-clay:#D4956A;--dc-clay-dk:#B87A4F;--dc-forest:#7BA68C;--dc-char:#2D2926;--dc-rose:#E8637A;--dc-muted:#9B9490;--dc-border:#E8E2DC;--dc-gold:#C49B3C}
*{box-sizing:border-box;margin:0;padding:0}
html,body{font-family:'DM Sans',-apple-system,sans-serif;background:var(--dc-cream);color:var(--dc-char);overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:'Outfit',sans-serif}

/* TOPBAR */
.dc-top{position:fixed;top:0;left:0;right:0;z-index:10000;height:54px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--dc-border);display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.dc-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--dc-char);font-family:'Outfit',sans-serif;font-weight:800;font-size:17px}
.dc-logo em{font-size:22px;font-style:normal}
.dc-acts{display:flex;align-items:center;gap:4px}
.dc-btn{position:relative;width:38px;height:38px;border-radius:11px;border:none;background:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--dc-muted);transition:all .2s}
.dc-btn:hover{background:var(--dc-sand);color:var(--dc-char)}
.dc-btn svg{width:20px;height:20px}
.dc-badge{position:absolute;top:3px;right:3px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--dc-rose);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff;animation:dcPulse 2s infinite}
@keyframes dcPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.dc-av{width:32px;height:32px;border-radius:10px;border:2px solid var(--dc-border);overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;background:var(--dc-sand);margin-left:2px;transition:border-color .2s}
.dc-av:hover{border-color:var(--dc-clay)}
.dc-av img{width:100%;height:100%;object-fit:cover}

/* DROPDOWN */
.dc-drop{position:absolute;top:48px;right:0;width:340px;max-height:460px;background:#fff;border-radius:16px;box-shadow:0 12px 48px rgba(0,0,0,.12);border:1px solid var(--dc-border);overflow:hidden;z-index:10001;display:none}
.dc-drop.open{display:block;animation:dcFade .2s ease}
@keyframes dcFade{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.dc-drop-hd{padding:14px 16px;border-bottom:1px solid var(--dc-border);display:flex;justify-content:space-between;align-items:center}
.dc-drop-hd h4{font-size:14px;margin:0;display:flex;align-items:center;gap:6px}
.dc-drop-bd{overflow-y:auto;max-height:380px;padding:6px}
.dc-ni{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:10px;cursor:pointer;transition:background .15s}
.dc-ni:hover{background:var(--dc-cream)}
.dc-ni.un{background:#FFF8F0}
.dc-ni-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;background:var(--dc-sand)}
.dc-ni-tx{font-size:12px;color:var(--dc-char);line-height:1.4}
.dc-ni-tm{font-size:10px;color:var(--dc-muted);margin-top:2px}
.dc-dot{width:7px;height:7px;border-radius:50%;background:var(--dc-clay);flex-shrink:0;margin-top:5px}
.dc-link-btn{background:0;border:0;color:var(--dc-clay);font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}

/* MESSENGER FAB + PANEL */
.dc-fab{position:fixed;bottom:20px;right:20px;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--dc-clay),var(--dc-clay-dk));color:#fff;border:none;box-shadow:0 8px 28px rgba(212,149,106,.4);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:9999;transition:transform .2s}
.dc-fab:hover{transform:scale(1.08)}
.dc-fab svg{width:22px;height:22px}
.dc-mp{position:fixed;bottom:82px;right:20px;width:360px;height:500px;background:#fff;border-radius:18px;box-shadow:0 16px 56px rgba(0,0,0,.14);border:1px solid var(--dc-border);z-index:9998;display:none;flex-direction:column;overflow:hidden}
.dc-mp.open{display:flex;animation:dcFade .25s ease}
.dc-mp-hd{padding:14px 16px;border-bottom:1px solid var(--dc-border);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#FFF8F0,#FFF)}
.dc-mp-hd h4{font-size:14px;margin:0;display:flex;align-items:center;gap:6px}
.dc-mp-bd{flex:1;overflow-y:auto;padding:8px}
.dc-mp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--dc-muted);font-size:13px}
.dc-mp-empty span{font-size:36px;margin-bottom:6px}
.dc-thr{display:flex;align-items:center;gap:10px;padding:10px;border-radius:11px;cursor:pointer;transition:background .15s}
.dc-thr:hover{background:var(--dc-cream)}
.dc-thr-av{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:var(--dc-sand);font-weight:700;color:var(--dc-clay-dk)}
.dc-thr-nm{font-weight:600;font-size:13px}
.dc-thr-last{font-size:11px;color:var(--dc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.dc-thr-tm{font-size:10px;color:var(--dc-muted);flex-shrink:0}
/* Chat view */
.dc-chat-hd{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--dc-border)}
.dc-chat-back{background:0;border:0;cursor:pointer;color:var(--dc-muted);display:flex}
.dc-chat-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:6px}
.dc-msg-b{padding:9px 13px;border-radius:14px;max-width:78%;font-size:13px;line-height:1.4}
.dc-msg-me{background:linear-gradient(135deg,var(--dc-clay),var(--dc-clay-dk));color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.dc-msg-them{background:var(--dc-sand);color:var(--dc-char);align-self:flex-start;border-bottom-left-radius:4px}
.dc-msg-tm{font-size:9px;opacity:.6;margin-top:2px}
.dc-chat-inp{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--dc-border)}
.dc-chat-inp input{flex:1;padding:9px 14px;border-radius:20px;border:1.5px solid var(--dc-border);font-size:13px;outline:0;background:#FAFAF8;font-family:inherit}
.dc-chat-inp input:focus{border-color:var(--dc-clay)}
.dc-chat-inp button{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--dc-clay),var(--dc-clay-dk));color:#fff;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center}

/* USER MENU */
.dc-um{position:absolute;top:48px;right:0;width:220px;background:#fff;border-radius:14px;box-shadow:0 12px 48px rgba(0,0,0,.12);border:1px solid var(--dc-border);z-index:10001;padding:6px;display:none}
.dc-um.open{display:block;animation:dcFade .2s ease}
.dc-um-hd{padding:10px;border-bottom:1px solid var(--dc-border);margin-bottom:4px;display:flex;align-items:center;gap:10px}
.dc-um-av{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--dc-clay),var(--dc-clay-dk));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.dc-um-i{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:12px;color:var(--dc-char);border:0;background:0;width:100%;text-align:left;font-family:inherit;transition:background .15s}
.dc-um-i:hover{background:var(--dc-cream)}
.dc-um-i svg{width:15px;height:15px;color:var(--dc-muted)}

/* LIVE TOAST */
.dc-toast{position:fixed;top:66px;right:20px;padding:12px 18px;background:#fff;border-radius:13px;box-shadow:0 8px 32px rgba(0,0,0,.1);border:1px solid var(--dc-border);display:flex;align-items:center;gap:10px;z-index:10002;max-width:340px;cursor:pointer;animation:dcSlideIn .3s ease,dcSlideOut .3s ease 4.7s forwards}
@keyframes dcSlideIn{from{opacity:0;transform:translateX(80px)}to{opacity:1;transform:translateX(0)}}
@keyframes dcSlideOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(80px)}}
.dc-toast-ic{font-size:22px;flex-shrink:0}
.dc-toast-tx{font-size:12px;line-height:1.4}

/* APP FRAME */
.dc-frame{margin-top:54px;width:100%;min-height:calc(100vh - 54px)}
.dc-frame iframe{width:100%;height:calc(100vh - 54px);min-height:800px;border:0;display:block}

/* WP admin bar */
body.admin-bar .dc-top{top:32px}
body.admin-bar .dc-frame{margin-top:86px}
body.admin-bar .dc-frame iframe{height:calc(100vh - 86px)}

/* RESPONSIVE */
@media(max-width:600px){
  .dc-top{padding:0 10px}
  .dc-logo span:last-child{display:none}
  .dc-drop{width:calc(100vw - 20px);right:-8px}
  .dc-mp{width:calc(100vw - 16px);right:8px;bottom:72px;height:70vh}
  .dc-fab{bottom:14px;right:14px;width:46px;height:46px}
  .dc-um{right:-8px}
}
