/* ============================================================
   DESIGN TOKENS — ぬくラボ v1 (dark / erotic-neon)
   60-30-10: base=dark plum / main=warm white text / accent=hot pink
   ============================================================ */
:root {
  /* color: base (60%) */
  --c-bg:        #140a10;   /* ページ背景: 黒に微かな赤紫 */
  --c-surface:   #1e1017;   /* カード・ボックス面 */
  --c-surface-2: #291621;   /* 一段浮いた面(テーブルヘッダ等) */
  --c-line:      #3a2230;   /* 罫線 */
  /* color: main (30%) */
  --c-text:      #f3e7ee;   /* 本文 (contrast 14:1 on bg) */
  --c-text-sub:  #b39aa8;   /* 補足・メタ情報 (5.2:1) */
  /* color: accent (10%) — CTA専用 */
  --c-accent:    #ff2e7e;
  --c-accent-2:  #ff5ea0;
  --grad-accent: linear-gradient(135deg,#ff2e7e 0%,#c81f66 100%);
  --grad-hero:   linear-gradient(160deg,#2b0f1f 0%,#140a10 55%,#1a0b2e 100%);
  --glow:        0 0 24px rgba(255,46,126,.35);
  /* typography: base16 / scale 1.25 */
  --fs-s:  13px; --fs-base:16px; --fs-m:20px; --fs-l:25px; --fs-xl:31px; --fs-xxl:44px;
  --lh-body: 1.8; --lh-head: 1.35;
  --font: "Hiragino Sans","Noto Sans JP",sans-serif;
  /* spacing: 8px grid */
  --sp-1: 8px; --sp-2: 16px; --sp-3: 24px; --sp-4: 32px; --sp-6: 48px; --sp-8: 64px;
  /* radius / shadow */
  --r-s: 6px; --r-m: 12px; --r-l: 20px;
  --shadow: 0 4px 16px rgba(0,0,0,.45);
}

/* Base Styles (Cocoon Overrides) */
body {
  background: var(--c-bg) !important;
  color: var(--c-text) !important;
  font-family: var(--font) !important;
  font-size: var(--fs-base) !important;
  line-height: var(--lh-body) !important;
}
a {
  color: var(--c-accent-2);
  text-decoration: none;
  transition: .2s;
}
a:hover {
  color: #fff;
}
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}
img {
  max-width: 100%;
  display: block;
}

/* Header Container (Sticky 1-row layout) */
#header-container {
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
  background: rgba(13,5,9,.92) !important;
  backdrop-filter: blur(8px) !important;
  border-bottom: 1px solid var(--c-line) !important;
}
#header-container-in {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 0 var(--sp-2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 56px !important;
  gap: var(--sp-2) !important;
}

/* Header (Logo area) */
#header,
#header-in,
.logo-header {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  width: auto !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  justify-content: flex-start !important;
}
.site-name-text {
  font-weight: 800 !important;
  font-size: 22px !important;
  color: #fff !important;
  letter-spacing: .05em !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
}
.logo-header a {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
}
.site-name-text::after {
  content: ".";
  color: var(--c-accent);
  text-shadow: 0 0 10px #ff2e7e;
}

/* Global Nav (Cocoon #navi) */
#navi,
#navi .navi-in {
  background: transparent !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  text-align: right !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
}
#navi-in {
  margin: 0 !important;
}
#navi .navi-in > ul {
  display: flex !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
}
#navi .navi-in > ul > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
#navi .navi-in a {
  color: var(--c-text-sub) !important;
  padding: 6px 8px !important;
  border-radius: var(--r-s) !important;
  font-size: 13px !important;
  transition: all .2s !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
}
#navi .navi-in a:hover {
  color: #fff !important;
  background: transparent !important;
}
/* Focus on Sale link */
#navi .navi-in a[href*="/category/sale/"],
#navi .navi-in a[href*="/sale/"] {
  color: var(--c-accent) !important;
  background: transparent !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
#navi .navi-in a[href*="/category/sale/"]:hover,
#navi .navi-in a[href*="/sale/"]:hover {
  color: #fff !important;
  background: transparent !important;
  text-shadow: none !important;
}
@media (max-width: 768px) {
  #navi .navi-in a:not([href*="/sale/"]):not([href*="/category/sale/"]) {
    display: none !important;
  }
}

