:root{
  --portal-paper:#f5eedf;
  --portal-white:#fffdf8;
  --portal-green:#425b48;
  --portal-green2:#66816a;
  --portal-gold:#9a7753;
  --portal-red:#b4473d;
  --portal-line:#ddd4c4;
  --portal-muted:#817c72;
}


/* =========================================================
   COMMON SUB HEADER
========================================================= */

.subsite-header{
  position:sticky;
  top:0;

  background:
    rgba(255,252,245,.96);

  color:#3f5145;

  backdrop-filter:blur(12px);
}

.subsite-header .nav a{
  color:#536258;
}

.subsite-header .nav a.active{
  color:#3e6749;
}


/* =========================================================
   PAGE HERO
========================================================= */

.functional-page-hero{
  padding:
    75px 0 57px;

  border-bottom:
    1px solid var(--portal-line);

  background:
    linear-gradient(
      135deg,
      #e9efe3,
      #f7f0df
    );
}

.functional-wrap{
  width:
    min(1320px,calc(100% - 60px));

  margin:auto;
}

.functional-page-hero small{
  color:var(--portal-gold);

  font-family:Georgia,serif;

  font-size:9px;
  letter-spacing:.18em;
}

.functional-page-hero h1{
  margin:11px 0 11px;

  color:#3d5144;

  font-family:
    "Noto Serif KR",
    Georgia,
    serif;

  font-size:
    clamp(42px,5vw,68px);

  font-weight:500;

  letter-spacing:-.06em;
}

.functional-page-hero p{
  margin:0;

  color:#777f78;

  font-size:14px;
}


/* =========================================================
   HOME FUNCTIONAL MODULES
========================================================= */

.functional-home-section{
  padding:
    76px 0 86px;

  background:var(--portal-white);

  border-bottom:
    1px solid #e5ddcf;
}

.functional-home-section.alt{
  background:var(--portal-paper);
}

.functional-section-head{
  margin-bottom:29px;

  display:grid;

  grid-template-columns:
    48px 1fr auto;

  align-items:end;
}

.functional-section-number{
  color:var(--portal-gold);

  font-family:Georgia,serif;

  font-size:14px;
}

.functional-section-title small{
  color:#778577;

  font-family:Georgia,serif;

  font-size:9px;

  letter-spacing:.16em;
}

.functional-section-title h2{
  margin:5px 0 0;

  color:#3e5145;

  font-family:
    "Noto Serif KR",
    Georgia,
    serif;

  font-size:27px;

  font-weight:600;

  letter-spacing:-.05em;
}

.functional-section-head > a{
  padding-bottom:5px;

  color:#6e746e;

  border-bottom:
    1px solid #adb3ab;

  font-size:10px;
}


/* LIVE SUMMARY */

.home-live-heading-row{
  margin-bottom:18px;

  display:flex;
  justify-content:flex-end;
}

.live-summary{
  display:flex;

  align-items:baseline;

  gap:6px;

  color:#627266;
}

.live-summary strong{
  color:var(--portal-red);

  font-family:Georgia,serif;

  font-size:28px;
}

.live-summary span{
  font-size:12px;
  font-weight:700;
}

.live-summary small{
  margin-left:9px;

  color:#969b95;

  font-size:9px;
}


/* LIVE CARDS */

.real-live-grid{
  display:grid;

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

  gap:14px;
}

.real-live-card{
  overflow:hidden;

  border:
    1px solid var(--portal-line);

  border-radius:11px;

  background:#fff;

  box-shadow:
    0 8px 25px rgba(69,58,42,.035);
}

.real-live-card.is-live{
  border-color:
    rgba(180,71,61,.42);

  box-shadow:
    0 10px 30px
    rgba(180,71,61,.08);
}

.real-live-media{
  position:relative;

  height:180px;

  display:flex;

  align-items:center;
  justify-content:center;

  overflow:hidden;

  color:#4f6855;

  background:
    linear-gradient(
      145deg,
      #d9e7d0,
      #a7c29b
    );

  font-weight:800;
}

.real-live-card:nth-child(2n)
.real-live-media{
  background:
    linear-gradient(
      145deg,
      #eadfc8,
      #b8cca9
    );
}

.member-initial{
  position:relative;
  z-index:2;

  font-family:
    "Noto Serif KR",
    Georgia,
    serif;

  font-size:24px;

  letter-spacing:-.04em;
}

.live-corner{
  position:absolute;

  left:12px;
  top:11px;

  padding:
    6px 9px;

  border-radius:4px;

  color:#fff;

  background:
    var(--portal-red);

  font-size:8px;
  letter-spacing:.08em;
}

.real-live-body{
  padding:
    16px 17px 18px;
}

.real-live-top{
  display:flex;

  align-items:center;
  justify-content:space-between;
}

.member-role{
  color:var(--portal-gold);

  font-family:Georgia,serif;

  font-size:8px;

  letter-spacing:.1em;
}

.status-pill{
  padding:
    5px 8px;

  border-radius:10px;

  font-size:8px;

  font-weight:800;
}

.status-pill.live{
  color:#fff;
  background:var(--portal-red);
}

.status-pill.off{
  color:#7d857e;
  background:#eff0eb;
}

.status-pill.error{
  color:#8b725d;
  background:#eee5d8;
}

.real-live-body h3{
  margin:
    7px 0 7px;

  color:#435047;

  font-size:20px;

  letter-spacing:-.045em;
}

