:root{
  --bg:#07090d;
  --bg2:#0b0e14;
  --panel:#10141c;
  --panel2:#151b25;
  --panel3:#1b2230;

  --text:#f5f2e9;
  --muted:#8d96a5;
  --muted2:#697383;

  --border:#202837;
  --border2:#2c3546;

  --accent:#d7aa4d;
  --accent2:#f0cb76;
  --accent-dark:#9d742a;

  --shell:1600px;

  --shadow:
    0 14px 38px rgba(0,0,0,.28);

  --shadow-hover:
    0 18px 46px rgba(0,0,0,.48);
}


/* =========================================================
   BASE
   ========================================================= */

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  min-height:100vh;

  background:
    radial-gradient(
      circle at 50% -250px,
      rgba(215,170,77,.10),
      transparent 500px
    ),
    linear-gradient(
      180deg,
      #090c11 0,
      var(--bg) 420px
    );

  color:var(--text);

  font-family:
    Pretendard,
    "Noto Sans KR",
    system-ui,
    -apple-system,
    "Segoe UI",
    sans-serif;

  line-height:1.5;

  -webkit-font-smoothing:antialiased;
}

a{
  color:inherit;
  text-decoration:none;
}

img{
  max-width:100%;
}

button,
input{
  font:inherit;
}

::selection{
  background:var(--accent);
  color:#111;
}

.shell{
  width:min(
    var(--shell),
    calc(100% - 40px)
  );

  margin-inline:auto;
}


/* =========================================================
   HEADER
   ========================================================= */

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

  z-index:1000;

  overflow:visible;

  background:
    rgba(7,9,13,.91);

  border-bottom:
    1px solid rgba(215,170,77,.15);

  box-shadow:
    0 8px 35px rgba(0,0,0,.24);

  backdrop-filter:
    blur(18px);

  -webkit-backdrop-filter:
    blur(18px);
}


.header-inner{
  position:relative;

  min-height:74px;

  display:flex;
  align-items:center;

  gap:18px;
}


/* BRAND */

.brand{
  flex:0 0 auto;

  min-width:max-content;

  font-size:25px;
  font-weight:950;

  letter-spacing:-1px;

  white-space:nowrap;
}

.brand a{
  display:flex;
  align-items:center;

  color:#fff;
}

.brand-text{
  font-weight:950;

  background:
    linear-gradient(
      120deg,
      #fff4d3,
      var(--accent2),
      #b9852f
    );

  -webkit-background-clip:text;
  background-clip:text;

  color:transparent;
}

