@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ - Reshine Luxury Design Customization
    Version: 1.2.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ==========================================================================
   1. Design System & Typography (TCD109 Hotel/Wedding Luxury Theme Concept)
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Noto+Serif+JP:wght@300;400;500;600&family=Inter:wght@300;400;500;600&display=swap');

:root {
	/* Color Palette: Dress Colors Stand Out Monotone & Champagne Gold */
	--rs-color-bg: #FCFBF9;
	--rs-color-surface: #FFFFFF;
	--rs-color-surface-sub: #F7F5F0;
	--rs-color-surface-dark: #1A1918;
	--rs-color-text-main: #222120;
	--rs-color-text-sub: #5E5B56;
	--rs-color-text-muted: #99958F;
	--rs-color-accent: #B39252;
	--rs-color-accent-hover: #96783B;
	--rs-color-accent-light: #F4EEDF;
	--rs-color-border: #E8E4DC;
	--rs-color-border-light: #F1EDE5;

	/* Gold Gradients & Luxury Accents */
	--rs-gradient-gold: linear-gradient(135deg, #C5A059 0%, #D4AF37 50%, #B39252 100%);
	--rs-gradient-gold-subtle: linear-gradient(135deg, rgba(197, 160, 89, 0.12) 0%, rgba(179, 146, 82, 0.04) 100%);
	--rs-gradient-dark-overlay: linear-gradient(180deg, rgba(26, 25, 24, 0.3) 0%, rgba(26, 25, 24, 0.85) 100%);

	/* Typography */
	--rs-font-serif: 'Noto Serif JP', 'Cormorant Garamond', 'Yu Mincho', YuMincho, serif;
	--rs-font-en-serif: 'Cormorant Garamond', 'Noto Serif JP', serif;
	--rs-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", sans-serif;

	/* Transitions & Shadows */
	--rs-transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	--rs-transition-fast: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	--rs-shadow-subtle: 0 4px 20px rgba(0, 0, 0, 0.04);
	--rs-shadow-hover: 0 16px 36px rgba(28, 27, 26, 0.08), 0 0 1px rgba(179, 146, 82, 0.25);
	--rs-shadow-gold-hover: 0 20px 40px rgba(179, 146, 82, 0.16);
}

/* Base Body Styling Reset for Luxury Feel */
body {
	background-color: var(--rs-color-bg);
	color: var(--rs-color-text-main);
	font-family: var(--rs-font-sans);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	letter-spacing: 0.03em;
}

/* Serif Class Helpers */
.rs-serif {
	font-family: var(--rs-font-serif);
}

.rs-en-serif {
	font-family: var(--rs-font-en-serif);
	letter-spacing: 0.1em;
}

/* ==========================================================================
   2. Front Page Hero Section
   ========================================================================== */
.rs-hero-container {
	position: relative;
	width: 100vw;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	margin-bottom: 80px;
	overflow: hidden;
	background-color: var(--rs-color-surface-dark);
}

.rs-hero-inner {
	position: relative;
	max-width: 1240px;
	margin: 0 auto;
	padding: 40px 20px;
}

.rs-hero-visual {
	position: relative;
	width: 100%;
	border-radius: 2px;
	overflow: hidden;
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35);
}

.rs-hero-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	transition: transform 12s cubic-bezier(0.16, 1, 0.3, 1);
}

.rs-hero-container:hover .rs-hero-img {
	transform: scale(1.04);
}

/* Decorative Hero Overlay Text Banner */
.rs-hero-caption {
	text-align: center;
	padding: 48px 24px 32px;
	color: var(--rs-color-surface);
	background: var(--rs-gradient-dark-overlay);
}

.rs-hero-badge {
	display: inline-block;
	font-family: var(--rs-font-en-serif);
	font-size: 11px;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--rs-color-accent);
	border: 1px solid rgba(179, 146, 82, 0.4);
	padding: 4px 16px;
	margin-bottom: 16px;
}

.rs-hero-subhead {
	font-family: var(--rs-font-en-serif);
	font-size: 13px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: #D4AF37;
	margin-bottom: 14px;
	display: block;
}

.rs-hero-title {
	font-family: var(--rs-font-serif);
	font-size: 28px;
	font-weight: 400;
	letter-spacing: 0.14em;
	line-height: 1.6;
	color: var(--rs-color-surface);
	margin: 0 0 20px;
}

.rs-hero-gold-line {
	width: 40px;
	height: 1px;
	background: var(--rs-gradient-gold);
	margin: 0 auto;
}

@media (min-width: 768px) {
	.rs-hero-container {
		margin-bottom: 100px;
	}

	.rs-hero-inner {
		padding: 60px 40px;
	}

	.rs-hero-title {
		font-size: 40px;
	}
}

/* ==========================================================================
   3. Front Page Sections Layout & Aesthetics
   ========================================================================== */
.rs-section {
	margin-bottom: 90px;
}

.rs-section-header {
	text-align: center;
	margin-bottom: 52px;
	position: relative;
}

.rs-section-en {
	display: block;
	font-family: var(--rs-font-en-serif);
	font-size: 13px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--rs-color-accent);
	margin-bottom: 8px;
}

.entry-content .rs-section-title,
.p-entry__content .rs-section-title,
.p-entry__content h2.rs-section-title,
h2.rs-section-title {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	color: var(--rs-color-text-main) !important;
	font-family: var(--rs-font-serif) !important;
	font-size: 24px !important;
	font-weight: 500 !important;
	letter-spacing: 0.1em !important;
	margin: 0 !important;
	display: inline-block !important;
	position: relative;
}

.entry-content .rs-section-title::before,
.p-entry__content .rs-section-title::before {
	display: none !important;
}

.entry-content .rs-section-title::after,
.p-entry__content .rs-section-title::after,
.rs-section-title::after {
	content: '';
	display: block;
	width: 36px;
	height: 1px;
	background: var(--rs-gradient-gold);
	margin: 16px auto 0;
}

@media (min-width: 768px) {
	.rs-section {
		margin-bottom: 120px;
	}

	.entry-content .rs-section-title,
	.p-entry__content .rs-section-title,
	.p-entry__content h2.rs-section-title,
	.rs-section-title {
		font-size: 32px !important;
	}
}

/* ==========================================================================
   4. Concept / Feature Cards (Hotel-like Editorial Layout)
   ========================================================================== */
.rs-concept-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	margin-top: 40px;
}

@media (min-width: 768px) {
	.rs-concept-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 32px;
	}
}

.rs-concept-card {
	background: var(--rs-color-surface);
	border: 1px solid var(--rs-color-border-light);
	padding: 44px 30px;
	text-align: center;
	transition: var(--rs-transition-smooth);
	position: relative;
	box-shadow: var(--rs-shadow-subtle);
}

.rs-concept-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--rs-gradient-gold);
	opacity: 0;
	transition: var(--rs-transition-smooth);
}

.rs-concept-card:hover {
	transform: translateY(-6px);
	border-color: var(--rs-color-border);
	box-shadow: var(--rs-shadow-gold-hover);
}

.rs-concept-card:hover::before {
	opacity: 1;
}

.rs-concept-num {
	font-family: var(--rs-font-en-serif);
	font-size: 36px;
	color: var(--rs-color-accent);
	opacity: 0.75;
	display: block;
	margin-bottom: 16px;
	font-weight: 300;
}

.rs-concept-title {
	font-family: var(--rs-font-serif);
	font-size: 19px;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--rs-color-text-main);
	margin: 0 0 16px;
}

.rs-concept-desc {
	font-size: 13px;
	line-height: 1.95;
	color: var(--rs-color-text-sub);
	margin: 0;
}

/* ==========================================================================
   5. Category Visual Shortcuts (Grid & Cards)
   ========================================================================== */
.rs-category-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}

@media (min-width: 600px) {
	.rs-category-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 28px;
	}
}