/* Hero Carousel */
.sc-hero {
  background: var(--grad-hero);
  position: relative;
  overflow: hidden;
  padding: var(--sp-4) 0 var(--sp-6);
}
.sc-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: 
    radial-gradient(ellipse 40% 30% at 15% 10%, rgba(168,52,255,.18), transparent),
    radial-gradient(ellipse 40% 30% at 85% 20%, rgba(255,46,126,.16), transparent);
  pointer-events: none;
}
.sc-hero .sc-hero-head-row {
  max-width: 1140px;
  margin: 0 auto var(--sp-2);
  padding: 0 var(--sp-2);
  display: flex;
  align-items: baseline;
  gap: var(--sp-2);
}
.sc-hero .sc-hero-head-row h2 {
  font-size: var(--fs-m);
  color: #fff;
  font-weight: 800;
  margin: 0;
}
.sc-hero-carousel {
  display: flex;
  gap: var(--sp-2);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: var(--sp-1) var(--sp-2) var(--sp-2);
  max-width: 1140px;
  margin: 0 auto;
  scrollbar-width: none;
}
.sc-hero-carousel::-webkit-scrollbar {
  display: none;
}
.sc-hero-card {
  flex: 0 0 240px;
  scroll-snap-align: start;
  background: var(--c-surface);
  border-radius: var(--r-m);
  overflow: hidden;
  border: 1px solid var(--c-line);
  transition: .2s;
  position: relative;
  display: block;
}
.sc-hero-card:hover {
  border-color: var(--c-accent);
  box-shadow: 0 0 32px rgba(255,46,126,.6);
  transform: translateY(-3px);
}
.sc-hero-card .sc-hero-rank {
  position: absolute;
  top: 8px;
  left: 8px;
  background: var(--grad-accent);
  color: #fff;
  font-weight: 800;
  font-size: 12px;
  padding: 2px 10px;
  border-radius: 999px;
  box-shadow: var(--glow);
}
.sc-hero-card .sc-hero-th {
  aspect-ratio: 16/10;
  background: linear-gradient(135deg, #43172e, #1a0b2e);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-text-sub);
  font-size: var(--fs-s);
  position: relative;
}
.sc-hero-card .sc-hero-th img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sc-hero-hover-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
}
.sc-hero-card:hover .sc-hero-hover-img {
  opacity: 1;
}
.sc-hero-card .sc-hero-tt {
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 51px;
  color: var(--c-text);
}
.sc-hero-flow-chips {
  max-width: 1140px;
  margin: var(--sp-2) auto 0;
  padding: 0 var(--sp-2);
  display: flex;
  gap: var(--sp-1);
  flex-wrap: wrap;
}
.sc-hero-flow-chips a {
  border: 1px solid var(--c-line);
  border-radius: 999px;
  padding: 8px 20px;
  font-size: var(--fs-s);
  color: var(--c-text-sub);
}
.sc-hero-flow-chips a:hover {
  border-color: var(--c-accent);
  color: #fff;
  box-shadow: var(--glow);
}
.sc-hero-flow-chips a.sc-hero-sale {
  border-color: var(--c-accent);
  color: #fff;
  background: rgba(255,46,126,.12);
}

