/* =========================================================================
   WooCommerce ページ用の調整
   Manus のデザインと Storefront を共存させるための追記
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. 固定ヘッダーの分だけ余白を確保する

   トップページは .hero が margin-top で逃がしているが、
   それ以外のページには余白がないためヘッダーが中身に重なる。
   ---------------------------------------------------------------------- */

body:not(.home) {
	padding-top: 82px;
}

@media screen and (max-width: 768px) {
	body:not(.home) {
		padding-top: 70px;
	}
}

/* 管理バー表示時の位置ずれ */
body.admin-bar .header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .header {
		top: 46px;
	}
}


/* -------------------------------------------------------------------------
   2. WooCommerce ページのフォントを揃える
   ---------------------------------------------------------------------- */

#content.site-content {
	font-family: "Noto Sans JP", sans-serif;
}

#content.site-content h1,
#content.site-content h2,
#content.site-content h3,
#content.site-content .page-title,
#content.site-content .entry-title {
	font-family: "Noto Serif JP", serif;
	letter-spacing: 0.06em;
}


/* -------------------------------------------------------------------------
   3. ボタンの色をブランドに合わせる
   ---------------------------------------------------------------------- */

#content.site-content .button,
#content.site-content button.button,
#content.site-content input.button,
#content.site-content .woocommerce-Button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	border-radius: 0;
	background-color: #2E4A3A;
	color: #FFFFFF;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.06em;
	transition: background-color 200ms ease;
}

#content.site-content .button:hover,
#content.site-content button.button:hover,
#content.site-content input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background-color: #1F3327;
	color: #FFFFFF;
}

/* 主要な操作ボタン（購入手続きへ進む など） */
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background-color: #2E4A3A;
	color: #FFFFFF;
}

.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background-color: #1F3327;
	color: #FFFFFF;
}


/* -------------------------------------------------------------------------
   4. リンクの色
   ---------------------------------------------------------------------- */

#content.site-content a:not(.button):not([class*="wc-block-components-button"]):not([class*="wp-element-button"]) {
	color: #2E4A3A;
}


/* -------------------------------------------------------------------------
   5. 通知メッセージの見た目を落ち着かせる
   ---------------------------------------------------------------------- */

.woocommerce-info,
.woocommerce-message {
	border-top-color: #2E4A3A;
	background-color: #F7F6F3;
	color: #1A1A1A;
}

.woocommerce-info::before,
.woocommerce-message::before {
	color: #2E4A3A;
}

.woocommerce-error {
	border-top-color: #B3341F;
	background-color: #FBF3F1;
	color: #1A1A1A;
}

.woocommerce-error::before {
	color: #B3341F;
}


/* -------------------------------------------------------------------------
   6. 商品グリッドを4列にする
   ---------------------------------------------------------------------- */

@media screen and (min-width: 1025px) {
	.woocommerce ul.products li.product {
		width: 22.75%;
		margin-right: 3%;
	}

	.woocommerce ul.products li.product:nth-of-type(3n) {
		margin-right: 3%;
	}

	.woocommerce ul.products li.product:nth-of-type(4n) {
		margin-right: 0;
	}
}


/* -------------------------------------------------------------------------
   7. サイドバーを消した分の幅とセンタリング

   Storefront は .col-full の中を左右2カラムに分ける前提のため、
   サイドバーを外すと左に寄ってしまう。
   ---------------------------------------------------------------------- */

.woocommerce-page .col-full,
.woocommerce .col-full {
	max-width: 1120px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 40px;
	padding-left: 40px;
}

.woocommerce-page .content-area,
.woocommerce .content-area,
.woocommerce-page #primary,
.woocommerce #primary {
	width: 100%;
	max-width: 100%;
	float: none;
	margin-right: 0;
	margin-left: 0;
}

.woocommerce-page .site-main,
.woocommerce .site-main {
	width: 100%;
}

@media screen and (max-width: 768px) {

	.woocommerce-page .col-full,
	.woocommerce .col-full {
		padding-right: 20px;
		padding-left: 20px;
	}
}


/* -------------------------------------------------------------------------
   8. ページタイトルの位置と見た目
   ---------------------------------------------------------------------- */

.woocommerce-products-header,
.woocommerce-page .entry-header,
.woocommerce .entry-header {
	margin-bottom: 40px;
	text-align: center;
}