.rs-category-card,
a.rs-category-card {
	display: block !important;
	position: relative !important;
	background-color: var(--rs-color-surface-sub, #F7F5F0) !important;
	background: #F7F5F0 !important;
	border: 1px solid var(--rs-color-border, #E8E4DC) !important;
	padding: 48px 24px !important;
	text-align: center !important;
	text-decoration: none !important;
	color: var(--rs-color-text-main, #222120) !important;
	transition: var(--rs-transition-smooth) !important;
	overflow: hidden !important;
	box-shadow: var(--rs-shadow-subtle) !important;
}

.rs-category-card::before,
a.rs-category-card::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background: var(--rs-gradient-gold-subtle) !important;
	opacity: 0 !important;
	transition: var(--rs-transition-smooth) !important;
	z-index: 1 !important;
}

.rs-category-card:hover,
a.rs-category-card:hover {
	background-color: var(--rs-color-surface, #FFFFFF) !important;
	background: #FFFFFF !important;
	border-color: var(--rs-color-accent, #B39252) !important;
	box-shadow: var(--rs-shadow-gold-hover) !important;
	transform: translateY(-4px) !important;
}

.rs-category-card:hover::before,
a.rs-category-card:hover::before {
	opacity: 1 !important;
}


.rs-category-card__content {
	position: relative;
	z-index: 2;
}

.rs-category-card__en {
	display: block;
	font-family: var(--rs-font-en-serif);
	font-size: 11px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--rs-color-accent, #B39252);
	margin-bottom: 8px;
	transition: var(--rs-transition-smooth);
}

.rs-category-card:hover .rs-category-card__en {
	color: var(--rs-color-accent-hover, #96783B);
}

.rs-category-card__title {
	font-family: var(--rs-font-serif);
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: var(--rs-color-text-main, #222120);
	margin: 0 0 14px;
}

.rs-category-card__action {
	display: inline-block;
	font-family: var(--rs-font-en-serif);
	font-size: 11px;
	letter-spacing: 0.2em;
	color: var(--rs-color-text-sub, #5E5B56);
	opacity: 0.85;
	transition: var(--rs-transition-smooth);
}

.rs-category-card:hover .rs-category-card__action {
	opacity: 1;
	transform: translateX(4px);
	color: var(--rs-color-accent, #B39252);
}


/* ==========================================================================
   6. Buttons & CTA Styling
   ========================================================================== */
.rs-btn,
a.rs-btn,
.woocommerce-Button.button,
a.woocommerce-Button.button {
	display: inline-block;
	background-color: transparent !important;
	color: var(--rs-color-text-main) !important;
	border: 1px solid var(--rs-color-text-main) !important;
	padding: 14px 44px !important;
	font-family: var(--rs-font-sans) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	text-decoration: none !important;
	text-align: center;
	border-radius: 0 !important;
	transition: var(--rs-transition-smooth) !important;
	cursor: pointer;
	box-shadow: none !important;
}

.rs-btn:hover,
a.rs-btn:hover,
.woocommerce-Button.button:hover,
a.woocommerce-Button.button:hover {
	background-color: var(--rs-color-text-main) !important;
	color: var(--rs-color-surface) !important;
	border-color: var(--rs-color-text-main) !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(34, 33, 32, 0.15) !important;
}

/* Accent Gold Button Variant */
.rs-btn--accent,
a.rs-btn--accent {
	background: var(--rs-gradient-gold) !important;
	color: var(--rs-color-surface) !important;
	border: 1px solid var(--rs-color-accent) !important;
}

.rs-btn--accent:hover,
a.rs-btn--accent:hover {
	background-color: var(--rs-color-accent-hover) !important;
	border-color: var(--rs-color-accent-hover) !important;
	color: var(--rs-color-surface) !important;
	box-shadow: var(--rs-shadow-gold-hover) !important;
}

/* Full Width Button Variant */
.rs-btn--full {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* ==========================================================================
   7. WooCommerce Product Cards Alignment & Styling
   ========================================================================== */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 20px !important;
	padding: 0 !important;
	margin: 0 0 40px !important;
}

/* WooCommerce旧来のfloatクリアフィックス用::before/::afterが、display:gridの下では
   実際のグリッドアイテムとして1コマ消費してしまう（先頭に空白マスができる）ため無効化 */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none !important;
	display: none !important;
}

@media (min-width: 768px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(4, 1fr) !important;
		gap: 28px !important;
	}
}

.woocommerce ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	background: var(--rs-color-surface);
	border: 1px solid var(--rs-color-border-light);
	padding: 0 !important;
	transition: var(--rs-transition-smooth);
	position: relative;
	display: flex;
	flex-direction: column;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-6px);
	box-shadow: var(--rs-shadow-hover);
	border-color: var(--rs-color-accent);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: block;
	text-decoration: none;
	color: inherit;
	overflow: hidden;
}

.woocommerce ul.products li.product img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 3 / 4;
	object-fit: cover !important;
	display: block;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
}

.woocommerce ul.products li.product:hover img {
	transform: scale(1.04);
	opacity: 0.95;
}

/* Price & Button area in product loop */
.woocommerce ul.products li.product .price {
	font-family: var(--rs-font-en-serif);
	font-size: 17px !important;
	font-weight: 500;
	color: var(--rs-color-text-main) !important;
	margin: 14px 16px 10px !important;
	text-align: center;
	letter-spacing: 0.05em;
}

.woocommerce ul.products li.product .button {
	margin: 8px 16px 16px !important;
	padding: 10px 16px !important;
	font-size: 12px !important;
	display: block !important;
	text-align: center !important;
}

/* ==========================================================================
   8. Banner / Pro-Athlete Section
   ========================================================================== */
.rs-pro-banner {
	background-color: var(--rs-color-surface-dark);
	border-top: 1px solid rgba(179, 146, 82, 0.3);
	border-bottom: 1px solid rgba(179, 146, 82, 0.3);
	padding: 56px 28px;
	text-align: center;
	margin-bottom: 80px;
	position: relative;
	overflow: hidden;
	width: 100vw;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

.rs-pro-banner::before {
	content: '';
	position: absolute;
	top: 10px;
	left: 10px;
	right: 10px;
	bottom: 10px;
	border: 1px solid rgba(179, 146, 82, 0.15);
	pointer-events: none;
}

.rs-pro-banner__en {
	font-family: var(--rs-font-en-serif);
	font-size: 12px;
	letter-spacing: 0.3em;
	color: var(--rs-color-accent);
	display: block;
	margin-bottom: 10px;
}

.rs-pro-banner__title {
	font-family: var(--rs-font-serif);
	font-size: 24px;
	font-weight: 400;
	color: var(--rs-color-surface);
	margin: 0 0 18px;
	letter-spacing: 0.1em;
}

.rs-pro-banner__desc {
	font-size: 14px;
	color: #CCCCCC;
	line-height: 1.85;
	max-width: 660px;
	margin: 0 auto 32px;
}

/* ==========================================================================
   9. Header & Navigation Refinement
   ========================================================================== */
#header {
	border-bottom: 1px solid var(--rs-color-border-light);
	background-color: var(--rs-color-surface);
}

.c-headTitle__title,
.c-gnav__link {
	font-family: var(--rs-font-serif) !important;
	letter-spacing: 0.08em !important;
}

/* Status Badges & Table Enhancements */
.rs-status-badge {
	display: inline-block;
	padding: 4px 10px;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.05em;
	border-radius: 2px;
}

.rs-status-badge--authorized {
	background: var(--rs-color-accent-light);
	color: var(--rs-color-accent-hover);
	border: 1px solid var(--rs-color-accent);
}

.rs-status-badge--inspection {
	background: #EBF3FA;
	color: #1D5B96;
	border: 1px solid #B8D4EE;
}

.rs-status-badge--completed {
	background: #EAF5ED;
	color: #1E6B37;
	border: 1px solid #B5E0C2;
}

/* ==========================================================================
   10. For Pro Athletes Landing Page (.rs-pro-lp-*)
   ========================================================================== */
.rs-pro-lp {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 0 60px;
}

.rs-pro-lp-hero {
	background-color: var(--rs-color-surface-dark);
	border-top: 1px solid rgba(179, 146, 82, 0.3);
	border-bottom: 1px solid rgba(179, 146, 82, 0.3);
	padding: 64px 28px;
	text-align: center;
	margin-bottom: 72px;
	position: relative;
	box-shadow: 0 20px 48px rgba(0, 0, 0, 0.25);
	width: 100vw;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

.rs-pro-lp-hero__sub {
	font-family: var(--rs-font-en-serif);
	font-size: 12px;
	letter-spacing: 0.3em;
	color: var(--rs-color-accent);
	display: block;
	margin-bottom: 14px;
}

.rs-pro-lp-hero__title {
	font-family: var(--rs-font-serif);
	font-size: 30px;
	font-weight: 400;
	color: var(--rs-color-surface);
	line-height: 1.6;
	letter-spacing: 0.1em;
	margin: 0 0 20px;
}

.rs-pro-lp-hero__desc {
	font-size: 15px;
	color: #D1CDC7;
	line-height: 1.9;
	max-width: 720px;
	margin: 0 auto 28px;
}

.rs-pro-lp-hero__line {
	width: 48px;
	height: 1px;
	background: var(--rs-gradient-gold);
	margin: 0 auto;
}

.rs-pro-lp-section {
	margin-bottom: 88px;
}

.rs-pro-lp-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
}

@media (min-width: 768px) {
	.rs-pro-lp-hero {
		padding: 80px 40px;
	}

	.rs-pro-lp-hero__title {
		font-size: 38px;
	}

	.rs-pro-lp-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 32px;
	}
}

.rs-pro-lp-card {
	background: var(--rs-color-surface);
	border: 1px solid var(--rs-color-border-light);
	padding: 40px 32px;
	position: relative;
	transition: var(--rs-transition-smooth);
	box-shadow: var(--rs-shadow-subtle);
}

.rs-pro-lp-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--rs-gradient-gold);
	opacity: 0;
	transition: var(--rs-transition-smooth);
}

.rs-pro-lp-card:hover {
	transform: translateY(-6px);
	border-color: var(--rs-color-border);
	box-shadow: var(--rs-shadow-gold-hover);
}

.rs-pro-lp-card:hover::before {
	opacity: 1;
}

.rs-pro-lp-card__num {
	font-family: var(--rs-font-en-serif);
	font-size: 32px;
	color: var(--rs-color-accent);
	display: block;
	margin-bottom: 12px;
	font-weight: 300;
}

.rs-pro-lp-card__title {
	font-family: var(--rs-font-serif);
	font-size: 20px;
	font-weight: 500;
	color: var(--rs-color-text-main);
	margin: 0 0 14px;
	letter-spacing: 0.08em;
}

.rs-pro-lp-card__desc {
	font-size: 14px;
	line-height: 1.9;
	color: var(--rs-color-text-sub);
	margin: 0;
}

/* Steps Section */
.rs-pro-lp-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

@media (min-width: 768px) {
	.rs-pro-lp-steps {
		grid-template-columns: repeat(4, 1fr);
		gap: 20px;
	}
}

/* トップページ「お取引の流れ」フロー図のアイコン・返品サブブロック（.rs-pro-lp-stepsを流用） */
.rs-flow-icon {
	width: 40px;
	height: 40px;
	margin: 0 auto 16px;
	color: var(--rs-color-accent);
}

.rs-flow-icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.rs-flow-return {
	margin-top: 48px;
	padding-top: 40px;
	border-top: 1px dashed var(--rs-color-border);
}

.rs-flow-return__title {
	font-family: var(--rs-font-serif);
	font-size: 16px;
	font-weight: 500;
	color: var(--rs-color-text-sub);
	text-align: center;
	margin: 0 0 24px;
	letter-spacing: 0.06em;
}

@media (min-width: 768px) {
	.rs-pro-lp-steps--return {
		grid-template-columns: repeat(3, 1fr);
	}
}

.rs-pro-lp-step {
	background: var(--rs-color-surface-sub);
	border: 1px solid var(--rs-color-border);
	padding: 32px 20px;
	text-align: center;
	position: relative;
	transition: var(--rs-transition-smooth);
}

.rs-pro-lp-step:hover {
	border-color: var(--rs-color-accent);
	background: var(--rs-color-surface);
	transform: translateY(-4px);
}

.rs-pro-lp-step__badge {
	display: inline-block;
	font-family: var(--rs-font-en-serif);
	font-size: 11px;
	letter-spacing: 0.25em;
	color: var(--rs-color-surface);
	background: var(--rs-color-accent);
	padding: 4px 12px;
	margin-bottom: 16px;
}

.rs-pro-lp-step__title {
	font-family: var(--rs-font-serif);
	font-size: 17px;
	font-weight: 500;
	color: var(--rs-color-text-main);
	margin: 0 0 12px;
	letter-spacing: 0.06em;
}

.rs-pro-lp-step__desc {
	font-size: 13px;
	line-height: 1.8;
	color: var(--rs-color-text-sub);
	margin: 0;
}

/* CTA Box */
.rs-pro-lp-cta {
	background-color: var(--rs-color-surface-dark);
	border-top: 1px solid rgba(179, 146, 82, 0.35);
	border-bottom: 1px solid rgba(179, 146, 82, 0.35);
	padding: 56px 28px;
	text-align: center;
	box-shadow: 0 20px 48px rgba(0, 0, 0, 0.2);
	width: 100vw;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	position: relative;
}

.rs-pro-lp-cta__sub {
	font-family: var(--rs-font-en-serif);
	font-size: 12px;
	letter-spacing: 0.3em;
	color: var(--rs-color-accent);
	display: block;
	margin-bottom: 12px;
}

.rs-pro-lp-cta__title {
	font-family: var(--rs-font-serif);
	font-size: 26px;
	font-weight: 400;
	color: var(--rs-color-surface);
	margin: 0 0 14px;
	letter-spacing: 0.08em;
}

.rs-pro-lp-cta__desc {
	font-size: 14px;
	color: #D1CDC7;
	margin: 0 0 32px;
}

.rs-pro-lp-cta__btn {
	padding: 16px 48px !important;
	font-size: 14px !important;
}

/* ==========================================================================
   11. My Page & Seller Dashboard Design (.reshine-account-*, .reshine-modal, etc.)
   ========================================================================== */

/* Top Navigation Button Bar */
.reshine-account-button-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 40px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--rs-color-border-light);
}

.reshine-account-button-bar a {
	display: inline-block;
	background: var(--rs-color-surface) !important;
	color: var(--rs-color-text-main) !important;
	border: 1px solid var(--rs-color-border) !important;
	padding: 12px 24px !important;
	font-family: var(--rs-font-serif) !important;
	font-size: 14px !important;
	letter-spacing: 0.06em !important;
	text-decoration: none !important;
	transition: var(--rs-transition-smooth) !important;
	box-shadow: var(--rs-shadow-subtle) !important;
}

.reshine-account-button-bar a:hover {
	border-color: var(--rs-color-accent) !important;
	color: var(--rs-color-accent) !important;
	transform: translateY(-2px);
	box-shadow: var(--rs-shadow-hover) !important;
}

.reshine-account-button-bar a.is-primary {
	background: var(--rs-gradient-gold) !important;
	color: var(--rs-color-surface) !important;
	border-color: var(--rs-color-accent) !important;
	font-weight: 500 !important;
}

.reshine-account-button-bar a.is-primary:hover {
	background-color: var(--rs-color-accent-hover) !important;
	box-shadow: var(--rs-shadow-gold-hover) !important;
	color: var(--rs-color-surface) !important;
}

/* Back Button Bar */
.reshine-account-back-bar {
	margin-bottom: 28px;
}

.reshine-account-back-bar a {
	display: inline-flex;
	align-items: center;
	font-family: var(--rs-font-serif);
	font-size: 14px;
	color: var(--rs-color-text-sub);
	text-decoration: none;
	transition: var(--rs-transition-smooth);
}

.reshine-account-back-bar a:hover {
	color: var(--rs-color-accent);
	transform: translateX(-3px);
}

/* Username Badge in Page Title */
.reshine-account-username {
	font-family: var(--rs-font-serif) !important;
	font-size: 14px !important;
	color: var(--rs-color-accent) !important;
	background: var(--rs-color-accent-light) !important;
	border: 1px solid var(--rs-color-border-light) !important;
	padding: 4px 14px !important;
	margin-left: 14px !important;
	display: inline-block !important;
	vertical-align: middle !important;
}