.live-title{
  height:38px;

  margin:0;

  overflow:hidden;

  color:#7c817b;

  font-size:11px;

  line-height:1.6;

  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.real-live-bottom{
  margin-top:14px;

  display:flex;
  align-items:center;
  justify-content:space-between;
}

.viewer-count{
  color:#aa5149;

  font-size:9px;

  font-weight:700;
}

.real-live-bottom a{
  color:#58675c;

  font-size:9px;

  font-weight:700;
}


/* SCHEDULE */

.schedule-layout{
  display:grid;

  grid-template-columns:
    1.2fr .8fr;

  gap:18px;
}

.schedule-board,
.schedule-side{
  min-height:245px;

  padding:28px;

  border:
    1px solid #d8cfbd;

  background:
    rgba(255,255,255,.52);
}

.schedule-date{
  color:#987553;

  font-family:Georgia,serif;

  font-size:10px;
  letter-spacing:.12em;
}

.schedule-board h3{
  margin:24px 0 7px;

  color:#46564a;

  font-size:22px;
}

.schedule-board p,
.schedule-side p{
  color:#84847b;

  font-size:12px;
  line-height:1.7;
}

.schedule-side strong{
  display:block;

  color:#4c5d50;

  font-size:18px;
}

.schedule-tags{
  margin-top:18px;

  display:flex;

  flex-wrap:wrap;

  gap:7px;
}

.schedule-tags span{
  padding:7px 10px;

  border:
    1px solid #d8d0c0;

  border-radius:14px;

  color:#6f746c;

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

  font-size:9px;
}


/* CONTENT */

.functional-content-grid{
  display:grid;

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

  gap:15px;
}

.functional-content-card{
  min-height:230px;

  padding:25px;

  position:relative;

  border:
    1px solid var(--portal-line);

  background:
    linear-gradient(
      145deg,
      #e3ebd9,
      #f5e9ce
    );
}

.functional-content-card:nth-child(2){
  background:
    linear-gradient(
      145deg,
      #dfebdc,
      #c7dcbf
    );
}

.functional-content-card:nth-child(3){
  background:
    linear-gradient(
      145deg,
      #efe3cb,
      #d9c6a6
    );
}

.functional-content-card small{
  color:#7b846f;

  font-family:Georgia,serif;

  font-size:8px;
  letter-spacing:.14em;
}

.functional-content-card h3{
  margin:
    88px 0 7px;

  color:#415247;

  font-size:26px;

  letter-spacing:-.05em;
}

.functional-content-card p{
  margin:0;

  color:#788078;

  font-size:11px;
}

.functional-content-card span{
  position:absolute;

  right:22px;
  bottom:20px;

  font-size:20px;
}


/* COMMUNITY */

.home-board{
  border-top:
    1px solid #d4ccbd;
}

.home-board a{
  min-height:70px;

  display:grid;

  grid-template-columns:
    90px 1fr 90px;

  align-items:center;

  border-bottom:
    1px solid #ddd5c8;
}

.home-board span{
  color:var(--portal-gold);

  font-family:Georgia,serif;

  font-size:8px;
}

.home-board strong{
  color:#555b55;

  font-size:12px;
}

.home-board time{
  color:#999991;

  text-align:right;

  font-size:9px;
}


/* =========================================================
   MEMBERS
========================================================= */

.member-section,
.live-page-section,
.layout-page-section{
  padding:
    55px 0 100px;

  background:#fffdf8;
}

.member-profile-grid{
  display:grid;

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

  gap:16px;
}

.member-profile-card{
  overflow:hidden;

  border:
    1px solid var(--portal-line);

  background:#fff;
}

.member-profile-photo{
  height:310px;

  display:grid;

  place-items:center;

  color:#58705c;

  background:
    linear-gradient(
      145deg,
      #dbe8d3,
      #adc39f
    );

  font-family:
    "Noto Serif KR",
    Georgia,
    serif;

  font-size:22px;
}

.member-profile-photo.vacant{
  color:#a18361;

  background:
    linear-gradient(
      145deg,
      #efe8d8,
      #ddd0b7
    );
}

.member-profile-copy{
  padding:
    19px 20px 22px;
}

.member-profile-copy small{
  color:var(--portal-gold);

  font-family:Georgia,serif;

  font-size:8px;
}

.member-profile-copy h2{
  margin:6px 0 5px;

  color:#445247;

  font-size:23px;
}

.member-profile-copy p{
  margin:0;

  color:#8a8d87;

  font-size:10px;
}

.member-profile-copy a{
  display:inline-block;

  margin-top:16px;

  color:#556a59;

  font-size:9px;
  font-weight:700;
}


/* =========================================================
   LAYOUT PAGES
========================================================= */

.layout-block{
  margin-bottom:60px;
}

.layout-block-head{
  margin-bottom:21px;

  display:flex;

  justify-content:space-between;

  align-items:end;
}

.layout-block-head h2{
  margin:0;

  color:#435348;

  font-family:
    "Noto Serif KR",
    Georgia,
    serif;

  font-size:30px;

  font-weight:500;
}

.layout-block-head p{
  margin:0;

  color:#888b86;

  font-size:11px;
}

.layout-card-grid{
  display:grid;

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

  gap:15px;
}

.layout-card{
  min-height:240px;

  padding:25px;

  position:relative;

  border:
    1px solid var(--portal-line);

  background:#f3ecdd;
}

.layout-card:nth-child(2n){
  background:#e5edde;
}

.layout-card small{
  color:var(--portal-gold);

  font-family:Georgia,serif;

  font-size:8px;
}

.layout-card h3{
  margin:
    105px 0 7px;

  color:#45564a;

  font-size:25px;
}

.layout-card p{
  margin:0;

  color:#81847e;

  font-size:11px;
  line-height:1.6;
}

.functional-empty{
  padding:45px;

  border:
    1px dashed #c8c3b7;

  color:#858981;

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

  text-align:center;

  font-size:12px;
}


/* responsive */

@media(max-width:1050px){

  .real-live-grid,
  .member-profile-grid{
    grid-template-columns:
      repeat(2,1fr);
  }

  .functional-content-grid,
  .layout-card-grid{
    grid-template-columns:
      1fr 1fr;
  }

}

@media(max-width:680px){

  .functional-wrap{
    width:
      calc(100% - 34px);
  }

  .functional-home-section{
    padding:
      58px 0 65px;
  }

  .functional-section-head{
    grid-template-columns:
      36px 1fr;
  }

  .functional-section-head > a{
    display:none;
  }

  .real-live-grid,
  .member-profile-grid,
  .functional-content-grid,
  .layout-card-grid,
  .schedule-layout{
    grid-template-columns:1fr;
  }

  .home-board a{
    grid-template-columns:
      72px 1fr;
  }

  .home-board time{
    display:none;
  }

}


/* =========================================================
   GILDONG MEMBER VOD FRONT V1
========================================================= */

.vod-page-section{
  padding-top:0;
}

.member-vod-grid{
  display:grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:16px;
}

.member-vod-card{
  min-width:0;

  overflow:hidden;

  border:
    1px solid var(--portal-line);

  border-radius:11px;

  background:#fff;

  box-shadow:
    0 8px 25px
    rgba(69,58,42,.045);
}

.member-vod-thumb{
  height:185px;

  position:relative;

  display:flex;

  align-items:center;
  justify-content:center;

  overflow:hidden;

  background:
    #dce6d6
    center /
    cover
    no-repeat;
}

.member-vod-thumb::after{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.01) 45%,
      rgba(0,0,0,.38) 100%
    );
}

.member-vod-thumb.no-thumb{
  color:#526c59;

  background:
    linear-gradient(
      145deg,
      #dbe8d3,
      #adc39f
    );
}

.member-vod-thumb > span{
  position:relative;

  z-index:2;

  font-family:
    "Noto Serif KR",
    Georgia,
    serif;

  font-size:23px;
}

.member-vod-thumb b{
  position:absolute;

  z-index:3;

  left:12px;
  bottom:11px;

  padding:
    6px 9px;

  border-radius:4px;

  color:#fff;

  background:
    rgba(48,67,52,.88);

  font-size:8px;

  letter-spacing:.06em;
}

.member-vod-body{
  padding:
    16px 17px 18px;
}

.member-vod-body small{
  color:
    var(--portal-gold);

  font-family:
    Georgia,
    serif;

  font-size:8px;

  letter-spacing:.1em;
}

.member-vod-body h3{
  height:44px;

  margin:
    7px 0 8px;

  overflow:hidden;

  color:#435047;

  font-size:15px;

  line-height:1.45;

  letter-spacing:-.035em;

  display:-webkit-box;

  -webkit-line-clamp:2;

  -webkit-box-orient:vertical;
}

.member-vod-meta{
  min-height:18px;

  display:flex;

  gap:12px;

  color:#92958f;

  font-size:8px;
}

.member-vod-link{
  display:inline-block;

  margin-top:12px;

  color:#566b5a;

  font-size:9px;

  font-weight:700;
}


