/* PF マイページ/ログイン カスタマイズ — マイページ専用スタイル。すべて .pfmp 配下に限定。 */

.pfmp {
	--pfmp-ink: #1a1a1a;
	--pfmp-sub: #5c6470;
	--pfmp-line: #e3e6ea;
	--pfmp-bg: #f6f7f8;
	--pfmp-accent: #0a7d2c;
	--pfmp-accent-soft: #e8f5ec;
	--pfmp-link: #0033cc;
	--pfmp-warn: #9a5b00;
	--pfmp-warn-soft: #fff4dd;
	--pfmp-radius: 10px;
	color: var(--pfmp-ink);
	line-height: 1.6;
}

.pfmp *,
.pfmp *::before,
.pfmp *::after {
	box-sizing: border-box;
}

.pfmp a {
	color: var(--pfmp-link);
}

.pfmp-label {
	display: inline-block;
	margin-right: 6px;
	color: var(--pfmp-sub);
	font-size: 12px;
}

.pfmp-lead {
	margin: 0 0 16px;
	color: var(--pfmp-sub);
	font-size: 14px;
}

/* ---------- あいさつ ---------- */

.pfmp-hello {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	margin: 0 0 16px;
	font-size: 15px;
}

.pfmp-hello__logout {
	margin-left: auto;
	font-size: 13px;
}

/* ---------- ポイント ---------- */

.pfmp-points {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 28px;
	margin: 0 0 20px;
	padding: 18px 22px;
	border: 1px solid #bfe3c9;
	border-radius: var(--pfmp-radius);
	background: var(--pfmp-accent-soft);
}

.pfmp-points__main {
	display: flex;
	flex-direction: column;
}

.pfmp-points__label {
	color: var(--pfmp-accent);
	font-size: 13px;
	font-weight: 700;
}

.pfmp-points__value {
	color: var(--pfmp-ink);
	font-size: 34px;
	font-weight: 700;
	line-height: 1.15;
	font-variant-numeric: tabular-nums;
}

.pfmp-points__value small {
	margin-left: 4px;
	font-size: 14px;
	font-weight: 600;
}

.pfmp-points__side {
	flex: 1 1 240px;
	font-size: 13px;
}

.pfmp-points__side p {
	margin: 0 0 4px;
	color: #2f4a37;
}

/* ---------- お知らせ ---------- */

.pfmp-notice {
	margin: 0 0 20px;
	padding: 12px 16px;
	border-left: 4px solid #e0a100;
	border-radius: 4px;
	background: var(--pfmp-warn-soft);
	font-size: 14px;
}

.pfmp-notice p {
	margin: 0;
}

.pfmp-notice p + p {
	margin-top: 6px;
}

/* ---------- セクション ---------- */

.pfmp-section {
	margin: 0 0 28px;
}

.pfmp-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 10px;
}

.pfmp-section__head h2 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
}

.pfmp-section__head a {
	font-size: 13px;
	white-space: nowrap;
}

/* ---------- 注文カード ---------- */

.pfmp-order {
	margin: 0 0 16px;
	padding: 18px 20px;
	border: 1px solid var(--pfmp-line);
	border-radius: var(--pfmp-radius);
	background: #fff;
}

.pfmp-order__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 20px;
}

.pfmp-order__id a {
	color: var(--pfmp-ink);
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
}

.pfmp-order__id a:hover {
	text-decoration: underline;
}

.pfmp-order__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 18px;
	font-size: 14px;
}

.pfmp-badge {
	margin-left: auto;
	padding: 3px 12px;
	border-radius: 999px;
	background: var(--pfmp-bg);
	color: var(--pfmp-sub);
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

.pfmp-badge--step1 {
	background: var(--pfmp-warn-soft);
	color: var(--pfmp-warn);
}

.pfmp-badge--step2,
.pfmp-badge--step3 {
	background: #e7effd;
	color: #1d4ea8;
}

.pfmp-badge--step4 {
	background: var(--pfmp-accent-soft);
	color: var(--pfmp-accent);
}

/* 進捗バー */

.pfmp-progress {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 18px 0 4px;
	padding: 0;
	list-style: none;
}

.pfmp-progress li {
	position: relative;
	margin: 0;
	padding-top: 22px;
	color: var(--pfmp-sub);
	font-size: 12px;
	text-align: center;
}

.pfmp-progress li::before {
	content: "";
	position: absolute;
	top: 6px;
	left: -50%;
	width: 100%;
	height: 4px;
	background: var(--pfmp-line);
}

.pfmp-progress li:first-child::before {
	display: none;
}

.pfmp-progress li::after {
	content: "";
	position: absolute;
	top: 1px;
	left: 50%;
	width: 14px;
	height: 14px;
	margin-left: -7px;
	border: 3px solid var(--pfmp-line);
	border-radius: 50%;
	background: #fff;
}

.pfmp-progress li.is-done::before {
	background: var(--pfmp-accent);
}

.pfmp-progress li.is-done::after {
	border-color: var(--pfmp-accent);
	background: var(--pfmp-accent);
}

.pfmp-progress li.is-done {
	color: var(--pfmp-ink);
}

.pfmp-progress li.is-current {
	font-weight: 700;
}

.pfmp-progress li.is-current::after {
	box-shadow: 0 0 0 4px var(--pfmp-accent-soft);
}

/* 配送情報 */

.pfmp-ship {
	margin: 16px 0 0;
	padding: 12px 14px;
	border-radius: 8px;
	background: var(--pfmp-bg);
	font-size: 14px;
}

.pfmp-ship__row {
	display: flex;
	gap: 12px;
}

.pfmp-ship__row + .pfmp-ship__row {
	margin-top: 6px;
}

.pfmp-ship dt {
	flex: 0 0 84px;
	margin: 0;
	color: var(--pfmp-sub);
	font-size: 13px;
	font-weight: 400;
}

.pfmp-ship dd {
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
	margin: 0;
}

.pfmp-ship__company {
	font-weight: 700;
}

.pfmp-ship__no {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
	word-break: break-all;
}

.pfmp-ext {
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 4px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.pfmp-order__hint {
	margin: 14px 0 0;
	color: var(--pfmp-sub);
	font-size: 13px;
}

/* 商品 */

.pfmp-items {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 16px 0 0;
}

.pfmp-items__thumbs {
	display: flex;
	flex: 0 0 auto;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pfmp-items__thumbs li {
	width: 48px;
	height: 48px;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--pfmp-line);
	border-radius: 6px;
	background: var(--pfmp-bg);
}

.pfmp-items__thumbs img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.pfmp-items__noimg {
	display: block;
	width: 100%;
	height: 100%;
}

.pfmp-items__text {
	min-width: 0;
	margin: 0;
	font-size: 14px;
}

.pfmp-items__qty {
	margin-left: 6px;
	color: var(--pfmp-sub);
	white-space: nowrap;
}

/* ボタン */

.pfmp-order__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 16px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--pfmp-line);
}

.pfmp .pfmp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 6px 16px;
	border: 1px solid #c4c9d0;
	border-radius: 6px;
	background: #fff;
	color: var(--pfmp-ink);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	cursor: pointer;
}

.pfmp .pfmp-btn:hover {
	border-color: var(--pfmp-ink);
}

.pfmp .pfmp-btn:focus-visible,
.pfmp a:focus-visible {
	outline: 2px solid var(--pfmp-link);
	outline-offset: 2px;
}

.pfmp .pfmp-btn--primary {
	border-color: var(--pfmp-accent);
	background: var(--pfmp-accent);
	color: #fff;
}

.pfmp .pfmp-btn--primary:hover {
	border-color: #075f21;
	background: #075f21;
}

.pfmp .pfmp-btn--quiet {
	margin-left: auto;
	border-color: transparent;
	background: transparent;
	color: var(--pfmp-sub);
	font-weight: 400;
	text-decoration: underline;
}

.pfmp-note--received {
	margin-left: auto;
	padding: 4px 12px;
	border-radius: 6px;
	background: var(--pfmp-warn-soft);
	color: var(--pfmp-warn);
	font-size: 13px;
	font-weight: 700;
}