/* Setup Checklist Box */
.reshine-onboarding-checklist {
	background: var(--rs-color-surface) !important;
	border: 1px solid var(--rs-color-border) !important;
	padding: 32px 28px !important;
	box-shadow: var(--rs-shadow-subtle) !important;
	margin-bottom: 36px !important;
}

.reshine-onboarding-checklist h3 {
	font-family: var(--rs-font-serif) !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	margin-bottom: 20px !important;
	letter-spacing: 0.06em !important;
}

/* Zebra Tables */
.reshine-zebra-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 28px;
	font-size: 14px;
}

.reshine-zebra-table th {
	background: var(--rs-color-surface-sub);
	color: var(--rs-color-text-main);
	font-family: var(--rs-font-serif);
	font-weight: 500;
	padding: 14px 16px;
	text-align: left;
	border-bottom: 2px solid var(--rs-color-border);
}

.reshine-zebra-table td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--rs-color-border-light);
	transition: var(--rs-transition-fast);
}

.reshine-zebra-table tbody tr:nth-child(even) {
	background: #FAFAFA;
}

.reshine-zebra-table tbody tr:hover {
	background: var(--rs-color-accent-light);
	cursor: pointer;
}

/* ==========================================================================
   12. Single Product Page Luxury Design (.reshine-gallery, .reshine-spec-table, etc.)
   ========================================================================== */

/* Product Carousel Gallery */
.reshine-gallery {
	position: relative;
	overflow: hidden;
	border-radius: 2px;
	border: 1px solid var(--rs-color-border-light);
	background: var(--rs-color-surface-dark);
	box-shadow: var(--rs-shadow-subtle);
	margin-bottom: 24px;
}

.reshine-gallery-track {
	display: flex;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	touch-action: pan-y;
}

.reshine-gallery-slide {
	flex: 0 0 100%;
}

.reshine-gallery-slide img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	display: block;
}

.reshine-gallery-prev,
.reshine-gallery-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(8px);
	border: 1px solid var(--rs-color-border-light);
	color: var(--rs-color-text-main);
	font-size: 20px;
	line-height: 38px;
	text-align: center;
	cursor: pointer;
	z-index: 5;
	transition: var(--rs-transition-fast);
}

.reshine-gallery-prev:hover,
.reshine-gallery-next:hover {
	background: var(--rs-color-surface);
	color: var(--rs-color-accent);
	box-shadow: var(--rs-shadow-subtle);
}

.reshine-gallery-prev {
	left: 12px;
}

.reshine-gallery-next {
	right: 12px;
}

.reshine-gallery-dots {
	position: absolute;
	bottom: 12px;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	gap: 6px;
	z-index: 5;
}

.reshine-gallery-dot {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	transition: var(--rs-transition-smooth);
	cursor: pointer;
}

.reshine-gallery-dot.is-active {
	width: 20px;
	border-radius: 4px;
	background: var(--rs-color-accent);
}

/* Specifications Table */
.reshine-spec-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 24px;
	font-size: 14px;
	border: 1px solid var(--rs-color-border-light);
}

.reshine-spec-table th {
	background: var(--rs-color-surface-sub);
	color: var(--rs-color-text-main);
	font-family: var(--rs-font-serif);
	font-weight: 500;
	padding: 10px 14px;
	text-align: left;
	width: 140px;
	border-bottom: 1px solid var(--rs-color-border-light);
}

.reshine-spec-group-header th {
	background: var(--rs-color-accent-light) !important;
	color: var(--rs-color-text-main) !important;
	font-family: var(--rs-font-serif) !important;
	font-size: 13px !important;
	letter-spacing: 0.08em !important;
	padding: 10px 14px !important;
	border-left: 3px solid var(--rs-color-accent) !important;
	border-bottom: 1px solid var(--rs-color-border-light) !important;
	width: 100% !important;
}

.reshine-spec-table td {
	padding: 10px 14px;
	color: var(--rs-color-text-main);
	border-bottom: 1px solid var(--rs-color-border-light);
	background: var(--rs-color-surface);
}

.reshine-spec-table tr:last-child th,
.reshine-spec-table tr:last-child td {
	border-bottom: none;
}

/* チェックアウトの郵便番号ヒント文言（.description）が、WooCommerce標準の決済方法説明用
   吹き出しツールチップCSSとクラス名が衝突し、青い吹き出し状にズレて表示される不具合の修正 */
.woocommerce-checkout .form-row .description {
	position: static !important;
	display: block !important;
	background: none !important;
	color: var(--rs-color-text-sub, #666) !important;
	padding: 4px 0 0 !important;
	margin: 4px 0 0 !important;
	border-radius: 0 !important;
	font-size: 12px !important;
	clear: none !important;
}

.woocommerce-checkout .form-row .description::before {
	display: none !important;
}

/* WooCommerce Single Product Summary & Buttons */
.single-product .summary .price,
.single-product .summary .price .woocommerce-Price-amount,
.single-product .summary .price .woocommerce-Price-amount bdi {
	font-family: 'Noto Serif JP', var(--rs-font-serif);
	font-size: 44px !important;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--rs-color-text-main) !important;
}

.single-product .summary .price {
	margin-bottom: 20px !important;
}

.single-product .summary .product_meta {
	font-size: 12px !important;
	color: var(--rs-color-text-sub) !important;
}

.single-product .summary .single_add_to_cart_button {
	width: 100% !important;
	background: var(--rs-gradient-gold) !important;
	color: var(--rs-color-surface) !important;
	border: 1px solid var(--rs-color-accent) !important;
	padding: 16px 32px !important;
	font-family: var(--rs-font-sans) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: 0.12em !important;
	border-radius: 0 !important;
	transition: var(--rs-transition-smooth) !important;
	box-shadow: var(--rs-shadow-gold-hover) !important;
}

.single-product .summary .single_add_to_cart_button:hover {
	background-color: var(--rs-color-accent-hover) !important;
	transform: translateY(-2px);
}

@media (max-width: 600px) {
	.single-product .summary .price {
		text-align: right;
	}

	.single-product .summary .cart {
		display: flex;
		justify-content: flex-end;
	}

	.single-product .summary .single_add_to_cart_button {
		width: auto !important;
		min-width: 240px;
	}
}

/* WooCommerce Product Tabs Override */
.woocommerce-tabs ul.tabs {
	display: flex !important;
	border-bottom: 1px solid var(--rs-color-border) !important;
	padding: 0 !important;
	margin-bottom: 28px !important;
}

.woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: none !important;
	margin: 0 24px 0 0 !important;
	padding: 0 0 12px !important;
	border-radius: 0 !important;
}

.woocommerce-tabs ul.tabs li a {
	font-family: var(--rs-font-serif) !important;
	font-size: 16px !important;
	color: var(--rs-color-text-sub) !important;
	padding: 0 !important;
}

.woocommerce-tabs ul.tabs li.active {
	border-bottom: 2px solid var(--rs-color-accent) !important;
}

.woocommerce-tabs ul.tabs li.active a {
	color: var(--rs-color-text-main) !important;
	font-weight: 500 !important;
}

/* ==========================================================================
   13. Shop Loop & Layered Filter Design (.reshine-shop-filter)
   ========================================================================== */
.reshine-shop-filter {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	background: var(--rs-color-surface);
	border: 1px solid var(--rs-color-border-light);
	padding: 20px 24px;
	margin-bottom: 36px !important;
	box-shadow: var(--rs-shadow-subtle);
}

.reshine-shop-filter__label {
	font-family: var(--rs-font-en-serif);
	font-size: 11px;
	letter-spacing: 0.25em;
	color: var(--rs-color-accent);
	text-transform: uppercase;
	margin-right: 8px;
}

.reshine-shop-filter select {
	background-color: var(--rs-color-bg);
	border: 1px solid var(--rs-color-border);
	color: var(--rs-color-text-main);
	font-family: var(--rs-font-serif);
	font-size: 13px;
	padding: 10px 36px 10px 16px;
	border-radius: 0;
	cursor: pointer;
	transition: var(--rs-transition-fast);
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%3CB39252' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	min-width: 160px;
}

.reshine-shop-filter select:hover,
.reshine-shop-filter select:focus {
	border-color: var(--rs-color-accent);
	outline: none;
	box-shadow: 0 0 0 1px var(--rs-color-accent);
}

.reshine-shop-filter__submit {
	background-color: var(--rs-color-accent);
	border: 1px solid var(--rs-color-accent);
	color: #fff;
	font-family: var(--rs-font-serif);
	font-size: 13px;
	letter-spacing: 0.05em;
	padding: 10px 24px;
	border-radius: 0;
	cursor: pointer;
	transition: var(--rs-transition-fast);
}

.reshine-shop-filter__submit:hover {
	background-color: var(--rs-color-accent-hover);
	border-color: var(--rs-color-accent-hover);
}

.reshine-shop-filter__reset {
	font-family: var(--rs-font-serif);
	font-size: 12px;
	color: var(--rs-color-text-sub);
	text-decoration: underline;
	margin-left: auto;
	cursor: pointer;
	transition: var(--rs-transition-fast);
}

.reshine-shop-filter__reset:hover {
	color: var(--rs-color-accent);
}

/* ==========================================================================
   14. Dress Listing Form & Wizard Design (.reshine-listing-form)
   ========================================================================== */

.reshine-listing-form {
	background: var(--rs-color-surface);
	border: 1px solid var(--rs-color-border-light);
	padding: 36px 28px;
	box-shadow: var(--rs-shadow-subtle);
	margin-bottom: 40px;
}

/* Wizard Progress Indicator */
.reshine-listing-form .reshine-progress {
	font-family: var(--rs-font-en-serif);
	font-size: 13px;
	letter-spacing: 0.2em;
	color: var(--rs-color-accent);
	margin-bottom: 28px;
	text-transform: uppercase;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--rs-color-border-light);
}

.reshine-listing-form .reshine-progress-current {
	font-size: 18px;
	font-weight: 600;
	color: var(--rs-color-text-main);
}

/* Fieldsets & Legends */
.reshine-listing-form legend {
	font-family: var(--rs-font-serif) !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	margin-bottom: 20px !important;
	letter-spacing: 0.06em !important;
}

.reshine-listing-form label.reshine-label,
.reshine-listing-form .reshine-label {
	font-family: var(--rs-font-serif) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	margin-bottom: 10px !important;
	display: block;
}

/* Choice Buttons (Radio / Checkbox tiles) */
.reshine-listing-form .reshine-choice-group {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 20px;
}

.reshine-listing-form .reshine-choice-group label {
	flex: 1 0 auto;
	background: var(--rs-color-surface-sub);
	border: 1px solid var(--rs-color-border);
	padding: 12px 18px;
	text-align: center;
	cursor: pointer;
	font-size: 14px;
	font-family: var(--rs-font-sans);
	transition: var(--rs-transition-fast);
	border-radius: 0 !important;
}

.reshine-listing-form .reshine-choice-group label:hover {
	border-color: var(--rs-color-accent);
	background: var(--rs-color-accent-light);
}

.reshine-listing-form .reshine-choice-group input:checked+span,
.reshine-listing-form .reshine-choice-group label:has(input:checked) {
	border-color: var(--rs-color-accent) !important;
	background: var(--rs-color-accent-light) !important;
	color: var(--rs-color-accent-hover) !important;
	font-weight: 500;
}

/* Input Fields */
.reshine-listing-form input[type="text"],
.reshine-listing-form input[type="number"],
.reshine-listing-form input[type="file"],
.reshine-listing-form select,
.reshine-listing-form textarea,
.reshine-modal input[type="text"],
.reshine-modal input[type="number"],
.reshine-modal input[type="file"],
.reshine-modal select,
.reshine-modal textarea {
	background: var(--rs-color-surface);
	border: 1px solid var(--rs-color-border);
	padding: 12px 16px;
	font-family: var(--rs-font-sans);
	font-size: 14px;
	color: var(--rs-color-text-main);
	border-radius: 0;
	transition: var(--rs-transition-fast);
	box-sizing: border-box;
}

.reshine-listing-form input[type="text"]:focus,
.reshine-listing-form input[type="number"]:focus,
.reshine-listing-form select:focus,
.reshine-listing-form textarea:focus,
.reshine-modal input[type="text"]:focus,
.reshine-modal select:focus {
	border-color: var(--rs-color-accent);
	outline: none;
	box-shadow: 0 0 0 1px var(--rs-color-accent);
}

