/* Creator Profiles - theme-friendly */
.feg-wrap { max-width: 980px; margin: 24px auto; }
.feg-box { padding: 14px; border: 1px solid #ddd; border-radius: 0; }

.feg-cover { overflow: hidden; border: 1px solid #e5e5e5; background: #111; background-size: cover; background-position: 50% 50%; }
.feg-cover-inner { display:flex; gap:16px; align-items:flex-end; padding:18px; min-height: 220px; background: linear-gradient(180deg, rgba(0,0,0,0.10), rgba(0,0,0,0.65)); }

.feg-avatar { width: 96px; height: 96px; border-radius: 999px; object-fit: cover; border: 3px solid rgba(255,255,255,0.85); background: #fff; }

.feg-head { flex:1; color: #fff; }
.feg-name { font-size: 26px; line-height: 1.1; font-weight: 700; }
.feg-sub { margin-top: 6px; opacity: .9; }

.feg-btn { display:inline-block; padding:10px 14px; background:#111; color:#fff; text-decoration:none; border:0; cursor:pointer; }
.feg-btn:hover { opacity: .92; }
.feg-btn-light { background: rgba(255,255,255,0.18); color:#fff; border: 1px solid rgba(255,255,255,0.28); }
.feg-link-danger { background: none; border: 0; color:#b00020; cursor: pointer; padding: 0; }
.feg-link { text-decoration: underline; }

.feg-body { margin-top: 12px; }

.feg-card { padding: 14px; border: 1px solid #e5e5e5; border-radius: 0; background: #fff; }
.feg-card h3 { margin: 0 0 10px; }
.feg-card-small { max-width: 520px; }

.feg-text { white-space: pre-wrap; }
.feg-links-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
}

.feg-link-item{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  border:1px solid rgba(0,0,0,.08);
  padding:10px 12px;
  background:#fff;
  color: inherit;
}

.feg-link-item:hover{
  border-color: rgba(0,0,0,.18);
}

.feg-link-icon{
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 20px;
}

.feg-link-icon svg{
  width:20px;
  height:20px;
  display:block;
}

.feg-link-text{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.feg-link-label{
  font-weight:700;
  line-height:1.1;
}

.feg-link-url{
  font-size:12px;
  opacity:.75;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width: 640px){
  .feg-links-grid{ grid-template-columns: 1fr; }
}

.feg-form label { display:block; font-weight: 600; margin-top: 10px; }
.feg-form input[type="text"], .feg-form input[type="email"], .feg-form input[type="url"], .feg-form textarea, .feg-form input[type="file"], .feg-form select {
  width: 100%; padding: 10px; border-radius: 0; border: 1px solid #ddd; box-sizing: border-box;
}
.feg-form button { margin-top: 10px; }

.feg-minihead { margin: 16px 0 0; font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }

.feg-muted { opacity: .75; }
.feg-small { font-size: 12px; }
.feg-msg { padding: 10px 12px; border-radius: 0; margin: 10px 0; }
.feg-ok { background: #e9fff1; border: 1px solid #b6f2c9; }
.feg-err { background: #ffe9ea; border: 1px solid #f5b5ba; }
.feg-errbox { padding: 10px 12px; border: 1px solid #f5b5ba; background: #ffe9ea; }

.feg-dir { display:grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (max-width: 720px) { .feg-dir { grid-template-columns: 1fr; } }

.feg-dir-card { display:flex; gap: 12px; align-items:center; padding: 10px; border: 1px solid #eee; border-radius: 0; text-decoration:none; color: inherit; cursor: pointer; }
.feg-dir-card img { width: 56px; height: 56px; border-radius: 999px; object-fit: cover; }
.feg-dir-name { font-weight: 700; }
.feg-dir-sub { opacity: .75; font-size: 13px; margin-top: 2px; }

.feg-gallery { display:grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 12px; }
@media (max-width: 860px) { .feg-gallery { grid-template-columns: repeat(2, 1fr); } }

.feg-shot { border: 1px solid #eee; border-radius: 0; background:#fff; padding: 8px; }
.feg-shot img { width: 100%; height: auto; border-radius: 0; display:block; }
.feg-cap { margin-top: 8px; font-size: 14px; }
.feg-caplink { text-decoration: underline; }
.feg-inline { margin-top: 8px; }

/* Album tiles (Portfolio Albums mode) */
.feg-album-tile{ padding:0; border-radius:12px; overflow:hidden; }
.feg-album-tile .feg-album-cover{ position:relative; width:100%; aspect-ratio: 1 / 1; background:#f2f2f2; overflow:hidden; }
.feg-album-tile .feg-album-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.feg-album-tile .feg-album-placeholder{ width:100%; height:100%; background: repeating-linear-gradient(45deg, rgba(0,0,0,0.06), rgba(0,0,0,0.06) 10px, rgba(0,0,0,0.10) 10px, rgba(0,0,0,0.10) 20px); }
.feg-album-tile .feg-album-label{ position:absolute; left:0; right:0; bottom:0; padding:8px 10px; background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.75)); color:#fff; font-weight:800; font-size:13px; letter-spacing: .01em; }
.feg-album-tile .feg-thumblink{ display:block; position:relative; }

.feg-split { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 860px) { .feg-split { grid-template-columns: 1fr; } }

.feg-radio label { display:inline-block; margin-right: 12px; font-weight: 600; }

.feg-row { display:flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }

.feg-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
@media (max-width: 860px) { .feg-grid { grid-template-columns: 1fr; } }

/* Tabs */
.feg-tabs { display:flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.feg-tab { padding: 10px 12px; border: 1px solid #e5e5e5; text-decoration:none; color: inherit; border-radius: 0; }
.feg-tab.is-active { background: #111; color: #fff; border-color:#111; }

/* Posts */
.feg-post-list { display:flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.feg-post-row { display:flex; justify-content: space-between; gap: 10px; border-top: 1px solid #eee; padding-top: 10px; }
.feg-post-row:first-child { border-top: 0; padding-top: 0; }
.feg-post-title { font-weight: 700; }
.feg-post-meta { opacity: .75; font-size: 12px; }
.feg-pill { display:inline-block; margin-left: 8px; font-size: 11px; padding: 2px 6px; border:1px solid #ddd; border-radius: 0; font-weight: 600; }

/* Inbox */
.feg-inbox { display:flex; flex-direction: column; gap: 10px; }
.feg-msgrow { border: 1px solid #eee; padding: 10px; border-radius: 0; }
.feg-msgrow.is-unread { border-color: #b6f2c9; }
.feg-msgrow-top { display:flex; justify-content: space-between; gap: 10px; }
.feg-msgrow-body { margin-top: 8px; white-space: pre-wrap; }

/* Upload tab */
.feg-upload-wrap { display:flex; justify-content:flex-start; }
@media (max-width: 860px) { .feg-upload-wrap { display:block; } }

/* Drag cropper */
.feg-cropper {
  position: relative;
  height: 140px;
  border: 1px solid #e5e5e5;
  background-color: #111;
  background-size: cover;
  border-radius: 0;
  overflow: hidden;
  cursor: grab;
  user-select: none;
  touch-action: none;
}
.feg-cropper:active { cursor: grabbing; }

.feg-cropper-hint{
  position:absolute;
  left: 10px; bottom: 10px;
  padding: 6px 8px;
  background: rgba(0,0,0,0.55);
  color:#fff;
  font-size: 12px;
}

.feg-cropper-dot{
  position:absolute;
  width: 10px;
  height: 10px;
  border: 2px solid rgba(255,255,255,0.9);
  transform: translate(-50%, -50%);
  pointer-events: none;
  border-radius: 999px;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.25);
}

.feg-shot-img { width: 100%; height: auto; border-radius: 0; display:block; }

/* Contact tab: form left, inbox right */
.feg-contact-grid{
  display: grid;
  grid-template-columns: minmax(300px, 380px) 1fr;
  gap: 16px;
  align-items: start;
}
@media (max-width: 860px){
  .feg-contact-grid{ grid-template-columns: 1fr; }
}
.feg-contact-col{ width: 100%; }
.feg-contact-formbox{ max-width: 380px; }
.feg-contact-formbox input[type="text"],
.feg-contact-formbox input[type="email"],
.feg-contact-formbox textarea{
  width: 100%;
  box-sizing: border-box;
}

/* Portfolio edit box */
.feg-editbox { padding: 12px; }
.feg-editbox .feg-field { margin-bottom: 10px; }

/* Photo view + likes */
.feg-photo-full{ width:100%; height:auto; display:block; }
/* Center any text under the photo on the photo view page */
.feg-photo-under{ text-align:center; }

.feg-like-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(0,0,0,0.15);
  background:#fff;
  padding:8px 10px;
  border-radius:10px;
  cursor:pointer;
}
.feg-like-btn .feg-heart{ font-size:18px; line-height:1; }
.feg-like-btn.is-liked{ border-color: rgba(220,0,0,0.35); }
.feg-comments .feg-comment{ padding:10px 0; border-top:1px solid rgba(0,0,0,0.08); }
.feg-comments .feg-comment:first-child{ border-top:none; }
.feg-comment-body{ margin-top:6px; }
.feg-comments .feg-comment-meta a.feg-comment-author-link{
  color: inherit;
  text-decoration: none;
}
.feg-comments .feg-comment-meta a.feg-comment-author-link:hover{
  text-decoration: underline;
}

/* Photo page actions */
.feg-photo-actions{
  margin-top:10px;
  display:flex;
  justify-content:flex-start; /* bottom-left */
}
.feg-like-btn-under .feg-heart{ font-size:24px; } /* bigger heart */

/* Comment action buttons */
.feg-linkbtn{
  border:none;
  background:transparent;
  padding:0;
  margin-left:10px;
  cursor:pointer;
  text-decoration:underline;
  font:inherit;
}
.feg-comment-actions{ margin-left:10px; }

/* Small buttons (reuse base button style if exists) */
.feg-btn.feg-btn-sm{
  padding:8px 10px;
  font-size:13px;
}
.feg-comment-editbox textarea{
  width:100%;
  margin-top:8px;
}

/* Make photo slightly smaller on the photo/like/comment page */
.feg-photo-wrap{ max-width: 900px; margin-left:auto; margin-right:auto; }


/* Photo navigation arrows */
.feg-photo-navwrap{ position:relative; }
.feg-photo-navbar{ display:flex; justify-content:center; gap:12px; }
.feg-photo-nav-btn{ display:inline-block; width:44px; height:44px; line-height:44px; text-align:center; text-decoration:none; background:#111; color:#fff; border:1px solid #111; border-radius:0; font-size:32px; font-weight:700; }
.feg-photo-nav-btn:hover{ opacity:0.92; }
@media (max-width: 640px){
  .feg-photo-navbar{ gap:14px; }
  .feg-photo-nav-btn{ width:52px; height:52px; line-height:52px; font-size:36px; }
}


/* Reels */
.feg-grid-reels{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap:12px;
}
.feg-reel-thumb{
  width:100%;
  aspect-ratio: 9 / 16;
  border:1px solid rgba(0,0,0,0.12);
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(0,0,0,0.04);
}
.feg-reel-play{ font-size:22px; }
.feg-reel-cap{ margin-top:6px; font-size:13px; }
.feg-reel-video{
  width:100%;
  max-width:520px;
  height:auto;
  display:block;
  margin:0 auto;
}

/* Upload tab: two cards */
.feg-upload-wrap .feg-card + .feg-card { margin-left:16px; }
@media (max-width: 860px) {
  .feg-upload-wrap .feg-card + .feg-card { margin-left:0; margin-top:16px; }
}

.feg-reel-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }


/* Drag & drop ordering */
.feg-order-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
.feg-order-item { width:110px; border:1px solid #ddd; background:#fff; padding:6px; cursor:move; }
.feg-order-item img { width:100%; height:auto; display:block; border-radius:0 !important; }
.feg-order-item.feg-dragging { opacity:0.5; }


/* feg-toggle-visible: ensure toggle/reorder buttons are readable on light themes */
.feg-btn.feg-toggle,
.feg-toggle.feg-btn,
.feg-toggle {
  background: #111;
  color: #fff;
  border: 1px solid #111;
}
.feg-btn.feg-toggle:hover,
.feg-toggle:hover { opacity: 0.92; }


/* Reorder button visibility */
.feg-btn.feg-toggle{background:#111;color:#fff;border:1px solid #111;}

/* NSFW toggle (compact, sharp corners) */
.feg-nsfw-toggle .feg-check{ font-size:13px; }
.feg-nsfw-toggle input[type="checkbox"]{ margin-right:6px; }


/* iOS Safari: prevent image from being dragged/opened during reorder */
.feg-ios-safari .feg-order-item img{
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
}


/* Reel view: keep video smaller on desktop and fit viewport */
.feg-reel-view { display:flex; justify-content:center; }
.feg-reel-view video { width:100%; height:auto; max-height:70vh; object-fit:contain; }

@media (min-width: 900px){
  .feg-reel-view video { max-width: 860px; max-height: 80vh; }
}


/* NSFW viewer modes */
.feg-nsfw-mode{ display:flex; align-items:center; gap:6px; }
.feg-nsfw-mode select{ padding:6px 8px; border:1px solid #ddd; border-radius:0; background:#fff; font-size:13px; }

.feg-thumblink{ display:block; position:relative; }
.feg-thumblink.feg-nsfw-blur img{ filter: blur(14px); }
.feg-thumblink .feg-nsfw-overlay{
  position:absolute;
  left:0; top:0; right:0; bottom:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:8px;
  background: rgba(255,255,255,0.68);
  color:#111;
  font-size:12px;
  font-weight:700;
  pointer-events:none;
}

.feg-nsfw-preview{ position:relative; }
.feg-nsfw-preview-img{ filter: blur(14px); }
.feg-nsfw-preview .feg-nsfw-overlay{
  position:absolute;
  left:0; top:0; right:0; bottom:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:10px;
  background: rgba(255,255,255,0.68);
  color:#111;
  font-size:13px;
  font-weight:800;
  pointer-events:none;
}


/* Latest Member Uploads widget */
.feg-latest-uploads{ }
.feg-latest-scroll{ width:100%; overflow-y:auto; overflow-x:hidden; max-height:420px; }
.feg-latest-list{ display:flex; flex-direction:column; gap:12px; align-items:center; }
.feg-latest-item{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; text-decoration:none; text-align:center; }
.feg-latest-item:hover{ opacity:0.92; }
.feg-latest-thumb{ overflow:hidden; border-radius:0; border:1px solid #eee; background:#fafafa; display:flex; align-items:center; justify-content:center; max-width:100%; }
.feg-latest-thumb img{ max-width:100%; max-height:100%; height:auto; border-radius:0; display:block; }
.feg-latest-thumb video{ max-width:100%; max-height:100%; height:auto; border-radius:0; display:block; pointer-events:none; }
.feg-latest-thumb-empty{ width:100%; height:100%; display:block; }
.feg-latest-text{ font-size:13px; font-weight:700; color:#111; }

/* Media view page: center caption/comments + larger text */
.feg-media-view .feg-card{
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.feg-media-view .feg-photo-caption{
  text-align: center;
  font-size: 18px;
  line-height: 1.45;
  margin-top: 12px;
}
.feg-media-view .feg-card h3{
  text-align: center;
}
.feg-media-view .feg-comments .feg-comment-body{
  font-size: 16px;
  line-height: 1.5;
}
.feg-media-view .comment-form-comment label,
.feg-media-view .comment-reply-title{
  text-align: center;
  display: block;
}
.feg-media-view .comment-form-comment textarea{
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.feg-media-view .form-submit{
  text-align: center;
}

/* ===== Adult confirmation modal (18+) ===== */
#feg-age-modal{ display:none; }
#feg-age-modal.is-open{ display:block; position:fixed; inset:0; z-index:999999; }
#feg-age-modal .feg-age-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,0.65); }
#feg-age-modal .feg-age-modal__dialog{ position:relative; max-width:520px; margin:10vh auto 0; background:#fff; border:1px solid #ddd; border-radius:0; padding:16px; box-shadow:0 10px 40px rgba(0,0,0,0.25); }
#feg-age-modal .feg-age-modal__title{ font-weight:700; margin-bottom:10px; }
#feg-age-modal .feg-age-modal__body{ color:#222; line-height:1.4; }
#feg-age-modal .feg-age-modal__actions{ display:flex; gap:10px; justify-content:flex-end; margin-top:14px; }
@media (max-width: 600px){
  #feg-age-modal .feg-age-modal__dialog{ margin:12vh 12px 0; }
}
