/* =========================
   PROFILE PAGE
========================= */

.profile-page{

  min-height:100vh;

  position:relative;
  background-size:cover;

  background-position:center;

  color: var(--panea-white);

  font-family:"Inter", sans-serif;
}

.profile-page::before{

  content:"";

  position:fixed;

  width:900px;
  height:900px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(253,193,3,.12),
      transparent 70%
    );

  top:-300px;
  left:50%;

  transform:translateX(-50%);

  pointer-events:none;

  filter:blur(60px);
}

/* =========================
   PROFILE HEADER
========================= */
.profile-header{

  top:0;

  z-index:9999;

  padding:20px 0;
   position:sticky;

  backdrop-filter:blur(18px);

  background:
    rgba(8,22,35,.72);

  border-bottom:
    1px solid rgba(255,255,255,.05);

}


.profile-header-inner{

  width:min(1320px, 92%);

  margin:0 auto;

  display:flex;

  align-items:center;

  justify-content:space-between;
}

.profile-logo{

  font-family:"Playfair Display", serif;

  font-size:2rem;

  font-weight:700;

  line-height:.9;

  color:var(--panea-yellow);

  text-decoration:none;

  letter-spacing:-.04em;
}

.profile-quote p{

  font-family:"Playfair Display", serif;

  font-size:clamp(1.8rem,4vw,3rem);

  line-height:1.3;

  opacity:.82;

  max-width:800px;

  margin:auto;

}

.profile-nav{

  display:flex;

  align-items:center;

  gap:24px;
}

.profile-nav a,
.logout-btn{

  color: rgba(255,255,255,.82);

  text-decoration:none;

  background:none;

  border:none;
  font-weight:600;
letter-spacing:.04em;
  font-size:1rem;
  cursor:pointer;

  opacity:.8;

  transition:.3s;
}

.profile-nav a:hover,
.logout-btn:hover{

  color: var(--panea-yellow);

  opacity:1;
}

.profile-nav a.active{

  color: var(--panea-yellow);

  opacity:1;

}

.profile-nav a.active::after{

  width:100%;

}
/* =========================
   PROFILE HERO
========================= */

.profile-hero{

  position:relative;

  min-height:auto;

  padding:40px 24px 30px;

  display:flex;

  align-items:center;

  justify-content:center;

  text-align:center;

}

.profile-title{
  max-width:9ch;

  margin:0 auto 24px;

  text-wrap:balance;

  letter-spacing:-.04em;

}

.profile-hero::before{

  content:"";

  position:absolute;

  inset:0;
}

.profile-hero::after{

  content: "";

  position: absolute;

  inset: 0;

  opacity: .04;

  mix-blend-mode: soft-light;

  pointer-events: none;
}

.profile-hero > *{

  position: relative;

  z-index: 2;
}

.profile-hero-content{

  width: min(900px, 92%);

  margin: 0 auto;

  position:relative;
}

.profile-user-meta{

  display:flex;

  flex-direction:column;

  align-items:center;

  justify-content:center;

  gap:4px;

  text-align:center;

}

.profile-user-info{

  display:flex;

  flex-direction:column;

  align-items:flex-start;

  text-align:left;

}

.profile-kicker{

  font-size:.72rem;

  letter-spacing:2px;

  color:var(--panea-yellow);

  margin-bottom:18px;
}


.profile-username{

  font-size:.82rem;

  letter-spacing:.28em;

  text-transform:uppercase;

  color:var(--panea-yellow);

  margin:0;
}

.profile-bio{

  font-size:1.1rem;

  line-height:1.7;

  max-width:520px;

  color:rgba(255,255,255,.72);

  max-width:520px;

  margin:0 auto;

}

.profile-subtitle{

  font-size:1.05rem;

  opacity:.78;

  color: rgba(255,255,255,.78);
}

/* =========================
   AVATAR
========================= */

.profile-avatar{

  width:190px;
  height:190px;

  border-radius:50%;
  overflow:hidden;

  padding:2px;

  background:
    linear-gradient(
      135deg,
      #0b2f44,
      #1d5d86
    );

  box-shadow:
    0 12px 35px rgba(11,47,68,.25);

}