/* Wizard Navigation Buttons */
.reshine-listing-form .reshine-nav button {
	font-family: var(--rs-font-sans) !important;
	font-size: 14px !important;
	padding: 12px 32px !important;
}

/* Onboarding Checklist Buttons UI */
.reshine-onboarding-checklist button[data-modal-trigger] {
	width: 100%;
	box-sizing: border-box;
	text-align: left;
	padding: 16px 20px !important;
	margin-bottom: 12px !important;
	background: var(--rs-color-surface) !important;
	border: 1px solid var(--rs-color-border) !important;
	font-family: var(--rs-font-sans) !important;
	font-size: 15px !important;
	color: var(--rs-color-text-main) !important;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: var(--rs-transition-smooth) !important;
	border-radius: 0 !important;
}

.reshine-onboarding-checklist button[data-modal-trigger]:hover {
	border-color: var(--rs-color-accent) !important;
	transform: translateX(4px);
	box-shadow: var(--rs-shadow-subtle) !important;
}

/* Photo Upload Groups in Wizard */
.rs-photo-group {
	background: var(--rs-color-surface-sub);
	border: 1px solid var(--rs-color-border-light);
	padding: 24px 20px;
	margin-bottom: 24px;
}

.rs-photo-group__title {
	font-family: var(--rs-font-serif);
	font-size: 16px;
	font-weight: 500;
	color: var(--rs-color-text-main);
	margin: 0 0 6px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--rs-color-border-light);
}

.rs-photo-group__desc {
	font-size: 13px;
	color: var(--rs-color-text-sub);
	margin: 0 0 16px;
}

.rs-photo-group .reshine-field {
	margin-bottom: 14px;
}

.rs-photo-group .reshine-field:last-child {
	margin-bottom: 0;
}

/* Fullscreen Loading Overlay on Form Submit */
.reshine-loading-overlay {
	position: fixed;
	inset: 0;
	background: rgba(26, 25, 24, 0.85);
	backdrop-filter: blur(8px);
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}

.reshine-loading-box {
	background: var(--rs-color-surface);
	border: 1px solid var(--rs-color-accent);
	padding: 44px 36px;
	text-align: center;
	max-width: 440px;
	width: 100%;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
	box-sizing: border-box;
}

.reshine-spinner {
	width: 48px;
	height: 48px;
	border: 4px solid var(--rs-color-accent-light);
	border-top: 4px solid var(--rs-color-accent);
	border-radius: 50%;
	animation: rs-spin 0.9s linear infinite;
	margin: 0 auto 24px;
}

@keyframes rs-spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

.reshine-loading-title {
	font-family: var(--rs-font-serif);
	font-size: 20px;
	font-weight: 500;
	color: var(--rs-color-text-main);
	margin: 0 0 12px;
	letter-spacing: 0.08em;
}

.reshine-loading-desc {
	font-size: 13px;
	line-height: 1.8;
	color: var(--rs-color-text-sub);
	margin: 0;
}

/* Inline button spinner */
.rs-btn-spinner {
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 2px solid rgba(255, 255, 255, 0.4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: rs-spin 0.8s linear infinite;
	margin-right: 8px;
	vertical-align: middle;
}
.rs-btn.is-loading,
button[type="submit"]:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

/* ==========================================================================
   15. My Page Welcome Banner & Status Overview Card (.reshine-welcome-banner)
   ========================================================================== */
.reshine-welcome-banner {
	background: var(--rs-color-surface);
	border: 1px solid var(--rs-color-border-light);
	border-top: 3px solid var(--rs-color-accent);
	padding: 28px 24px;
	margin-bottom: 32px;
	box-shadow: var(--rs-shadow-subtle);
}

.reshine-welcome-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--rs-color-border-light);
}

.reshine-welcome-sub {
	display: block;
	font-family: var(--rs-font-en-serif) !important;
	font-size: 11px !important;
	letter-spacing: 0.25em !important;
	color: var(--rs-color-accent) !important;
	text-transform: uppercase;
	margin-bottom: 4px;
}

.reshine-welcome-name {
	font-family: var(--rs-font-serif) !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	margin: 0 !important;
	letter-spacing: 0.05em !important;
}

.reshine-welcome-honorific {
	font-family: var(--rs-font-serif) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	color: var(--rs-color-text-sub) !important;
	margin-left: 4px;
}

.reshine-welcome-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}

.reshine-welcome-card {
	position: relative;
	background: var(--rs-color-surface-sub);
	border: 1px solid var(--rs-color-border-light);
	padding: 20px 22px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: var(--rs-transition-smooth);
	cursor: pointer;
}

.rs-card-stretch-link {
	position: absolute;
	inset: 0;
	z-index: 5;
}

.reshine-welcome-card:hover {
	border-color: var(--rs-color-accent) !important;
	transform: translateY(-2px);
	box-shadow: var(--rs-shadow-subtle);
}

.reshine-welcome-card__label {
	font-family: var(--rs-font-serif) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-sub) !important;
	letter-spacing: 0.06em !important;
	margin-bottom: 10px !important;
	display: block;
}

.reshine-welcome-card__value {
	font-family: var(--rs-font-en-serif) !important;
	font-size: 32px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	line-height: 1 !important;
	margin-bottom: 12px !important;
}

.reshine-welcome-card__unit {
	font-family: var(--rs-font-serif) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: var(--rs-color-text-sub) !important;
}

.reshine-welcome-card__desc {
	font-family: var(--rs-font-sans) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	color: var(--rs-color-text-main) !important;
	line-height: 1.5 !important;
	word-break: break-all;
	margin-bottom: 12px !important;
}

.reshine-welcome-card__link {
	font-family: var(--rs-font-serif) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	color: var(--rs-color-accent) !important;
	transition: var(--rs-transition-fast);
	margin-top: auto;
	display: inline-block;
}

.reshine-welcome-card:hover .reshine-welcome-card__link {
	color: var(--rs-color-accent-hover) !important;
	text-decoration: underline;
}

.reshine-welcome-card--champagne {
	border: 1px solid var(--rs-color-accent) !important;
	background: var(--rs-color-accent-light) !important;
}

.reshine-welcome-footer {
	margin-top: 20px;
	display: flex;
	justify-content: flex-end;
}

.reshine-welcome-logout {
	font-family: var(--rs-font-serif) !important;
	font-size: 12px !important;
	color: var(--rs-color-text-sub) !important;
	text-decoration: underline;
	transition: var(--rs-transition-fast);
	position: relative;
	z-index: 6;
}

.reshine-welcome-logout:hover {
	color: var(--rs-color-accent) !important;
}

/* ==========================================================================
   17. Mobile-Optimized Sales List Cards (.reshine-sales-card)
   ========================================================================== */
.reshine-sales-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 36px;
}

.reshine-sales-card {
	display: flex;
	gap: 20px;
	background: var(--rs-color-surface);
	border: 1px solid var(--rs-color-border-light);
	padding: 20px;
	box-shadow: var(--rs-shadow-subtle);
	transition: var(--rs-transition-smooth);
	box-sizing: border-box;
}

.reshine-sales-card:hover {
	border-color: var(--rs-color-accent);
	transform: translateY(-2px);
}

.reshine-sales-card__thumb {
	flex: 0 0 90px;
	width: 90px;
	height: 120px;
	background: var(--rs-color-surface-dark);
	overflow: hidden;
	border: 1px solid var(--rs-color-border-light);
}

.reshine-sales-card__thumb img.reshine-sales-item__img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	object-fit: cover !important;
	object-position: center;
	display: block;
}

.reshine-sales-item__noimg {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	color: var(--rs-color-text-sub);
}

.reshine-sales-card__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-width: 0;
}

.reshine-sales-card__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 6px;
}

.reshine-sales-card__code {
	font-family: var(--rs-font-en-serif);
	font-size: 16px;
	font-weight: 500;
	color: var(--rs-color-text-main);
	letter-spacing: 0.05em;
}

.reshine-sales-card__meta {
	font-family: var(--rs-font-serif);
	font-size: 13px;
	color: var(--rs-color-text-sub);
	margin-bottom: 8px;
}

.reshine-sales-card__price {
	font-family: var(--rs-font-en-serif);
	font-size: 22px;
	font-weight: 500;
	color: var(--rs-color-text-main);
	margin-bottom: 8px;
}

.reshine-sales-card__tracking {
	font-size: 12px;
	color: var(--rs-color-text-sub);
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px dashed var(--rs-color-border-light);
}

.reshine-sales-card__tracking strong {
	font-family: var(--rs-font-en-serif);
	color: var(--rs-color-text-main);
	font-size: 14px;
}

.reshine-sales-card__status .rs-status-badge {
	font-size: 13px;
	padding: 5px 12px;
}

.reshine-sales-card__edit-actions {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 20px;
	margin-top: 10px;
}

.reshine-sales-card__delete-form {
	margin: 0;
	display: flex;
	align-items: center;
}

.reshine-sales-card__edit-link,
.reshine-sales-card__delete-link {
	font-family: var(--rs-font-serif);
	font-size: 14px;
	line-height: 1;
	text-decoration: underline;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
}

.reshine-sales-card__edit-link {
	color: var(--rs-color-text-sub);
}

.reshine-sales-card__edit-link:hover {
	color: var(--rs-color-accent);
}

.reshine-sales-card__delete-link {
	color: #c0392b;
}

.reshine-sales-card__delete-link:hover {
	color: #96291d;
}

@media (max-width: 600px) {
	.reshine-sales-card {
		padding: 14px;
		gap: 14px;
	}

	.reshine-sales-card__thumb {
		flex: 0 0 75px;
		width: 75px;
		height: 100px;
	}

	.reshine-sales-card__price {
		font-size: 18px;
	}
}

/* ==========================================================================
   19. Luxury Modal Dialog Container (.reshine-modal)
   ========================================================================== */
.reshine-modal {
	position: fixed;
	inset: 0;
	background: rgba(26, 25, 24, 0.75) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	z-index: 99999999 !important;
	overflow-y: auto !important;
	padding: 100px 16px 40px !important;
	box-sizing: border-box !important;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.reshine-modal>div {
	position: relative !important;
	background: var(--rs-color-surface) !important;
	border: 1px solid var(--rs-color-accent) !important;
	padding: 36px 28px !important;
	width: 100% !important;
	max-width: 640px !important;
	margin: 0 auto 40px !important;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4) !important;
	box-sizing: border-box !important;
}

.reshine-modal h3 {
	font-family: var(--rs-font-serif) !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	margin: 0 0 16px !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid var(--rs-color-border-light) !important;
}

.rs-modal-close-btn {
	background: none !important;
	border: none !important;
	color: var(--rs-color-accent) !important;
	font-family: var(--rs-font-serif) !important;
	font-size: 13px !important;
	padding: 0 0 16px !important;
	cursor: pointer;
	transition: var(--rs-transition-fast);
}

.rs-modal-close-btn:hover {
	color: var(--rs-color-accent-hover) !important;
	text-decoration: underline;
}

.rs-modal-x-close {
	position: absolute !important;
	top: 14px !important;
	right: 18px !important;
	background: none !important;
	border: none !important;
	font-size: 28px !important;
	line-height: 1 !important;
	color: var(--rs-color-text-sub) !important;
	cursor: pointer !important;
	padding: 4px 8px !important;
	transition: var(--rs-transition-fast) !important;
	z-index: 10 !important;
}

.rs-modal-x-close:hover {
	color: var(--rs-color-accent) !important;
}

@media (max-width: 600px) {
	.reshine-modal {
		padding: 70px 12px 30px !important;
	}

	.reshine-modal>div {
		padding: 24px 18px !important;
	}
}

/* Major Bank Quick Selector Pills */
.rs-bank-pill {
	background: var(--rs-color-surface-sub) !important;
	border: 1px solid var(--rs-color-border-light) !important;
	color: var(--rs-color-text-main) !important;
	font-family: var(--rs-font-serif) !important;
	font-size: 11px !important;
	padding: 4px 10px !important;
	border-radius: 12px !important;
	cursor: pointer !important;
	transition: var(--rs-transition-fast) !important;
}