/* Article Cards (Cocoon .entry-card-wrap) */
.list .entry-card-wrap:not(.clear),
.list .related-entry-card-wrap:not(.clear) {
  background: var(--c-surface) !important;
  border-radius: var(--r-m) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow) !important;
  transition: .2s !important;
  border: 1px solid transparent !important;
  margin-bottom: var(--sp-2) !important;
  display: flex !important;
  flex-direction: column !important;
}
.list .entry-card-wrap.clear,
.list .related-entry-card-wrap.clear {
  display: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.list .entry-card-wrap:not(.clear):hover,
.list .related-entry-card-wrap:not(.clear):hover {
  transform: translateY(-4px) !important;
  border-color: rgba(255,46,126,.4) !important;
}
.list .entry-card-wrap .entry-card-thumb,
.list .related-entry-card-wrap .related-entry-card-thumb,
.list .related-entry-card-wrap .entry-card-thumb {
  aspect-ratio: 16/10 !important;
  background: linear-gradient(135deg, #43172e, #1a0b2e) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--c-text-sub) !important;
  position: relative !important;
}
.list .entry-card-wrap .entry-card-content,
.list .related-entry-card-wrap .related-entry-card-content,
.list .related-entry-card-wrap .entry-card-content {
  padding: var(--sp-2) !important;
}
.list .entry-card-wrap h2,
.list .related-entry-card-wrap h2,
.list .related-entry-card-wrap h3 {
  font-size: var(--fs-base) !important;
  line-height: 1.5 !important;
  color: var(--c-text) !important;
}
.list .entry-card-wrap .entry-card-snippet,
.list .related-entry-card-wrap .related-entry-card-snippet,
.list .related-entry-card-wrap .entry-card-snippet {
  color: var(--c-text-sub) !important;
  font-size: var(--fs-s) !important;
}

/* In-Article Headings (Cocoon .entry-content h2) */
.entry-content h2 {
  font-size: var(--fs-l) !important;
  line-height: var(--lh-head) !important;
  margin: var(--sp-4) 0 var(--sp-2) !important;
  padding: 10px 16px !important;
  background: var(--c-surface-2) !important;
  border-left: 4px solid var(--c-accent) !important;
  border-radius: 0 var(--r-s) var(--r-s) 0 !important;
  color: #fff !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
}

/* Tables (Cocoon .entry-content table) */
.entry-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: var(--sp-2) 0 !important;
  font-size: var(--fs-s) !important;
}
.entry-content th {
  background: var(--c-surface-2) !important;
  width: 30% !important;
  text-align: left !important;
  color: var(--c-text) !important;
}
.entry-content th, .entry-content td {
  padding: 12px 16px !important;
  border: 1px solid var(--c-line) !important;
  color: var(--c-text) !important;
}

/* DMM Shortcode Overrides */
.sc-dmm-media-container {
  background: var(--c-surface) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: var(--r-m) !important;
  margin: var(--sp-3) 0 !important;
  padding: var(--sp-2) !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--sp-2) !important;
}
.sc-dmm-movie {
  border-radius: var(--r-s) !important;
  overflow: hidden !important;
}
.sc-sample-gallery {
  display: flex !important;
  gap: var(--sp-1) !important;
  overflow-x: auto !important;
  scroll-snap-type: x proximity !important;
  padding: 0 0 var(--sp-1) 0 !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(255,46,126,.4) transparent !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}
.sc-sample-gallery::-webkit-scrollbar {
  display: block !important;
  height: 6px !important;
}
.sc-sample-gallery::-webkit-scrollbar-track {
  background: transparent !important;
}
.sc-sample-gallery::-webkit-scrollbar-thumb {
  background: rgba(255,46,126,.4) !important;
  border-radius: 3px !important;
}
.sc-sample-gallery::-webkit-scrollbar-thumb:hover {
  background: rgba(255,46,126,.8) !important;
}
.sc-sample-gallery-item {
  flex: 0 0 85% !important;
  scroll-snap-align: start !important;
}
.sc-sample-gallery-item img {
  width: 100% !important;
  height: auto !important;
  border-radius: var(--r-s) !important;
  object-fit: cover !important;
  aspect-ratio: 16/9 !important;
  cursor: zoom-in !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}
@media (min-width: 600px) {
  .sc-sample-gallery-item {
    flex: 0 0 45% !important;
  }
}
@media (min-width: 900px) {
  .sc-sample-gallery-item {
    flex: 0 0 30% !important;
  }
}

.sc-dmm-link-box {
  background: var(--c-surface) !important;
  border: 1px solid rgba(255,46,126,.35) !important;
  border-radius: var(--r-m) !important;
  padding: var(--sp-3) !important;
  text-align: center !important;
  margin: var(--sp-3) 0 !important;
  box-shadow: var(--shadow) !important;
}
.sc-dmm-link-box h4 {
  font-size: var(--fs-base) !important;
  margin-bottom: var(--sp-1) !important;
  line-height: 1.5 !important;
  color: var(--c-text) !important;
}
.sc-dmm-link-box p {
  color: var(--c-accent-2) !important;
  font-weight: 700 !important;
  margin-bottom: var(--sp-2) !important;
}
.sc-dmm-link-box p span {
  color: var(--c-text-sub) !important;
  font-weight: 400 !important;
}
.sc-dmm-link-box a {
  display: inline-block !important;
  background: var(--grad-accent) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: var(--fs-m) !important;
  padding: 16px 48px !important;
  border-radius: 999px !important;
  box-shadow: var(--glow) !important;
  transition: .2s !important;
}
.sc-dmm-link-box a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 0 36px rgba(255,46,126,.55) !important;
}