.woocommerce-products-header__title,
.woocommerce-page .entry-title,
.woocommerce .entry-title {
	margin: 0;
	color: #1A1A1A;
	font-family: "Noto Serif JP", serif;
	font-size: 36px;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.5;
}

@media screen and (max-width: 768px) {

	.woocommerce-products-header__title,
	.woocommerce-page .entry-title,
	.woocommerce .entry-title {
		font-size: 25px;
	}
}


/* -------------------------------------------------------------------------
   9. 並べ替えと件数表示
   ---------------------------------------------------------------------- */

.woocommerce .woocommerce-ordering,
.woocommerce .woocommerce-result-count {
	margin-bottom: 32px;
	font-size: 15px;
}

.woocommerce .woocommerce-result-count {
	color: #4A4A4A;
}

.woocommerce .woocommerce-ordering select {
	padding: 8px 12px;
	border: 1px solid #E0DDD6;
	border-radius: 0;
	background-color: #FFFFFF;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
}


/* -------------------------------------------------------------------------
   10. 商品カード
   ---------------------------------------------------------------------- */

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding-top: 14px;
	color: #1A1A1A;
	font-family: "Noto Serif JP", serif;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.woocommerce ul.products li.product .price {
	color: #4A4A4A;
	font-size: 16px;
}

.woocommerce ul.products li.product a img {
	margin-bottom: 0;
	box-shadow: none;
}


/* -------------------------------------------------------------------------
   11. 商品詳細の調整

   Manus は数量表示に <output> を使っているが、
   WooCommerce はカート追加に input[name=quantity] を必要とするため
   <input> に置き換えている。その分の見た目を整える。
   ---------------------------------------------------------------------- */

.quantity__value {
	width: 56px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--c-line);
	border-right: none;
	border-left: none;
	border-radius: 0;
	background: var(--c-bg);
	color: var(--c-text);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.quantity__value::-webkit-outer-spin-button,
.quantity__value::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
	appearance: none;
}

.quantity__value:focus {
	outline: 2px solid var(--c-accent);
	outline-offset: -2px;
}

/* 在庫切れの表示 */
.product-summary__stock--out {
	color: #B3341F;
}

.product-summary__soldout-note {
	margin: 24px 0 0;
	padding: 16px 20px;
	background: var(--c-bg-alt);
	color: var(--c-text-sub);
	font-size: 16px;
}

/* カートフォームの余白 */
.product-summary .cart {
	margin: 0;
}

/* WooCommerce の通知を商品ページでも整える */
.product-page .woocommerce-message,
.product-page .woocommerce-error,
.product-page .woocommerce-info {
	margin-bottom: 32px;
}


/* -------------------------------------------------------------------------
   12. ヘッダーのカート件数バッジ
   ---------------------------------------------------------------------- */

.header__tool--cart {
	position: relative;
}

.header__cart-count {
	position: absolute;
	top: 2px;
	right: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--c-accent);
	color: #FFFFFF;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
}


/* -------------------------------------------------------------------------
   13. WooCommerce の通知（商品ページ・一覧ページ）
   ---------------------------------------------------------------------- */

.product-page .woocommerce-message,
.product-page .woocommerce-info,
.product-page .woocommerce-error {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin: 0 0 16px;
	padding: 14px 20px;
	border: none;
	border-left: 3px solid var(--c-accent);
	background: var(--c-bg-alt);
	color: var(--c-text);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
	line-height: 1.7;
	list-style: none;
}

/* 通知が続くときの最後の余白 */
.product-page .woocommerce-message:last-of-type,
.product-page .woocommerce-info:last-of-type,
.product-page .woocommerce-error:last-of-type {
	margin-bottom: 40px;
}

/* WooCommerce 標準の左アイコンを消す */
.product-page .woocommerce-message::before,
.product-page .woocommerce-info::before,
.product-page .woocommerce-error::before {
	display: none;
}

.product-page .woocommerce-error {
	border-left-color: #B3341F;
}

.product-page .woocommerce-message .button {
	flex-shrink: 0;
	margin: 0;
	padding: 10px 20px;
	background: var(--c-accent);
	color: #FFFFFF;
	font-size: 15px;
}

.product-page .woocommerce-message .button:hover {
	background: var(--c-accent-dk);
	color: #FFFFFF;
}