.rs-bank-pill:hover {
	border-color: var(--rs-color-accent) !important;
	color: var(--rs-color-accent-hover) !important;
	background: var(--rs-color-accent-light) !important;
}

/* ==========================================================================
   20. Luxury Listing Form & Step Progress Bar (.reshine-listing-form)
   ========================================================================== */
.reshine-listing-form {
	background: var(--rs-color-surface);
	border: 1px solid var(--rs-color-border-light);
	border-top: 3px solid var(--rs-color-accent);
	padding: 36px 32px;
	box-shadow: var(--rs-shadow-subtle);
	margin-bottom: 40px;
}

.reshine-step-progress-bar {
	margin-bottom: 32px;
}

.reshine-step-progress-track {
	height: 4px;
	background: var(--rs-color-border-light);
	border-radius: 2px;
	overflow: hidden;
	margin-bottom: 12px;
}

.reshine-step-progress-fill {
	height: 100%;
	background: var(--rs-color-accent);
	transition: width 0.3s ease;
}

.reshine-step-progress-text {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--rs-font-serif);
	font-size: 13px;
}

.reshine-step-badge {
	font-family: var(--rs-font-en-serif);
	font-size: 12px;
	letter-spacing: 0.1em;
	color: var(--rs-color-accent);
}

.reshine-step-title-display {
	color: var(--rs-color-text-main);
	font-weight: 500;
}

.reshine-listing-form legend {
	font-family: var(--rs-font-serif) !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	padding-bottom: 10px !important;
	border-bottom: 1px solid var(--rs-color-border-light) !important;
	margin-bottom: 24px !important;
	width: 100%;
}

.reshine-listing-form .reshine-choice-group {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.reshine-listing-form .reshine-choice-group label {
	background: var(--rs-color-surface-sub);
	border: 1px solid var(--rs-color-border-light);
	border-radius: 2px;
	padding: 12px 20px;
	font-size: 14px;
	font-weight: 400;
	color: var(--rs-color-text-main);
	transition: var(--rs-transition-fast);
	cursor: pointer;
}

.reshine-listing-form .reshine-choice-group label.is-selected,
.reshine-listing-form .reshine-choice-group label:has(input:checked) {
	border-color: var(--rs-color-accent) !important;
	background: var(--rs-color-accent-light) !important;
	color: var(--rs-color-text-main) !important;
	font-weight: 500;
}

.rs-photo-group {
	background: var(--rs-color-surface-sub);
	border: 1px solid var(--rs-color-border-light);
	padding: 20px 22px;
	margin-bottom: 20px;
}

.rs-photo-group__title {
	font-family: var(--rs-font-serif);
	font-size: 15px;
	font-weight: 500;
	color: var(--rs-color-text-main);
	margin: 0 0 4px;
}

.rs-photo-group__desc {
	font-size: 12px;
	color: var(--rs-color-text-sub);
	margin: 0 0 16px;
}

@media (max-width: 600px) {
	.reshine-listing-form {
		padding: 24px 18px;
	}
}

/* ==========================================================================
   21. Single Product Luxury Styling (.reshine-product-badges & .rs-specs-table)
   ========================================================================== */
.reshine-product-badges .rs-badge {
	font-family: var(--rs-font-serif);
	font-size: 11px;
	padding: 5px 12px;
	border-radius: 2px;
	letter-spacing: 0.05em;
	display: inline-block;
}

.rs-badge--gold {
	background: var(--rs-color-accent-light);
	border: 1px solid var(--rs-color-accent);
	color: var(--rs-color-text-main);
}

.rs-badge--dark {
	background: #2a2825;
	color: #e5d2b8;
}

.rs-badge--accent {
	background: var(--rs-color-surface-sub);
	border: 1px solid var(--rs-color-border-light);
	color: var(--rs-color-text-main);
}

.single-product .single_add_to_cart_button {
	background: var(--rs-color-accent) !important;
	color: var(--rs-color-surface) !important;
	font-family: var(--rs-font-serif) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	padding: 16px 36px !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: 0 4px 16px rgba(184, 134, 11, 0.25) !important;
	transition: var(--rs-transition-fast) !important;
	width: 100% !important;
	max-width: 320px !important;
	text-align: center !important;
}

.single-product .single_add_to_cart_button:hover {
	background: var(--rs-color-accent-hover) !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(184, 134, 11, 0.35) !important;
}

/* ==========================================================================
   22. Luxury Account & Address Edit Forms (.woocommerce-EditAccountForm & .woocommerce-address-fields)
   ========================================================================== */
.woocommerce-EditAccountForm,
.woocommerce-address-fields,
form[name="edit_address"] {
	background: var(--rs-color-surface) !important;
	border: 1px solid var(--rs-color-border-light) !important;
	border-top: 3px solid var(--rs-color-accent) !important;
	padding: 36px 32px !important;
	box-shadow: var(--rs-shadow-subtle) !important;
	margin-bottom: 40px !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.woocommerce-EditAccountForm fieldset {
	border: none !important;
	padding: 0 !important;
	margin: 28px 0 20px !important;
	border-top: 1px solid var(--rs-color-border-light) !important;
	padding-top: 20px !important;
}

.woocommerce-EditAccountForm legend {
	font-family: var(--rs-font-serif) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	padding-bottom: 8px !important;
	margin-bottom: 16px !important;
	float: none !important;
	width: auto !important;
}

.woocommerce-EditAccountForm .woocommerce-form-row,
.woocommerce-address-fields .woocommerce-form-row {
	margin-bottom: 20px !important;
	width: 100% !important;
}

.woocommerce-EditAccountForm .woocommerce-form-row-first,
.woocommerce-EditAccountForm .woocommerce-form-row-last,
.woocommerce-address-fields .woocommerce-form-row-first,
.woocommerce-address-fields .woocommerce-form-row-last {
	width: 48% !important;
}

.woocommerce-EditAccountForm label,
.woocommerce-address-fields label {
	display: block !important;
	font-family: var(--rs-font-serif) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	margin-bottom: 6px !important;
}

.woocommerce-EditAccountForm input.input-text,
.woocommerce-address-fields input.input-text,
.woocommerce-address-fields select {
	width: 100% !important;
	max-width: 100% !important;
	padding: 10px 14px !important;
	border: 1px solid var(--rs-color-border-light) !important;
	border-radius: 2px !important;
	background: var(--rs-color-surface) !important;
	color: var(--rs-color-text-main) !important;
	font-size: 14px !important;
	box-sizing: border-box !important;
	transition: var(--rs-transition-fast) !important;
}

.woocommerce-EditAccountForm input.input-text:focus,
.woocommerce-address-fields input.input-text:focus,
.woocommerce-address-fields select:focus {
	border-color: var(--rs-color-accent) !important;
	outline: none !important;
	box-shadow: 0 0 0 2px rgba(184, 134, 11, 0.15) !important;
}

.woocommerce-EditAccountForm button.button,
.woocommerce-address-fields button.button {
	background: var(--rs-color-accent) !important;
	color: var(--rs-color-surface) !important;
	font-family: var(--rs-font-serif) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	padding: 12px 32px !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	transition: var(--rs-transition-fast) !important;
	box-shadow: 0 4px 14px rgba(184, 134, 11, 0.2) !important;
}

.woocommerce-EditAccountForm button.button:hover,
.woocommerce-address-fields button.button:hover {
	background: var(--rs-color-accent-hover) !important;
	box-shadow: 0 6px 18px rgba(184, 134, 11, 0.3) !important;
}

@media (max-width: 600px) {

	.woocommerce-EditAccountForm,
	.woocommerce-address-fields,
	form[name="edit_address"] {
		padding: 24px 18px !important;
	}

	.woocommerce-EditAccountForm .woocommerce-form-row-first,
	.woocommerce-EditAccountForm .woocommerce-form-row-last,
	.woocommerce-address-fields .woocommerce-form-row-first,
	.woocommerce-address-fields .woocommerce-form-row-last {
		width: 100% !important;
	}
}

/* ==========================================================================
   23. Universal SWELL Cart & Checkout Luxury Overrides
   ========================================================================== */

/* Cards Container (Left Table & Right Totals) */
.p-cart__table,
form.woocommerce-cart-form,
.cart-collaterals,
.cart_totals,
.p-cart__totals,
#customer_details,
#order_review {
	background: var(--rs-color-surface) !important;
	border: 1px solid var(--rs-color-border-light) !important;
	border-top: 3px solid var(--rs-color-accent) !important;
	padding: 28px 24px !important;
	box-shadow: var(--rs-shadow-subtle) !important;
	margin-bottom: 32px !important;
	box-sizing: border-box !important;
}

/* Tables */
table.shop_table,
.shop_table {
	border-collapse: collapse !important;
	border: 1px solid var(--rs-color-border-light) !important;
	width: 100% !important;
	background: var(--rs-color-surface) !important;
}

/* Table Headers (商品, 価格, 数量, 合計) */
table.shop_table th,
.shop_table th,
.p-cart__table th,
.p-cart__totals th,
.cart_totals th {
	font-family: var(--rs-font-serif) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	background: var(--rs-color-surface-sub) !important;
	padding: 12px 14px !important;
	border-bottom: 1px solid var(--rs-color-border-light) !important;
}

/* Table Content Cells */
table.shop_table td,
.shop_table td,
.p-cart__table td,
.p-cart__totals td,
.cart_totals td {
	padding: 14px !important;
	border-bottom: 1px solid var(--rs-color-border-light) !important;
	font-size: 14px !important;
	color: var(--rs-color-text-main) !important;
}

/* Product Titles in Cart */
td.product-name a,
.product-name a {
	color: var(--rs-color-text-main) !important;
	font-family: var(--rs-font-serif) !important;
	font-weight: 500 !important;
}

td.product-name a:hover,
.product-name a:hover {
	color: var(--rs-color-accent) !important;
}

/* Prices & Amounts */
.product-price,
.product-subtotal,
.amount,
.woocommerce-Price-amount,
.price {
	font-family: var(--rs-font-en-serif) !important;
	font-weight: 500 !important;
	font-size: 16px !important;
	color: var(--rs-color-text-main) !important;
}

/* Prominent Order Total Line (合計金額) */
.order-total .amount,
.order-total .woocommerce-Price-amount,
tr.order-total td,
.cart_totals tr.order-total td,
.order-total td strong {
	font-family: var(--rs-font-en-serif) !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	color: var(--rs-color-accent) !important;
}

/* Totals Header Title */
.cart_totals h2,
.cart_totals h3,
.p-cart__totals h2,
.p-cart__totals h3 {
	font-family: var(--rs-font-serif) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	padding-bottom: 8px !important;
	border-bottom: 1px solid var(--rs-color-border-light) !important;
}

/* Form Inputs in Checkout */
.woocommerce-checkout label,
#customer_details label {
	font-family: var(--rs-font-serif) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	margin-bottom: 6px !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
#customer_details input.input-text,
#customer_details select,
#customer_details textarea {
	width: 100% !important;
	padding: 10px 14px !important;
	border: 1px solid var(--rs-color-border-light) !important;
	border-radius: 2px !important;
	background: var(--rs-color-surface) !important;
	color: var(--rs-color-text-main) !important;
	font-size: 14px !important;
	box-sizing: border-box !important;
	transition: var(--rs-transition-fast) !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus,
#customer_details input.input-text:focus {
	border-color: var(--rs-color-accent) !important;
	outline: none !important;
	box-shadow: 0 0 0 2px rgba(184, 134, 11, 0.15) !important;
}

#payment {
	background: var(--rs-color-surface-sub) !important;
	border: 1px solid var(--rs-color-border-light) !important;
	border-radius: 2px !important;
	padding: 20px !important;
	margin-top: 20px !important;
}

/* Proceed to Checkout & Place Order CTA Buttons (購入手続きに進む) */
.checkout-button,
a.checkout-button,
.wc-proceed-to-checkout a,
.p-cart__totals .checkout-button,
.cart_totals .checkout-button,
#place_order,
a[href*="checkout"] {
	background: var(--rs-color-accent) !important;
	color: #ffffff !important;
	font-family: var(--rs-font-serif) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	padding: 16px 24px !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	box-shadow: 0 4px 16px rgba(184, 134, 11, 0.25) !important;
	transition: var(--rs-transition-fast) !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
}