.pfmp-order.is-stopped {
	background: #fafafa;
}

/* ---------- 機能カード ---------- */

.pfmp-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pfmp-cards li {
	margin: 0;
}

.pfmp .pfmp-card {
	display: flex;
	align-items: center;
	gap: 14px;
	height: 100%;
	min-height: 76px;
	padding: 14px 16px;
	border: 1px solid var(--pfmp-line);
	border-radius: var(--pfmp-radius);
	background: #fff;
	color: var(--pfmp-ink);
	text-decoration: none;
}

.pfmp .pfmp-card:hover {
	border-color: var(--pfmp-accent);
	background: var(--pfmp-accent-soft);
}

.pfmp-card__icon {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	background: var(--pfmp-accent);
	--pfmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M10 8l4 4-4 4'/%3E%3C/svg%3E");
	-webkit-mask: var(--pfmp-icon) center / contain no-repeat;
	mask: var(--pfmp-icon) center / contain no-repeat;
}

.pfmp-card--orders .pfmp-card__icon {
	--pfmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8l9-5 9 5v8l-9 5-9-5z'/%3E%3Cpath d='M3 8l9 5 9-5M12 13v8'/%3E%3C/svg%3E");
}

.pfmp-card--edit-address .pfmp-card__icon {
	--pfmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11l8-7 8 7v8a1 1 0 0 1-1 1h-4v-6h-6v6H5a1 1 0 0 1-1-1z'/%3E%3C/svg%3E");
}

.pfmp-card--edit-account .pfmp-card__icon {
	--pfmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6.5 8-6.5s8 2.5 8 6.5'/%3E%3C/svg%3E");
}

.pfmp-card--backinstock .pfmp-card__icon {
	--pfmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 17V11a6 6 0 0 1 12 0v6l2 2H4zM10 21h4'/%3E%3C/svg%3E");
}

.pfmp-card--points .pfmp-card__icon {
	--pfmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M10 16.5v-9h3a2.5 2.5 0 0 1 0 5h-3'/%3E%3C/svg%3E");
}

.pfmp-card--contact .pfmp-card__icon {
	--pfmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E");
}

.pfmp-card__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.pfmp-card__label {
	font-size: 15px;
	font-weight: 700;
}

.pfmp-card__desc {
	color: var(--pfmp-sub);
	font-size: 12px;
	line-height: 1.5;
}

/* ---------- 空の状態・ページ送り ---------- */

.pfmp-empty {
	padding: 28px 20px;
	border: 1px dashed #c4c9d0;
	border-radius: var(--pfmp-radius);
	text-align: center;
}

.pfmp-empty p {
	margin: 0 0 12px;
	color: var(--pfmp-sub);
}

.pfmp-pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 20px 0 0;
}

.pfmp-pager__now {
	color: var(--pfmp-sub);
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}

/* ---------- 返品フォーム ---------- */

.pfmp-form {
	max-width: 640px;
}

.pfmp-form__fixed {
	margin: 0 0 22px;
	padding: 14px 16px;
	border-radius: 8px;
	background: var(--pfmp-bg);
	font-size: 14px;
}

.pfmp-form__fixed div {
	display: flex;
	gap: 12px;
}

.pfmp-form__fixed div + div {
	margin-top: 6px;
}

.pfmp-form__fixed dt {
	flex: 0 0 112px;
	margin: 0;
	color: var(--pfmp-sub);
	font-weight: 400;
}

.pfmp-form__fixed dd {
	margin: 0;
	font-weight: 700;
	word-break: break-all;
}

.pfmp-field {
	margin: 0 0 20px;
	padding: 0;
	border: 0;
}

.pfmp-field > label,
.pfmp-field > legend {
	display: block;
	margin: 0 0 6px;
	padding: 0;
	font-size: 14px;
	font-weight: 700;
}

.pfmp-req,
.pfmp-opt {
	margin-left: 6px;
	padding: 1px 7px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	vertical-align: 1px;
}

.pfmp-req {
	background: #fde8e8;
	color: #a11313;
}

.pfmp-opt {
	background: var(--pfmp-bg);
	color: var(--pfmp-sub);
}

.pfmp-field select,
.pfmp-field textarea,
.pfmp-field input[type="tel"] {
	width: 100%;
	max-width: 100%;
	padding: 10px 12px;
	border: 1px solid #c4c9d0;
	border-radius: 6px;
	background: #fff;
	font-size: 16px;
}

.pfmp-field input[type="tel"] {
	max-width: 280px;
}

.pfmp-field > label.pfmp-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 6px;
	padding: 10px 12px;
	border: 1px solid var(--pfmp-line);
	border-radius: 6px;
	font-size: 14px;
	font-weight: 400;
	cursor: pointer;
}

.pfmp-field > label.pfmp-check input {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
}

.pfmp-help {
	margin: 6px 0 0;
	color: var(--pfmp-sub);
	font-size: 13px;
}

.pfmp-form__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 22px 0 0;
}

/* ---------- 左メニュー: テーマ側でアイコン未定義の項目を補う ---------- */

.woocommerce-MyAccount-navigation-link--backinstock a::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 17V11a6 6 0 0 1 12 0v6l2 2H4zM10 21h4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 17V11a6 6 0 0 1 12 0v6l2 2H4zM10 21h4'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- スマホ ---------- */

@media (max-width: 600px) {
	.pfmp-order {
		padding: 16px 14px;
	}

	.pfmp-badge {
		margin-left: 0;
	}

	.pfmp-order__head {
		gap: 6px 12px;
	}

	.pfmp-order__id {
		flex: 1 1 auto;
	}

	.pfmp-order__meta {
		flex: 1 1 100%;
		order: 3;
	}

	.pfmp-progress li {
		font-size: 11px;
	}

	.pfmp-ship__row {
		flex-direction: column;
		gap: 0;
	}

	.pfmp-ship dt {
		flex: none;
	}

	.pfmp-items__thumbs li:nth-child(n+4) {
		display: none;
	}

	.pfmp-order__actions .pfmp-btn {
		flex: 1 1 calc(50% - 4px);
	}

	.pfmp .pfmp-btn--quiet,
	.pfmp-note--received {
		flex: 1 1 100%;
		margin-left: 0;
		text-align: center;
	}

	.pfmp-points {
		padding: 16px;
	}

	.pfmp-cards {
		grid-template-columns: 1fr;
	}

	.pfmp-form__fixed div {
		flex-direction: column;
		gap: 0;
	}

	.pfmp-form__fixed dt {
		flex: none;
	}
}

/* 読み上げ専用テキスト(テーマ側の定義が無い場合の保険) */

.pfmp .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* 返品フォーム: 商品ごとの点数、希望対応の補足 */

.pfmp-help--top {
	margin: 0 0 8px;
}

.pfmp-qty {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 6px;
	padding: 8px 12px;
	border: 1px solid var(--pfmp-line);
	border-radius: 6px;
	font-size: 14px;
}

.pfmp-qty label {
	margin: 0;
	font-weight: 400;
}

.pfmp-qty small {
	color: var(--pfmp-sub);
	white-space: nowrap;
}

.pfmp-qty__input {
	flex: 0 0 auto;
	white-space: nowrap;
}

.pfmp-field .pfmp-qty select {
	width: 72px;
	padding: 6px 8px;
}

.pfmp-check__note {
	display: block;
	color: var(--pfmp-sub);
	font-size: 12px;
}

/* 再購入のおすすめ: 商品カード自体はテーマの表示を使い、余白だけ整える */

.pfmp-rebuy .pfmp-lead {
	margin-bottom: 10px;
}

.pfmp-rebuy .woocommerce {
	margin: 0;
}

.pfmp-rebuy ul.products {
	margin-bottom: 0;
}