@media(max-width:1050px){

  .member-vod-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

}


@media(max-width:680px){

  .member-vod-grid{
    grid-template-columns:1fr;
  }

}


/* =========================================================
   MEMBERS PAGE V2
========================================================= */

.member-leader-zone{
  margin-bottom:62px;
}

.member-leader-card{
  display:grid;

  grid-template-columns:
    minmax(0,1.45fr)
    minmax(330px,.75fr);

  min-height:420px;

  overflow:hidden;

  border:
    1px solid var(--portal-line);

  background:#fff;
}

.member-leader-media{
  min-height:420px;

  position:relative;

  display:block;

  background:
    #dce7d6
    center /
    cover
    no-repeat;
}

.member-leader-media.no-thumb{
  background:
    linear-gradient(
      145deg,
      #d6e5d0,
      #98b38d
    );
}

.member-leader-media::after{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.02),
      rgba(0,0,0,.22)
    );
}

.leader-label{
  position:absolute;

  z-index:3;

  left:25px;
  top:24px;

  padding:
    7px 10px;

  color:#fff;

  background:
    rgba(48,70,53,.86);

  font-family:Georgia,serif;

  font-size:9px;

  letter-spacing:.14em;
}

.member-status-badge{
  position:absolute;

  z-index:4;

  right:15px;
  top:14px;

  padding:
    6px 9px;

  border-radius:11px;

  font-size:8px;

  font-weight:800;
}

.member-status-badge.live{
  color:#fff;

  background:#b4473d;
}

.member-status-badge.off{
  color:#657268;

  background:
    rgba(244,244,238,.92);
}

.member-leader-copy{
  padding:
    54px 45px;

  display:flex;

  flex-direction:column;

  justify-content:center;
}

.member-leader-copy small{
  color:
    var(--portal-gold);

  font-family:Georgia,serif;

  font-size:9px;

  letter-spacing:.16em;
}

.member-leader-copy h2{
  margin:
    9px 0 4px;

  color:#415247;

  font-family:
    "Noto Serif KR",
    Georgia,
    serif;

  font-size:47px;

  font-weight:500;

  letter-spacing:-.06em;
}

.member-soop-id{
  margin:0;

  color:#9a9a92;

  font-size:10px;
}

.member-latest{
  margin:
    31px 0 0;

  color:#687269;

  font-size:13px;

  line-height:1.7;
}

.member-actions{
  margin-top:32px;

  display:flex;

  gap:22px;
}

.member-actions a{
  color:#526657;

  font-size:10px;

  font-weight:700;

  border-bottom:
    1px solid #99a499;

  padding-bottom:4px;
}


.members-divider{
  margin-bottom:26px;

  display:flex;

  align-items:end;

  justify-content:space-between;

  border-bottom:
    1px solid var(--portal-line);

  padding-bottom:19px;
}

.members-divider small{
  color:
    var(--portal-gold);

  font-family:Georgia,serif;

  font-size:8px;

  letter-spacing:.16em;
}

.members-divider h2{
  margin:
    5px 0 0;

  color:#435348;

  font-family:
    "Noto Serif KR",
    Georgia,
    serif;

  font-size:30px;

  font-weight:500;
}

.members-divider p{
  margin:0;

  color:#8d908a;

  font-size:10px;
}


.members-v2-grid{
  grid-template-columns:
    repeat(3,minmax(0,1fr));
}

.member-v2-card .member-profile-photo{
  height:280px;

  position:relative;

  display:block;

  background:
    #dce7d6
    center /
    cover
    no-repeat;
}

.member-v2-card .member-profile-photo.no-thumb{
  background:
    linear-gradient(
      145deg,
      #dbe8d3,
      #adc39f
    );
}

.member-v2-card .member-profile-photo::after{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,0) 40%,
      rgba(0,0,0,.36) 100%
    );
}

.member-photo-name{
  position:absolute;

  z-index:3;

  left:18px;
  bottom:16px;

  color:#fff;

  font-family:
    "Noto Serif KR",
    Georgia,
    serif;

  font-size:25px;
}

.member-card-actions{
  margin-top:16px;

  display:flex;

  gap:18px;
}

.member-card-actions a{
  margin:0;

  color:#586a5c;

  font-size:9px;

  font-weight:700;
}

.member-recruit-card{
  opacity:.84;
}

.member-profile-photo.recruit{
  height:280px;

  display:grid;

  place-items:center;

  color:#8b765e;

  background:
    repeating-linear-gradient(
      135deg,
      #eee7d8,
      #eee7d8 10px,
      #e8dfcd 10px,
      #e8dfcd 20px
    );
}


@media(max-width:1000px){

  .member-leader-card{
    grid-template-columns:1fr;
  }

  .member-leader-media{
    min-height:360px;
  }

  .members-v2-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

}