.profile-avatar img{

  width:100%;

  height:100%;

  object-fit:cover;

  display:block;
}

/* =========================
   STATS
========================= */
.profile-stats{

  display:flex;

  justify-content:center;

  align-items:center;

  flex-wrap:wrap;

  gap:18px;

  width:100%;

  margin-top:12px;

}


.profile-stat{

  min-width:160px;

  padding:26px 30px;

  border-radius:18px;

  background:
    rgba(255,255,255,.04);

  border:
    1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(18px);

  transition:.3s ease;

}


.profile-stat span{

  display:block;

  margin-bottom:8px;

  font-size:2.4rem;

  font-family:"Playfair Display", serif;

}

.profile-stat p{

  margin-top: .5rem;

  color: rgba(255,255,255,.7);

  text-transform: uppercase;

  letter-spacing: .15em;

  font-size: .75rem;
}

.profile-stat:hover{

  transform:translateY(-4px);

  border-color:
    rgba(253,193,3,.22);

}
/* =========================
   ACTIVITY SECTION
========================= */

.activity-section{

  margin-top: 5rem;

}


.activity-feed{

  display:flex;

  gap:18px;

  overflow-x:auto;

  overflow-y:hidden;

  width:100%;

  padding-bottom:10px;

  justify-content:flex-start;

  align-items:flex-start;

  scroll-behavior:smooth;
   scrollbar-width:thin;

  scrollbar-color:
    rgba(255,255,255,.18)
    transparent;

}

/* SCROLLBAR ACTIVITY */

.activity-feed::-webkit-scrollbar{

  height:6px;

}

.activity-feed::-webkit-scrollbar-track{

  background:transparent;

}

.activity-feed::-webkit-scrollbar-thumb{

  background:
    rgba(255,255,255,.16);

  border-radius:999px;

}

.activity-feed::-webkit-scrollbar-thumb:hover{

  background:
    rgba(255,255,255,.24);

}

.activity-feed .saved-card{

  flex:0 0 140px;

  width:140px;

  min-width:140px;

}

.activity-feed .saved-card img{

  width:100%;

  aspect-ratio:0.72;

  object-fit:cover;

  border-radius:22px;

  display:block;

}

/* CARD */

.activity-card{

  display:flex;

  align-items:center;

  gap:1.5rem;

  padding:1.4rem;

  border-radius:28px;

  background:
    rgba(255,255,255,.03);

  border:
    1px solid rgba(255,255,255,.06);

  backdrop-filter:blur(14px);

  transition:.3s ease;

  position:relative;

  overflow:hidden;

}

/* GLOW */

.activity-card::before{

  content:"";

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      135deg,
      rgba(253,193,3,.08),
      transparent 60%
    );

  opacity:0;

  transition:.3s ease;

}

/* HOVER */

.activity-card:hover{

  transform:translateY(-4px);

  border-color:
    rgba(253,193,3,.18);

}

.activity-card:hover::before{

  opacity:1;

}

/* POSTER */

.activity-poster{

  width:72px;

  height:108px;

  border-radius:14px;

  object-fit:cover;

  flex-shrink:0;

  box-shadow:
    0 14px 30px rgba(0,0,0,.35);

}

/* CONTENT */

.activity-content{

  flex:1;

}

.activity-type{

  font-size:.72rem;

  letter-spacing:.18em;

  text-transform:uppercase;

  color:var(--panea-yellow);

  margin-bottom:.45rem;

}

.activity-title{

  font-family:"Playfair Display", serif;

  font-size:2rem;

  color:var(--panea-white);

  margin-bottom:.5rem;

}

.activity-text{

  color:rgba(255,255,255,.72);

  line-height:1.6;

}

.activity-time{

  position:absolute;

  top:1.2rem;

  right:1.2rem;

  font-size:.82rem;

  color:rgba(255,255,255,.4);

}


/* =========================
   CURRENT FAVORITE
========================= */