@media (max-width: 600px) {
	.pfmp-rebuy ul.products {
		display: flex;
		flex-wrap: nowrap;
		gap: 12px;
		overflow-x: auto;
		padding-bottom: 8px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.pfmp-rebuy ul.products li.product {
		flex: 0 0 46%;
		width: auto;
		margin: 0;
		scroll-snap-align: start;
	}
}

/* ---------- スマホ・タブレット: 左メニューを横スクロールの1行にまとめ、本文をすぐ見せる ---------- */

@media (max-width: 992px) {
	.woocommerce-account .woocommerce-MyAccount-navigation {
		float: none;
		width: auto;
		margin: 0 0 14px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: 8px;
		margin: 0;
		padding: 2px 0 8px;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
		display: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li {
		flex: 0 0 auto;
		border: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		display: block;
		padding: 8px 14px;
		border: 1px solid #d5d9de;
		border-radius: 999px;
		background: #fff;
		color: #333;
		font-size: 14px;
		line-height: 1.3;
		white-space: nowrap;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
		display: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
		border-color: #0a7d2c;
		background: #0a7d2c;
		color: #fff;
	}
}

/* 注文の詳細: 配送追跡プラグインが出す、入力欄のない「保存」ボタンだけのフォームを隠す */

#wcst_order_details_form:not(:has(input:not([type="submit"]):not([type="hidden"]), textarea, select)) {
	display: none;
}

/* ---------- 返品お問い合わせ: 受付後の画面とやり取りの履歴 ---------- */

.pfmp a.pfmp-note--received {
	color: var(--pfmp-warn);
}

.pfmp a.pfmp-note--received.is-replied {
	background: #e7effd;
	color: #1d4ea8;
}

.pfmp-return-done {
	max-width: 640px;
}

.pfmp-done__head {
	margin: 0 0 18px;
	padding: 16px 18px;
	border: 1px solid #bfe3c9;
	border-radius: var(--pfmp-radius);
	background: var(--pfmp-accent-soft);
}

.pfmp-done__head h2 {
	margin: 0 0 6px;
	color: var(--pfmp-accent);
	font-size: 18px;
	font-weight: 700;
}

.pfmp-done__head p {
	margin: 0;
	font-size: 14px;
}

.pfmp-done__head p + p {
	margin-top: 6px;
}

.pfmp-thread__title {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
}

.pfmp-thread {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.pfmp-thread__msg {
	max-width: 85%;
	margin: 0 0 12px;
}

.pfmp-thread__msg--customer {
	margin-left: auto;
}

.pfmp-thread__meta {
	margin: 0 0 3px;
	color: var(--pfmp-sub);
	font-size: 12px;
}

.pfmp-thread__msg--customer .pfmp-thread__meta {
	text-align: right;
}

.pfmp-thread__who {
	font-weight: 700;
}

.pfmp-thread__body {
	padding: 10px 14px;
	border-radius: 12px;
	background: var(--pfmp-bg);
	font-size: 14px;
	line-height: 1.7;
	overflow-wrap: anywhere;
}

.pfmp-thread__msg--shop .pfmp-thread__body {
	border-top-left-radius: 2px;
}

.pfmp-thread__msg--customer .pfmp-thread__body {
	border-top-right-radius: 2px;
	background: var(--pfmp-accent-soft);
}

.pfmp-thread__form {
	margin: 0 0 22px;
}

.pfmp-done__line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 0 0 16px;
	padding: 12px 14px;
	border: 1px solid var(--pfmp-line);
	border-radius: var(--pfmp-radius);
	font-size: 14px;
}

.pfmp .pfmp-btn--line {
	border-color: #06c755;
	background: #06c755;
	color: #fff;
}

.pfmp .pfmp-btn--line:hover {
	border-color: #05a648;
	background: #05a648;
}

.pfmp-done__back {
	margin: 0;
	font-size: 14px;
}

.pfmp-done__line span {
	flex: 1 1 260px;
}

.pfmp-return .pfmp-done__line {
	max-width: 640px;
	margin-bottom: 22px;
}

/* ---------- 注文の詳細: 紙の納品書のような罫線つきの明細 ---------- */

.woocommerce-view-order .woocommerce-MyAccount-content {
	--pfmp-slip-ink: #1a1a1a;
	--pfmp-slip-rule: #9aa0a6;
	--pfmp-slip-head: #f3f4f5;
}

.woocommerce-view-order .woocommerce-MyAccount-content > p {
	margin: 0 0 6px;
	font-size: 14px;
}

.woocommerce-view-order .woocommerce-MyAccount-content > p mark {
	background: none;
	color: var(--pfmp-slip-ink);
	font-weight: 700;
}

.woocommerce-view-order .woocommerce-MyAccount-content > .ywpar-order-point-summary {
	margin-bottom: 14px;
}

.woocommerce-view-order .woocommerce-order-details {
	margin: 0 0 24px;
	padding: 28px 28px 22px;
	border: 1px solid #c4c9d0;
	border-radius: 2px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.woocommerce-view-order .woocommerce-order-details__title {
	margin: 0 0 18px;
	padding: 0 0 10px;
	border-bottom: 3px double var(--pfmp-slip-ink);
	color: var(--pfmp-slip-ink);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-align: center;
}

.woocommerce-view-order table.order_details {
	width: 100%;
	margin: 0 0 20px;
	border: 1.5px solid var(--pfmp-slip-ink);
	border-collapse: collapse;
	border-radius: 0;
	color: var(--pfmp-slip-ink);
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}

.woocommerce-view-order table.order_details th,
.woocommerce-view-order table.order_details td {
	padding: 9px 12px;
	border: 1px solid var(--pfmp-slip-rule);
	background: #fff;
	line-height: 1.6;
	vertical-align: middle;
}

.woocommerce-view-order table.order_details thead th {
	border-bottom: 1.5px solid var(--pfmp-slip-ink);
	background: var(--pfmp-slip-head);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-align: center;
}

/* 商品名のセルの右端を「数量」の列として使う */

.woocommerce-view-order table.order_details .product-name {
	position: relative;
	padding-right: 88px;
}

.woocommerce-view-order table.order_details thead .product-name::after,
.woocommerce-view-order table.order_details td.product-name .product-quantity {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	border-left: 1px solid var(--pfmp-slip-rule);
}

.woocommerce-view-order table.order_details thead .product-name::after {
	content: "数量";
}

.woocommerce-view-order table.order_details td.product-name .product-quantity {
	font-weight: 400;
}

.woocommerce-view-order table.order_details td.product-name a {
	color: var(--pfmp-slip-ink);
	font-weight: 400;
	text-decoration: none;
}

.woocommerce-view-order table.order_details td.product-name a:hover {
	text-decoration: underline;
}

.woocommerce-view-order table.order_details .product-total,
.woocommerce-view-order table.order_details tfoot td {
	width: 30%;
	text-align: right;
}

.woocommerce-view-order table.order_details thead .product-total {
	text-align: center;
}

.woocommerce-view-order table.order_details tfoot tr:first-child th,
.woocommerce-view-order table.order_details tfoot tr:first-child td {
	border-top: 1.5px solid var(--pfmp-slip-ink);
}

.woocommerce-view-order table.order_details tfoot th {
	font-size: 13px;
	font-weight: 400;
	text-align: right;
}

.woocommerce-view-order table.order_details tfoot td {
	font-size: 14px;
	font-weight: 400;
}

.woocommerce-view-order table.order_details tfoot small {
	display: block;
	color: #555;
	font-size: 11px;
	font-weight: 400;
}

.woocommerce-view-order table.order_details tfoot tr:has(.includes_tax) th,
.woocommerce-view-order table.order_details tfoot tr:has(.includes_tax) td {
	background: var(--pfmp-slip-head);
	font-weight: 700;
}

.woocommerce-view-order table.order_details tfoot tr:has(.includes_tax) td > .amount {
	font-size: 17px;
}

/* 配送の詳細 */

.woocommerce-view-order .woocommerce-order-details > h2:not(.woocommerce-order-details__title) {
	margin: 0 0 8px;
	padding-left: 10px;
	border-left: 4px solid var(--pfmp-slip-ink);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

.woocommerce-view-order .woocommerce-order-details ul.order_details {
	margin: 0;
	padding: 0;
	border: 1px solid var(--pfmp-slip-rule);
	list-style: none;
	font-size: 14px;
}

.woocommerce-view-order .woocommerce-order-details ul.order_details li {
	float: none;
	width: auto;
	margin: 0;
	padding: 8px 12px;
	border: 0;
	border-bottom: 1px solid var(--pfmp-slip-rule);
	font-size: 14px;
	line-height: 1.6;
	text-transform: none;
}

.woocommerce-view-order .woocommerce-order-details ul.order_details li:last-child {
	border-bottom: 0;
}

.woocommerce-view-order .woocommerce-order-details ul.order_details li strong {
	display: inline;
	font-size: 14px;
}

/* 請求先・お届け先 */

.woocommerce-view-order .woocommerce-customer-details .addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin: 0 0 20px;
}

.woocommerce-view-order .woocommerce-customer-details .addresses::before,
.woocommerce-view-order .woocommerce-customer-details .addresses::after {
	display: none;
}

.woocommerce-view-order .woocommerce-customer-details .addresses .woocommerce-column {
	float: none;
	width: auto;
	margin: 0;
	border: 1px solid var(--pfmp-slip-rule);
	background: #fff;
}

.woocommerce-view-order .woocommerce-customer-details .woocommerce-column__title {
	margin: 0;
	padding: 8px 12px;
	border-bottom: 1px solid var(--pfmp-slip-rule);
	background: var(--pfmp-slip-head);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.woocommerce-view-order .woocommerce-customer-details address {
	margin: 0;
	padding: 12px;
	border: 0;
	font-size: 14px;
	font-style: normal;
	line-height: 1.7;
}

.woocommerce-view-order .woocommerce-customer-details address p {
	margin: 0;
	padding: 0;
}

@media (max-width: 600px) {
	.woocommerce-view-order .woocommerce-order-details {
		padding: 18px 12px 14px;
	}

	.woocommerce-view-order .woocommerce-order-details__title {
		font-size: 17px;
	}

	.woocommerce-view-order table.order_details {
		font-size: 13px;
	}

	.woocommerce-view-order table.order_details th,
	.woocommerce-view-order table.order_details td {
		padding: 8px;
	}

	.woocommerce-view-order table.order_details .product-name {
		padding-right: 56px;
	}

	.woocommerce-view-order table.order_details thead .product-name::after,
	.woocommerce-view-order table.order_details td.product-name .product-quantity {
		width: 48px;
	}

	.woocommerce-view-order table.order_details thead th {
		letter-spacing: 0.05em;
	}

	.woocommerce-view-order .woocommerce-customer-details .addresses {
		grid-template-columns: 1fr;
	}
}

/* テーマはスマホ幅で表を縦積みにするため、注文の詳細では表の形を保つ */

.woocommerce-view-order table.order_details {
	display: table;
}

.woocommerce-view-order table.order_details thead {
	display: table-header-group;
}

.woocommerce-view-order table.order_details tbody {
	display: table-row-group;
}

.woocommerce-view-order table.order_details tfoot {
	display: table-footer-group;
}

.woocommerce-view-order table.order_details tr {
	display: table-row;
}

.woocommerce-view-order table.order_details th,
.woocommerce-view-order table.order_details td {
	display: table-cell;
	float: none;
}

.woocommerce-view-order table.order_details td::before {
	display: none;
}

.woocommerce-view-order table.order_details tfoot tr:last-child th,
.woocommerce-view-order table.order_details tfoot tr:last-child td {
	border: 1px solid var(--pfmp-slip-rule);
}

/* ---------- 注文の詳細: やわらかい印象に(角丸・点線・あたたかい色) ---------- */

.woocommerce-view-order .woocommerce-MyAccount-content {
	--pfmp-slip-ink: #4a4338;
	--pfmp-slip-rule: #e6d9bd;
	--pfmp-slip-head: #fff4d6;
	--pfmp-slip-paper: #fffdf7;
	--pfmp-slip-green: #2e9a4f;
	--pfmp-slip-green-soft: #eaf7ee;
}

.woocommerce-view-order .woocommerce-order-details {
	padding: 26px 24px 22px;
	border: 1.5px solid var(--pfmp-slip-rule);
	border-radius: 20px;
	background: var(--pfmp-slip-paper);
	box-shadow: 0 4px 14px rgba(160, 130, 60, 0.1);
}

.woocommerce-view-order .woocommerce-order-details__title {
	position: relative;
	margin: 0 0 22px;
	padding: 0 0 14px;
	border-bottom: 0;
	color: var(--pfmp-slip-green);
	font-size: 19px;
	letter-spacing: 0.2em;
}

.woocommerce-view-order .woocommerce-order-details__title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 56px;
	height: 5px;
	border-radius: 999px;
	background: #ffd45c;
	transform: translateX(-50%);
}

.woocommerce-view-order table.order_details {
	overflow: hidden;
	border: 1.5px solid var(--pfmp-slip-rule);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 14px;
	background: #fff;
}

.woocommerce-view-order table.order_details th,
.woocommerce-view-order table.order_details td {
	padding: 11px 14px;
	border: 0;
	border-top: 1.5px dashed var(--pfmp-slip-rule);
	background: #fff;
}

.woocommerce-view-order table.order_details thead th {
	border-top: 0;
	border-bottom: 0;
	background: var(--pfmp-slip-head);
	color: #8a6a14;
	letter-spacing: 0.12em;
}

.woocommerce-view-order table.order_details thead .product-name::after,
.woocommerce-view-order table.order_details td.product-name .product-quantity {
	border-left: 1.5px dashed var(--pfmp-slip-rule);
}

.woocommerce-view-order table.order_details .product-total,
.woocommerce-view-order table.order_details tfoot td {
	border-left: 1.5px dashed var(--pfmp-slip-rule);
}

.woocommerce-view-order table.order_details tfoot tr:first-child th,
.woocommerce-view-order table.order_details tfoot tr:first-child td {
	border-top: 1.5px solid var(--pfmp-slip-rule);
}

.woocommerce-view-order table.order_details tfoot tr:last-child th,
.woocommerce-view-order table.order_details tfoot tr:last-child td {
	border: 0;
	border-top: 1.5px dashed var(--pfmp-slip-rule);
}

.woocommerce-view-order table.order_details tfoot tr:last-child td {
	border-left: 1.5px dashed var(--pfmp-slip-rule);
}

.woocommerce-view-order table.order_details tfoot th {
	color: #7a7264;
}

.woocommerce-view-order table.order_details tfoot small {
	color: #8d8576;
}

.woocommerce-view-order table.order_details tfoot tr:has(.includes_tax) th,
.woocommerce-view-order table.order_details tfoot tr:has(.includes_tax) td {
	background: var(--pfmp-slip-green-soft);
	color: var(--pfmp-slip-ink);
}

.woocommerce-view-order table.order_details tfoot tr:has(.includes_tax) td > .amount {
	color: var(--pfmp-slip-green);
	font-size: 19px;
}

.woocommerce-view-order .woocommerce-order-details > h2:not(.woocommerce-order-details__title) {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 4px 0 10px;
	padding-left: 0;
	border-left: 0;
	color: var(--pfmp-slip-ink);
}

.woocommerce-view-order .woocommerce-order-details > h2:not(.woocommerce-order-details__title)::before {
	content: "";
	flex: none;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #ffd45c;
	box-shadow: 0 0 0 3px #fff4d6;
}

.woocommerce-view-order .woocommerce-order-details ul.order_details {
	overflow: hidden;
	border: 1.5px solid var(--pfmp-slip-rule);
	border-radius: 14px;
	background: #fff;
	color: var(--pfmp-slip-ink);
}

.woocommerce-view-order .woocommerce-order-details ul.order_details li {
	padding: 10px 14px;
	border-bottom: 1.5px dashed var(--pfmp-slip-rule);
}

.woocommerce-view-order .woocommerce-customer-details .addresses .woocommerce-column {
	overflow: hidden;
	border: 1.5px solid var(--pfmp-slip-rule);
	border-radius: 16px;
	background: var(--pfmp-slip-paper);
}

.woocommerce-view-order .woocommerce-customer-details .woocommerce-column__title {
	padding: 10px 14px;
	border-bottom: 0;
	color: #8a6a14;
}

.woocommerce-view-order .woocommerce-customer-details address {
	padding: 12px 14px 14px;
	color: var(--pfmp-slip-ink);
}

@media (max-width: 600px) {
	.woocommerce-view-order .woocommerce-order-details {
		padding: 20px 12px 16px;
		border-radius: 16px;
	}

	.woocommerce-view-order table.order_details th,
	.woocommerce-view-order table.order_details td {
		padding: 9px 10px;
	}
}

/* ---------- 注文の詳細: キャンセルされた注文は全体をうすいグレーに ---------- */

.pfmp-order-status-cancelled.woocommerce-view-order .woocommerce-MyAccount-content {
	--pfmp-slip-ink: #6b6b6b;
	--pfmp-slip-rule: #d6d6d6;
	--pfmp-slip-head: #e4e4e4;
	--pfmp-slip-paper: #efefef;
	--pfmp-slip-green: #7a7a7a;
	--pfmp-slip-green-soft: #e4e4e4;
}

.pfmp-order-status-cancelled.woocommerce-view-order .woocommerce-order-details {
	box-shadow: none;
}

.pfmp-order-status-cancelled.woocommerce-view-order .woocommerce-order-details__title::after,
.pfmp-order-status-cancelled.woocommerce-view-order .woocommerce-order-details > h2:not(.woocommerce-order-details__title)::before {
	background: #bdbdbd;
	box-shadow: none;
}

.pfmp-order-status-cancelled.woocommerce-view-order table.order_details,
.pfmp-order-status-cancelled.woocommerce-view-order table.order_details tbody td,
.pfmp-order-status-cancelled.woocommerce-view-order table.order_details tfoot tr:not(:has(.includes_tax)) th,
.pfmp-order-status-cancelled.woocommerce-view-order table.order_details tfoot tr:not(:has(.includes_tax)) td,
.pfmp-order-status-cancelled.woocommerce-view-order .woocommerce-order-details ul.order_details {
	background: #f7f7f7;
}

.pfmp-order-status-cancelled.woocommerce-view-order table.order_details thead th,
.pfmp-order-status-cancelled.woocommerce-view-order table.order_details tfoot th,
.pfmp-order-status-cancelled.woocommerce-view-order table.order_details tfoot small,
.pfmp-order-status-cancelled.woocommerce-view-order table.order_details td.product-name a,
.pfmp-order-status-cancelled.woocommerce-view-order .woocommerce-customer-details .woocommerce-column__title {
	color: #6b6b6b;
}

/* ---------- 注文の詳細: 注文番号の一文とポイント獲得を枠の中へ(移動は account.php の小さなスクリプト) ---------- */

.woocommerce-view-order .woocommerce-order-details .pfmp-slip-lead {
	margin: -6px 0 18px;
	color: #7a7264;
	font-size: 13px;
	line-height: 1.9;
	text-align: center;
}

.woocommerce-view-order .woocommerce-order-details .pfmp-slip-lead mark {
	background: none;
	color: var(--pfmp-slip-ink);
	font-weight: 700;
}

.woocommerce-view-order .woocommerce-order-details .pfmp-slip-lead mark.order-status {
	display: inline-block;
	margin: 0 3px;
	padding: 0 10px;
	border-radius: 999px;
	background: var(--pfmp-slip-green-soft);
	color: var(--pfmp-slip-green);
}

.woocommerce-view-order .woocommerce-order-details .pfmp-slip-points {
	width: fit-content;
	margin: -6px 0 20px auto;
	padding: 5px 16px;
	border-radius: 999px;
	background: var(--pfmp-slip-head);
	color: #8a6a14;
	font-size: 13px;
	line-height: 1.6;
}

.woocommerce-view-order .woocommerce-order-details .pfmp-slip-points span {
	font-size: 15px;
	font-weight: 700;
}

.pfmp-order-status-cancelled.woocommerce-view-order .woocommerce-order-details .pfmp-slip-points {
	color: #6b6b6b;
}

/* ========== マイページ全体: 注文詳細と同じ、やわらかいデザインにそろえる(角丸・点線・あたたかい色) ========== */

.pfmp {
	--pfmp-ink: #4a4338;
	--pfmp-sub: #7a7264;
	--pfmp-line: #e6d9bd;
	--pfmp-bg: #fff8e6;
	--pfmp-accent: #2e9a4f;
	--pfmp-accent-soft: #eaf7ee;
	--pfmp-link: #23803f;
	--pfmp-warn: #8a6a14;
	--pfmp-warn-soft: #fff4d6;
	--pfmp-radius: 18px;
	--pfmp-paper: #fffdf7;
}

.woocommerce-account .woocommerce-MyAccount-content {
	--pfmp-slip-ink: #4a4338;
	--pfmp-slip-rule: #e6d9bd;
	--pfmp-slip-head: #fff4d6;
	--pfmp-slip-paper: #fffdf7;
	--pfmp-slip-green: #2e9a4f;
	--pfmp-slip-green-soft: #eaf7ee;
}

/* マイページトップ・注文履歴 */

.pfmp-points {
	border: 1.5px solid #cdebd6;
	border-radius: 20px;
	box-shadow: 0 4px 14px rgba(46, 154, 79, 0.08);
}

.pfmp-points__value {
	color: var(--pfmp-accent);
}

.pfmp-notice {
	border: 1.5px dashed #f0d48a;
	border-radius: 14px;
}

.pfmp-section__head h2,
.pfmp-thread__title {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--pfmp-ink);
}

.pfmp-section__head h2::before,
.pfmp-thread__title::before {
	content: "";
	flex: none;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #ffd45c;
	box-shadow: 0 0 0 3px #fff4d6;
}

.pfmp-order {
	border: 1.5px solid var(--pfmp-line);
	border-radius: 20px;
	background: var(--pfmp-paper);
	box-shadow: 0 4px 14px rgba(160, 130, 60, 0.08);
}

.pfmp-order.is-stopped {
	border-color: #d6d6d6;
	background: #efefef;
	box-shadow: none;
}

.pfmp-order__actions {
	border-top: 1.5px dashed var(--pfmp-line);
}

.pfmp-ship {
	border: 1.5px dashed var(--pfmp-line);
	border-radius: 14px;
	background: #fff;
}

.pfmp-items__thumbs li {
	border-radius: 12px;
	background: #fff;
}

.pfmp-progress li::after {
	background: var(--pfmp-paper);
}

.pfmp-progress li.is-done::after {
	background: var(--pfmp-accent);
}

.pfmp .pfmp-btn {
	padding: 6px 20px;
	border: 1.5px solid var(--pfmp-line);
	border-radius: 999px;
}

.pfmp .pfmp-btn:hover {
	border-color: var(--pfmp-accent);
	color: var(--pfmp-accent);
}

.pfmp .pfmp-btn--primary,
.pfmp .pfmp-btn--primary:hover {
	border-color: var(--pfmp-accent);
	color: #fff;
}

.pfmp .pfmp-btn--primary:hover {
	border-color: #258443;
	background: #258443;
}

.pfmp .pfmp-btn--quiet,
.pfmp .pfmp-btn--quiet:hover {
	border-color: transparent;
	color: var(--pfmp-sub);
}

.pfmp .pfmp-btn--line,
.pfmp .pfmp-btn--line:hover {
	border-color: #06c755;
	color: #fff;
}

.pfmp-badge--step2,
.pfmp-badge--step3 {
	background: #fff4d6;
	color: #8a6a14;
}

.pfmp-note--received,
.pfmp a.pfmp-note--received {
	border-radius: 999px;
}

.pfmp .pfmp-card {
	border: 1.5px solid var(--pfmp-line);
	background: var(--pfmp-paper);
}

.pfmp .pfmp-card:hover {
	border-color: #bfe3c9;
}

.pfmp-card__icon {
	background: var(--pfmp-accent);
}

.pfmp-empty {
	border: 1.5px dashed var(--pfmp-line);
	border-radius: 20px;
	background: var(--pfmp-paper);
}

/* 返品お問い合わせ */

.pfmp-form,
.pfmp-return-done {
	padding: 22px 22px 24px;
	border: 1.5px solid var(--pfmp-line);
	border-radius: 20px;
	background: var(--pfmp-paper);
	box-shadow: 0 4px 14px rgba(160, 130, 60, 0.08);
}

.pfmp-form__fixed {
	border: 1.5px dashed var(--pfmp-line);
	border-radius: 14px;
	background: #fff;
}

.pfmp-field select,
.pfmp-field textarea,
.pfmp-field input[type="tel"] {
	border: 1.5px solid var(--pfmp-line);
	border-radius: 12px;
}

.pfmp-field > label.pfmp-check,
.pfmp-qty {
	border: 1.5px solid var(--pfmp-line);
	border-radius: 12px;
	background: #fff;
}

.pfmp-req,
.pfmp-opt {
	border-radius: 999px;
}

.pfmp-done__head {
	border: 1.5px solid #cdebd6;
	border-radius: 16px;
}

.pfmp-done__line {
	border: 1.5px dashed var(--pfmp-line);
	border-radius: 16px;
	background: #fff;
}

.pfmp-thread__body {
	border-radius: 16px;
	background: #fff4d6;
}

.pfmp-thread__msg--shop .pfmp-thread__body {
	border-top-left-radius: 4px;
}

.pfmp-thread__msg--customer .pfmp-thread__body {
	border-top-right-radius: 4px;
}

/* お届け先・請求先(一覧) */

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after {
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address {
	float: none;
	width: auto;
	margin: 0;
	overflow: hidden;
	border: 1.5px solid var(--pfmp-slip-rule);
	border-radius: 16px;
	background: var(--pfmp-slip-paper);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
	padding: 10px 14px;
	background: var(--pfmp-slip-head);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3 {
	float: none;
	margin: 0;
	color: #8a6a14;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit {
	float: none;
	flex: none;
	padding: 3px 14px;
	border: 1.5px solid var(--pfmp-slip-rule);
	border-radius: 999px;
	background: #fff;
	color: var(--pfmp-slip-green);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
	margin: 0;
	padding: 12px 14px 14px;
	border: 0;
	color: var(--pfmp-slip-ink);
	font-size: 14px;
	font-style: normal;
	line-height: 1.7;
}

/* アカウント詳細・住所の編集フォーム */

.woocommerce-account .woocommerce-MyAccount-content > form {
	padding: 24px 24px 22px;
	border: 1.5px solid var(--pfmp-slip-rule);
	border-radius: 20px;
	background: var(--pfmp-slip-paper);
	box-shadow: 0 4px 14px rgba(160, 130, 60, 0.08);
	color: var(--pfmp-slip-ink);
}

.woocommerce-account .woocommerce-MyAccount-content > form::after {
	content: "";
	display: table;
	clear: both;
}

.woocommerce-account .woocommerce-MyAccount-content > form > h2,
.woocommerce-account .woocommerce-MyAccount-content > form > h3,
.woocommerce-account .woocommerce-MyAccount-content > h2 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	color: var(--pfmp-slip-ink);
	font-size: 17px;
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content > form > h2::before,
.woocommerce-account .woocommerce-MyAccount-content > form > h3::before,
.woocommerce-account .woocommerce-MyAccount-content > h2::before {
	content: "";
	flex: none;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #ffd45c;
	box-shadow: 0 0 0 3px #fff4d6;
}

.woocommerce-account .woocommerce-MyAccount-content > form label {
	color: var(--pfmp-slip-ink);
	font-size: 14px;
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content > form input.input-text,
.woocommerce-account .woocommerce-MyAccount-content > form textarea,
.woocommerce-account .woocommerce-MyAccount-content > form select,
.woocommerce-account .woocommerce-MyAccount-content > form .select2-container--default .select2-selection--single {
	border: 1.5px solid var(--pfmp-slip-rule);
	border-radius: 12px;
	background-color: #fff;
	box-shadow: none;
}

.woocommerce-account .woocommerce-MyAccount-content > form input.input-text:focus,
.woocommerce-account .woocommerce-MyAccount-content > form textarea:focus,
.woocommerce-account .woocommerce-MyAccount-content > form select:focus {
	border-color: var(--pfmp-slip-green);
	outline: 0;
	box-shadow: 0 0 0 3px var(--pfmp-slip-green-soft);
}

.woocommerce-account .woocommerce-MyAccount-content > form fieldset {
	margin: 20px 0;
	padding: 14px 18px 6px;
	border: 1.5px dashed var(--pfmp-slip-rule);
	border-radius: 16px;
	background: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content > form fieldset legend {
	width: auto;
	margin: 0;
	padding: 0 10px;
	color: #8a6a14;
	font-size: 14px;
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content > form button.button {
	min-height: 46px;
	padding: 10px 34px;
	border: 0;
	border-radius: 999px;
	background: var(--pfmp-slip-green);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content > form button.button:hover {
	background: #258443;
}

/* 再入荷お知らせ登録などの一覧表(注文詳細の表は対象外) */

.woocommerce-account .woocommerce-MyAccount-content table.shop_table:not(.order_details) {
	overflow: hidden;
	border: 1.5px solid var(--pfmp-slip-rule);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 14px;
	background: #fff;
	color: var(--pfmp-slip-ink);
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table:not(.order_details) thead th {
	border: 0;
	background: var(--pfmp-slip-head);
	color: #8a6a14;
	font-size: 13px;
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table:not(.order_details) tbody td {
	border: 0;
	border-top: 1.5px dashed var(--pfmp-slip-rule);
}

/* スマホ・タブレットのメニュー */

@media (max-width: 992px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		border: 1.5px solid #e6d9bd;
		background: #fffdf7;
		color: #4a4338;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
		border-color: #2e9a4f;
		background: #2e9a4f;
		color: #fff;
	}
}

@media (max-width: 600px) {
	.pfmp-form,
	.pfmp-return-done,
	.woocommerce-account .woocommerce-MyAccount-content > form {
		padding: 18px 14px 18px;
		border-radius: 16px;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}
}

/* やり取り画面の入力欄は、外側の枠の中にそのまま置く(枠を二重にしない) */

.pfmp-form.pfmp-thread__form {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}

/* ---------- アカウント詳細・住所の編集フォーム: 姓/名などの2列を float ではなく grid で並べる(間隔のばらつき・スマホでの順序入れ替わりを防ぐ) ---------- */

.woocommerce-account .woocommerce-MyAccount-content > form,
.woocommerce-account .woocommerce-MyAccount-content > form .woocommerce-address-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 16px;
}

.woocommerce-account .woocommerce-MyAccount-content > form::after {
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-content > form > *,
.woocommerce-account .woocommerce-MyAccount-content > form .woocommerce-address-fields__field-wrapper > * {
	grid-column: 1 / -1;
	min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content > form .form-row {
	float: none;
	width: auto;
	margin: 0 0 16px;
}

.woocommerce-account .woocommerce-MyAccount-content > form .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content > form .form-row-last {
	grid-column: auto;
}

.woocommerce-account .woocommerce-MyAccount-content > form .clear {
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-content > form fieldset {
	display: block;
}

.woocommerce-account .woocommerce-MyAccount-content > form .form-row input.input-text,
.woocommerce-account .woocommerce-MyAccount-content > form .form-row select {
	width: 100%;
}

@media (max-width: 480px) {
	.woocommerce-account .woocommerce-MyAccount-content > form,
	.woocommerce-account .woocommerce-MyAccount-content > form .woocommerce-address-fields__field-wrapper {
		gap: 0 10px;
	}
}

/* アカウント詳細: WooCommerce は「名」が先の並びなので、日本の慣習どおり「姓」を先にする */

.woocommerce-account .woocommerce-MyAccount-content > form.edit-account .form-row:has(> #account_last_name) {
	order: -1;
}

/* ---------- 注文の詳細: PDF Invoice Japan の「請求書あるいは払戻明細書の再送信」欄を同じデザインに ---------- */

/* 再送信できるものが無いときは欄ごと隠す */

#invoicejapanresending .wrap:not(:has(button, .components-notice)) {
	display: none;
}

.woocommerce-view-order #invoicejapanresending .wrap {
	margin: 0 0 20px;
	padding: 16px 18px;
	border: 1.5px dashed var(--pfmp-slip-rule);
	border-radius: 16px;
	background: var(--pfmp-slip-paper);
	color: var(--pfmp-slip-ink);
}

.woocommerce-view-order #invoicejapanresending .wrap h2 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
	color: var(--pfmp-slip-ink);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

.woocommerce-view-order #invoicejapanresending .wrap h2::before {
	content: "";
	flex: none;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #ffd45c;
	box-shadow: 0 0 0 3px #fff4d6;
}

.woocommerce-view-order #invoicejapanresending .wrap p {
	margin: 0;
	font-size: 14px;
}

.woocommerce-view-order #invoicejapanresending .wrap p:empty {
	display: none;
}

.woocommerce-view-order #invoicejapanresending .wrap p + p:not(:empty) {
	margin-top: 8px;
}

.woocommerce-view-order #invoicejapanresending button.resending_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 6px 20px;
	border: 1.5px solid var(--pfmp-slip-rule);
	border-radius: 999px;
	background: #fff;
	color: var(--pfmp-slip-ink);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	box-shadow: none;
	cursor: pointer;
}

.woocommerce-view-order #invoicejapanresending button.resending_button:hover {
	border-color: var(--pfmp-slip-green);
	background: #fff;
	color: var(--pfmp-slip-green);
}

.woocommerce-view-order #invoicejapanresending .components-notice {
	margin: 0;
	padding: 10px 14px;
	border: 1.5px solid #cdebd6;
	border-left-width: 1.5px;
	border-radius: 12px;
	background: var(--pfmp-slip-green-soft);
	color: var(--pfmp-slip-ink);
	font-size: 14px;
}

.pfmp-order-status-cancelled.woocommerce-view-order #invoicejapanresending .wrap h2::before {
	background: #bdbdbd;
	box-shadow: none;
}