@media(max-width:680px){

  .member-leader-copy{
    padding:
      34px 25px;
  }

  .member-leader-copy h2{
    font-size:38px;
  }

  .members-divider{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .members-v2-grid{
    grid-template-columns:1fr;
  }

}


/* =========================================================
   GILDONGSEKKI MEMBERS PROFILE V3
========================================================= */

.crew-members-section{
  padding:
    28px 0 70px;

  background:
    #fffdf8;
}


.crew-section-intro{
  margin-bottom:28px;

  text-align:center;
}


.crew-section-intro small{
  color:
    var(--portal-gold);

  font-family:
    Georgia,
    serif;

  font-size:9px;

  letter-spacing:.22em;
}


.crew-section-intro h2{
  margin:
    10px 0 10px;

  color:#415247;

  font-family:
    "Noto Serif KR",
    Georgia,
    serif;

  font-size:34px;

  font-weight:500;

  letter-spacing:-.055em;
}


.crew-section-intro p{
  margin:0;

  color:#96988f;

  font-size:11px;

  line-height:1.8;
}


/* ========================
   LEADER
======================== */

.crew-leader{
  display:flex;

  justify-content:center;

  margin-bottom:80px;
}


.crew-leader-card{
  width:min(
    680px,
    100%
  );

  display:grid;

  grid-template-columns:
    220px 1fr;

  align-items:center;

  gap:55px;
}


.crew-leader-avatar-wrap{
  position:relative;
}


.crew-crown{
  position:absolute;

  z-index:5;

  right:-4px;
  top:12px;

  padding:
    7px 12px;

  border-radius:20px;

  color:#59461f;

  background:#e7c46a;

  font-family:
    Georgia,
    serif;

  font-size:9px;

  font-weight:700;

  letter-spacing:.12em;

  box-shadow:
    0 5px 15px
    rgba(136,105,46,.16);
}


.crew-avatar{
  width:150px;
  height:150px;

  margin:auto;

  border-radius:50%;

  background:
    center /
    cover
    no-repeat;

  box-shadow:
    0 8px 30px
    rgba(62,76,62,.10);
}


.crew-avatar.large{
  width:210px;
  height:210px;

  border:
    5px solid #fff;

  outline:
    2px solid #d4b05c;

  box-shadow:
    0 12px 35px
    rgba(71,64,42,.13);
}


.crew-avatar-fallback{
  display:grid;

  place-items:center;

  color:#fff;

  background:
    linear-gradient(
      145deg,
      #91aa86,
      #3f604a
    );
}


.crew-avatar-fallback span{
  font-family:
    "Noto Serif KR",
    Georgia,
    serif;

  font-size:29px;

  font-weight:600;
}


.crew-avatar.large
.crew-avatar-fallback span{
  font-size:36px;
}


.crew-leader-info{
  text-align:left;
}


.crew-position{
  color:
    var(--portal-gold);

  font-family:
    Georgia,
    serif;

  font-size:9px;

  font-weight:700;

  letter-spacing:.14em;
}


.crew-leader-info h2{
  margin:
    8px 0 19px;

  color:#394c40;

  font-family:
    "Noto Serif KR",
    Georgia,
    serif;

  font-size:43px;

  font-weight:500;

  letter-spacing:-.065em;
}


.crew-leader-info > p{
  margin:
    19px 0 0;

  color:#82877f;

  font-size:11px;

  line-height:1.8;
}


/* ========================
   INFO
======================== */

.crew-info-row{
  display:flex;

  flex-wrap:wrap;

  gap:7px;
}


.crew-info-row.compact{
  justify-content:center;

  margin-top:12px;
}


.crew-info-chip{
  display:inline-flex;

  overflow:hidden;

  border:
    1px solid #ddd5c5;

  border-radius:15px;

  background:#fff;
}


.crew-info-chip b,
.crew-info-chip em{
  padding:
    6px 9px;

  font-size:8px;

  font-style:normal;
}


.crew-info-chip b{
  color:#9a7650;

  background:#f4ede0;

  font-family:
    Georgia,
    serif;

  letter-spacing:.08em;
}


.crew-info-chip em{
  color:#56675b;

  font-weight:700;
}


/* ========================
   DIVIDER
======================== */

.crew-divider{
  margin:
    0 auto 43px;

  display:grid;

  grid-template-columns:
    1fr auto 1fr;

  align-items:center;

  gap:17px;

  max-width:450px;
}


.crew-divider span{
  height:1px;

  background:#dcd5c7;
}


.crew-divider strong{
  color:#7e847d;

  font-family:Georgia,serif;

  font-size:9px;

  letter-spacing:.2em;
}


/* ========================
   MEMBER GRID
======================== */

.crew-member-grid{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  column-gap:60px;
  row-gap:65px;

  max-width:1000px;

  margin:auto;
}


.crew-card{
  min-width:0;

  text-align:center;
}


.crew-avatar-frame{
  width:160px;
  height:160px;

  margin:
    0 auto 20px;

  padding:5px;

  border:
    1px solid #d9d5cb;

  border-radius:50%;

  background:#fff;
}


.crew-avatar-frame
.crew-avatar{
  width:100%;
  height:100%;

  box-shadow:none;
}


.crew-card h3{
  margin:
    7px 0 0;

  color:#35483c;

  font-family:
    "Noto Serif KR",
    Georgia,
    serif;

  font-size:23px;

  font-weight:600;

  letter-spacing:-.045em;
}


.crew-member-intro{
  margin:
    12px auto 0;

  max-width:230px;

  color:#979991;

  font-size:9px;

  line-height:1.7;
}


/* ========================
   RECRUIT
======================== */

.crew-card.recruiting{
  opacity:.72;
}


.recruit-avatar{
  margin-bottom:20px;

  display:grid;

  place-items:center;

  border:
    1px dashed #bdb5a5;

  color:#9e8d72;

  background:#f5f0e6;

  box-shadow:none;
}


.recruit-avatar span{
  font-family:
    Georgia,
    serif;

  font-size:38px;

  font-weight:300;
}


.crew-recruit-copy{
  color:#9b9a92;

  font-size:9px;
}


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

@media(max-width:950px){

  .crew-leader-card{
    grid-template-columns:1fr;

    gap:30px;

    text-align:center;
  }

  .crew-leader-info{
    text-align:center;
  }

  .crew-leader-info
  .crew-info-row{
    justify-content:center;
  }

  .crew-member-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

}


@media(max-width:600px){

  .crew-member-grid{
    grid-template-columns:1fr;
  }

  .crew-avatar.large{
    width:180px;
    height:180px;
  }

}


/* =========================================================
   MEMBER LINKS
========================================================= */

.crew-links{
  margin-top:18px;

  display:flex;

  flex-wrap:wrap;

  justify-content:center;

  gap:7px;
}


.crew-leader-info
.crew-links{
  justify-content:flex-start;
}


.crew-links a{
  padding:
    7px 11px;

  border:
    1px solid #d6d1c5;

  border-radius:18px;

  color:#53675a;

  background:#fff;

  font-family:
    Georgia,
    serif;

  font-size:8px;

  font-weight:700;

  letter-spacing:.06em;

  transition:
    transform .16s ease,
    border-color .16s ease;
}


.crew-links a:hover{
  transform:
    translateY(-2px);

  border-color:#78907d;
}



/* =========================================================
   PROFILE ADMIN
========================================================= */

.profile-admin-page{
  min-height:100vh;

  padding:
    70px 30px 100px;

  background:#f7f2e8;
}


.profile-admin-wrap{
  width:
    min(1200px,100%);

  margin:auto;
}


.profile-admin-head{
  margin-bottom:35px;
}


.profile-admin-head small{
  color:#987653;

  font-family:Georgia,serif;

  font-size:9px;

  letter-spacing:.18em;
}


.profile-admin-head h1{
  margin:
    7px 0;

  color:#405347;

  font-size:38px;
}


.profile-admin-head p{
  color:#8a8e87;

  font-size:11px;
}


.profile-admin-key{
  margin-bottom:30px;

  display:flex;

  align-items:center;

  gap:15px;

  padding:18px;

  border:
    1px solid #ddd4c5;

  background:#fff;
}


.profile-admin-key label{
  min-width:80px;

  color:#59675e;

  font-size:11px;

  font-weight:700;
}


.profile-admin-key input{
  width:320px;

  padding:10px;

  border:
    1px solid #d4cec2;

  border-radius:5px;
}


.profile-admin-grid{
  display:grid;

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

  gap:18px;
}


.profile-edit-card{
  padding:24px;

  border:
    1px solid #d9d1c3;

  background:#fff;
}


.profile-edit-title{
  margin-bottom:22px;

  display:flex;

  align-items:center;

  gap:13px;
}


.profile-edit-title img{
  width:58px;
  height:58px;

  border-radius:50%;

  object-fit:cover;
}


.profile-edit-title strong{
  display:block;

  color:#405347;

  font-size:18px;
}


.profile-edit-title small{
  display:block;

  margin-top:3px;

  color:#999;

  font-size:9px;
}


.profile-edit-card label{
  display:block;

  margin-top:12px;

  color:#77776f;

  font-size:9px;

  font-weight:700;
}


.profile-edit-card input,
.profile-edit-card textarea{
  width:100%;

  margin-top:6px;

  padding:
    10px 11px;

  border:
    1px solid #ddd5c8;

  border-radius:4px;

  background:#fffdf9;

  color:#4f5951;

  font-family:inherit;

  box-sizing:border-box;
}


.profile-edit-columns{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:12px;
}


.profile-save-button{
  width:100%;

  margin-top:20px;

  padding:12px;

  border:0;

  border-radius:4px;

  color:#fff;

  background:#42634d;

  cursor:pointer;

  font-weight:700;
}


.profile-save-result{
  min-height:18px;

  margin:
    8px 0 0;

  color:#6c766f;

  font-size:9px;
}


@media(max-width:750px){

  .profile-admin-grid{
    grid-template-columns:1fr;
  }

}


/* =========================================================
   LIVE PREVIEW V6
   풍고형 방송 미리보기 구조
========================================================= */

.poong-live-grid{
  display:grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(260px,320px)
    );

  gap:18px;

  align-items:start;
}