.current-favorite{

  width:min(920px, 92%);

  margin:70px auto 0;

  display:flex;

  align-items:center;

  gap:34px;

  padding:28px;

  border-radius:34px;

  background:
    rgba(255,255,255,.04);

  border:
    1px solid rgba(255,255,255,.06);

  backdrop-filter:blur(18px);

  overflow:hidden;

  position:relative;
}

.current-favorite::before{

  content:"";

  position:absolute;

  width:320px;

  height:320px;

  background:
    radial-gradient(
      circle,
      rgba(253,193,3,.14),
      transparent 70%
    );

  top:-120px;

  right:-80px;

  pointer-events:none;
}

.current-favorite img{

  width:180px;

  aspect-ratio:2/3;

  object-fit:cover;

  border-radius:22px;

  flex-shrink:0;

  box-shadow:
    0 20px 60px rgba(0,0,0,.35);

  transition:.45s ease;
}

.current-favorite-content{

  position:relative;

  z-index:2;
}

.current-label{

  font-size:.72rem;

  letter-spacing:.24em;

  text-transform:uppercase;

  color:var(--panea-yellow);

  margin-bottom:16px;
}

.current-favorite h3{

  font-family:"Playfair Display", serif;

  font-size:clamp(2.4rem, 4vw, 4rem);

  line-height:.95;

  color:var(--panea-white);

  margin-bottom:18px;
}

.current-favorite span{

  font-size:1.05rem;

  line-height:1.8;

  color:rgba(255,255,255,.68);
}

.current-favorite:hover img{

  transform:scale(1.03);
}

/* =========================
   MOBILE TAB BAR
========================= */

.mobile-tabbar{

  position:fixed;

  bottom:0;
  left:0;

  width:100%;

  height:78px;

  background:
    rgba(8,22,35,.92);

  backdrop-filter:blur(20px);

  border-top:
    1px solid rgba(255,255,255,.06);

  display:flex;

  justify-content:space-around;

  align-items:center;

  z-index:9999;

}

/* ITEM */
/* =========================
   MOBILE TABBAR LINKS
========================= */

.tab-item{

  display:flex;

  flex-direction:column;

  align-items:center;

  justify-content:center;

  gap:8px;

  text-decoration:none;

  color:rgba(255,255,255,.62);

  font-size:.82rem;

  font-weight:600;

  letter-spacing:.04em;

  transition:.25s ease;

  position:relative;

}

/* ICON */

.tab-item i{

  font-size:1.35rem;

}

/* HOVER */

.tab-item:hover{

  color:var(--panea-yellow);

}

/* ACTIVE */

.tab-item.active{

  color:var(--panea-yellow);

}

/* UNDERLINE */

.tab-item::after{

  content:"";

  position:absolute;

  bottom:-8px;

  width:0;

  height:2px;

  border-radius:999px;

  background:var(--panea-yellow);

  transition:.25s ease;

}

.tab-item:hover::after,
.tab-item.active::after{

  width:24px;

}
/* PLUS */


.logout-tab{

  background:none;

  border:none;

  cursor:pointer;

  font-family:inherit;

}


.mobile-tabbar{

  justify-content:space-evenly;

}

/* =========================
   SIGNATURE SECTION
========================= */

.signature-section{

  position: relative;

  padding: 8rem 0;

  overflow: hidden;

}

.signature-overlay{

  position: absolute;

  inset: 0;

  pointer-events: none;

}

.signature-content{

  position: relative;

  z-index: 2;

  width: min(1200px, 92%);

  margin: 0 auto;

}

.signature-kicker{

  color: var(--panea-yellow);

  letter-spacing: .25em;

  font-size: .7rem;

  margin-bottom: 1rem;

}

.signature-title{

  font-family: "Playfair Display", serif;

  font-size: clamp(3rem, 8vw, 6rem);

  line-height: .95;

  color: rgba(255,255,255,.92);

  max-width: 700px;

  margin-bottom: 1.5rem;

}

.signature-subtitle{

  color: rgba(255,255,255,.7);

  font-size: 1.1rem;

  max-width: 500px;

  line-height: 1.7;

  margin-bottom: 4rem;

}