/* Sale Items */
.sc-dmm-sale-wrapper {
  margin: var(--sp-3) 0 !important;
}
.sc-dmm-sale-item {
  background: #fff !important;
  color: #222 !important;
  border-radius: var(--r-m) !important;
  overflow: hidden !important;
  position: relative !important;
  box-shadow: var(--shadow) !important;
  border: none !important;
}
.sc-dmm-sale-item > div:first-child { /* badge */
  width: 44px !important;
  height: 44px !important;
  line-height: 44px !important;
  top: -6px !important;
  left: -6px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.4) !important;
}
/* Colors for top 3 sale items badge - already done via PHP but we keep box-shadow */
.sc-dmm-sale-item .sc-dmm-image {
  aspect-ratio: 3/4 !important;
  background: linear-gradient(160deg,#efd7e2,#cbb3c4) !important;
}
.sc-dmm-sale-item h4 {
  color: #222 !important;
}
.sc-dmm-sale-item p {
  color: #c8195f !important;
}
.sc-dmm-sale-item a {
  background: var(--grad-accent) !important;
  border-radius: var(--r-s) !important;
}

/* Sidebar Widgets (Cocoon .widget) */
#sidebar .widget {
  background: var(--c-surface) !important;
  border-radius: var(--r-m) !important;
  padding: var(--sp-2) !important;
  margin-bottom: var(--sp-3) !important;
  border: 1px solid var(--c-line) !important;
}
#sidebar .widget h3 {
  font-size: var(--fs-base) !important;
  margin-bottom: var(--sp-2) !important;
  padding-bottom: var(--sp-1) !important;
  border-bottom: 2px solid var(--c-accent) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--c-text) !important;
  background: none !important;
}
#sidebar .widget h3::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-accent);
  box-shadow: var(--glow);
  animation: pulse 1.6s infinite;
}
@keyframes pulse { 50% { opacity: .4; } }

/* Footer */
#footer {
  background: #0d0509 !important;
  padding: var(--sp-6) 0 !important;
  margin-top: var(--sp-8) !important;
  border-top: 1px solid var(--c-line) !important;
  color: var(--c-text-sub) !important;
}
#footer a {
  color: var(--c-text-sub) !important;
}
#footer a:hover {
  color: #fff !important;
}
#footer .footer-bottom-logo {
  display: none !important;
}
.footer-bottom {
  display: block !important;
  width: 100% !important;
}
.footer-bottom-content {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  text-align: left !important;
  float: none !important;
}
#navi-footer {
  text-align: left !important;
  display: block !important;
  width: auto !important;
  flex: 1 1 auto !important;
  float: none !important;
}
.credit {
  width: auto !important;
  margin: 0 !important;
  text-align: right !important;
  flex: 0 0 auto !important;
}
#navi-footer .menu-footer {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
}
#navi-footer .menu-footer li {
  list-style: none !important;
  display: inline-block !important;
}

/* Lightbox */
.sc-lightbox-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0,0,0,0.85) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 99999 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease !important;
}
.sc-lightbox-overlay.sc-active {
  opacity: 1 !important;
  pointer-events: auto !important;
}
.sc-lightbox-image {
  max-width: 90% !important;
  max-height: 90vh !important;
  object-fit: contain !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5) !important;
}

/* ============================================================
   v1.13.0 REVENUE ENHANCEMENT STYLES
   ============================================================ */

/* Sale Badge (%OFF) */
.sc-sale-badge {
  display: inline-block !important;
  background: var(--c-accent) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  margin-left: 6px !important;
  box-shadow: var(--glow) !important;
  vertical-align: middle !important;
}

.sc-dmm-media-header {
  padding: 10px 16px !important;
  background: var(--c-surface-2) !important;
  border-bottom: 1px solid var(--c-line) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 14px !important;
}
.sc-dmm-media-price {
  font-weight: 700 !important;
  color: var(--c-text) !important;
}
.sc-dmm-media-date {
  font-size: 12px !important;
  color: var(--c-text-sub) !important;
}