.checkout-button:hover,
a.checkout-button:hover,
.wc-proceed-to-checkout a:hover,
.p-cart__totals .checkout-button:hover,
.cart_totals .checkout-button:hover,
#place_order:hover,
a[href*="checkout"]:hover {
	background: var(--rs-color-accent-hover) !important;
	color: #ffffff !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(184, 134, 11, 0.35) !important;
}

@media (max-width: 600px) {

	.woocommerce-cart-form,
	.cart-collaterals,
	.cart_totals,
	#customer_details,
	#order_review,
	.p-cart__table,
	.p-cart__totals {
		padding: 20px 16px !important;
	}
}

/* ==========================================================================
   24. Luxury Payment Method & Credit Card Input Form Styling (#payment)
   ========================================================================== */
#payment {
	background: var(--rs-color-surface) !important;
	border: 1px solid var(--rs-color-border-light) !important;
	border-radius: 4px !important;
	padding: 24px !important;
	margin-top: 24px !important;
}

#payment ul.payment_methods,
#payment ul.wc_payment_methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 20px 0 !important;
	border-bottom: 1px solid var(--rs-color-border-light) !important;
}

#payment li.wc_payment_method {
	background: var(--rs-color-surface-sub) !important;
	border: 1px solid var(--rs-color-border-light) !important;
	border-radius: 4px !important;
	margin-bottom: 12px !important;
	padding: 14px 18px !important;
	transition: var(--rs-transition-fast) !important;
}

#payment li.wc_payment_method:hover,
#payment li.wc_payment_method.wc_payment_method_selected {
	border-color: var(--rs-color-accent) !important;
	background: var(--rs-color-surface) !important;
	box-shadow: 0 2px 8px rgba(184, 134, 11, 0.12) !important;
}

#payment li.wc_payment_method label {
	font-family: var(--rs-font-serif) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
}

#payment div.payment_box {
	background: #faf8f5 !important;
	border: 1px solid var(--rs-color-border-light) !important;
	border-left: 3px solid var(--rs-color-accent) !important;
	border-radius: 2px !important;
	padding: 20px !important;
	margin-top: 12px !important;
	color: var(--rs-color-text-main) !important;
	font-size: 13px !important;
	line-height: 1.6 !important;
}

/* Stripe Card Elements Container Styling */
#payment .wc-stripe-elements-field,
#payment .wc-credit-card-form,
#payment #stripe-card-element,
#payment .stripe-card-group {
	background: #ffffff !important;
	border: 1px solid var(--rs-color-border-light) !important;
	border-radius: 2px !important;
	padding: 12px 14px !important;
	margin-top: 8px !important;
	transition: var(--rs-transition-fast) !important;
}

#payment .wc-stripe-elements-field:focus-within,
#payment #stripe-card-element:focus-within {
	border-color: var(--rs-color-accent) !important;
	box-shadow: 0 0 0 2px rgba(184, 134, 11, 0.15) !important;
}

/* Place Order CTA Button Container */
#payment div.form-row.place-order {
	padding: 16px 0 0 0 !important;
	margin: 0 !important;
}

/* ==========================================================================
   25.5 WooCommerce通知（エラー・成功・情報）のアイコンとテキストの重なり修正
   SWELLテーマの共通ul{padding-left}が、WooCommerce標準のアイコン用余白(3.5em)を
   1.5em相当に上書きしてしまい、アイコンと本文の先頭が重なっていた不具合の修正
   ========================================================================== */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	padding: 1em 2em 1em 3.5em !important;
}

.woocommerce-error > li,
.woocommerce-info > li,
.woocommerce-message > li {
	padding-left: 0 !important;
}

/* ==========================================================================
   26. Luxury Logged-Out Login & Register Form Styling (#customer_login)
   ========================================================================== */
#customer_login {
	display: block !important;
	width: 100% !important;
	margin: 0 auto 48px !important;
}

#customer_login .col-1,
#customer_login .col-2,
#customer_login .u-column1,
#customer_login .u-column2 {
	width: 100% !important;
	max-width: 100% !important;
	background: var(--rs-color-surface) !important;
	border: 1px solid var(--rs-color-border-light) !important;
	border-top: 3px solid var(--rs-color-accent) !important;
	padding: 36px 32px !important;
	box-shadow: var(--rs-shadow-subtle) !important;
	box-sizing: border-box !important;
	margin: 0 0 32px !important;
}

#customer_login h2 {
	font-family: var(--rs-font-serif) !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	padding-bottom: 12px !important;
	margin-bottom: 24px !important;
	border-bottom: 1px solid var(--rs-color-border-light) !important;
	text-align: left !important;
}

#customer_login label {
	display: block !important;
	font-family: var(--rs-font-serif) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--rs-color-text-main) !important;
	margin-bottom: 6px !important;
}

#customer_login input.input-text {
	width: 100% !important;
	padding: 10px 14px !important;
	border: 1px solid var(--rs-color-border-light) !important;
	border-radius: 2px !important;
	background: var(--rs-color-surface) !important;
	color: var(--rs-color-text-main) !important;
	font-size: 14px !important;
	box-sizing: border-box !important;
	transition: var(--rs-transition-fast) !important;
}

#customer_login input.input-text:focus {
	border-color: var(--rs-color-accent) !important;
	outline: none !important;
	box-shadow: 0 0 0 2px rgba(184, 134, 11, 0.15) !important;
}

#customer_login .woocommerce-form-login__submit,
#customer_login .woocommerce-form-register__submit,
#customer_login button.button {
	background: var(--rs-color-accent) !important;
	color: #ffffff !important;
	font-family: var(--rs-font-serif) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	padding: 14px 32px !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	transition: var(--rs-transition-fast) !important;
	box-shadow: 0 4px 14px rgba(184, 134, 11, 0.25) !important;
	width: 100% !important;
	text-align: center !important;
	margin-top: 16px !important;
}

#customer_login button.button:hover {
	background: var(--rs-color-accent-hover) !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(184, 134, 11, 0.35) !important;
}

#customer_login .woocommerce-LostPassword a {
	color: var(--rs-color-text-sub) !important;
	font-size: 12px !important;
	text-decoration: underline !important;
	transition: var(--rs-transition-fast) !important;
}

#customer_login .woocommerce-LostPassword a:hover {
	color: var(--rs-color-accent) !important;
}

.rs-buyer-guest-notice {
	display: inline-flex;
	align-items: flex-start;
	gap: 12px;
	background: #FAF8F5;
	border: 1px solid var(--rs-color-accent-light);
	border-left: 4px solid var(--rs-color-accent);
	padding: 14px 20px;
	border-radius: 4px;
	text-align: left;
	max-width: 680px;
	box-sizing: border-box;
	margin: 0 auto;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

@media (max-width: 600px) {

	#customer_login .col-1,
	#customer_login .col-2 {
		padding: 24px 18px !important;
	}

	.rs-buyer-guest-notice {
		flex-direction: column !important;
		align-items: flex-start !important;
		padding: 12px 14px !important;
	}
}

/* ==========================================================================
   Hero直下の記事スライダー(#post_slider) - 商品向け調整
   商品名は非表示（loop_by_sliderのオーバーライドで出力自体をしていない）。
   サムネイルは横長ではなく縦長（ドレス写真に合わせ、商品一覧と同じ3:4に統一）。
   ========================================================================== */
#post_slider .c-postThumb__figure::before {
	padding-top: 133.333% !important;
	/* 3:4 縦長 */
}

#post_slider .p-postList__body {
	margin-top: 10px;
}

#post_slider .rs-slider-price {
	font-family: var(--rs-font-en-serif);
	font-size: 16px;
	font-weight: 500;
	color: var(--rs-color-text-main);
	text-align: center;
	letter-spacing: 0.04em;
}

#post_slider .rs-slider-price del {
	color: var(--rs-color-text-muted);
	font-weight: 400;
	margin-right: 6px;
}

#post_slider .rs-slider-price ins {
	text-decoration: none;
	color: var(--rs-color-accent-hover);
}

/* ==========================================================================
   空のショッピングバッグ（Empty Cart）ラグジュアリーデザイン
   ========================================================================== */
