.xporn-mobile-drawer-lock {
  overflow: hidden !important;
}

.xporn-mobile-drawer {
  position: fixed;
  inset: 0;
  z-index: 100000;
  pointer-events: none;
  visibility: hidden;
}

.xporn-mobile-drawer.is-open {
  pointer-events: auto;
  visibility: visible;
}

.xporn-mobile-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .72);
  opacity: 0;
  transition: opacity .22s ease;
}

.xporn-mobile-drawer.is-open .xporn-mobile-drawer__backdrop {
  opacity: 1;
}

.xporn-mobile-drawer__panel {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: min(calc(100vw - 54px), 390px);
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: calc(env(safe-area-inset-top) + 14px) 18px calc(env(safe-area-inset-bottom) + 28px);
  color: #fff;
  background:
    linear-gradient(rgba(9, 9, 11, .94), rgba(9, 9, 11, .98)),
    var(--xporn-mobile-drawer-bg, none),
    #0b0b0b;
  background-size: cover;
  background-position: center;
  box-shadow: 18px 0 48px rgba(0, 0, 0, .58);
  transform: translateX(-104%);
  transition: transform .24s ease;
}

.xporn-mobile-drawer.is-open .xporn-mobile-drawer__panel {
  transform: translateX(0);
}

.xporn-mobile-drawer__close {
  position: absolute;
  top: calc(env(safe-area-inset-top) + 12px);
  right: 12px;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  color: #fff;
  background: #e91345;
  box-shadow: 0 6px 18px rgba(233, 19, 69, .28);
  font-size: 20px;
  line-height: 1;
}

.xporn-mobile-drawer__brand {
  display: grid;
  min-height: 58px;
  align-items: center;
  gap: 14px;
  padding-right: 52px;
}

.xporn-mobile-drawer__brand img {
  max-width: 100%;
  height: auto;
  display: block;
}

.xporn-mobile-drawer__brand > img:first-child,
.xporn-mobile-drawer__logo {
  max-height: 56px;
  object-fit: contain;
}

.xporn-mobile-drawer__banner {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  object-fit: cover;
  background: #111;
}

.xporn-mobile-drawer__nav {
  display: grid;
  gap: 7px;
  margin-top: 18px;
}

.xporn-mobile-drawer__group { display:grid;gap:7px; }
.xporn-mobile-drawer__group-toggle {
  display:flex;min-height:46px;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;
  border:1px solid rgba(255,74,108,.72);border-radius:12px;background:linear-gradient(135deg,#f3194d,#c20d3a);color:#fff;
  font:inherit;font-weight:900;text-align:left;cursor:pointer;
  box-shadow:0 7px 18px rgba(222,12,61,.18);
}
.xporn-mobile-drawer__group-toggle svg { width:22px;height:22px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease; }
.xporn-mobile-drawer__group-toggle[aria-expanded="false"] svg { transform:rotate(-90deg); }
.xporn-mobile-drawer__group-toggle[aria-expanded="true"] { border-color:#ff5a79;background:linear-gradient(135deg,#f3194d,#b90935); }
.xporn-mobile-drawer__children { display:grid;gap:7px;padding:0; }
.xporn-mobile-drawer__children[hidden] { display:none; }

.xporn-mobile-drawer__button {
  display: flex;
  min-height: 44px;
  align-items: center;
  width:100%;
  justify-content: space-between;
  gap:8px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 10px;
  padding: 9px 12px;
  color: #fff;
  background: rgba(255, 255, 255, .045);
  box-shadow: none;
  font-size: 14px;
  font-weight: 750;
  text-align: left;
  text-decoration: none;
  overflow: hidden;
}
.xporn-mobile-drawer__button > span:first-child { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.xporn-mobile-drawer__button--child { min-height:42px;margin-left:8px;width:calc(100% - 8px);background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.08); }
.xporn-mobile-drawer__button small {
  display:block;flex:0 0 auto;max-width:42%;margin-left:auto;padding:3px 7px;overflow:hidden;
  border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.58);
  font-size:9px;font-weight:700;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap;
}
.xporn-mobile-drawer__button:disabled { cursor:not-allowed;opacity:.72;box-shadow:none; }
.xporn-mobile-drawer__button:hover { border-color:rgba(255,72,108,.5);background:rgba(255,255,255,.075); }
.xporn-mobile-drawer__button[data-xhub-menu-state="available"],
.xporn-mobile-drawer__button[data-xhub-menu-state="authentication-required"] { border-left:3px solid #ef1748; }
.xporn-mobile-drawer__button[data-xhub-menu-state="available"]::after,
.xporn-mobile-drawer__button[data-xhub-menu-state="authentication-required"]::after { content:"›";flex:0 0 auto;margin-left:3px;color:#ff4168;font-size:22px;font-weight:500;line-height:1; }
.xporn-mobile-drawer__button[data-xhub-menu-state="coming-soon"] > span:first-child { color:rgba(255,255,255,.72); }
.xporn-mobile-drawer__badge { width:8px;height:8px;margin-left:auto;border-radius:50%;background:#fff; }
.xporn-mobile-drawer__button:focus-visible,.xporn-mobile-drawer__group-toggle:focus-visible,.xporn-mobile-drawer__close:focus-visible { outline:3px solid #fff;outline-offset:3px; }

@media (prefers-reduced-motion: reduce) {
  .xporn-mobile-drawer__backdrop,.xporn-mobile-drawer__panel,.xporn-mobile-drawer__group-toggle svg { transition:none; }
}

@media (max-width: 380px) {
  .xporn-mobile-drawer__panel { width:94vw;padding-inline:12px; }
  .xporn-mobile-drawer__button small { max-width:50%; }
}

.xporn-mobile-content-page {
  min-height: 100dvh;
  padding: 88px 16px 32px;
  color: #fff;
  background: #0b0b0b;
}

.xporn-mobile-content-page__inner {
  width: min(100%, 820px);
  margin: 0 auto;
}

.xporn-mobile-content-page__thumb {
  width: 100%;
  border-radius: 12px;
  margin-bottom: 18px;
}

.xporn-mobile-content-page__content {
  color: rgba(255, 255, 255, .84);
  font-size: 16px;
  line-height: 1.65;
}

@media (min-width: 769px) {
  .xporn-mobile-drawer {
    display: none;
  }
}
