/* ==========================================
   MPS SNOOTS – STILE UNIFICATO LIGHT
   Versione rinforzata per BuddyBoss/Astra
   ========================================== */

:root{
  --mps-purple:#9C27B0;
  --mps-purple-2:#A259FF;
  --mps-purple-soft:#F3E5F5;
  --mps-mint:#6EE7B7;
  --mps-mint-soft:#6EE7B7;
  --mps-mint-soft-2:#6EE7B7;
  --mps-white:#FFFFFF;
  --mps-text:#333333;
  --mps-text-soft:#666666;
  --mps-text-faint:#888888;
  --mps-border:#DDEFE7;
  --mps-border-soft:#E9F6F0;
  --mps-shadow:0 6px 20px rgba(0,0,0,0.06);
  --mps-radius:16px;
  --mps-radius-sm:12px;
  --mps-radius-pill:999px;
}

/* ==========================================
   FEED / WRAPPER
   ========================================== */

.mps-snoots-feed-wrap,
.snoots-feed-container,
.snoots-timeline{
  max-width:900px;
  margin:30px auto;
  padding:0 15px;
  box-sizing:border-box;
}

.mps-snoots-feed-header{
  margin-bottom:18px;
}

.mps-snoots-feed-title{
  margin:0;
  font-size:1.8rem;
  line-height:1.2;
  color:var(--mps-purple);
}

/* Footer azioni Snoots: elementi affiancati */
.acomment-foot-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Primo blocco (like/comment/share ecc.) */
.acomment-foot-actions .bp-generic-meta.activity-meta.action {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Riduce SOLO il timestamp dentro il footer commenti */
.acomment-foot-actions .time-since {
    font-size: 11px;
    opacity: 0.75;
    white-space: nowrap;
    margin-left: auto;
}

/* Snoots commenti: contenitore del bottone reaction */
.acomment-foot-actions .bp-generic-meta.activity-meta.action {
    position: relative;
}

/* Reazione del commento: la riportiamo dentro la riga azioni */
.acomment-foot-actions .activity-state-reactions {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;

    display: inline-flex !important;
    align-items: center;
    margin: 0 4px 0 0 !important;
    vertical-align: middle;
}

/* ==========================================
   COMPOSER / PUBBLICA COME
   ========================================== */

#bp-nouveau-activity-form .mps-snoots-pet-selector-wrap,
form#whats-new-form .mps-snoots-pet-selector-wrap,
.mps-snoots-pet-selector-wrap{
  width:100%;
  margin:0 0 10px !important;
  padding:12px 14px !important;
  border-radius:14px !important;
  background:#F4FFFA !important;
  border:2px solid #6EE7B7 !important;
  box-shadow:0 6px 16px rgba(0,0,0,0.06) !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  box-sizing:border-box;
}

.mps-snoots-pet-selector-wrap:hover{
  border-color:#A259FF !important;
  box-shadow:0 6px 20px rgba(0,0,0,0.08) !important;
}

#activity-header,
#whats-new-scroll-view,
#whats-new-form-footer,
#whats-new-toolbar{
  background:var(--mps-mint-soft) !important;
  border:1px solid var(--mps-border) !important;
  border-radius:12px !important;
}

/* label */
.mps-snoots-pet-label{
  font-size:20px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  color:#9C27B0 !important;
  white-space:nowrap;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
}

.mps-snoots-pet-label::before{
  content:"🐾";
  font-size:20px;
  line-height:1;
}

/* select Pubblica come */
.mps-snoots-pet-select{
  flex:1 1 auto !important;
  min-width:220px !important;
  max-width:340px !important;
  min-height:44px !important;
  font-size:16px !important;
  font-weight:700 !important;
  border:2px solid #CFE7DC !important;
  border-radius:12px !important;
  background:#FFFFFF !important;
  color:#333333 !important;
  padding:8px 10px !important;
}

/* blocco Dove pubblicare */
.mps-snoots-visibility-wrap{
  margin-left:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  justify-content:center !important;
  min-width:245px !important;
}

.mps-snoots-visibility-heading{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  position:relative;
  width:100%;
}

.mps-snoots-visibility-heading .mps-snoots-pet-label{
  font-size:20px !important;
}

/* icona i */
.mps-snoots-info{
  width:28px !important;
  height:18px !important;
  min-width:28px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid #CFCFCF !important;
  background:#FFFFFF !important;
  color:#777 !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer;
  box-shadow:0 1px 3px rgba(0,0,0,0.08);
}

/* tooltip */
.mps-snoots-info-bubble{
  display:none;
  position:absolute;
  right:0;
  top:28px;
  z-index:20;
  width:300px;
  max-width:80vw;
  padding:10px 12px;
  border-radius:10px;
  background:#FFFFFF;
  border:1px solid #DDDDDD;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
  font-size:13px;
  line-height:1.35;
  color:#333;
  text-align:left;
}