/* ---------- 注文の詳細: WooCommerce の「再注文」ボタンを枠の右上に置く ---------- */

.woocommerce-view-order .woocommerce-order-details {
	position: relative;
}

.woocommerce-view-order .woocommerce-order-details p.order-again {
	position: absolute;
	top: 18px;
	right: 20px;
	margin: 0;
}

.woocommerce-view-order .woocommerce-order-details p.order-again a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 4px 16px;
	border: 1.5px solid var(--pfmp-slip-green);
	border-radius: 999px;
	background: #fff;
	color: var(--pfmp-slip-green);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	box-shadow: none;
}

.woocommerce-view-order .woocommerce-order-details p.order-again a.button:hover {
	background: var(--pfmp-slip-green);
	color: #fff;
}

.pfmp-order-status-cancelled.woocommerce-view-order .woocommerce-order-details p.order-again a.button {
	border-color: #9a9a9a;
	color: #6b6b6b;
}

@media (max-width: 600px) {
	.woocommerce-view-order .woocommerce-order-details p.order-again {
		top: 14px;
		right: 12px;
	}

	.woocommerce-view-order .woocommerce-order-details p.order-again a.button {
		min-height: 32px;
		padding: 3px 12px;
		font-size: 12px;
	}
}

/* 再送信欄の見出し: スクリプトが書き出す文言は変えられないので、表示だけ「請求書（注文明細）」に差し替える */