.woocommerce p.cart-empty,
.woocommerce p.cart-empty.woocommerce-info,
.cart-empty {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	text-align: center !important;
	padding: 60px 20px 20px !important;
	margin: 0 auto 10px !important;
	font-family: var(--rs-font-serif, "Cinzel", "游明朝", "Yu Mincho", serif) !important;
	font-size: 1.15rem !important;
	letter-spacing: 0.08em !important;
	color: var(--rs-color-text-main, #2c2523) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}

/* 元の描画（img, svg, iタグ等）を完全非表示 */
.woocommerce p.cart-empty img,
.woocommerce p.cart-empty svg,
.woocommerce p.cart-empty i,
.cart-empty img,
.cart-empty svg,
.cart-empty i {
	display: none !important;
}

/* アイコン非表示/置換 */
.woocommerce p.cart-empty::before,
.woocommerce p.cart-empty.woocommerce-info::before,
.cart-empty::before {
	content: "" !important;
	display: block !important;
	width: 80px !important;
	height: 80px !important;
	margin: 0 auto 24px !important;
	position: static !important;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" fill="none" stroke="%23c5a059" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M16 20h32l4 36H12L16 20z"/><path d="M22 24V14a10 10 0 0 1 20 0v10"/><circle cx="32" cy="34" r="1.5" fill="%23c5a059"/></svg>') !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: contain !important;
	filter: drop-shadow(0 4px 12px rgba(197, 160, 89, 0.25)) !important;
}

/* 英文サブテキストの追加 */
.woocommerce p.cart-empty::after,
.woocommerce p.cart-empty.woocommerce-info::after,
.cart-empty::after {
	content: "YOUR SHOPPING BAG IS CURRENTLY EMPTY" !important;
	display: block !important;
	font-family: 'Cinzel', 'Cormorant Garamond', Georgia, serif !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.25em !important;
	color: var(--rs-color-accent, #c5a059) !important;
	margin-top: 12px !important;
	text-transform: uppercase !important;
}

/* ショップへ戻るボタンのカスタマイズ */
.woocommerce .return-to-shop {
	text-align: center !important;
	margin-bottom: 50px !important;
}

.woocommerce .return-to-shop .button,
.woocommerce .return-to-shop .button.wc-backward {
	display: inline-block !important;
	background: linear-gradient(135deg, #1b262c 0%, #2c3e50 100%) !important;
	color: #ffffff !important;
	font-family: var(--rs-font-base, sans-serif) !important;
	font-size: 0.9rem !important;
	letter-spacing: 0.15em !important;
	padding: 14px 42px !important;
	border-radius: 40px !important;
	border: 1px solid rgba(197, 160, 89, 0.4) !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
	text-decoration: none !important;
}

.woocommerce .return-to-shop .button:hover,
.woocommerce .return-to-shop .button.wc-backward:hover {
	background: linear-gradient(135deg, #c5a059 0%, #dfba73 100%) !important;
	color: #1b262c !important;
	border-color: #c5a059 !important;
	box-shadow: 0 6px 20px rgba(197, 160, 89, 0.35) !important;
	transform: translateY(-2px) !important;
}

/* ==========================================================================
   空のショッピングバッグ（Empty Cart）- ブロック版カート対応
   【注意】上の".woocommerce p.cart-empty"系のCSSは旧来のショートコード版カート
   テンプレート向けで、このサイトの実際のカートページはWooCommerce Blocks（ブロック版）
   を使用しているため一切効いていなかった（実装先が違っていた）。こちらが実際に効くCSS。
   ========================================================================== */
/* alignwideのビューポート基準はみ出し配置（calc(50% - 50vw)等）を無効化し、
   通常のブロックとして親要素の幅いっぱいに収めて中央寄せする */
.wp-block-woocommerce-cart.alignwide {
	margin-left: auto !important;
	margin-right: auto !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	position: static !important;
	transform: none !important;
}

.wp-block-woocommerce-empty-cart-block {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 auto !important;
	text-align: center !important;
	padding: 56px 20px 24px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}

/* 個々の子要素にも直接auto marginを指定し、親のflex設定に依存せず確実に中央寄せする */
.wp-block-woocommerce-empty-cart-block>* {
	margin-left: auto !important;
	margin-right: auto !important;
}

.wc-block-cart__empty-cart__title {
	font-family: var(--rs-font-serif) !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	letter-spacing: 0.06em !important;
	color: var(--rs-color-text-main) !important;
	margin-top: 16px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}

/* 泣き顔マーク（標準の:beforeマスク）を完全に非表示 */
.wc-block-cart__empty-cart__title.with-empty-cart-icon:before,
.wc-block-cart__empty-cart__title:before,
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title:before {
	display: none !important;
	content: none !important;
}

/* 上品なゴールドショッピングバッグSVGをタイトルの前に配置 */
.wc-block-cart__empty-cart__title {
	position: relative !important;
}

.wc-block-cart__empty-cart__title::before {
	content: "" !important;
	display: block !important;
	width: 72px !important;
	height: 72px !important;
	margin: 0 auto 20px !important;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" fill="none" stroke="%23c5a059" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M16 20h32l4 36H12L16 20z"/><path d="M22 24V14a10 10 0 0 1 20 0v10"/><circle cx="32" cy="34" r="1.5" fill="%23c5a059"/></svg>') no-repeat center center / contain !important;
	filter: drop-shadow(0 4px 12px rgba(197, 160, 89, 0.25)) !important;
}

/* 英文サブタイトルの追加 */
.wc-block-cart__empty-cart__title::after {
	content: "YOUR SHOPPING BAG IS CURRENTLY EMPTY" !important;
	display: block !important;
	font-family: 'Cinzel', 'Cormorant Garamond', Georgia, serif !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.25em !important;
	color: var(--rs-color-accent, #c5a059) !important;
	margin-top: 12px !important;
	text-transform: uppercase !important;
}

.wp-block-woocommerce-empty-cart-block p {
	font-family: var(--rs-font-sans) !important;
	color: var(--rs-color-text-sub) !important;
	font-size: 14px !important;
}

.wp-block-woocommerce-empty-cart-block hr {
	border: none !important;
	border-top: 1px solid var(--rs-color-border-light) !important;
	max-width: 320px !important;
	margin: 28px auto !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-components-button,
.wp-block-woocommerce-empty-cart-block a.wp-block-button__link {
	background: var(--rs-gradient-gold) !important;
	color: var(--rs-color-surface) !important;
	border: 1px solid var(--rs-color-accent) !important;
	border-radius: 0 !important;
	font-family: var(--rs-font-sans) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0.1em !important;
	padding: 12px 32px !important;
	box-shadow: none !important;
	transition: var(--rs-transition-smooth) !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-components-button:hover,
.wp-block-woocommerce-empty-cart-block a.wp-block-button__link:hover {
	background: var(--rs-color-accent-hover) !important;
	transform: translateY(-2px);
}

/* 「新登場」を非表示。DevToolsで確認した実際の構造:
   クロスセル機能ではなく、独立した見出しブロック(h2.wp-block-heading、空カートの
   タイトルとは別物)と「woocommerce/product-new」ブロック(新着商品グリッド)の組み合わせ。
   空カートの見出し(.wc-block-cart__empty-cart__title)は残したいので、
   :not()で除外して「新登場」の見出しだけを消す。 */
.wp-block-woocommerce-empty-cart-block h2.wp-block-heading:not(.wc-block-cart__empty-cart__title),
.wp-block-woocommerce-empty-cart-block [data-block-name="woocommerce/product-new"] {
	display: none !important;
}

/* ==========================================================================
   固定ページ見出し(.c-pageTitle) - サイトのデザイン(明朝系)に統一
   デフォルトはSWELLの見出しフォント設定（ゴシック系）が使われ、外観カスタマイズの
   本文フォント(Noto Serif JP)設定とは連動していなかったため、明示的に指定する。
   ========================================================================== */
.c-pageTitle {
	font-family: var(--rs-font-serif) !important;
	font-weight: 500 !important;
	letter-spacing: 0.06em !important;
}

/* ==========================================================================
   商品詳細ページ - SWELL純正のブログ記事風ヘッダーを非表示
   parts/single/post_head.php が全てのis_single()ページ（商品ページ含む）で
   自動的に「日付バッジ＋商品名（意味のないコード）＋公開日＋著者」を表示してしまうため。
   実際に使う見出しはWooCommerce側（種目・性別・サイズから組み立てたH1）のみで足りるので、
   商品ページ（.single-product）に限定してこちらは丸ごと非表示にする。
   ========================================================================== */
.single-product .p-articleHead.c-postTitle,
.single-product .p-articleMetas.-top {
	display: none !important;
}

/* ==========================================================================
   フッター（SWELLウィジェットエリア対応）- ダークラグジュアリーデザイン
   ========================================================================== */
#footer,
.l-footer {
	background-color: var(--rs-color-surface-dark, #1A1918) !important;
	color: var(--rs-color-text-muted, #99958F) !important;
	border-top: 2px solid var(--rs-color-accent, #B39252) !important;
	padding-top: 60px !important;
}

/* フッターウィジェットエリア */
#footer .l-footer__inner {
	max-width: 1240px;
	margin: 0 auto;
}

/* フッターウィジェット見出し（フッターエリア1・2・3共通） */
#footer .c-widget__title,
#footer .widgettitle,
#footer .w-footer__box .wp-block-heading,
#footer .w-footer__box h2,
#footer .w-footer__box h3 {
	font-family: var(--rs-font-en-serif, serif) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	color: var(--rs-color-accent, #B39252) !important;
	text-transform: uppercase !important;
	border-bottom: 1px solid rgba(179, 146, 82, 0.3) !important;
	padding-bottom: 12px !important;
	margin-bottom: 24px !important;
	background: transparent !important;
	position: relative;
	text-align: left !important;
}

#footer .c-widget__title::before,
#footer .c-widget__title::after,
#footer .widgettitle::before,
#footer .widgettitle::after,
#footer .w-footer__box .wp-block-heading::before,
#footer .w-footer__box .wp-block-heading::after {
	display: none !important;
	/* SWELLの不要な見出し装飾を消す */
}

/* フッターウィジェットエリア3（PC）のみ中央揃え */
#footer .l-footer__widgetArea .w-footer__box:nth-child(3) {
	text-align: center;
}

#footer .l-footer__widgetArea .w-footer__box:nth-child(3) .c-widget__title,
#footer .l-footer__widgetArea .w-footer__box:nth-child(3) .widgettitle,
#footer .l-footer__widgetArea .w-footer__box:nth-child(3) .wp-block-heading {
	text-align: center !important;
}

/* フッターメニュー / リンクリスト */
#footer .menu,
#footer ul,
#footer .wp-block-navigation__container,
#footer .wp-block-page-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

#footer .menu li,
#footer ul li,
#footer .wp-block-navigation-item {
	margin-bottom: 12px !important;
	border: none !important;
	padding: 0 !important;
	list-style: none !important;
}

#footer .menu li a,
#footer ul li a,
#footer .wp-block-navigation-item__content,
#footer .w-footer__box a,
#footer a {
	color: var(--rs-color-text-muted, #99958F) !important;
	text-decoration: none !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	transition: var(--rs-transition-fast) !important;
	display: inline-block;
}

#footer .menu li a:hover,
#footer ul li a:hover,
#footer .wp-block-navigation-item__content:hover,
#footer .w-footer__box a:hover,
#footer a:hover {
	color: var(--rs-color-surface, #FFFFFF) !important;
	transform: translateX(4px);
}

/* フッターボトム（コピーライト部） */
#footer .l-footer__bottom {
	background-color: #121110 !important;
	/* より暗い色で引き締める */
	border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
	padding: 24px 0 !important;
	margin-top: 40px !important;
	text-align: center !important;
}

#footer .c-copyright {
	font-family: var(--rs-font-en-serif, serif) !important;
	font-size: 12px !important;
	letter-spacing: 0.1em !important;
	color: rgba(153, 149, 143, 0.6) !important;
}

/* Edit Listing Form Specific Styles */
.reshine-listing-form .reshine-edit-photo-slot {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.reshine-listing-form .reshine-edit-photo-slot img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border: 1px solid var(--rs-color-border-light);
}

.reshine-listing-form .reshine-edit-photo-delete {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: normal;
	font-size: 13px;
	color: #c0392b;
	cursor: pointer;
	white-space: nowrap;
}

.reshine-listing-form .reshine-edit-photo-delete input {
	margin: 0;
}

.reshine-edit-listing-actions {
	display: flex;
	gap: 16px;
	align-items: center;
	margin-top: 24px;
}

.reshine-listing-form .reshine-field {
	margin-bottom: 24px;
}

.reshine-listing-form fieldset {
	border: none;
	padding: 0;
	margin: 0 0 32px;
}/* -------------------------------------------
 * 事務局ポータル (page-secretariat.php)
 * ------------------------------------------- */
.rs-secretariat {
	padding: 40px 20px;
	background-color: #f5f6f8;
	min-height: 100vh;
}

.rs-secretariat__container {
	max-width: 1120px;
	margin: 0 auto;
}

.rs-secretariat__header {
	margin-bottom: 32px;
}

.rs-secretariat__title {
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 8px;
	color: #333;
}

.rs-secretariat__desc {
	font-size: 14px;
	color: #666;
	margin: 0;
}

.rs-secretariat__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px;
}

.rs-secretariat-panel {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.rs-secretariat-panel__header {
	background: #fafafa;
	padding: 16px 20px;
	border-bottom: 1px solid #eee;
}

.rs-secretariat-panel__title {
	font-size: 16px;
	font-weight: 600;
	margin: 0;
	display: flex;
	align-items: center;
	color: #333;
}

.rs-secretariat-panel__title .dashicons {
	margin-right: 8px;
	color: #888;
}

.rs-secretariat-badge {
	background: #333;
	color: #fff;
	font-size: 12px;
	padding: 2px 8px;
	border-radius: 12px;
	margin-left: 8px;
	font-weight: 500;
}

.rs-secretariat-badge--alert {
	background: #d32f2f;
}

.rs-secretariat-panel__content {
	padding: 0;
	flex-grow: 1;
}

.rs-secretariat-empty {
	padding: 24px 20px;
	color: #999;
	font-size: 13px;
	margin: 0;
	text-align: center;
}

.rs-secretariat-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rs-secretariat-list__item {
	padding: 16px 20px;
	border-bottom: 1px solid #f0f0f0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}

.rs-secretariat-list__item:last-child {
	border-bottom: none;
}

.rs-secretariat-list__info {
	font-size: 14px;
	color: #333;
	line-height: 1.4;
}

.rs-secretariat-list__info strong {
	font-weight: 600;
}

.rs-secretariat-list__sub {
	font-size: 12px;
	color: #777;
	display: block;
	margin-top: 4px;
}

.rs-secretariat-btn {
	display: inline-block;
	padding: 6px 12px;
	font-size: 12px;
	border-radius: 4px;
	background: #eee;
	color: #333;
	text-decoration: none;
	font-weight: 500;
	transition: background 0.2s;
	white-space: nowrap;
}

.rs-secretariat-btn:hover {
	background: #e0e0e0;
	color: #333;
}

.rs-secretariat-btn--primary {
	background: #2271b1;
	color: #fff;
}

.rs-secretariat-btn--primary:hover {
	background: #135e96;
	color: #fff;
}

.rs-secretariat-btn--danger {
	background: #d32f2f;
	color: #fff;
}

.rs-secretariat-btn--danger:hover {
	background: #b71c1c;
	color: #fff;
}

/* 事務局ダッシュボード タブナビゲーション */
.rs-secretariat-tabs {
	display: flex;
	gap: 8px;
	border-bottom: 2px solid #e2e8f0;
	margin-bottom: 28px;
}

.rs-secretariat-tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	font-size: 15px;
	font-weight: 600;
	color: #64748b;
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.2s ease;
	border-radius: 6px 6px 0 0;
}

.rs-secretariat-tab:hover {
	color: #1e293b;
	background: rgba(255, 255, 255, 0.6);
}

.rs-secretariat-tab.is-active {
	color: #2271b1;
	border-bottom-color: #2271b1;
	background: #fff;
	box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.02);
}

.rs-secretariat-tab .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
	line-height: 18px;
	color: inherit;
}

.rs-secretariat-badge--tab {
	background: #64748b;
	color: #fff;
	font-size: 11px;
	padding: 2px 7px;
	border-radius: 10px;
	margin-left: 2px;
}

.rs-secretariat-tab.is-active .rs-secretariat-badge--tab {
	background: #2271b1;
}

.rs-secretariat-tab-pane {
	display: none;
}

.rs-secretariat-tab-pane.is-active {
	display: block;
}

/* 事務局ダッシュボード：出品者一覧テーブル & フィルター & ページャー */
.rs-secretariat-filter-box {
	background: #fafafa;
	border-bottom: 1px solid #eee;
	padding: 20px;
}

.rs-secretariat-filter-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.rs-secretariat-filter-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 16px;
}

@media (max-width: 768px) {
	.rs-secretariat-filter-grid {
		grid-template-columns: 1fr;
	}
}

.rs-secretariat-filter-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.rs-secretariat-filter-item label {
	font-size: 12px;
	font-weight: 600;
	color: #555;
}

.rs-secretariat-filter-item input[type="text"],
.rs-secretariat-filter-item select {
	width: 100%;
	padding: 8px 12px;
	font-size: 13px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	height: 38px;
	box-sizing: border-box;
}

.rs-secretariat-filter-actions {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 12px;
}

.rs-secretariat-filter-btn {
	width: 120px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 600;
	box-sizing: border-box;
	border-radius: 4px;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.2s ease;
}

.rs-secretariat-filter-btn--primary {
	background: #2271b1;
	border: 1px solid #2271b1;
	color: #fff;
}

.rs-secretariat-filter-btn--primary:hover {
	background: #135e96;
	border-color: #135e96;
	color: #fff;
}

.rs-secretariat-filter-btn--outline {
	background: #fff;
	border: 1px solid #cbd5e1;
	color: #475569;
}

.rs-secretariat-filter-btn--outline:hover {
	background: #f1f5f9;
	border-color: #94a3b8;
	color: #1e293b;
}

.rs-secretariat-table-wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.rs-secretariat-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	text-align: left;
}

