/*
  Theme Override CSS - Full Navy Design
  ===============================================
  ネイビー×白のフルダークモダンデザイン
  更新日: 2026-02-08 v37 - 全面ネイビー化（白背景完全廃止）

  ★★★ デザインルール ★★★
  - 白い背景は使わない。全てネイビー背景
  - テキストは白。アクセントはシアン(#4cc9f0)
  - 枠線は白ライン (rgba(255,255,255,0.15))
  - ブロック内も白背景禁止
  - ネオン/グロー/shimmer/rainbow効果は一切使用しない
*/

/* =====================================================
   CSS Variables
   ===================================================== */
:root {
    --rb-navy-dark: #0d1b2a;
    --rb-navy: #1b263b;
    --rb-navy-light: #273549;
    --rb-white: #ffffff;
    --rb-text: #ffffff;
    --rb-text-muted: rgba(255, 255, 255, 0.6);
    --rb-border: rgba(255, 255, 255, 0.1);
    --rb-accent-cyan: #4cc9f0;
    /* ネオン変数を安全な値に上書き */
    --cyber-blue: #4cc9f0;
    --neon-blue: #4cc9f0;
    --deep-purple: #1b263b;
    --neon-purple: #273549;
    --gold: #f0c040;
    --gold-dark: #d4a030;
    --space-black: #0d1b2a;
    --grid-color: transparent;
}

/* =====================================================
   Base - Body & Containers
   ===================================================== */
html, body, body.home, body.page, body.single {
    background: linear-gradient(135deg, var(--rb-navy-dark) 0%, var(--rb-navy) 50%, var(--rb-navy-dark) 100%) !important;
    background-attachment: fixed !important;
    color: var(--rb-white) !important;
}

#page, .site, .ast-separate-container, .ast-plain-container,
.site-content, #content, .ast-container, main, article,
#primary, .content-area, .ast-row {
    background: transparent !important;
}

/* 固定ヘッダー分のマージン確保 */
main {
    margin-top: 90px !important;
}

.space-container, #space-canvas, .grid-lines, .grid-bg {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* =====================================================
   Header
   ===================================================== */
#masthead, .header, .ast-primary-header-bar, .main-header-bar, .site-header {
    background: var(--rb-navy-dark) !important;
    border-bottom: 1px solid var(--rb-border) !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.3) !important;
    backdrop-filter: none !important;
}

.header::before,
.header::after {
    display: none !important;
    content: none !important;
    animation: none !important;
}

#masthead *, .header *, .header-content * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

.header-tab {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 24px !important;
    box-shadow: none !important;
}

.header-tab:hover {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    box-shadow: none !important;
}

/* ヘッダー ポイントアイコン → ガチャブロック配色に統一 */
html body .point-icon::before,
.point-icon::before {
    background: var(--rb-accent-cyan) !important;
    box-shadow: none !important;
}

html body .point-icon::after,
.point-icon::after {
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
}

/* =====================================================
   Dropdown Menu
   ===================================================== */
html body .menu-dropdown,
html body #dropdownMenu,
html body #sp-menu-dropdown,
html body div.menu-dropdown,
.point-tooltip,
.menu-dropdown,
#dropdownMenu,
#sp-menu-dropdown,
div.menu-dropdown {
    background: var(--rb-navy) !important;
    background-image: none !important;
    border: 1px solid var(--rb-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}

html body .menu-dropdown *,
html body #sp-menu-dropdown *,
.point-tooltip *,
.menu-dropdown *,
#sp-menu-dropdown * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    background: transparent !important;
    background-image: none !important;
    text-shadow: none !important;
    filter: none !important;
}

html body .cyber-row,
html body .menu-dropdown .cyber-row,
.point-tooltip .cyber-row,
.menu-dropdown .cyber-row,
.cyber-row {
    background: transparent !important;
    box-shadow: none !important;
}

html body .cyber-row a,
.cyber-row a {
    padding: 16px 20px !important;
    border-bottom: 1px solid var(--rb-border) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body .cyber-row:hover,
html body .cyber-row a:hover,
html body .menu-dropdown .cyber-row:hover,
.cyber-row:hover,
.cyber-row a:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
    filter: none !important;
}

html body .cyber-row:hover a,
.cyber-row:hover a {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
    text-shadow: none !important;
    filter: none !important;
}

.rank-card-img {
    max-width: 260px !important;
    width: 260px !important;
}

/* ★★★ ランクカード ★★★ */
html body .elscuent-card,
html body .rank-card,
html body .rank-card-container,
html body .user-rank-card,
html body .member-rank,
html body .um-profile-photo,
html body .um-cover,
html body .um-header,
html body .mycred-rank-card,
html body .mycred-user-rank,
html body [class*="rank-card"],
html body [class*="user-rank"],
html body [class*="member-card"],
.elscuent-card,
.rank-card,
.rank-card-container,
.user-rank-card,
.member-rank,
.mycred-rank-card,
.mycred-user-rank,
[class*="rank-card"],
[class*="user-rank"] {
    background: #0d1b2a !important;
    background-color: #0d1b2a !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
}

html body .elscuent-card *,
html body .rank-card *,
html body .rank-card-container *,
html body .user-rank-card *,
html body .member-rank *,
html body .mycred-rank-card *,
html body .mycred-user-rank *,
html body [class*="rank-card"] *,
html body [class*="user-rank"] *,
.elscuent-card *,
.rank-card *,
.rank-card-container *,
.user-rank-card *,
.member-rank *,
.mycred-rank-card *,
[class*="rank-card"] *,
[class*="user-rank"] * {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html body .elscuent-card img,
html body .rank-card img,
html body [class*="rank-card"] img {
    background: transparent !important;
}

/* プログレスバー */
html body [class*="rank"] .progress,
html body [class*="rank"] .gauge,
html body [class*="rank"] [class*="progress"],
html body [class*="rank"] [class*="gauge"],
.rank-card .progress,
.rank-card .gauge,
.mycred-progress {
    background: rgba(255, 255, 255, 0.15) !important;
    height: 8px !important;
    border-radius: 4px !important;
    overflow: visible !important;
    display: block !important;
    width: 100% !important;
    min-height: 8px !important;
}

html body [class*="rank"] .progress-bar,
html body [class*="rank"] .gauge-fill,
html body [class*="rank"] [class*="fill"],
.rank-card .progress-bar,
.rank-card .gauge-fill,
.mycred-progress-bar {
    background: #4cc9f0 !important;
    height: 100% !important;
    min-height: 8px !important;
    border-radius: 4px !important;
    display: block !important;
    box-shadow: none !important;
    animation: none !important;
}

/* フォームラベル */
html body .um-field label,
html body .um-field .um-field-label,
html body .um-row label,
html body label[for],
html body .woocommerce-form label {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* ★★★ パスワード表示ボタン ★★★ */
html body .password-input,
html body span.password-input,
.password-input {
    position: relative !important;
    display: block !important;
}

html body .show-password-input,
html body button.show-password-input,
html body .password-input button,
.show-password-input,
button.show-password-input {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    border: none !important;
    padding: 6px !important;
    width: 32px !important;
    height: 32px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.5) !important;
    cursor: pointer !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

html body .show-password-input:hover,
button.show-password-input:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 4px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.8) !important;
}

html body .password-input input[type="password"],
html body .password-input input[type="text"] {
    padding-right: 50px !important;
}

/* =====================================================
   Genre Tabs - ミニマルライン
   ===================================================== */
html body .genre-tabs,
.genre-tabs {
    background: transparent !important;
    background-image: none !important;
    backdrop-filter: none !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

html body .genre-tabs::before,
html body .genre-tabs::after,
.genre-tabs::before,
.genre-tabs::after {
    display: none !important;
    content: none !important;
    animation: none !important;
}

html body .tabs-container,
.tabs-container {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 16px !important;
    gap: 0 !important;
    justify-content: center !important;
}

html body .tab,
.tab {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    color: rgba(255, 255, 255, 0.5) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.5) !important;
    padding: 12px 20px !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transform: none !important;
    white-space: nowrap !important;
}

html body .tab::before,
html body .tab::after {
    display: none !important;
    content: none !important;
}

html body .tab:hover,
.tab:hover {
    color: rgba(255, 255, 255, 0.8) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.8) !important;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transform: none !important;
}

html body .tab.active,
.tab.active {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    border-bottom: 2px solid var(--rb-accent-cyan) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

/* =====================================================
   GACHA BLOCK
   ===================================================== */
html body .gacha-block,
.gacha-block {
    position: relative !important;
    background: var(--rb-navy) !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
    overflow: hidden !important;
}

html body .gacha-block:hover,
.gacha-block:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 14px 44px rgba(0, 0, 0, 0.5) !important;
    border-color: rgba(76, 201, 240, 0.25) !important;
}

html body .gacha-block::before,
.gacha-block::before {
    display: none !important;
}

.gacha-block > div:first-child {
    background: var(--rb-navy) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

html body .gacha-header,
.gacha-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 14px 16px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html body .gacha-price,
.gacha-price {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 16px !important;
    border-radius: 20px !important;
    background: rgba(76, 201, 240, 0.12) !important;
    background-image: none !important;
    border: 1px solid rgba(76, 201, 240, 0.3) !important;
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

.gacha-price::before {
    display: none !important;
    content: none !important;
}

html body .stock-text,
.stock-text {
    color: rgba(255, 255, 255, 0.8) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.8) !important;
    font-weight: 600 !important;
    text-shadow: none !important;
}

html body .gauge-bar,
.gauge-bar {
    background: rgba(255, 255, 255, 0.08) !important;
    border-radius: 4px !important;
    height: 6px !important;
    overflow: hidden !important;
    border: none !important;
}

html body .gauge-fill,
.gauge-fill {
    background: var(--rb-accent-cyan) !important;
    border-radius: 4px !important;
    height: 100% !important;
    box-shadow: none !important;
    animation: none !important;
}

/* GACHA IMAGE */
html body .gacha-image,
.gacha-image {
    width: 100% !important;
    height: auto !important;
    background: transparent !important;
    border: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body .gacha-image img,
.gacha-image img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
}

/* BUTTON CONTAINER */
html body .button-container,
.button-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 16px !important;
    background: var(--rb-navy) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

html body .button-row-top,
.button-row-top {
    display: flex !important;
    gap: 10px !important;
    background: transparent !important;
}

/* GACHA BUTTONS */
html body .gacha-button-top,
html body .button-container button,
html body button[data-count] {
    font-family: -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    flex: 1 !important;
    text-align: center !important;
    text-shadow: none !important;
    animation: none !important;
}

html body button[data-count="1"],
#gacha1 {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    box-shadow: none !important;
}

html body button[data-count="1"]:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    transform: translateY(-1px) !important;
}

html body button[data-count="10"],
#gacha10,
.button-10x {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    box-shadow: none !important;
    animation: none !important;
}

html body button[data-count="10"]:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    transform: translateY(-1px) !important;
}

html body button[data-count="100"],
#gacha100,
.button-100x {
    background: var(--rb-accent-cyan) !important;
    border: none !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    box-shadow: 0 2px 12px rgba(76, 201, 240, 0.25) !important;
    font-weight: 700 !important;
}

html body button[data-count="100"]:hover {
    background: #5dd3f7 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 18px rgba(76, 201, 240, 0.35) !important;
}

html body button[data-count="100"]::after,
.button-100x::after {
    display: none !important;
    content: none !important;
}

.sold-out button,
.coming-soon button,
.not-available button {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.25) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.25) !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

/* GACHA カード詳細 */
html body .card-details,
html body .gacha-details,
.card-details,
.gacha-details {
    background: var(--rb-navy) !important;
    color: #ffffff !important;
}

html body .card-details *,
html body .gacha-details *,
.card-details *,
.gacha-details * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* GACHA フレーム - ネオン枠完全除去 */
html body .cyber-frame,
html body .gacha-detail-image.cyber-frame,
html body .gacha-detail-image.cyber-frame::before,
html body .gacha-detail-image.cyber-frame::after,
.cyber-frame,
.gacha-detail-image.cyber-frame,
.gacha-detail-image.cyber-frame::before,
.gacha-detail-image.cyber-frame::after {
    border: none !important;
    box-shadow: none !important;
    animation: none !important;
    background: transparent !important;
    background-image: none !important;
}

html body .cyber-frame::before,
html body .cyber-frame::after {
    display: none !important;
    content: none !important;
}

.gacha-s-grid .cyber-frame,
.gacha-s-grid .gacha-detail-image.cyber-frame,
.gacha-a-grid .cyber-frame,
.gacha-a-grid .gacha-detail-image.cyber-frame,
.gacha-b-grid .cyber-frame,
.gacha-b-grid .gacha-detail-image.cyber-frame,
.gacha-c-grid .cyber-frame,
.gacha-c-grid .gacha-detail-image.cyber-frame,
.gacha-d-grid .cyber-frame,
.gacha-d-grid .gacha-detail-image.cyber-frame,
.gacha-detail-grid .cyber-frame {
    border: none !important;
    box-shadow: none !important;
    animation: none !important;
    background: transparent !important;
}