.woocommerce-view-order #invoicejapanresending .wrap h2 {
	font-size: 0;
	line-height: 0;
}

.woocommerce-view-order #invoicejapanresending .wrap h2::after {
	content: "請求書（注文明細）";
	font-size: 15px;
	line-height: 1.3;
}

/* 再送信ボタンの文言も表示だけ差し替える(1つ目の段落=請求書、2つ目=払戻明細書) */

.woocommerce-view-order #invoicejapanresending button.resending_button {
	font-size: 0;
}

.woocommerce-view-order #invoicejapanresending button.resending_button::after {
	content: "請求書（注文明細）を再送信する";
	font-size: 14px;
	line-height: 1.3;
}

.woocommerce-view-order #invoicejapanresending .wrap p:nth-of-type(2) button.resending_button::after {
	content: "払戻明細書を再送信する";
}

/* 払戻明細書は使わないので、2つ目の段落(払戻明細書の再送信)は表示しない。請求書側が空なら欄ごと隠す */

.woocommerce-view-order #invoicejapanresending .wrap p:nth-of-type(2) {
	display: none;
}

#invoicejapanresending .wrap:not(:has(p:first-of-type button, p:first-of-type .components-notice)) {
	display: none;
}

/* 請求書（注文明細）の見出し: 黄色の丸印の代わりに伝票のイラスト(アイコン) */

