/* ===== iLoveLatins theme extras (WordPress-specific) ===== */

/* Sticky header + admin bar */
.admin-bar header{ top:32px; }
@media(max-width:782px){ .admin-bar header{ top:46px; } }

/* Notices (login/register errors & success) */
.form-notice{
  padding:13px 16px; border-radius:10px; font-size:0.88rem; margin-bottom:16px;
}
.form-notice.error{ background:rgba(254,18,173,0.1); color:var(--magenta-dark); border:1px solid rgba(254,18,173,0.3); }
.form-notice.success{ background:rgba(0,173,203,0.1); color:var(--cyan-dark); border:1px solid rgba(0,173,203,0.3); }

/* Auth tabs on membership page */
.auth-tabs{ display:flex; gap:8px; margin-bottom:26px; background:var(--paper-2); padding:6px; border-radius:100px; }
.auth-tab{ flex:1; text-align:center; padding:10px 16px; border-radius:100px; font-weight:600; font-size:0.88rem; cursor:pointer; background:none; border:none; color:var(--ink); opacity:0.6; }
.auth-tab.active{ background:var(--white); opacity:1; box-shadow:0 3px 10px rgba(11,31,38,0.08); }
.auth-panel{ display:none; }
.auth-panel.active{ display:block; }

/* Load more */
.load-more-wrap{ text-align:center; margin-top:44px; }
.load-more-wrap .btn[disabled]{ opacity:0.5; cursor:not-allowed; transform:none; }
.no-more-members{ font-size:0.85rem; color:rgba(11,31,38,0.5); margin-top:10px; }
.profile-grid.is-loading{ opacity:0.6; }

/* Profile card link wrapper */
a.profile-card{ display:block; }
.profile-photo{ background-size:cover; background-position:center; }

/* Logged-in header state */
.nav-cta .user-chip{ display:flex; align-items:center; gap:10px; font-size:0.85rem; font-weight:600; }
.nav-cta .user-chip img{ width:30px; height:30px; border-radius:50%; }

/* WP core alignment resets inside content */
.entry-content p{ margin-bottom:1em; }

/* Simple pagination (non-ajax fallback) */
.wp-pagination{ display:flex; gap:8px; justify-content:center; margin-top:40px; }
.wp-pagination a, .wp-pagination span{ padding:8px 14px; border-radius:8px; border:1px solid var(--line); font-size:0.85rem; }
.wp-pagination .current{ background:var(--ink); color:var(--white); }

/* Dashboard link in nav for logged in users */
.logged-in-links{ display:flex; align-items:center; gap:12px; }

/* ---------- Front page video section ---------- */
.video-section{ padding:50px 0px 0; }
.video-frame{
  max-width:900px; margin:0 auto; border-radius:20px; overflow:hidden;
  box-shadow:0 30px 60px rgba(11,31,38,0.22); background:var(--ink);
}
.video-frame video{ width:100%; display:block; max-height:520px; background:#000; }
.video-embed-wrap{ position:relative; width:100%; padding-top:56.25%; /* 16:9 */ }
.video-embed-wrap iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0;
}

/* Custom self-hosted player with brand play button */
.video-player{ position:relative; line-height:0; background:#000; }
.video-player video{
  width:100%; display:block; max-height:560px; background:#000;
  aspect-ratio:16/9; object-fit:cover; cursor:pointer;
}
.video-player::before{
  /* subtle darken so a white/light poster still shows the button clearly */
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,31,38,0.05) 0%, rgba(11,31,38,0.35) 100%);
  pointer-events:none; opacity:1; transition:opacity .35s ease;
}
.video-player.is-playing::before{ opacity:0; }

.video-play-btn{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:84px; height:84px; border-radius:50%; border:none; cursor:pointer;
  background:var(--magenta); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 14px 34px rgba(254,18,173,0.45);
  transition:transform .22s ease, opacity .25s ease, box-shadow .22s ease;
}
.video-play-btn svg{ margin-left:4px; /* optically center the triangle */ }
.video-play-btn::after{
  content:""; position:absolute; inset:-14px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,0.55);
  animation:ilv-pulse 2.2s ease-out infinite;
}
.video-player:hover .video-play-btn{
  transform:translate(-50%,-50%) scale(1.08);
  box-shadow:0 18px 40px rgba(254,18,173,0.55);
}
.video-player.is-playing .video-play-btn{
  opacity:0; pointer-events:none; transform:translate(-50%,-50%) scale(0.8);
}
@keyframes ilv-pulse{
  0%{ transform:scale(1); opacity:0.7; }
  100%{ transform:scale(1.35); opacity:0; }
}
@media(max-width:640px){
  .video-play-btn{ width:64px; height:64px; }
  .video-play-btn svg{ width:20px; height:20px; }
}