.signature-grid{

  display:grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(150px,1fr)
    );

  gap:20px;

}

.signature-film{

  aspect-ratio:2/3;

  border-radius:24px;

  overflow:hidden;

  cursor:pointer;

}
.signature-film img{

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

}

.signature-film::after{

  content:"";

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      to top,
      rgba(0,0,0,.88) 0%,
      rgba(0,0,0,.55) 35%,
      transparent 70%
    );

  z-index:1;

  pointer-events:none;

}

.signature-film::before{

  content:"";

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(0,0,0,.75)
    );

  z-index:1;

}



.signature-film-overlay{

  position: absolute;

  bottom: 2rem;

  left: 2rem;

  z-index: 3;

}

.signature-film-overlay h3{

  font-family: "Playfair Display", serif;

  font-size: 2rem;

  color: rgba(255,255,255,.92);

  margin-bottom: .5rem;

}

.signature-film-overlay p{

  color: rgba(255,255,255,.7);

}

.signature-film:hover{

  transform:
    translateY(-10px)
    scale(1.02);

}

.featured-film{

  min-height: 680px;

}


.saved-state{

  background: var(--panea-yellow);

  color:#000;

  opacity:.9;

  cursor:default;

}

/* HOVER */

.saved-card:hover{

  transform:
    translateY(-8px)
    scale(1.01);

}

.saved-card:hover img{

  transform:scale(1.05);

}

.saved-card:hover .saved-overlay{

  opacity:1;

}



/* =========================
   PROFILE CONTENT
========================= */

.profile-content{

  width: min(1200px, 92%);

  margin: 0 auto;

  position: relative;

  z-index: 3;

  display: flex;

  flex-direction: column;

  gap: 2.5rem;
}

/* =========================
   PROFILE USER
========================= */

.profile-user{

  display:flex;

  justify-content:center;

  margin-bottom:70px;
}

.profile-user-box{

  padding:22px 28px;

  border:1px solid rgba(255,255,255,.08);

  background:rgba(20,35,55,.45);

  backdrop-filter:blur(18px);

  border-radius:24px;
}

.profile-user-label{

  font-size:.7rem;

  letter-spacing:2px;

  opacity:.72;

  margin-bottom:10px;
}

.profile-email{

  font-size:1rem;
}

/* =========================
   PROFILE HIGHLIGHTS
========================= */

.profile-highlights{

  display:grid;

  grid-template-columns:1fr 1fr;

  gap:24px;

  width:min(1000px, 92%);

  margin:70px auto;
}

.highlight-card{

  padding:38px;

  border-radius:32px;

  background:
    rgba(255,255,255,.04);

  border:
    1px solid rgba(255,255,255,.06);

  backdrop-filter:blur(12px);
}

/* =========================
   PROFILE QUOTE
========================= */

.profile-quote{

  text-align:center;

  padding:120px 20px;
}

.profile-quote p{

  font-family:"Playfair Display", serif;

  font-size:clamp(1.8rem,4vw,3rem);

  line-height:1.3;

  opacity:.82;

  max-width:800px;

  margin:auto;
}

/* =========================
   MOVIE ACTIONS
========================= */

.movie-actions{

  display:flex;

  flex-direction:row;

  flex-wrap:wrap;

  gap:12px;

  margin-top:20px;
}

.save-movie-btn{

  width:100%;

  padding:14px 18px;

  border-radius:999px;

  border:
    1px solid rgba(255,255,255,.08);

  background:
    rgba(15,30,45,.45);

  color: var(--panea-yellow);

  font-size:.78rem;

  letter-spacing:.08em;

  cursor:pointer;

  transition:.3s ease;
}

.save-movie-btn:hover{

  background: var(--panea-yellow);

  color:#0d2e40;

  transform:translateY(-2px);
}

/* =========================
   SAVED MOVIES
========================= */

.saved-movies{

  width:min(1200px,90%);

  margin:auto;
}

/* =========================
   SECTION TOP
========================= */

.section-top{

  margin-bottom:30px;
}