.woocommerce-view-order #invoicejapanresending .wrap h2::before {
	width: 24px;
	height: 24px;
	border-radius: 0;
	background: var(--pfmp-slip-green);
	box-shadow: none;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-2-1.5L14 21l-2-1.5L10 21l-2-1.5L6 21z'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-2-1.5L14 21l-2-1.5L10 21l-2-1.5L6 21z'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E") center / contain no-repeat;
}

.pfmp-order-status-cancelled.woocommerce-view-order #invoicejapanresending .wrap h2::before {
	background: #9a9a9a;
}

/* ---------- 返品/返金フォーム: 連絡手段の選択(チップ型)と、選んだ手段の入力欄 ---------- */

.pfmp-contact__choices {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 10px;
}

.pfmp-field .pfmp-contact__choices > label.pfmp-check--chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 8px 18px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
}

.pfmp-field .pfmp-contact__choices > label.pfmp-check--chip input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--pfmp-accent);
}

.pfmp-field .pfmp-contact__choices > label.pfmp-check--chip:has(input:checked) {
	border-color: var(--pfmp-accent);
	background: var(--pfmp-accent-soft);
	color: var(--pfmp-accent);
}

.pfmp-contact__input {
	margin: 0 0 10px;
}

.pfmp-contact__input[hidden] {
	display: none;
}