.mps-snoots-info:hover + .mps-snoots-info-bubble,
.mps-snoots-info:focus + .mps-snoots-info-bubble{
  display:block;
}

/* radio */
.mps-snoots-visibility-radios{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:12px !important;
  margin-top:6px !important;
  width:100%;
  flex-wrap:wrap;
}

.mps-snoots-visibility-radios label{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  cursor:pointer;
  font-size:14px;
  color:#333;
  white-space:nowrap;
}

.mps-snoots-visibility-radios input[type="radio"]{
  margin:0 !important;
}

/* mobile */
@media (max-width:700px){
  .mps-snoots-pet-selector-wrap{
    flex-wrap:wrap !important;
  }

  .mps-snoots-pet-select{
    flex:1 1 100% !important;
    max-width:none !important;
    width:100% !important;
    min-width:0 !important;
  }

  .mps-snoots-visibility-wrap{
    margin-left:0 !important;
    width:100% !important;
    min-width:0 !important;
    align-items:flex-start !important;
  }

  .mps-snoots-visibility-heading,
  .mps-snoots-visibility-radios{
    justify-content:flex-start !important;
  }

  .mps-snoots-info-bubble{
    left:0;
    right:auto;
  }
}


/* ==========================================
   CARD ACTIVITY BUDDYBOSS
   ========================================== */

#buddypress #activity-stream li.activity-item,
.buddypress-wrap #activity-stream li.activity-item,
.activity-list li.activity-item{
  list-style:none !important;
  background:var(--mps-mint-soft-2) !important;
  border:1px solid var(--mps-border-soft) !important;
  border-left:5px solid var(--mps-purple-2) !important;
  border-radius:16px !important;
  padding:16px 16px 14px !important;
  margin-bottom:22px !important;
  box-shadow:var(--mps-shadow) !important;
}

#buddypress #activity-stream li.activity-item .activity-avatar img,
.buddypress-wrap #activity-stream li.activity-item .activity-avatar img{
  border-radius:50% !important;
  object-fit:cover !important;
}

#buddypress #activity-stream li.activity-item .activity-header,
.buddypress-wrap #activity-stream li.activity-item .activity-header{
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  margin-bottom:6px !important;
  color:var(--mps-text) !important;
}

#buddypress #activity-stream li.activity-item .activity-header a,
.buddypress-wrap #activity-stream li.activity-item .activity-header a{
  color:var(--mps-purple) !important;
  text-decoration:none !important;
}

#buddypress #activity-stream li.activity-item .activity-header a:hover,
.buddypress-wrap #activity-stream li.activity-item .activity-header a:hover{
  text-decoration:underline !important;
}

#buddypress #activity-stream li.activity-item .activity-meta,
.buddypress-wrap #activity-stream li.activity-item .activity-meta{
  margin-top:10px !important;
}

#buddypress #activity-stream li.activity-item .activity-meta time,
#buddypress #activity-stream li.activity-item .activity-meta a,
.buddypress-wrap #activity-stream li.activity-item .activity-meta time,
.buddypress-wrap #activity-stream li.activity-item .activity-meta a{
  font-size:12px !important;
  color:#8A8A8A !important;
}

#buddypress #activity-stream li.activity-item .activity-inner,
.buddypress-wrap #activity-stream li.activity-item .activity-inner{
  font-size:15px !important;
  line-height:1.55 !important;
  margin-top:8px !important;
  color:var(--mps-text) !important;
}

#buddypress #activity-stream li.activity-item .activity-inner img,
.buddypress-wrap #activity-stream li.activity-item .activity-inner img{
  max-width:100% !important;
  height:auto !important;
  border-radius:12px !important;
  margin-top:8px !important;
}

/* ==========================================
   DOPPIO AVATAR
   ========================================== */
/* contenitore avatar BuddyBoss */
#buddypress #activity-stream .activity-avatar,
.buddypress-wrap #activity-stream .activity-avatar{
  width: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  overflow: visible !important;
}

/* avatar singolo normale */
#buddypress #activity-stream .activity-avatar > a > img,
.buddypress-wrap #activity-stream .activity-avatar > a > img{
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
}

/* wrapper doppio avatar */
.mps-snoots-dual-avatar{
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: nowrap;
}

/* avatar pet + utente */
.mps-snoots-avatar-pet,
.mps-snoots-avatar-user{
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  max-width: 30px;
  max-height: 30px;
  border-radius: 50% !important;
  overflow: hidden;
  flex: 0 0 30px;
}

/* leggera sovrapposizione per avvicinarli */
.mps-snoots-avatar-user{
  margin-left: -4px;
}