.rs-secretariat-table th,
.rs-secretariat-table td {
	padding: 14px 16px;
	border-bottom: 1px solid #f0f0f0;
	vertical-align: middle;
}

.rs-secretariat-table th {
	background: #fafafa;
	font-weight: 600;
	color: #444;
	white-space: nowrap;
	border-bottom: 2px solid #e5e7eb;
}

.rs-secretariat-table tbody tr {
	transition: background-color 0.15s ease;
}

.rs-secretariat-table tbody tr:hover {
	background-color: #f8fafc;
}

.rs-secretariat-table .rs-col-nickname {
	font-weight: 600;
	color: #1e293b;
}

.rs-secretariat-table .rs-col-name-primary {
	font-weight: 600;
	color: #333;
}

.rs-secretariat-table .rs-col-name-sub {
	font-size: 11px;
	color: #888;
	display: block;
	margin-top: 2px;
}

.rs-secretariat-table .rs-col-count {
	font-weight: 600;
	color: #475569;
	white-space: nowrap;
}

.rs-secretariat-table .rs-col-actions {
	white-space: nowrap;
	text-align: right;
}

/* ステータスバッジ */
.rs-status-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 10px;
	font-size: 12px;
	font-weight: 500;
	border-radius: 12px;
	white-space: nowrap;
}

.rs-status-badge .dashicons {
	font-size: 14px;
	width: 14px;
	height: 14px;
	line-height: 14px;
}

.rs-status-badge--verified {
	background: #e6f4ea;
	color: #137333;
}

.rs-status-badge--pending {
	background: #fef7e0;
	color: #b06000;
}

.rs-status-badge--rejected {
	background: #fce8e6;
	color: #c5221f;
}

.rs-status-badge--none {
	background: #f1f3f4;
	color: #5f6368;
}

/* ページャー */
.rs-secretariat-pagination {
	padding: 20px;
	display: flex;
	justify-content: center;
}

.rs-secretariat-pagination .page-numbers {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 6px;
}

.rs-secretariat-pagination .page-numbers li {
	margin: 0;
	padding: 0;
}

.rs-secretariat-pagination .page-numbers a,
.rs-secretariat-pagination .page-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	font-size: 13px;
	font-weight: 500;
	border-radius: 4px;
	border: 1px solid #e2e8f0;
	background: #fff;
	color: #475569;
	text-decoration: none;
	transition: all 0.2s;
}

.rs-secretariat-pagination .page-numbers a:hover {
	background: #f1f5f9;
	border-color: #cbd5e1;
	color: #1e293b;
}

.rs-secretariat-pagination .page-numbers .current {
	background: #2271b1;
	border-color: #2271b1;
	color: #fff;
	font-weight: 600;
}

.rs-secretariat-pagination .page-numbers .dots {
	border: none;
	background: transparent;
}

/* ==========================================================================
   36. Post-Registration Onboarding Tour & Spotlight Guide (.rs-tour-*)
   ========================================================================== */

/* Re-open Button in Dashboard Header */
.rs-tour-reopen-btn {
	background: #FFFFFF;
	border: 1px solid var(--rs-color-accent);
	color: var(--rs-color-accent);
	padding: 4px 12px;
	border-radius: 20px;
	font-family: var(--rs-font-serif);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.04em;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: var(--rs-transition-fast);
	box-shadow: 0 2px 8px rgba(179, 146, 82, 0.12);
}

.rs-tour-reopen-btn:hover {
	background: var(--rs-color-accent-light);
	color: var(--rs-color-accent-hover);
	border-color: var(--rs-color-accent-hover);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(179, 146, 82, 0.2);
}

.rs-tour-reopen-icon {
	font-size: 13px;
	line-height: 1;
}

/* Tour Target Card Floating Indicator */
.rs-tour-card-focus-indicator {
	display: none;
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	white-space: nowrap;
}

.rs-tour-target-card {
	position: relative;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.rs-tour-spotlight-active.rs-tour-target-card {
	position: relative;
	z-index: 99995 !important;
	background: #FFFFFF !important;
	border: 2px solid var(--rs-color-accent) !important;
	box-shadow: 0 0 0 6px rgba(179, 146, 82, 0.28), 0 20px 48px rgba(0, 0, 0, 0.45) !important;
	transform: translateY(-4px) scale(1.02);
	animation: rsTourGlow 2.4s infinite ease-in-out;
}

.rs-tour-spotlight-active .rs-tour-card-focus-indicator {
	display: block;
	animation: rsBounceDown 1.8s infinite ease-in-out;
}

.rs-tour-pointer-tag {
	background: var(--rs-color-surface-dark);
	color: #FFFFFF;
	font-family: var(--rs-font-serif);
	font-size: 11px;
	font-weight: 500;
	padding: 4px 12px;
	border-radius: 12px;
	border: 1px solid var(--rs-color-accent);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	letter-spacing: 0.05em;
}

/* Backdrop Overlay */
.rs-tour-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(22, 20, 18, 0.76);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	z-index: 99990;
	opacity: 0;
	transition: opacity 0.35s ease;
}

.rs-tour-backdrop.is-active {
	opacity: 1;
}

/* Tour Popover Modal */
.rs-tour-popover {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -48%) scale(0.96);
	width: 90%;
	max-width: 580px;
	max-height: 90vh;
	overflow-y: auto;
	background: #FFFFFF;
	border-radius: 8px;
	border: 1px solid var(--rs-color-border);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35), 0 0 1px rgba(179, 146, 82, 0.5);
	z-index: 99998;
	opacity: 0;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease;
}

.rs-tour-popover.is-active {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.rs-tour-gold-bar {
	height: 4px;
	background: var(--rs-gradient-gold);
	border-radius: 8px 8px 0 0;
}

.rs-tour-close-x {
	position: absolute;
	top: 14px;
	right: 18px;
	background: transparent;
	border: none;
	font-size: 26px;
	line-height: 1;
	color: var(--rs-color-text-muted);
	cursor: pointer;
	transition: var(--rs-transition-fast);
	padding: 4px 8px;
	z-index: 10;
}

.rs-tour-close-x:hover {
	color: var(--rs-color-text-main);
	transform: rotate(90deg);
}

.rs-tour-popover-content {
	padding: 28px 32px 32px;
}

.rs-tour-badge-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.rs-tour-step-badge {
	background: var(--rs-color-accent);
	color: #FFFFFF;
	font-family: var(--rs-font-serif);
	font-size: 11px;
	font-weight: 500;
	padding: 3px 10px;
	border-radius: 3px;
	letter-spacing: 0.08em;
}

.rs-tour-welcome-sub {
	font-family: var(--rs-font-en-serif);
	font-size: 11px;
	letter-spacing: 0.2em;
	color: var(--rs-color-accent);
	text-transform: uppercase;
}

.rs-tour-heading {
	font-family: var(--rs-font-serif) !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	color: var(--rs-color-text-main) !important;
	margin: 0 0 14px 0 !important;
	letter-spacing: 0.04em !important;
}

.rs-tour-gold-text {
	color: var(--rs-color-accent) !important;
	font-weight: 600 !important;
}

.rs-tour-lead {
	font-size: 13px;
	line-height: 1.7;
	color: var(--rs-color-text-sub);
	margin: 0 0 20px 0;
}

/* Checklist Preview Grid inside Tour */
.rs-tour-checklist-preview {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-bottom: 20px;
}

.rs-tour-check-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	background: var(--rs-color-surface-sub);
	border: 1px solid var(--rs-color-border-light);
	border-radius: 6px;
	padding: 10px 12px;
	transition: var(--rs-transition-fast);
}

.rs-tour-check-item.is-done {
	background: var(--rs-color-accent-light);
	border-color: var(--rs-color-accent);
}

.rs-tour-check-num {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--rs-color-accent);
	color: #FFFFFF;
	font-family: var(--rs-font-en-serif);
	font-size: 12px;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 1px;
}

.rs-tour-check-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.rs-tour-check-text strong {
	font-size: 12px;
	color: var(--rs-color-text-main);
	line-height: 1.3;
}

.rs-tour-check-text small {
	font-size: 10px;
	color: var(--rs-color-text-sub);
	line-height: 1.3;
}

/* Guide Hint */
.rs-tour-guide-hint {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #FFFDF9;
	border: 1px dashed var(--rs-color-accent);
	padding: 10px 14px;
	border-radius: 6px;
	font-size: 12px;
	color: var(--rs-color-text-main);
	margin-bottom: 24px;
}

.rs-tour-bounce-arrow {
	font-size: 16px;
	animation: rsBounceDown 1.5s infinite ease-in-out;
}

/* Tour Actions */
.rs-tour-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.rs-tour-primary-btn {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 14px 24px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	box-shadow: 0 4px 16px rgba(179, 146, 82, 0.25);
}

.rs-tour-secondary-btn {
	background: transparent;
	border: none;
	color: var(--rs-color-text-muted);
	font-family: var(--rs-font-sans);
	font-size: 12px;
	cursor: pointer;
	text-decoration: underline;
	transition: var(--rs-transition-fast);
	padding: 6px;
	text-align: center;
}

.rs-tour-secondary-btn:hover {
	color: var(--rs-color-text-main);
}

/* Animations */
@keyframes rsTourGlow {
	0%, 100% {
		box-shadow: 0 0 0 4px rgba(179, 146, 82, 0.3), 0 16px 36px rgba(0, 0, 0, 0.4);
	}
	50% {
		box-shadow: 0 0 0 10px rgba(179, 146, 82, 0.12), 0 24px 50px rgba(0, 0, 0, 0.5);
	}
}

@keyframes rsBounceDown {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(4px);
	}
}

/* Mobile Responsive */
@media (max-width: 600px) {
	.rs-tour-popover {
		width: 94%;
		max-height: 94vh;
	}
	.rs-tour-popover-content {
		padding: 22px 18px 24px;
	}
	.rs-tour-heading {
		font-size: 17px !important;
	}
	.rs-tour-checklist-preview {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.rs-tour-lead {
		font-size: 12px;
		margin-bottom: 14px;
	}
	.rs-tour-guide-hint {
		font-size: 11px;
		padding: 8px 10px;
	}
	.rs-tour-primary-btn {
		padding: 12px 16px;
		font-size: 13px;
	}
}