.poong-live-card{
  overflow:hidden;

  border:
    1px solid #252925;

  border-radius:16px;

  background:#202220;

  box-shadow:
    0 12px 32px
    rgba(31,36,31,.11);
}


.poong-live-thumb{
  height:180px;

  position:relative;

  display:block;

  background:
    #334237
    center /
    cover
    no-repeat;
}


.poong-live-thumb.no-image{
  background:
    linear-gradient(
      145deg,
      #a9c3a1,
      #63806b
    );
}


.poong-live-thumb::after{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.04) 48%,
      rgba(0,0,0,.32) 100%
    );
}


.poong-live-badge{
  position:absolute;

  z-index:3;

  left:11px;
  top:11px;

  padding:
    6px 9px;

  border-radius:7px;

  color:#fff;

  background:#d94b42;

  font-size:9px;

  font-weight:800;
}


.poong-viewer-badge{
  position:absolute;

  z-index:3;

  right:11px;
  top:11px;

  padding:
    6px 9px;

  border-radius:10px;

  color:#ffe87d;

  background:
    rgba(23,25,23,.82);

  font-size:9px;

  font-weight:800;
}


.poong-live-body{
  padding:
    15px 16px 17px;

  color:#fff;
}


.poong-streamer{
  display:flex;

  align-items:center;

  gap:10px;
}


.live-streamer-avatar{
  width:38px;
  height:38px;

  flex:0 0 38px;

  display:grid;

  place-items:center;

  border:
    2px solid #4ea1ff;

  border-radius:50%;

  background:
    #496051
    center /
    cover
    no-repeat;

  color:#fff;

  font-size:8px;

  font-weight:800;
}


.live-streamer-avatar.fallback{
  background:#496051;
}


.poong-streamer small{
  display:block;

  margin-bottom:2px;

  color:#79bfff;

  font-size:7px;

  font-weight:800;
}


.poong-streamer strong{
  display:block;

  color:#fff;

  font-size:14px;
}


.poong-live-title{
  height:40px;

  margin:
    11px 0 13px;

  overflow:hidden;

  color:#d6d8d6;

  font-size:11px;

  line-height:1.55;

  display:-webkit-box;

  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}


.poong-watch-button{
  display:inline-block;

  padding:
    7px 10px;

  border:
    1px solid #4b514c;

  border-radius:5px;

  color:#e5e7e5;

  font-size:8px;

  font-weight:700;
}


.poong-watch-button:hover{
  border-color:#7f8d82;

  background:#292c29;
}


@media(max-width:700px){

  .poong-live-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:10px;
  }

  .poong-live-thumb{
    height:120px;
  }

  .poong-live-body{
    padding:
      11px 12px 13px;
  }

  .live-streamer-avatar{
    width:32px;
    height:32px;

    flex-basis:32px;
  }

  .poong-live-title{
    font-size:9px;
  }

}


@media(max-width:420px){

  .poong-live-grid{
    grid-template-columns:1fr;
  }

  .poong-live-thumb{
    height:180px;
  }

}


/* =========================================================
   HOME LIVE PREVIEW V7
   풍고형 컴팩트 라이브 카드
========================================================= */

/* LIVE 영역 불필요한 세로 여백 축소 */
.functional-home-section:first-of-type{
  padding-top:64px;
  padding-bottom:72px;
}


/* 최대 4개가 한 줄에 안정적으로 배치 */
.functional-home-section
.poong-live-grid{
  width:100%;

  display:grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:18px;

  align-items:start;
}


/* 카드 */
.functional-home-section
.poong-live-card{
  width:100%;

  border-radius:14px;

  background:#202220;

  overflow:hidden;
}


/* 풍고처럼 16:9 썸네일 */
.functional-home-section
.poong-live-thumb{
  width:100%;

  height:auto;

  aspect-ratio:16 / 9;

  background-position:center;

  background-size:cover;
}


/* 썸네일 위 LIVE / 시청자 배지 */
.functional-home-section
.poong-live-badge,
.functional-home-section
.poong-viewer-badge{
  top:10px;
}


.functional-home-section
.poong-live-badge{
  left:10px;
}


.functional-home-section
.poong-viewer-badge{
  right:10px;
}


/* 아래 정보부를 더 컴팩트하게 */
.functional-home-section
.poong-live-body{
  padding:14px 15px 15px;
}


.functional-home-section
.poong-streamer{
  gap:9px;
}


.functional-home-section
.live-streamer-avatar{
  width:36px;
  height:36px;

  flex-basis:36px;
}


.functional-home-section
.poong-streamer strong{
  font-size:13px;
}


.functional-home-section
.poong-live-title{
  height:36px;

  margin:
    9px 0 11px;

  font-size:10px;

  line-height:1.55;
}


.functional-home-section
.poong-watch-button{
  padding:
    6px 9px;

  font-size:8px;
}


/* LIVE 1명일 때 카드가 너무 작아 보이지 않도록 */
.functional-home-section
.poong-live-grid
.poong-live-card:only-child{
  max-width:360px;
}


/* tablet */
@media(max-width:1050px){

  .functional-home-section
  .poong-live-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

}


/* mobile */
@media(max-width:600px){

  .functional-home-section:first-of-type{
    padding:
      42px 0 50px;
  }

  .functional-home-section
  .poong-live-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:10px;
  }

  .functional-home-section
  .poong-live-grid
  .poong-live-card:only-child{
    max-width:none;
  }

  .functional-home-section
  .poong-live-body{
    padding:
      10px 11px 12px;
  }

  .functional-home-section
  .live-streamer-avatar{
    width:30px;
    height:30px;

    flex-basis:30px;
  }

  .functional-home-section
  .poong-streamer strong{
    font-size:11px;
  }

}


/* 아주 작은 폰 */
@media(max-width:390px){

  .functional-home-section
  .poong-live-grid{
    grid-template-columns:1fr;
  }

}


/* =========================================================
   HOME LIVE PANEL V8
========================================================= */

/* 메인 LIVE 섹션 높이/여백 축소 */
.functional-home-section:first-of-type{
  padding:
    54px 0 58px !important;
}


/* LIVE 헤더와 카드 전체를 하나의 흐름으로 */
.functional-home-section:first-of-type
.functional-wrap{
  width:
    min(1240px,calc(100% - 60px));
}


/* LIVE 카드 영역 */
.functional-home-section
.poong-live-grid{
  width:100%;

  display:grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(250px,300px)
    ) !important;

  justify-content:center;

  gap:18px;

  margin-top:24px;
}