/* Sale Strip Widget */
.sc-sale-strip {
  background: var(--c-surface) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: var(--r-m) !important;
  padding: var(--sp-3) !important;
  margin-bottom: var(--sp-4) !important;
  box-shadow: var(--shadow) !important;
}
.sc-sale-strip-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  margin-bottom: var(--sp-2) !important;
  border-bottom: 2px solid var(--c-accent) !important;
  padding-bottom: var(--sp-1) !important;
}
.sc-sale-strip-title {
  font-size: var(--fs-m) !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 !important;
}
.sc-sale-strip-date {
  font-size: 11px !important;
  color: var(--c-text-sub) !important;
}
.sc-sale-strip-grid {
  display: flex !important;
  gap: var(--sp-2) !important;
  overflow-x: auto !important;
  scroll-snap-type: x proximity !important;
  margin-bottom: var(--sp-2) !important;
  padding: var(--sp-1) 0 !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none;
}
.sc-sale-strip-grid::-webkit-scrollbar {
  display: none !important;
}
.sc-sale-strip-item {
  flex: 0 0 180px !important;
  scroll-snap-align: start !important;
  background: var(--c-surface) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: var(--r-m) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: .2s !important;
}
@media (min-width: 600px) {
  .sc-sale-strip-item {
    flex: 0 0 220px !important;
  }
}
.sc-sale-strip-item:hover {
  border-color: var(--c-accent) !important;
  box-shadow: 0 0 32px rgba(255,46,126,.6) !important;
  transform: translateY(-3px) !important;
}
.sc-sale-strip-img-link {
  position: relative !important;
  display: block !important;
  aspect-ratio: 3/4 !important;
  background: transparent !important;
  overflow: hidden !important;
}
.sc-sale-strip-img-link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: right center !important;
}
.sc-sale-strip-badge-wrap {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  z-index: 2 !important;
}
.sc-sale-strip-body {
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  justify-content: space-between !important;
}
.sc-sale-strip-item-title {
  padding: 10px 12px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--c-text) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 51px !important;
  margin-bottom: 0 !important;
  text-decoration: none !important;
}
.sc-sale-strip-item-title:hover {
  color: #fff !important;
}
.sc-sale-strip-price {
  padding: 0 12px 10px 12px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--c-accent-2) !important;
}
.sc-sale-strip-footer {
  text-align: right !important;
  margin-top: var(--sp-1) !important;
}
.sc-sale-strip-more {
  display: inline-block !important;
  background: var(--grad-accent) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 6px 16px !important;
  border-radius: 999px !important;
  box-shadow: var(--glow) !important;
  transition: .2s !important;
  text-decoration: none !important;
}
.sc-sale-strip-more:hover {
  transform: translateX(2px) !important;
  color: #fff !important;
}

/* Feature D: Actress FANZA link & VR Guide Box */
.sc-actress-fanza-box {
  margin: var(--sp-4) 0 var(--sp-3) !important;
  text-align: center !important;
}
.sc-actress-fanza-link {
  display: inline-block !important;
  background: var(--grad-accent) !important;
  color: #fff !important;
  font-size: var(--fs-m) !important;
  font-weight: 800 !important;
  padding: 16px 40px !important;
  border-radius: 999px !important;
  box-shadow: var(--glow) !important;
  transition: .2s !important;
  text-decoration: none !important;
}
.sc-actress-fanza-link:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 0 36px rgba(255,46,126,.6) !important;
  color: #fff !important;
}

.sc-vr-guide-box {
  background: var(--c-surface) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: var(--r-m) !important;
  padding: var(--sp-3) !important;
  margin: var(--sp-4) 0 var(--sp-3) !important;
  box-shadow: var(--shadow) !important;
}
.sc-vr-guide-title {
  font-size: var(--fs-l) !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 0 var(--sp-1) !important;
  padding-bottom: var(--sp-1) !important;
  border-bottom: 2px solid var(--c-accent) !important;
}
.sc-vr-guide-desc {
  font-size: var(--fs-s) !important;
  color: var(--c-text-sub) !important;
  margin-bottom: var(--sp-2) !important;
}
.sc-vr-guide-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 var(--sp-3) 0 !important;
}
.sc-vr-guide-list li {
  margin-bottom: 8px !important;
  padding-left: 16px !important;
  position: relative !important;
}
.sc-vr-guide-list li::before {
  content: "▶" !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--c-accent) !important;
  font-size: 10px !important;
}
.sc-vr-guide-list a {
  color: var(--c-text-sub) !important;
  font-size: var(--fs-base) !important;
  transition: .2s !important;
  text-decoration: none !important;
}
.sc-vr-guide-list a:hover {
  color: #fff !important;
}
.sc-vr-guide-more-wrap {
  text-align: right !important;
}
.sc-vr-guide-more {
  display: inline-block !important;
  background: var(--c-surface-2) !important;
  border: 1px solid var(--c-accent) !important;
  color: #fff !important;
  font-size: var(--fs-s) !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  border-radius: 999px !important;
  transition: .2s !important;
  text-decoration: none !important;
}
.sc-vr-guide-more:hover {
  background: var(--c-accent) !important;
  box-shadow: var(--glow) !important;
  color: #fff !important;
}