.section-top h2{

  font-family:"Playfair Display", serif;

  font-size:2rem;
}

/* =========================
   SAVED SECTIONS
========================= */

.saved-section{

  position:relative;

  width:min(1320px, 92%);

  margin:5rem auto;

  padding:54px;

  border-radius:42px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.045),
      rgba(255,255,255,.015)
    );

  border:
    1px solid rgba(255,255,255,.07);

  backdrop-filter:blur(18px);

  overflow:hidden;

  box-shadow:
    0 30px 80px rgba(0,0,0,.24);

}

.saved-section::before{

  content:"";

  position:absolute;

  width:320px;

  height:320px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(253,193,3,.08),
      transparent 72%
    );

  top:-140px;

  right:-100px;

  pointer-events:none;
}
/* =========================
   SECTION HEAD
========================= */

.section-head{

  display:flex;

  justify-content:space-between;

  align-items:flex-end;

  margin-bottom:34px;
}

.section-kicker{

  font-size:.72rem;

  letter-spacing:.24em;

  text-transform:uppercase;

  color:var(--panea-yellow);

  margin-bottom:12px;

  font-weight:700;
}

.saved-title{

  font-family:"Playfair Display", serif;

  font-size:clamp(2.5rem, 4vw, 4rem);

  line-height:.92;

  color:var(--panea-white);
}

.section-link{

  color:rgba(255,255,255,.58);

  text-decoration:none;

  font-size:.92rem;

  transition:.25s ease;
}

.section-link:hover{

  color:var(--panea-yellow);
}

/* =========================
   SAVED GRID
========================= */

.saved-grid{

  display:flex;

  gap:18px;

  overflow-x:auto;

  overflow-y:hidden;

  scroll-behavior:smooth;

  padding-bottom:8px;

  justify-content:flex-start;

}

.saved-grid::-webkit-scrollbar{

  height:6px;

}

.saved-grid::-webkit-scrollbar-thumb{

  background:
    rgba(255,255,255,.15);

  border-radius:999px;

}

.saved-grid .saved-card{

  flex:0 0 140px;

}

.saved-grid:empty{

  min-height:110px;

  display:flex;

  align-items:center;

}

/* =========================
   SAVED CARD
========================= */

.saved-card{

  position:relative;

  overflow:hidden;

  border-radius:22px;

  aspect-ratio:2/3;

  cursor:pointer;

  transition:.3s ease;

  background:#111;

}

.saved-card img{

  width:100%;

  height:100%;

  object-fit:cover;

  display:block;

  transition:.35s ease;

}

.saved-overlay{

  position:absolute;

  inset:auto 0 0 0;

  padding:14px;

  background:
    linear-gradient(
      to top,
      rgba(0,0,0,.82),
      transparent
    );

}

.saved-overlay h3{

  font-size:.82rem;

  margin:0;

  color:white;

}

.saved-card:hover .saved-overlay h3{

  transform:
    translateY(0);

}

.saved-card:hover{

  transform:
    translateY(-4px);

}

.saved-card:hover img{

  transform:scale(1.04);

}

.saved-card:hover .saved-overlay{
opacity:1;
  
}


/* =========================
   PROFILE EDIT
========================= */

#editProfileBtn{

  margin-top:22px;

  height:48px;

  padding:0 22px;

  border-radius:999px;

  border:
    1px solid rgba(255,255,255,.08);

  background:
    rgba(255,255,255,.04);

  backdrop-filter:blur(12px);

  color:rgba(255,255,255,.92);

  font-size:.84rem;

  letter-spacing:.08em;

  font-weight:600;

  cursor:pointer;

  transition:.28s ease;

}

#editProfileBtn:hover{

  background:var(--panea-yellow);

  color:#08131d;

  transform:translateY(-2px);

}
/* TEXTAREA */

.profile-edit textarea{

  min-height:120px;

  resize:none;

}

/* FOCUS */

.profile-edit input:focus,
.profile-edit textarea:focus{

  border-color:#f3c94d;

}

/* BUTTON */