/* 1명만 방송 중일 때도 중앙 */
.functional-home-section
.poong-live-grid
.poong-live-card:only-child{
  width:300px;
  max-width:300px;
}


/* 카드 전체 높이 축소 */
.functional-home-section
.poong-live-card{
  width:100%;

  border-radius:14px;

  background:#1d201e;

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

  box-shadow:
    0 12px 26px
    rgba(33,39,34,.10);
}


/* 방송 썸네일 */
.functional-home-section
.poong-live-thumb{
  aspect-ratio:16 / 9;

  height:auto !important;

  background-position:center;
  background-size:cover;
}


/* 카드 하단 */
.functional-home-section
.poong-live-body{
  padding:
    12px 13px 14px;
}


/* 프로필 */
.functional-home-section
.live-streamer-avatar{
  width:34px;
  height:34px;

  flex:
    0 0 34px;
}


/* SOOP LIVE 텍스트 */
.functional-home-section
.poong-streamer small{
  font-size:6px;
}


/* 닉네임 */
.functional-home-section
.poong-streamer strong{
  font-size:12px;
}


/* 방송 제목 */
.functional-home-section
.poong-live-title{
  height:34px;

  margin:
    8px 0 10px;

  font-size:9px;

  line-height:1.55;
}


/* 버튼 */
.functional-home-section
.poong-watch-button{
  padding:
    6px 9px;

  font-size:7px;
}


/* 우측 방송 카운트 영역도 너무 멀리 뜨지 않게 */
.functional-home-section
.home-live-heading-row{
  margin:
    -16px 0 4px;

  justify-content:flex-end;
}


/* LIVE 배지 */
.functional-home-section
.poong-live-badge{
  padding:
    5px 8px;

  font-size:7px;
}


/* 시청자 배지 */
.functional-home-section
.poong-viewer-badge{
  padding:
    5px 8px;

  font-size:7px;
}


/* 태블릿 */
@media(max-width:900px){

  .functional-home-section
  .poong-live-grid{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      ) !important;
  }

}


/* 모바일 */
@media(max-width:600px){

  .functional-home-section:first-of-type{
    padding:
      40px 0 46px !important;
  }

  .functional-home-section:first-of-type
  .functional-wrap{
    width:
      calc(100% - 26px);
  }

  .functional-home-section
  .home-live-heading-row{
    margin:
      5px 0 15px;

    justify-content:flex-start;
  }

  .functional-home-section
  .poong-live-grid{
    grid-template-columns:
      1fr !important;

    max-width:360px;

    margin:
      18px auto 0;
  }

  .functional-home-section
  .poong-live-grid
  .poong-live-card:only-child{
    width:100%;
    max-width:none;
  }

}


/* =========================================================
   HOME LIVE LEFT ALIGN V9
========================================================= */

.functional-home-section
.poong-live-grid{
  justify-content:start !important;
}


/* 1명일 때도 왼쪽 시작 */
.functional-home-section
.poong-live-grid
.poong-live-card:only-child{
  width:300px;
  max-width:300px;

  margin:0;
}


/* 모바일은 화면폭에 맞춤 */
@media(max-width:600px){

  .functional-home-section
  .poong-live-grid{
    margin:
      18px 0 0 !important;
  }

  .functional-home-section
  .poong-live-grid
  .poong-live-card:only-child{
    width:100%;
    max-width:360px;
  }

}


/* =========================================================
   MEMBER LIVE + PAGE LINKS V5
========================================================= */

.member-avatar-wrap{
  position:relative;

  width:max-content;

  margin:auto;
}


/* LIVE 표시 */

.member-live-badge{
  position:absolute;

  z-index:10;

  right:-12px;
  top:10px;

  padding:
    6px 9px;

  border-radius:5px;

  color:#fff;

  background:#d94b42;

  box-shadow:
    0 4px 12px
    rgba(190,60,51,.22);

  font-size:8px;

  font-weight:900;

  letter-spacing:.03em;
}


/* LIVE중이면 프로필 테두리 강조 */

.member-avatar-wrap:has(.member-live-badge)
.crew-avatar{
  outline-color:#e5bd4e;

  box-shadow:
    0 0 0 3px
    rgba(229,189,78,.16),
    0 9px 28px
    rgba(69,66,45,.11);
}


/* 프로필 하단 외부 페이지 */

.member-page-links{
  margin-top:14px;

  display:flex;

  flex-wrap:wrap;

  justify-content:center;

  gap:7px;
}


.crew-leader-info
.member-page-links{
  justify-content:flex-start;
}


.member-page-link{
  min-width:34px;
  height:28px;

  padding:
    0 9px;

  display:inline-flex;

  align-items:center;
  justify-content:center;

  box-sizing:border-box;

  border:
    1px solid #dad5ca;

  border-radius:15px;

  color:#526259;

  background:#fff;

  font-family:
    Arial,
    sans-serif;

  font-size:7px;

  font-weight:800;

  line-height:1;

  transition:
    transform .16s ease,
    box-shadow .16s ease,
    border-color .16s ease;
}


.member-page-link:hover{
  transform:
    translateY(-2px);

  box-shadow:
    0 5px 12px
    rgba(53,63,55,.09);
}


/* 플랫폼별 은은한 구분 */

.member-page-link.soop{
  border-color:#9ccadf;

  color:#2585ae;
}


.member-page-link.youtube{
  border-color:#efaaaa;

  color:#db3e3e;
}


.member-page-link.instagram{
  border-color:#d8aed2;

  color:#a75a9a;
}


.member-page-link.tiktok{
  border-color:#aaa;

  color:#222;
}


.member-page-link.website{
  color:#5b675e;
}


/* 멤버 카드에서 링크가 있어도
   세로 높이가 너무 길어지지 않도록 */

.crew-card
.member-page-links{
  min-height:28px;
}


/* 모바일 */

@media(max-width:600px){

  .member-live-badge{
    right:-9px;
    top:5px;

    padding:
      5px 7px;

    font-size:6px;
  }


  .member-page-links{
    margin-top:9px;

    gap:4px;
  }


  .member-page-link{
    min-width:30px;
    height:25px;

    padding:
      0 7px;

    font-size:6px;
  }


  .crew-leader-info
  .member-page-links{
    justify-content:center;
  }

}


/* =========================================================
   MEMBER AVATAR WRAPPER FIX V6
   LIVE badge wrapper 추가 후 프로필 이미지가 사라진 문제 수정
========================================================= */

/* 일반 멤버 원형 프레임 안에서는 wrapper가 프레임 전체를 채운다 */
.crew-avatar-frame > .member-avatar-wrap{
  width:100% !important;
  height:100% !important;

  margin:0 !important;

  position:relative;
}


/* 실제 SOOP 프로필 이미지도 원 전체를 채운다 */
.crew-avatar-frame
.member-avatar-wrap
.crew-avatar{
  width:100% !important;
  height:100% !important;

  margin:0 !important;

  border-radius:50%;

  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}


/* 원형 밖으로 사진이 삐져나오지 않도록 */
.crew-avatar-frame{
  overflow:visible;
}


/* LIVE 배지는 원 우측 상단 */
.crew-avatar-frame
.member-live-badge{
  right:-8px;
  top:5px;
}