/* Carousel Arrows & Wrappers */
.sc-carousel-wrapper {
  position: relative !important;
}

.sc-carousel-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(30, 16, 23, 0.85) !important;
  border: 1px solid var(--c-accent) !important;
  color: var(--c-text) !important;
  font-size: 20px !important;
  line-height: 34px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
  user-select: none !important;
}

.sc-carousel-arrow:hover {
  background: var(--c-accent) !important;
  color: #fff !important;
  box-shadow: var(--glow) !important;
}

.sc-carousel-arrow.sc-disabled {
  opacity: 0.3 !important;
  cursor: default !important;
}

.sc-carousel-prev {
  left: 8px !important;
}

.sc-carousel-next {
  right: 8px !important;
}

@media (max-width: 768px) {
  .sc-carousel-arrow {
    width: 28px !important;
    height: 28px !important;
    font-size: 16px !important;
    line-height: 26px !important;
  }
  .sc-carousel-prev {
    left: 4px !important;
  }
  .sc-carousel-next {
    right: 4px !important;
  }
}

/* Mid-article DMM Package Box */
.sc-dmm-mid-box {
  background: var(--c-surface) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: var(--r-m) !important;
  padding: var(--sp-3) !important;
  margin: var(--sp-4) 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--sp-3) !important;
  box-shadow: var(--shadow) !important;
}
@media (min-width: 600px) {
  .sc-dmm-mid-box {
    flex-direction: row !important;
    align-items: center !important;
  }
}
.sc-dmm-mid-img-wrap {
  flex: 0 0 160px !important;
  max-width: 200px !important;
  border-radius: var(--r-s) !important;
  overflow: hidden !important;
}
.sc-dmm-mid-img-wrap img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
.sc-dmm-mid-info {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.sc-dmm-mid-title {
  font-size: var(--fs-m) !important;
  font-weight: 800 !important;
  margin: 0 !important;
  color: #fff !important;
  line-height: 1.4 !important;
}
.sc-dmm-mid-title a {
  color: #fff !important;
  text-decoration: none !important;
}
.sc-dmm-mid-title a:hover {
  color: var(--c-accent) !important;
}
.sc-dmm-mid-price {
  font-size: var(--fs-s) !important;
  font-weight: 700 !important;
  color: var(--c-accent-2) !important;
  margin: 0 !important;
}
.sc-dmm-mid-btn {
  display: inline-block !important;
  background: var(--grad-accent) !important;
  color: #fff !important;
  font-size: var(--fs-s) !important;
  font-weight: 800 !important;
  padding: 10px 24px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  box-shadow: var(--glow) !important;
  align-self: flex-start !important;
  transition: .2s !important;
}
.sc-dmm-mid-btn:hover {
  transform: translateY(-2px) !important;
  color: #fff !important;
}

/* ============================================================
   v1.14.1 ADDITIONS: RANKING RECOLORING, FOOTER, GOODS
   ============================================================ */

/* 1. Ranking recoloring & layout (dark x neon) */
.sc-dmm-ranking-wrapper {
  margin: var(--sp-3) 0 !important;
}
.sc-dmm-ranking-meta {
  font-size: var(--fs-s) !important;
  color: var(--c-text-sub) !important;
  margin-bottom: var(--sp-1) !important;
  text-align: right !important;
}
.sc-dmm-ranking-list {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: var(--sp-2) !important;
}
@media (min-width: 600px) {
  .sc-dmm-ranking-list { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (min-width: 900px) {
  .sc-dmm-ranking-list { grid-template-columns: repeat(4, 1fr) !important; }
}
.sc-dmm-ranking-item {
  position: relative !important;
  background: var(--c-surface, #1e1017) !important;
  border: 1px solid var(--c-line, #3a2230) !important;
  border-radius: var(--r-m, 12px) !important;
  padding: var(--sp-2, 16px) !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: var(--shadow) !important;
  transition: transform .2s, box-shadow .2s, border-color .2s !important;
}
.sc-dmm-ranking-item:hover {
  transform: translateY(-3px) !important;
  border-color: var(--c-accent, #ff2e7e) !important;
  box-shadow: var(--glow) !important;
}
.sc-dmm-ranking-badge {
  position: absolute !important;
  top: -8px !important;
  left: -8px !important;
  width: 36px !important;
  height: 36px !important;
  line-height: 36px !important;
  text-align: center !important;
  border-radius: 50% !important;
  font-weight: bold !important;
  font-size: var(--fs-s) !important;
  z-index: 2 !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.5) !important;
}
.sc-dmm-ranking-badge-1 { background: linear-gradient(135deg, #ffd700, #b8860b) !important; color: #000 !important; }
.sc-dmm-ranking-badge-2 { background: linear-gradient(135deg, #e0e0e0, #8a8a8a) !important; color: #000 !important; }
.sc-dmm-ranking-badge-3 { background: linear-gradient(135deg, #cd7f32, #8b4513) !important; color: #fff !important; }
.sc-dmm-ranking-badge-other { background: var(--c-surface-2, #291621) !important; border: 1px solid var(--c-line, #3a2230) !important; color: var(--c-text-sub, #b39aa8) !important; }

.sc-dmm-ranking-img-wrap {
  aspect-ratio: 3/4 !important;
  background: #000 !important;
  border-radius: var(--r-s, 6px) !important;
  overflow: hidden !important;
  margin-bottom: var(--sp-1, 8px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.sc-dmm-ranking-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.sc-dmm-ranking-title {
  margin: 0 0 var(--sp-1, 8px) !important;
  font-size: 14px !important;
  color: var(--c-text, #f3e7ee) !important;
  line-height: 1.4 !important;
  flex-grow: 1 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.sc-dmm-ranking-price {
  margin: 0 0 var(--sp-1, 8px) !important;
  font-weight: bold !important;
  color: var(--c-accent-2, #ff5ea0) !important;
  font-size: 14px !important;
  text-align: center !important;
}
.sc-dmm-ranking-btn {
  display: block !important;
  text-align: center !important;
  background: var(--grad-accent) !important;
  color: #fff !important;
  padding: 8px 12px !important;
  border-radius: var(--r-s, 6px) !important;
  text-decoration: none !important;
  font-weight: bold !important;
  font-size: 13px !important;
  transition: .2s !important;
}
.sc-dmm-ranking-btn:hover {
  box-shadow: var(--glow) !important;
  color: #fff !important;
}

/* 2. Footer Menu Styling (Task F) */
.menu-footer li:first-child {
  border-left: none !important;
}
.menu-footer li:last-child {
  border-right: none !important;
}
.menu-footer li a {
  padding: 0 16px !important;
}

/* 3. Goods Card & Gallery (Task G) */
.sc-dmm-goods-container {
  margin: var(--sp-3) 0 !important;
}
.sc-dmm-goods-card {
  display: flex !important;
  gap: 16px !important;
  align-items: center !important;
  background: var(--c-surface, #1e1017) !important;
  border: 1px solid var(--c-line, #3a2230) !important;
  border-radius: var(--r-m, 12px) !important;
  padding: 16px !important;
}
@media (max-width: 600px) {
  .sc-dmm-goods-card {
    flex-direction: column !important;
    align-items: stretch !important;
  }
}
.sc-dmm-goods-img {
  width: 130px !important;
  flex-shrink: 0 !important;
  aspect-ratio: 1/1 !important;
  background: #000 !important;
  border-radius: var(--r-s, 6px) !important;
  overflow: hidden !important;
}
.sc-dmm-goods-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
.sc-dmm-goods-info {
  flex: 1 !important;
}
.sc-dmm-goods-info h4 {
  margin: 0 0 8px !important;
  font-size: 16px !important;
  color: var(--c-text, #f3e7ee) !important;
  line-height: 1.4 !important;
}
.sc-dmm-goods-price {
  margin: 0 0 12px !important;
  font-weight: bold !important;
  color: var(--c-accent-2, #ff5ea0) !important;
  font-size: 15px !important;
}
.sc-dmm-goods-btn {
  display: inline-block !important;
  background: var(--grad-accent) !important;
  color: #fff !important;
  padding: 10px 24px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  font-weight: bold !important;
  font-size: 14px !important;
  box-shadow: var(--glow) !important;
  transition: .2s !important;
}
.sc-dmm-goods-btn:hover {
  transform: translateY(-2px) !important;
  color: #fff !important;
}