.gacha-s-grid .cyber-frame::before,
.gacha-s-grid .cyber-frame::after,
.gacha-a-grid .cyber-frame::before,
.gacha-a-grid .cyber-frame::after,
.gacha-b-grid .cyber-frame::before,
.gacha-b-grid .cyber-frame::after,
.gacha-c-grid .cyber-frame::before,
.gacha-c-grid .cyber-frame::after,
.gacha-d-grid .cyber-frame::before,
.gacha-d-grid .cyber-frame::after,
.gacha-detail-grid .cyber-frame::before,
.gacha-detail-grid .cyber-frame::after,
.gacha-s-grid .gacha-detail-image.cyber-frame::after,
.gacha-a-grid .gacha-detail-image.cyber-frame::after,
.gacha-b-grid .gacha-detail-image.cyber-frame::after,
.gacha-c-grid .gacha-detail-image.cyber-frame::after,
.gacha-d-grid .gacha-detail-image.cyber-frame::after {
    display: none !important;
    content: none !important;
    animation: none !important;
    background: none !important;
    box-shadow: none !important;
    border: none !important;
}

/* =====================================================
   Collection Page - コレクションページ ネイビーデザイン
   ===================================================== */

/* コレクション全体コンテナ - ネイビー背景 */
html body .gacha-result-form,
html body .collection-container,
html body .entry-content .gacha-result-form {
    background: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3) !important;
    padding: 24px !important;
    color: var(--rb-white) !important;
}

html body .gacha-result-form *,
html body .collection-container * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* コレクションタイトル */
html body .collection_title {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

/* コレクションフィルター - ネイビーテーマ */
html body .collection-filter {
    display: flex !important;
    overflow-x: auto !important;
    gap: 8px !important;
    justify-content: center !important;
    padding: 0 8px !important;
    margin-bottom: 20px !important;
}

html body .collection-filter .filter-link,
html body .collection-filter a {
    flex: 0 0 auto !important;
    text-align: center !important;
    padding: 10px 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 25px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}

html body .collection-filter .filter-link.active,
html body .collection-filter .filter-link:hover,
html body .collection-filter a.active,
html body .collection-filter a:hover {
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border-color: var(--rb-accent-cyan) !important;
}

/* コレクションリスト - ネイビー背景 */
html body .collection-list {
    background: transparent !important;
}

html body .collection-list li {
    background: var(--rb-navy-dark) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    transition: transform 0.3s ease, border-color 0.3s ease !important;
    overflow: hidden !important;
}

html body .collection-list li:hover {
    transform: scale(1.03) !important;
    border-color: rgba(76, 201, 240, 0.3) !important;
}

html body .collection-list li p {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    padding: 6px 8px !important;
    font-size: 13px !important;
}

html body .collection-list li img {
    border-radius: 8px 8px 0 0 !important;
    border: none !important;
}

/* コレクション内フォーム */
html body .collection-list form {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 20px !important;
}

html body .collection-list form button[type="submit"] {
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    padding: 10px 20px !important;
    border: none !important;
    cursor: pointer !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}

html body .collection-list form button[type="submit"]:hover {
    background: #5dd3f7 !important;
    transform: translateY(-1px) !important;
}

/* コレクションチェックボックス */
html body .collection-list input[type="checkbox"],
html body .gacha-result-form input[type="checkbox"] {
    accent-color: var(--rb-accent-cyan) !important;
    width: 18px !important;
    height: 18px !important;
    cursor: pointer !important;
}

/* コレクション内のcyber-frame完全除去 */
html body .collection-list .cyber-frame,
html body .collection-list .cyber-frame::before,
html body .collection-list .cyber-frame::after,
html body .gacha-result-form .cyber-frame,
html body .gacha-result-form .cyber-frame::before,
html body .gacha-result-form .cyber-frame::after,
html body .gacha-result-list .cyber-frame,
html body .gacha-result-list .cyber-frame::before,
html body .gacha-result-list .cyber-frame::after,
html body .wrapper .cyber-frame,
html body .wrapper .cyber-frame::before,
html body .wrapper .cyber-frame::after {
    border: none !important;
    box-shadow: none !important;
    animation: none !important;
    background: transparent !important;
    background-image: none !important;
}

html body .collection-list .cyber-frame::before,
html body .collection-list .cyber-frame::after,
html body .gacha-result-form .cyber-frame::before,
html body .gacha-result-form .cyber-frame::after,
html body .gacha-result-list .cyber-frame::before,
html body .gacha-result-list .cyber-frame::after,
html body .wrapper .cyber-frame::before,
html body .wrapper .cyber-frame::after {
    display: none !important;
    content: none !important;
}

/* ガチャ結果リスト */
html body .gacha-result-list {
    display: grid !important;
    background: transparent !important;
}

html body .gacha-result-list .no-border {
    border: none !important;
}

/* 下部固定アクションバー */
html body .add-submit-button {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: var(--rb-navy-dark) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    text-align: center !important;
    padding: 12px 16px !important;
    z-index: 1000 !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3) !important;
}

html body .add-submit-button button {
    margin: 0 8px !important;
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

html body .add-submit-button button:hover {
    background: #5dd3f7 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 16px rgba(76, 201, 240, 0.3) !important;
}

/* ガチャ結果のcyber-frame画像ラッパー内 */
html body .gacha_reslut_cyber_s .cyber-frame,
html body .gacha_reslut_cyber_a .cyber-frame,
html body .gacha_reslut_cyber_b .cyber-frame,
html body .gacha_reslut_cyber_c .cyber-frame,
html body .gacha_reslut_cyber_d .cyber-frame,
html body [class*="gacha_reslut_cyber"] .cyber-frame {
    border: none !important;
    box-shadow: none !important;
    animation: none !important;
    background: transparent !important;
}

html body [class*="gacha_reslut_cyber"] .cyber-frame::before,
html body [class*="gacha_reslut_cyber"] .cyber-frame::after {
    display: none !important;
    content: none !important;
}

/* =====================================================
   Banner Slider
   ===================================================== */
.vg-banner-section {
    background: var(--rb-navy-dark) !important;
    margin: 70px auto 15px auto !important;
    padding: 20px 0 !important;
}

.vg-banner-item {
    background: linear-gradient(135deg, var(--rb-accent-cyan), #a882ff) !important;
    padding: 3px !important;
    border-radius: 16px !important;
}

.vg-banner-dot { background: rgba(255, 255, 255, 0.3) !important; }
.vg-banner-dot.active { background: var(--rb-accent-cyan) !important; }

/* =====================================================
   News Section
   ===================================================== */
.news-section, #front_news { background: transparent !important; }

html body .news-title,
html body .news-section h2,
html body #front_news h2,
.news-title { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }

.news-item {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid var(--rb-border) !important;
    border-radius: 12px !important;
    padding: 18px 20px !important;
}

.news-item:hover { background: rgba(255, 255, 255, 0.08) !important; }
.news-date, .date-text { color: var(--rb-accent-cyan) !important; -webkit-text-fill-color: var(--rb-accent-cyan) !important; }
.news-item-title { color: var(--rb-white) !important; -webkit-text-fill-color: var(--rb-white) !important; }

/* =====================================================
   Modal / Popup - ネイビーデザイン
   ★★★ style.css に以下の白背景 !important ルールあり ★★★
   line 7042: body.page-template-page-retrygacha #confirmModal .modal-content (1,2,1)
   line 7173: .modal#infiConfirmModal .modal-content (1,2,0)
   line 7188: .modal .modal-content (0,2,0)
   → html body #ID.modal .modal-content (1,2,2) で全て上回る
   ===================================================== */

/* モーダルコンテンツ背景 - 超高特異度 (1,2,2) */
html body #confirmModal.modal .modal-content,
html body #infiConfirmModal.modal .modal-content {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 16px !important;
    color: var(--rb-white) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
}

/* リトライガチャページ用 - (1,3,2) で style.css (1,2,1) を上回る */
html body.page-template-page-retrygacha #confirmModal.modal .modal-content {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
    background-image: none !important;
}

/* 汎用フォールバック */
.modal-content,
.modal .modal-content,
.cyber-popup {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 16px !important;
    color: var(--rb-white) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
}

/* モーダル内テキスト白 - 高特異度 */
html body #confirmModal.modal .modal-content *,
html body #infiConfirmModal.modal .modal-content * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

.modal-content *,
.modal .modal-content *,
.cyber-popup * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

.modal-content .close { color: rgba(255, 255, 255, 0.5) !important; -webkit-text-fill-color: rgba(255, 255, 255, 0.5) !important; }

/* モーダルオーバーレイ - ID指定のみ
   ★★★ display は絶対に指定しない ★★★
   jQuery .show() が display:block をセット、.hide() が display:none をセット。
   CSS で display を上書きすると、非表示が効かずモーダルが出っぱなしになる。 */
#confirmModal.modal,
#infiConfirmModal.modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 9999 !important;
    background: rgba(0, 0, 0, 0.6) !important;
    background-color: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(4px) !important;
    overflow: auto !important;
}

/* モーダルコンテンツ - margin中央配置 */
html body #confirmModal.modal .modal-content,
html body #infiConfirmModal.modal .modal-content {
    position: relative !important;
    margin: 15vh auto !important;
    width: 80% !important;
    max-width: 400px !important;
    z-index: 10000 !important;
    padding: 30px !important;
}

.modal-button {
    border: none !important;
    box-shadow: none !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    padding: 14px 20px !important;
    text-shadow: none !important;
    cursor: pointer !important;
}

.modal-button.confirm {
    background: var(--rb-accent-cyan) !important;
    background-image: none !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border: none !important;
}

.modal-button.confirm:hover { background: #5dd3f7 !important; box-shadow: none !important; filter: none !important; }

.modal-button.cancel {
    background: transparent !important;
    background-image: none !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.modal-button.cancel:hover { background: rgba(255, 255, 255, 0.08) !important; box-shadow: none !important; filter: none !important; }
.modal-button:active { box-shadow: none !important; filter: none !important; }

/* =====================================================
   ★★★ WooCommerce アカウント - 白×ネイビー ★★★
   ===================================================== */

html body.woocommerce-account,
body.woocommerce-account {
    background: linear-gradient(135deg, #0d1b2a 0%, #1b263b 50%, #0d1b2a 100%) !important;
    background-attachment: fixed !important;
}

html body.woocommerce-account #page,
html body.woocommerce-account .site,
html body.woocommerce-account .site-content,
html body.woocommerce-account #content,
html body.woocommerce-account .ast-container,
html body.woocommerce-account #primary,
html body.woocommerce-account main,
html body.woocommerce-account article,
html body.woocommerce-account .entry-content {
    background: transparent !important;
}

html body .woocommerce,
html body.woocommerce-account .woocommerce {
    background: transparent !important;
}

/* ナビゲーション - ネイビー背景 */
html body.woocommerce-account .woocommerce-MyAccount-navigation,
html body .woocommerce-MyAccount-navigation,
nav.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-navigation {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 16px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: transparent !important;
}

.woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none !important;
}

/* ナビリンク - 白文字 */
html body.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a,
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
html body .woocommerce-MyAccount-navigation ul li a,
.woocommerce-MyAccount-navigation ul li a,
li.woocommerce-MyAccount-navigation-link a,
li.woocommerce-MyAccount-navigation-link > a {
    display: block !important;
    padding: 14px 16px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.8) !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    background: transparent !important;
    font-weight: 500 !important;
}

html body .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li a:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* アクティブリンク */
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
html body .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.is-active a,
li.woocommerce-MyAccount-navigation-link.is-active a {
    background: rgba(76, 201, 240, 0.1) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    font-weight: 600 !important;
    border-left: 3px solid var(--rb-accent-cyan) !important;
    padding-left: 13px !important;
}

/* ★ サイドバーナビ テキスト保証（ネイビー背景=白文字） ★ */
html body.page.woocommerce-account #primary .woocommerce-MyAccount-navigation,
html body.page.woocommerce-account #primary .woocommerce-MyAccount-navigation ul,
html body.page.woocommerce-account #primary .woocommerce-MyAccount-navigation ul li {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body.page.woocommerce-account #primary .woocommerce-MyAccount-navigation ul li a,
html body.page.woocommerce-account #primary nav.woocommerce-MyAccount-navigation a {
    color: rgba(255, 255, 255, 0.8) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.8) !important;
}

html body.page.woocommerce-account #primary .woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    background: rgba(255, 255, 255, 0.08) !important;
}

html body.page.woocommerce-account #primary .woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    background: rgba(76, 201, 240, 0.1) !important;
}