.pfmp-contact__input label {
	display: block;
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 700;
}

.pfmp-field .pfmp-contact__input input[type="tel"],
.pfmp-field .pfmp-contact__input input[type="email"] {
	width: 100%;
	max-width: 360px;
	padding: 10px 12px;
	border: 1.5px solid var(--pfmp-line);
	border-radius: 12px;
	background: #fff;
	font-size: 16px;
}

.pfmp-field input[type="file"] {
	display: block;
	width: 100%;
	padding: 10px 12px;
	border: 1.5px dashed var(--pfmp-line);
	border-radius: 12px;
	background: #fff;
	font-size: 14px;
}

.pfmp-field .pfmp-contact__choices > label.pfmp-check--chip {
	border: 1.5px solid var(--pfmp-line);
	background: #fff;
	cursor: pointer;
}

/* ---------- ポイント履歴: 50件ずつのページ送り ---------- */

.ywpar_points_rewards tbody tr[hidden] {
	display: none !important;
}

.pfmp-pts-count {
	margin: 0 0 10px;
	color: #7a7264;
	font-size: 13px;
	font-variant-numeric: tabular-nums;
}

.pfmp-pts-pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 18px 0 8px;
}

.pfmp-pts-pager__btn {
	min-width: 40px;
	min-height: 40px;
	padding: 4px 12px;
	border: 1.5px solid #e6d9bd;
	border-radius: 999px;
	background: #fff;
	color: #4a4338;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
}

.pfmp-pts-pager__btn:hover:not(:disabled) {
	border-color: #2e9a4f;
	color: #2e9a4f;
}