/* 수장은 기존 큰 사이즈 유지 */
.crew-leader-avatar-wrap
.member-avatar-wrap{
  width:max-content;
  height:auto;

  margin:auto;
}


.crew-leader-avatar-wrap
.member-avatar-wrap
.crew-avatar.large{
  width:210px !important;
  height:210px !important;
}


/* 모바일 */
@media(max-width:600px){

  .crew-avatar-frame
  .member-avatar-wrap{
    width:100% !important;
    height:100% !important;
  }


  .crew-avatar-frame
  .member-avatar-wrap
  .crew-avatar{
    width:100% !important;
    height:100% !important;
  }


  .crew-leader-avatar-wrap
  .member-avatar-wrap
  .crew-avatar.large{
    width:148px !important;
    height:148px !important;
  }

}


/* =========================================================
   PROFILE ADMIN STABLE V2
========================================================= */

.admin-profile-avatar{
  width:64px;
  height:64px;

  flex:
    0 0 64px;

  display:grid;

  place-items:center;

  overflow:hidden;

  border:
    1px solid #d8d1c4;

  border-radius:50%;

  color:#fff;

  background:
    linear-gradient(
      145deg,
      #91aa86,
      #46644e
    )
    center /
    cover
    no-repeat;

  font-family:
    "Noto Serif KR",
    serif;

  font-size:15px;

  font-weight:700;
}


.admin-profile-avatar.has-image{
  color:transparent;
}


.admin-link-title{
  margin-top:22px;

  padding-top:17px;

  border-top:
    1px solid #e2dbcf;

  color:#4c5c50;

  font-size:10px;

  font-weight:800;
}


.admin-soop-link{
  margin-top:15px;

  padding:
    10px 12px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  border:
    1px solid #d9e2e7;

  border-radius:5px;

  background:#f8fcfd;

  font-size:9px;
}


.admin-soop-link span{
  color:#61716a;

  font-weight:700;
}


.admin-soop-link a{
  color:#2187b3;

  font-weight:800;
}


.profile-save-button:disabled{
  opacity:.55;

  cursor:wait;
}


/* =========================================================
   MEMBER CREATE PANEL V1
========================================================= */

.member-create-panel{
  margin-bottom:32px;

  padding:24px;

  border:
    1px solid #d7cdbd;

  background:#fff;
}


.member-create-head{
  margin-bottom:22px;

  display:flex;

  align-items:end;

  justify-content:space-between;

  gap:20px;
}


.member-create-head small{
  color:#987653;

  font-family:
    Georgia,
    serif;

  font-size:8px;

  letter-spacing:.16em;
}


.member-create-head h2{
  margin:
    5px 0 0;

  color:#405347;

  font-size:24px;
}


.member-create-head p{
  margin:0;

  color:#8a8e87;

  font-size:9px;
}


.member-create-form{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:14px;
}


.member-create-form label{
  color:#77776f;

  font-size:9px;

  font-weight:700;
}


.member-create-form input{
  width:100%;

  margin-top:6px;

  padding:
    10px 11px;

  box-sizing:border-box;

  border:
    1px solid #ddd5c8;

  border-radius:4px;

  background:#fffdf9;

  color:#4f5951;
}


.member-create-wide{
  grid-column:
    span 3;
}


.member-create-actions{
  grid-column:
    span 3;

  display:flex;

  align-items:center;

  gap:15px;

  margin-top:5px;
}


#newMemberAddButton{
  padding:
    11px 22px;

  border:0;

  border-radius:5px;

  color:#fff;

  background:#42634d;

  cursor:pointer;

  font-weight:800;
}


#newMemberAddButton:disabled{
  opacity:.5;

  cursor:wait;
}


#newMemberResult{
  color:#69746c;

  font-size:10px;
}


@media(max-width:750px){

  .member-create-head{
    align-items:flex-start;

    flex-direction:column;
  }


  .member-create-form{
    grid-template-columns:1fr;
  }


  .member-create-wide,
  .member-create-actions{
    grid-column:auto;
  }

}


/* =========================================================
   SCHEDULE SYSTEM V1
========================================================= */

.schedule-next-top{
  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:15px;
}


.schedule-dday{
  color:#a86748;

  font-family:
    Georgia,
    serif;

  font-size:12px;
}


.schedule-category{
  margin-top:31px;

  color:#9a7854;

  font-size:9px;

  font-weight:700;

  letter-spacing:.12em;
}


.schedule-main-meta{
  margin-top:17px;

  display:flex;

  flex-wrap:wrap;

  gap:12px;

  color:#737a73;

  font-size:10px;
}


.schedule-main-meta strong{
  color:#46574b;
}


.schedule-detail-link{
  display:inline-block;

  margin-top:18px;

  color:#526758;

  font-size:9px;

  font-weight:700;
}


.schedule-upcoming-list{
  margin-top:17px;
}


.schedule-mini{
  padding:
    12px 0;

  display:grid;

  grid-template-columns:
    105px 1fr;

  gap:12px;

  border-bottom:
    1px solid #e2d9c9;
}


.schedule-mini time{
  color:#9b7c59;

  font-size:8px;
}


.schedule-mini small{
  display:block;

  color:#9a9a91;

  font-size:7px;
}


.schedule-mini strong{
  display:block;

  margin-top:3px;

  color:#4b5c50;

  font-size:10px;
}


.schedule-empty-small{
  color:#989a92;

  font-size:9px;
}


/* ADMIN */

.schedule-admin-page{
  min-height:100vh;

  padding:
    70px 30px 100px;

  background:#f7f2e8;
}


.schedule-admin-wrap{
  width:
    min(1200px,100%);

  margin:auto;
}


.schedule-admin-head{
  margin-bottom:30px;
}


.schedule-admin-head small{
  color:#987653;

  font-family:Georgia,serif;

  font-size:9px;

  letter-spacing:.18em;
}


.schedule-admin-head h1{
  margin:
    7px 0;

  color:#405347;

  font-size:38px;
}


.schedule-admin-head p{
  color:#8a8e87;

  font-size:10px;
}


.schedule-edit-panel{
  margin:
    30px 0;

  padding:25px;

  border:
    1px solid #d8cfbf;

  background:#fff;
}


.schedule-edit-panel h2{
  margin:
    0 0 20px;

  color:#405347;
}


.schedule-admin-form{
  display:grid;

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

  gap:14px;
}


.schedule-admin-form label,
.schedule-admin-card label{
  display:block;

  color:#77776f;

  font-size:9px;

  font-weight:700;
}


.schedule-admin-form input,
.schedule-admin-form select,
.schedule-admin-form textarea,
.schedule-admin-card input,
.schedule-admin-card textarea{
  width:100%;

  margin-top:6px;

  padding:
    10px 11px;

  box-sizing:border-box;

  border:
    1px solid #ddd5c8;

  border-radius:4px;

  background:#fffdf9;
}


.schedule-admin-wide,
.schedule-admin-actions{
  grid-column:
    span 2;
}


.schedule-admin-actions{
  display:flex;

  align-items:center;

  gap:14px;
}


#scheduleCreateButton,
.schedule-update{
  padding:
    11px 18px;

  border:0;

  border-radius:5px;

  color:#fff;

  background:#42634d;

  cursor:pointer;

  font-weight:700;
}