@media screen and (max-width: 768px) {

	.product-page .woocommerce-message,
	.product-page .woocommerce-info,
	.product-page .woocommerce-error {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.product-page .woocommerce-message .button {
		width: 100%;
		text-align: center;
	}
}



/* -------------------------------------------------------------------------
   14. カート・購入手続き（ブロック版）

   WooCommerce 8.3 以降、カートと購入手続きの既定がブロック版になった。
   クラス名が wc-block-* になるため、個別に指定する。
   ---------------------------------------------------------------------- */

/* 主要な操作ボタン */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	border-radius: 0;
	background-color: var(--c-accent);
	color: #FFFFFF;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.06em;
	transition: background-color 200ms ease;
}

.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background-color: var(--c-accent-dk);
	color: #FFFFFF;
}

/* ボタン内のテキスト（入れ子で色が上書きされるのを防ぐ） */
.wc-block-components-button:not(.is-link) .wc-block-components-button__text,
.wc-block-cart__submit-button .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text {
	color: #FFFFFF;
}

/* テキストリンク型のボタン */
.wc-block-components-button.is-link {
	color: var(--c-accent);
	text-decoration: underline;
}

/* 見出し */
.wc-block-cart__totals-title,
.wc-block-components-title,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper h2 {
	font-family: "Noto Serif JP", serif;
	letter-spacing: 0.06em;
}

/* 合計金額 */
.wc-block-components-totals-item__value {
	font-family: "Noto Serif JP", serif;
}

/* 商品名のリンク */
.wc-block-components-product-name {
	color: var(--c-text);
	font-family: "Noto Sans JP", sans-serif;
}

.wc-block-components-product-name:hover {
	color: var(--c-accent);
}

/* 数量の増減 */
.wc-block-components-quantity-selector {
	border-radius: 0;
}

.wc-block-components-quantity-selector__button {
	color: var(--c-text);
}

/* 入力欄 */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-combobox input {
	border-radius: 0;
	font-family: "Noto Sans JP", sans-serif;
}

/* パネルの罫線 */
.wc-block-components-totals-wrapper {
	border-color: var(--c-line);
}


/* -------------------------------------------------------------------------
   15. 買い物を続ける
   ---------------------------------------------------------------------- */

.cart-continue {
	margin: 48px 0 0;
	padding-top: 32px;
	border-top: 1px solid var(--c-line);
}

/* 詳細度を上げ、他のリンク指定に負けないようにする */
#content.site-content .cart-continue a.cart-continue__link,
#content.site-content a.cart-continue__link,
.cart-continue a.cart-continue__link,
a.cart-continue__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 28px;
	border: 1px solid var(--c-accent);
	background: transparent;
	color: var(--c-accent) !important;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-decoration: none !important;
	transition: background-color 200ms ease, color 200ms ease;
}

#content.site-content .cart-continue a.cart-continue__link:hover,
#content.site-content a.cart-continue__link:hover,
.cart-continue a.cart-continue__link:hover,
a.cart-continue__link:hover {
	background: var(--c-accent);
	color: #FFFFFF !important;
}

/* 中の要素にも色を継承させる */
#content.site-content a.cart-continue__link span,
a.cart-continue__link span {
	color: inherit !important;
}

.cart-continue__arrow {
	font-size: 15px;
	line-height: 1;
}

@media screen and (max-width: 768px) {

	.cart-continue .cart-continue__link,
	a.cart-continue__link {
		width: 100%;
	}
}

/* 通知の中の「買い物を続ける」 */
#content.site-content .woocommerce-message .wc-forward--continue,
.product-page .woocommerce-message .wc-forward--continue,
.woocommerce-message a.button.wc-forward--continue {
	order: 1;
	margin-right: 12px;
	padding: 10px 0;
	border: none !important;
	border-radius: 0;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	color: var(--c-accent) !important;
	font-size: 15px;
	text-decoration: underline;
}

#content.site-content .woocommerce-message .wc-forward--continue:hover,
.product-page .woocommerce-message .wc-forward--continue:hover {
	background: transparent !important;
	color: var(--c-accent-dk) !important;
}

/* 「お買い物カゴを表示」を右端に */
.product-page .woocommerce-message .wc-forward:not(.wc-forward--continue) {
	order: 2;
}

.product-page .woocommerce-message {
	flex-wrap: wrap;
}

@media screen and (max-width: 768px) {

	.product-page .woocommerce-message .wc-forward--continue {
		width: auto;
		margin-right: 0;
		text-align: left;
	}
}