/* ---------------- Manage Profile / Messages additions ---------------- */
.unread-dot{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:18px; height:18px; padding:0 5px; border-radius:100px;
  background:var(--magenta); color:#fff; font-size:0.68rem; font-weight:700;
  margin-left:4px; vertical-align:middle;
}

.messages-shell{
  display:grid; grid-template-columns:300px 1fr; gap:0;
  border:1px solid var(--line); border-radius:16px; overflow:hidden;
  background:var(--white); min-height:560px;
}
@media(max-width:800px){ .messages-shell{ grid-template-columns:1fr; } }

.messages-list{
  border-right:1px solid var(--line); overflow-y:auto; max-height:640px;
}
@media(max-width:800px){ .messages-list{ border-right:none; border-bottom:1px solid var(--line); max-height:220px; } }

.messages-list-item{
  display:flex; gap:12px; align-items:center; padding:14px 18px;
  border-bottom:1px solid var(--line); transition:background .15s ease;
}
.messages-list-item:hover{ background:var(--paper-2); }
.messages-list-item.active{ background:var(--paper-2); }
.messages-list-item img{ border-radius:50%; flex-shrink:0; }
.messages-list-item h5{ font-family:'Fraunces',serif; font-size:0.95rem; margin-bottom:2px; }
.messages-list-item span{ font-size:0.8rem; color:rgba(11,31,38,0.55); display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:170px; }

.messages-thread{ display:flex; flex-direction:column; height:640px; }
.messages-empty{
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:40px; color:rgba(11,31,38,0.6);
}
.messages-thread-head{ display:flex; align-items:center; gap:12px; padding:16px 22px; border-bottom:1px solid var(--line); }
.messages-thread-head img{ border-radius:50%; }
.messages-thread-head h4{ font-size:1.05rem; }

.messages-thread-body{ flex:1; overflow-y:auto; padding:22px; display:flex; flex-direction:column; gap:10px; }

.ilv-bubble{ max-width:72%; padding:12px 16px; border-radius:16px; font-size:0.92rem; line-height:1.4; }
.ilv-bubble p{ margin:0; }
.ilv-bubble-time{ display:block; font-size:0.68rem; margin-top:6px; opacity:0.6; }
.ilv-bubble.theirs{ align-self:flex-start; background:var(--paper-2); color:var(--ink); border-bottom-left-radius:4px; }
.ilv-bubble.mine{ align-self:flex-end; background:var(--magenta); color:#fff; border-bottom-right-radius:4px; }

.messages-send-form{ display:flex; gap:10px; padding:16px 22px; border-top:1px solid var(--line); }
.messages-send-form textarea{
  flex:1; resize:none; min-height:44px; max-height:120px; padding:11px 16px;
  border-radius:14px; border:1px solid var(--line); font-family:'Work Sans',sans-serif; font-size:0.9rem;
}
.messages-send-form button{ align-self:flex-end; }

/* ---------- Home page ad zones ---------- */
.ad-zone{ padding:36px 0; }
.ad-zone-inner{
  max-width:900px; margin:0 auto; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:8px;
}
.ad-zone-label{
  font-family:'IBM Plex Mono', monospace; font-size:0.68rem; letter-spacing:0.08em;
  text-transform:uppercase; color:rgba(11,31,38,0.4);
}
.ad-zone-slot{ width:100%; display:flex; justify-content:center; overflow:hidden; }
.ad-zone-slot img{ max-width:100%; height:auto; border-radius:12px; display:block; }
.ad-zone-slot > a{ display:block; max-width:100%; }

/* Ad slider (multi-image, auto-rotating banner) */
.ad-slider{
  position:relative; width:100%; max-width:900px; margin:0 auto;
  border-radius:12px; overflow:hidden; background:var(--paper-2);
}
.ad-slider-track{ position:relative; width:100%; }
.ad-slider-slide{
  display:none; width:100%;
}
.ad-slider-slide.is-active{ display:block; animation:ilv-ad-fade .4s ease; }
.ad-slider-slide img{ width:100%; height:auto; display:block; border-radius:12px; }
@keyframes ilv-ad-fade{ from{ opacity:0; } to{ opacity:1; } }
.ad-slider-dots{
  position:absolute; left:0; right:0; bottom:12px;
  display:flex; justify-content:center; gap:8px;
}
.ad-slider-dot{
  width:8px; height:8px; border-radius:50%; border:none; padding:0;
  background:rgba(255,255,255,0.55); cursor:pointer; transition:background .2s ease, transform .2s ease;
}
.ad-slider-dot.is-active{ background:var(--white); transform:scale(1.2); }


.btn-icon{
  display:inline-flex; align-items:center; justify-content:center;
  position:relative; width:40px; height:40px; padding:0; border-radius:50%;
  background:var(--paper-2); color:var(--ink); border:1px solid var(--line);
}
.btn-icon:hover{ background:var(--paper); }
.btn-icon .unread-dot{ position:absolute; top:-4px; right:-4px; }


a.btn.btn-icon.msg {
    padding: 0px !important;
}