.brand-logo,
.custom-logo{
  display:block;

  width:auto;
  max-width:230px;

  max-height:46px;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.primary-nav{
  min-width:0;
  flex:1;

  overflow:visible;
}

.compact-menu{
  display:flex !important;

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

  gap:2px !important;

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

  list-style:none;

  white-space:nowrap;
}

.compact-menu > li{
  position:relative;

  display:flex;
  align-items:center;

  min-width:0;
}

.compact-menu > li > a,
.submenu-toggle{
  height:40px;

  display:flex;
  align-items:center;

  padding:0 11px;

  border:0;
  border-radius:8px;

  background:transparent;

  color:#d6dae1;

  font:inherit;
  font-size:14px;
  font-weight:750;

  cursor:pointer;

  white-space:nowrap;

  transition:
    color .18s ease,
    background .18s ease;
}

.compact-menu > li > a:hover,
.compact-menu > li:hover > a,
.submenu-toggle:hover,
.compact-menu > li.is-open > .submenu-toggle{
  background:
    rgba(215,170,77,.09);

  color:var(--accent2);
}

.submenu-arrow{
  width:24px;
  height:32px;

  margin-left:-8px;

  display:grid;
  place-items:center;

  border:0;
  border-radius:7px;

  background:transparent;

  color:var(--muted);

  cursor:pointer;
}

.submenu-arrow:hover{
  background:var(--panel2);
  color:var(--accent2);
}


.submenu{
  position:absolute;

  left:0;
  top:calc(100% + 9px);

  z-index:1200;

  display:none !important;

  min-width:230px;
  max-width:340px;
  max-height:68vh;

  overflow:auto;

  margin:0 !important;
  padding:8px !important;

  list-style:none;

  background:
    rgba(14,18,25,.98);

  border:
    1px solid var(--border2);

  border-radius:12px;

  box-shadow:
    0 22px 60px rgba(0,0,0,.58);
}

.submenu li{
  display:block !important;
}

.submenu a{
  display:block;

  padding:9px 11px;

  border-radius:7px;

  color:#d8dce3;

  line-height:1.35;

  white-space:normal;
}

.submenu a:hover{
  background:
    rgba(215,170,77,.10);

  color:var(--accent2);
}

.has-submenu:hover > .submenu,
.has-submenu:focus-within > .submenu,
.has-submenu.is-open > .submenu{
  display:block !important;
}

.menu-more > .submenu{
  right:0;
  left:auto;

  min-width:420px;

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

.menu-more:hover > .submenu,
.menu-more:focus-within > .submenu,
.menu-more.is-open > .submenu{
  display:grid !important;
}


/* =========================================================
   SEARCH
   ========================================================= */

.header-search{
  flex:0 0 auto;

  height:40px;

  display:flex;

  overflow:hidden;

  background:#0c1016;

  border:
    1px solid var(--border2);

  border-radius:10px;

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

.header-search:focus-within{
  border-color:
    rgba(215,170,77,.65);

  box-shadow:
    0 0 0 3px
    rgba(215,170,77,.08);
}

.header-search input{
  width:175px;

  padding:0 13px;

  border:0;
  outline:0;

  background:transparent;

  color:#fff;
}

.header-search input::placeholder{
  color:#697383;
}

.header-search button{
  padding:0 15px;

  border:0;

  background:
    linear-gradient(
      135deg,
      #e0b65b,
      #b9852f
    );

  color:#111;

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

  cursor:pointer;
}

.nav-toggle{
  display:none;

  border:0;

  background:transparent;

  color:#fff;

  font-size:25px;

  cursor:pointer;
}


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

.site-content{
  padding:
    30px 0 58px;
}

.layout,
.single-layout{
  display:grid;

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

  gap:30px;
}

.main-column{
  min-width:0;
}


/* =========================================================
   HOMEPAGE SECTION
   ========================================================= */

.home-sections{
  min-width:0;
}

.home-video-section{
  margin:
    0 0 42px;
}

.section-heading{
  position:relative;

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

  gap:16px;

  margin:
    0 0 18px;

  padding:
    0 0 12px;

  border-bottom:
    1px solid var(--border);
}

.section-heading:before{
  content:"";

  position:absolute;

  left:0;
  bottom:-1px;

  width:88px;
  height:2px;

  background:
    linear-gradient(
      90deg,
      var(--accent2),
      var(--accent-dark)
    );
}

.section-heading h2{
  margin:0;

  color:#fff;

  font-size:23px;
  font-weight:900;

  letter-spacing:-.6px;
}

.section-heading h2:after{
  display:none !important;
}

.section-more{
  display:inline-flex;
  align-items:center;

  gap:5px;

  color:var(--muted);

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

  transition:color .18s ease;
}

.section-more:hover{
  color:var(--accent2);
}

.section-more span{
  color:var(--accent);

  font-size:20px;
}


/* =========================================================
   VIDEO GRID
   ========================================================= */

.video-grid{
  display:grid;

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

  gap:
    24px 18px;
}


/* =========================================================
   VIDEO CARD
   ========================================================= */

.video-card{
  min-width:0;

  overflow:hidden;

  background:transparent;

  border:0;

  border-radius:12px;

  transition:
    transform .22s ease;
}

.video-card:hover{
  transform:
    translateY(-4px);
}

.thumb{
  position:relative;

  display:block;

  width:100%;

  aspect-ratio:16 / 9;

  overflow:hidden;

  background:#030405;

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

  border-radius:11px;

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

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

.video-card:hover .thumb{
  border-color:
    rgba(215,170,77,.55);

  box-shadow:
    0 16px 38px rgba(0,0,0,.42);
}

.thumb img{
  display:block;

  width:100%;
  height:100%;

  object-fit:contain !important;
  object-position:center;

  background:#030405;

  transition:
    transform .28s ease,
    filter .28s ease;
}

.video-card:hover .thumb img{
  transform:scale(1.025);
  filter:brightness(1.05);
}

.thumb.no-image{
  display:grid;
  place-items:center;

  color:var(--muted2);

  font-size:12px;
}


/* PLAY ICON */

.play{
  position:absolute;

  left:50%;
  top:50%;

  transform:
    translate(-50%,-50%)
    scale(.86);

  width:52px;
  height:52px;

  display:grid;
  place-items:center;

  padding-left:3px;

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

  border-radius:50%;

  background:
    rgba(5,7,10,.76);

  color:var(--accent2);

  box-shadow:
    0 8px 28px rgba(0,0,0,.48);

  backdrop-filter:
    blur(8px);

  opacity:0;

  transition:
    opacity .2s ease,
    transform .2s ease;
}

.video-card:hover .play{
  opacity:1;

  transform:
    translate(-50%,-50%)
    scale(1);
}


/* CARD TEXT */

.card-body{
  padding:
    11px 3px 0;
}

.card-body h2{
  margin:
    0 0 8px;

  display:-webkit-box;

  overflow:hidden;

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

  color:#e8ebf0;

  font-size:14px;
  font-weight:750;

  line-height:1.45;

  letter-spacing:-.25px;
}

.video-card:hover .card-body h2{
  color:#fff3d2;
}

.card-meta,
.single-meta{
  display:flex;
  align-items:center;

  gap:11px;

  color:var(--muted);

  font-size:11px;
}

.card-meta span + span:before,
.single-meta span + span:before{
  content:"•";

  margin-right:11px;

  color:#505968;
}


/* =========================================================
   ARCHIVE
   ========================================================= */

.archive-header{
  position:relative;

  margin:
    0 0 24px;

  padding:
    0 0 17px;

  border-bottom:
    1px solid var(--border);
}

.archive-header:after{
  content:"";

  position:absolute;

  left:0;
  bottom:-1px;

  width:74px;
  height:2px;

  background:var(--accent);
}

.archive-header h1{
  margin:
    0 0 6px;

  color:#fff;

  font-size:29px;
  font-weight:900;

  letter-spacing:-.8px;
}

.archive-header p,
.archive-description{
  margin:0;

  color:var(--muted);

  font-size:13px;
}


/* =========================================================
   SIDEBAR
   ========================================================= */

.sidebar{
  display:flex;
  flex-direction:column;

  gap:16px;
}

.widget{
  position:relative;

  overflow:hidden;

  padding:17px;

  background:
    linear-gradient(
      145deg,
      rgba(20,25,35,.96),
      rgba(13,17,24,.96)
    );

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

  border-radius:12px;

  box-shadow:
    0 10px 28px rgba(0,0,0,.16);
}

.widget:before{
  content:"";

  position:absolute;

  left:0;
  top:0;

  width:3px;
  height:46px;

  background:
    linear-gradient(
      var(--accent2),
      var(--accent-dark)
    );
}

.widget-title{
  margin:
    0 0 13px;

  color:#f4f1e8;

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

.widget ul{
  margin:0;
  padding:0;

  list-style:none;
}

.widget li{
  padding:
    8px 0;

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

  color:#bec4ce;

  font-size:13px;
}

.widget li:last-child{
  border-bottom:0;
}

.widget a:hover{
  color:var(--accent2);
}

.popular-list li{
  display:flex;
  flex-direction:column;

  gap:3px;
}

.popular-list li span{
  color:var(--muted2);

  font-size:11px;
}

.widget-categories .children{
  margin:
    5px 0 0 12px;

  padding-left:10px;

  border-left:
    1px solid var(--border);
}


/* =========================================================
   SINGLE VIDEO
   ========================================================= */

.player-wrap{
  position:relative;

  width:100%;

  aspect-ratio:16 / 9;

  overflow:hidden;

  display:grid;
  place-items:center;

  background:#000;

  border:
    1px solid #222936;

  border-radius:14px;

  box-shadow:
    0 18px 55px rgba(0,0,0,.42);
}

.player-wrap iframe,
.player-wrap video,
.player-wrap .wp-video,
.player-wrap .mejs-container{
  width:100% !important;
  height:100% !important;
}

.video-empty{
  color:var(--muted);
}

.single-head{
  position:relative;

  padding:
    22px 2px 20px;

  margin-bottom:20px;

  border-bottom:
    1px solid var(--border);
}

.single-head h1{
  margin:
    0 0 10px;

  color:#f7f5ef;

  font-size:28px;
  font-weight:900;

  line-height:1.35;

  letter-spacing:-.8px;
}

.entry-content{
  padding:22px;

  background:
    linear-gradient(
      145deg,
      rgba(19,24,33,.92),
      rgba(13,17,24,.92)
    );

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

  border-radius:12px;

  color:#cdd2da;

  line-height:1.75;
}

.entry-content a{
  color:var(--accent2);
}

.content-safe iframe{
  max-width:100%;
}

.terms{
  display:flex;
  flex-wrap:wrap;

  gap:7px;

  margin-top:17px;
}

.terms a{
  padding:
    6px 11px;

  background:
    rgba(215,170,77,.07);

  border:
    1px solid rgba(215,170,77,.16);

  border-radius:999px;

  color:#c9cdd4;

  font-size:12px;

  transition:.18s;
}

.terms a:hover{
  border-color:
    rgba(215,170,77,.55);

  color:var(--accent2);
}

.related{
  margin-top:38px;
}

.related > h2{
  margin:
    0 0 17px;

  padding-bottom:11px;

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

  color:#fff;

  font-size:22px;
}


/* =========================================================
   PAGINATION
   ========================================================= */

.navigation.pagination,
.pagination{
  margin:
    32px 0 10px;
}

.nav-links{
  display:flex;
  flex-wrap:wrap;

  gap:7px;
}

.page-numbers{
  min-width:39px;
  height:39px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:0 12px;

  background:var(--panel);

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

  border-radius:8px;

  color:#cbd0d8;

  font-size:13px;
  font-weight:750;
}

a.page-numbers:hover{
  border-color:
    rgba(215,170,77,.5);

  color:var(--accent2);
}

.page-numbers.current{
  background:
    linear-gradient(
      135deg,
      var(--accent2),
      #b98731
    );

  border-color:var(--accent);

  color:#111;
}


/* =========================================================
   AD BANNERS
   ========================================================= */

.global-ad-section{
  width:100%;

  margin:0;

  padding:
    10px 8px 17px;

  overflow:hidden;

  background:#080a0e;

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

.global-ad-grid{
  width:100%;

  display:grid;

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

  gap:7px;

  margin:0;
  padding:0;
}

.global-ad-item{
  display:block;

  min-width:0;

  overflow:hidden;

  line-height:0;

  background:#050609;

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

  border-radius:5px;

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

.global-ad-item:hover{
  border-color:
    rgba(215,170,77,.48);

  transform:
    translateY(-1px);
}

.global-ad-item img{
  display:block;

  width:100%;
  height:auto;

  aspect-ratio:3 / 1;

  object-fit:cover;

  border:0;

  margin:0;
  padding:0;
}


/* =========================================================
   ADULT ZZAL
   ========================================================= */

.adult-zzal-grid{
  display:grid;

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

  gap:
    21px 14px;

  margin-bottom:30px;
}

.adult-zzal-card{
  min-width:0;
}

.adult-zzal-thumb{
  position:relative;

  display:block;

  width:100%;

  aspect-ratio:9 / 16;

  overflow:hidden;

  background:#080b10;

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

  border-radius:11px;

  box-shadow:
    0 10px 28px rgba(0,0,0,.22);

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

.adult-zzal-card:hover
.adult-zzal-thumb{
  transform:
    translateY(-3px);

  border-color:
    rgba(215,170,77,.55);
}

.adult-zzal-thumb img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;

  transition:
    transform .28s ease;
}

.adult-zzal-card:hover
.adult-zzal-thumb img{
  transform:scale(1.035);
}

.adult-zzal-no-image{
  width:100%;
  height:100%;

  display:grid;
  place-items:center;

  color:var(--muted);

  font-size:12px;
}

.adult-zzal-badge{
  position:absolute;

  top:9px;
  left:9px;

  min-width:35px;
  height:25px;

  padding:0 7px;

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

  border:
    1px solid rgba(240,203,118,.45);

  border-radius:7px;

  background:
    rgba(8,10,14,.82);

  color:var(--accent2);

  font-size:11px;
  font-weight:900;

  backdrop-filter:
    blur(7px);
}

.adult-zzal-card-body{
  padding:
    9px 2px 0;
}

.adult-zzal-card-body h2{
  margin:0;

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

  line-height:1.45;
}

.adult-zzal-card-body h2 a{
  display:-webkit-box;

  overflow:hidden;

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

.adult-zzal-card:hover
.adult-zzal-card-body h2{
  color:#fff3d2;
}

.adult-zzal-card-meta{
  margin-top:7px;

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

  gap:8px;

  color:var(--muted);

  font-size:10px;
}

.adult-zzal-detail-images{
  width:min(100%,760px);

  margin:
    0 auto 28px;
}

.adult-zzal-detail-images p{
  margin:
    0 0 18px;

  text-align:center;
}

.adult-zzal-detail-image{
  display:block;

  width:auto;
  max-width:100%;
  height:auto;

  margin:0 auto;

  border-radius:10px;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer{
  padding:
    38px 0 25px;

  background:
    linear-gradient(
      180deg,
      #080a0e,
      #050609
    );

  border-top:
    1px solid rgba(215,170,77,.13);

  color:var(--muted);
}

.footer-content{
  display:flex;
  flex-direction:column;

  gap:20px;
}

.footer-disclaimer{
  position:relative;

  overflow:hidden;

  padding:
    20px 22px;

  background:
    rgba(16,20,28,.75);

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

  border-radius:12px;

  color:#858e9c;

  font-size:12px;

  line-height:1.75;
}

.footer-disclaimer:before{
  content:"";

  position:absolute;

  left:0;
  top:0;

  width:3px;
  height:100%;

  background:
    linear-gradient(
      var(--accent2),
      transparent
    );
}

.footer-disclaimer p{
  margin:0;
}

.footer-disclaimer p + p{
  margin-top:8px;
}

.footer-disclaimer strong{
  color:#bfc5ce;
}

.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:20px;

  padding-top:16px;

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

  color:#697382;

  font-size:12px;
}


/* =========================================================
   MEMBER AUTH
   ========================================================= */

.member-auth{
  margin-left:auto;

  display:flex;
  align-items:center;

  flex:0 0 auto;

  color:#cbd0d8;

  font-size:12px;
}

.member-guest,
.member-logged,
.member-profile{
  display:flex;
  align-items:center;
}

.member-guest{
  gap:7px;

  white-space:nowrap;
}

.member-guest button,
.member-logout{
  border:0;

  padding:0;

  background:none;

  color:inherit;

  font:inherit;

  cursor:pointer;
}

.member-register-open{
  font-weight:800 !important;
}

.member-login-open{
  height:34px;
  min-width:66px;

  display:inline-flex !important;
  align-items:center;
  justify-content:center;

  padding:0 13px !important;

  border:
    1px solid rgba(215,170,77,.30) !important;

  border-radius:8px !important;

  background:
    rgba(215,170,77,.07) !important;

  color:#e8d29f !important;

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

  cursor:pointer !important;
}

.member-login-open:hover{
  background:
    rgba(215,170,77,.14) !important;

  border-color:
    rgba(215,170,77,.55) !important;
}

.member-loading{
  opacity:.65;

  white-space:nowrap;
}

.member-logged{
  gap:9px;
}

.member-profile{
  gap:7px;

  white-space:nowrap;
}

.member-profile strong{
  max-width:110px;

  overflow:hidden;

  text-overflow:ellipsis;
}

.member-level{
  padding:
    3px 6px;

  border-radius:5px;

  background:
    rgba(215,170,77,.10);

  color:var(--accent2);

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

.member-points{
  color:var(--muted);

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

.member-logout{
  padding-left:9px;

  border-left:
    1px solid rgba(255,255,255,.12);

  color:var(--muted);
}

.member-level-icon{
  width:26px;
  height:26px;

  object-fit:contain;

  vertical-align:middle;

  margin-left:6px;
}


/* MEMBER MODAL */

.member-modal-backdrop{
  position:fixed !important;

  inset:0 !important;

  z-index:2147483000 !important;

  width:100vw !important;
  height:100dvh !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:
    max(20px,env(safe-area-inset-top))
    max(20px,env(safe-area-inset-right))
    max(20px,env(safe-area-inset-bottom))
    max(20px,env(safe-area-inset-left))
    !important;

  overflow-x:hidden !important;
  overflow-y:auto !important;

  background:
    rgba(0,0,0,.82) !important;

  backdrop-filter:
    blur(8px);

  -webkit-backdrop-filter:
    blur(8px);
}

.member-modal{
  position:relative !important;

  width:
    min(420px,calc(100vw - 40px))
    !important;

  max-width:420px !important;

  max-height:
    calc(100dvh - 40px)
    !important;

  margin:auto !important;

  overflow-x:hidden !important;
  overflow-y:auto !important;

  padding:30px;

  flex:none !important;

  transform:none !important;

  background:
    linear-gradient(
      145deg,
      #141922,
      #0d1117
    );

  border:
    1px solid var(--border2);

  border-radius:14px !important;

  color:#fff;

  box-shadow:
    0 30px 100px rgba(0,0,0,.7);
}

.member-modal-close{
  position:absolute;

  top:11px;
  right:13px;

  width:38px;
  height:38px;

  border:0;
  border-radius:50%;

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

  color:#fff;

  font-size:27px;
  line-height:1;

  cursor:pointer;
}

.member-modal-head{
  padding-right:35px;

  margin-bottom:23px;
}

.member-modal-head strong{
  display:block;

  margin-bottom:7px;

  font-size:24px;
}

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

  color:var(--muted);

  font-size:13px;

  line-height:1.55;
}

.member-form{
  display:grid;

  gap:15px;
}

.member-form label{
  display:grid;

  gap:7px;

  color:#cdd1d8;

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

.member-form input{
  width:100%;
  height:48px;

  padding:0 14px;

  border:
    1px solid var(--border2);

  border-radius:8px;

  outline:none;

  background:#090c11;

  color:#fff;

  font-size:15px;
}

.member-form input:focus{
  border-color:
    rgba(215,170,77,.65);

  box-shadow:
    0 0 0 3px
    rgba(215,170,77,.07);
}

.member-submit{
  height:50px;

  margin-top:3px;

  border:0;
  border-radius:8px;

  background:
    linear-gradient(
      135deg,
      var(--accent2),
      #b9852f
    );

  color:#111;

  font-size:15px;
  font-weight:950;

  cursor:pointer;
}

.member-submit:disabled{
  cursor:wait;
  opacity:.55;
}

.member-switch{
  border:0;

  background:none;

  color:#aeb5c0;

  font-size:12px;

  cursor:pointer;
}

.member-switch:hover{
  color:var(--accent2);
}

.member-message{
  padding:
    10px 12px;

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

  border-radius:7px;

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

  color:#ffb9b9;

  font-size:12px;

  line-height:1.45;
}

body:has(.member-modal-backdrop){
  overflow:hidden;
}


/* =========================================================
   MEMBER PLACEMENT
   ========================================================= */

.central-member-desktop{
  display:flex;
  align-items:center;
  justify-content:flex-end;

  flex:0 0 auto;

  margin-left:7px;
}

.central-member-mobile{
  display:none;
}

.central-member-slot{
  position:static !important;

  margin:0 !important;
}


/* =========================================================
   PLAYER
   ========================================================= */

.pre-roll-layer{
  position:absolute;

  inset:0;

  z-index:4;

  background:#000;
}

.pre-roll-layer video{
  width:100%;
  height:100%;

  display:block;

  background:#000;
}

.pre-roll-label,
.pre-roll-count{
  position:absolute;

  top:12px;

  z-index:5;

  padding:
    6px 9px;

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

  border-radius:6px;

  background:
    rgba(0,0,0,.72);

  color:#fff;

  font-size:12px;
}

.pre-roll-label{
  left:12px;
}

.pre-roll-count{
  right:12px;
}

.pre-roll-click{
  position:absolute;

  inset:0;

  z-index:4;
}

.player-start{
  position:relative;

  width:100%;
  height:100%;

  display:grid;
  place-items:center;

  background:#000;
}

.player-start button{
  width:76px;
  height:76px;

  border:
    1px solid rgba(240,203,118,.55);

  border-radius:50%;

  background:
    rgba(0,0,0,.72);

  color:var(--accent2);

  font-size:29px;

  cursor:pointer;
}

.main-player{
  width:100%;
  height:100%;

  display:block;

  background:#000;
}

.iframe-player{
  width:100%;
  height:100%;

  border:0;
}

.ad-disabled-note{
  color:var(--muted);

  font-size:12px;
}


/* =========================================================
   CAPTIONS
   ========================================================= */

.plyr__captions{
  font-size:28px !important;

  line-height:1.45 !important;
}

.plyr__caption{
  padding:
    6px 12px !important;

  border-radius:4px;

  font-size:28px !important;

  line-height:1.45 !important;

  text-shadow:
    0 1px 2px rgba(0,0,0,.95),
    0 2px 5px rgba(0,0,0,.8);
}


/* =========================================================
   MOBILE SEARCH
   ========================================================= */

.mobile-search-wrap{
  display:none !important;
}


/* =========================================================
   OTHER
   ========================================================= */

.ad-zone{
  margin:
    15px auto;

  overflow:hidden;

  text-align:center;
}

.ad-zone img{
  height:auto;
}

.page-shell{
  max-width:900px;
}

.screen-reader-text{
  position:absolute;

  left:-9999px;
}


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

@media(max-width:1280px){

  .adult-zzal-grid{
    grid-template-columns:
      repeat(5,minmax(0,1fr));
  }

  .compact-menu > li > a,
  .submenu-toggle{
    padding:
      0 8px;

    font-size:13px;
  }

  .header-search input{
    width:135px;
  }

}


@media(max-width:1050px){

  .adult-zzal-grid{
    grid-template-columns:
      repeat(4,minmax(0,1fr));
  }

}


@media(max-width:900px){

  .shell{
    width:
      min(100% - 24px,var(--shell));
  }

  .header-inner{
    min-height:62px;
  }

  .layout,
  .single-layout{
    grid-template-columns:1fr;
  }

  .sidebar{
    display:none;
  }

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

  .primary-nav{
    position:absolute;

    left:6px;
    right:6px;
    top:calc(100% + 1px);

    z-index:999;

    display:none;

    max-height:
      calc(100vh - 90px);

    overflow:auto;

    padding:10px;

    background:
      rgba(13,17,24,.99);

    border:
      1px solid var(--border2);

    border-radius:12px;

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

  .primary-nav.is-open{
    display:block;
  }

  .compact-menu{
    display:block !important;

    white-space:normal;
  }

  .compact-menu > li{
    width:100%;

    display:flex;
    flex-wrap:wrap;

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

  .compact-menu > li:last-child{
    border-bottom:0;
  }

  .compact-menu > li > a,
  .submenu-toggle{
    flex:1;

    height:44px;

    justify-content:flex-start;

    padding:
      0 12px;
  }

  .submenu-arrow{
    margin-left:auto;
    margin-right:4px;
  }

  .submenu,
  .menu-more > .submenu{
    position:static;

    display:none !important;

    width:100%;

    min-width:0;
    max-width:none;
    max-height:none;

    margin:
      0 0 8px !important;

    background:#090c11;

    border-color:
      rgba(255,255,255,.07);

    border-radius:9px;

    box-shadow:none;

    grid-template-columns:
      1fr !important;
  }

  .has-submenu.is-open > .submenu{
    display:block !important;
  }

  .menu-more.is-open > .submenu{
    display:block !important;
  }

  .has-submenu:hover > .submenu,
  .has-submenu:focus-within > .submenu,
  .menu-more:hover > .submenu,
  .menu-more:focus-within > .submenu{
    display:none !important;
  }

  .has-submenu.is-open:hover > .submenu,
  .menu-more.is-open:hover > .submenu{
    display:block !important;
  }

  .nav-toggle{
    order:2;

    display:block;

    margin-left:auto;
  }

  .header-search{
    order:3;

    margin-left:0;
  }

  .central-member-desktop{
    display:none !important;
  }

  .central-member-mobile{
    position:absolute;

    top:50%;
    right:14px;

    z-index:20;

    display:flex !important;
    align-items:center;

    transform:
      translateY(-50%);
  }

  .central-member-mobile
  .member-auth{
    display:flex !important;
  }

  .central-member-mobile
  .member-login-open{
    height:30px;

    min-width:56px;

    padding:
      0 10px !important;

    font-size:
      11px !important;
  }

}


@media(max-width:820px){

  .adult-zzal-grid{
    grid-template-columns:
      repeat(3,minmax(0,1fr));

    gap:
      18px 12px;
  }

}


@media(max-width:767px){

  .mobile-search-wrap{
    display:block !important;

    width:100vw !important;
    max-width:none !important;

    margin:
      0 0 0 calc(50% - 50vw)
      !important;

    padding:
      9px 8px 10px !important;

    background:#080a0e;

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

  .mobile-search-wrap .shell{
    width:100% !important;
    max-width:none !important;

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

  .mobile-search-form{
    width:100% !important;

    min-height:46px !important;

    display:flex !important;
    align-items:stretch !important;

    overflow:hidden !important;

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

    background:#0e1219;

    border:
      1px solid var(--border2);

    border-radius:9px !important;
  }

  .mobile-search-form
  input[type="search"]{
    flex:1 1 auto !important;

    width:1% !important;
    min-width:0 !important;
    height:46px !important;

    margin:0 !important;

    padding:
      0 14px !important;

    border:0 !important;
    outline:0 !important;

    background:transparent;

    color:#fff;

    font-size:16px !important;
  }

  .mobile-search-form button,
  .mobile-search-form
  input[type="submit"]{
    flex:
      0 0 68px !important;

    width:68px !important;
    min-width:68px !important;
    height:46px !important;

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

    border:0 !important;

    background:
      linear-gradient(
        135deg,
        var(--accent2),
        #b9852f
      );

    color:#111;

    font-size:14px !important;
    font-weight:900 !important;

    cursor:pointer !important;
  }

}


@media(max-width:600px){

  .shell{
    width:100%;

    padding-inline:9px;
  }

  .site-content{
    padding:
      15px 0 38px;
  }

  .header-inner{
    padding-inline:10px;

    gap:9px;
  }

  .brand{
    font-size:20px;
  }

  .brand-logo,
  .custom-logo{
    max-width:165px;
    max-height:38px;
  }

  .header-search{
    display:none;
  }

  .primary-nav{
    left:4px;
    right:4px;
  }

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

    gap:
      17px 8px;
  }

  .video-card{
    border-radius:8px;
  }

  .thumb{
    border-radius:7px;
  }

  .play{
    width:42px;
    height:42px;

    font-size:13px;
  }

  .card-body{
    padding:
      8px 2px 0;
  }

  .card-body h2{
    margin-bottom:6px;

    font-size:12px;

    line-height:1.4;
  }

  .card-meta{
    gap:7px;

    font-size:9px;
  }

  .card-meta span + span:before{
    margin-right:7px;
  }

  .home-video-section{
    margin-bottom:30px;
  }

  .section-heading{
    margin-bottom:12px;

    padding:
      0 2px 9px;
  }

  .section-heading:before{
    width:60px;
  }

  .section-heading h2{
    font-size:19px;
  }

  .section-more{
    font-size:12px;
  }

  .archive-header{
    margin:
      0 2px 18px;

    padding-bottom:13px;
  }

  .archive-header h1{
    font-size:22px;
  }

  .single-video > .shell{
    padding:0;
  }

  .player-wrap{
    border-left:0;
    border-right:0;

    border-radius:0;
  }

  .single-head,
  .single-layout,
  .related{
    padding-inline:9px;
  }

  .single-head{
    margin-bottom:12px;

    padding-top:17px;
  }

  .single-head h1{
    font-size:20px;
  }

  .entry-content{
    padding:15px;

    border-radius:9px;

    font-size:13px;
  }

  .related{
    margin-top:28px;
  }

  .related > h2{
    font-size:19px;
  }

  .global-ad-section{
    padding:
      7px 4px 11px;
  }

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

    gap:6px;
  }

  .global-ad-item{
    border-radius:3px;
  }

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

    gap:
      16px 9px;
  }

  .adult-zzal-thumb{
    border-radius:8px;
  }

  .adult-zzal-card-body h2{
    font-size:12px;
  }

  .adult-zzal-card-meta{
    font-size:9px;
  }

  .adult-zzal-detail-images{
    width:100%;
  }

  .adult-zzal-detail-image{
    border-radius:7px;
  }

  .footer-disclaimer{
    padding:
      15px 16px;

    font-size:11px;
  }

  .footer-bottom{
    flex-direction:column;

    align-items:flex-start;
  }

  .central-member-mobile{
    right:10px;
  }

  .central-member-mobile
  .member-login-open{
    height:29px;

    min-width:52px;

    padding:
      0 8px !important;
  }

  .member-level{
    display:none;
  }

  .member-points{
    display:none;
  }

  .member-modal-backdrop{
    padding:
      14px !important;
  }

  .member-modal{
    width:
      calc(100vw - 28px)
      !important;

    max-height:
      calc(100dvh - 28px)
      !important;

    padding:
      26px 20px 22px;

    margin:auto !important;

    border-radius:
      13px !important;
  }

  .plyr__captions,
  .plyr__caption{
    font-size:
      22px !important;
  }

}


@media(max-height:650px){

  .member-modal-backdrop{
    align-items:
      flex-start !important;

    padding-top:
      16px !important;

    padding-bottom:
      16px !important;
  }

  .member-modal{
    margin:auto !important;
  }

}