.pfmp-pts-pager__btn[aria-current="page"] {
	border-color: #2e9a4f;
	background: #2e9a4f;
	color: #fff;
	cursor: default;
}

.pfmp-pts-pager__btn:disabled {
	opacity: 0.4;
	cursor: default;
}

.pfmp-pts-pager__gap {
	padding: 0 2px;
	color: #7a7264;
}

@media (max-width: 600px) {
	.pfmp-pts-pager__btn {
		min-width: 36px;
		min-height: 36px;
		padding: 3px 10px;
		font-size: 13px;
	}
}

/* ---------- ポイントを管理: ポイントシェアの有効期限と説明リンク ---------- */

.pfmp-share-note {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin: 0 0 14px;
	padding: 12px 16px;
	border: 1.5px dashed #e6d9bd;
	border-radius: 14px;
	background: #fffdf7;
	color: #4a4338;
	font-size: 14px;
	line-height: 1.6;
}

.pfmp-share-note__text {
	flex: 1 1 260px;
	margin: 0;
}

.pfmp-share-note__text strong {
	color: #2e9a4f;
}

.pfmp-share-note__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 14px;
	border: 1.5px solid #2e9a4f;
	border-radius: 999px;
	background: #fff;
	color: #2e9a4f;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.pfmp-share-note__link::before {
	content: "?";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #2e9a4f;
	color: #fff;
	font-size: 11px;
	line-height: 1;
}

.pfmp-share-note__link:hover {
	background: #2e9a4f;
	color: #fff;
}

.pfmp-share-note__link:hover::before {
	background: #fff;
	color: #2e9a4f;
}

/* ---------- ポイント履歴: スマホ・タブレットでは1件を2〜3行のカードにまとめ、余白を減らす ---------- */

@media (max-width: 768px) {
	#history table.ywpar_points_rewards thead {
		display: none;
	}

	#history table.ywpar_points_rewards tbody tr.ywpar-item:not([hidden]) {
		display: grid !important;
		grid-template-columns: 1fr auto;
		align-items: center;
		column-gap: 12px;
		padding: 8px 12px;
		border: 0;
		border-top: 1.5px dashed #e6d9bd;
	}

	#history table.ywpar_points_rewards tbody tr.ywpar-item:first-child {
		border-top: 0;
	}

	#history table.ywpar_points_rewards tbody td {
		display: block !important;
		width: auto !important;
		margin: 0;
		padding: 0 !important;
		border: 0 !important;
		background: none !important;
		line-height: 1.5;
		text-align: left !important;
	}

	#history table.ywpar_points_rewards tbody td::before {
		display: none !important;
	}

	#history table.ywpar_points_rewards td.ywpar_points_rewards-date {
		grid-column: 1;
		grid-row: 1;
		color: #7a7264;
		font-size: 12px;
	}

	#history table.ywpar_points_rewards td.ywpar_points_rewards-action {
		grid-column: 1;
		grid-row: 2;
		color: #4a4338;
		font-size: 14px;
	}

	#history table.ywpar_points_rewards td.ywpar_points_rewards-order {
		grid-column: 1;
		grid-row: 3;
		font-size: 12px;
	}

	#history table.ywpar_points_rewards td.ywpar_points_rewards-order:not(:has(a)) {
		display: none !important;
	}

	#history table.ywpar_points_rewards td.ywpar_points_rewards-points {
		grid-column: 2;
		grid-row: 1 / span 3;
		color: #7a7264;
		font-size: 12px;
		text-align: right !important;
		white-space: nowrap;
	}

	#history table.ywpar_points_rewards td.ywpar_points_rewards-points span {
		display: block;
		font-size: 16px;
		font-weight: 700;
	}
}

/* ---------- ポイントの有効期限タブ ---------- */

#ywpar_tabs .ywpar_tabs_links .pfmp-exp__dot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-left: 6px;
	border-radius: 50%;
	background: #d9480f;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	vertical-align: 2px;
}

.pfmp-exp {
	color: #4a4338;
}

.pfmp-exp__alert {
	margin: 0 0 14px;
	padding: 14px 18px;
	border: 1.5px solid #f5b48a;
	border-radius: 16px;
	background: #fff1e8;
}

.pfmp-exp__alert p {
	margin: 0;
}

.pfmp-exp__alert-title {
	color: #b5410c;
	font-size: 13px;
	font-weight: 700;
}

.pfmp-exp__alert-value {
	color: #b5410c;
	font-size: 14px;
	font-weight: 700;
}

.pfmp-exp__alert-value strong {
	font-size: 28px;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}

.pfmp-exp__alert-note {
	margin-top: 4px !important;
	color: #7a4a2a;
	font-size: 13px;
}

.pfmp-exp__ok {
	margin: 0 0 14px;
	padding: 12px 16px;
	border: 1.5px solid #cdebd6;
	border-radius: 14px;
	background: #eaf7ee;
	color: #23803f;
	font-size: 14px;
	font-weight: 600;
}

.pfmp-exp__rule {
	margin: 0 0 12px;
	color: #7a7264;
	font-size: 13px;
}

.pfmp-exp__table {
	width: 100%;
	margin: 0;
	overflow: hidden;
	border: 1.5px solid #e6d9bd;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 14px;
	background: #fff;
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}

.pfmp-exp__table th,
.pfmp-exp__table td {
	padding: 9px 14px;
	border: 0;
	border-top: 1.5px dashed #e6d9bd;
	background: #fff;
	text-align: left;
}

.pfmp-exp__table thead th {
	border-top: 0;
	background: #fff4d6;
	color: #8a6a14;
	font-size: 13px;
	font-weight: 700;
}

.pfmp-exp__table th:last-child,
.pfmp-exp__table .pfmp-exp__pts {
	text-align: right;
	white-space: nowrap;
}

.pfmp-exp__table td small {
	display: block;
	color: #8d8576;
	font-size: 11px;
}

.pfmp-exp__table tr.is-soon td {
	background: #fff1e8;
	color: #b5410c;
	font-weight: 700;
}

.pfmp-exp__badge {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	border-radius: 999px;
	background: #d9480f;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	vertical-align: 1px;
}

.pfmp-exp__empty {
	margin: 0;
	color: #7a7264;
}

@media (max-width: 768px) {
	#history table.ywpar_points_rewards tbody tr.ywpar-item:not([hidden]) {
		padding: 6px 12px;
	}

	#history table.ywpar_points_rewards tbody td.ywpar_points_rewards-points {
		display: flex !important;
		flex-direction: column;
		align-items: flex-end;
		line-height: 1.3;
	}

	#history table.ywpar_points_rewards td.ywpar_points_rewards-points span {
		margin: 0;
		line-height: 1.2;
	}
}

/* ポイント履歴ページ: YITH の見出し「マイポイント」は表示しない(メニュー名・タブで分かるため) */

.woocommerce-account .ywpar-wrapper > h2:first-child {
	display: none;
}

/* ---------- ポイント履歴のアイコン: コイン(二重丸+P)。マイページトップのカードと左メニューで共通 ---------- */

.pfmp-card--my-points .pfmp-card__icon,
.pfmp-card--points .pfmp-card__icon {
	--pfmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.2'/%3E%3Ccircle cx='12' cy='12' r='6.6' stroke-width='1.2'/%3E%3Cpath d='M10.4 15.4V8.6h2.3a1.9 1.9 0 0 1 0 3.8h-2.3'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--my-points a::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.2'/%3E%3Ccircle cx='12' cy='12' r='6.6' stroke-width='1.2'/%3E%3Cpath d='M10.4 15.4V8.6h2.3a1.9 1.9 0 0 1 0 3.8h-2.3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.2'/%3E%3Ccircle cx='12' cy='12' r='6.6' stroke-width='1.2'/%3E%3Cpath d='M10.4 15.4V8.6h2.3a1.9 1.9 0 0 1 0 3.8h-2.3'/%3E%3C/svg%3E") center / contain no-repeat;
}