#saveProfileBtn{

  margin-top:6px;

  padding:14px 24px;

  border:none;

  border-radius:999px;

  background:#f3c94d;

  color:#08131d;

  font-weight:600;

  cursor:pointer;

  transition:.25s;

}

#saveProfileBtn:hover{

  transform:translateY(-2px);

}

.profile-edit{

  display:none;

  width:min(620px,92%);
  margin:28px auto 40px;

  padding:32px;

  border-radius:32px;

  background:
    rgba(12,32,46,.72);

  border:
    1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(18px);

  flex-direction:column;
  gap:18px;

}

.profile-edit.open{
  display:flex;
}

.profile-user-meta{

    display:flex;
    flex-direction:column;
    align-items:center;

  }

  .profile-username{

    margin:10px 0 4px !important;

  }

  .profile-bio{

    margin:0 0 10px !important;

  }

  #editProfileBtn{

    margin-top:0 !important;

  }

.saved-overlay{
  pointer-events:none;
}
.saved-card{
  cursor:pointer;
}

.current-favorite{

  cursor:pointer;

}


/* =========================
   LETTERBOXD IMPORT
========================= */

.import-box{

  width:min(1100px,92%);

  margin:4rem auto;

  padding:42px;

  border-radius:36px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.045),
      rgba(255,255,255,.015)
    );

  border:
    1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(18px);

  position:relative;

  overflow:hidden;

}

.import-box::before{

  content:"";

  position:absolute;

  width:260px;
  height:260px;

  border-radius:50%;

  top:-120px;
  right:-80px;

  background:
    radial-gradient(
      circle,
      rgba(253,193,3,.12),
      transparent 70%
    );

  pointer-events:none;

}

.import-box h3{

  font-family:
    "Playfair Display",
    serif;

  font-size:2.2rem;

  margin-bottom:10px;

  color:var(--panea-white);

}

.import-box p{

  color:
    rgba(255,255,255,.68);

  line-height:1.7;

  max-width:520px;

  margin-bottom:28px;

}

#importLetterboxdBtn{

  height:56px;

  padding:0 28px;

  border-radius:999px;

  border:
    1px solid rgba(
      255,255,255,.08
    );

  background:
    rgba(255,255,255,.04);

  backdrop-filter:blur(12px);

  color:var(--panea-yellow);

  font-size:.82rem;

  letter-spacing:.12em;

  text-transform:uppercase;

  font-weight:700;

  cursor:pointer;

  transition:.3s ease;

}

#importLetterboxdBtn:hover{

  background:
    var(--panea-yellow);

  color:#08131d;

  transform:
    translateY(-3px);

  box-shadow:
    0 14px 34px
    rgba(253,193,3,.25);

}


.watched-tools{
  display:flex;
  gap:10px;
  margin-bottom:20px;
  flex-wrap:wrap;
}

#watchedSearch,
#watchedFilter{
  background:#111;
  border:1px solid #333;
  color:white;
  padding:10px 14px;
  border-radius:12px;
  font-size:.95rem;
}

#watchedSearch{
  flex:1;
  min-width:220px;
}

.watchlist-tools,
.watched-tools,
.favorite-tools{
  display:flex;
  gap:10px;
  margin-bottom:20px;
  align-items:center;
  flex-wrap:wrap;
}

.watchlist-tools input,
.watched-tools input,
.favorite-tools input,
.watchlist-tools select,
.watched-tools select,
.favorite-tools select{
  background:#111;
  border:1px solid #333;
  color:white;
  padding:12px 14px;
  border-radius:12px;
  font-size:.95rem;
}

.watchlist-tools input,
.watched-tools input,
.favorite-tools input{
  flex:1;
  min-width:220px;
}


#moviesModal{

  display:none;

  position:fixed;

  inset:0;

  background:#0b1118;

  z-index:9999;

  overflow-y:auto;

  padding:24px;

}

#moviesModal.open{

  display:block;

}

.modal-close{

  margin-bottom:20px;

}

.modal-grid{

  display:grid;

  grid-template-columns:
    repeat(2,1fr);

  gap:12px;

}