/* コンテンツエリア - ネイビー背景 */
html body.woocommerce-account .woocommerce-MyAccount-content,
html body .woocommerce-MyAccount-content,
.woocommerce-MyAccount-content {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 16px !important;
    padding: 30px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

/* 全テキスト 白 */
html body.woocommerce-account .woocommerce-MyAccount-content *,
html body .woocommerce-MyAccount-content *,
.woocommerce-MyAccount-content * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* リンク */
html body .woocommerce-MyAccount-content a,
.woocommerce-MyAccount-content a {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
    text-decoration: underline !important;
}

/* ボタン - ネイビー */
html body.woocommerce-account button,
html body.woocommerce-account .button,
html body.woocommerce-account input[type="submit"],
html body .woocommerce-MyAccount-content button,
html body .woocommerce-MyAccount-content .button,
html body .woocommerce button.button,
.woocommerce-MyAccount-content button,
.woocommerce-MyAccount-content .button {
    background: #0d1b2a !important;
    background-image: none !important;
    border: none !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 600 !important;
    padding: 12px 24px !important;
    cursor: pointer !important;
    text-transform: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

html body.woocommerce-account button:hover,
html body.woocommerce-account .button:hover,
html body .woocommerce-MyAccount-content button:hover,
html body .woocommerce-MyAccount-content .button:hover {
    background: #1b263b !important;
    transform: translateY(-1px) !important;
}

html body .woocommerce-MyAccount-content a.button,
.woocommerce-MyAccount-content a.button {
    background: #0d1b2a !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
    display: inline-block !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    font-size: 0.85rem !important;
}

/* 入力フィールド */
html body.woocommerce-account input[type="text"],
html body.woocommerce-account input[type="email"],
html body.woocommerce-account input[type="tel"],
html body.woocommerce-account input[type="password"],
html body.woocommerce-account input[type="number"],
html body.woocommerce-account textarea,
html body.woocommerce-account select,
.woocommerce-MyAccount-content input,
.woocommerce-MyAccount-content textarea,
.woocommerce-MyAccount-content select {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    padding: 12px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

html body.woocommerce-account input::placeholder,
html body.woocommerce-account textarea::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.4) !important;
}

html body.woocommerce-account input:focus,
html body.woocommerce-account textarea:focus,
html body.woocommerce-account select:focus {
    border-color: var(--rb-accent-cyan) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(76, 201, 240, 0.2) !important;
}

/* selectドロップダウンoption - ネイティブ描画の白背景対策 */
html body.woocommerce-account select option,
.woocommerce-MyAccount-content select option {
    background: var(--rb-navy) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* テーブル */
html body.woocommerce-account table,
.woocommerce-MyAccount-content table,
table.shop_table {
    background: transparent !important;
    border-collapse: collapse !important;
    width: 100% !important;
}

html body.woocommerce-account table thead th,
.woocommerce-MyAccount-content table thead th,
table.shop_table thead th {
    background: rgba(255, 255, 255, 0.06) !important;
    border: none !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.15) !important;
    padding: 14px 16px !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    font-weight: 700 !important;
    text-align: left !important;
    font-size: 0.9rem !important;
}

html body.woocommerce-account table td,
html body.woocommerce-account table th,
.woocommerce-MyAccount-content table td,
table.shop_table td {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 14px 16px !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body.woocommerce-account table *,
.woocommerce-MyAccount-content table * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body.woocommerce-account table a,
.woocommerce-MyAccount-content table a {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
    text-decoration: underline !important;
}

html body.woocommerce-account table tbody tr:hover {
    background: rgba(255, 255, 255, 0.04) !important;
}

.woocommerce-orders-table__cell-order-number a {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
    font-weight: 600 !important;
}

/* 注文詳細・アドレス */
html body .woocommerce-order-details,
html body .woocommerce-customer-details,
html body .woocommerce-Address,
html body .woocommerce-address-fields {
    background: var(--rb-navy-dark) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-top: 20px !important;
}

.woocommerce-Address-title h3 {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.woocommerce-Address address {
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
    font-style: normal !important;
    line-height: 1.8 !important;
}

/* フォームラベル */
html body.woocommerce-account .form-row label,
html body.woocommerce-account fieldset legend,
.woocommerce-MyAccount-content .form-row label {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    font-weight: 500 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* フィールドセット */
html body.woocommerce-account fieldset,
.woocommerce-MyAccount-content fieldset {
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    background: rgba(255, 255, 255, 0.04) !important;
}

html body.woocommerce-account fieldset legend,
.woocommerce-MyAccount-content fieldset legend {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    font-weight: 600 !important;
}

/* 通知メッセージ */
html body.woocommerce-account .woocommerce-message,
html body.woocommerce-account .woocommerce-info,
.woocommerce-message,
.woocommerce-info {
    background: rgba(76, 201, 240, 0.08) !important;
    border: 1px solid rgba(76, 201, 240, 0.2) !important;
    border-left: 3px solid var(--rb-accent-cyan) !important;
    border-radius: 8px !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    padding: 20px 24px !important;
}

html body.woocommerce-account .woocommerce-info *,
html body.woocommerce-account .woocommerce-message *,
.woocommerce-info *,
.woocommerce-message * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

.woocommerce-info .button,
.woocommerce-info a.button,
.woocommerce-message .button {
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    text-decoration: none !important;
    padding: 10px 20px !important;
    border-radius: 6px !important;
}

html body.woocommerce-account .woocommerce-error,
.woocommerce-error {
    background: rgba(239, 68, 68, 0.1) !important;
    border-color: rgba(239, 68, 68, 0.3) !important;
    border-left-color: #ef4444 !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
    display: none !important;
}

/* 支払い方法 */
.woocommerce-PaymentMethod {
    background: var(--rb-navy-dark) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    padding: 16px !important;
}

.woocommerce-PaymentMethod * { color: var(--rb-white) !important; -webkit-text-fill-color: var(--rb-white) !important; }

.wc-saved-payment-methods li {
    background: var(--rb-navy-dark) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    padding: 16px !important;
    color: var(--rb-white) !important;
}

.wc-saved-payment-methods * { color: var(--rb-white) !important; -webkit-text-fill-color: var(--rb-white) !important; }

/* ページタイトル（ネイビー背景上なので白） */
html body.woocommerce-account .entry-title,
html body.woocommerce-account .page-title {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* 白背景divの透明化 */
html body.woocommerce-account .woocommerce-MyAccount-content > div,
html body.woocommerce-account .woocommerce-MyAccount-content section,
html body.woocommerce-account .woocommerce-MyAccount-content > div > div {
    background: transparent !important;
}

/* =====================================================
   ★★★ Login/Signup - ネイビーデザイン ★★★
   ===================================================== */

/* UM Login */
html body .cyber-login-wrap .um.um-login,
html body .cyber-login-wrap .um,
.cyber-login-wrap .um.um-login,
.cyber-login-wrap .um {
    background: var(--rb-navy) !important;
    background-image: none !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3) !important;
    padding: 3em 2em 2em 2em !important;
    max-width: 420px !important;
    margin: 2em auto !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

html body .cyber-login-wrap .um::before,
.cyber-login-wrap .um::before {
    display: none !important;
    content: none !important;
}

html body .cyber-login-wrap .um *,
.cyber-login-wrap .um * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

html body .cyber-login-wrap .um-form input[type="text"],
html body .cyber-login-wrap .um-form input[type="password"],
html body .cyber-login-wrap .um-form input[type="email"],
.cyber-login-wrap .um-form input {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 12px 16px !important;
    font-size: 1rem !important;
}

html body .cyber-login-wrap .um-form input:focus,
.cyber-login-wrap .um-form input:focus {
    border-color: var(--rb-accent-cyan) !important;
    box-shadow: 0 0 0 2px rgba(76, 201, 240, 0.2) !important;
    outline: none !important;
}

html body .cyber-login-wrap .um-form .um-button,
html body .cyber-login-wrap .um a.um-button,
.cyber-login-wrap .um-form .um-button,
.cyber-login-wrap .um a.um-button {
    background: rgba(255, 255, 255, 0.06) !important;
    background-image: none !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    padding: 14px 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

html body .cyber-login-wrap .um-form .um-button:hover,
html body .cyber-login-wrap .um a.um-button:hover,
.cyber-login-wrap .um-form .um-button:hover,
.cyber-login-wrap .um a.um-button:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

html body .cyber-login-wrap .um-field-label,
.cyber-login-wrap .um-field-label {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    font-weight: 600 !important;
    text-shadow: none !important;
    font-size: 0.9rem !important;
}

html body .cyber-login-wrap .um-form .um-error,
.cyber-login-wrap .um-form .um-error {
    background: rgba(239, 68, 68, 0.1) !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
    color: #ff6b6b !important;
    -webkit-text-fill-color: #ff6b6b !important;
    box-shadow: none !important;
}

html body .cyber-login-wrap .um a,
.cyber-login-wrap .um a {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
}

/* UM Register */
html body .cyber-register-wrap .um.um-register,
html body .cyber-register-wrap .um,
.cyber-register-wrap .um.um-register,
.cyber-register-wrap .um {
    background: var(--rb-navy) !important;
    background-image: none !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3) !important;
    padding: 3em 2em 2em 2em !important;
    max-width: 520px !important;
    margin: 2em auto !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

html body .cyber-register-wrap .um::before,
.cyber-register-wrap .um::before {
    display: none !important;
    content: none !important;
}

html body .cyber-register-wrap .um *,
.cyber-register-wrap .um * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

html body .cyber-register-wrap .um-form input[type="text"],
html body .cyber-register-wrap .um-form input[type="email"],
html body .cyber-register-wrap .um-form input[type="password"],
html body .cyber-register-wrap .um-form input[type="tel"],
.cyber-register-wrap .um-form input {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 12px 16px !important;
    font-size: 1rem !important;
}

html body .cyber-register-wrap .um-form input:focus,
.cyber-register-wrap .um-form input:focus {
    border-color: var(--rb-accent-cyan) !important;
    box-shadow: 0 0 0 2px rgba(76, 201, 240, 0.2) !important;
    outline: none !important;
}

html body .cyber-register-wrap .um-form .um-button,
.cyber-register-wrap .um-form .um-button {
    background: var(--rb-accent-cyan) !important;
    background-image: none !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    padding: 14px 0 !important;
    box-shadow: none !important;
}

html body .cyber-register-wrap .um-form .um-button:hover {
    background: #5dd3f7 !important;
}

html body .cyber-register-wrap .um-field-label,
.cyber-register-wrap .um-field-label {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    font-weight: 600 !important;
    text-shadow: none !important;
}

html body .cyber-register-wrap .um-form .um-error {
    background: rgba(239, 68, 68, 0.1) !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
    color: #ff6b6b !important;
    -webkit-text-fill-color: #ff6b6b !important;
    box-shadow: none !important;
}

html body .cyber-register-wrap .um-form input[type="checkbox"],
html body .cyber-register-wrap .um-form input[type="radio"] {
    accent-color: var(--rb-accent-cyan) !important;
}

html body .cyber-register-wrap select,
.cyber-register-wrap select {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
}

/* UM Password Reset - style.css サイバーデザイン完全上書き */
html body .cyber-reset-wrap .um.um-password,
html body .cyber-reset-wrap .um,
.cyber-reset-wrap .um.um-password,
.cyber-reset-wrap .um {
    background: var(--rb-navy) !important;
    background-image: none !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3) !important;
    padding: 3em 2em 2em 2em !important;
    max-width: 430px !important;
    margin: 2em auto !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

html body .cyber-reset-wrap .um::before,
.cyber-reset-wrap .um::before {
    display: none !important;
    content: none !important;
}

html body .cyber-reset-wrap .um *,
.cyber-reset-wrap .um * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

html body .cyber-reset-wrap .um-form input[type="text"],
html body .cyber-reset-wrap .um-form input[type="email"],
html body .cyber-reset-wrap .um-form input[type="password"],
.cyber-reset-wrap .um-form input {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 12px 16px !important;
    font-size: 1rem !important;
}

html body .cyber-reset-wrap .um-form input:focus,
.cyber-reset-wrap .um-form input:focus {
    border-color: var(--rb-accent-cyan) !important;
    box-shadow: 0 0 0 2px rgba(76, 201, 240, 0.2) !important;
    outline: none !important;
}

html body .cyber-reset-wrap .um-form .um-button,
.cyber-reset-wrap .um-form .um-button {
    background: rgba(255, 255, 255, 0.06) !important;
    background-image: none !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    padding: 14px 0 !important;
    box-shadow: none !important;
    letter-spacing: 0 !important;
}

html body .cyber-reset-wrap .um-form .um-button:hover,
.cyber-reset-wrap .um-form .um-button:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

html body .cyber-reset-wrap .um-field-label,
.cyber-reset-wrap .um-field-label {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    font-weight: 600 !important;
    text-shadow: none !important;
}

html body .cyber-reset-wrap .um-form .um-error {
    background: rgba(239, 68, 68, 0.1) !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
    color: #ff6b6b !important;
    -webkit-text-fill-color: #ff6b6b !important;
    box-shadow: none !important;
}

html body .cyber-reset-wrap .um-form input::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.4) !important;
}

/* UM Account */
html body .cyber-account-wrap .um.um-account,
html body .cyber-account-wrap .um,
.cyber-account-wrap .um.um-account,
.cyber-account-wrap .um {
    background: var(--rb-navy) !important;
    background-image: none !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3) !important;
    padding: 3em 2em 2em 2em !important;
    max-width: 560px !important;
    margin: 2em auto !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

html body .cyber-account-wrap .um::before {
    display: none !important;
    content: none !important;
}

html body .cyber-account-wrap .um *,
.cyber-account-wrap .um * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

html body .cyber-account-wrap .um-form input[type="text"],
html body .cyber-account-wrap .um-form input[type="email"],
html body .cyber-account-wrap .um-form input[type="password"],
html body .cyber-account-wrap .um-form input[type="url"],
html body .cyber-account-wrap .um-form input[type="tel"] {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 12px 16px !important;
    font-size: 1rem !important;
}

html body .cyber-account-wrap .um-form input:focus {
    border-color: var(--rb-accent-cyan) !important;
    box-shadow: 0 0 0 2px rgba(76, 201, 240, 0.2) !important;
    outline: none !important;
}

html body .cyber-account-wrap .um-form .um-button {
    background: var(--rb-accent-cyan) !important;
    background-image: none !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

html body .cyber-account-wrap .um-form .um-button:hover {
    background: #5dd3f7 !important;
}

html body .cyber-account-wrap .um-field-label {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    font-weight: 600 !important;
    text-shadow: none !important;
}

html body .cyber-account-wrap .um-account-nav {
    background: var(--rb-navy-dark) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

html body .cyber-account-wrap .um-account-nav a {
    color: rgba(255, 255, 255, 0.8) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.8) !important;
}

/* =====================================================
   OTP Modal
   ===================================================== */
html body .mo_customer_validation-modal-content,
.mo_customer_validation-modal-content {
    background: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
    color: var(--rb-white) !important;
}

html body .mo-popup-header,
.mo-popup-header {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

html body .otp-streaky-input,
.otp-streaky-input {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

html body .otp-streaky-input:focus {
    border-color: var(--rb-accent-cyan) !important;
    box-shadow: 0 0 0 2px rgba(76, 201, 240, 0.2) !important;
}

html body #miniorange_otp_token_submit,
#miniorange_otp_token_submit {
    background: var(--rb-accent-cyan) !important;
    background-image: none !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

html body #miniorange_otp_token_submit:hover {
    background: #5dd3f7 !important;
    box-shadow: none !important;
}

/* =====================================================
   Ultimate Member 統合
   ===================================================== */
body.um-page, body.um-page-user {
    background: linear-gradient(135deg, var(--rb-navy-dark) 0%, var(--rb-navy) 50%, var(--rb-navy-dark) 100%) !important;
}

.um-account-side, .um-account-main {
    background: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 16px !important;
    padding: 20px !important;
}

.um-account-link { color: rgba(255, 255, 255, 0.7) !important; -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important; }
.um-account-link.current { background: rgba(76, 201, 240, 0.1) !important; color: var(--rb-white) !important; -webkit-text-fill-color: var(--rb-white) !important; }

body.um-page *,
html body.um-page * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.um-page input,
body.um-page textarea {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-radius: 8px !important;
}

body.um-page button,
body.um-page .um-button {
    background: #0d1b2a !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
}

/* =====================================================
   FOOTER
   ===================================================== */
html body .site-footer,
html body footer,
html body footer.site-footer,
html body #colophon,
html body .ast-footer,
html body .ast-small-footer,
html body .site-primary-footer-wrap,
html body .site-below-footer-wrap,
html body .ast-footer-overlay,
html body .footer-widget-area,
html body .ast-footer-copyright,
html body .ast-builder-grid-row-container,
html body .site-primary-footer-inner,
html body .site-below-footer-inner,
.site-footer,
footer.site-footer,
#colophon,
.ast-footer,
.site-primary-footer-wrap {
    background: #0d1b2a !important;
    background-color: #0d1b2a !important;
    background-image: none !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

html body .site-footer *,
html body footer.site-footer *,
html body #colophon *,
html body .ast-footer *,
html body .site-primary-footer-wrap *,
.site-footer *,
#colophon *,
.site-primary-footer-wrap * {
    color: rgba(255, 255, 255, 0.6) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.6) !important;
    background: transparent !important;
    background-image: none !important;
}

html body .site-footer a,
html body #colophon a,
html body .ast-footer a,
.site-footer a,
#colophon a {
    color: rgba(255, 255, 255, 0.6) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.6) !important;
}

html body .site-footer a:hover,
html body #colophon a:hover,
.site-footer a:hover,
#colophon a:hover {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* =====================================================
   Static Pages
   ===================================================== */
html body .cyber-terms-wrap,
.cyber-terms-wrap {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* =====================================================
   Contact Form 7
   ===================================================== */
html body .wpcf7,
html body .wpcf7-form,
.wpcf7, .wpcf7-form {
    background: transparent !important;
}

html body .wpcf7 input[type="text"],
html body .wpcf7 input[type="email"],
html body .wpcf7 input[type="tel"],
html body .wpcf7 textarea,
html body .wpcf7 select,
body.page input[type="text"],
body.page input[type="email"],
body.page textarea {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    padding: 12px 16px !important;
}

html body .wpcf7 input::placeholder,
body.page input::placeholder,
body.page textarea::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.5) !important;
}

html body .wpcf7 input[type="submit"],
html body .wpcf7-submit,
body.page input[type="submit"] {
    background: #0d1b2a !important;
    border: none !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 600 !important;
    padding: 14px 32px !important;
    cursor: pointer !important;
}

html body .wpcf7 input[type="submit"]:hover {
    background: #1b263b !important;
    transform: translateY(-1px) !important;
}

html body .wpcf7 label,
body.page label,
.wpcf7 label {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.wpcf7 .wpcf7-not-valid-tip { color: #ff4757 !important; }

.wpcf7 .wpcf7-response-output {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
}

/* =====================================================
   Page Content
   ===================================================== */
html body.page,
html body.single,
body.page,
body.single {
    background: linear-gradient(135deg, #0d1b2a 0%, #1b263b 50%, #0d1b2a 100%) !important;
    background-attachment: fixed !important;
}

html body.page #page,
html body.page .site,
html body.page .site-content,
html body.page #content,
html body.page .ast-container,
html body.page #primary,
html body.page main,
html body.page article,
html body.page .ast-separate-container,
body.page #page,
body.page .site,
body.page #content,
body.page #primary,
body.page main,
body.page article {
    background: transparent !important;
    background-image: none !important;
}

html body.page .entry-content,
html body.page article .entry-content,
body.page .entry-content {
    background: rgba(13, 27, 42, 0.95) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 16px !important;
    padding: 40px !important;
}

html body.page #primary p,
html body.page #primary h1,
html body.page #primary h2,
html body.page #primary h3,
html body.page #primary h4,
html body.page #primary .entry-content li,
html body.page #primary .entry-content span,
html body.page #primary .entry-content > div,
html body.page .entry-content p,
html body.page .entry-content h2,
html body.page .entry-content h3,
html body.page .entry-content li,
html body.page .wp-block-heading,
html body.page .wp-block-list li,
body.page #primary p,
body.page .entry-content p,
body.page .entry-content li {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* ネイビー背景コンテナ → 白テキスト維持 */
html body.page #primary .woocommerce-MyAccount-navigation li,
html body.page #primary .woocommerce-MyAccount-navigation span,
html body.page #primary .woocommerce-MyAccount-navigation div,
html body.page #primary .woocommerce-MyAccount-content li,
html body.page #primary .woocommerce-MyAccount-content span,
html body.page #primary .woocommerce-MyAccount-content div,
html body.page #primary .woocommerce-MyAccount-content p {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body.page .entry-content a,
body.page .entry-content a {
    color: #4cc9f0 !important;
    -webkit-text-fill-color: #4cc9f0 !important;
}

html body.page hr,
body.page hr {
    border-color: rgba(255, 255, 255, 0.2) !important;
    background: rgba(255, 255, 255, 0.2) !important;
}

html body.page .entry-title,
body.page .entry-title {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* =====================================================
   Cart Page - カートネイビーデザイン
   ===================================================== */

/* カートページ背景 */
html body.woocommerce-cart,
body.woocommerce-cart {
    background: linear-gradient(135deg, var(--rb-navy-dark) 0%, var(--rb-navy) 50%, var(--rb-navy-dark) 100%) !important;
    background-attachment: fixed !important;
}

/* カートコンテナ透明化 */
html body.woocommerce-cart #page,
html body.woocommerce-cart .site,
html body.woocommerce-cart .site-content,
html body.woocommerce-cart #content,
html body.woocommerce-cart .ast-container,
html body.woocommerce-cart #primary,
html body.woocommerce-cart main,
html body.woocommerce-cart article,
html body.woocommerce-cart .entry-content {
    background: transparent !important;
}

/* カートテーブル */
html body.woocommerce-cart table.shop_table,
html body.woocommerce-cart table.shop_table.cart,
html body.woocommerce-cart .woocommerce table.shop_table {
    background: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

html body.woocommerce-cart table.shop_table thead th {
    background: rgba(255, 255, 255, 0.06) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.15) !important;
    padding: 14px 16px !important;
    font-weight: 700 !important;
}

html body.woocommerce-cart table.shop_table td,
html body.woocommerce-cart table.shop_table th {
    background: transparent !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 14px 16px !important;
}

html body.woocommerce-cart table.shop_table * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body.woocommerce-cart table.shop_table a {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
}

/* カート合計 */
html body.woocommerce-cart .cart-collaterals,
html body.woocommerce-cart .cart_totals {
    background: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

html body.woocommerce-cart .cart_totals * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    background: transparent !important;
}

html body.woocommerce-cart .cart-collaterals .cart_totals > h2,
html body.woocommerce-cart .cart-collaterals .cross-sells > h2 {
    background: rgba(255, 255, 255, 0.06) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    margin-bottom: 16px !important;
}

html body.woocommerce-cart .cart_totals table td,
html body.woocommerce-cart .cart_totals table th {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* カートボタン */
html body.woocommerce-cart .wc-proceed-to-checkout a.button,
html body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
html body.woocommerce-cart button[name="update_cart"] {
    background: var(--rb-navy-dark) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 28px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: all 0.2s ease !important;
}

html body.woocommerce-cart .wc-proceed-to-checkout a.button:hover,
html body.woocommerce-cart button[name="update_cart"]:hover {
    background: var(--rb-navy) !important;
    box-shadow: 0 2px 8px rgba(13, 27, 42, 0.2) !important;
    transform: translateY(-1px) !important;
}

/* cyber-cart カスタムテンプレート - style.css 白背景+ダーク文字キル */
html body .cyber-cart-wrapper {
    background: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
    color: var(--rb-white) !important;
}

html body .cyber-cart-wrapper * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body .cyber-cart-title {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

html body .cyber-cart-row {
    background: var(--rb-navy-dark) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

html body .cyber-cart-row:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

html body .cyber-cart-name {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body .cyber-cart-subtotal {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
}

html body .cyber-cart-img img {
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    box-shadow: none !important;
}

html body .cyber-cart-qty input {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    box-shadow: none !important;
}

html body .cyber-cart-qty input:focus {
    border-color: var(--rb-accent-cyan) !important;
    box-shadow: 0 0 0 2px rgba(76, 201, 240, 0.2) !important;
}

html body .cyber-cart-update-btn {
    background: var(--rb-navy-dark) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow: none !important;
}

html body .cyber-cart-update-btn:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body .cyber-cart-totals {
    background: var(--rb-navy-dark) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

html body .cyber-cart-totals * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* カート数量入力 */
html body.woocommerce-cart input.qty,
html body.woocommerce-cart input[type="number"] {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 6px !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* カートクーポン */
html body.woocommerce-cart .coupon input,
html body.woocommerce-cart .coupon .input-text {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    padding: 10px 14px !important;
}

html body.woocommerce-cart .coupon .button {
    background: var(--rb-navy-dark) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: none !important;
    border-radius: 8px !important;
}

/* カート削除リンク */
html body.woocommerce-cart a.remove {
    color: #ef4444 !important;
    -webkit-text-fill-color: #ef4444 !important;
}

/* カートページタイトル */
html body.woocommerce-cart .entry-title,
html body.woocommerce-cart .page-title {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* カートが空の場合 */
html body.woocommerce-cart .cart-empty,
html body.woocommerce-cart .wc-empty-cart-message {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body.woocommerce-cart .return-to-shop a.button {
    background: var(--rb-navy-dark) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 28px !important;
}

/* =====================================================
   Checkout Page - チェックアウト白デザイン
   ===================================================== */

/* チェックアウトページ背景 */
html body.woocommerce-checkout,
body.woocommerce-checkout {
    background: linear-gradient(135deg, var(--rb-navy-dark) 0%, var(--rb-navy) 50%, var(--rb-navy-dark) 100%) !important;
    background-attachment: fixed !important;
}

/* チェックアウトコンテナ透明化 */
html body.woocommerce-checkout #page,
html body.woocommerce-checkout .site,
html body.woocommerce-checkout .site-content,
html body.woocommerce-checkout #content,
html body.woocommerce-checkout .ast-container,
html body.woocommerce-checkout #primary,
html body.woocommerce-checkout main,
html body.woocommerce-checkout article {
    background: transparent !important;
}

/* チェックアウトラッパー */
html body .cyber-checkout-wrapper,
html body div.cyber-checkout-wrapper {
    background: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
    color: var(--rb-white) !important;
}

html body .cyber-checkout-wrapper * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* チェックアウトタイトル */
html body.woocommerce-checkout h1,
html body.woocommerce-checkout h2,
html body.woocommerce-checkout h3 {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

/* チェックアウトページタイトル（上部） */
html body.woocommerce-checkout .entry-title,
html body.woocommerce-checkout .page-title {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* チェックアウトラベル */
html body .woocommerce-checkout label,
html body.woocommerce-checkout label {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* チェックアウト入力フィールド */
html body .woocommerce-checkout input[type="text"],
html body .woocommerce-checkout input[type="email"],
html body .woocommerce-checkout input[type="tel"],
html body .woocommerce-checkout input[type="password"],
html body .woocommerce-checkout select,
html body .woocommerce-checkout textarea {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    box-shadow: none !important;
}

html body .woocommerce-checkout input:focus,
html body .woocommerce-checkout select:focus,
html body .woocommerce-checkout textarea:focus {
    border-color: var(--rb-accent-cyan) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(76, 201, 240, 0.2) !important;
}

/* 注文レビューエリア */
html body .woocommerce-checkout-review-order-table,
html body .woocommerce-checkout .woocommerce-checkout-review-order,
html body .woocommerce-checkout-payment,
html body form #order_review {
    background: var(--rb-navy-dark) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    color: var(--rb-white) !important;
}

html body .woocommerce-checkout-review-order-table *,
html body .woocommerce-checkout-payment * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* 支払い方法ボックス */
html body .woocommerce-checkout #payment div.payment_box,
html body #add_payment_method #payment div.payment_box {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: var(--rb-white) !important;
}

html body .woocommerce-checkout #payment div.payment_box * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* 注文ボタン */
html body .woocommerce-checkout .button,
html body .woocommerce-checkout .place-order .button,
html body .woocommerce-checkout #place_order {
    background: var(--rb-navy-dark) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: all 0.2s ease !important;
}

html body .woocommerce-checkout .button:hover,
html body .woocommerce-checkout .place-order .button:hover,
html body .woocommerce-checkout #place_order:hover {
    background: var(--rb-navy) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    box-shadow: 0 2px 8px rgba(13, 27, 42, 0.2) !important;
    transform: translateY(-1px) !important;
}

/* Stripe等の支払い入力フィールド */
html body .woocommerce-checkout .wc-payment-form input,
html body .woocommerce-checkout select[name="wc-stripe-payment-token"],
html body .woocommerce-checkout .payment_box select {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 6px !important;
}

/* =====================================================
   Shop / Product Archive - ショップ白デザイン
   ===================================================== */

/* ショップページ背景 */
html body.post-type-archive-product,
html body.tax-product_cat,
html body.woocommerce-page.archive {
    background: linear-gradient(135deg, var(--rb-navy-dark) 0%, var(--rb-navy) 50%, var(--rb-navy-dark) 100%) !important;
    background-attachment: fixed !important;
}

/* ショップコンテナ透明化 */
html body.post-type-archive-product #page,
html body.post-type-archive-product .site,
html body.post-type-archive-product .site-content,
html body.post-type-archive-product #content,
html body.post-type-archive-product .ast-container,
html body.post-type-archive-product #primary,
html body.post-type-archive-product main,
html body.post-type-archive-product article,
html body.tax-product_cat #page,
html body.tax-product_cat .site-content,
html body.tax-product_cat .ast-container,
html body.tax-product_cat main {
    background: transparent !important;
}

/* 商品カード - ネイビー背景 */
html body .woocommerce ul.products li.product,
html body.post-type-archive-product .woocommerce ul.products li.product,
html body.tax-product_cat .woocommerce ul.products li.product,
html body li.cyber-product-card,
html body .cyber-product-card {
    background: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
    overflow: hidden !important;
    transition: box-shadow 0.3s ease, transform 0.3s ease !important;
}

html body .woocommerce ul.products li.product:hover,
html body li.cyber-product-card:hover,
html body .cyber-product-card:hover {
    border-color: rgba(76, 201, 240, 0.3) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
    transform: translateY(-2px) !important;
}

/* 商品タイトル */
html body .woocommerce ul.products li.product .woocommerce-loop-product__title,
html body .cyber-product-card .cyber-product-title,
html body .cyber-product-card .woocommerce-loop-product__title {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

/* 商品価格 */
html body .woocommerce ul.products li.product .price,
html body .cyber-product-card .cyber-product-price,
html body .cyber-product-card .price {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
    text-shadow: none !important;
    font-weight: 700 !important;
}

/* 商品画像 */
html body .woocommerce ul.products li.product img,
html body .cyber-product-card img {
    border-radius: 8px 8px 0 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* カートに追加ボタン */
html body .woocommerce ul.products li.product .button,
html body .woocommerce ul.products li.product .add_to_cart_button,
html body .cyber-product-card .button,
html body .cyber-product-card .add_to_cart_button,
html body .cyber-product-card .cyber-product-button {
    background: var(--rb-navy-dark) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: none !important;
    border-radius: 8px !important;
    text-shadow: none !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}

html body .woocommerce ul.products li.product .button:hover,
html body .woocommerce ul.products li.product .add_to_cart_button:hover,
html body .cyber-product-card .button:hover,
html body .cyber-product-card .add_to_cart_button:hover {
    background: var(--rb-navy) !important;
    box-shadow: 0 2px 8px rgba(13, 27, 42, 0.2) !important;
    transform: translateY(-1px) !important;
}

/* ショップ並び替えセレクト */
html body .woocommerce-ordering select,
html body.woocommerce-page .woocommerce-ordering select {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
}

/* 結果数 */
html body .woocommerce-result-count {
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
}

/* ショップページタイトル */
html body.post-type-archive-product .entry-title,
html body.post-type-archive-product .page-title,
html body.post-type-archive-product .woocommerce-products-header__title,
html body.tax-product_cat .page-title {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* =====================================================
   Single Product Page - 商品詳細白デザイン
   ===================================================== */

/* 単一商品ページ背景 */
html body.single-product,
body.single-product {
    background: linear-gradient(135deg, var(--rb-navy-dark) 0%, var(--rb-navy) 50%, var(--rb-navy-dark) 100%) !important;
    background-attachment: fixed !important;
}

/* 単一商品コンテナ透明化 */
html body.single-product #page,
html body.single-product .site,
html body.single-product .site-content,
html body.single-product #content,
html body.single-product .ast-container,
html body.single-product #primary,
html body.single-product main,
html body.single-product article {
    background: transparent !important;
}

/* 商品サマリーエリア */
html body.single-product .summary.entry-summary,
html body.single-product div.summary,
html body.single-product .product .summary {
    background: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 12px !important;
    padding: 30px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

html body.single-product .summary *,
html body.single-product div.summary * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

/* 商品タイトル */
html body.single-product .product_title,
html body.single-product h1.product_title {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* 商品価格 */
html body.single-product .price,
html body.single-product p.price,
html body.single-product .summary .price {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
    text-shadow: none !important;
}

/* 商品メタ情報 */
html body.single-product .product_meta,
html body.single-product .product_meta * {
    color: rgba(255, 255, 255, 0.6) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.6) !important;
}

html body.single-product .product_meta a {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
}

/* 商品説明タブ */
html body.single-product .woocommerce-tabs,
html body.single-product .woocommerce-tabs .panel {
    background: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

html body.single-product .woocommerce-tabs * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body.single-product .woocommerce-tabs ul.tabs li {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px 8px 0 0 !important;
}

html body.single-product .woocommerce-tabs ul.tabs li.active {
    background: var(--rb-navy) !important;
    border-bottom-color: var(--rb-navy) !important;
}

html body.single-product .woocommerce-tabs ul.tabs li a {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* カートに追加ボタン */
html body.single-product .single_add_to_cart_button,
html body.single-product button.single_add_to_cart_button {
    background: var(--rb-navy-dark) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

html body.single-product .single_add_to_cart_button:hover {
    background: var(--rb-navy) !important;
    box-shadow: 0 2px 8px rgba(13, 27, 42, 0.2) !important;
    transform: translateY(-1px) !important;
}

/* 数量入力 */
html body.single-product input.qty,
html body.single-product .quantity input {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 6px !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* 商品画像エリア */
html body.single-product .woocommerce-product-gallery {
    background: transparent !important;
}

/* 関連商品 */
html body.single-product .related.products,
html body.single-product section.related {
    background: transparent !important;
}

html body.single-product .related.products > h2 {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* =====================================================
   Select Dropdowns & Checkboxes
   ===================================================== */

/* Select2ドロップダウン */
html body .select2-container--default .select2-selection--single,
html body .select2-container .select2-selection--single,
html body .woocommerce-js .select2-container .select2-selection--single,
html body .woocommerce-page .select2-container .select2-selection--single {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    color: var(--rb-white) !important;
    min-height: 42px !important;
}

html body .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body .select2-container--default .select2-selection--single .select2-selection__arrow {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* Select2ドロップダウン結果 */
html body .select2-container--default .select2-results > .select2-results__options,
html body .select2-dropdown,
html body .select2-results__option {
    background: var(--rb-navy) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body .select2-container--default .select2-results__option--highlighted,
html body .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: rgba(76, 201, 240, 0.15) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body .select2-search--dropdown {
    padding: 4px !important;
    background: var(--rb-navy) !important;
}

html body .select2-search--dropdown input {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border-radius: 6px !important;
}

/* 汎用selectドロップダウン */
html body .woocommerce select,
html body .woocommerce-page select,
html body.woocommerce-cart select,
html body.woocommerce-checkout select,
html body.single-product select {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    -webkit-appearance: menulist !important;
    appearance: menulist !important;
}

/* 汎用selectドロップダウンoption - ネイティブ描画白背景対策 */
html body .woocommerce select option,
html body .woocommerce-page select option,
html body.woocommerce-cart select option,
html body.woocommerce-checkout select option,
html body.single-product select option {
    background: var(--rb-navy) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* サイト全体のselect option - 漏れ防止 */
html body select option {
    background: #1b263b !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* チェックボックス */
html body .woocommerce input[type="checkbox"],
html body.woocommerce-page input[type="checkbox"],
html body.woocommerce-cart input[type="checkbox"],
html body.woocommerce-checkout input[type="checkbox"] {
    -webkit-appearance: checkbox !important;
    appearance: checkbox !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 4px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    cursor: pointer !important;
    accent-color: var(--rb-accent-cyan) !important;
}

html body .woocommerce input[type="checkbox"]:checked {
    background: var(--rb-accent-cyan) !important;
    border-color: var(--rb-accent-cyan) !important;
}

/* ラジオボタン */
html body .woocommerce input[type="radio"],
html body.woocommerce-page input[type="radio"],
html body.woocommerce-checkout input[type="radio"] {
    -webkit-appearance: radio !important;
    appearance: radio !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    cursor: pointer !important;
    accent-color: var(--rb-accent-cyan) !important;
}

/* =====================================================
   Breadcrumbs & Pagination - パンくず・ページネーション
   ===================================================== */

/* パンくずリスト */
html body .ast-breadcrumbs,
html body .ast-breadcrumbs-wrapper,
html body .woocommerce-breadcrumb {
    background: transparent !important;
    padding: 12px 0 !important;
}

html body .ast-breadcrumbs *,
html body .ast-breadcrumbs-wrapper *,
html body .woocommerce-breadcrumb,
html body .woocommerce-breadcrumb *,
html body .woocommerce-breadcrumb a {
    color: rgba(255, 255, 255, 0.6) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.6) !important;
    text-shadow: none !important;
}

html body .ast-breadcrumbs a:hover,
html body .woocommerce-breadcrumb a:hover {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* 現在のページ（パンくず） */
html body .ast-breadcrumbs .trail-end,
html body .ast-breadcrumbs .current,
html body .woocommerce-breadcrumb strong {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* ページネーション */
html body .woocommerce-pagination,
html body .woocommerce nav.woocommerce-pagination,
html body .ast-pagination,
html body .nav-links {
    background: transparent !important;
}

html body .woocommerce-pagination ul,
html body .woocommerce nav.woocommerce-pagination ul {
    border: none !important;
    display: flex !important;
    gap: 4px !important;
    justify-content: center !important;
}

html body .woocommerce-pagination ul li,
html body .woocommerce nav.woocommerce-pagination ul li {
    border: none !important;
    background: transparent !important;
}

html body .woocommerce-pagination a.page-numbers,
html body .woocommerce nav.woocommerce-pagination ul li a,
html body .nav-links a,
html body a.page-numbers {
    background: rgba(255, 255, 255, 0.1) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

html body .woocommerce-pagination a.page-numbers:hover,
html body .woocommerce nav.woocommerce-pagination ul li a:hover,
html body .nav-links a:hover,
html body a.page-numbers:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
}

/* 現在のページ番号 */
html body .woocommerce-pagination span.page-numbers.current,
html body .woocommerce nav.woocommerce-pagination ul li span.current,
html body .nav-links span.current,
html body span.page-numbers.current {
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border: 1px solid var(--rb-accent-cyan) !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    font-weight: 700 !important;
}

/* =====================================================
   WooCommerce Notices - 通知クリーンデザイン
   ===================================================== */

/* 通知非表示の上書き（表示を確保） */
html body .woocommerce-notices-wrapper,
html body.woocommerce-cart .woocommerce-notices-wrapper,
html body.woocommerce-checkout .woocommerce-notices-wrapper {
    display: block !important;
}

/* 通知メッセージ（全ページ対象） */
html body .woocommerce-message,
html body .woocommerce-info,
html body .woocommerce-error,
html body .woocommerce-Message,
html body .woocommerce-notices-wrapper .woocommerce-message,
html body .woocommerce-notices-wrapper .woocommerce-info,
html body .woocommerce-notices-wrapper .woocommerce-error,
html body.woocommerce-cart .woocommerce-message,
html body.woocommerce-cart .woocommerce-info,
html body.woocommerce-cart .woocommerce-error,
html body.woocommerce-checkout .woocommerce-message,
html body.woocommerce-checkout .woocommerce-info,
html body.woocommerce-checkout .woocommerce-error,
html body.single-product .woocommerce-message,
html body.single-product .woocommerce-info {
    background: rgba(255, 255, 255, 0.06) !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-left: 4px solid var(--rb-accent-cyan) !important;
    border-radius: 8px !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    padding: 16px 20px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
    display: block !important;
}

/* 通知内テキスト */
html body .woocommerce-message *,
html body .woocommerce-info *,
html body .woocommerce-error * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* 通知内リンク */
html body .woocommerce-message a,
html body .woocommerce-info a,
html body .woocommerce-error a {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
    font-weight: 600 !important;
}

/* 通知内ボタン */
html body .woocommerce-message .button,
html body .woocommerce-message a.button,
html body .woocommerce-info .button,
html body .woocommerce-info a.button,
html body .woocommerce-error .button,
html body .woocommerce-error a.button {
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    text-shadow: none !important;
}

html body .woocommerce-message .button:hover,
html body .woocommerce-info .button:hover,
html body .woocommerce-error .button:hover {
    background: #5dd3f7 !important;
    box-shadow: 0 2px 8px rgba(76, 201, 240, 0.3) !important;
}

/* 通知アイコン */
html body .woocommerce-message::before,
html body .woocommerce-info::before,
html body .woocommerce-error::before {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* 成功メッセージ - 左ボーダー緑 */
html body .woocommerce-message {
    border-left-color: #22c55e !important;
}

html body .woocommerce-message::before {
    color: #22c55e !important;
    -webkit-text-fill-color: #22c55e !important;
}

/* エラーメッセージ - 左ボーダー赤 */
html body .woocommerce-error {
    border-left-color: #ef4444 !important;
}

html body .woocommerce-error::before {
    color: #ef4444 !important;
    -webkit-text-fill-color: #ef4444 !important;
}

/* =====================================================
   ★★★ Neon 完全キル ★★★
   ===================================================== */

/* ユーザーアイコン */
html body .user-icon,
.user-icon {
    background: var(--rb-navy-light) !important;
    background-image: none !important;
    box-shadow: none !important;
}

html body .user-icon::before,
html body .user-icon::after {
    display: none !important;
    box-shadow: none !important;
    animation: none !important;
}

.arrow-icon::after { box-shadow: none !important; }
.point-tooltip { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important; }
.slide-title { text-shadow: none !important; }
.detail-non { text-shadow: none !important; }

/* Cyber shop */
.cyber-shop-wrapper { color: #ffffff !important; }

/* =====================================================
   ★★★ TASK6: ガチャブロック高特異度セレクター修正 ★★★
   style.css 6881-6967 の .gacha-block.gacha-item.gacha-content 系
   ===================================================== */

/* ガチャヘッダー - 白背景キル (style.css line 6885) */
html body .gacha-block.gacha-item.gacha-content .gacha-header,
.gacha-block.gacha-item.gacha-content .gacha-header {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
    color: var(--rb-white) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    min-height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 16px !important;
}

html body .gacha-block.gacha-item.gacha-content .gacha-header *,
.gacha-block.gacha-item.gacha-content .gacha-header * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* ガチャ価格バッジ - 青グラデキル (style.css line 6909) */
html body .gacha-block.gacha-item.gacha-content .gacha-price,
.gacha-block.gacha-item.gacha-content .gacha-price {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    background: rgba(76, 201, 240, 0.15) !important;
    background-image: none !important;
    border: 1px solid rgba(76, 201, 240, 0.4) !important;
    border-radius: 20px !important;
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
    font-weight: 700 !important;
    padding: 6px 12px 6px 8px !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

/* 価格バッジ内テキスト */
html body .gacha-block.gacha-item.gacha-content .gacha-price *,
.gacha-block.gacha-item.gacha-content .gacha-price * {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
}

html body .gacha-block.gacha-item.gacha-content .gacha-price span,
.gacha-block.gacha-item.gacha-content .gacha-price span {
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
}

/* 価格アイコン "P" - 白背景キル (style.css line 6927) */
html body .gacha-block.gacha-item.gacha-content .gacha-price::before,
.gacha-block.gacha-item.gacha-content .gacha-price::before {
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
}

/* ストックテキスト - #222キル (style.css line 6895) */
html body .gacha-block.gacha-item.gacha-content .stock-text,
.gacha-block.gacha-item.gacha-content .stock-text {
    color: rgba(255, 255, 255, 0.8) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.8) !important;
    font-weight: 600 !important;
    text-shadow: none !important;
}

html body .gacha-block.gacha-item.gacha-content .stock-info,
.gacha-block.gacha-item.gacha-content .stock-info {
    background: transparent !important;
}

/* ゲージバー - #e0e0e0キル (style.css line 6952) */
html body .gacha-block.gacha-item.gacha-content .gauge-bar,
.gacha-block.gacha-item.gacha-content .gauge-bar {
    background: rgba(255, 255, 255, 0.1) !important;
    border: none !important;
    border-radius: 4px !important;
    height: 6px !important;
}

/* ゲージフィル - 青グラデキル (style.css line 6958) */
html body .gacha-block.gacha-item.gacha-content .gauge-fill,
.gacha-block.gacha-item.gacha-content .gauge-fill {
    background: var(--rb-accent-cyan) !important;
    background-image: none !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    animation: none !important;
}

/* 画像内の重複価格非表示 */
html body .gacha-block.gacha-item.gacha-content .gacha-image .gacha-price {
    display: none !important;
}

/* =====================================================
   ★★★ TASK6: 固定フッター (ガチャ詳細ページ下部バー) ★★★
   style.css 6169-6518 の fixed-footer 系
   ===================================================== */

/* PC版固定フッター - 白背景+青ボーダーキル */
html body .fixed-footer.pc-only,
.fixed-footer.pc-only {
    background: var(--rb-navy-dark) !important;
    background-color: var(--rb-navy-dark) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3) !important;
}

/* SP版固定フッター */
html body .fixed-footer.sp-only,
.fixed-footer.sp-only {
    background: var(--rb-navy-dark) !important;
    background-color: var(--rb-navy-dark) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3) !important;
}

/* 固定フッター内テキスト白化 */
html body .fixed-footer.pc-only *,
html body .fixed-footer.sp-only * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

/* 固定フッター価格 - 青キル */
html body .fixed-footer.pc-only .gacha-price,
html body .fixed-footer.sp-only .gacha-price {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
    background: none !important;
    background-image: none !important;
}

html body .fixed-footer.pc-only .gacha-price span,
html body .fixed-footer.sp-only .gacha-price span {
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
}

/* "P"バッジ - 青キル → シアン */
html body .fixed-footer.pc-only .gacha-price::before,
html body .fixed-footer.sp-only .gacha-price::before {
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
}

/* 固定フッター ストックテキスト - #222キル */
html body .fixed-footer.pc-only .stock-text,
html body .fixed-footer.sp-only .stock-text {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* 固定フッター ゲージバー - 灰色キル */
html body .fixed-footer.pc-only .gauge-bar,
html body .fixed-footer.sp-only .gauge-bar {
    background: rgba(255, 255, 255, 0.15) !important;
    background-color: rgba(255, 255, 255, 0.15) !important;
    border: none !important;
    border-radius: 8px !important;
}

/* 固定フッター ゲージフィル - 青グラデキル → シアン */
html body .fixed-footer.pc-only .gauge-fill,
html body .fixed-footer.sp-only .gauge-fill {
    background: var(--rb-accent-cyan) !important;
    background-image: none !important;
    box-shadow: none !important;
    animation: none !important;
}

/* 固定フッター ガチャボタン - TOP配色と統一
   ★★★ style.css 特異度メモ ★★★
   .fixed-footer.pc-only .gacha-button = (0,3,0) → blue gradient
   .fixed-footer.pc-only .gacha-buttons button = (0,3,1) → blue gradient
   .fixed-footer.pc-only .gacha-button.button-10x = (0,4,0) → blue gradient
   .fixed-footer.pc-only .gacha-button#gacha10 = (1,3,0) → blue gradient
   → html body 追加で全て上回る */

/* 共通: 全ボタンベーススタイル (0,3,2) > (0,3,0) */
html body .fixed-footer.pc-only .gacha-button,
html body .fixed-footer.pc-only .gacha-buttons button,
html body .fixed-footer.sp-only .gacha-button,
html body .fixed-footer.sp-only .gacha-buttons button {
    background: rgba(255, 255, 255, 0.06) !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 10px !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    cursor: pointer !important;
}

/* 10回ガチャる - 1回と同じ配色 (0,4,2) > (0,4,0), (1,3,2) > (1,3,0) */
html body .fixed-footer.pc-only .gacha-button.button-10x,
html body .fixed-footer.pc-only .gacha-button#gacha10,
html body .fixed-footer.pc-only .gacha-buttons .button-10x,
html body .fixed-footer.sp-only .gacha-button.button-10x,
html body .fixed-footer.sp-only .gacha-button#gacha10 {
    background: rgba(255, 255, 255, 0.06) !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    animation: none !important;
}

/* 100回ガチャる - シアン背景+ネイビー文字 (0,4,2) > (0,4,0), (1,3,2) > (1,3,0) */
html body .fixed-footer.pc-only .gacha-button.button-100x,
html body .fixed-footer.pc-only .gacha-button#gacha100,
html body .fixed-footer.pc-only .gacha-buttons .button-100x,
html body .fixed-footer.sp-only .gacha-button.button-100x,
html body .fixed-footer.sp-only .gacha-button#gacha100 {
    background: var(--rb-accent-cyan) !important;
    background-image: none !important;
    border: none !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 12px rgba(76, 201, 240, 0.25) !important;
    animation: none !important;
}

/* ホバー: 1回/10回 */
html body .fixed-footer.pc-only .gacha-button:hover,
html body .fixed-footer.pc-only .gacha-buttons button:hover,
html body .fixed-footer.sp-only .gacha-button:hover,
html body .fixed-footer.sp-only .gacha-buttons button:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    transform: translateY(-1px) !important;
}

/* ホバー: 100回（個別に上書き） */
html body .fixed-footer.pc-only .gacha-button.button-100x:hover,
html body .fixed-footer.pc-only .gacha-button#gacha100:hover,
html body .fixed-footer.sp-only .gacha-button.button-100x:hover,
html body .fixed-footer.sp-only .gacha-button#gacha100:hover {
    background: #5dd3f7 !important;
    border: none !important;
    box-shadow: 0 4px 18px rgba(76, 201, 240, 0.35) !important;
}

/* 固定フッター ガチャヘッダー透明確保 */
html body .fixed-footer.pc-only .gacha-header,
html body .fixed-footer.sp-only .gacha-header {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
}

/* =====================================================
   ★★★ TASK7: グローバル色強制オーバーライド ★★★
   ===================================================== */

/* body a 青強制キル (style.css line 6807-6816) */
html body a,
html body .entry-content a,
html body .page-content a {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body a:hover,
html body .entry-content a:hover {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
}

/* ネイビー背景コンテキスト内リンク - シアンアクセント */
html body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button):not([class*="btn"]),
html body.woocommerce-cart table.shop_table a:not(.button):not(.woocommerce-button),
html body .cyber-checkout-wrapper a:not(.button),
html body .woocommerce-form-login a:not(.button),
html body .woocommerce-form-register a:not(.button),
html body .gacha-result-form a:not(.button) {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
}

html body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover,
html body.woocommerce-cart table.shop_table a:not(.button):hover,
html body .cyber-checkout-wrapper a:not(.button):hover {
    color: #5dd3f7 !important;
    -webkit-text-fill-color: #5dd3f7 !important;
}

/* サイトフッター - 青背景キル (style.css line 6836) */
html body #colophon,
#colophon {
    background: var(--rb-navy-dark) !important;
    background-color: var(--rb-navy-dark) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html body #colophon *,
#colophon * {
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
}

html body #colophon a:hover {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* ポイントツールチップ - ネオングラデキル (style.css line 4127) */
html body .point-tooltip,
html body .menu-dropdown,
.point-tooltip,
.menu-dropdown {
    background: var(--rb-navy) !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
    backdrop-filter: blur(10px) !important;
}

html body .point-tooltip *,
html body .menu-dropdown * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

html body .point-tooltip .cyber-row:hover,
html body .menu-dropdown a:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
}

/* 全WooCommerce送信ボタン - 青キル (style.css line 650) */
html body.woocommerce-page input[type="submit"],
html body.um-page input[type="submit"],
html body input.woocommerce-button[type="submit"] {
    background: var(--rb-navy-dark) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

html body.woocommerce-page input[type="submit"]:hover,
html body.um-page input[type="submit"]:hover {
    background: var(--rb-navy) !important;
}

/* スキップ＆テキストリンクボタン - 青キル (style.css line 4215, 4238) */
html body #skip-button,
html body button#skip-button,
html body button.text-link,
html body .text-link {
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

html body #skip-button:hover,
html body button.text-link:hover,
html body .text-link:hover {
    background: #5dd3f7 !important;
}

/* WPブロックボタン/CF7 - 青キル */
html body .wp-block-file .wp-block-file__button,
html body .wpcf7-form input[type="submit"] {
    background: var(--rb-navy-dark) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* =====================================================
   ★★★ TASK8: リトライガチャページ修正 ★★★
   style.css 2254-2500 の page-template-page-retrygacha 系
   ===================================================== */

/* ページ背景 - 白キル */
html body.page-template-page-retrygacha,
body.page-template-page-retrygacha,
html body[class*="retrygacha"],
body[class*="retrygacha"] {
    background: linear-gradient(135deg, var(--rb-navy-dark) 0%, var(--rb-navy) 50%, var(--rb-navy-dark) 100%) !important;
    background-attachment: fixed !important;
}

/* コンテナ透明化 */
html body.page-template-page-retrygacha #page,
html body.page-template-page-retrygacha .site-content,
html body.page-template-page-retrygacha .ast-container,
html body.page-template-page-retrygacha main,
html body.page-template-page-retrygacha article,
html body.page-template-page-retrygacha .entry-content {
    background: transparent !important;
}

/* カード - 白キル */
html body.page-template-page-retrygacha .card,
html body.page-template-page-retrygacha .card.cyber-card,
html body.page-template-page-retrygacha .cyber-card,
html body.page-template-page-retrygacha .cyber-card-inner,
html body.page-template-page-retrygacha .card-body,
html body.page-template-page-retrygacha .card.bg-dark.text-white,
html body.page-template-page-retrygacha .card.bg-dark .card-body,
body[class*="retrygacha"] .card,
body[class*="retrygacha"] .cyber-card,
body[class*="retrygacha"] .cyber-card-inner,
body[class*="retrygacha"] .card-body {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
    color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
}

html body.page-template-page-retrygacha .card *,
html body.page-template-page-retrygacha .cyber-card *,
body[class*="retrygacha"] .card *,
body[class*="retrygacha"] .cyber-card * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* cyber-title-container - 白/青キル */
html body.page-template-page-retrygacha .cyber-title-container,
html body .cyber-title-container,
body[class*="retrygacha"] .cyber-title-container {
    background: var(--rb-navy-light) !important;
    color: var(--rb-white) !important;
}

/* cyber-content - 白キル */
html body.page-template-page-retrygacha .cyber-content,
html body .cyber-content,
body[class*="retrygacha"] .cyber-content {
    background: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: var(--rb-white) !important;
}

html body.page-template-page-retrygacha .cyber-content:hover,
body[class*="retrygacha"] .cyber-content:hover {
    border-color: rgba(76, 201, 240, 0.3) !important;
}

/* リトライガチャヘッダー - 白キル */
html body.page-template-page-retrygacha .gacha-header,
body[class*="retrygacha"] .gacha-header {
    background: var(--rb-navy) !important;
    border-radius: 8px !important;
}

/* リトライ価格 - 青キル → シアン */
html body.page-template-page-retrygacha .gacha-price,
html body.page-template-page-retrygacha div.gacha-price,
body[class*="retrygacha"] .gacha-price,
body.page-template-page-retrygacha .gacha-price {
    background: rgba(76, 201, 240, 0.15) !important;
    background-image: none !important;
    border: 1px solid rgba(76, 201, 240, 0.4) !important;
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
}

html body.page-template-page-retrygacha .gacha-price span,
body[class*="retrygacha"] .gacha-price span,
body.page-template-page-retrygacha .gacha-price span {
    background: transparent !important;
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
}

/* リトライ ストックテキスト - #222キル */
html body.page-template-page-retrygacha .stock-text,
body[class*="retrygacha"] .stock-text,
body.page-template-page-retrygacha .stock-text {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body.page-template-page-retrygacha .stock-info,
body[class*="retrygacha"] .stock-info {
    background: transparent !important;
}

/* リトライ ゲージ - 灰色+青キル */
html body.page-template-page-retrygacha .gauge-bar,
body.page-template-page-retrygacha .gauge-bar,
body[class*="retrygacha"] .gauge-bar {
    background: rgba(255, 255, 255, 0.1) !important;
    border: none !important;
    box-shadow: none !important;
}

html body.page-template-page-retrygacha .gauge-fill,
body.page-template-page-retrygacha .gauge-fill,
body[class*="retrygacha"] .gauge-fill,
html body.page-template-page-retrygacha .stock-info .progress-bar {
    background: var(--rb-accent-cyan) !important;
    background-image: none !important;
    animation: none !important;
}

/* リトライ h4タイトル - 青テキストキル */
html body.page-template-page-retrygacha .card.bg-dark .h4,
html body.page-template-page-retrygacha .card.bg-dark h4,
body[class*="retrygacha"] .card.bg-dark .h4 {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
}

/* リトライ ボタン - 青キル */
html body.page-template-page-retrygacha .gacha-button-group button,
html body.page-template-page-retrygacha #gacha1,
html body.page-template-page-retrygacha #gacha10,
html body.page-template-page-retrygacha #gacha100,
body[class*="retrygacha"] .gacha-button-group button,
body.page-template-page-retrygacha #gacha100 {
    background: var(--rb-accent-cyan) !important;
    background-image: none !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

html body.page-template-page-retrygacha .gacha-button-group button:hover,
body[class*="retrygacha"] .gacha-button-group button:hover {
    background: #5dd3f7 !important;
}

/* =====================================================
   ★★★ TASK8: ランクシステムページ修正 ★★★
   ===================================================== */

/* ランクシステム - 埋め込みCSS上書き */
html body .rank-system-container {
    background: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 16px !important;
    padding: 120px 20px 40px !important;
    color: var(--rb-white) !important;
}

html body .rank-system-container * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body .rank-system-title,
html body .rank-section-title {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

html body .rank-block {
    background: var(--rb-navy-dark) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
}

html body .rank-name {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
}

html body .rank-details,
html body .rank-detail-item,
html body .rank-detail-label {
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
}

html body .rank-detail-value {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* ランクルール - 埋め込みCSS白背景をネイビーに上書き */
html body .rank-rules {
    background: var(--rb-navy-dark) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body .rank-rules ul,
html body .rank-rules li {
    color: rgba(255, 255, 255, 0.85) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.85) !important;
}

html body .rank-rules strong {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
}

html body .rank-note {
    color: rgba(255, 255, 255, 0.6) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.6) !important;
}

/* ランク紹介テキスト - 埋め込み#444444キル */
html body .rank-system-intro {
    color: rgba(255, 255, 255, 0.8) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.8) !important;
}

/* ハイライト値 - 埋め込み#0077ffキル → シアン */
html body .rank-detail-value.highlight {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
}

/* ランクセクションタイトル - 埋め込み#0077ffキル */
html body .rank-section-title {
    border-bottom-color: var(--rb-accent-cyan) !important;
}

/* =====================================================
   ★★★ TASK9: 商品カード＆ショップページ修正 ★★★
   content-product.php 埋め込みCSS上書き
   ===================================================== */

/* Clove商品カード - 白背景+青グラデキル */
html body .clove-product-card,
.clove-product-card {
    background: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3) !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
}

html body .clove-product-card:hover,
.clove-product-card:hover {
    border-color: rgba(76, 201, 240, 0.3) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
    transform: translateY(-2px) !important;
}

html body .clove-product-card *,
.clove-product-card * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

html body .clove-product-card .price,
html body .clove-product-card .product-price-button .price {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
    font-weight: 700 !important;
}

html body .clove-product-card .clove-buy-btn,
html body .clove-product-card .add_to_cart_button,
.clove-product-card .clove-buy-btn,
.clove-product-card .add_to_cart_button {
    background: var(--rb-accent-cyan) !important;
    background-image: none !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

html body .clove-product-card .clove-buy-btn:hover,
html body .clove-product-card .add_to_cart_button:hover {
    background: #5dd3f7 !important;
    box-shadow: 0 4px 16px rgba(76, 201, 240, 0.3) !important;
}

/* Cloveショップラッパー */
html body .clove-shop-wrapper,
.clove-shop-wrapper {
    background: transparent !important;
}

/* =====================================================
   ★★★ TASK10: PHP/JS埋め込みスタイル対応 ★★★
   functions.php cyber-popup, モーダル色上書き、
   front-page.php バナードット、ニュースアイテム等
   ===================================================== */

/* cyber-popup (functions.php埋め込み) - ネオン除去 */
html body .cyber-popup-overlay,
.cyber-popup-overlay {
    background: rgba(0, 0, 20, 0.75) !important;
}

html body .cyber-popup,
.cyber-popup {
    background: var(--rb-navy) !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4) !important;
    color: var(--rb-white) !important;
}

html body .cyber-popup .close-btn,
.cyber-popup .close-btn {
    color: rgba(255, 255, 255, 0.5) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.5) !important;
}

/* ニュースアイテム - 白背景キル */
html body .news-item,
.news-item {
    background: var(--rb-navy-light) !important;
    background-color: var(--rb-navy-light) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: 8px !important;
}

/* ガチャ賞品タイトル - 白背景キル */
html body .gacha-prize-title {
    background: var(--rb-navy-light) !important;
    background-color: var(--rb-navy-light) !important;
    color: var(--rb-white) !important;
}

/* =====================================================
   景品ブロック - style.css白背景 → ネイビー+白枠+白文字
   style.css: .prize-block { background: #ffffff !important }
   style.css: .gacha-X-grid .prize-block { background: #ffffff !important }
   ===================================================== */
html body .prize-block,
html body div.prize-block {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
    color: var(--rb-white) !important;
}

html body .prize-block *,
html body div.prize-block * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* 各賞グリッド別 - style.css 色付きボーダー上書き */
html body .gacha-s-grid .prize-block {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

html body .gacha-a-grid .prize-block {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

html body .gacha-b-grid .prize-block {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

html body .gacha-c-grid .prize-block {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

html body .gacha-lastone-grid .prize-block {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

html body .prize-block:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

/* 景品セクション */
html body .prize-section,
html body div.prize-section {
    background: transparent !important;
    background-color: transparent !important;
}

/* バナースライダードット - JS青キル */
html body .vg-banner-dot,
.vg-banner-dot {
    background: rgba(255, 255, 255, 0.3) !important;
}

html body .vg-banner-dot.active,
.vg-banner-dot.active {
    background: var(--rb-accent-cyan) !important;
}

/* sortボタン - フィルターボタンとデザイン統一 (functions.php inline style + style.css 7348-7370 上書き) */
/* :not(.active) で style.css の (0,2,0) 特異度を上回る (0,2,2) */
html body .sort-btn,
html body button.sort-btn,
html body .sort-btn:not(.active) {
    padding: 10px 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 25px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

html body .sort-btn.active,
html body button.sort-btn.active,
html body .sort-btn:hover:not(.active) {
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border-color: var(--rb-accent-cyan) !important;
}

/* 発送/売却アクションボタン (functions.php embedded CSS: green/red/blue → 統一) */
html body .action-button,
html body .ship-button,
html body .sell-button,
html body .ship-all-button,
html body .sell-all-button {
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
}

/* submit-button 汎用 - 青キル */
html body .submit-button,
html body button.submit-button {
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border: none !important;
    border-radius: 8px !important;
}

/* コレクションフィルターリンク - 青キル (style.css 4566-4666) */
html body .collection-filter .filter-link,
html body .collection-filter a,
html body .filter-link {
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
    background: rgba(255, 255, 255, 0.05) !important;
}

html body .collection-filter .filter-link.active,
html body .collection-filter .filter-link:hover,
html body .collection-filter a.active,
html body .collection-filter a:hover,
html body .filter-link.active,
html body .filter-link:hover {
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border-color: var(--rb-accent-cyan) !important;
}

/* Coming soon / Not available ゲージ - 青キル */
html body .coming-soon .gauge-fill,
html body .not-available .gauge-fill,
html body .coming-soon .gauge-bar .gauge-fill,
html body .not-available .gauge-bar .gauge-fill {
    background: var(--rb-accent-cyan) !important;
    background-color: var(--rb-accent-cyan) !important;
}

/* ページ特定ボタン(page-id-1649等) - 青キル */
html body .page-id-1649 button[type="submit"],
html body .page-id-1649 button.submit-button,
html body .page-id-1646 input[type="submit"] {
    background: var(--rb-accent-cyan) !important;
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    border: none !important;
    border-radius: 8px !important;
}

/* UM/WooCommerceページ - 白背景キル */
html body.woocommerce-page,
html body.um-page {
    background: linear-gradient(135deg, var(--rb-navy-dark) 0%, var(--rb-navy) 50%, var(--rb-navy-dark) 100%) !important;
    background-attachment: fixed !important;
}

/* UM フィールド白背景キル */
html body.um-page .um-field,
html body.um-page .um-field-area,
html body.um-page .um-profile-body {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
}

/* Stripe/支払いフォーム focus - 青ボーダーキル */
html body .wc-stripe-elements-field:focus,
html body .wc-payment-form select:focus,
html body .payment_box select:focus {
    border-color: var(--rb-accent-cyan) !important;
    box-shadow: 0 0 0 2px rgba(76, 201, 240, 0.2) !important;
}

/* サブメニュー - 青背景キル */
html body .sub-menu li,
html body .menu-item-461 {
    background: var(--rb-navy) !important;
}

/* cyber-shop-title ネオンテキストキル */
html body .cyber-shop-title {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

/* gacha-result-form 白背景キル (style.css line 4202) */
html body .gacha-result-form {
    background: var(--rb-navy) !important;
    background-color: var(--rb-navy) !important;
}

/* =====================================================
   ★★★ ボタン白文字 最終保証（最後尾＝最高優先） ★★★
   ネイビー背景ボタンの文字を確実に白にする
   ===================================================== */

/* アカウントページ内全ボタン */
html body.woocommerce-account .woocommerce-MyAccount-content a.button,
html body.woocommerce-account .woocommerce-MyAccount-content a.woocommerce-button,
html body.woocommerce-account .woocommerce-MyAccount-content button,
html body.woocommerce-account .woocommerce-MyAccount-content .button,
html body.woocommerce-account .woocommerce-MyAccount-content input[type="submit"],
html body.woocommerce-account table a.button,
html body.woocommerce-account table a.woocommerce-button,
html body.woocommerce-account table .button,
html body.woocommerce-account .woocommerce-MyAccount-content a.button.view,
html body.woocommerce-account .woocommerce-MyAccount-content a.button.pay,
html body.woocommerce-account .woocommerce-MyAccount-content a.button.cancel {
    background: var(--rb-navy-dark) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    font-weight: 600 !important;
    display: inline-block !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

html body.woocommerce-account .woocommerce-MyAccount-content a.button:hover,
html body.woocommerce-account .woocommerce-MyAccount-content a.woocommerce-button:hover,
html body.woocommerce-account table a.button:hover,
html body.woocommerce-account table a.woocommerce-button:hover {
    background: var(--rb-navy) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    transform: translateY(-1px) !important;
}

/* パスワード表示/非表示ボタン */
html body.woocommerce-account .show-password-input,
html body .woocommerce-MyAccount-content .show-password-input {
    color: rgba(255, 255, 255, 0.5) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.5) !important;
    background: transparent !important;
    border: none !important;
}

/* 決済方法ページ テーブル+ボタン */
html body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-PaymentMethods th,
html body.woocommerce-account .woocommerce-MyAccount-content .payment-methods th {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    font-weight: 700 !important;
}

html body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td,
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-PaymentMethods td,
html body.woocommerce-account .woocommerce-MyAccount-content .payment-methods td {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* 全ページ共通：コンテキスト別ボタンテキスト色保証 */
/* ネイビー/暗色背景ボタン → 白文字 */
html body .woocommerce a.button:not(.alt),
html body .woocommerce button.button:not(.alt),
html body .woocommerce input.button:not(.alt),
html body a.woocommerce-button {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* シアン背景ボタン → ネイビー文字（白文字にしない） */
html body .add-submit-button button,
html body .clove-product-card .clove-buy-btn,
html body .clove-product-card .add_to_cart_button,
html body .collection-list form button[type="submit"],
html body button#skip-button,
html body .submit-button,
html body .action-button,
html body .ship-button,
html body .sell-button,
html body .ship-all-button,
html body .sell-all-button {
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
}

/* 通知内ボタン → ネイビー文字（シアンbg） */
html body .woocommerce-info a.button,
html body .woocommerce-message a.button,
html body .woocommerce-error a.button {
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
}

/* モーダル内キャンセルボタン → 白文字（透明背景） */
html body .modal-button.cancel {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

/* モーダル内確認ボタン → ネイビー文字（シアンbg） */
html body .modal-button.confirm {
    color: var(--rb-navy-dark) !important;
    -webkit-text-fill-color: var(--rb-navy-dark) !important;
    background: var(--rb-accent-cyan) !important;
}

/* =====================================================
   ★★★ 視認性保証 - 全面ネイビー対応 ★★★
   全てネイビー背景になったため、テキストは白で統一。
   #primary 込みの高特異度セレクターで Page Content の
   白テキストルールと矛盾しないことを保証する。
   ===================================================== */

/* --- (A) UM ログイン/登録/アカウントフォーム --- */
/* ネイビーカード背景を #primary ID 付きで確実に適用 */
html body.page #primary .um.um-login,
html body.page #primary .um.um-register,
html body.page #primary .um.um-account {
    background: var(--rb-navy) !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3) !important;
}

/* ネイビーカード内の全テキスト → 白 (1,3,2) > Page Content (1,1,3) */
html body.page #primary .um.um-login *,
html body.page #primary .um.um-register *,
html body.page #primary .um.um-account * {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
}

/* 入力フィールド - 半透明背景×白文字 */
html body.page #primary .um-form input[type="text"],
html body.page #primary .um-form input[type="password"],
html body.page #primary .um-form input[type="email"],
html body.page #primary .um-form input[type="tel"],
html body.page #primary .um-form input[type="number"],
html body.page #primary .um-form input[type="url"],
html body.page #primary .um-form textarea,
html body.page #primary .um-form select {
    background: rgba(255, 255, 255, 0.08) !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 8px !important;
}

/* 入力フォーカス */
html body.page #primary .um-form input:focus,
html body.page #primary .um-form textarea:focus,
html body.page #primary .um-form select:focus {
    border-color: var(--rb-accent-cyan) !important;
    box-shadow: 0 0 0 2px rgba(76, 201, 240, 0.2) !important;
    outline: none !important;
}

/* プレースホルダー */
html body.page #primary .um-form input::placeholder,
html body.page #primary .um-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.4) !important;
}

/* ボタン → ネイビー背景×白文字（ログイン・新規登録 統一） */
html body.page #primary .um-form .um-button,
html body.page #primary .um .um-button,
html body.page #primary .um-form a.um-button,
html body.page #primary .um a.um-button,
html body.page #primary .um-form input[type="submit"],
html body .cyber-login-wrap .um-form .um-button,
html body .cyber-login-wrap .um a.um-button {
    background: rgba(255, 255, 255, 0.06) !important;
    background-image: none !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    display: inline-block !important;
    text-align: center !important;
}

html body.page #primary .um-form .um-button:hover,
html body.page #primary .um a.um-button:hover,
html body .cyber-login-wrap .um-form .um-button:hover,
html body .cyber-login-wrap .um a.um-button:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

/* フォームリンク → シアン（ネイビーカード上） */
html body.page #primary .um.um-login a:not(.um-button),
html body.page #primary .um.um-register a:not(.um-button) {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
    text-decoration: underline !important;
}

/* エラー → 赤文字 */
html body.page #primary .um-form .um-error,
html body.page #primary .um-form .um-error * {
    color: #ff6b6b !important;
    -webkit-text-fill-color: #ff6b6b !important;
}

/* select2 ドロップダウン */
html body.page #primary .um-form .select2-container .select2-selection {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* --- (B) マイアカウント ネイビーコンテンツエリア → 白文字 --- */
/* Page Content (1,1,3) を (1,3,3) で上書き */
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content h1,
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content h2,
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content h3,
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content h4,
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content p,
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content label,
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content legend,
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content td,
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content th {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
}

/* マイアカウント内ボタン → 白文字キープ */
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content a.button,
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content a.woocommerce-button,
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content button,
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content input[type="submit"] {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* マイアカウント内リンク → シアン */
html body.page.woocommerce-account #primary .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button) {
    color: var(--rb-accent-cyan) !important;
    -webkit-text-fill-color: var(--rb-accent-cyan) !important;
}

/* --- (C) wp-block-heading ネオン/グラデーション完全除去 --- */
html body.page #primary h2.wp-block-heading,
html body.page #primary h1.wp-block-heading {
    text-shadow: none !important;
    background: none !important;
    background-image: none !important;
    background-color: transparent !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
}

/* --- (D) カート見出し - グラデーション背景完全除去 --- */
html body.woocommerce-cart #primary h2.wp-block-heading,
html body.woocommerce-cart .entry-content h2.wp-block-heading,
html body.woocommerce-cart .entry-content h2 {
    color: var(--rb-white) !important;
    -webkit-text-fill-color: var(--rb-white) !important;
    text-shadow: none !important;
    background: none !important;
    background-image: none !important;
    background-color: transparent !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
}

/* --- (E) ガチャ詳細 .detail-non 通知 - ネオン除去 --- */
html body .detail-non,
html body p.detail-non {
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
    text-shadow: none !important;
    background: rgba(255, 255, 255, 0.05) !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    padding: 16px !important;
}

/* =====================================================
   Responsive
   ===================================================== */
@media screen and (max-width: 768px) {
    #sp-menu-dropdown, .menu-dropdown {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        border-radius: 0 !important;
        background: var(--rb-navy) !important;
    }

    .rank-card-img { max-width: 280px !important; width: 280px !important; }
    .gacha-grid { gap: 12px !important; }

    .tabs-container { justify-content: flex-start !important; }

    html body .button-container,
    .button-container { padding: 12px !important; }

    html body .gacha-button-top,
    .button-container button { font-size: 0.9rem !important; padding: 12px !important; }

    html body.page .entry-content,
    body.page .entry-content { padding: 10px !important; }

    /* SP: マイアカウント枠切れ防止 */
    html body.woocommerce-account .woocommerce-MyAccount-navigation,
    html body.woocommerce-account .woocommerce-MyAccount-content,
    html body .woocommerce-MyAccount-navigation,
    html body .woocommerce-MyAccount-content {
        box-sizing: border-box !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 15px !important;
        border-radius: 12px !important;
        overflow: hidden !important;
    }

    /* SP: パスワード目アイコン位置修正 */
    html body .password-input,
    html body span.password-input,
    html body.woocommerce-account .password-input {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    html body .show-password-input,
    html body button.show-password-input,
    html body span.show-password-input,
    html body .password-input .show-password-input {
        position: absolute !important;
        right: 8px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        padding: 4px !important;
        font-size: 14px !important;
        line-height: 1 !important;
        background: transparent !important;
        border: none !important;
        z-index: 10 !important;
        overflow: hidden !important;
    }

    html body .password-input input[type="password"],
    html body .password-input input[type="text"] {
        padding-right: 44px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    html body.woocommerce-account button,
    html body.woocommerce-account .button {
        width: 100% !important;
        padding: 12px 20px !important;
    }

    /* SP: パスワードボタンはフルwidthにしない */
    html body.woocommerce-account .show-password-input,
    html body.woocommerce-account button.show-password-input,
    html body.woocommerce-account span.show-password-input {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        padding: 4px !important;
    }

    .cyber-login-wrap .um,
    .cyber-register-wrap .um,
    .cyber-account-wrap .um {
        padding: 2em 1.5em !important;
        margin: 1em auto !important;
    }

    /* カートテーブル */
    html body.woocommerce-cart table.shop_table {
        border-radius: 8px !important;
    }

    html body.woocommerce-cart table.shop_table td {
        padding: 10px 12px !important;
    }

    /* チェックアウト */
    html body .cyber-checkout-wrapper {
        padding: 24px 16px !important;
        margin: 10px !important;
    }

    /* ログイン/登録フォーム */
    html body .woocommerce-form-login,
    html body .woocommerce-form-register {
        padding: 20px 16px !important;
    }

    /* 商品サマリー */
    html body.single-product .summary.entry-summary,
    html body.single-product div.summary {
        padding: 20px !important;
    }

    /* ページネーション */
    html body .woocommerce-pagination a.page-numbers,
    html body span.page-numbers.current {
        padding: 6px 10px !important;
        font-size: 0.9rem !important;
    }

    /* コレクション */
    html body .collection-filter {
        justify-content: flex-start !important;
    }

    html body .collection-filter .filter-link,
    html body .collection-filter a {
        padding: 8px 14px !important;
        font-size: 13px !important;
    }

    html body .gacha-result-form {
        padding: 16px !important;
        border-radius: 12px !important;
    }

    html body .add-submit-button {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        padding: 10px 12px !important;
    }

    html body .add-submit-button button {
        margin: 0 !important;
        padding: 10px 12px !important;
        font-size: 13px !important;
        width: 100% !important;
    }
}

@media screen and (max-width: 480px) {
    .rank-card-img { max-width: 240px !important; width: 240px !important; }
}