/* immagini */
.mps-snoots-avatar-pet img,
.mps-snoots-avatar-user img{
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
}
/* ==========================================
   TIMEBOOK PET
   ========================================== */

.mps-pet-activity-section,
.mps-pet-timebook-section{
  background:var(--mps-mint-soft-2) !important;
  padding:20px !important;
  border-radius:14px !important;
  border:1px solid var(--mps-border-soft) !important;
  box-shadow:var(--mps-shadow) !important;
}

.mps-pet-activity-section h3,
.mps-pet-timebook-section h3{
  margin:0 0 14px !important;
  color:var(--mps-purple) !important;
  font-size:1.15rem !important;
}

.mps-pet-activity-grid,
.mps-pet-timebook-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:15px;
}

.mps-pet-activity-item,
.mps-pet-timebook-item{
  background:#fff !important;
  border:1px solid var(--mps-border-soft) !important;
  border-radius:12px !important;
  padding:12px !important;
  color:var(--mps-text) !important;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.mps-pet-activity-item:hover,
.mps-pet-timebook-item:hover{
  background:#FCFFFD !important;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

.mps-pet-activity-text p{
  margin:0;
  line-height:1.5;
}

.mps-pet-activity-meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
}

.mps-pet-activity-meta span{
  color:var(--mps-text-faint) !important;
  font-size:12px !important;
}

.mps-pet-activity-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  padding:7px 12px;
  border-radius:var(--mps-radius-pill);
  background:var(--mps-purple-soft) !important;
  color:var(--mps-purple) !important;
  font-weight:700;
  text-decoration:none !important;
}

.mps-pet-activity-link:hover{
  background:#EAD7FF !important;
}

/* ==========================================
   PAGINA PET
   ========================================== */

.snoots-pet-page{
  padding:2rem 1rem;
}

.snoots-pet-article{
  max-width:900px;
  margin:0 auto 3rem;
}

.snoots-pet-hero{
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  align-items:center;
  background:var(--mps-mint-soft) !important;
  border-radius:16px !important;
  padding:1.5rem !important;
  border:1px solid var(--mps-border) !important;
  box-shadow:var(--mps-shadow) !important;
}

.snoots-pet-photo img{
  border-radius:999px !important;
  width:160px;
  height:160px;
  object-fit:cover;
}

.snoots-avatar-fallback-big{
  width:160px;
  height:160px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--mps-purple-soft);
  color:var(--mps-purple);
  font-size:3rem;
  font-weight:700;
}

.snoots-pet-main{
  flex:1 1 250px;
}

.snoots-pet-name{
  margin:0 0 .5rem;
  font-size:2rem;
  font-weight:700;
  color:#4A148C !important;
}

.snoots-pet-name .snoots-badge-species{
  display:inline-block;
  margin-left:8px;
  padding:3px 9px;
  border-radius:999px;
  background:var(--mps-purple-soft) !important;
  color:var(--mps-purple) !important;
  font-size:14px;
  vertical-align:middle;
}

.snoots-pet-meta-line{
  font-size:.95rem;
  color:#555 !important;
}

.snoots-pet-species-text{
  font-weight:600;
  text-transform:capitalize;
}

.snoots-pet-owner a{
  color:var(--mps-purple-2) !important;
  text-decoration:none !important;
}

.snoots-pet-owner a:hover{
  text-decoration:underline !important;
}

.snoots-back-link{
  display:inline-block;
  padding:.5rem .9rem;
  border-radius:999px;
  border:1px solid var(--mps-purple-2) !important;
  color:var(--mps-purple-2) !important;
  text-decoration:none !important;
  font-size:.9rem;
  background:rgba(162,89,255,.08) !important;
}

.snoots-back-link:hover{
  background:rgba(162,89,255,.18) !important;
}

.snoots-pet-bio{
  margin-top:0;
  margin-bottom:.75rem;
  padding:1.5rem !important;
  border-radius:12px !important;
  background:var(--mps-mint-soft-2) !important;
  border:1px solid var(--mps-border-soft) !important;
}

.snoots-pet-extra-line{
  margin-top:.5rem;
  font-size:.9rem;
  color:#555;
  display:flex;
  flex-wrap:wrap;
  gap:.6rem 1.2rem;
}

.snoots-pet-extra-item{
  background:rgba(110,231,183,.18) !important;
  border-radius:999px;
  padding:3px 10px;
}

.snoots-pet-page .comments-area{
  display:none !important;
}

.mps-pet-profile-actions {
  margin-top: 16px;
}

.mps-pet-profile-edit-btn {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 999px;
  background: var(--mps-brand-dark);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700;
  transition: all .15s ease;
}