.schedule-admin-list{
  display:grid;

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

  gap:17px;
}


.schedule-admin-card{
  padding:22px;

  border:
    1px solid #d9d1c4;

  background:#fff;
}


.schedule-admin-card-head{
  margin-bottom:15px;

  display:flex;

  align-items:start;

  justify-content:space-between;

  gap:15px;
}


.schedule-admin-card-head h3{
  margin:
    4px 0 0;

  color:#405347;
}


.schedule-admin-card-head small{
  color:#9a7854;
}


.schedule-delete{
  border:0;

  color:#a94c42;

  background:transparent;

  cursor:pointer;
}


.schedule-admin-row{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:10px;
}


.schedule-admin-card > label{
  margin-top:12px;
}


.schedule-admin-card-actions{
  margin-top:17px;

  display:flex;

  align-items:center;

  gap:12px;
}


.schedule-row-result,
#scheduleCreateResult{
  color:#69746c;

  font-size:9px;
}


@media(max-width:700px){

  .schedule-admin-form,
  .schedule-admin-list,
  .schedule-admin-row{
    grid-template-columns:1fr;
  }


  .schedule-admin-wide,
  .schedule-admin-actions{
    grid-column:auto;
  }


  .schedule-mini{
    grid-template-columns:1fr;
  }

}


/* =========================================================
   HOME COMMUNITY NOW V1
========================================================= */

.home-community-now{
  background:#fbfaf6;
}


.home-community-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}


.home-community-column{
  overflow:hidden;
  border-top:2px solid #47644f;
  border-bottom:1px solid #dfe3dd;
  background:#fff;
}


.home-community-column.popular{
  border-top-color:#b8783d;
}


.home-community-column-head{
  min-height:68px;
  padding:0 18px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  border-bottom:1px solid #e5e8e3;
}


.home-community-column-head small{
  display:block;
  margin-bottom:3px;

  color:#9b8170;

  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
}


.home-community-column-head h3{
  margin:0;
  color:#324c3b;
  font-size:18px;
}


.home-community-column-head > span{
  padding:4px 8px;

  border-radius:999px;

  background:#edf3ee;
  color:#477054;

  font-size:8px;
  font-weight:900;
}


.home-community-column.popular
.home-community-column-head > span{
  background:#fff0e4;
  color:#c15d2d;
}


.home-community-list{
  min-height:300px;
}


.home-community-row{
  min-height:60px;
  padding:0 16px;

  display:grid;

  grid-template-columns:
    86px minmax(0,1fr) auto;

  align-items:center;
  gap:10px;

  border-bottom:1px solid #edf0eb;

  color:inherit;
  text-decoration:none;
}


.home-community-row:last-child{
  border-bottom:0;
}


.home-community-row:hover{
  background:#fafbf8;
}


.home-community-category{
  overflow:hidden;

  color:#8b8177;

  font-size:10px;

  text-overflow:ellipsis;
  white-space:nowrap;
}


.home-community-rank{
  color:#c25e2c;
  font-size:11px;
  font-weight:900;
}


.home-community-subject{
  min-width:0;
}


.home-community-title-line{
  min-width:0;

  display:flex;
  align-items:center;
  gap:5px;
}


.home-community-title-line strong{
  min-width:0;

  overflow:hidden;

  color:#314639;

  font-size:13px;
  font-weight:700;

  text-overflow:ellipsis;
  white-space:nowrap;
}


.home-community-author{
  display:block;
  margin-top:4px;

  overflow:hidden;

  color:#9a9f9a;

  font-size:9px;

  text-overflow:ellipsis;
  white-space:nowrap;
}


.home-community-count{
  min-width:42px;

  color:#7c8980;

  text-align:right;

  font-size:10px;
  font-weight:700;
}


.home-community-count.recommend{
  color:#496d54;
}


.home-community-member{
  display:inline-grid;

  place-items:center;

  width:17px;
  height:17px;

  flex:0 0 17px;

  border-radius:4px;

  background:#3f694c;
  color:#fff;

  font:bold 8px Arial;
}


.home-community-media{
  flex:0 0 auto;

  color:#957254;

  font-size:10px;
}


.home-community-media.video{
  color:#c25e42;
}


.home-community-empty{
  min-height:160px;
  padding:30px;

  display:grid;
  place-items:center;

  box-sizing:border-box;

  color:#9da29d;

  text-align:center;

  font-size:11px;
}


.home-community-mobile-tabs{
  display:none;
}


@media(max-width:700px){

  .home-community-mobile-tabs{
    display:grid;

    grid-template-columns:1fr 1fr;

    margin-bottom:14px;

    border:1px solid #d4dbd4;
    border-radius:6px;

    overflow:hidden;
  }


  .home-community-mobile-tabs button{
    height:42px;

    border:0;

    background:#fff;
    color:#657269;

    font-size:12px;
    font-weight:800;

    cursor:pointer;
  }


  .home-community-mobile-tabs button + button{
    border-left:1px solid #d4dbd4;
  }


  .home-community-mobile-tabs
  button[aria-pressed="true"]{
    background:#45634e;
    color:#fff;
  }


  .home-community-grid{
    display:block;
  }


  .home-community-column{
    display:none;
  }


  .home-community-now[data-community-view="latest"]
  [data-community-column="latest"]{
    display:block;
  }


  .home-community-now[data-community-view="popular"]
  [data-community-column="popular"]{
    display:block;
  }


  .home-community-row{
    grid-template-columns:
      66px minmax(0,1fr) auto;

    min-height:64px;
    padding:0 12px;
  }


  .home-community-column-head{
    min-height:58px;
    padding:0 13px;
  }


  .home-community-column-head h3{
    font-size:16px;
  }


  .home-community-title-line strong{
    font-size:12px;
  }


  .home-community-list{
    min-height:auto;
  }

}


/* =========================================================
   MEMBERS PROFILE LOADING V1
   이름 placeholder 대신 자연스러운 skeleton
========================================================= */

.crew-avatar-loading{
  position:relative;

  overflow:hidden;

  background:
    linear-gradient(
      135deg,
      #e8e5da 0%,
      #f5f2e9 50%,
      #e5e1d5 100%
    ) !important;
}


.crew-avatar-loading::after{
  content:"";

  position:absolute;

  top:0;
  bottom:0;

  left:-60%;

  width:45%;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.52),
      transparent
    );

  animation:
    gsMemberAvatarLoading 1.25s
    ease-in-out
    infinite;
}


@keyframes gsMemberAvatarLoading{

  from{
    transform:
      translateX(0);
  }

  to{
    transform:
      translateX(360%);
  }

}


/*
 * 이미지 변경 때 순간적인 깜빡임 완화
 */
.crew-avatar{
  transition:
    opacity .18s ease,
    background-image .18s ease;
}

/* /MEMBERS PROFILE LOADING V1 */


/* =========================================================
   MEMBER NEW BADGE V1
========================================================= */

.crew-new-member-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:18px;
  margin:0 auto 7px;
  padding:0 8px;
  box-sizing:border-box;
  border:1px solid rgba(181,139,49,.28);
  border-radius:999px;
  background:#fff5d7;
  color:#9b7121;
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
}

/* /MEMBER NEW BADGE V1 */