.mps-pet-profile-edit-btn:hover {
  background: #B57BFF;
  color: #fff !important;
}

/* ==========================================
   MENU DESTRO
   ========================================== */

.snoots-right-menu-wrap{
  position:fixed;
  right:18px;
  top:270px;
  width:200px;
  max-height:calc(100vh - 170px);
  overflow:auto;
  z-index:9999;
}

.snoots-right-menu{
  background:var(--mps-purple) !important;
  border-radius:16px !important;
  padding:10px !important;
  box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
}

.snoots-right-menu__list,
.snoots-right-menu__list ul,
.snoots-right-menu__list li{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.snoots-right-menu__list > li{
  margin:2px 0 !important;
}

.snoots-right-menu__list a{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  padding:6px 10px !important;
  border-radius:12px !important;
  color:#fff !important;
  text-decoration:none !important;
  font-size:14.4px;
  line-height:1.2;
  font-weight:500;
  transition:background-color .15s ease;
}

.snoots-badge{
  margin-left:auto;
  background:#ff0000 !important;
  color:#fff !important;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:700;
  flex:0 0 auto;
}

.snoots-right-menu__list a:hover,
.snoots-right-menu__list .current-menu-item > a,
.snoots-right-menu__list .current-menu-ancestor > a{
  background:var(--mps-purple-2) !important;
}

.snoots-menu-toggle{
  display:none;
  border:0;
  border-radius:999px;
  padding:10px 14px;
  font-size:18px;
  cursor:pointer;
  background:var(--mps-purple);
  color:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  
  
}/* ==========================================
   BLOCCO WELCOME
   ========================================== */

.mps-welcome-block {
    max-width: 800px;
    margin: 20px auto 30px auto;
    padding: 20px;
    border-radius: 16px;
    background: #A259FF;
    border: 1px solid #333;
}

.mps-welcome-block h1 {
    margin-top: 0;
    font-size: 2rem;
}

.mps-welcome-block p {
    font-size: 1.05rem;
    line-height: 1.6;
}

.mps-welcome-block ul {
    margin-left: 1.2rem;
    line-height: 1.6;
}

.mps-welcome-block a {
    text-decoration: underline;
}

/* ==========================================
   RESPONSIVE
   ========================================== */

@media (max-width: 900px){
  .snoots-right-menu-wrap{
    position: fixed;
    right: 23px;
    bottom: 70px;
    top: auto;
    width: auto;
    max-height: none;
    overflow: visible;
  }

  .snoots-menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .snoots-right-menu-panel{
    display:none;
    position:absolute;
    right:0;
    bottom:54px;
    width:240px;
    max-height:60vh;
    overflow:auto;
  }

  .snoots-right-menu-wrap.is-open .snoots-right-menu-panel{
    display:block;
  }
}

@media (max-width:768px){

  .mps-pet-activity-grid,
  .mps-pet-timebook-grid{
    grid-template-columns:1fr;
  }

  /* feed a tutta larghezza */
  .mps-snoots-feed-wrap,
  .snoots-feed-container,
  .snoots-timeline{
    padding:0 !important;
    margin:0 !important;
    max-width:100% !important;
  }

  /* post senza padding e bordi */
  #buddypress #activity-stream li.activity-item,
  .buddypress-wrap #activity-stream li.activity-item{
    padding:0 !important;
    margin:0 0 16px 0 !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  /* immagini post edge-to-edge */
  #buddypress .activity-inner img,
  .buddypress-wrap .activity-inner img{
    width:100% !important;
    max-width:100% !important;
    border-radius:0 !important;
  }

  /* box "pubblica come" */
  .mps-snoots-pet-selector-wrap{
    flex-direction:column;
    align-items:stretch;
    margin:0 !important;
    border-radius:0 !important;
  }

  /* hero pet */
  .snoots-pet-hero{
    padding:0 !important;
    border-radius:0 !important;
  }

  .snoots-pet-photo img,
  .snoots-avatar-fallback-big{
    width:120px;
    height:120px;
  }

  .snoots-pet-name{
    font-size:1.6rem;
  }

}.activity-inner,
.activity-header{
  padding:0 12px !important;
}

#buddypress #activity-stream{ margin-top:0 !important; }


/* ==========================================
   GALLERY
   ========================================== */
.mps-pet-gallery-item{
  display:block !important;
  position:relative;
  aspect-ratio:1 / 1;
  overflow:hidden;

  padding:0 !important;
  margin:0 !important;

  background:transparent !important;
  border:none !important;
  box-shadow:none !important;

  border-radius:16px;
  text-decoration:none !important;
}

.mps-pet-gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;

  border:none !important;
  box-shadow:none !important;
  background:transparent !important;
}

.mps-pet-gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:14px;
}